babelacc

compare different implementations of the text alternative computation  https://p.ce9e.org/babelacc/
git clone https://git.ce9e.org/babelacc.git

commit
aaa5dbb7ccecd547245c8d2a73c47e4f5c6183c1
parent
15e5c5402a65a005413e3ce71a9eafb34b017c0c
Author
Tobias Bengfort <tobias.bengfort@posteo.de>
Date
2024-06-24 07:07
update tools

Diffstat

M babel.js 10568 ++++++++++++++++++++++++++++++++++---------------------------
M fuzz.js 555 +++++++++++++++++++++++++++++++++++++++----------------------
M package.json 6 +++---
M src/babel.js 8 ++++----

4 files changed, 6290 insertions, 4847 deletions


diff --git a/babel.js b/babel.js

@@ -4973,13 +4973,13 @@ module.exports = {
 4973  4973 };
 4974  4974 
 4975  4975 },{"./lib/atree.js":10,"./lib/name.js":13,"./lib/query.js":14}],10:[function(require,module,exports){
 4976    -1 var attrs = require('./attrs');
   -1  4976 const attrs = require('./attrs');
 4977  4977 
 4978    -1 var _getOwner = function(node, owners) {
   -1  4978 const _getOwner = function(node, owners) {
 4979  4979 	if (node.nodeType === node.ELEMENT_NODE && node.id) {
 4980    -1 		var selector = '[aria-owns~="' + CSS.escape(node.id) + '"]';
   -1  4980 		const selector = '[aria-owns~="' + CSS.escape(node.id) + '"]';
 4981  4981 		if (owners) {
 4982    -1 			for (var owner of owners) {
   -1  4982 			for (const owner of owners) {
 4983  4983 				if (owner.matches(selector)) {
 4984  4984 					return owner;
 4985  4985 				}
@@ -4990,12 +4990,12 @@ var _getOwner = function(node, owners) {
 4990  4990 	}
 4991  4991 };
 4992  4992 
 4993    -1 var _getParentNode = function(node, owners) {
   -1  4993 const _getParentNode = function(node, owners) {
 4994  4994 	return _getOwner(node, owners) || node.parentNode;
 4995  4995 };
 4996  4996 
 4997    -1 var detectLoop = function(node, owners) {
 4998    -1 	var seen = [node];
   -1  4997 const detectLoop = function(node, owners) {
   -1  4998 	const seen = [node];
 4999  4999 	while ((node = _getParentNode(node, owners))) {
 5000  5000 		if (seen.includes(node)) {
 5001  5001 			return true;
@@ -5004,35 +5004,35 @@ var detectLoop = function(node, owners) {
 5004  5004 	}
 5005  5005 };
 5006  5006 
 5007    -1 var getOwner = function(node, owners) {
 5008    -1 	var owner = _getOwner(node, owners);
   -1  5007 const getOwner = function(node, owners) {
   -1  5008 	const owner = _getOwner(node, owners);
 5009  5009 	if (owner && !detectLoop(node, owners)) {
 5010  5010 		return owner;
 5011  5011 	}
 5012  5012 };
 5013  5013 
 5014    -1 var getParentNode = function(node, owners) {
   -1  5014 const getParentNode = function(node, owners) {
 5015  5015 	return getOwner(node, owners) || node.parentNode;
 5016  5016 };
 5017  5017 
 5018    -1 var isHidden = function(node) {
   -1  5018 const isHidden = function(node) {
 5019  5019 	return node.nodeType === node.ELEMENT_NODE && attrs.getAttribute(node, 'hidden');
 5020  5020 };
 5021  5021 
 5022    -1 var getChildNodes = function(node, owners) {
 5023    -1 	var childNodes = [];
   -1  5022 const getChildNodes = function(node, owners) {
   -1  5023 	const childNodes = [];
 5024  5024 
 5025    -1 	for (var i = 0; i < node.childNodes.length; i++) {
 5026    -1 		var child = node.childNodes[i];
   -1  5025 	for (let i = 0; i < node.childNodes.length; i++) {
   -1  5026 		const child = node.childNodes[i];
 5027  5027 		if (!getOwner(child, owners) && !isHidden(child)) {
 5028  5028 			childNodes.push(child);
 5029  5029 		}
 5030  5030 	}
 5031  5031 
 5032  5032 	if (node.nodeType === node.ELEMENT_NODE) {
 5033    -1 		var owns = attrs.getAttribute(node, 'owns') || [];
 5034    -1 		for (var i = 0; i < owns.length; i++) {
 5035    -1 			var child = document.getElementById(owns[i]);
   -1  5033 		const owns = attrs.getAttribute(node, 'owns') || [];
   -1  5034 		for (let i = 0; i < owns.length; i++) {
   -1  5035 			const child = document.getElementById(owns[i]);
 5036  5036 			// double check with getOwner for consistency
 5037  5037 			if (child && getOwner(child, owners) === node && !isHidden(child)) {
 5038  5038 				childNodes.push(child);
@@ -5043,18 +5043,18 @@ var getChildNodes = function(node, owners) {
 5043  5043 	return childNodes;
 5044  5044 };
 5045  5045 
 5046    -1 var walk = function(root, fn) {
 5047    -1 	var owners = document.querySelectorAll('[aria-owns]');
 5048    -1 	var queue = [root];
   -1  5046 const walk = function(root, fn) {
   -1  5047 	const owners = document.querySelectorAll('[aria-owns]');
   -1  5048 	let queue = [root];
 5049  5049 	while (queue.length) {
 5050    -1 		var item = queue.shift();
   -1  5050 		const item = queue.shift();
 5051  5051 		fn(item);
 5052  5052 		queue = getChildNodes(item, owners).concat(queue);
 5053  5053 	}
 5054  5054 };
 5055  5055 
 5056    -1 var searchUp = function(node, test) {
 5057    -1 	var candidate = getParentNode(node);
   -1  5056 const searchUp = function(node, test) {
   -1  5057 	const candidate = getParentNode(node);
 5058  5058 	if (candidate) {
 5059  5059 		if (test(candidate)) {
 5060  5060 			return candidate;
@@ -5072,44 +5072,59 @@ module.exports = {
 5072  5072 };
 5073  5073 
 5074  5074 },{"./attrs":11}],11:[function(require,module,exports){
 5075    -1 var constants = require('./constants.js');
   -1  5075 const constants = require('./constants.js');
   -1  5076 
   -1  5077 var unique = function(arr) {
   -1  5078 	return arr.filter((a, i) => arr.indexOf(a) === i);
   -1  5079 };
   -1  5080 
   -1  5081 var flatten = function(arr) {
   -1  5082 	return [].concat.apply([], arr);
   -1  5083 };
   -1  5084 
   -1  5085 var normalizeRoles = function(roles, includeAbstract) {
   -1  5086 	return unique(roles
   -1  5087 		.map(r => constants.aliases[r] || r)
   -1  5088 		.filter(r => constants.roles[r])
   -1  5089 		.filter(r => includeAbstract || !constants.roles[r].abstract)
   -1  5090 	);
   -1  5091 };
 5076  5092 
 5077  5093 // candidates can be passed for performance optimization
 5078    -1 var getRole = function(el, candidates) {
 5079    -1 	if (el.hasAttribute('role')) {
 5080    -1 		var roles = el.getAttribute('role').toLowerCase().split(/\s+/);
 5081    -1 		if (roles.length > 1 && candidates) {
 5082    -1 			return [roles, candidates];
 5083    -1 		}
 5084    -1 		for (var role of roles) {
   -1  5094 const getRole = function(el, candidates) {
   -1  5095 	// TODO: filter out any invalid roles (e.g. name or context required)
   -1  5096 	const roles = normalizeRoles(
   -1  5097 		(el.getAttribute('role') || '').toLowerCase().split(/\s+/)
   -1  5098 	);
   -1  5099 
   -1  5100 	if (roles.length > 1 && candidates) {
   -1  5101 		return [roles, candidates];
   -1  5102 	} else if (roles.length) {
   -1  5103 		for (const role of roles) {
 5085  5104 			if (!candidates || candidates.includes(role)) {
 5086  5105 				return role;
 5087  5106 			}
 5088  5107 		}
 5089  5108 	} else {
 5090    -1 		var roles = candidates ? candidates : Object.keys(constants.roles);
 5091    -1 		for (var role of roles) {
 5092    -1 			var r = constants.roles[role];
 5093    -1 			if (r) {
 5094    -1 				var selector = (r.selectors || []).join(',');
 5095    -1 				if (selector && el.matches(selector)) {
 5096    -1 					return role;
 5097    -1 				}
   -1  5109 		for (const role of (candidates || Object.keys(constants.roles))) {
   -1  5110 			const r = constants.roles[role];
   -1  5111 			if (!r.abstract && r.selectors && el.matches(r.selectors.join(','))) {
   -1  5112 				return role;
 5098  5113 			}
 5099  5114 		}
 5100  5115 	}
 5101  5116 };
 5102  5117 
 5103    -1 var hasRole = function(el, roles) {
 5104    -1 	var candidates = [].concat.apply([], roles.map(role => {
 5105    -1 		return (constants.roles[role] || {}).subRoles || [role];
 5106    -1 	}));
 5107    -1 	return !!getRole(el, candidates);
   -1  5118 const hasRole = function(el, roles) {
   -1  5119 	const subRoles = normalizeRoles(roles, true).map(role => {
   -1  5120 		return constants.roles[role].subRoles || [role];
   -1  5121 	});
   -1  5122 	return !!getRole(el, unique(flatten(subRoles)));
 5108  5123 };
 5109  5124 
 5110    -1 var getAttribute = function(el, key) {
   -1  5125 const getAttribute = function(el, key) {
 5111  5126 	if (constants.attributeStrongMapping.hasOwnProperty(key)) {
 5112    -1 		var value = el[constants.attributeStrongMapping[key]];
   -1  5127 		const value = el[constants.attributeStrongMapping[key]];
 5113  5128 		if (value) {
 5114  5129 			return value;
 5115  5130 		}
@@ -5126,14 +5141,14 @@ var getAttribute = function(el, key) {
 5126  5141 		if (el.matches('details:not([open]) > :not(summary)')) {
 5127  5142 			return true;
 5128  5143 		}
 5129    -1 		var style = window.getComputedStyle(el);
 5130    -1 		if (style.display === 'none' || style.visibility === 'hidden') {
   -1  5144 		const style = window.getComputedStyle(el);
   -1  5145 		if (style.display === 'none' || style.visibility === 'hidden' || style.visibility === 'collapse') {
 5131  5146 			return true;
 5132  5147 		}
 5133  5148 	}
 5134  5149 
 5135    -1 	var type = constants.attributes[key];
 5136    -1 	var raw = el.getAttribute('aria-' + key);
   -1  5150 	const type = constants.attributes[key];
   -1  5151 	const raw = el.getAttribute('aria-' + key);
 5137  5152 
 5138  5153 	if (raw) {
 5139  5154 		if (type === 'bool') {
@@ -5162,7 +5177,7 @@ var getAttribute = function(el, key) {
 5162  5177 	// list -> aria-controls
 5163  5178 
 5164  5179 	if (key === 'level') {
 5165    -1 		for (var i = 1; i <= 6; i++) {
   -1  5180 		for (let i = 1; i <= 6; i++) {
 5166  5181 			if (el.tagName.toLowerCase() === 'h' + i) {
 5167  5182 				return i;
 5168  5183 			}
@@ -5172,8 +5187,8 @@ var getAttribute = function(el, key) {
 5172  5187 	}
 5173  5188 
 5174  5189 	if (key in constants.attrsWithDefaults) {
 5175    -1 		var role = getRole(el);
 5176    -1 		var defaults = (constants.roles[role] || {}).defaults;
   -1  5190 		const role = getRole(el);
   -1  5191 		const defaults = constants.roles[role].defaults;
 5177  5192 		if (defaults && defaults.hasOwnProperty(key)) {
 5178  5193 			return defaults[key];
 5179  5194 		}
@@ -5196,14 +5211,18 @@ exports.attributes = {
 5196  5211 	'activedescendant': 'id',
 5197  5212 	'atomic': 'bool',
 5198  5213 	'autocomplete': 'token',
   -1  5214 	'braillelabel': 'string',
   -1  5215 	'brailleroledescription': 'string',
 5199  5216 	'busy': 'bool',
 5200  5217 	'checked': 'tristate',
 5201  5218 	'colcount': 'int',
 5202  5219 	'colindex': 'int',
   -1  5220 	'colindextext': 'string',
 5203  5221 	'colspan': 'int',
 5204  5222 	'controls': 'id-list',
 5205  5223 	'current': 'token',
 5206  5224 	'describedby': 'id-list',
   -1  5225 	'description': 'string',
 5207  5226 	'details': 'id',
 5208  5227 	'disabled': 'bool',
 5209  5228 	'dropeffect': 'token-list',
@@ -5233,6 +5252,7 @@ exports.attributes = {
 5233  5252 	'roledescription': 'string',
 5234  5253 	'rowcount': 'int',
 5235  5254 	'rowindex': 'int',
   -1  5255 	'rowindextext': 'string',
 5236  5256 	'rowspan': 'int',
 5237  5257 	'selected': 'bool-undefined',
 5238  5258 	'setsize': 'int',
@@ -5260,7 +5280,20 @@ exports.attributeWeakMapping = {
 5260  5280 };
 5261  5281 
 5262  5282 // https://www.w3.org/TR/html/dom.html#sectioning-content-2
 5263    -1 var scoped = ['article *', 'aside *', 'nav *', 'section *'].join(',');
   -1  5283 const scoped = ['article *', 'aside *', 'nav *', 'section *'].join(',');
   -1  5284 
   -1  5285 const svgSelectors = function(selector) {
   -1  5286 	return [
   -1  5287 		// `${selector}:has(> title:not(:empty))`,
   -1  5288 		// `${selector}:has(> desc:not(:empty))`,
   -1  5289 		`${selector}[aria-label]`,
   -1  5290 		`${selector}[aria-roledescription]`,
   -1  5291 		`${selector}[aria-labelledby]`,
   -1  5292 		`${selector}[aria-describedby]`,
   -1  5293 		`${selector}[tabindex]`,
   -1  5294 		`${selector}[role]`,
   -1  5295 	];
   -1  5296 };
 5264  5297 
 5265  5298 // https://www.w3.org/TR/html-aam-1.0/#html-element-role-mappings
 5266  5299 // https://www.w3.org/TR/wai-aria/roles
@@ -5272,8 +5305,11 @@ exports.roles = {
 5272  5305 			'atomic': true,
 5273  5306 		},
 5274  5307 	},
   -1  5308 	alertdialog: {},
   -1  5309 	application: {},
 5275  5310 	article: {
 5276  5311 		selectors: ['article'],
   -1  5312 		childRoles: ['comment'],
 5277  5313 	},
 5278  5314 	banner: {
 5279  5315 		selectors: [`header:not(main *, ${scoped})`],
@@ -5296,7 +5332,7 @@ exports.roles = {
 5296  5332 		selectors: ['caption', 'figcaption'],
 5297  5333 	},
 5298  5334 	cell: {
 5299    -1 		selectors: ['td', 'th:not([scope])'],
   -1  5335 		selectors: ['td', 'td ~ th:not([scope])'],
 5300  5336 		childRoles: ['columnheader', 'gridcell', 'rowheader'],
 5301  5337 		nameFromContents: true,
 5302  5338 	},
@@ -5333,8 +5369,12 @@ exports.roles = {
 5333  5369 		},
 5334  5370 	},
 5335  5371 	command: {
   -1  5372 		abstract: true,
 5336  5373 		childRoles: ['button', 'link', 'menuitem'],
 5337  5374 	},
   -1  5375 	comment: {
   -1  5376 		nameFromContents: true,
   -1  5377 	},
 5338  5378 	complementary: {
 5339  5379 		selectors: [
 5340  5380 			`aside:not(${scoped})`,
@@ -5344,6 +5384,7 @@ exports.roles = {
 5344  5384 		],
 5345  5385 	},
 5346  5386 	composite: {
   -1  5387 		abstract: true,
 5347  5388 		childRoles: ['grid', 'select', 'spinbutton', 'tablist'],
 5348  5389 	},
 5349  5390 	contentinfo: {
@@ -5359,24 +5400,59 @@ exports.roles = {
 5359  5400 		selectors: ['dialog'],
 5360  5401 		childRoles: ['alertdialog'],
 5361  5402 	},
   -1  5403 	'doc-abstract': {},
   -1  5404 	'doc-acknowledgments': {},
   -1  5405 	'doc-afterword': {},
   -1  5406 	'doc-appendix': {},
 5362  5407 	'doc-backlink': {
 5363  5408 		nameFromContents: true,
 5364  5409 	},
   -1  5410 	'doc-biblioentry': {},
   -1  5411 	'doc-bibliography': {},
 5365  5412 	'doc-biblioref': {
 5366  5413 		nameFromContents: true,
 5367  5414 	},
   -1  5415 	'doc-chapter': {},
   -1  5416 	'doc-colophon': {},
   -1  5417 	'doc-conclusion': {},
   -1  5418 	'doc-cover': {},
   -1  5419 	'doc-credit': {},
   -1  5420 	'doc-credits': {},
   -1  5421 	'doc-dedication': {},
   -1  5422 	'doc-endnote': {},
   -1  5423 	'doc-endnotes': {},
   -1  5424 	'doc-epilogue': {},
   -1  5425 	'doc-epigraph': {},
   -1  5426 	'doc-errata': {},
   -1  5427 	'doc-example': {},
   -1  5428 	'doc-footnote': {},
   -1  5429 	'doc-foreword': {},
   -1  5430 	'doc-glossary': {},
 5368  5431 	'doc-glossref': {
 5369  5432 		nameFromContents: true,
 5370  5433 	},
   -1  5434 	'doc-index': {},
   -1  5435 	'doc-introduction': {},
 5371  5436 	'doc-noteref': {
 5372  5437 		nameFromContents: true,
 5373  5438 	},
   -1  5439 	'doc-notice': {},
 5374  5440 	'doc-pagebreak': {
 5375  5441 		nameFromContents: true,
 5376  5442 	},
   -1  5443 	'doc-pagefooter': {},
   -1  5444 	'doc-pageheader': {},
   -1  5445 	'doc-pagelist': {},
   -1  5446 	'doc-part': {},
   -1  5447 	'doc-preface': {},
   -1  5448 	'doc-prologue': {},
   -1  5449 	'doc-pullquote': {},
   -1  5450 	'doc-qna': {},
 5377  5451 	'doc-subtitle': {
 5378  5452 		nameFromContents: true,
 5379  5453 	},
   -1  5454 	'doc-tip': {},
   -1  5455 	'doc-toc': {},
 5380  5456 	document: {
 5381  5457 		selectors: ['html'],
 5382  5458 		childRoles: ['article', 'graphics-document'],
@@ -5384,6 +5460,7 @@ exports.roles = {
 5384  5460 	emphasis: {
 5385  5461 		selectors: ['em'],
 5386  5462 	},
   -1  5463 	feed: {},
 5387  5464 	figure: {
 5388  5465 		selectors: ['figure'],
 5389  5466 		childRoles: ['doc-example'],
@@ -5392,11 +5469,49 @@ exports.roles = {
 5392  5469 		selectors: ['form[aria-label]', 'form[aria-labelledby]', 'form[title]'],
 5393  5470 	},
 5394  5471 	generic: {
 5395    -1 		// too many selectors to list
   -1  5472 		selectors: [
   -1  5473 			'a:not([*|href])',
   -1  5474 			'area:not([*|href])',
   -1  5475 			`aside:not(${scoped}):not([aria-label]):not([aria-labelledby]):not([title])`,
   -1  5476 			'b',
   -1  5477 			'bdi',
   -1  5478 			'bdo',
   -1  5479 			'body',
   -1  5480 			'data',
   -1  5481 			'div',
   -1  5482 			// footer scoped
   -1  5483 			// header scoped
   -1  5484 			'i',
   -1  5485 			'li:not(ul > li):not(ol > li)',
   -1  5486 			'pre',
   -1  5487 			'q',
   -1  5488 			'samp',
   -1  5489 			'section:not([aria-label]):not([aria-labelledby]):not([title])',
   -1  5490 			'small',
   -1  5491 			'span',
   -1  5492 			'u',
   -1  5493 		],
 5396  5494 	},
 5397  5495 	'graphics-document': {
 5398  5496 		selectors: ['svg'],
 5399  5497 	},
   -1  5498 	'graphics-object': {
   -1  5499 		selectors: [
   -1  5500 			...svgSelectors('symbol'),
   -1  5501 			...svgSelectors('use'),
   -1  5502 		],
   -1  5503 	},
   -1  5504 	'graphics-symbol': {
   -1  5505 		selectors: [
   -1  5506 			...svgSelectors('circle'),
   -1  5507 			...svgSelectors('ellipse'),
   -1  5508 			...svgSelectors('line'),
   -1  5509 			...svgSelectors('path'),
   -1  5510 			...svgSelectors('polygon'),
   -1  5511 			...svgSelectors('polyline'),
   -1  5512 			...svgSelectors('rect'),
   -1  5513 		],
   -1  5514 	},
 5400  5515 	grid: {
 5401  5516 		childRoles: ['treegrid'],
 5402  5517 	},
@@ -5411,7 +5526,11 @@ exports.roles = {
 5411  5526 			'fieldset',
 5412  5527 			'hgroup',
 5413  5528 			'optgroup',
   -1  5529 			...svgSelectors('foreignObject'),
   -1  5530 			...svgSelectors('g'),
 5414  5531 			'text',
   -1  5532 			...svgSelectors('textPath'),
   -1  5533 			...svgSelectors('tspan'),
 5415  5534 		],
 5416  5535 		childRoles: ['row', 'select', 'toolbar', 'graphics-object'],
 5417  5536 	},
@@ -5422,11 +5541,17 @@ exports.roles = {
 5422  5541 			'level': 2,
 5423  5542 		},
 5424  5543 	},
 5425    -1 	img: {
 5426    -1 		selectors: ['img:not([alt=""])', 'graphics-symbol'],
   -1  5544 	image: {
   -1  5545 		selectors: [
   -1  5546 			'img:not([alt=""])',
   -1  5547 			'graphics-symbol',
   -1  5548 			...svgSelectors('image'),
   -1  5549 			...svgSelectors('mesh'),
   -1  5550 		],
 5427  5551 		childRoles: ['doc-cover'],
 5428  5552 	},
 5429  5553 	input: {
   -1  5554 		abstract: true,
 5430  5555 		childRoles: [
 5431  5556 			'checkbox',
 5432  5557 			'combobox',
@@ -5441,6 +5566,7 @@ exports.roles = {
 5441  5566 		selectors: ['ins'],
 5442  5567 	},
 5443  5568 	landmark: {
   -1  5569 		abstract: true,
 5444  5570 		childRoles: [
 5445  5571 			'banner',
 5446  5572 			'complementary',
@@ -5469,13 +5595,13 @@ exports.roles = {
 5469  5595 		],
 5470  5596 	},
 5471  5597 	link: {
 5472    -1 		selectors: ['a[href]', 'area[href]'],
   -1  5598 		selectors: ['a[*|href]', 'area[href]'],
 5473  5599 		childRoles: ['doc-backlink', 'doc-biblioref', 'doc-glossref', 'doc-noteref'],
 5474  5600 		nameFromContents: true,
 5475  5601 	},
 5476  5602 	list: {
 5477  5603 		selectors: ['dl', 'ol', 'ul', 'menu'],
 5478    -1 		childRoles: ['directory', 'feed'],
   -1  5604 		childRoles: ['feed'],
 5479  5605 	},
 5480  5606 	listbox: {
 5481  5607 		selectors: [
@@ -5488,7 +5614,7 @@ exports.roles = {
 5488  5614 		},
 5489  5615 	},
 5490  5616 	listitem: {
 5491    -1 		selectors: ['li'],
   -1  5617 		selectors: ['ol > li', 'ul > li'],
 5492  5618 		childRoles: ['doc-biblioentry', 'doc-endnote', 'treeitem'],
 5493  5619 	},
 5494  5620 	log: {
@@ -5499,6 +5625,10 @@ exports.roles = {
 5499  5625 	main: {
 5500  5626 		selectors: ['main'],
 5501  5627 	},
   -1  5628 	mark: {
   -1  5629 		selectors: ['mark'],
   -1  5630 	},
   -1  5631 	marquee: {},
 5502  5632 	math: {
 5503  5633 		selectors: ['math'],
 5504  5634 	},
@@ -5521,11 +5651,10 @@ exports.roles = {
 5521  5651 		},
 5522  5652 	},
 5523  5653 	menuitem: {
 5524    -1 		childRoles: ['menuitemcheckbox'],
   -1  5654 		childRoles: ['menuitemcheckbox', 'menuitemradio'],
 5525  5655 		nameFromContents: true,
 5526  5656 	},
 5527  5657 	menuitemcheckbox: {
 5528    -1 		childRoles: ['menuitemradio'],
 5529  5658 		nameFromContents: true,
 5530  5659 		defaults: {
 5531  5660 			'checked': 'false',
@@ -5541,6 +5670,9 @@ exports.roles = {
 5541  5670 		selectors: ['nav'],
 5542  5671 		childRoles: ['doc-index', 'doc-pagelist', 'doc-toc'],
 5543  5672 	},
   -1  5673 	none: {
   -1  5674 		selectors: ['img[alt=""]'],
   -1  5675 	},
 5544  5676 	note: {
 5545  5677 		childRoles: ['doc-notice', 'doc-tip'],
 5546  5678 	},
@@ -5555,9 +5687,6 @@ exports.roles = {
 5555  5687 	paragraph: {
 5556  5688 		selectors: ['p'],
 5557  5689 	},
 5558    -1 	presentation: {
 5559    -1 		selectors: ['img[alt=""]'],
 5560    -1 	},
 5561  5690 	progressbar: {
 5562  5691 		selectors: ['progress'],
 5563  5692 		defaults: {
@@ -5573,13 +5702,16 @@ exports.roles = {
 5573  5702 			'checked': 'false',
 5574  5703 		},
 5575  5704 	},
   -1  5705 	radiogroup: {},
 5576  5706 	range: {
   -1  5707 		abstract: true,
 5577  5708 		childRoles: ['meter', 'progressbar', 'scrollbar', 'slider', 'spinbutton'],
 5578  5709 	},
 5579  5710 	region: {
 5580  5711 		selectors: ['section[aria-label]', 'section[aria-labelledby]', 'section[title]'],
 5581  5712 	},
 5582  5713 	roletype: {
   -1  5714 		abstract: true,
 5583  5715 		childRoles: ['structure', 'widget', 'window'],
 5584  5716 	},
 5585  5717 	row: {
@@ -5590,7 +5722,7 @@ exports.roles = {
 5590  5722 		selectors: ['tbody', 'thead', 'tfoot'],
 5591  5723 	},
 5592  5724 	rowheader: {
 5593    -1 		selectors: ['th[scope="row"]'],
   -1  5725 		selectors: ['th[scope="row"]', 'th:not([scope]):not(td ~ th)'],
 5594  5726 		nameFromContents: true,
 5595  5727 	},
 5596  5728 	scrollbar: {
@@ -5607,6 +5739,7 @@ exports.roles = {
 5607  5739 		selectors: ['input[type="search"]:not([list])'],
 5608  5740 	},
 5609  5741 	section: {
   -1  5742 		abstract: true,
 5610  5743 		childRoles: [
 5611  5744 			'alert',
 5612  5745 			'blockquote',
@@ -5628,12 +5761,13 @@ exports.roles = {
 5628  5761 			'emphasis',
 5629  5762 			'figure',
 5630  5763 			'group',
 5631    -1 			'img',
   -1  5764 			'image',
 5632  5765 			'insertion',
 5633  5766 			'landmark',
 5634  5767 			'list',
 5635  5768 			'listitem',
 5636  5769 			'log',
   -1  5770 			'mark',
 5637  5771 			'marquee',
 5638  5772 			'math',
 5639  5773 			'note',
@@ -5641,6 +5775,7 @@ exports.roles = {
 5641  5775 			'status',
 5642  5776 			'strong',
 5643  5777 			'subscript',
   -1  5778 			'suggestion',
 5644  5779 			'superscript',
 5645  5780 			'table',
 5646  5781 			'tabpanel',
@@ -5650,6 +5785,7 @@ exports.roles = {
 5650  5785 		],
 5651  5786 	},
 5652  5787 	sectionhead: {
   -1  5788 		abstract: true,
 5653  5789 		childRoles: [
 5654  5790 			'columnheader',
 5655  5791 			'doc-subtitle',
@@ -5660,6 +5796,7 @@ exports.roles = {
 5660  5796 		nameFromContents: true,
 5661  5797 	},
 5662  5798 	select: {
   -1  5799 		abstract: true,
 5663  5800 		childRoles: ['listbox', 'menu', 'radiogroup', 'tree'],
 5664  5801 	},
 5665  5802 	separator: {
@@ -5700,12 +5837,12 @@ exports.roles = {
 5700  5837 		selectors: ['strong'],
 5701  5838 	},
 5702  5839 	structure: {
   -1  5840 		abstract: true,
 5703  5841 		childRoles: [
 5704  5842 			'application',
 5705  5843 			'document',
 5706  5844 			'none',
 5707  5845 			'generic',
 5708    -1 			'presentation',
 5709  5846 			'range',
 5710  5847 			'rowgroup',
 5711  5848 			'section',
@@ -5713,6 +5850,7 @@ exports.roles = {
 5713  5850 			'separator',
 5714  5851 		],
 5715  5852 	},
   -1  5853 	suggestion: {},
 5716  5854 	subscript: {
 5717  5855 		selectors: ['sub'],
 5718  5856 	},
@@ -5740,6 +5878,7 @@ exports.roles = {
 5740  5878 			'orientation': 'horizontal',
 5741  5879 		},
 5742  5880 	},
   -1  5881 	tabpanel: {},
 5743  5882 	term: {
 5744  5883 		selectors: ['dfn', 'dt'],
 5745  5884 	},
@@ -5776,10 +5915,12 @@ exports.roles = {
 5776  5915 			'orientation': 'vertical',
 5777  5916 		},
 5778  5917 	},
   -1  5918 	treegrid: {},
 5779  5919 	treeitem: {
 5780  5920 		nameFromContents: true,
 5781  5921 	},
 5782  5922 	widget: {
   -1  5923 		abstract: true,
 5783  5924 		childRoles: [
 5784  5925 			'command',
 5785  5926 			'composite',
@@ -5793,15 +5934,16 @@ exports.roles = {
 5793  5934 		],
 5794  5935 	},
 5795  5936 	window: {
   -1  5937 		abstract: true,
 5796  5938 		childRoles: ['dialog'],
 5797  5939 	},
 5798  5940 };
 5799  5941 
 5800    -1 var getSubRoles = function(role) {
 5801    -1 	var children = (exports.roles[role] || {}).childRoles || [];
 5802    -1 	var descendents = children.map(getSubRoles);
   -1  5942 const getSubRoles = function(role) {
   -1  5943 	const children = (exports.roles[role]).childRoles || [];
   -1  5944 	const descendents = children.map(getSubRoles);
 5803  5945 
 5804    -1 	var result = [role];
   -1  5946 	const result = [role];
 5805  5947 
 5806  5948 	descendents.forEach(list => {
 5807  5949 		list.forEach(r => {
@@ -5816,18 +5958,20 @@ var getSubRoles = function(role) {
 5816  5958 
 5817  5959 exports.attrsWithDefaults = [];
 5818  5960 
 5819    -1 for (var role in exports.roles) {
   -1  5961 for (const role in exports.roles) {
 5820  5962 	exports.roles[role].subRoles = getSubRoles(role);
 5821    -1 	for (var key in exports.roles[role].defaults) {
   -1  5963 	for (const key in exports.roles[role].defaults) {
 5822  5964 		if (!exports.attrsWithDefaults.includes(key)) {
 5823  5965 			exports.attrsWithDefaults.push(key);
 5824  5966 		}
 5825  5967 	}
 5826  5968 }
 5827    -1 exports.roles['none'] = exports.roles['none'] || {};
 5828    -1 exports.roles['none'].subRoles = ['none', 'presentation'];
 5829    -1 exports.roles['presentation'] = exports.roles['presentation'] || {};
 5830    -1 exports.roles['presentation'].subRoles = ['presentation', 'none'];
   -1  5969 
   -1  5970 exports.aliases = {
   -1  5971 	'presentation': 'none',
   -1  5972 	'directory': 'list',
   -1  5973 	'img': 'image',
   -1  5974 };
 5831  5975 
 5832  5976 exports.nameFromDescendant = {
 5833  5977 	'figure': 'figcaption',
@@ -5842,45 +5986,59 @@ exports.nameDefaults = {
 5842  5986 };
 5843  5987 
 5844  5988 },{}],13:[function(require,module,exports){
 5845    -1 var constants = require('./constants.js');
 5846    -1 var atree = require('./atree.js');
 5847    -1 var query = require('./query.js');
 5848    -1 
 5849    -1 var getPseudoContent = function(node, selector) {
 5850    -1 	var styles = window.getComputedStyle(node, selector);
 5851    -1 	var ret = styles.getPropertyValue('content');
 5852    -1 	var inline = styles.display.substr(0, 6) === 'inline';
 5853    -1 	if (!ret) {
 5854    -1 		return '';
 5855    -1 	}
 5856    -1 	if (ret.substr(0, 1) !== '"') {
 5857    -1 		return '';
 5858    -1 	} else {
 5859    -1 		if (inline) {
 5860    -1 			return ret.slice(1, -1);
   -1  5989 const constants = require('./constants.js');
   -1  5990 const atree = require('./atree.js');
   -1  5991 const query = require('./query.js');
   -1  5992 
   -1  5993 const addSpaces = function(text, el, pseudoSelector) {
   -1  5994 	// https://github.com/w3c/accname/issues/3
   -1  5995 	const styles = window.getComputedStyle(el, pseudoSelector);
   -1  5996 	const inline = styles.display === 'inline';
   -1  5997 	return inline ? text : ` ${text} `;
   -1  5998 };
   -1  5999 
   -1  6000 const getPseudoContent = function(el, pseudoSelector) {
   -1  6001 	const styles = window.getComputedStyle(el, pseudoSelector);
   -1  6002 	let tail = styles.getPropertyValue('content').trim();
   -1  6003 	let ret = [];
   -1  6004 
   -1  6005 	let match;
   -1  6006 	while (tail.length) {
   -1  6007 		if (match = tail.match(/^"([^"]*)"/)) {
   -1  6008 			ret.push(match[1]);
   -1  6009 		} else if (match = tail.match(/^([a-z-]+)\(([^)]*)\)/)) {
   -1  6010 			if (match[1] === 'attr') {
   -1  6011 				ret.push(el.getAttribute(match[2]) || '');
   -1  6012 			}
   -1  6013 		} else if (match = tail.match(/^([a-z-]+)/)) {
   -1  6014 			if (match[1] === 'open-quote' || match[1] === 'close-quote') {
   -1  6015 				ret.push('"');
   -1  6016 			}
   -1  6017 		} else if (match = tail.match(/^\//)) {
   -1  6018 			ret = [];
 5861  6019 		} else {
 5862    -1 			return ' ' + ret.slice(1, -1) + ' ';
   -1  6020 			// invalid content, ignore
   -1  6021 			return '';
 5863  6022 		}
   -1  6023 		tail = tail.slice(match[0].length).trim();
 5864  6024 	}
   -1  6025 
   -1  6026 	return addSpaces(ret.join(''), el, pseudoSelector);
 5865  6027 };
 5866  6028 
 5867    -1 var getContent = function(root, visited) {
 5868    -1 	var children = atree.getChildNodes(root);
   -1  6029 const getContent = function(root, ongoingLabelledBy, visited) {
   -1  6030 	const children = atree.getChildNodes(root);
 5869  6031 
 5870    -1 	var ret = '';
 5871    -1 	for (var i = 0; i < children.length; i++) {
 5872    -1 		var node = children[i];
   -1  6032 	let ret = '';
   -1  6033 	for (let i = 0; i < children.length; i++) {
   -1  6034 		const node = children[i];
 5873  6035 		if (node.nodeType === node.TEXT_NODE) {
 5874  6036 			ret += node.textContent;
 5875  6037 		} else if (node.nodeType === node.ELEMENT_NODE) {
 5876  6038 			if (node.tagName.toLowerCase() === 'br') {
 5877  6039 				ret += '\n';
 5878    -1 			} else if (window.getComputedStyle(node).display.substr(0, 6) === 'inline' &&
 5879    -1 					node.tagName.toLowerCase() !== 'input' &&
 5880    -1 					node.tagName.toLowerCase() !== 'img') {  // https://github.com/w3c/accname/issues/3
 5881    -1 				ret += getName(node, true, visited);
 5882  6040 			} else {
 5883    -1 				ret += ' ' + getName(node, true, visited) + ' ';
   -1  6041 				ret += getName(node, true, ongoingLabelledBy, visited);
 5884  6042 			}
 5885  6043 		}
 5886  6044 	}
@@ -5888,18 +6046,15 @@ var getContent = function(root, visited) {
 5888  6046 	return ret;
 5889  6047 };
 5890  6048 
 5891    -1 var allowNameFromContent = function(el) {
 5892    -1 	var role = query.getRole(el);
 5893    -1 	return (constants.roles[role] || {}).nameFromContents;
 5894    -1 };
 5895    -1 
 5896    -1 var isInLabelForOtherWidget = function(el) {
 5897    -1 	var label = el.parentElement.closest('label');
 5898    -1 	return label && (!el.labels || !Array.prototype.includes.call(el.labels, label));
   -1  6049 const allowNameFromContent = function(el) {
   -1  6050 	const role = query.getRole(el);
   -1  6051 	if (role) {
   -1  6052 		return constants.roles[role].nameFromContents;
   -1  6053 	}
 5899  6054 };
 5900  6055 
 5901    -1 var getName = function(el, recursive, visited, directReference) {
 5902    -1 	var ret = '';
   -1  6056 const getName = function(el, recursive, ongoingLabelledBy, visited, directReference) {
   -1  6057 	let ret = '';
 5903  6058 
 5904  6059 	visited = visited || [];
 5905  6060 	if (visited.includes(el)) {
@@ -5914,15 +6069,31 @@ var getName = function(el, recursive, visited, directReference) {
 5914  6069 	// handled in atree
 5915  6070 
 5916  6071 	// B
 5917    -1 	if (!recursive && el.matches('[aria-labelledby]')) {
 5918    -1 		var ids = el.getAttribute('aria-labelledby').split(/\s+/);
 5919    -1 		var strings = ids.map(id => {
 5920    -1 			var label = document.getElementById(id);
 5921    -1 			return label ? getName(label, true, visited, true) : '';
   -1  6072 	if (!ongoingLabelledBy && el.matches('[aria-labelledby]')) {
   -1  6073 		const ids = el.getAttribute('aria-labelledby').split(/\s+/);
   -1  6074 		const strings = ids.map(id => {
   -1  6075 			const label = document.getElementById(id);
   -1  6076 			return label ? getName(label, true, true, visited, true) : '';
 5922  6077 		});
 5923  6078 		ret = strings.join(' ');
 5924  6079 	}
 5925  6080 
   -1  6081 	// E (the current draft has this at this high priority)
   -1  6082 	if (!ret.trim() && recursive) {
   -1  6083 		if (query.matches(el, 'textbox')) {
   -1  6084 			ret = el.value || el.textContent;
   -1  6085 		} else if (query.matches(el, 'combobox,listbox')) {
   -1  6086 			const selected = query.querySelector(el, ':selected') || query.querySelector(el, 'option');
   -1  6087 			if (selected) {
   -1  6088 				ret = getName(selected, recursive, ongoingLabelledBy, visited);
   -1  6089 			} else {
   -1  6090 				ret = el.value || '';
   -1  6091 			}
   -1  6092 		} else if (query.matches(el, 'range')) {
   -1  6093 			ret = '' + (query.getAttribute(el, 'valuetext') || query.getAttribute(el, 'valuenow') || el.value);
   -1  6094 		}
   -1  6095 	}
   -1  6096 
 5926  6097 	// C
 5927  6098 	if (!ret.trim() && el.matches('[aria-label]')) {
 5928  6099 		// FIXME: may skip to 2E
@@ -5931,63 +6102,49 @@ var getName = function(el, recursive, visited, directReference) {
 5931  6102 
 5932  6103 	// D
 5933  6104 	if (!ret.trim() && !recursive && el.labels) {
 5934    -1 		var strings = Array.prototype.map.call(el.labels, label => {
 5935    -1 			return getName(label, true, visited);
   -1  6105 		const strings = Array.prototype.map.call(el.labels, label => {
   -1  6106 			return getName(label, true, ongoingLabelledBy, visited);
 5936  6107 		});
 5937  6108 		ret = strings.join(' ');
 5938  6109 	}
 5939  6110 	if (!ret.trim()) {
 5940    -1 		ret = el.placeholder || '';
 5941    -1 	}
 5942    -1 	if (!ret.trim()) {
 5943  6111 		ret = el.alt || '';
 5944  6112 	}
 5945  6113 	if (!ret.trim() && el.matches('abbr,acronym') && el.title) {
 5946  6114 		ret = el.title;
 5947  6115 	}
 5948  6116 	if (!ret.trim()) {
 5949    -1 		for (var selector in constants.nameFromDescendant) {
   -1  6117 		for (const selector in constants.nameFromDescendant) {
 5950  6118 			if (el.matches(selector)) {
 5951    -1 				var descendant = el.querySelector(constants.nameFromDescendant[selector]);
   -1  6119 				const descendant = el.querySelector(constants.nameFromDescendant[selector]);
 5952  6120 				if (descendant) {
 5953    -1 					ret = getName(descendant, true, visited);
   -1  6121 					ret = getName(descendant, true, ongoingLabelledBy, visited);
 5954  6122 				}
 5955  6123 			}
 5956  6124 		}
 5957  6125 	}
 5958  6126 	if (!ret.trim() && el.matches('svg *')) {
 5959    -1 		var svgTitle = el.querySelector('title');
   -1  6127 		const svgTitle = el.querySelector('title');
 5960  6128 		if (svgTitle && svgTitle.parentElement === el) {
 5961  6129 			ret = svgTitle.textContent;
 5962  6130 		}
 5963  6131 	}
 5964    -1 
 5965    -1 	// E
 5966    -1 	if (!ret.trim() && (recursive || isInLabelForOtherWidget(el) || query.matches(el, 'button'))) {
 5967    -1 		if (query.matches(el, 'textbox,button,combobox,listbox,range')) {
 5968    -1 			if (query.matches(el, 'textbox,button')) {
 5969    -1 				ret = el.value || el.textContent;
 5970    -1 			} else if (query.matches(el, 'combobox,listbox')) {
 5971    -1 				var selected = query.querySelector(el, ':selected') || query.querySelector(el, 'option');
 5972    -1 				if (selected) {
 5973    -1 					ret = getName(selected, recursive, visited);
 5974    -1 				} else {
 5975    -1 					ret = el.value || '';
 5976    -1 				}
 5977    -1 			} else if (query.matches(el, 'range')) {
 5978    -1 				ret = '' + (query.getAttribute(el, 'valuetext') || query.getAttribute(el, 'valuenow') || el.value);
 5979    -1 			}
 5980    -1 		}
   -1  6132 	if (!ret.trim() && el.matches('a')) {
   -1  6133 		ret = el.getAttribute('xlink:title') || '';
 5981  6134 	}
 5982  6135 
 5983  6136 	// F
 5984  6137 	// FIXME: menu is not mentioned in the spec
 5985  6138 	if (!ret.trim() && (recursive || allowNameFromContent(el) || el.closest('label')) && !query.matches(el, 'menu')) {
 5986    -1 		ret = getContent(el, visited);
   -1  6139 		ret = getContent(el, ongoingLabelledBy, visited);
   -1  6140 	}
   -1  6141 
   -1  6142 	if (!ret.trim() && query.matches(el, 'button')) {
   -1  6143 		ret = el.value || '';
 5987  6144 	}
 5988  6145 
 5989  6146 	if (!ret.trim()) {
 5990    -1 		for (var selector in constants.nameDefaults) {
   -1  6147 		for (const selector in constants.nameDefaults) {
 5991  6148 			if (el.matches(selector)) {
 5992  6149 				ret = constants.nameDefaults[selector];
 5993  6150 			}
@@ -5998,9 +6155,8 @@ var getName = function(el, recursive, visited, directReference) {
 5998  6155 	// handled in getContent
 5999  6156 
 6000  6157 	// I
 6001    -1 	// FIXME: presentation not mentioned in the spec
 6002    -1 	if (!ret.trim() && (directReference || !query.matches(el, 'presentation'))) {
 6003    -1 		ret = el.title || '';
   -1  6158 	if (!ret.trim()) {
   -1  6159 		ret = el.title || el.placeholder || '';
 6004  6160 	}
 6005  6161 
 6006  6162 	// FIXME: not exactly sure about this, but it reduces the number of failing
@@ -6009,35 +6165,41 @@ var getName = function(el, recursive, visited, directReference) {
 6009  6165 		ret = ' ';
 6010  6166 	}
 6011  6167 
 6012    -1 	var before = getPseudoContent(el, ':before');
 6013    -1 	var after = getPseudoContent(el, ':after');
 6014    -1 	return before + ret + after;
   -1  6168 	const before = getPseudoContent(el, ':before');
   -1  6169 	const after = getPseudoContent(el, ':after');
   -1  6170 	return addSpaces(before + ret + after, el);
 6015  6171 };
 6016  6172 
 6017    -1 var getNameTrimmed = function(el) {
 6018    -1 	return getName(el).replace(/\s+/g, ' ').trim();
   -1  6173 const getNameTrimmed = function(el) {
   -1  6174 	return getName(el)
   -1  6175 		.replace(/[ \n\r\t\f]+/g, ' ')
   -1  6176 		.replace(/^ /, '')
   -1  6177 		.replace(/ $/, '');
 6019  6178 };
 6020  6179 
 6021    -1 var getDescription = function(el) {
 6022    -1 	var ret = '';
   -1  6180 const getDescription = function(el) {
   -1  6181 	let ret = '';
 6023  6182 
 6024  6183 	if (el.matches('[aria-describedby]')) {
 6025    -1 		var ids = el.getAttribute('aria-describedby').split(/\s+/);
 6026    -1 		var strings = ids.map(id => {
 6027    -1 			var label = document.getElementById(id);
 6028    -1 			return label ? getName(label, true) : '';
   -1  6184 		const ids = el.getAttribute('aria-describedby').split(/\s+/);
   -1  6185 		const strings = ids.map(id => {
   -1  6186 			const label = document.getElementById(id);
   -1  6187 			return label ? getName(label, true, true) : '';
 6029  6188 		});
 6030  6189 		ret = strings.join(' ');
 6031  6190 	} else if (el.matches('[aria-description]')) {
 6032  6191 		ret = el.getAttribute('aria-description');
 6033  6192 	} else if (el.matches('svg *')) {
 6034    -1 		var svgDesc = el.querySelector('desc');
   -1  6193 		const svgDesc = el.querySelector('desc');
 6035  6194 		if (svgDesc && svgDesc.parentElement === el) {
 6036  6195 			ret = svgDesc.textContent;
 6037  6196 		}
 6038  6197 	} else if (el.title) {
 6039  6198 		ret = el.title;
 6040  6199 	}
   -1  6200 	if (!ret.trim() && el.matches('a')) {
   -1  6201 		ret = el.getAttribute('xlink:title') || '';
   -1  6202 	}
 6041  6203 
 6042  6204 	ret = (ret || '').trim().replace(/\s+/g, ' ');
 6043  6205 
@@ -6054,34 +6216,32 @@ module.exports = {
 6054  6216 };
 6055  6217 
 6056  6218 },{"./atree.js":10,"./constants.js":12,"./query.js":14}],14:[function(require,module,exports){
 6057    -1 var attrs = require('./attrs.js');
 6058    -1 var atree = require('./atree.js');
   -1  6219 const attrs = require('./attrs.js');
   -1  6220 const atree = require('./atree.js');
 6059  6221 
 6060  6222 
 6061    -1 var matches = function(el, selector) {
 6062    -1 	var actual;
 6063    -1 
   -1  6223 const matches = function(el, selector) {
 6064  6224 	if (selector.substr(0, 1) === ':') {
 6065    -1 		var attr = selector.substr(1);
   -1  6225 		const attr = selector.substr(1);
 6066  6226 		return attrs.getAttribute(el, attr);
 6067  6227 	} else if (selector.substr(0, 1) === '[') {
 6068    -1 		var match = /\[([a-z]+)="(.*)"\]/.exec(selector);
 6069    -1 		actual = attrs.getAttribute(el, match[1]);
 6070    -1 		var rawValue = match[2];
   -1  6228 		const match = /\[([a-z]+)="(.*)"\]/.exec(selector);
   -1  6229 		const actual = attrs.getAttribute(el, match[1]);
   -1  6230 		const rawValue = match[2];
 6071  6231 		return actual.toString() === rawValue;
 6072  6232 	} else {
 6073  6233 		return attrs.hasRole(el, selector.split(','));
 6074  6234 	}
 6075  6235 };
 6076  6236 
 6077    -1 var _querySelector = function(all) {
 6078    -1 	return function(root, role) {
 6079    -1 		var results = [];
   -1  6237 const _querySelector = function(all) {
   -1  6238 	return function(root, selector) {
   -1  6239 		const results = [];
 6080  6240 		try {
 6081  6241 			atree.walk(root, node => {
 6082  6242 				if (node.nodeType === node.ELEMENT_NODE) {
 6083  6243 					// FIXME: skip hidden elements
 6084    -1 					if (matches(node, role)) {
   -1  6244 					if (matches(node, selector)) {
 6085  6245 						results.push(node);
 6086  6246 						if (!all) {
 6087  6247 							throw 'StopIteration';
@@ -6098,7 +6258,7 @@ var _querySelector = function(all) {
 6098  6258 	};
 6099  6259 };
 6100  6260 
 6101    -1 var closest = function(el, selector) {
   -1  6261 const closest = function(el, selector) {
 6102  6262 	return atree.searchUp(el, candidate => {
 6103  6263 		if (candidate.nodeType === candidate.ELEMENT_NODE) {
 6104  6264 			return matches(candidate, selector);
@@ -6117,8 +6277,8 @@ module.exports = {
 6117  6277 
 6118  6278 },{"./atree.js":10,"./attrs.js":11}],15:[function(require,module,exports){
 6119  6279 (function (process,setImmediate){(function (){
 6120    -1 /*! axe v4.8.3
 6121    -1  * Copyright (c) 2015 - 2023 Deque Systems, Inc.
   -1  6280 /*! axe v4.9.1
   -1  6281  * Copyright (c) 2015 - 2024 Deque Systems, Inc.
 6122  6282  *
 6123  6283  * Your use of this Source Code Form is subject to the terms of the Mozilla Public
 6124  6284  * License, v. 2.0. If a copy of the MPL was not distributed with this
@@ -6132,16 +6292,16 @@ module.exports = {
 6132  6292   var global = window;
 6133  6293   var document = window.document;
 6134  6294   'use strict';
 6135    -1   function _typeof(obj) {
   -1  6295   function _typeof(o) {
 6136  6296     '@babel/helpers - typeof';
 6137    -1     return _typeof = 'function' == typeof Symbol && 'symbol' == typeof Symbol.iterator ? function(obj) {
 6138    -1       return typeof obj;
 6139    -1     } : function(obj) {
 6140    -1       return obj && 'function' == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? 'symbol' : typeof obj;
 6141    -1     }, _typeof(obj);
   -1  6297     return _typeof = 'function' == typeof Symbol && 'symbol' == typeof Symbol.iterator ? function(o) {
   -1  6298       return typeof o;
   -1  6299     } : function(o) {
   -1  6300       return o && 'function' == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? 'symbol' : typeof o;
   -1  6301     }, _typeof(o);
 6142  6302   }
 6143  6303   var axe = axe || {};
 6144    -1   axe.version = '4.8.3';
   -1  6304   axe.version = '4.9.1';
 6145  6305   if (typeof define === 'function' && define.amd) {
 6146  6306     define('axe-core', [], function() {
 6147  6307       return axe;
@@ -6186,22 +6346,45 @@ module.exports = {
 6186  6346     }
 6187  6347     return obj;
 6188  6348   }
 6189    -1   function _construct(Parent, args, Class) {
   -1  6349   function _construct(t, e, r) {
 6190  6350     if (_isNativeReflectConstruct()) {
 6191    -1       _construct = Reflect.construct.bind();
 6192    -1     } else {
 6193    -1       _construct = function _construct(Parent, args, Class) {
 6194    -1         var a = [ null ];
 6195    -1         a.push.apply(a, args);
 6196    -1         var Constructor = Function.bind.apply(Parent, a);
 6197    -1         var instance = new Constructor();
 6198    -1         if (Class) {
 6199    -1           _setPrototypeOf(instance, Class.prototype);
 6200    -1         }
 6201    -1         return instance;
 6202    -1       };
   -1  6351       return Reflect.construct.apply(null, arguments);
   -1  6352     }
   -1  6353     var o = [ null ];
   -1  6354     o.push.apply(o, e);
   -1  6355     var p = new (t.bind.apply(t, o))();
   -1  6356     return r && _setPrototypeOf(p, r.prototype), p;
   -1  6357   }
   -1  6358   function _callSuper(t, o, e) {
   -1  6359     return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
   -1  6360   }
   -1  6361   function _possibleConstructorReturn(self, call) {
   -1  6362     if (call && (_typeof(call) === 'object' || typeof call === 'function')) {
   -1  6363       return call;
   -1  6364     } else if (call !== void 0) {
   -1  6365       throw new TypeError('Derived constructors may only return object or undefined');
   -1  6366     }
   -1  6367     return _assertThisInitialized(self);
   -1  6368   }
   -1  6369   function _assertThisInitialized(self) {
   -1  6370     if (self === void 0) {
   -1  6371       throw new ReferenceError('this hasn\'t been initialised - super() hasn\'t been called');
 6203  6372     }
 6204    -1     return _construct.apply(null, arguments);
   -1  6373     return self;
   -1  6374   }
   -1  6375   function _isNativeReflectConstruct() {
   -1  6376     try {
   -1  6377       var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
   -1  6378     } catch (t) {}
   -1  6379     return (_isNativeReflectConstruct = function _isNativeReflectConstruct() {
   -1  6380       return !!t;
   -1  6381     })();
   -1  6382   }
   -1  6383   function _getPrototypeOf(o) {
   -1  6384     _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) {
   -1  6385       return o.__proto__ || Object.getPrototypeOf(o);
   -1  6386     };
   -1  6387     return _getPrototypeOf(o);
 6205  6388   }
 6206  6389   function _inherits(subClass, superClass) {
 6207  6390     if (typeof superClass !== 'function' && superClass !== null) {
@@ -6228,56 +6411,6 @@ module.exports = {
 6228  6411     };
 6229  6412     return _setPrototypeOf(o, p);
 6230  6413   }
 6231    -1   function _createSuper(Derived) {
 6232    -1     var hasNativeReflectConstruct = _isNativeReflectConstruct();
 6233    -1     return function _createSuperInternal() {
 6234    -1       var Super = _getPrototypeOf(Derived), result;
 6235    -1       if (hasNativeReflectConstruct) {
 6236    -1         var NewTarget = _getPrototypeOf(this).constructor;
 6237    -1         result = Reflect.construct(Super, arguments, NewTarget);
 6238    -1       } else {
 6239    -1         result = Super.apply(this, arguments);
 6240    -1       }
 6241    -1       return _possibleConstructorReturn(this, result);
 6242    -1     };
 6243    -1   }
 6244    -1   function _possibleConstructorReturn(self, call) {
 6245    -1     if (call && (_typeof(call) === 'object' || typeof call === 'function')) {
 6246    -1       return call;
 6247    -1     } else if (call !== void 0) {
 6248    -1       throw new TypeError('Derived constructors may only return object or undefined');
 6249    -1     }
 6250    -1     return _assertThisInitialized(self);
 6251    -1   }
 6252    -1   function _assertThisInitialized(self) {
 6253    -1     if (self === void 0) {
 6254    -1       throw new ReferenceError('this hasn\'t been initialised - super() hasn\'t been called');
 6255    -1     }
 6256    -1     return self;
 6257    -1   }
 6258    -1   function _isNativeReflectConstruct() {
 6259    -1     if (typeof Reflect === 'undefined' || !Reflect.construct) {
 6260    -1       return false;
 6261    -1     }
 6262    -1     if (Reflect.construct.sham) {
 6263    -1       return false;
 6264    -1     }
 6265    -1     if (typeof Proxy === 'function') {
 6266    -1       return true;
 6267    -1     }
 6268    -1     try {
 6269    -1       Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
 6270    -1       return true;
 6271    -1     } catch (e) {
 6272    -1       return false;
 6273    -1     }
 6274    -1   }
 6275    -1   function _getPrototypeOf(o) {
 6276    -1     _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) {
 6277    -1       return o.__proto__ || Object.getPrototypeOf(o);
 6278    -1     };
 6279    -1     return _getPrototypeOf(o);
 6280    -1   }
 6281  6414   function _classPrivateFieldInitSpec(obj, privateMap, value) {
 6282  6415     _checkPrivateRedeclaration(obj, privateMap);
 6283  6416     privateMap.set(obj, value);
@@ -6291,42 +6424,17 @@ module.exports = {
 6291  6424       throw new TypeError('Cannot initialize the same private elements twice on an object');
 6292  6425     }
 6293  6426   }
 6294    -1   function _classPrivateFieldGet(receiver, privateMap) {
 6295    -1     var descriptor = _classExtractFieldDescriptor(receiver, privateMap, 'get');
 6296    -1     return _classApplyDescriptorGet(receiver, descriptor);
 6297    -1   }
 6298    -1   function _classApplyDescriptorGet(receiver, descriptor) {
 6299    -1     if (descriptor.get) {
 6300    -1       return descriptor.get.call(receiver);
 6301    -1     }
 6302    -1     return descriptor.value;
 6303    -1   }
 6304    -1   function _classPrivateMethodGet(receiver, privateSet, fn) {
 6305    -1     if (!privateSet.has(receiver)) {
 6306    -1       throw new TypeError('attempted to get private field on non-instance');
 6307    -1     }
 6308    -1     return fn;
 6309    -1   }
 6310    -1   function _classPrivateFieldSet(receiver, privateMap, value) {
 6311    -1     var descriptor = _classExtractFieldDescriptor(receiver, privateMap, 'set');
 6312    -1     _classApplyDescriptorSet(receiver, descriptor, value);
 6313    -1     return value;
   -1  6427   function _classPrivateFieldGet(s, a) {
   -1  6428     return s.get(_assertClassBrand(s, a));
 6314  6429   }
 6315    -1   function _classExtractFieldDescriptor(receiver, privateMap, action) {
 6316    -1     if (!privateMap.has(receiver)) {
 6317    -1       throw new TypeError('attempted to ' + action + ' private field on non-instance');
 6318    -1     }
 6319    -1     return privateMap.get(receiver);
   -1  6430   function _classPrivateFieldSet(s, a, r) {
   -1  6431     return s.set(_assertClassBrand(s, a), r), r;
 6320  6432   }
 6321    -1   function _classApplyDescriptorSet(receiver, descriptor, value) {
 6322    -1     if (descriptor.set) {
 6323    -1       descriptor.set.call(receiver, value);
 6324    -1     } else {
 6325    -1       if (!descriptor.writable) {
 6326    -1         throw new TypeError('attempted to set read only private field');
 6327    -1       }
 6328    -1       descriptor.value = value;
   -1  6433   function _assertClassBrand(e, t, n) {
   -1  6434     if ('function' == typeof e ? e === t : e.has(t)) {
   -1  6435       return arguments.length < 3 ? t : n;
 6329  6436     }
   -1  6437     throw new TypeError('Private element is not present on this object');
 6330  6438   }
 6331  6439   function _objectWithoutProperties(source, excluded) {
 6332  6440     if (source == null) {
@@ -6401,34 +6509,33 @@ module.exports = {
 6401  6509   function _nonIterableRest() {
 6402  6510     throw new TypeError('Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.');
 6403  6511   }
 6404    -1   function _iterableToArrayLimit(arr, i) {
 6405    -1     var _i = null == arr ? null : 'undefined' != typeof Symbol && arr[Symbol.iterator] || arr['@@iterator'];
 6406    -1     if (null != _i) {
 6407    -1       var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1;
   -1  6512   function _iterableToArrayLimit(r, l) {
   -1  6513     var t = null == r ? null : 'undefined' != typeof Symbol && r[Symbol.iterator] || r['@@iterator'];
   -1  6514     if (null != t) {
   -1  6515       var e, n, i, u, a = [], f = !0, o = !1;
 6408  6516       try {
 6409    -1         if (_x = (_i = _i.call(arr)).next, 0 === i) {
 6410    -1           if (Object(_i) !== _i) {
   -1  6517         if (i = (t = t.call(r)).next, 0 === l) {
   -1  6518           if (Object(t) !== t) {
 6411  6519             return;
 6412  6520           }
 6413    -1           _n = !1;
   -1  6521           f = !1;
 6414  6522         } else {
 6415    -1           for (;!(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0) {
 6416    -1           }
   -1  6523           for (;!(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0) {}
 6417  6524         }
 6418    -1       } catch (err) {
 6419    -1         _d = !0, _e = err;
   -1  6525       } catch (r) {
   -1  6526         o = !0, n = r;
 6420  6527       } finally {
 6421  6528         try {
 6422    -1           if (!_n && null != _i['return'] && (_r = _i['return'](), Object(_r) !== _r)) {
   -1  6529           if (!f && null != t['return'] && (u = t['return'](), Object(u) !== u)) {
 6423  6530             return;
 6424  6531           }
 6425  6532         } finally {
 6426    -1           if (_d) {
 6427    -1             throw _e;
   -1  6533           if (o) {
   -1  6534             throw n;
 6428  6535           }
 6429  6536         }
 6430  6537       }
 6431    -1       return _arr;
   -1  6538       return a;
 6432  6539     }
 6433  6540   }
 6434  6541   function _arrayWithHoles(arr) {
@@ -6464,23 +6571,23 @@ module.exports = {
 6464  6571     });
 6465  6572     return Constructor;
 6466  6573   }
 6467    -1   function _toPropertyKey(arg) {
 6468    -1     var key = _toPrimitive(arg, 'string');
 6469    -1     return _typeof(key) === 'symbol' ? key : String(key);
   -1  6574   function _toPropertyKey(t) {
   -1  6575     var i = _toPrimitive(t, 'string');
   -1  6576     return 'symbol' == _typeof(i) ? i : i + '';
 6470  6577   }
 6471    -1   function _toPrimitive(input, hint) {
 6472    -1     if (_typeof(input) !== 'object' || input === null) {
 6473    -1       return input;
 6474    -1     }
 6475    -1     var prim = input[Symbol.toPrimitive];
 6476    -1     if (prim !== undefined) {
 6477    -1       var res = prim.call(input, hint || 'default');
 6478    -1       if (_typeof(res) !== 'object') {
 6479    -1         return res;
   -1  6578   function _toPrimitive(t, r) {
   -1  6579     if ('object' != _typeof(t) || !t) {
   -1  6580       return t;
   -1  6581     }
   -1  6582     var e = t[Symbol.toPrimitive];
   -1  6583     if (void 0 !== e) {
   -1  6584       var i = e.call(t, r || 'default');
   -1  6585       if ('object' != _typeof(i)) {
   -1  6586         return i;
 6480  6587       }
 6481  6588       throw new TypeError('@@toPrimitive must return a primitive value.');
 6482  6589     }
 6483    -1     return (hint === 'string' ? String : Number)(input);
   -1  6590     return ('string' === r ? String : Number)(t);
 6484  6591   }
 6485  6592   function _createForOfIteratorHelper(o, allowArrayLike) {
 6486  6593     var it = typeof Symbol !== 'undefined' && o[Symbol.iterator] || o['@@iterator'];
@@ -6504,8 +6611,8 @@ module.exports = {
 6504  6611               value: o[i++]
 6505  6612             };
 6506  6613           },
 6507    -1           e: function e(_e2) {
 6508    -1             throw _e2;
   -1  6614           e: function e(_e) {
   -1  6615             throw _e;
 6509  6616           },
 6510  6617           f: F
 6511  6618         };
@@ -6522,9 +6629,9 @@ module.exports = {
 6522  6629         normalCompletion = step.done;
 6523  6630         return step;
 6524  6631       },
 6525    -1       e: function e(_e3) {
   -1  6632       e: function e(_e2) {
 6526  6633         didErr = true;
 6527    -1         err = _e3;
   -1  6634         err = _e2;
 6528  6635       },
 6529  6636       f: function f() {
 6530  6637         try {
@@ -6566,16 +6673,15 @@ module.exports = {
 6566  6673     }
 6567  6674     return arr2;
 6568  6675   }
 6569    -1   function _typeof(obj) {
   -1  6676   function _typeof(o) {
 6570  6677     '@babel/helpers - typeof';
 6571    -1     return _typeof = 'function' == typeof Symbol && 'symbol' == typeof Symbol.iterator ? function(obj) {
 6572    -1       return typeof obj;
 6573    -1     } : function(obj) {
 6574    -1       return obj && 'function' == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? 'symbol' : typeof obj;
 6575    -1     }, _typeof(obj);
   -1  6678     return _typeof = 'function' == typeof Symbol && 'symbol' == typeof Symbol.iterator ? function(o) {
   -1  6679       return typeof o;
   -1  6680     } : function(o) {
   -1  6681       return o && 'function' == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? 'symbol' : typeof o;
   -1  6682     }, _typeof(o);
 6576  6683   }
 6577    -1   (function() {
 6578    -1     var _processFormat, _path, _getPath, _space;
   -1  6684   (function(_Class_brand, _path, _space, _r, _g, _b, _red, _green, _blue, _Class3_brand) {
 6579  6685     var __create = Object.create;
 6580  6686     var __defProp = Object.defineProperty;
 6581  6687     var __getProtoOf = Object.getPrototypeOf;
@@ -10904,14 +11010,16 @@ module.exports = {
10904 11010       })(typeof globalThis !== 'undefined' ? globalThis : typeof self !== 'undefined' ? self : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : exports);
10905 11011     });
10906 11012     var require_global = __commonJS(function(exports, module) {
   -1 11013       'use strict';
10907 11014       var check = function check(it) {
10908    -1         return it && it.Math == Math && it;
   -1 11015         return it && it.Math === Math && it;
10909 11016       };
10910 11017       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() {
10911 11018         return this;
10912    -1       }() || Function('return this')();
   -1 11019       }() || exports || Function('return this')();
10913 11020     });
10914 11021     var require_fails = __commonJS(function(exports, module) {
   -1 11022       'use strict';
10915 11023       module.exports = function(exec) {
10916 11024         try {
10917 11025           return !!exec();
@@ -10921,6 +11029,7 @@ module.exports = {
10921 11029       };
10922 11030     });
10923 11031     var require_function_bind_native = __commonJS(function(exports, module) {
   -1 11032       'use strict';
10924 11033       var fails = require_fails();
10925 11034       module.exports = !fails(function() {
10926 11035         var test = function() {}.bind();
@@ -10928,6 +11037,7 @@ module.exports = {
10928 11037       });
10929 11038     });
10930 11039     var require_function_apply = __commonJS(function(exports, module) {
   -1 11040       'use strict';
10931 11041       var NATIVE_BIND = require_function_bind_native();
10932 11042       var FunctionPrototype = Function.prototype;
10933 11043       var apply = FunctionPrototype.apply;
@@ -10937,6 +11047,7 @@ module.exports = {
10937 11047       });
10938 11048     });
10939 11049     var require_function_uncurry_this = __commonJS(function(exports, module) {
   -1 11050       'use strict';
10940 11051       var NATIVE_BIND = require_function_bind_native();
10941 11052       var FunctionPrototype = Function.prototype;
10942 11053       var call = FunctionPrototype.call;
@@ -10948,6 +11059,7 @@ module.exports = {
10948 11059       };
10949 11060     });
10950 11061     var require_classof_raw = __commonJS(function(exports, module) {
   -1 11062       'use strict';
10951 11063       var uncurryThis = require_function_uncurry_this();
10952 11064       var toString = uncurryThis({}.toString);
10953 11065       var stringSlice = uncurryThis(''.slice);
@@ -10956,6 +11068,7 @@ module.exports = {
10956 11068       };
10957 11069     });
10958 11070     var require_function_uncurry_this_clause = __commonJS(function(exports, module) {
   -1 11071       'use strict';
10959 11072       var classofRaw = require_classof_raw();
10960 11073       var uncurryThis = require_function_uncurry_this();
10961 11074       module.exports = function(fn) {
@@ -10965,6 +11078,7 @@ module.exports = {
10965 11078       };
10966 11079     });
10967 11080     var require_document_all = __commonJS(function(exports, module) {
   -1 11081       'use strict';
10968 11082       var documentAll = (typeof document === 'undefined' ? 'undefined' : _typeof(document)) == 'object' && document.all;
10969 11083       var IS_HTMLDDA = typeof documentAll == 'undefined' && documentAll !== void 0;
10970 11084       module.exports = {
@@ -10973,6 +11087,7 @@ module.exports = {
10973 11087       };
10974 11088     });
10975 11089     var require_is_callable2 = __commonJS(function(exports, module) {
   -1 11090       'use strict';
10976 11091       var $documentAll = require_document_all();
10977 11092       var documentAll = $documentAll.all;
10978 11093       module.exports = $documentAll.IS_HTMLDDA ? function(argument) {
@@ -10982,16 +11097,18 @@ module.exports = {
10982 11097       };
10983 11098     });
10984 11099     var require_descriptors = __commonJS(function(exports, module) {
   -1 11100       'use strict';
10985 11101       var fails = require_fails();
10986 11102       module.exports = !fails(function() {
10987 11103         return Object.defineProperty({}, 1, {
10988 11104           get: function get() {
10989 11105             return 7;
10990 11106           }
10991    -1         })[1] != 7;
   -1 11107         })[1] !== 7;
10992 11108       });
10993 11109     });
10994 11110     var require_function_call = __commonJS(function(exports, module) {
   -1 11111       'use strict';
10995 11112       var NATIVE_BIND = require_function_bind_native();
10996 11113       var call = Function.prototype.call;
10997 11114       module.exports = NATIVE_BIND ? call.bind(call) : function() {
@@ -11011,6 +11128,7 @@ module.exports = {
11011 11128       } : $propertyIsEnumerable;
11012 11129     });
11013 11130     var require_create_property_descriptor = __commonJS(function(exports, module) {
   -1 11131       'use strict';
11014 11132       module.exports = function(bitmap, value) {
11015 11133         return {
11016 11134           enumerable: !(bitmap & 1),
@@ -11021,6 +11139,7 @@ module.exports = {
11021 11139       };
11022 11140     });
11023 11141     var require_indexed_object = __commonJS(function(exports, module) {
   -1 11142       'use strict';
11024 11143       var uncurryThis = require_function_uncurry_this();
11025 11144       var fails = require_fails();
11026 11145       var classof = require_classof_raw();
@@ -11029,25 +11148,28 @@ module.exports = {
11029 11148       module.exports = fails(function() {
11030 11149         return !$Object('z').propertyIsEnumerable(0);
11031 11150       }) ? function(it) {
11032    -1         return classof(it) == 'String' ? split(it, '') : $Object(it);
   -1 11151         return classof(it) === 'String' ? split(it, '') : $Object(it);
11033 11152       } : $Object;
11034 11153     });
11035 11154     var require_is_null_or_undefined = __commonJS(function(exports, module) {
   -1 11155       'use strict';
11036 11156       module.exports = function(it) {
11037 11157         return it === null || it === void 0;
11038 11158       };
11039 11159     });
11040 11160     var require_require_object_coercible = __commonJS(function(exports, module) {
   -1 11161       'use strict';
11041 11162       var isNullOrUndefined = require_is_null_or_undefined();
11042 11163       var $TypeError = TypeError;
11043 11164       module.exports = function(it) {
11044 11165         if (isNullOrUndefined(it)) {
11045    -1           throw $TypeError('Can\'t call method on ' + it);
   -1 11166           throw new $TypeError('Can\'t call method on ' + it);
11046 11167         }
11047 11168         return it;
11048 11169       };
11049 11170     });
11050 11171     var require_to_indexed_object = __commonJS(function(exports, module) {
   -1 11172       'use strict';
11051 11173       var IndexedObject = require_indexed_object();
11052 11174       var requireObjectCoercible = require_require_object_coercible();
11053 11175       module.exports = function(it) {
@@ -11055,6 +11177,7 @@ module.exports = {
11055 11177       };
11056 11178     });
11057 11179     var require_is_object2 = __commonJS(function(exports, module) {
   -1 11180       'use strict';
11058 11181       var isCallable = require_is_callable2();
11059 11182       var $documentAll = require_document_all();
11060 11183       var documentAll = $documentAll.all;
@@ -11065,9 +11188,11 @@ module.exports = {
11065 11188       };
11066 11189     });
11067 11190     var require_path = __commonJS(function(exports, module) {
   -1 11191       'use strict';
11068 11192       module.exports = {};
11069 11193     });
11070 11194     var require_get_built_in = __commonJS(function(exports, module) {
   -1 11195       'use strict';
11071 11196       var path = require_path();
11072 11197       var global2 = require_global();
11073 11198       var isCallable = require_is_callable2();
@@ -11079,14 +11204,16 @@ module.exports = {
11079 11204       };
11080 11205     });
11081 11206     var require_object_is_prototype_of = __commonJS(function(exports, module) {
   -1 11207       'use strict';
11082 11208       var uncurryThis = require_function_uncurry_this();
11083 11209       module.exports = uncurryThis({}.isPrototypeOf);
11084 11210     });
11085 11211     var require_engine_user_agent = __commonJS(function(exports, module) {
11086    -1       var getBuiltIn = require_get_built_in();
11087    -1       module.exports = getBuiltIn('navigator', 'userAgent') || '';
   -1 11212       'use strict';
   -1 11213       module.exports = typeof navigator != 'undefined' && String(navigator.userAgent) || '';
11088 11214     });
11089 11215     var require_engine_v8_version = __commonJS(function(exports, module) {
   -1 11216       'use strict';
11090 11217       var global2 = require_global();
11091 11218       var userAgent = require_engine_user_agent();
11092 11219       var process2 = global2.process;
@@ -11111,18 +11238,23 @@ module.exports = {
11111 11238       module.exports = version;
11112 11239     });
11113 11240     var require_symbol_constructor_detection = __commonJS(function(exports, module) {
   -1 11241       'use strict';
11114 11242       var V8_VERSION = require_engine_v8_version();
11115 11243       var fails = require_fails();
   -1 11244       var global2 = require_global();
   -1 11245       var $String = global2.String;
11116 11246       module.exports = !!Object.getOwnPropertySymbols && !fails(function() {
11117    -1         var symbol = Symbol();
11118    -1         return !String(symbol) || !(Object(symbol) instanceof Symbol) || !Symbol.sham && V8_VERSION && V8_VERSION < 41;
   -1 11247         var symbol = Symbol('symbol detection');
   -1 11248         return !$String(symbol) || !(Object(symbol) instanceof Symbol) || !Symbol.sham && V8_VERSION && V8_VERSION < 41;
11119 11249       });
11120 11250     });
11121 11251     var require_use_symbol_as_uid = __commonJS(function(exports, module) {
   -1 11252       'use strict';
11122 11253       var NATIVE_SYMBOL = require_symbol_constructor_detection();
11123 11254       module.exports = NATIVE_SYMBOL && !Symbol.sham && _typeof(Symbol.iterator) == 'symbol';
11124 11255     });
11125 11256     var require_is_symbol2 = __commonJS(function(exports, module) {
   -1 11257       'use strict';
11126 11258       var getBuiltIn = require_get_built_in();
11127 11259       var isCallable = require_is_callable2();
11128 11260       var isPrototypeOf = require_object_is_prototype_of();
@@ -11136,6 +11268,7 @@ module.exports = {
11136 11268       };
11137 11269     });
11138 11270     var require_try_to_string = __commonJS(function(exports, module) {
   -1 11271       'use strict';
11139 11272       var $String = String;
11140 11273       module.exports = function(argument) {
11141 11274         try {
@@ -11146,6 +11279,7 @@ module.exports = {
11146 11279       };
11147 11280     });
11148 11281     var require_a_callable = __commonJS(function(exports, module) {
   -1 11282       'use strict';
11149 11283       var isCallable = require_is_callable2();
11150 11284       var tryToString = require_try_to_string();
11151 11285       var $TypeError = TypeError;
@@ -11153,10 +11287,11 @@ module.exports = {
11153 11287         if (isCallable(argument)) {
11154 11288           return argument;
11155 11289         }
11156    -1         throw $TypeError(tryToString(argument) + ' is not a function');
   -1 11290         throw new $TypeError(tryToString(argument) + ' is not a function');
11157 11291       };
11158 11292     });
11159 11293     var require_get_method = __commonJS(function(exports, module) {
   -1 11294       'use strict';
11160 11295       var aCallable = require_a_callable();
11161 11296       var isNullOrUndefined = require_is_null_or_undefined();
11162 11297       module.exports = function(V, P) {
@@ -11165,6 +11300,7 @@ module.exports = {
11165 11300       };
11166 11301     });
11167 11302     var require_ordinary_to_primitive = __commonJS(function(exports, module) {
   -1 11303       'use strict';
11168 11304       var call = require_function_call();
11169 11305       var isCallable = require_is_callable2();
11170 11306       var isObject = require_is_object2();
@@ -11180,13 +11316,15 @@ module.exports = {
11180 11316         if (pref !== 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) {
11181 11317           return val;
11182 11318         }
11183    -1         throw $TypeError('Can\'t convert object to primitive value');
   -1 11319         throw new $TypeError('Can\'t convert object to primitive value');
11184 11320       };
11185 11321     });
11186 11322     var require_is_pure = __commonJS(function(exports, module) {
   -1 11323       'use strict';
11187 11324       module.exports = true;
11188 11325     });
11189 11326     var require_define_global_property = __commonJS(function(exports, module) {
   -1 11327       'use strict';
11190 11328       var global2 = require_global();
11191 11329       var defineProperty = Object.defineProperty;
11192 11330       module.exports = function(key, value) {
@@ -11203,6 +11341,7 @@ module.exports = {
11203 11341       };
11204 11342     });
11205 11343     var require_shared_store = __commonJS(function(exports, module) {
   -1 11344       'use strict';
11206 11345       var global2 = require_global();
11207 11346       var defineGlobalProperty = require_define_global_property();
11208 11347       var SHARED = '__core-js_shared__';
@@ -11210,19 +11349,21 @@ module.exports = {
11210 11349       module.exports = store;
11211 11350     });
11212 11351     var require_shared = __commonJS(function(exports, module) {
   -1 11352       'use strict';
11213 11353       var IS_PURE = require_is_pure();
11214 11354       var store = require_shared_store();
11215 11355       (module.exports = function(key, value) {
11216 11356         return store[key] || (store[key] = value !== void 0 ? value : {});
11217 11357       })('versions', []).push({
11218    -1         version: '3.26.1',
   -1 11358         version: '3.33.0',
11219 11359         mode: IS_PURE ? 'pure' : 'global',
11220    -1         copyright: '\xa9 2014-2022 Denis Pushkarev (zloirock.ru)',
11221    -1         license: 'https://github.com/zloirock/core-js/blob/v3.26.1/LICENSE',
   -1 11360         copyright: '\xa9 2014-2023 Denis Pushkarev (zloirock.ru)',
   -1 11361         license: 'https://github.com/zloirock/core-js/blob/v3.33.0/LICENSE',
11222 11362         source: 'https://github.com/zloirock/core-js'
11223 11363       });
11224 11364     });
11225 11365     var require_to_object = __commonJS(function(exports, module) {
   -1 11366       'use strict';
11226 11367       var requireObjectCoercible = require_require_object_coercible();
11227 11368       var $Object = Object;
11228 11369       module.exports = function(argument) {
@@ -11230,6 +11371,7 @@ module.exports = {
11230 11371       };
11231 11372     });
11232 11373     var require_has_own_property = __commonJS(function(exports, module) {
   -1 11374       'use strict';
11233 11375       var uncurryThis = require_function_uncurry_this();
11234 11376       var toObject = require_to_object();
11235 11377       var hasOwnProperty2 = uncurryThis({}.hasOwnProperty);
@@ -11238,6 +11380,7 @@ module.exports = {
11238 11380       };
11239 11381     });
11240 11382     var require_uid = __commonJS(function(exports, module) {
   -1 11383       'use strict';
11241 11384       var uncurryThis = require_function_uncurry_this();
11242 11385       var id = 0;
11243 11386       var postfix = Math.random();
@@ -11247,31 +11390,25 @@ module.exports = {
11247 11390       };
11248 11391     });
11249 11392     var require_well_known_symbol = __commonJS(function(exports, module) {
   -1 11393       'use strict';
11250 11394       var global2 = require_global();
11251 11395       var shared = require_shared();
11252 11396       var hasOwn2 = require_has_own_property();
11253 11397       var uid = require_uid();
11254 11398       var NATIVE_SYMBOL = require_symbol_constructor_detection();
11255 11399       var USE_SYMBOL_AS_UID = require_use_symbol_as_uid();
11256    -1       var WellKnownSymbolsStore = shared('wks');
11257 11400       var Symbol2 = global2.Symbol;
11258    -1       var symbolFor = Symbol2 && Symbol2['for'];
11259    -1       var createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol2 : Symbol2 && Symbol2.withoutSetter || uid;
   -1 11401       var WellKnownSymbolsStore = shared('wks');
   -1 11402       var createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol2['for'] || Symbol2 : Symbol2 && Symbol2.withoutSetter || uid;
11260 11403       module.exports = function(name) {
11261    -1         if (!hasOwn2(WellKnownSymbolsStore, name) || !(NATIVE_SYMBOL || typeof WellKnownSymbolsStore[name] == 'string')) {
11262    -1           var description = 'Symbol.' + name;
11263    -1           if (NATIVE_SYMBOL && hasOwn2(Symbol2, name)) {
11264    -1             WellKnownSymbolsStore[name] = Symbol2[name];
11265    -1           } else if (USE_SYMBOL_AS_UID && symbolFor) {
11266    -1             WellKnownSymbolsStore[name] = symbolFor(description);
11267    -1           } else {
11268    -1             WellKnownSymbolsStore[name] = createWellKnownSymbol(description);
11269    -1           }
   -1 11404         if (!hasOwn2(WellKnownSymbolsStore, name)) {
   -1 11405           WellKnownSymbolsStore[name] = NATIVE_SYMBOL && hasOwn2(Symbol2, name) ? Symbol2[name] : createWellKnownSymbol('Symbol.' + name);
11270 11406         }
11271 11407         return WellKnownSymbolsStore[name];
11272 11408       };
11273 11409     });
11274 11410     var require_to_primitive = __commonJS(function(exports, module) {
   -1 11411       'use strict';
11275 11412       var call = require_function_call();
11276 11413       var isObject = require_is_object2();
11277 11414       var isSymbol = require_is_symbol2();
@@ -11294,7 +11431,7 @@ module.exports = {
11294 11431           if (!isObject(result) || isSymbol(result)) {
11295 11432             return result;
11296 11433           }
11297    -1           throw $TypeError('Can\'t convert object to primitive value');
   -1 11434           throw new $TypeError('Can\'t convert object to primitive value');
11298 11435         }
11299 11436         if (pref === void 0) {
11300 11437           pref = 'number';
@@ -11303,6 +11440,7 @@ module.exports = {
11303 11440       };
11304 11441     });
11305 11442     var require_to_property_key = __commonJS(function(exports, module) {
   -1 11443       'use strict';
11306 11444       var toPrimitive = require_to_primitive();
11307 11445       var isSymbol = require_is_symbol2();
11308 11446       module.exports = function(argument) {
@@ -11311,6 +11449,7 @@ module.exports = {
11311 11449       };
11312 11450     });
11313 11451     var require_document_create_element = __commonJS(function(exports, module) {
   -1 11452       'use strict';
11314 11453       var global2 = require_global();
11315 11454       var isObject = require_is_object2();
11316 11455       var document2 = global2.document;
@@ -11320,6 +11459,7 @@ module.exports = {
11320 11459       };
11321 11460     });
11322 11461     var require_ie8_dom_define = __commonJS(function(exports, module) {
   -1 11462       'use strict';
11323 11463       var DESCRIPTORS = require_descriptors();
11324 11464       var fails = require_fails();
11325 11465       var createElement = require_document_create_element();
@@ -11328,10 +11468,11 @@ module.exports = {
11328 11468           get: function get() {
11329 11469             return 7;
11330 11470           }
11331    -1         }).a != 7;
   -1 11471         }).a !== 7;
11332 11472       });
11333 11473     });
11334 11474     var require_object_get_own_property_descriptor = __commonJS(function(exports) {
   -1 11475       'use strict';
11335 11476       var DESCRIPTORS = require_descriptors();
11336 11477       var call = require_function_call();
11337 11478       var propertyIsEnumerableModule = require_object_property_is_enumerable();
@@ -11355,12 +11496,13 @@ module.exports = {
11355 11496       };
11356 11497     });
11357 11498     var require_is_forced = __commonJS(function(exports, module) {
   -1 11499       'use strict';
11358 11500       var fails = require_fails();
11359 11501       var isCallable = require_is_callable2();
11360 11502       var replacement = /#|\.prototype\./;
11361 11503       var isForced = function isForced(feature, detection) {
11362 11504         var value = data[normalize(feature)];
11363    -1         return value == POLYFILL ? true : value == NATIVE ? false : isCallable(detection) ? fails(detection) : !!detection;
   -1 11505         return value === POLYFILL ? true : value === NATIVE ? false : isCallable(detection) ? fails(detection) : !!detection;
11364 11506       };
11365 11507       var normalize = isForced.normalize = function(string) {
11366 11508         return String(string).replace(replacement, '.').toLowerCase();
@@ -11371,6 +11513,7 @@ module.exports = {
11371 11513       module.exports = isForced;
11372 11514     });
11373 11515     var require_function_bind_context = __commonJS(function(exports, module) {
   -1 11516       'use strict';
11374 11517       var uncurryThis = require_function_uncurry_this_clause();
11375 11518       var aCallable = require_a_callable();
11376 11519       var NATIVE_BIND = require_function_bind_native();
@@ -11383,16 +11526,18 @@ module.exports = {
11383 11526       };
11384 11527     });
11385 11528     var require_v8_prototype_define_bug = __commonJS(function(exports, module) {
   -1 11529       'use strict';
11386 11530       var DESCRIPTORS = require_descriptors();
11387 11531       var fails = require_fails();
11388 11532       module.exports = DESCRIPTORS && fails(function() {
11389 11533         return Object.defineProperty(function() {}, 'prototype', {
11390 11534           value: 42,
11391 11535           writable: false
11392    -1         }).prototype != 42;
   -1 11536         }).prototype !== 42;
11393 11537       });
11394 11538     });
11395 11539     var require_an_object = __commonJS(function(exports, module) {
   -1 11540       'use strict';
11396 11541       var isObject = require_is_object2();
11397 11542       var $String = String;
11398 11543       var $TypeError = TypeError;
@@ -11400,10 +11545,11 @@ module.exports = {
11400 11545         if (isObject(argument)) {
11401 11546           return argument;
11402 11547         }
11403    -1         throw $TypeError($String(argument) + ' is not an object');
   -1 11548         throw new $TypeError($String(argument) + ' is not an object');
11404 11549       };
11405 11550     });
11406 11551     var require_object_define_property = __commonJS(function(exports) {
   -1 11552       'use strict';
11407 11553       var DESCRIPTORS = require_descriptors();
11408 11554       var IE8_DOM_DEFINE = require_ie8_dom_define();
11409 11555       var V8_PROTOTYPE_DEFINE_BUG = require_v8_prototype_define_bug();
@@ -11441,7 +11587,7 @@ module.exports = {
11441 11587           } catch (error) {}
11442 11588         }
11443 11589         if ('get' in Attributes || 'set' in Attributes) {
11444    -1           throw $TypeError('Accessors not supported');
   -1 11590           throw new $TypeError('Accessors not supported');
11445 11591         }
11446 11592         if ('value' in Attributes) {
11447 11593           O[P] = Attributes.value;
@@ -11450,6 +11596,7 @@ module.exports = {
11450 11596       };
11451 11597     });
11452 11598     var require_create_non_enumerable_property = __commonJS(function(exports, module) {
   -1 11599       'use strict';
11453 11600       var DESCRIPTORS = require_descriptors();
11454 11601       var definePropertyModule = require_object_define_property();
11455 11602       var createPropertyDescriptor = require_create_property_descriptor();
@@ -11537,7 +11684,7 @@ module.exports = {
11537 11684               createNonEnumerableProperty(path, VIRTUAL_PROTOTYPE, {});
11538 11685             }
11539 11686             createNonEnumerableProperty(path[VIRTUAL_PROTOTYPE], key, sourceProperty);
11540    -1             if (options.real && targetPrototype && !targetPrototype[key]) {
   -1 11687             if (options.real && targetPrototype && (FORCED || !targetPrototype[key])) {
11541 11688               createNonEnumerableProperty(targetPrototype, key, sourceProperty);
11542 11689             }
11543 11690           }
@@ -11545,6 +11692,7 @@ module.exports = {
11545 11692       };
11546 11693     });
11547 11694     var require_es_object_has_own = __commonJS(function() {
   -1 11695       'use strict';
11548 11696       var $ = require_export();
11549 11697       var hasOwn2 = require_has_own_property();
11550 11698       $({
@@ -11555,19 +11703,63 @@ module.exports = {
11555 11703       });
11556 11704     });
11557 11705     var require_has_own = __commonJS(function(exports, module) {
   -1 11706       'use strict';
11558 11707       require_es_object_has_own();
11559 11708       var path = require_path();
11560 11709       module.exports = path.Object.hasOwn;
11561 11710     });
11562 11711     var require_has_own2 = __commonJS(function(exports, module) {
   -1 11712       'use strict';
11563 11713       var parent = require_has_own();
11564 11714       module.exports = parent;
11565 11715     });
11566 11716     var require_has_own3 = __commonJS(function(exports, module) {
   -1 11717       'use strict';
11567 11718       var parent = require_has_own2();
11568 11719       module.exports = parent;
11569 11720     });
   -1 11721     var require_shared_key = __commonJS(function(exports, module) {
   -1 11722       'use strict';
   -1 11723       var shared = require_shared();
   -1 11724       var uid = require_uid();
   -1 11725       var keys = shared('keys');
   -1 11726       module.exports = function(key) {
   -1 11727         return keys[key] || (keys[key] = uid(key));
   -1 11728       };
   -1 11729     });
   -1 11730     var require_correct_prototype_getter = __commonJS(function(exports, module) {
   -1 11731       'use strict';
   -1 11732       var fails = require_fails();
   -1 11733       module.exports = !fails(function() {
   -1 11734         function F() {}
   -1 11735         F.prototype.constructor = null;
   -1 11736         return Object.getPrototypeOf(new F()) !== F.prototype;
   -1 11737       });
   -1 11738     });
   -1 11739     var require_object_get_prototype_of = __commonJS(function(exports, module) {
   -1 11740       'use strict';
   -1 11741       var hasOwn2 = require_has_own_property();
   -1 11742       var isCallable = require_is_callable2();
   -1 11743       var toObject = require_to_object();
   -1 11744       var sharedKey = require_shared_key();
   -1 11745       var CORRECT_PROTOTYPE_GETTER = require_correct_prototype_getter();
   -1 11746       var IE_PROTO = sharedKey('IE_PROTO');
   -1 11747       var $Object = Object;
   -1 11748       var ObjectPrototype = $Object.prototype;
   -1 11749       module.exports = CORRECT_PROTOTYPE_GETTER ? $Object.getPrototypeOf : function(O) {
   -1 11750         var object = toObject(O);
   -1 11751         if (hasOwn2(object, IE_PROTO)) {
   -1 11752           return object[IE_PROTO];
   -1 11753         }
   -1 11754         var constructor = object.constructor;
   -1 11755         if (isCallable(constructor) && object instanceof constructor) {
   -1 11756           return constructor.prototype;
   -1 11757         }
   -1 11758         return object instanceof $Object ? ObjectPrototype : null;
   -1 11759       };
   -1 11760     });
11570 11761     var require_math_trunc = __commonJS(function(exports, module) {
   -1 11762       'use strict';
11571 11763       var ceil = Math.ceil;
11572 11764       var floor = Math.floor;
11573 11765       module.exports = Math.trunc || function trunc(x) {
@@ -11576,6 +11768,7 @@ module.exports = {
11576 11768       };
11577 11769     });
11578 11770     var require_to_integer_or_infinity = __commonJS(function(exports, module) {
   -1 11771       'use strict';
11579 11772       var trunc = require_math_trunc();
11580 11773       module.exports = function(argument) {
11581 11774         var number = +argument;
@@ -11583,6 +11776,7 @@ module.exports = {
11583 11776       };
11584 11777     });
11585 11778     var require_to_absolute_index = __commonJS(function(exports, module) {
   -1 11779       'use strict';
11586 11780       var toIntegerOrInfinity = require_to_integer_or_infinity();
11587 11781       var max2 = Math.max;
11588 11782       var min = Math.min;
@@ -11592,6 +11786,7 @@ module.exports = {
11592 11786       };
11593 11787     });
11594 11788     var require_to_length = __commonJS(function(exports, module) {
   -1 11789       'use strict';
11595 11790       var toIntegerOrInfinity = require_to_integer_or_infinity();
11596 11791       var min = Math.min;
11597 11792       module.exports = function(argument) {
@@ -11599,12 +11794,14 @@ module.exports = {
11599 11794       };
11600 11795     });
11601 11796     var require_length_of_array_like = __commonJS(function(exports, module) {
   -1 11797       'use strict';
11602 11798       var toLength = require_to_length();
11603 11799       module.exports = function(obj) {
11604 11800         return toLength(obj.length);
11605 11801       };
11606 11802     });
11607 11803     var require_array_includes = __commonJS(function(exports, module) {
   -1 11804       'use strict';
11608 11805       var toIndexedObject = require_to_indexed_object();
11609 11806       var toAbsoluteIndex = require_to_absolute_index();
11610 11807       var lengthOfArrayLike = require_length_of_array_like();
@@ -11614,10 +11811,10 @@ module.exports = {
11614 11811           var length = lengthOfArrayLike(O);
11615 11812           var index = toAbsoluteIndex(fromIndex, length);
11616 11813           var value;
11617    -1           if (IS_INCLUDES && el != el) {
   -1 11814           if (IS_INCLUDES && el !== el) {
11618 11815             while (length > index) {
11619 11816               value = O[index++];
11620    -1               if (value != value) {
   -1 11817               if (value !== value) {
11621 11818                 return true;
11622 11819               }
11623 11820             }
@@ -11637,9 +11834,11 @@ module.exports = {
11637 11834       };
11638 11835     });
11639 11836     var require_hidden_keys = __commonJS(function(exports, module) {
   -1 11837       'use strict';
11640 11838       module.exports = {};
11641 11839     });
11642 11840     var require_object_keys_internal = __commonJS(function(exports, module) {
   -1 11841       'use strict';
11643 11842       var uncurryThis = require_function_uncurry_this();
11644 11843       var hasOwn2 = require_has_own_property();
11645 11844       var toIndexedObject = require_to_indexed_object();
@@ -11663,9 +11862,11 @@ module.exports = {
11663 11862       };
11664 11863     });
11665 11864     var require_enum_bug_keys = __commonJS(function(exports, module) {
   -1 11865       'use strict';
11666 11866       module.exports = [ 'constructor', 'hasOwnProperty', 'isPrototypeOf', 'propertyIsEnumerable', 'toLocaleString', 'toString', 'valueOf' ];
11667 11867     });
11668 11868     var require_object_keys = __commonJS(function(exports, module) {
   -1 11869       'use strict';
11669 11870       var internalObjectKeys = require_object_keys_internal();
11670 11871       var enumBugKeys = require_enum_bug_keys();
11671 11872       module.exports = Object.keys || function keys(O) {
@@ -11673,24 +11874,33 @@ module.exports = {
11673 11874       };
11674 11875     });
11675 11876     var require_object_to_array = __commonJS(function(exports, module) {
   -1 11877       'use strict';
11676 11878       var DESCRIPTORS = require_descriptors();
   -1 11879       var fails = require_fails();
11677 11880       var uncurryThis = require_function_uncurry_this();
   -1 11881       var objectGetPrototypeOf = require_object_get_prototype_of();
11678 11882       var objectKeys = require_object_keys();
11679 11883       var toIndexedObject = require_to_indexed_object();
11680 11884       var $propertyIsEnumerable = require_object_property_is_enumerable().f;
11681 11885       var propertyIsEnumerable = uncurryThis($propertyIsEnumerable);
11682 11886       var push = uncurryThis([].push);
   -1 11887       var IE_BUG = DESCRIPTORS && fails(function() {
   -1 11888         var O = Object.create(null);
   -1 11889         O[2] = 2;
   -1 11890         return !propertyIsEnumerable(O, 2);
   -1 11891       });
11683 11892       var createMethod = function createMethod(TO_ENTRIES) {
11684 11893         return function(it) {
11685 11894           var O = toIndexedObject(it);
11686 11895           var keys = objectKeys(O);
   -1 11896           var IE_WORKAROUND = IE_BUG && objectGetPrototypeOf(O) === null;
11687 11897           var length = keys.length;
11688 11898           var i = 0;
11689 11899           var result = [];
11690 11900           var key;
11691 11901           while (length > i) {
11692 11902             key = keys[i++];
11693    -1             if (!DESCRIPTORS || propertyIsEnumerable(O, key)) {
   -1 11903             if (!DESCRIPTORS || (IE_WORKAROUND ? key in O : propertyIsEnumerable(O, key))) {
11694 11904               push(result, TO_ENTRIES ? [ key, O[key] ] : O[key]);
11695 11905             }
11696 11906           }
@@ -11703,6 +11913,7 @@ module.exports = {
11703 11913       };
11704 11914     });
11705 11915     var require_es_object_values = __commonJS(function() {
   -1 11916       'use strict';
11706 11917       var $ = require_export();
11707 11918       var $values = require_object_to_array().values;
11708 11919       $({
@@ -11715,121 +11926,983 @@ module.exports = {
11715 11926       });
11716 11927     });
11717 11928     var require_values = __commonJS(function(exports, module) {
   -1 11929       'use strict';
11718 11930       require_es_object_values();
11719 11931       var path = require_path();
11720 11932       module.exports = path.Object.values;
11721 11933     });
11722 11934     var require_values2 = __commonJS(function(exports, module) {
   -1 11935       'use strict';
11723 11936       var parent = require_values();
11724 11937       module.exports = parent;
11725 11938     });
11726 11939     var require_values3 = __commonJS(function(exports, module) {
   -1 11940       'use strict';
11727 11941       var parent = require_values2();
11728 11942       module.exports = parent;
11729 11943     });
11730    -1     var require_doT = __commonJS(function(exports, module) {
11731    -1       (function() {
11732    -1         'use strict';
11733    -1         var doT3 = {
11734    -1           name: 'doT',
11735    -1           version: '1.1.1',
11736    -1           templateSettings: {
11737    -1             evaluate: /\{\{([\s\S]+?(\}?)+)\}\}/g,
11738    -1             interpolate: /\{\{=([\s\S]+?)\}\}/g,
11739    -1             encode: /\{\{!([\s\S]+?)\}\}/g,
11740    -1             use: /\{\{#([\s\S]+?)\}\}/g,
11741    -1             useParams: /(^|[^\w$])def(?:\.|\[[\'\"])([\w$\.]+)(?:[\'\"]\])?\s*\:\s*([\w$\.]+|\"[^\"]+\"|\'[^\']+\'|\{[^\}]+\})/g,
11742    -1             define: /\{\{##\s*([\w\.$]+)\s*(\:|=)([\s\S]+?)#\}\}/g,
11743    -1             defineParams: /^\s*([\w$]+):([\s\S]+)/,
11744    -1             conditional: /\{\{\?(\?)?\s*([\s\S]*?)\s*\}\}/g,
11745    -1             iterate: /\{\{~\s*(?:\}\}|([\s\S]+?)\s*\:\s*([\w$]+)\s*(?:\:\s*([\w$]+))?\s*\}\})/g,
11746    -1             varname: 'it',
11747    -1             strip: true,
11748    -1             append: true,
11749    -1             selfcontained: false,
11750    -1             doNotSkipEncoded: false
11751    -1           },
11752    -1           template: void 0,
11753    -1           compile: void 0,
11754    -1           log: true
   -1 11944     var require_to_string_tag_support = __commonJS(function(exports, module) {
   -1 11945       'use strict';
   -1 11946       var wellKnownSymbol = require_well_known_symbol();
   -1 11947       var TO_STRING_TAG = wellKnownSymbol('toStringTag');
   -1 11948       var test = {};
   -1 11949       test[TO_STRING_TAG] = 'z';
   -1 11950       module.exports = String(test) === '[object z]';
   -1 11951     });
   -1 11952     var require_classof = __commonJS(function(exports, module) {
   -1 11953       'use strict';
   -1 11954       var TO_STRING_TAG_SUPPORT = require_to_string_tag_support();
   -1 11955       var isCallable = require_is_callable2();
   -1 11956       var classofRaw = require_classof_raw();
   -1 11957       var wellKnownSymbol = require_well_known_symbol();
   -1 11958       var TO_STRING_TAG = wellKnownSymbol('toStringTag');
   -1 11959       var $Object = Object;
   -1 11960       var CORRECT_ARGUMENTS = classofRaw(function() {
   -1 11961         return arguments;
   -1 11962       }()) === 'Arguments';
   -1 11963       var tryGet = function tryGet(it, key) {
   -1 11964         try {
   -1 11965           return it[key];
   -1 11966         } catch (error) {}
   -1 11967       };
   -1 11968       module.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function(it) {
   -1 11969         var O, tag, result;
   -1 11970         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;
   -1 11971       };
   -1 11972     });
   -1 11973     var require_to_string = __commonJS(function(exports, module) {
   -1 11974       'use strict';
   -1 11975       var classof = require_classof();
   -1 11976       var $String = String;
   -1 11977       module.exports = function(argument) {
   -1 11978         if (classof(argument) === 'Symbol') {
   -1 11979           throw new TypeError('Cannot convert a Symbol value to a string');
   -1 11980         }
   -1 11981         return $String(argument);
   -1 11982       };
   -1 11983     });
   -1 11984     var require_string_multibyte = __commonJS(function(exports, module) {
   -1 11985       'use strict';
   -1 11986       var uncurryThis = require_function_uncurry_this();
   -1 11987       var toIntegerOrInfinity = require_to_integer_or_infinity();
   -1 11988       var toString = require_to_string();
   -1 11989       var requireObjectCoercible = require_require_object_coercible();
   -1 11990       var charAt = uncurryThis(''.charAt);
   -1 11991       var charCodeAt = uncurryThis(''.charCodeAt);
   -1 11992       var stringSlice = uncurryThis(''.slice);
   -1 11993       var createMethod = function createMethod(CONVERT_TO_STRING) {
   -1 11994         return function($this, pos) {
   -1 11995           var S = toString(requireObjectCoercible($this));
   -1 11996           var position = toIntegerOrInfinity(pos);
   -1 11997           var size = S.length;
   -1 11998           var first, second;
   -1 11999           if (position < 0 || position >= size) {
   -1 12000             return CONVERT_TO_STRING ? '' : void 0;
   -1 12001           }
   -1 12002           first = charCodeAt(S, position);
   -1 12003           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;
11755 12004         };
11756    -1         (function() {
11757    -1           if ((typeof globalThis === 'undefined' ? 'undefined' : _typeof(globalThis)) === 'object') {
11758    -1             return;
   -1 12005       };
   -1 12006       module.exports = {
   -1 12007         codeAt: createMethod(false),
   -1 12008         charAt: createMethod(true)
   -1 12009       };
   -1 12010     });
   -1 12011     var require_weak_map_basic_detection = __commonJS(function(exports, module) {
   -1 12012       'use strict';
   -1 12013       var global2 = require_global();
   -1 12014       var isCallable = require_is_callable2();
   -1 12015       var WeakMap2 = global2.WeakMap;
   -1 12016       module.exports = isCallable(WeakMap2) && /native code/.test(String(WeakMap2));
   -1 12017     });
   -1 12018     var require_internal_state = __commonJS(function(exports, module) {
   -1 12019       'use strict';
   -1 12020       var NATIVE_WEAK_MAP = require_weak_map_basic_detection();
   -1 12021       var global2 = require_global();
   -1 12022       var isObject = require_is_object2();
   -1 12023       var createNonEnumerableProperty = require_create_non_enumerable_property();
   -1 12024       var hasOwn2 = require_has_own_property();
   -1 12025       var shared = require_shared_store();
   -1 12026       var sharedKey = require_shared_key();
   -1 12027       var hiddenKeys = require_hidden_keys();
   -1 12028       var OBJECT_ALREADY_INITIALIZED = 'Object already initialized';
   -1 12029       var TypeError2 = global2.TypeError;
   -1 12030       var WeakMap2 = global2.WeakMap;
   -1 12031       var set2;
   -1 12032       var get2;
   -1 12033       var has;
   -1 12034       var enforce = function enforce(it) {
   -1 12035         return has(it) ? get2(it) : set2(it, {});
   -1 12036       };
   -1 12037       var getterFor = function getterFor(TYPE) {
   -1 12038         return function(it) {
   -1 12039           var state;
   -1 12040           if (!isObject(it) || (state = get2(it)).type !== TYPE) {
   -1 12041             throw new TypeError2('Incompatible receiver, ' + TYPE + ' required');
11759 12042           }
11760    -1           try {
11761    -1             Object.defineProperty(Object.prototype, '__magic__', {
11762    -1               get: function get() {
11763    -1                 return this;
11764    -1               },
11765    -1               configurable: true
   -1 12043           return state;
   -1 12044         };
   -1 12045       };
   -1 12046       if (NATIVE_WEAK_MAP || shared.state) {
   -1 12047         store = shared.state || (shared.state = new WeakMap2());
   -1 12048         store.get = store.get;
   -1 12049         store.has = store.has;
   -1 12050         store.set = store.set;
   -1 12051         set2 = function set2(it, metadata) {
   -1 12052           if (store.has(it)) {
   -1 12053             throw new TypeError2(OBJECT_ALREADY_INITIALIZED);
   -1 12054           }
   -1 12055           metadata.facade = it;
   -1 12056           store.set(it, metadata);
   -1 12057           return metadata;
   -1 12058         };
   -1 12059         get2 = function get2(it) {
   -1 12060           return store.get(it) || {};
   -1 12061         };
   -1 12062         has = function has(it) {
   -1 12063           return store.has(it);
   -1 12064         };
   -1 12065       } else {
   -1 12066         STATE = sharedKey('state');
   -1 12067         hiddenKeys[STATE] = true;
   -1 12068         set2 = function set2(it, metadata) {
   -1 12069           if (hasOwn2(it, STATE)) {
   -1 12070             throw new TypeError2(OBJECT_ALREADY_INITIALIZED);
   -1 12071           }
   -1 12072           metadata.facade = it;
   -1 12073           createNonEnumerableProperty(it, STATE, metadata);
   -1 12074           return metadata;
   -1 12075         };
   -1 12076         get2 = function get2(it) {
   -1 12077           return hasOwn2(it, STATE) ? it[STATE] : {};
   -1 12078         };
   -1 12079         has = function has(it) {
   -1 12080           return hasOwn2(it, STATE);
   -1 12081         };
   -1 12082       }
   -1 12083       var store;
   -1 12084       var STATE;
   -1 12085       module.exports = {
   -1 12086         set: set2,
   -1 12087         get: get2,
   -1 12088         has: has,
   -1 12089         enforce: enforce,
   -1 12090         getterFor: getterFor
   -1 12091       };
   -1 12092     });
   -1 12093     var require_function_name = __commonJS(function(exports, module) {
   -1 12094       'use strict';
   -1 12095       var DESCRIPTORS = require_descriptors();
   -1 12096       var hasOwn2 = require_has_own_property();
   -1 12097       var FunctionPrototype = Function.prototype;
   -1 12098       var getDescriptor = DESCRIPTORS && Object.getOwnPropertyDescriptor;
   -1 12099       var EXISTS = hasOwn2(FunctionPrototype, 'name');
   -1 12100       var PROPER = EXISTS && function something() {}.name === 'something';
   -1 12101       var CONFIGURABLE = EXISTS && (!DESCRIPTORS || DESCRIPTORS && getDescriptor(FunctionPrototype, 'name').configurable);
   -1 12102       module.exports = {
   -1 12103         EXISTS: EXISTS,
   -1 12104         PROPER: PROPER,
   -1 12105         CONFIGURABLE: CONFIGURABLE
   -1 12106       };
   -1 12107     });
   -1 12108     var require_object_define_properties = __commonJS(function(exports) {
   -1 12109       'use strict';
   -1 12110       var DESCRIPTORS = require_descriptors();
   -1 12111       var V8_PROTOTYPE_DEFINE_BUG = require_v8_prototype_define_bug();
   -1 12112       var definePropertyModule = require_object_define_property();
   -1 12113       var anObject = require_an_object();
   -1 12114       var toIndexedObject = require_to_indexed_object();
   -1 12115       var objectKeys = require_object_keys();
   -1 12116       exports.f = DESCRIPTORS && !V8_PROTOTYPE_DEFINE_BUG ? Object.defineProperties : function defineProperties(O, Properties) {
   -1 12117         anObject(O);
   -1 12118         var props = toIndexedObject(Properties);
   -1 12119         var keys = objectKeys(Properties);
   -1 12120         var length = keys.length;
   -1 12121         var index = 0;
   -1 12122         var key;
   -1 12123         while (length > index) {
   -1 12124           definePropertyModule.f(O, key = keys[index++], props[key]);
   -1 12125         }
   -1 12126         return O;
   -1 12127       };
   -1 12128     });
   -1 12129     var require_html = __commonJS(function(exports, module) {
   -1 12130       'use strict';
   -1 12131       var getBuiltIn = require_get_built_in();
   -1 12132       module.exports = getBuiltIn('document', 'documentElement');
   -1 12133     });
   -1 12134     var require_object_create = __commonJS(function(exports, module) {
   -1 12135       'use strict';
   -1 12136       var anObject = require_an_object();
   -1 12137       var definePropertiesModule = require_object_define_properties();
   -1 12138       var enumBugKeys = require_enum_bug_keys();
   -1 12139       var hiddenKeys = require_hidden_keys();
   -1 12140       var html = require_html();
   -1 12141       var documentCreateElement = require_document_create_element();
   -1 12142       var sharedKey = require_shared_key();
   -1 12143       var GT = '>';
   -1 12144       var LT = '<';
   -1 12145       var PROTOTYPE = 'prototype';
   -1 12146       var SCRIPT = 'script';
   -1 12147       var IE_PROTO = sharedKey('IE_PROTO');
   -1 12148       var EmptyConstructor = function EmptyConstructor() {};
   -1 12149       var scriptTag = function scriptTag(content) {
   -1 12150         return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;
   -1 12151       };
   -1 12152       var NullProtoObjectViaActiveX = function NullProtoObjectViaActiveX(activeXDocument2) {
   -1 12153         activeXDocument2.write(scriptTag(''));
   -1 12154         activeXDocument2.close();
   -1 12155         var temp = activeXDocument2.parentWindow.Object;
   -1 12156         activeXDocument2 = null;
   -1 12157         return temp;
   -1 12158       };
   -1 12159       var NullProtoObjectViaIFrame = function NullProtoObjectViaIFrame() {
   -1 12160         var iframe = documentCreateElement('iframe');
   -1 12161         var JS = 'java' + SCRIPT + ':';
   -1 12162         var iframeDocument;
   -1 12163         iframe.style.display = 'none';
   -1 12164         html.appendChild(iframe);
   -1 12165         iframe.src = String(JS);
   -1 12166         iframeDocument = iframe.contentWindow.document;
   -1 12167         iframeDocument.open();
   -1 12168         iframeDocument.write(scriptTag('document.F=Object'));
   -1 12169         iframeDocument.close();
   -1 12170         return iframeDocument.F;
   -1 12171       };
   -1 12172       var activeXDocument;
   -1 12173       var _NullProtoObject = function NullProtoObject() {
   -1 12174         try {
   -1 12175           activeXDocument = new ActiveXObject('htmlfile');
   -1 12176         } catch (error) {}
   -1 12177         _NullProtoObject = typeof document != 'undefined' ? document.domain && activeXDocument ? NullProtoObjectViaActiveX(activeXDocument) : NullProtoObjectViaIFrame() : NullProtoObjectViaActiveX(activeXDocument);
   -1 12178         var length = enumBugKeys.length;
   -1 12179         while (length--) {
   -1 12180           delete _NullProtoObject[PROTOTYPE][enumBugKeys[length]];
   -1 12181         }
   -1 12182         return _NullProtoObject();
   -1 12183       };
   -1 12184       hiddenKeys[IE_PROTO] = true;
   -1 12185       module.exports = Object.create || function create(O, Properties) {
   -1 12186         var result;
   -1 12187         if (O !== null) {
   -1 12188           EmptyConstructor[PROTOTYPE] = anObject(O);
   -1 12189           result = new EmptyConstructor();
   -1 12190           EmptyConstructor[PROTOTYPE] = null;
   -1 12191           result[IE_PROTO] = O;
   -1 12192         } else {
   -1 12193           result = _NullProtoObject();
   -1 12194         }
   -1 12195         return Properties === void 0 ? result : definePropertiesModule.f(result, Properties);
   -1 12196       };
   -1 12197     });
   -1 12198     var require_define_built_in = __commonJS(function(exports, module) {
   -1 12199       'use strict';
   -1 12200       var createNonEnumerableProperty = require_create_non_enumerable_property();
   -1 12201       module.exports = function(target, key, value, options) {
   -1 12202         if (options && options.enumerable) {
   -1 12203           target[key] = value;
   -1 12204         } else {
   -1 12205           createNonEnumerableProperty(target, key, value);
   -1 12206         }
   -1 12207         return target;
   -1 12208       };
   -1 12209     });
   -1 12210     var require_iterators_core = __commonJS(function(exports, module) {
   -1 12211       'use strict';
   -1 12212       var fails = require_fails();
   -1 12213       var isCallable = require_is_callable2();
   -1 12214       var isObject = require_is_object2();
   -1 12215       var create = require_object_create();
   -1 12216       var getPrototypeOf = require_object_get_prototype_of();
   -1 12217       var defineBuiltIn = require_define_built_in();
   -1 12218       var wellKnownSymbol = require_well_known_symbol();
   -1 12219       var IS_PURE = require_is_pure();
   -1 12220       var ITERATOR = wellKnownSymbol('iterator');
   -1 12221       var BUGGY_SAFARI_ITERATORS = false;
   -1 12222       var IteratorPrototype;
   -1 12223       var PrototypeOfArrayIteratorPrototype;
   -1 12224       var arrayIterator;
   -1 12225       if ([].keys) {
   -1 12226         arrayIterator = [].keys();
   -1 12227         if (!('next' in arrayIterator)) {
   -1 12228           BUGGY_SAFARI_ITERATORS = true;
   -1 12229         } else {
   -1 12230           PrototypeOfArrayIteratorPrototype = getPrototypeOf(getPrototypeOf(arrayIterator));
   -1 12231           if (PrototypeOfArrayIteratorPrototype !== Object.prototype) {
   -1 12232             IteratorPrototype = PrototypeOfArrayIteratorPrototype;
   -1 12233           }
   -1 12234         }
   -1 12235       }
   -1 12236       var NEW_ITERATOR_PROTOTYPE = !isObject(IteratorPrototype) || fails(function() {
   -1 12237         var test = {};
   -1 12238         return IteratorPrototype[ITERATOR].call(test) !== test;
   -1 12239       });
   -1 12240       if (NEW_ITERATOR_PROTOTYPE) {
   -1 12241         IteratorPrototype = {};
   -1 12242       } else if (IS_PURE) {
   -1 12243         IteratorPrototype = create(IteratorPrototype);
   -1 12244       }
   -1 12245       if (!isCallable(IteratorPrototype[ITERATOR])) {
   -1 12246         defineBuiltIn(IteratorPrototype, ITERATOR, function() {
   -1 12247           return this;
   -1 12248         });
   -1 12249       }
   -1 12250       module.exports = {
   -1 12251         IteratorPrototype: IteratorPrototype,
   -1 12252         BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS
   -1 12253       };
   -1 12254     });
   -1 12255     var require_object_to_string = __commonJS(function(exports, module) {
   -1 12256       'use strict';
   -1 12257       var TO_STRING_TAG_SUPPORT = require_to_string_tag_support();
   -1 12258       var classof = require_classof();
   -1 12259       module.exports = TO_STRING_TAG_SUPPORT ? {}.toString : function toString() {
   -1 12260         return '[object ' + classof(this) + ']';
   -1 12261       };
   -1 12262     });
   -1 12263     var require_set_to_string_tag = __commonJS(function(exports, module) {
   -1 12264       'use strict';
   -1 12265       var TO_STRING_TAG_SUPPORT = require_to_string_tag_support();
   -1 12266       var defineProperty = require_object_define_property().f;
   -1 12267       var createNonEnumerableProperty = require_create_non_enumerable_property();
   -1 12268       var hasOwn2 = require_has_own_property();
   -1 12269       var toString = require_object_to_string();
   -1 12270       var wellKnownSymbol = require_well_known_symbol();
   -1 12271       var TO_STRING_TAG = wellKnownSymbol('toStringTag');
   -1 12272       module.exports = function(it, TAG, STATIC, SET_METHOD) {
   -1 12273         if (it) {
   -1 12274           var target = STATIC ? it : it.prototype;
   -1 12275           if (!hasOwn2(target, TO_STRING_TAG)) {
   -1 12276             defineProperty(target, TO_STRING_TAG, {
   -1 12277               configurable: true,
   -1 12278               value: TAG
11766 12279             });
11767    -1             __magic__.globalThis = __magic__;
11768    -1             delete Object.prototype.__magic__;
11769    -1           } catch (e) {
11770    -1             window.globalThis = function() {
11771    -1               if (typeof self !== 'undefined') {
11772    -1                 return self;
11773    -1               }
11774    -1               if (typeof window !== 'undefined') {
11775    -1                 return window;
11776    -1               }
11777    -1               if (typeof global !== 'undefined') {
11778    -1                 return global;
11779    -1               }
11780    -1               if (typeof this !== 'undefined') {
11781    -1                 return this;
11782    -1               }
11783    -1               throw new Error('Unable to locate global `this`');
11784    -1             }();
11785 12280           }
11786    -1         })();
11787    -1         doT3.encodeHTMLSource = function(doNotSkipEncoded) {
11788    -1           var encodeHTMLRules = {
11789    -1             '&': '&#38;',
11790    -1             '<': '&#60;',
11791    -1             '>': '&#62;',
11792    -1             '"': '&#34;',
11793    -1             '\'': '&#39;',
11794    -1             '/': '&#47;'
11795    -1           }, matchHTML = doNotSkipEncoded ? /[&<>"'\/]/g : /&(?!#?\w+;)|<|>|"|'|\//g;
11796    -1           return function(code) {
11797    -1             return code ? code.toString().replace(matchHTML, function(m3) {
11798    -1               return encodeHTMLRules[m3] || m3;
11799    -1             }) : '';
   -1 12281           if (SET_METHOD && !TO_STRING_TAG_SUPPORT) {
   -1 12282             createNonEnumerableProperty(target, 'toString', toString);
   -1 12283           }
   -1 12284         }
   -1 12285       };
   -1 12286     });
   -1 12287     var require_iterators = __commonJS(function(exports, module) {
   -1 12288       'use strict';
   -1 12289       module.exports = {};
   -1 12290     });
   -1 12291     var require_iterator_create_constructor = __commonJS(function(exports, module) {
   -1 12292       'use strict';
   -1 12293       var IteratorPrototype = require_iterators_core().IteratorPrototype;
   -1 12294       var create = require_object_create();
   -1 12295       var createPropertyDescriptor = require_create_property_descriptor();
   -1 12296       var setToStringTag = require_set_to_string_tag();
   -1 12297       var Iterators = require_iterators();
   -1 12298       var returnThis = function returnThis() {
   -1 12299         return this;
   -1 12300       };
   -1 12301       module.exports = function(IteratorConstructor, NAME, next, ENUMERABLE_NEXT) {
   -1 12302         var TO_STRING_TAG = NAME + ' Iterator';
   -1 12303         IteratorConstructor.prototype = create(IteratorPrototype, {
   -1 12304           next: createPropertyDescriptor(+!ENUMERABLE_NEXT, next)
   -1 12305         });
   -1 12306         setToStringTag(IteratorConstructor, TO_STRING_TAG, false, true);
   -1 12307         Iterators[TO_STRING_TAG] = returnThis;
   -1 12308         return IteratorConstructor;
   -1 12309       };
   -1 12310     });
   -1 12311     var require_function_uncurry_this_accessor = __commonJS(function(exports, module) {
   -1 12312       'use strict';
   -1 12313       var uncurryThis = require_function_uncurry_this();
   -1 12314       var aCallable = require_a_callable();
   -1 12315       module.exports = function(object, key, method) {
   -1 12316         try {
   -1 12317           return uncurryThis(aCallable(Object.getOwnPropertyDescriptor(object, key)[method]));
   -1 12318         } catch (error) {}
   -1 12319       };
   -1 12320     });
   -1 12321     var require_a_possible_prototype = __commonJS(function(exports, module) {
   -1 12322       'use strict';
   -1 12323       var isCallable = require_is_callable2();
   -1 12324       var $String = String;
   -1 12325       var $TypeError = TypeError;
   -1 12326       module.exports = function(argument) {
   -1 12327         if (_typeof(argument) == 'object' || isCallable(argument)) {
   -1 12328           return argument;
   -1 12329         }
   -1 12330         throw new $TypeError('Can\'t set ' + $String(argument) + ' as a prototype');
   -1 12331       };
   -1 12332     });
   -1 12333     var require_object_set_prototype_of = __commonJS(function(exports, module) {
   -1 12334       'use strict';
   -1 12335       var uncurryThisAccessor = require_function_uncurry_this_accessor();
   -1 12336       var anObject = require_an_object();
   -1 12337       var aPossiblePrototype = require_a_possible_prototype();
   -1 12338       module.exports = Object.setPrototypeOf || ('__proto__' in {} ? function() {
   -1 12339         var CORRECT_SETTER = false;
   -1 12340         var test = {};
   -1 12341         var setter;
   -1 12342         try {
   -1 12343           setter = uncurryThisAccessor(Object.prototype, '__proto__', 'set');
   -1 12344           setter(test, []);
   -1 12345           CORRECT_SETTER = test instanceof Array;
   -1 12346         } catch (error) {}
   -1 12347         return function setPrototypeOf(O, proto) {
   -1 12348           anObject(O);
   -1 12349           aPossiblePrototype(proto);
   -1 12350           if (CORRECT_SETTER) {
   -1 12351             setter(O, proto);
   -1 12352           } else {
   -1 12353             O.__proto__ = proto;
   -1 12354           }
   -1 12355           return O;
   -1 12356         };
   -1 12357       }() : void 0);
   -1 12358     });
   -1 12359     var require_iterator_define = __commonJS(function(exports, module) {
   -1 12360       'use strict';
   -1 12361       var $ = require_export();
   -1 12362       var call = require_function_call();
   -1 12363       var IS_PURE = require_is_pure();
   -1 12364       var FunctionName = require_function_name();
   -1 12365       var isCallable = require_is_callable2();
   -1 12366       var createIteratorConstructor = require_iterator_create_constructor();
   -1 12367       var getPrototypeOf = require_object_get_prototype_of();
   -1 12368       var setPrototypeOf = require_object_set_prototype_of();
   -1 12369       var setToStringTag = require_set_to_string_tag();
   -1 12370       var createNonEnumerableProperty = require_create_non_enumerable_property();
   -1 12371       var defineBuiltIn = require_define_built_in();
   -1 12372       var wellKnownSymbol = require_well_known_symbol();
   -1 12373       var Iterators = require_iterators();
   -1 12374       var IteratorsCore = require_iterators_core();
   -1 12375       var PROPER_FUNCTION_NAME = FunctionName.PROPER;
   -1 12376       var CONFIGURABLE_FUNCTION_NAME = FunctionName.CONFIGURABLE;
   -1 12377       var IteratorPrototype = IteratorsCore.IteratorPrototype;
   -1 12378       var BUGGY_SAFARI_ITERATORS = IteratorsCore.BUGGY_SAFARI_ITERATORS;
   -1 12379       var ITERATOR = wellKnownSymbol('iterator');
   -1 12380       var KEYS = 'keys';
   -1 12381       var VALUES = 'values';
   -1 12382       var ENTRIES = 'entries';
   -1 12383       var returnThis = function returnThis() {
   -1 12384         return this;
   -1 12385       };
   -1 12386       module.exports = function(Iterable, NAME, IteratorConstructor, next, DEFAULT, IS_SET, FORCED) {
   -1 12387         createIteratorConstructor(IteratorConstructor, NAME, next);
   -1 12388         var getIterationMethod = function getIterationMethod(KIND) {
   -1 12389           if (KIND === DEFAULT && defaultIterator) {
   -1 12390             return defaultIterator;
   -1 12391           }
   -1 12392           if (!BUGGY_SAFARI_ITERATORS && KIND && KIND in IterablePrototype) {
   -1 12393             return IterablePrototype[KIND];
   -1 12394           }
   -1 12395           switch (KIND) {
   -1 12396            case KEYS:
   -1 12397             return function keys() {
   -1 12398               return new IteratorConstructor(this, KIND);
   -1 12399             };
   -1 12400 
   -1 12401            case VALUES:
   -1 12402             return function values2() {
   -1 12403               return new IteratorConstructor(this, KIND);
   -1 12404             };
   -1 12405 
   -1 12406            case ENTRIES:
   -1 12407             return function entries() {
   -1 12408               return new IteratorConstructor(this, KIND);
   -1 12409             };
   -1 12410           }
   -1 12411           return function() {
   -1 12412             return new IteratorConstructor(this);
11800 12413           };
11801 12414         };
11802    -1         if (typeof module !== 'undefined' && module.exports) {
11803    -1           module.exports = doT3;
11804    -1         } else if (typeof define === 'function' && define.amd) {
11805    -1           define(function() {
11806    -1             return doT3;
11807    -1           });
11808    -1         } else {
11809    -1           globalThis.doT = doT3;
   -1 12415         var TO_STRING_TAG = NAME + ' Iterator';
   -1 12416         var INCORRECT_VALUES_NAME = false;
   -1 12417         var IterablePrototype = Iterable.prototype;
   -1 12418         var nativeIterator = IterablePrototype[ITERATOR] || IterablePrototype['@@iterator'] || DEFAULT && IterablePrototype[DEFAULT];
   -1 12419         var defaultIterator = !BUGGY_SAFARI_ITERATORS && nativeIterator || getIterationMethod(DEFAULT);
   -1 12420         var anyNativeIterator = NAME === 'Array' ? IterablePrototype.entries || nativeIterator : nativeIterator;
   -1 12421         var CurrentIteratorPrototype, methods, KEY;
   -1 12422         if (anyNativeIterator) {
   -1 12423           CurrentIteratorPrototype = getPrototypeOf(anyNativeIterator.call(new Iterable()));
   -1 12424           if (CurrentIteratorPrototype !== Object.prototype && CurrentIteratorPrototype.next) {
   -1 12425             if (!IS_PURE && getPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype) {
   -1 12426               if (setPrototypeOf) {
   -1 12427                 setPrototypeOf(CurrentIteratorPrototype, IteratorPrototype);
   -1 12428               } else if (!isCallable(CurrentIteratorPrototype[ITERATOR])) {
   -1 12429                 defineBuiltIn(CurrentIteratorPrototype, ITERATOR, returnThis);
   -1 12430               }
   -1 12431             }
   -1 12432             setToStringTag(CurrentIteratorPrototype, TO_STRING_TAG, true, true);
   -1 12433             if (IS_PURE) {
   -1 12434               Iterators[TO_STRING_TAG] = returnThis;
   -1 12435             }
   -1 12436           }
11810 12437         }
11811    -1         var startend = {
11812    -1           append: {
11813    -1             start: '\'+(',
11814    -1             end: ')+\'',
11815    -1             startencode: '\'+encodeHTML('
11816    -1           },
11817    -1           split: {
11818    -1             start: '\';out+=(',
11819    -1             end: ');out+=\'',
11820    -1             startencode: '\';out+=encodeHTML('
   -1 12438         if (PROPER_FUNCTION_NAME && DEFAULT === VALUES && nativeIterator && nativeIterator.name !== VALUES) {
   -1 12439           if (!IS_PURE && CONFIGURABLE_FUNCTION_NAME) {
   -1 12440             createNonEnumerableProperty(IterablePrototype, 'name', VALUES);
   -1 12441           } else {
   -1 12442             INCORRECT_VALUES_NAME = true;
   -1 12443             defaultIterator = function values2() {
   -1 12444               return call(nativeIterator, this);
   -1 12445             };
11821 12446           }
11822    -1         }, skip = /$^/;
11823    -1         function resolveDefs(c4, block, def) {
11824    -1           return (typeof block === 'string' ? block : block.toString()).replace(c4.define || skip, function(m3, code, assign, value) {
11825    -1             if (code.indexOf('def.') === 0) {
11826    -1               code = code.substring(4);
   -1 12447         }
   -1 12448         if (DEFAULT) {
   -1 12449           methods = {
   -1 12450             values: getIterationMethod(VALUES),
   -1 12451             keys: IS_SET ? defaultIterator : getIterationMethod(KEYS),
   -1 12452             entries: getIterationMethod(ENTRIES)
   -1 12453           };
   -1 12454           if (FORCED) {
   -1 12455             for (KEY in methods) {
   -1 12456               if (BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) {
   -1 12457                 defineBuiltIn(IterablePrototype, KEY, methods[KEY]);
   -1 12458               }
11827 12459             }
11828    -1             if (!(code in def)) {
11829    -1               if (assign === ':') {
11830    -1                 if (c4.defineParams) {
11831    -1                   value.replace(c4.defineParams, function(m4, param, v) {
11832    -1                     def[code] = {
   -1 12460           } else {
   -1 12461             $({
   -1 12462               target: NAME,
   -1 12463               proto: true,
   -1 12464               forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME
   -1 12465             }, methods);
   -1 12466           }
   -1 12467         }
   -1 12468         if ((!IS_PURE || FORCED) && IterablePrototype[ITERATOR] !== defaultIterator) {
   -1 12469           defineBuiltIn(IterablePrototype, ITERATOR, defaultIterator, {
   -1 12470             name: DEFAULT
   -1 12471           });
   -1 12472         }
   -1 12473         Iterators[NAME] = defaultIterator;
   -1 12474         return methods;
   -1 12475       };
   -1 12476     });
   -1 12477     var require_create_iter_result_object = __commonJS(function(exports, module) {
   -1 12478       'use strict';
   -1 12479       module.exports = function(value, done) {
   -1 12480         return {
   -1 12481           value: value,
   -1 12482           done: done
   -1 12483         };
   -1 12484       };
   -1 12485     });
   -1 12486     var require_es_string_iterator = __commonJS(function() {
   -1 12487       'use strict';
   -1 12488       var charAt = require_string_multibyte().charAt;
   -1 12489       var toString = require_to_string();
   -1 12490       var InternalStateModule = require_internal_state();
   -1 12491       var defineIterator = require_iterator_define();
   -1 12492       var createIterResultObject = require_create_iter_result_object();
   -1 12493       var STRING_ITERATOR = 'String Iterator';
   -1 12494       var setInternalState = InternalStateModule.set;
   -1 12495       var getInternalState = InternalStateModule.getterFor(STRING_ITERATOR);
   -1 12496       defineIterator(String, 'String', function(iterated) {
   -1 12497         setInternalState(this, {
   -1 12498           type: STRING_ITERATOR,
   -1 12499           string: toString(iterated),
   -1 12500           index: 0
   -1 12501         });
   -1 12502       }, function next() {
   -1 12503         var state = getInternalState(this);
   -1 12504         var string = state.string;
   -1 12505         var index = state.index;
   -1 12506         var point;
   -1 12507         if (index >= string.length) {
   -1 12508           return createIterResultObject(void 0, true);
   -1 12509         }
   -1 12510         point = charAt(string, index);
   -1 12511         state.index += point.length;
   -1 12512         return createIterResultObject(point, false);
   -1 12513       });
   -1 12514     });
   -1 12515     var require_iterator_close = __commonJS(function(exports, module) {
   -1 12516       'use strict';
   -1 12517       var call = require_function_call();
   -1 12518       var anObject = require_an_object();
   -1 12519       var getMethod = require_get_method();
   -1 12520       module.exports = function(iterator, kind, value) {
   -1 12521         var innerResult, innerError;
   -1 12522         anObject(iterator);
   -1 12523         try {
   -1 12524           innerResult = getMethod(iterator, 'return');
   -1 12525           if (!innerResult) {
   -1 12526             if (kind === 'throw') {
   -1 12527               throw value;
   -1 12528             }
   -1 12529             return value;
   -1 12530           }
   -1 12531           innerResult = call(innerResult, iterator);
   -1 12532         } catch (error) {
   -1 12533           innerError = true;
   -1 12534           innerResult = error;
   -1 12535         }
   -1 12536         if (kind === 'throw') {
   -1 12537           throw value;
   -1 12538         }
   -1 12539         if (innerError) {
   -1 12540           throw innerResult;
   -1 12541         }
   -1 12542         anObject(innerResult);
   -1 12543         return value;
   -1 12544       };
   -1 12545     });
   -1 12546     var require_call_with_safe_iteration_closing = __commonJS(function(exports, module) {
   -1 12547       'use strict';
   -1 12548       var anObject = require_an_object();
   -1 12549       var iteratorClose = require_iterator_close();
   -1 12550       module.exports = function(iterator, fn, value, ENTRIES) {
   -1 12551         try {
   -1 12552           return ENTRIES ? fn(anObject(value)[0], value[1]) : fn(value);
   -1 12553         } catch (error) {
   -1 12554           iteratorClose(iterator, 'throw', error);
   -1 12555         }
   -1 12556       };
   -1 12557     });
   -1 12558     var require_is_array_iterator_method = __commonJS(function(exports, module) {
   -1 12559       'use strict';
   -1 12560       var wellKnownSymbol = require_well_known_symbol();
   -1 12561       var Iterators = require_iterators();
   -1 12562       var ITERATOR = wellKnownSymbol('iterator');
   -1 12563       var ArrayPrototype = Array.prototype;
   -1 12564       module.exports = function(it) {
   -1 12565         return it !== void 0 && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it);
   -1 12566       };
   -1 12567     });
   -1 12568     var require_inspect_source = __commonJS(function(exports, module) {
   -1 12569       'use strict';
   -1 12570       var uncurryThis = require_function_uncurry_this();
   -1 12571       var isCallable = require_is_callable2();
   -1 12572       var store = require_shared_store();
   -1 12573       var functionToString = uncurryThis(Function.toString);
   -1 12574       if (!isCallable(store.inspectSource)) {
   -1 12575         store.inspectSource = function(it) {
   -1 12576           return functionToString(it);
   -1 12577         };
   -1 12578       }
   -1 12579       module.exports = store.inspectSource;
   -1 12580     });
   -1 12581     var require_is_constructor = __commonJS(function(exports, module) {
   -1 12582       'use strict';
   -1 12583       var uncurryThis = require_function_uncurry_this();
   -1 12584       var fails = require_fails();
   -1 12585       var isCallable = require_is_callable2();
   -1 12586       var classof = require_classof();
   -1 12587       var getBuiltIn = require_get_built_in();
   -1 12588       var inspectSource = require_inspect_source();
   -1 12589       var noop3 = function noop3() {};
   -1 12590       var empty = [];
   -1 12591       var construct = getBuiltIn('Reflect', 'construct');
   -1 12592       var constructorRegExp = /^\s*(?:class|function)\b/;
   -1 12593       var exec = uncurryThis(constructorRegExp.exec);
   -1 12594       var INCORRECT_TO_STRING = !constructorRegExp.test(noop3);
   -1 12595       var isConstructorModern = function isConstructor(argument) {
   -1 12596         if (!isCallable(argument)) {
   -1 12597           return false;
   -1 12598         }
   -1 12599         try {
   -1 12600           construct(noop3, empty, argument);
   -1 12601           return true;
   -1 12602         } catch (error) {
   -1 12603           return false;
   -1 12604         }
   -1 12605       };
   -1 12606       var isConstructorLegacy = function isConstructor(argument) {
   -1 12607         if (!isCallable(argument)) {
   -1 12608           return false;
   -1 12609         }
   -1 12610         switch (classof(argument)) {
   -1 12611          case 'AsyncFunction':
   -1 12612          case 'GeneratorFunction':
   -1 12613          case 'AsyncGeneratorFunction':
   -1 12614           return false;
   -1 12615         }
   -1 12616         try {
   -1 12617           return INCORRECT_TO_STRING || !!exec(constructorRegExp, inspectSource(argument));
   -1 12618         } catch (error) {
   -1 12619           return true;
   -1 12620         }
   -1 12621       };
   -1 12622       isConstructorLegacy.sham = true;
   -1 12623       module.exports = !construct || fails(function() {
   -1 12624         var called;
   -1 12625         return isConstructorModern(isConstructorModern.call) || !isConstructorModern(Object) || !isConstructorModern(function() {
   -1 12626           called = true;
   -1 12627         }) || called;
   -1 12628       }) ? isConstructorLegacy : isConstructorModern;
   -1 12629     });
   -1 12630     var require_create_property = __commonJS(function(exports, module) {
   -1 12631       'use strict';
   -1 12632       var toPropertyKey = require_to_property_key();
   -1 12633       var definePropertyModule = require_object_define_property();
   -1 12634       var createPropertyDescriptor = require_create_property_descriptor();
   -1 12635       module.exports = function(object, key, value) {
   -1 12636         var propertyKey = toPropertyKey(key);
   -1 12637         if (propertyKey in object) {
   -1 12638           definePropertyModule.f(object, propertyKey, createPropertyDescriptor(0, value));
   -1 12639         } else {
   -1 12640           object[propertyKey] = value;
   -1 12641         }
   -1 12642       };
   -1 12643     });
   -1 12644     var require_get_iterator_method = __commonJS(function(exports, module) {
   -1 12645       'use strict';
   -1 12646       var classof = require_classof();
   -1 12647       var getMethod = require_get_method();
   -1 12648       var isNullOrUndefined = require_is_null_or_undefined();
   -1 12649       var Iterators = require_iterators();
   -1 12650       var wellKnownSymbol = require_well_known_symbol();
   -1 12651       var ITERATOR = wellKnownSymbol('iterator');
   -1 12652       module.exports = function(it) {
   -1 12653         if (!isNullOrUndefined(it)) {
   -1 12654           return getMethod(it, ITERATOR) || getMethod(it, '@@iterator') || Iterators[classof(it)];
   -1 12655         }
   -1 12656       };
   -1 12657     });
   -1 12658     var require_get_iterator = __commonJS(function(exports, module) {
   -1 12659       'use strict';
   -1 12660       var call = require_function_call();
   -1 12661       var aCallable = require_a_callable();
   -1 12662       var anObject = require_an_object();
   -1 12663       var tryToString = require_try_to_string();
   -1 12664       var getIteratorMethod = require_get_iterator_method();
   -1 12665       var $TypeError = TypeError;
   -1 12666       module.exports = function(argument, usingIterator) {
   -1 12667         var iteratorMethod = arguments.length < 2 ? getIteratorMethod(argument) : usingIterator;
   -1 12668         if (aCallable(iteratorMethod)) {
   -1 12669           return anObject(call(iteratorMethod, argument));
   -1 12670         }
   -1 12671         throw new $TypeError(tryToString(argument) + ' is not iterable');
   -1 12672       };
   -1 12673     });
   -1 12674     var require_array_from = __commonJS(function(exports, module) {
   -1 12675       'use strict';
   -1 12676       var bind = require_function_bind_context();
   -1 12677       var call = require_function_call();
   -1 12678       var toObject = require_to_object();
   -1 12679       var callWithSafeIterationClosing = require_call_with_safe_iteration_closing();
   -1 12680       var isArrayIteratorMethod = require_is_array_iterator_method();
   -1 12681       var isConstructor = require_is_constructor();
   -1 12682       var lengthOfArrayLike = require_length_of_array_like();
   -1 12683       var createProperty = require_create_property();
   -1 12684       var getIterator = require_get_iterator();
   -1 12685       var getIteratorMethod = require_get_iterator_method();
   -1 12686       var $Array = Array;
   -1 12687       module.exports = function from(arrayLike) {
   -1 12688         var O = toObject(arrayLike);
   -1 12689         var IS_CONSTRUCTOR = isConstructor(this);
   -1 12690         var argumentsLength = arguments.length;
   -1 12691         var mapfn = argumentsLength > 1 ? arguments[1] : void 0;
   -1 12692         var mapping = mapfn !== void 0;
   -1 12693         if (mapping) {
   -1 12694           mapfn = bind(mapfn, argumentsLength > 2 ? arguments[2] : void 0);
   -1 12695         }
   -1 12696         var iteratorMethod = getIteratorMethod(O);
   -1 12697         var index = 0;
   -1 12698         var length, result, step, iterator, next, value;
   -1 12699         if (iteratorMethod && !(this === $Array && isArrayIteratorMethod(iteratorMethod))) {
   -1 12700           iterator = getIterator(O, iteratorMethod);
   -1 12701           next = iterator.next;
   -1 12702           result = IS_CONSTRUCTOR ? new this() : [];
   -1 12703           for (;!(step = call(next, iterator)).done; index++) {
   -1 12704             value = mapping ? callWithSafeIterationClosing(iterator, mapfn, [ step.value, index ], true) : step.value;
   -1 12705             createProperty(result, index, value);
   -1 12706           }
   -1 12707         } else {
   -1 12708           length = lengthOfArrayLike(O);
   -1 12709           result = IS_CONSTRUCTOR ? new this(length) : $Array(length);
   -1 12710           for (;length > index; index++) {
   -1 12711             value = mapping ? mapfn(O[index], index) : O[index];
   -1 12712             createProperty(result, index, value);
   -1 12713           }
   -1 12714         }
   -1 12715         result.length = index;
   -1 12716         return result;
   -1 12717       };
   -1 12718     });
   -1 12719     var require_check_correctness_of_iteration = __commonJS(function(exports, module) {
   -1 12720       'use strict';
   -1 12721       var wellKnownSymbol = require_well_known_symbol();
   -1 12722       var ITERATOR = wellKnownSymbol('iterator');
   -1 12723       var SAFE_CLOSING = false;
   -1 12724       try {
   -1 12725         called = 0;
   -1 12726         iteratorWithReturn = {
   -1 12727           next: function next() {
   -1 12728             return {
   -1 12729               done: !!called++
   -1 12730             };
   -1 12731           },
   -1 12732           return: function _return() {
   -1 12733             SAFE_CLOSING = true;
   -1 12734           }
   -1 12735         };
   -1 12736         iteratorWithReturn[ITERATOR] = function() {
   -1 12737           return this;
   -1 12738         };
   -1 12739         Array.from(iteratorWithReturn, function() {
   -1 12740           throw 2;
   -1 12741         });
   -1 12742       } catch (error) {}
   -1 12743       var called;
   -1 12744       var iteratorWithReturn;
   -1 12745       module.exports = function(exec, SKIP_CLOSING) {
   -1 12746         try {
   -1 12747           if (!SKIP_CLOSING && !SAFE_CLOSING) {
   -1 12748             return false;
   -1 12749           }
   -1 12750         } catch (error) {
   -1 12751           return false;
   -1 12752         }
   -1 12753         var ITERATION_SUPPORT = false;
   -1 12754         try {
   -1 12755           var object = {};
   -1 12756           object[ITERATOR] = function() {
   -1 12757             return {
   -1 12758               next: function next() {
   -1 12759                 return {
   -1 12760                   done: ITERATION_SUPPORT = true
   -1 12761                 };
   -1 12762               }
   -1 12763             };
   -1 12764           };
   -1 12765           exec(object);
   -1 12766         } catch (error) {}
   -1 12767         return ITERATION_SUPPORT;
   -1 12768       };
   -1 12769     });
   -1 12770     var require_es_array_from = __commonJS(function() {
   -1 12771       'use strict';
   -1 12772       var $ = require_export();
   -1 12773       var from = require_array_from();
   -1 12774       var checkCorrectnessOfIteration = require_check_correctness_of_iteration();
   -1 12775       var INCORRECT_ITERATION = !checkCorrectnessOfIteration(function(iterable) {
   -1 12776         Array.from(iterable);
   -1 12777       });
   -1 12778       $({
   -1 12779         target: 'Array',
   -1 12780         stat: true,
   -1 12781         forced: INCORRECT_ITERATION
   -1 12782       }, {
   -1 12783         from: from
   -1 12784       });
   -1 12785     });
   -1 12786     var require_from2 = __commonJS(function(exports, module) {
   -1 12787       'use strict';
   -1 12788       require_es_string_iterator();
   -1 12789       require_es_array_from();
   -1 12790       var path = require_path();
   -1 12791       module.exports = path.Array.from;
   -1 12792     });
   -1 12793     var require_from3 = __commonJS(function(exports, module) {
   -1 12794       'use strict';
   -1 12795       var parent = require_from2();
   -1 12796       module.exports = parent;
   -1 12797     });
   -1 12798     var require_from4 = __commonJS(function(exports, module) {
   -1 12799       'use strict';
   -1 12800       var parent = require_from3();
   -1 12801       module.exports = parent;
   -1 12802     });
   -1 12803     var require_doT = __commonJS(function(exports, module) {
   -1 12804       (function() {
   -1 12805         'use strict';
   -1 12806         var doT3 = {
   -1 12807           name: 'doT',
   -1 12808           version: '1.1.1',
   -1 12809           templateSettings: {
   -1 12810             evaluate: /\{\{([\s\S]+?(\}?)+)\}\}/g,
   -1 12811             interpolate: /\{\{=([\s\S]+?)\}\}/g,
   -1 12812             encode: /\{\{!([\s\S]+?)\}\}/g,
   -1 12813             use: /\{\{#([\s\S]+?)\}\}/g,
   -1 12814             useParams: /(^|[^\w$])def(?:\.|\[[\'\"])([\w$\.]+)(?:[\'\"]\])?\s*\:\s*([\w$\.]+|\"[^\"]+\"|\'[^\']+\'|\{[^\}]+\})/g,
   -1 12815             define: /\{\{##\s*([\w\.$]+)\s*(\:|=)([\s\S]+?)#\}\}/g,
   -1 12816             defineParams: /^\s*([\w$]+):([\s\S]+)/,
   -1 12817             conditional: /\{\{\?(\?)?\s*([\s\S]*?)\s*\}\}/g,
   -1 12818             iterate: /\{\{~\s*(?:\}\}|([\s\S]+?)\s*\:\s*([\w$]+)\s*(?:\:\s*([\w$]+))?\s*\}\})/g,
   -1 12819             varname: 'it',
   -1 12820             strip: true,
   -1 12821             append: true,
   -1 12822             selfcontained: false,
   -1 12823             doNotSkipEncoded: false
   -1 12824           },
   -1 12825           template: void 0,
   -1 12826           compile: void 0,
   -1 12827           log: true
   -1 12828         };
   -1 12829         (function() {
   -1 12830           if ((typeof globalThis === 'undefined' ? 'undefined' : _typeof(globalThis)) === 'object') {
   -1 12831             return;
   -1 12832           }
   -1 12833           try {
   -1 12834             Object.defineProperty(Object.prototype, '__magic__', {
   -1 12835               get: function get() {
   -1 12836                 return this;
   -1 12837               },
   -1 12838               configurable: true
   -1 12839             });
   -1 12840             __magic__.globalThis = __magic__;
   -1 12841             delete Object.prototype.__magic__;
   -1 12842           } catch (e) {
   -1 12843             window.globalThis = function() {
   -1 12844               if (typeof self !== 'undefined') {
   -1 12845                 return self;
   -1 12846               }
   -1 12847               if (typeof window !== 'undefined') {
   -1 12848                 return window;
   -1 12849               }
   -1 12850               if (typeof global !== 'undefined') {
   -1 12851                 return global;
   -1 12852               }
   -1 12853               if (typeof this !== 'undefined') {
   -1 12854                 return this;
   -1 12855               }
   -1 12856               throw new Error('Unable to locate global `this`');
   -1 12857             }();
   -1 12858           }
   -1 12859         })();
   -1 12860         doT3.encodeHTMLSource = function(doNotSkipEncoded) {
   -1 12861           var encodeHTMLRules = {
   -1 12862             '&': '&#38;',
   -1 12863             '<': '&#60;',
   -1 12864             '>': '&#62;',
   -1 12865             '"': '&#34;',
   -1 12866             '\'': '&#39;',
   -1 12867             '/': '&#47;'
   -1 12868           }, matchHTML = doNotSkipEncoded ? /[&<>"'\/]/g : /&(?!#?\w+;)|<|>|"|'|\//g;
   -1 12869           return function(code) {
   -1 12870             return code ? code.toString().replace(matchHTML, function(m3) {
   -1 12871               return encodeHTMLRules[m3] || m3;
   -1 12872             }) : '';
   -1 12873           };
   -1 12874         };
   -1 12875         if (typeof module !== 'undefined' && module.exports) {
   -1 12876           module.exports = doT3;
   -1 12877         } else if (typeof define === 'function' && define.amd) {
   -1 12878           define(function() {
   -1 12879             return doT3;
   -1 12880           });
   -1 12881         } else {
   -1 12882           globalThis.doT = doT3;
   -1 12883         }
   -1 12884         var startend = {
   -1 12885           append: {
   -1 12886             start: '\'+(',
   -1 12887             end: ')+\'',
   -1 12888             startencode: '\'+encodeHTML('
   -1 12889           },
   -1 12890           split: {
   -1 12891             start: '\';out+=(',
   -1 12892             end: ');out+=\'',
   -1 12893             startencode: '\';out+=encodeHTML('
   -1 12894           }
   -1 12895         }, skip = /$^/;
   -1 12896         function resolveDefs(c4, block, def) {
   -1 12897           return (typeof block === 'string' ? block : block.toString()).replace(c4.define || skip, function(m3, code, assign, value) {
   -1 12898             if (code.indexOf('def.') === 0) {
   -1 12899               code = code.substring(4);
   -1 12900             }
   -1 12901             if (!(code in def)) {
   -1 12902               if (assign === ':') {
   -1 12903                 if (c4.defineParams) {
   -1 12904                   value.replace(c4.defineParams, function(m4, param, v) {
   -1 12905                     def[code] = {
11833 12906                       arg: param,
11834 12907                       text: v
11835 12908                     };
@@ -11966,7 +13039,7 @@ module.exports = {
11966 13039         _classCallCheck(this, AbstractVirtualNode);
11967 13040         this.parent = void 0;
11968 13041       }
11969    -1       _createClass(AbstractVirtualNode, [ {
   -1 13042       return _createClass(AbstractVirtualNode, [ {
11970 13043         key: 'props',
11971 13044         get: function get() {
11972 13045           throw new Error('VirtualNode class must have a "props" object consisting of "nodeType" and "nodeName" properties');
@@ -11997,7 +13070,6 @@ module.exports = {
11997 13070           return (' ' + classAttr + ' ').replace(whitespaceRegex, ' ').indexOf(selector) >= 0;
11998 13071         }
11999 13072       } ]);
12000    -1       return AbstractVirtualNode;
12001 13073     }();
12002 13074     var abstract_virtual_node_default = AbstractVirtualNode;
12003 13075     var utils_exports = {};
@@ -12639,7 +13711,7 @@ module.exports = {
12639 13711         return generateSelector2(item.elm, options, item.doc);
12640 13712       });
12641 13713     }
12642    -1     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' ];
   -1 13714     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' ];
12643 13715     var MAXATTRIBUTELENGTH = 31;
12644 13716     var attrCharsRegex = /([\\"])/g;
12645 13717     var newlineChars = /(\r\n|\r|\n)/g;
@@ -13949,8 +15021,8 @@ module.exports = {
13949 15021         return nodeResults === null || nodeResults === void 0 ? void 0 : nodeResults.map(function(_ref7) {
13950 15022           var node = _ref7.node, nodeResult = _objectWithoutProperties(_ref7, _excluded);
13951 15023           nodeResult.node = nodeSerializer.dqElmToSpec(node);
13952    -1           for (var _i2 = 0, _arr2 = [ 'any', 'all', 'none' ]; _i2 < _arr2.length; _i2++) {
13953    -1             var type2 = _arr2[_i2];
   -1 15024           for (var _i2 = 0, _arr = [ 'any', 'all', 'none' ]; _i2 < _arr.length; _i2++) {
   -1 15025             var type2 = _arr[_i2];
13954 15026             nodeResult[type2] = nodeResult[type2].map(function(_ref8) {
13955 15027               var relatedNodes = _ref8.relatedNodes, checkResult = _objectWithoutProperties(_ref8, _excluded2);
13956 15028               checkResult.relatedNodes = relatedNodes.map(nodeSerializer.dqElmToSpec);
@@ -14426,12 +15498,19 @@ module.exports = {
14426 15498       if (isAncestor) {
14427 15499         return false;
14428 15500       }
14429    -1       var rect = vNode.boundingClientRect;
   -1 15501       var position = vNode.getComputedStylePropertyValue('position');
   -1 15502       if (position === 'fixed') {
   -1 15503         return false;
   -1 15504       }
14430 15505       var nodes = get_overflow_hidden_ancestors_default(vNode);
14431 15506       if (!nodes.length) {
14432 15507         return false;
14433 15508       }
   -1 15509       var rect = vNode.boundingClientRect;
14434 15510       return nodes.some(function(node) {
   -1 15511         if (position === 'absolute' && !hasPositionedAncestorBetween(vNode, node) && node.getComputedStylePropertyValue('position') === 'static') {
   -1 15512           return false;
   -1 15513         }
14435 15514         var nodeRect = node.boundingClientRect;
14436 15515         if (nodeRect.width < 2 || nodeRect.height < 2) {
14437 15516           return true;
@@ -14499,6 +15578,16 @@ module.exports = {
14499 15578       }
14500 15579       return !vNode.parent.hasAttr('open');
14501 15580     }
   -1 15581     function hasPositionedAncestorBetween(child, ancestor) {
   -1 15582       var node = child.parent;
   -1 15583       while (node && node !== ancestor) {
   -1 15584         if ([ 'relative', 'sticky' ].includes(node.getComputedStylePropertyValue('position'))) {
   -1 15585           return true;
   -1 15586         }
   -1 15587         node = node.parent;
   -1 15588       }
   -1 15589       return false;
   -1 15590     }
14502 15591     var hiddenMethods = [ displayHidden, visibilityHidden, contentVisibiltyHidden, detailsHidden ];
14503 15592     function _isHiddenForEveryone(vNode) {
14504 15593       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;
@@ -14740,7 +15829,7 @@ module.exports = {
14740 15829       var targetRects = get_target_rects_default(vTarget);
14741 15830       var neighborRects = get_target_rects_default(vNeighbor);
14742 15831       if (!targetRects.length || !neighborRects.length) {
14743    -1         return 0;
   -1 15832         return null;
14744 15833       }
14745 15834       var targetBoundingBox = targetRects.reduce(_getBoundingRect);
14746 15835       var targetCenter = _getRectCenter(targetBoundingBox);
@@ -14812,6 +15901,9 @@ module.exports = {
14812 15901           uniqueRects = uniqueRects.reduce(function(rects, inputRect) {
14813 15902             return rects.concat(splitRect(inputRect, overlapRect));
14814 15903           }, []);
   -1 15904           if (uniqueRects.length > 4e3) {
   -1 15905             throw new Error('splitRects: Too many rects');
   -1 15906           }
14815 15907         };
14816 15908         for (_iterator3.s(); !(_step3 = _iterator3.n()).done; ) {
14817 15909           _loop3();
@@ -15102,7 +16194,7 @@ module.exports = {
15102 16194         this.container = container;
15103 16195         this.cells = [];
15104 16196       }
15105    -1       _createClass(Grid, [ {
   -1 16197       return _createClass(Grid, [ {
15106 16198         key: 'toGridIndex',
15107 16199         value: function toGridIndex(num) {
15108 16200           return Math.floor(num / constants_default.gridSize);
@@ -15151,7 +16243,6 @@ module.exports = {
15151 16243           return new window.DOMRect(left, top, right - left, bottom - top);
15152 16244         }
15153 16245       } ]);
15154    -1       return Grid;
15155 16246     }();
15156 16247     function loopNegativeIndexMatrix(matrix, start, end, callback) {
15157 16248       var _matrix$_negativeInde;
@@ -15171,10 +16262,10 @@ module.exports = {
15171 16262       }
15172 16263     }
15173 16264     function _findNearbyElms(vNode) {
15174    -1       var _vNode$_grid2, _vNode$_grid2$cells;
   -1 16265       var _vNode$_grid2;
15175 16266       var margin = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
15176 16267       _createGrid();
15177    -1       if (!((_vNode$_grid2 = vNode._grid) !== null && _vNode$_grid2 !== void 0 && (_vNode$_grid2$cells = _vNode$_grid2.cells) !== null && _vNode$_grid2$cells !== void 0 && _vNode$_grid2$cells.length)) {
   -1 16268       if (!((_vNode$_grid2 = vNode._grid) !== null && _vNode$_grid2 !== void 0 && (_vNode$_grid2 = _vNode$_grid2.cells) !== null && _vNode$_grid2 !== void 0 && _vNode$_grid2.length)) {
15178 16269         return [];
15179 16270       }
15180 16271       var rect = vNode.boundingClientRect;
@@ -15593,7 +16684,7 @@ module.exports = {
15593 16684       return _splitRects(nodeRect, obscuringRects);
15594 16685     }
15595 16686     function isDescendantNotInTabOrder(vAncestor, vNode) {
15596    -1       return vAncestor.actualNode.contains(vNode.actualNode) && !_isInTabOrder(vNode);
   -1 16687       return _contains(vAncestor, vNode) && !_isInTabOrder(vNode);
15597 16688     }
15598 16689     var get_target_size_default = memoize_default(getTargetSize);
15599 16690     function getTargetSize(vNode, minSize) {
@@ -15963,12 +17054,12 @@ module.exports = {
15963 17054     var aria_attrs_default = ariaAttrs;
15964 17055     var ariaRoles = {
15965 17056       alert: {
15966    -1         type: 'widget',
   -1 17057         type: 'structure',
15967 17058         allowedAttrs: [ 'aria-expanded' ],
15968 17059         superclassRole: [ 'section' ]
15969 17060       },
15970 17061       alertdialog: {
15971    -1         type: 'widget',
   -1 17062         type: 'window',
15972 17063         allowedAttrs: [ 'aria-expanded', 'aria-modal' ],
15973 17064         superclassRole: [ 'alert', 'dialog' ],
15974 17065         accessibleNameRequired: true
@@ -16077,7 +17168,7 @@ module.exports = {
16077 17168         prohibitedAttrs: [ 'aria-label', 'aria-labelledby' ]
16078 17169       },
16079 17170       dialog: {
16080    -1         type: 'widget',
   -1 17171         type: 'window',
16081 17172         allowedAttrs: [ 'aria-expanded', 'aria-modal' ],
16082 17173         superclassRole: [ 'window' ],
16083 17174         accessibleNameRequired: true
@@ -16191,7 +17282,7 @@ module.exports = {
16191 17282         nameFromContent: true
16192 17283       },
16193 17284       log: {
16194    -1         type: 'widget',
   -1 17285         type: 'structure',
16195 17286         allowedAttrs: [ 'aria-expanded' ],
16196 17287         superclassRole: [ 'section' ]
16197 17288       },
@@ -16201,7 +17292,7 @@ module.exports = {
16201 17292         superclassRole: [ 'landmark' ]
16202 17293       },
16203 17294       marquee: {
16204    -1         type: 'widget',
   -1 17295         type: 'structure',
16205 17296         allowedAttrs: [ 'aria-expanded' ],
16206 17297         superclassRole: [ 'section' ]
16207 17298       },
@@ -16411,7 +17502,7 @@ module.exports = {
16411 17502         accessibleNameRequired: true
16412 17503       },
16413 17504       status: {
16414    -1         type: 'widget',
   -1 17505         type: 'structure',
16415 17506         allowedAttrs: [ 'aria-expanded' ],
16416 17507         superclassRole: [ 'section' ]
16417 17508       },
@@ -16499,7 +17590,7 @@ module.exports = {
16499 17590         superclassRole: [ 'section' ]
16500 17591       },
16501 17592       timer: {
16502    -1         type: 'widget',
   -1 17593         type: 'structure',
16503 17594         allowedAttrs: [ 'aria-expanded' ],
16504 17595         superclassRole: [ 'status' ]
16505 17596       },
@@ -16860,7 +17951,7 @@ module.exports = {
16860 17951       },
16861 17952       button: {
16862 17953         contentTypes: [ 'interactive', 'phrasing', 'flow' ],
16863    -1         allowedRoles: [ 'checkbox', 'combobox', 'link', 'menuitem', 'menuitemcheckbox', 'menuitemradio', 'option', 'radio', 'switch', 'tab' ],
   -1 17954         allowedRoles: [ 'checkbox', 'combobox', 'gridcell', 'link', 'menuitem', 'menuitemcheckbox', 'menuitemradio', 'option', 'radio', 'separator', 'slider', 'switch', 'tab', 'treeitem' ],
16864 17955         namingMethods: [ 'subtreeText' ]
16865 17956       },
16866 17957       canvas: {
@@ -17907,6 +18998,7 @@ module.exports = {
17907 18998       main: 'main',
17908 18999       math: 'math',
17909 19000       menu: 'list',
   -1 19001       meter: 'meter',
17910 19002       nav: 'navigation',
17911 19003       ol: 'list',
17912 19004       optgroup: 'group',
@@ -18582,7 +19674,7 @@ module.exports = {
18582 19674       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;
18583 19675     }
18584 19676     var emoji_regex_default = function emoji_regex_default() {
18585    -1       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\u26D3\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]|\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])?|[\uDFC3\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-\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]|\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(?:[\uDC08\uDC26](?:\u200D\u2B1B)?|[\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-\uDEB6](?:\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-\uDE44\uDE48-\uDE4A\uDE80-\uDEA2\uDEA4-\uDEB3\uDEB7-\uDEBF\uDEC1-\uDEC5\uDED0-\uDED2\uDED5-\uDED7\uDEDC-\uDEDF\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB\uDFF0]|\uDC15(?:\u200D\uD83E\uDDBA)?|\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-\uDDB3\uDDBC\uDDBD])|\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-\uDDB3\uDDBC\uDDBD]|\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-\uDDB3\uDDBC\uDDBD]|\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-\uDDB3\uDDBC\uDDBD]|\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-\uDDB3\uDDBC\uDDBD]|\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-\uDDB3\uDDBC\uDDBD]|\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-\uDDB3\uDDBC\uDDBD])|\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-\uDDB3\uDDBC\uDDBD]|\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-\uDDB3\uDDBC\uDDBD]|\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-\uDDB3\uDDBC\uDDBD]|\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-\uDDB3\uDDBC\uDDBD]|\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-\uDDB3\uDDBC\uDDBD]|\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?)?)|\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])?|\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-\uDDB3\uDDBC\uDDBD]|\uDD1D\u200D\uD83E\uDDD1))|\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-\uDDB3\uDDBC\uDDBD]|\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-\uDDB3\uDDBC\uDDBD]|\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-\uDDB3\uDDBC\uDDBD]|\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-\uDDB3\uDDBC\uDDBD]|\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-\uDDB3\uDDBC\uDDBD]|\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;
   -1 19677       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;
18586 19678     };
18587 19679     function hasUnicode(str, options) {
18588 19680       var emoji = options.emoji, nonBmp = options.nonBmp, punctuations = options.punctuations;
@@ -18771,22 +19863,28 @@ module.exports = {
18771 19863     }
18772 19864     var remove_unicode_default = removeUnicode;
18773 19865     function isHumanInterpretable(str) {
18774    -1       if (!str.length) {
18775    -1         return 0;
18776    -1       }
18777    -1       var alphaNumericIconMap = [ 'x', 'i' ];
18778    -1       if (alphaNumericIconMap.includes(str)) {
   -1 19866       if (isEmpty(str) || isNonDigitCharacter(str) || isSymbolicText(str) || isUnicodeOrPunctuation(str)) {
18779 19867         return 0;
18780 19868       }
   -1 19869       return 1;
   -1 19870     }
   -1 19871     function isEmpty(str) {
   -1 19872       return sanitize_default(str).length === 0;
   -1 19873     }
   -1 19874     function isNonDigitCharacter(str) {
   -1 19875       return str.length === 1 && str.match(/\D/);
   -1 19876     }
   -1 19877     function isSymbolicText(str) {
   -1 19878       var symbolicText = [ 'aa', 'abc' ];
   -1 19879       return symbolicText.includes(str.toLowerCase());
   -1 19880     }
   -1 19881     function isUnicodeOrPunctuation(str) {
18781 19882       var noUnicodeStr = remove_unicode_default(str, {
18782 19883         emoji: true,
18783 19884         nonBmp: true,
18784 19885         punctuations: true
18785 19886       });
18786    -1       if (!sanitize_default(noUnicodeStr)) {
18787    -1         return 0;
18788    -1       }
18789    -1       return 1;
   -1 19887       return !sanitize_default(noUnicodeStr);
18790 19888     }
18791 19889     var is_human_interpretable_default = isHumanInterpretable;
18792 19890     var _autocomplete = {
@@ -18983,7 +20081,7 @@ module.exports = {
18983 20081         }
18984 20082         clientRects.push.apply(clientRects, _toConsumableArray(filterHiddenRects(contentRects, overflowHiddenNodes)));
18985 20083       });
18986    -1       return clientRects.length ? clientRects : [ nodeRect ];
   -1 20084       return clientRects.length ? clientRects : filterHiddenRects([ nodeRect ], overflowHiddenNodes);
18987 20085     });
18988 20086     var get_visible_child_text_rects_default = getVisibleChildTextRects;
18989 20087     function getContentRects(node) {
@@ -19252,7 +20350,7 @@ module.exports = {
19252 20350       var stacks = points.map(function(point) {
19253 20351         return Array.from(document.elementsFromPoint(point.x, point.y));
19254 20352       });
19255    -1       var _loop4 = function _loop4(_i10) {
   -1 20353       var _loop4 = function _loop4() {
19256 20354         var modalElement = stacks[_i10].find(function(elm) {
19257 20355           var style = window.getComputedStyle(elm);
19258 20356           return parseInt(style.width, 10) >= percentWidth && parseInt(style.height, 10) >= percentHeight && style.getPropertyValue('pointer-events') !== 'none' && (style.position === 'absolute' || style.position === 'fixed');
@@ -19265,10 +20363,10 @@ module.exports = {
19265 20363             v: true
19266 20364           };
19267 20365         }
19268    -1       };
   -1 20366       }, _ret;
19269 20367       for (var _i10 = 0; _i10 < stacks.length; _i10++) {
19270    -1         var _ret = _loop4(_i10);
19271    -1         if (_typeof(_ret) === 'object') {
   -1 20368         _ret = _loop4();
   -1 20369         if (_ret) {
19272 20370           return _ret.v;
19273 20371         }
19274 20372       }
@@ -19352,6 +20450,9 @@ module.exports = {
19352 20450     var element_has_image_default = elementHasImage;
19353 20451     var imports_exports = {};
19354 20452     __export(imports_exports, {
   -1 20453       ArrayFrom: function ArrayFrom() {
   -1 20454         return import_from2['default'];
   -1 20455       },
19355 20456       Colorjs: function Colorjs() {
19356 20457         return Color;
19357 20458       },
@@ -19373,6 +20474,7 @@ module.exports = {
19373 20474     var import_weakmap_polyfill = __toModule(require_weakmap_polyfill());
19374 20475     var import_has_own = __toModule(require_has_own3());
19375 20476     var import_values = __toModule(require_values3());
   -1 20477     var import_from = __toModule(require_from4());
19376 20478     if (!('hasOwn' in Object)) {
19377 20479       Object.hasOwn = import_has_own['default'];
19378 20480     }
@@ -19515,61 +20617,7 @@ module.exports = {
19515 20617       });
19516 20618     }
19517 20619     if (!Array.from) {
19518    -1       Object.defineProperty(Array, 'from', {
19519    -1         value: function() {
19520    -1           var toStr = Object.prototype.toString;
19521    -1           var isCallable = function isCallable(fn) {
19522    -1             return typeof fn === 'function' || toStr.call(fn) === '[object Function]';
19523    -1           };
19524    -1           var toInteger = function toInteger(value) {
19525    -1             var number = Number(value);
19526    -1             if (isNaN(number)) {
19527    -1               return 0;
19528    -1             }
19529    -1             if (number === 0 || !isFinite(number)) {
19530    -1               return number;
19531    -1             }
19532    -1             return (number > 0 ? 1 : -1) * Math.floor(Math.abs(number));
19533    -1           };
19534    -1           var maxSafeInteger = Math.pow(2, 53) - 1;
19535    -1           var toLength = function toLength(value) {
19536    -1             var len = toInteger(value);
19537    -1             return Math.min(Math.max(len, 0), maxSafeInteger);
19538    -1           };
19539    -1           return function from(arrayLike) {
19540    -1             var C = this;
19541    -1             var items = Object(arrayLike);
19542    -1             if (arrayLike == null) {
19543    -1               throw new TypeError('Array.from requires an array-like object - not null or undefined');
19544    -1             }
19545    -1             var mapFn = arguments.length > 1 ? arguments[1] : void 0;
19546    -1             var T;
19547    -1             if (typeof mapFn !== 'undefined') {
19548    -1               if (!isCallable(mapFn)) {
19549    -1                 throw new TypeError('Array.from: when provided, the second argument must be a function');
19550    -1               }
19551    -1               if (arguments.length > 2) {
19552    -1                 T = arguments[2];
19553    -1               }
19554    -1             }
19555    -1             var len = toLength(items.length);
19556    -1             var A = isCallable(C) ? Object(new C(len)) : new Array(len);
19557    -1             var k = 0;
19558    -1             var kValue;
19559    -1             while (k < len) {
19560    -1               kValue = items[k];
19561    -1               if (mapFn) {
19562    -1                 A[k] = typeof T === 'undefined' ? mapFn(kValue, k) : mapFn.call(T, kValue, k);
19563    -1               } else {
19564    -1                 A[k] = kValue;
19565    -1               }
19566    -1               k += 1;
19567    -1             }
19568    -1             A.length = len;
19569    -1             return A;
19570    -1           };
19571    -1         }()
19572    -1       });
   -1 20620       Array.from = import_from['default'];
19573 20621     }
19574 20622     if (!String.prototype.includes) {
19575 20623       String.prototype.includes = function(search, start) {
@@ -19762,7 +20810,7 @@ module.exports = {
19762 20810       function Hooks() {
19763 20811         _classCallCheck(this, Hooks);
19764 20812       }
19765    -1       _createClass(Hooks, [ {
   -1 20813       return _createClass(Hooks, [ {
19766 20814         key: 'add',
19767 20815         value: function add(name, callback, first) {
19768 20816           if (typeof arguments[0] != 'string') {
@@ -19787,7 +20835,6 @@ module.exports = {
19787 20835           });
19788 20836         }
19789 20837       } ]);
19790    -1       return Hooks;
19791 20838     }();
19792 20839     var hooks = new Hooks();
19793 20840     var defaults = {
@@ -19837,17 +20884,12 @@ module.exports = {
19837 20884       }
19838 20885     }
19839 20886     var \u03b5$4 = 75e-6;
19840    -1     var _ColorSpace = (_processFormat = new WeakSet(), _path = new WeakMap(), _getPath = new WeakSet(), 
19841    -1     function() {
   -1 20887     var _ColorSpace = (_Class_brand = new WeakSet(), _path = new WeakMap(), function() {
19842 20888       function _ColorSpace(options) {
19843 20889         var _options$coords, _ref39, _options$white, _options$formats, _this$formats$functio, _this$formats, _this$formats2;
19844 20890         _classCallCheck(this, _ColorSpace);
19845    -1         _classPrivateMethodInitSpec(this, _getPath);
19846    -1         _classPrivateMethodInitSpec(this, _processFormat);
19847    -1         _classPrivateFieldInitSpec(this, _path, {
19848    -1           writable: true,
19849    -1           value: void 0
19850    -1         });
   -1 20891         _classPrivateMethodInitSpec(this, _Class_brand);
   -1 20892         _classPrivateFieldInitSpec(this, _path, void 0);
19851 20893         this.id = options.id;
19852 20894         this.name = options.name;
19853 20895         this.base = options.base ? _ColorSpace.get(options.base) : null;
@@ -19877,10 +20919,10 @@ module.exports = {
19877 20919           this.formats.color.id = this.id;
19878 20920         }
19879 20921         this.referred = options.referred;
19880    -1         _classPrivateFieldSet(this, _path, _classPrivateMethodGet(this, _getPath, _getPath2).call(this).reverse());
   -1 20922         _classPrivateFieldSet(_path, this, _assertClassBrand(_Class_brand, this, _getPath).call(this).reverse());
19881 20923         hooks.run('colorspace-init-end', this);
19882 20924       }
19883    -1       _createClass(_ColorSpace, [ {
   -1 20925       return _createClass(_ColorSpace, [ {
19884 20926         key: 'inGamut',
19885 20927         value: function inGamut(coords) {
19886 20928           var _ref40 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, _ref40$epsilon = _ref40.epsilon, epsilon = _ref40$epsilon === void 0 ? \u03b5$4 : _ref40$epsilon;
@@ -19906,8 +20948,8 @@ module.exports = {
19906 20948       }, {
19907 20949         key: 'cssId',
19908 20950         get: function get() {
19909    -1           var _this$formats$functio2, _this$formats$functio3;
19910    -1           return ((_this$formats$functio2 = this.formats.functions) === null || _this$formats$functio2 === void 0 ? void 0 : (_this$formats$functio3 = _this$formats$functio2.color) === null || _this$formats$functio3 === void 0 ? void 0 : _this$formats$functio3.id) || this.id;
   -1 20951           var _this$formats$functio2;
   -1 20952           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;
19911 20953         }
19912 20954       }, {
19913 20955         key: 'isPolar',
@@ -19923,7 +20965,7 @@ module.exports = {
19923 20965         key: 'getFormat',
19924 20966         value: function getFormat(format) {
19925 20967           if (_typeof(format) === 'object') {
19926    -1             format = _classPrivateMethodGet(this, _processFormat, _processFormat2).call(this, format);
   -1 20968             format = _assertClassBrand(_Class_brand, this, _processFormat).call(this, format);
19927 20969             return format;
19928 20970           }
19929 20971           var ret;
@@ -19933,7 +20975,7 @@ module.exports = {
19933 20975             ret = this.formats[format];
19934 20976           }
19935 20977           if (ret) {
19936    -1             ret = _classPrivateMethodGet(this, _processFormat, _processFormat2).call(this, ret);
   -1 20978             ret = _assertClassBrand(_Class_brand, this, _processFormat).call(this, ret);
19937 20979             return ret;
19938 20980           }
19939 20981           return null;
@@ -19953,8 +20995,8 @@ module.exports = {
19953 20995           coords = coords.map(function(c4) {
19954 20996             return Number.isNaN(c4) ? 0 : c4;
19955 20997           });
19956    -1           var myPath = _classPrivateFieldGet(this, _path);
19957    -1           var otherPath = _classPrivateFieldGet(space, _path);
   -1 20998           var myPath = _classPrivateFieldGet(_path, this);
   -1 20999           var otherPath = _classPrivateFieldGet(_path, space);
19958 21000           var connectionSpace, connectionSpaceIndex;
19959 21001           for (var _i12 = 0; _i12 < myPath.length; _i12++) {
19960 21002             if (myPath[_i12] === otherPath[_i12]) {
@@ -20116,9 +21158,8 @@ module.exports = {
20116 21158           throw new TypeError('No "'.concat(coord, '" coordinate found in ').concat(space.name, '. Its coordinates are: ').concat(Object.keys(space.coords).join(', ')));
20117 21159         }
20118 21160       } ]);
20119    -1       return _ColorSpace;
20120 21161     }());
20121    -1     function _processFormat2(format) {
   -1 21162     function _processFormat(format) {
20122 21163       if (format.coords && !format.coordGrammar) {
20123 21164         format.type || (format.type = 'function');
20124 21165         format.name || (format.name = 'color');
@@ -20156,7 +21197,7 @@ module.exports = {
20156 21197       }
20157 21198       return format;
20158 21199     }
20159    -1     function _getPath2() {
   -1 21200     function _getPath() {
20160 21201       var ret = [ this ];
20161 21202       for (var _space2 = this; _space2 = _space2.base; ) {
20162 21203         ret.push(_space2);
@@ -20192,8 +21233,6 @@ module.exports = {
20192 21233       aliases: [ 'xyz' ]
20193 21234     });
20194 21235     var RGBColorSpace = function(_ColorSpace2) {
20195    -1       _inherits(RGBColorSpace, _ColorSpace2);
20196    -1       var _super = _createSuper(RGBColorSpace);
20197 21236       function RGBColorSpace(options) {
20198 21237         var _options$referred;
20199 21238         var _this;
@@ -20232,8 +21271,9 @@ module.exports = {
20232 21271           };
20233 21272         }
20234 21273         (_options$referred = options.referred) !== null && _options$referred !== void 0 ? _options$referred : options.referred = 'display';
20235    -1         return _this = _super.call(this, options);
   -1 21274         return _this = _callSuper(this, RGBColorSpace, [ options ]);
20236 21275       }
   -1 21276       _inherits(RGBColorSpace, _ColorSpace2);
20237 21277       return _createClass(RGBColorSpace);
20238 21278     }(ColorSpace);
20239 21279     function parse2(str) {
@@ -20247,116 +21287,108 @@ module.exports = {
20247 21287       }
20248 21288       env.parsed = parseFunction(env.str);
20249 21289       if (env.parsed) {
20250    -1         var _ret2 = function() {
20251    -1           var name = env.parsed.name;
20252    -1           if (name === 'color') {
20253    -1             var id = env.parsed.args.shift();
20254    -1             var alpha = env.parsed.rawArgs.indexOf('/') > 0 ? env.parsed.args.pop() : 1;
20255    -1             var _iterator8 = _createForOfIteratorHelper(ColorSpace.all), _step8;
20256    -1             try {
20257    -1               for (_iterator8.s(); !(_step8 = _iterator8.n()).done; ) {
20258    -1                 var space = _step8.value;
20259    -1                 var colorSpec = space.getFormat('color');
20260    -1                 if (colorSpec) {
20261    -1                   var _colorSpec$ids;
20262    -1                   if (id === colorSpec.id || (_colorSpec$ids = colorSpec.ids) !== null && _colorSpec$ids !== void 0 && _colorSpec$ids.includes(id)) {
20263    -1                     var _ret3 = function() {
20264    -1                       var argCount = Object.keys(space.coords).length;
20265    -1                       var coords = Array(argCount).fill(0);
20266    -1                       coords.forEach(function(_, i) {
20267    -1                         return coords[i] = env.parsed.args[i] || 0;
20268    -1                       });
20269    -1                       return {
20270    -1                         v: {
20271    -1                           v: {
20272    -1                             spaceId: space.id,
20273    -1                             coords: coords,
20274    -1                             alpha: alpha
20275    -1                           }
20276    -1                         }
20277    -1                       };
20278    -1                     }();
20279    -1                     if (_typeof(_ret3) === 'object') {
20280    -1                       return _ret3.v;
   -1 21290         var name = env.parsed.name;
   -1 21291         if (name === 'color') {
   -1 21292           var id = env.parsed.args.shift();
   -1 21293           var alpha = env.parsed.rawArgs.indexOf('/') > 0 ? env.parsed.args.pop() : 1;
   -1 21294           var _iterator8 = _createForOfIteratorHelper(ColorSpace.all), _step8;
   -1 21295           try {
   -1 21296             var _loop5 = function _loop5() {
   -1 21297               var space = _step8.value;
   -1 21298               var colorSpec = space.getFormat('color');
   -1 21299               if (colorSpec) {
   -1 21300                 var _colorSpec$ids;
   -1 21301                 if (id === colorSpec.id || (_colorSpec$ids = colorSpec.ids) !== null && _colorSpec$ids !== void 0 && _colorSpec$ids.includes(id)) {
   -1 21302                   var argCount = Object.keys(space.coords).length;
   -1 21303                   var coords = Array(argCount).fill(0);
   -1 21304                   coords.forEach(function(_, i) {
   -1 21305                     return coords[i] = env.parsed.args[i] || 0;
   -1 21306                   });
   -1 21307                   return {
   -1 21308                     v: {
   -1 21309                       spaceId: space.id,
   -1 21310                       coords: coords,
   -1 21311                       alpha: alpha
20281 21312                     }
20282    -1                   }
   -1 21313                   };
20283 21314                 }
20284 21315               }
20285    -1             } catch (err) {
20286    -1               _iterator8.e(err);
20287    -1             } finally {
20288    -1               _iterator8.f();
20289    -1             }
20290    -1             var didYouMean = '';
20291    -1             if (id in ColorSpace.registry) {
20292    -1               var _ColorSpace$registry$, _ColorSpace$registry$2, _ColorSpace$registry$3;
20293    -1               var cssId = (_ColorSpace$registry$ = ColorSpace.registry[id].formats) === null || _ColorSpace$registry$ === void 0 ? void 0 : (_ColorSpace$registry$2 = _ColorSpace$registry$.functions) === null || _ColorSpace$registry$2 === void 0 ? void 0 : (_ColorSpace$registry$3 = _ColorSpace$registry$2.color) === null || _ColorSpace$registry$3 === void 0 ? void 0 : _ColorSpace$registry$3.id;
20294    -1               if (cssId) {
20295    -1                 didYouMean = 'Did you mean color('.concat(cssId, ')?');
   -1 21316             }, _ret2;
   -1 21317             for (_iterator8.s(); !(_step8 = _iterator8.n()).done; ) {
   -1 21318               _ret2 = _loop5();
   -1 21319               if (_ret2) {
   -1 21320                 return _ret2.v;
20296 21321               }
20297 21322             }
20298    -1             throw new TypeError('Cannot parse color('.concat(id, '). ') + (didYouMean || 'Missing a plugin?'));
20299    -1           } else {
20300    -1             var _iterator9 = _createForOfIteratorHelper(ColorSpace.all), _step9;
20301    -1             try {
20302    -1               var _loop5 = function _loop5() {
20303    -1                 var space = _step9.value;
20304    -1                 var format = space.getFormat(name);
20305    -1                 if (format && format.type === 'function') {
20306    -1                   var _alpha = 1;
20307    -1                   if (format.lastAlpha || last(env.parsed.args).alpha) {
20308    -1                     _alpha = env.parsed.args.pop();
20309    -1                   }
20310    -1                   var coords = env.parsed.args;
20311    -1                   if (format.coordGrammar) {
20312    -1                     Object.entries(space.coords).forEach(function(_ref44, i) {
20313    -1                       var _coords$i;
20314    -1                       var _ref45 = _slicedToArray(_ref44, 2), id = _ref45[0], coordMeta = _ref45[1];
20315    -1                       var coordGrammar2 = format.coordGrammar[i];
20316    -1                       var providedType = (_coords$i = coords[i]) === null || _coords$i === void 0 ? void 0 : _coords$i.type;
20317    -1                       coordGrammar2 = coordGrammar2.find(function(c4) {
20318    -1                         return c4 == providedType;
20319    -1                       });
20320    -1                       if (!coordGrammar2) {
20321    -1                         var coordName = coordMeta.name || id;
20322    -1                         throw new TypeError(''.concat(providedType, ' not allowed for ').concat(coordName, ' in ').concat(name, '()'));
20323    -1                       }
20324    -1                       var fromRange = coordGrammar2.range;
20325    -1                       if (providedType === '<percentage>') {
20326    -1                         fromRange || (fromRange = [ 0, 1 ]);
20327    -1                       }
20328    -1                       var toRange = coordMeta.range || coordMeta.refRange;
20329    -1                       if (fromRange && toRange) {
20330    -1                         coords[i] = mapRange(fromRange, toRange, coords[i]);
20331    -1                       }
   -1 21323           } catch (err) {
   -1 21324             _iterator8.e(err);
   -1 21325           } finally {
   -1 21326             _iterator8.f();
   -1 21327           }
   -1 21328           var didYouMean = '';
   -1 21329           if (id in ColorSpace.registry) {
   -1 21330             var _ColorSpace$registry$;
   -1 21331             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;
   -1 21332             if (cssId) {
   -1 21333               didYouMean = 'Did you mean color('.concat(cssId, ')?');
   -1 21334             }
   -1 21335           }
   -1 21336           throw new TypeError('Cannot parse color('.concat(id, '). ') + (didYouMean || 'Missing a plugin?'));
   -1 21337         } else {
   -1 21338           var _iterator9 = _createForOfIteratorHelper(ColorSpace.all), _step9;
   -1 21339           try {
   -1 21340             var _loop6 = function _loop6() {
   -1 21341               var space = _step9.value;
   -1 21342               var format = space.getFormat(name);
   -1 21343               if (format && format.type === 'function') {
   -1 21344                 var _alpha = 1;
   -1 21345                 if (format.lastAlpha || last(env.parsed.args).alpha) {
   -1 21346                   _alpha = env.parsed.args.pop();
   -1 21347                 }
   -1 21348                 var coords = env.parsed.args;
   -1 21349                 if (format.coordGrammar) {
   -1 21350                   Object.entries(space.coords).forEach(function(_ref44, i) {
   -1 21351                     var _coords$i;
   -1 21352                     var _ref45 = _slicedToArray(_ref44, 2), id = _ref45[0], coordMeta = _ref45[1];
   -1 21353                     var coordGrammar2 = format.coordGrammar[i];
   -1 21354                     var providedType = (_coords$i = coords[i]) === null || _coords$i === void 0 ? void 0 : _coords$i.type;
   -1 21355                     coordGrammar2 = coordGrammar2.find(function(c4) {
   -1 21356                       return c4 == providedType;
20332 21357                     });
20333    -1                   }
20334    -1                   return {
20335    -1                     v: {
20336    -1                       v: {
20337    -1                         spaceId: space.id,
20338    -1                         coords: coords,
20339    -1                         alpha: _alpha
20340    -1                       }
   -1 21358                     if (!coordGrammar2) {
   -1 21359                       var coordName = coordMeta.name || id;
   -1 21360                       throw new TypeError(''.concat(providedType, ' not allowed for ').concat(coordName, ' in ').concat(name, '()'));
20341 21361                     }
20342    -1                   };
20343    -1                 }
20344    -1               };
20345    -1               for (_iterator9.s(); !(_step9 = _iterator9.n()).done; ) {
20346    -1                 var _ret4 = _loop5();
20347    -1                 if (_typeof(_ret4) === 'object') {
20348    -1                   return _ret4.v;
   -1 21362                     var fromRange = coordGrammar2.range;
   -1 21363                     if (providedType === '<percentage>') {
   -1 21364                       fromRange || (fromRange = [ 0, 1 ]);
   -1 21365                     }
   -1 21366                     var toRange = coordMeta.range || coordMeta.refRange;
   -1 21367                     if (fromRange && toRange) {
   -1 21368                       coords[i] = mapRange(fromRange, toRange, coords[i]);
   -1 21369                     }
   -1 21370                   });
20349 21371                 }
   -1 21372                 return {
   -1 21373                   v: {
   -1 21374                     spaceId: space.id,
   -1 21375                     coords: coords,
   -1 21376                     alpha: _alpha
   -1 21377                   }
   -1 21378                 };
   -1 21379               }
   -1 21380             }, _ret3;
   -1 21381             for (_iterator9.s(); !(_step9 = _iterator9.n()).done; ) {
   -1 21382               _ret3 = _loop6();
   -1 21383               if (_ret3) {
   -1 21384                 return _ret3.v;
20350 21385               }
20351    -1             } catch (err) {
20352    -1               _iterator9.e(err);
20353    -1             } finally {
20354    -1               _iterator9.f();
20355 21386             }
   -1 21387           } catch (err) {
   -1 21388             _iterator9.e(err);
   -1 21389           } finally {
   -1 21390             _iterator9.f();
20356 21391           }
20357    -1         }();
20358    -1         if (_typeof(_ret2) === 'object') {
20359    -1           return _ret2.v;
20360 21392         }
20361 21393       } else {
20362 21394         var _iterator10 = _createForOfIteratorHelper(ColorSpace.all), _step10;
@@ -21149,8 +22181,8 @@ module.exports = {
21149 22181     });
21150 22182     defaults.display_space = sRGB;
21151 22183     if (typeof CSS !== 'undefined' && CSS.supports) {
21152    -1       for (var _i15 = 0, _arr3 = [ lab, REC2020, P3 ]; _i15 < _arr3.length; _i15++) {
21153    -1         var space = _arr3[_i15];
   -1 22184       for (var _i15 = 0, _arr2 = [ lab, REC2020, P3 ]; _i15 < _arr2.length; _i15++) {
   -1 22185         var space = _arr2[_i15];
21154 22186         var coords = space.getMinCoords();
21155 22187         var color = {
21156 22188           space: space,
@@ -22470,10 +23502,7 @@ module.exports = {
22470 23502       function Color() {
22471 23503         var _this2 = this;
22472 23504         _classCallCheck(this, Color);
22473    -1         _classPrivateFieldInitSpec(this, _space, {
22474    -1           writable: true,
22475    -1           value: void 0
22476    -1         });
   -1 23505         _classPrivateFieldInitSpec(this, _space, void 0);
22477 23506         var color;
22478 23507         for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {
22479 23508           args[_key3] = arguments[_key3];
@@ -22491,7 +23520,7 @@ module.exports = {
22491 23520           coords = args[1];
22492 23521           alpha = args[2];
22493 23522         }
22494    -1         _classPrivateFieldSet(this, _space, ColorSpace.get(space));
   -1 23523         _classPrivateFieldSet(_space, this, ColorSpace.get(space));
22495 23524         this.coords = coords ? coords.slice() : [ 0, 0, 0 ];
22496 23525         this.alpha = alpha < 1 ? alpha : 1;
22497 23526         for (var _i17 = 0; _i17 < this.coords.length; _i17++) {
@@ -22499,7 +23528,7 @@ module.exports = {
22499 23528             this.coords[_i17] = NaN;
22500 23529           }
22501 23530         }
22502    -1         var _loop6 = function _loop6(id) {
   -1 23531         var _loop7 = function _loop7(id) {
22503 23532           Object.defineProperty(_this2, id, {
22504 23533             get: function get() {
22505 23534               return _this2.get(id);
@@ -22509,19 +23538,19 @@ module.exports = {
22509 23538             }
22510 23539           });
22511 23540         };
22512    -1         for (var id in _classPrivateFieldGet(this, _space).coords) {
22513    -1           _loop6(id);
   -1 23541         for (var id in _classPrivateFieldGet(_space, this).coords) {
   -1 23542           _loop7(id);
22514 23543         }
22515 23544       }
22516    -1       _createClass(Color, [ {
   -1 23545       return _createClass(Color, [ {
22517 23546         key: 'space',
22518 23547         get: function get() {
22519    -1           return _classPrivateFieldGet(this, _space);
   -1 23548           return _classPrivateFieldGet(_space, this);
22520 23549         }
22521 23550       }, {
22522 23551         key: 'spaceId',
22523 23552         get: function get() {
22524    -1           return _classPrivateFieldGet(this, _space).id;
   -1 23553           return _classPrivateFieldGet(_space, this).id;
22525 23554         }
22526 23555       }, {
22527 23556         key: 'clone',
@@ -22612,7 +23641,6 @@ module.exports = {
22612 23641           }
22613 23642         }
22614 23643       } ]);
22615    -1       return Color;
22616 23644     }());
22617 23645     Color.defineFunctions({
22618 23646       get: get,
@@ -22645,7 +23673,7 @@ module.exports = {
22645 23673     hooks.add('colorspace-init-end', function(space) {
22646 23674       var _space$aliases;
22647 23675       addSpaceAccessors(space.id, space);
22648    -1       (_space$aliases = space.aliases) === null || _space$aliases === void 0 ? void 0 : _space$aliases.forEach(function(alias) {
   -1 23676       (_space$aliases = space.aliases) === null || _space$aliases === void 0 || _space$aliases.forEach(function(alias) {
22649 23677         addSpaceAccessors(alias, space);
22650 23678       });
22651 23679     });
@@ -22711,19 +23739,91 @@ module.exports = {
22711 23739     Color.extend(luminance);
22712 23740     Color.extend(interpolation);
22713 23741     Color.extend(contrastMethods);
   -1 23742     var import_from2 = __toModule(require_from4());
22714 23743     import_dot['default'].templateSettings.strip = false;
22715 23744     var hexRegex = /^#[0-9a-f]{3,8}$/i;
22716    -1     var hslRegex = /hsl\(\s*([\d.]+)(rad|turn)/;
22717    -1     var Color2 = function() {
   -1 23745     var hslRegex = /hsl\(\s*([-\d.]+)(rad|turn)/;
   -1 23746     var Color2 = (_r = new WeakMap(), _g = new WeakMap(), _b = new WeakMap(), _red = new WeakMap(), 
   -1 23747     _green = new WeakMap(), _blue = new WeakMap(), _Class3_brand = new WeakSet(), 
   -1 23748     function() {
22718 23749       function Color2(red, green, blue) {
22719 23750         var alpha = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 1;
22720 23751         _classCallCheck(this, Color2);
   -1 23752         _classPrivateMethodInitSpec(this, _Class3_brand);
   -1 23753         _classPrivateFieldInitSpec(this, _r, void 0);
   -1 23754         _classPrivateFieldInitSpec(this, _g, void 0);
   -1 23755         _classPrivateFieldInitSpec(this, _b, void 0);
   -1 23756         _classPrivateFieldInitSpec(this, _red, void 0);
   -1 23757         _classPrivateFieldInitSpec(this, _green, void 0);
   -1 23758         _classPrivateFieldInitSpec(this, _blue, void 0);
   -1 23759         if (red instanceof Color2) {
   -1 23760           var r = red.r, g2 = red.g, b2 = red.b;
   -1 23761           this.r = r;
   -1 23762           this.g = g2;
   -1 23763           this.b = b2;
   -1 23764           this.alpha = red.alpha;
   -1 23765           return;
   -1 23766         }
22721 23767         this.red = red;
22722 23768         this.green = green;
22723 23769         this.blue = blue;
22724 23770         this.alpha = alpha;
22725 23771       }
22726    -1       _createClass(Color2, [ {
   -1 23772       return _createClass(Color2, [ {
   -1 23773         key: 'r',
   -1 23774         get: function get() {
   -1 23775           return _classPrivateFieldGet(_r, this);
   -1 23776         },
   -1 23777         set: function set(value) {
   -1 23778           _classPrivateFieldSet(_r, this, value);
   -1 23779           _classPrivateFieldSet(_red, this, Math.round(clamp(value, 0, 1) * 255));
   -1 23780         }
   -1 23781       }, {
   -1 23782         key: 'g',
   -1 23783         get: function get() {
   -1 23784           return _classPrivateFieldGet(_g, this);
   -1 23785         },
   -1 23786         set: function set(value) {
   -1 23787           _classPrivateFieldSet(_g, this, value);
   -1 23788           _classPrivateFieldSet(_green, this, Math.round(clamp(value, 0, 1) * 255));
   -1 23789         }
   -1 23790       }, {
   -1 23791         key: 'b',
   -1 23792         get: function get() {
   -1 23793           return _classPrivateFieldGet(_b, this);
   -1 23794         },
   -1 23795         set: function set(value) {
   -1 23796           _classPrivateFieldSet(_b, this, value);
   -1 23797           _classPrivateFieldSet(_blue, this, Math.round(clamp(value, 0, 1) * 255));
   -1 23798         }
   -1 23799       }, {
   -1 23800         key: 'red',
   -1 23801         get: function get() {
   -1 23802           return _classPrivateFieldGet(_red, this);
   -1 23803         },
   -1 23804         set: function set(value) {
   -1 23805           _classPrivateFieldSet(_r, this, value / 255);
   -1 23806           _classPrivateFieldSet(_red, this, clamp(value, 0, 255));
   -1 23807         }
   -1 23808       }, {
   -1 23809         key: 'green',
   -1 23810         get: function get() {
   -1 23811           return _classPrivateFieldGet(_green, this);
   -1 23812         },
   -1 23813         set: function set(value) {
   -1 23814           _classPrivateFieldSet(_g, this, value / 255);
   -1 23815           _classPrivateFieldSet(_green, this, clamp(value, 0, 255));
   -1 23816         }
   -1 23817       }, {
   -1 23818         key: 'blue',
   -1 23819         get: function get() {
   -1 23820           return _classPrivateFieldGet(_blue, this);
   -1 23821         },
   -1 23822         set: function set(value) {
   -1 23823           _classPrivateFieldSet(_b, this, value / 255);
   -1 23824           _classPrivateFieldSet(_blue, this, clamp(value, 0, 255));
   -1 23825         }
   -1 23826       }, {
22727 23827         key: 'toHexString',
22728 23828         value: function toHexString() {
22729 23829           var redString = Math.round(this.red).toString(16);
@@ -22756,10 +23856,19 @@ module.exports = {
22756 23856             }
22757 23857           });
22758 23858           try {
   -1 23859             var prototypeArrayFrom;
   -1 23860             if ('Prototype' in window && 'Version' in window.Prototype) {
   -1 23861               prototypeArrayFrom = Array.from;
   -1 23862               Array.from = import_from2['default'];
   -1 23863             }
22759 23864             var _color2 = new Color(colorString).to('srgb');
22760    -1             this.red = Math.round(clamp(_color2.r, 0, 1) * 255);
22761    -1             this.green = Math.round(clamp(_color2.g, 0, 1) * 255);
22762    -1             this.blue = Math.round(clamp(_color2.b, 0, 1) * 255);
   -1 23865             if (prototypeArrayFrom) {
   -1 23866               Array.from = prototypeArrayFrom;
   -1 23867               prototypeArrayFrom = null;
   -1 23868             }
   -1 23869             this.r = _color2.r;
   -1 23870             this.g = _color2.g;
   -1 23871             this.b = _color2.b;
22763 23872             this.alpha = +_color2.alpha;
22764 23873           } catch (err2) {
22765 23874             throw new Error('Unable to parse color "'.concat(colorString, '"'));
@@ -22787,17 +23896,85 @@ module.exports = {
22787 23896       }, {
22788 23897         key: 'getRelativeLuminance',
22789 23898         value: function getRelativeLuminance() {
22790    -1           var rSRGB = this.red / 255;
22791    -1           var gSRGB = this.green / 255;
22792    -1           var bSRGB = this.blue / 255;
   -1 23899           var rSRGB = this.r, gSRGB = this.g, bSRGB = this.b;
22793 23900           var r = rSRGB <= .03928 ? rSRGB / 12.92 : Math.pow((rSRGB + .055) / 1.055, 2.4);
22794 23901           var g2 = gSRGB <= .03928 ? gSRGB / 12.92 : Math.pow((gSRGB + .055) / 1.055, 2.4);
22795 23902           var b2 = bSRGB <= .03928 ? bSRGB / 12.92 : Math.pow((bSRGB + .055) / 1.055, 2.4);
22796 23903           return .2126 * r + .7152 * g2 + .0722 * b2;
22797 23904         }
   -1 23905       }, {
   -1 23906         key: 'getLuminosity',
   -1 23907         value: function getLuminosity() {
   -1 23908           return .3 * this.r + .59 * this.g + .11 * this.b;
   -1 23909         }
   -1 23910       }, {
   -1 23911         key: 'setLuminosity',
   -1 23912         value: function setLuminosity(L) {
   -1 23913           var d2 = L - this.getLuminosity();
   -1 23914           return _assertClassBrand(_Class3_brand, this, _add).call(this, d2).clip();
   -1 23915         }
   -1 23916       }, {
   -1 23917         key: 'getSaturation',
   -1 23918         value: function getSaturation() {
   -1 23919           return Math.max(this.r, this.g, this.b) - Math.min(this.r, this.g, this.b);
   -1 23920         }
   -1 23921       }, {
   -1 23922         key: 'setSaturation',
   -1 23923         value: function setSaturation(s) {
   -1 23924           var C = new Color2(this);
   -1 23925           var colorEntires = [ {
   -1 23926             name: 'r',
   -1 23927             value: C.r
   -1 23928           }, {
   -1 23929             name: 'g',
   -1 23930             value: C.g
   -1 23931           }, {
   -1 23932             name: 'b',
   -1 23933             value: C.b
   -1 23934           } ];
   -1 23935           var _colorEntires$sort = colorEntires.sort(function(a2, b2) {
   -1 23936             return a2.value - b2.value;
   -1 23937           }), _colorEntires$sort2 = _slicedToArray(_colorEntires$sort, 3), Cmin = _colorEntires$sort2[0], Cmid = _colorEntires$sort2[1], Cmax = _colorEntires$sort2[2];
   -1 23938           if (Cmax.value > Cmin.value) {
   -1 23939             Cmid.value = (Cmid.value - Cmin.value) * s / (Cmax.value - Cmin.value);
   -1 23940             Cmax.value = s;
   -1 23941           } else {
   -1 23942             Cmid.value = Cmax.value = 0;
   -1 23943           }
   -1 23944           Cmin.value = 0;
   -1 23945           C[Cmax.name] = Cmax.value;
   -1 23946           C[Cmin.name] = Cmin.value;
   -1 23947           C[Cmid.name] = Cmid.value;
   -1 23948           return C;
   -1 23949         }
   -1 23950       }, {
   -1 23951         key: 'clip',
   -1 23952         value: function clip() {
   -1 23953           var C = new Color2(this);
   -1 23954           var L = C.getLuminosity();
   -1 23955           var n2 = Math.min(C.r, C.g, C.b);
   -1 23956           var x = Math.max(C.r, C.g, C.b);
   -1 23957           if (n2 < 0) {
   -1 23958             C.r = L + (C.r - L) * L / (L - n2);
   -1 23959             C.g = L + (C.g - L) * L / (L - n2);
   -1 23960             C.b = L + (C.b - L) * L / (L - n2);
   -1 23961           }
   -1 23962           if (x > 1) {
   -1 23963             C.r = L + (C.r - L) * (1 - L) / (x - L);
   -1 23964             C.g = L + (C.g - L) * (1 - L) / (x - L);
   -1 23965             C.b = L + (C.b - L) * (1 - L) / (x - L);
   -1 23966           }
   -1 23967           return C;
   -1 23968         }
22798 23969       } ]);
22799    -1       return Color2;
22800    -1     }();
   -1 23970     }());
   -1 23971     function _add(value) {
   -1 23972       var C = new Color2(this);
   -1 23973       C.r += value;
   -1 23974       C.g += value;
   -1 23975       C.b += value;
   -1 23976       return C;
   -1 23977     }
22801 23978     var color_default = Color2;
22802 23979     function clamp(value, min, max2) {
22803 23980       return Math.min(Math.max(min, value), max2);
@@ -23146,12 +24323,10 @@ module.exports = {
23146 24323     var visually_overlaps_default = visuallyOverlaps;
23147 24324     var nodeIndex2 = 0;
23148 24325     var VirtualNode = function(_abstract_virtual_nod) {
23149    -1       _inherits(VirtualNode, _abstract_virtual_nod);
23150    -1       var _super2 = _createSuper(VirtualNode);
23151 24326       function VirtualNode(node, parent, shadowId) {
23152 24327         var _this4;
23153 24328         _classCallCheck(this, VirtualNode);
23154    -1         _this4 = _super2.call(this);
   -1 24329         _this4 = _callSuper(this, VirtualNode);
23155 24330         _this4.shadowId = shadowId;
23156 24331         _this4.children = [];
23157 24332         _this4.actualNode = node;
@@ -23172,27 +24347,30 @@ module.exports = {
23172 24347           _this4._type = type2;
23173 24348         }
23174 24349         if (cache_default.get('nodeMap')) {
23175    -1           cache_default.get('nodeMap').set(node, _assertThisInitialized(_this4));
   -1 24350           cache_default.get('nodeMap').set(node, _this4);
23176 24351         }
23177 24352         return _this4;
23178 24353       }
23179    -1       _createClass(VirtualNode, [ {
   -1 24354       _inherits(VirtualNode, _abstract_virtual_nod);
   -1 24355       return _createClass(VirtualNode, [ {
23180 24356         key: 'props',
23181 24357         get: function get() {
23182 24358           if (!this._cache.hasOwnProperty('props')) {
23183    -1             var _this$actualNode = this.actualNode, nodeType = _this$actualNode.nodeType, nodeName2 = _this$actualNode.nodeName, _id = _this$actualNode.id, multiple = _this$actualNode.multiple, nodeValue = _this$actualNode.nodeValue, value = _this$actualNode.value, selected = _this$actualNode.selected, checked = _this$actualNode.checked, indeterminate = _this$actualNode.indeterminate;
   -1 24359             var _this$actualNode = this.actualNode, nodeType = _this$actualNode.nodeType, nodeName2 = _this$actualNode.nodeName, _id = _this$actualNode.id, nodeValue = _this$actualNode.nodeValue;
23184 24360             this._cache.props = {
23185 24361               nodeType: nodeType,
23186 24362               nodeName: this._isXHTML ? nodeName2 : nodeName2.toLowerCase(),
23187 24363               id: _id,
23188 24364               type: this._type,
23189    -1               multiple: multiple,
23190    -1               nodeValue: nodeValue,
23191    -1               value: value,
23192    -1               selected: selected,
23193    -1               checked: checked,
23194    -1               indeterminate: indeterminate
   -1 24365               nodeValue: nodeValue
23195 24366             };
   -1 24367             if (nodeType === 1) {
   -1 24368               this._cache.props.multiple = this.actualNode.multiple;
   -1 24369               this._cache.props.value = this.actualNode.value;
   -1 24370               this._cache.props.selected = this.actualNode.selected;
   -1 24371               this._cache.props.checked = this.actualNode.checked;
   -1 24372               this._cache.props.indeterminate = this.actualNode.indeterminate;
   -1 24373             }
23196 24374           }
23197 24375           return this._cache.props;
23198 24376         }
@@ -23275,7 +24453,6 @@ module.exports = {
23275 24453           return this._cache.boundingClientRect;
23276 24454         }
23277 24455       } ]);
23278    -1       return VirtualNode;
23279 24456     }(abstract_virtual_node_default);
23280 24457     var virtual_node_default = VirtualNode;
23281 24458     function tokenList(str) {
@@ -23300,7 +24477,7 @@ module.exports = {
23300 24477       expressions.forEach(function(expression) {
23301 24478         var _matchingNodes$nodes;
23302 24479         var matchingNodes = findMatchingNodes(expression, selectorMap, shadowId);
23303    -1         matchingNodes === null || matchingNodes === void 0 ? void 0 : (_matchingNodes$nodes = matchingNodes.nodes) === null || _matchingNodes$nodes === void 0 ? void 0 : _matchingNodes$nodes.forEach(function(node) {
   -1 24480         matchingNodes === null || matchingNodes === void 0 || (_matchingNodes$nodes = matchingNodes.nodes) === null || _matchingNodes$nodes === void 0 || _matchingNodes$nodes.forEach(function(node) {
23304 24481           if (matchingNodes.isComplexSelector && !_matchesExpression(node, expression)) {
23305 24482             return;
23306 24483           }
@@ -23706,10 +24883,10 @@ module.exports = {
23706 24883       if (!win.navigator || _typeof(win.navigator) !== 'object') {
23707 24884         return {};
23708 24885       }
23709    -1       var navigator = win.navigator, innerHeight = win.innerHeight, innerWidth = win.innerWidth;
   -1 24886       var navigator2 = win.navigator, innerHeight = win.innerHeight, innerWidth = win.innerWidth;
23710 24887       var _ref65 = getOrientation(win) || {}, angle = _ref65.angle, type2 = _ref65.type;
23711 24888       return {
23712    -1         userAgent: navigator.userAgent,
   -1 24889         userAgent: navigator2.userAgent,
23713 24890         windowWidth: innerWidth,
23714 24891         windowHeight: innerHeight,
23715 24892         orientationAngle: angle,
@@ -25022,17 +26199,16 @@ module.exports = {
25022 26199     }
25023 26200     var valid_langs_default = isValidLang;
25024 26201     var SerialVirtualNode = function(_abstract_virtual_nod2) {
25025    -1       _inherits(SerialVirtualNode, _abstract_virtual_nod2);
25026    -1       var _super3 = _createSuper(SerialVirtualNode);
25027 26202       function SerialVirtualNode(serialNode) {
25028 26203         var _this6;
25029 26204         _classCallCheck(this, SerialVirtualNode);
25030    -1         _this6 = _super3.call(this);
   -1 26205         _this6 = _callSuper(this, SerialVirtualNode);
25031 26206         _this6._props = normaliseProps(serialNode);
25032 26207         _this6._attrs = normaliseAttrs(serialNode);
25033 26208         return _this6;
25034 26209       }
25035    -1       _createClass(SerialVirtualNode, [ {
   -1 26210       _inherits(SerialVirtualNode, _abstract_virtual_nod2);
   -1 26211       return _createClass(SerialVirtualNode, [ {
25036 26212         key: 'props',
25037 26213         get: function get() {
25038 26214           return this._props;
@@ -25054,7 +26230,6 @@ module.exports = {
25054 26230           return Object.keys(this._attrs);
25055 26231         }
25056 26232       } ]);
25057    -1       return SerialVirtualNode;
25058 26233     }(abstract_virtual_node_default);
25059 26234     var nodeNamesToTypes = {
25060 26235       '#cdata-section': 2,
@@ -25272,290 +26447,691 @@ module.exports = {
25272 26447       });
25273 26448     }
25274 26449     var get_rules_default = getRules;
25275    -1     var aria_exports = {};
25276    -1     __export(aria_exports, {
25277    -1       allowedAttr: function allowedAttr() {
25278    -1         return allowed_attr_default;
25279    -1       },
25280    -1       arialabelText: function arialabelText() {
25281    -1         return _arialabelText;
25282    -1       },
25283    -1       arialabelledbyText: function arialabelledbyText() {
25284    -1         return arialabelledby_text_default;
25285    -1       },
25286    -1       getAccessibleRefs: function getAccessibleRefs() {
25287    -1         return get_accessible_refs_default;
25288    -1       },
25289    -1       getElementUnallowedRoles: function getElementUnallowedRoles() {
25290    -1         return get_element_unallowed_roles_default;
25291    -1       },
25292    -1       getExplicitRole: function getExplicitRole() {
25293    -1         return get_explicit_role_default;
25294    -1       },
25295    -1       getImplicitRole: function getImplicitRole() {
25296    -1         return implicit_role_default;
25297    -1       },
25298    -1       getOwnedVirtual: function getOwnedVirtual() {
25299    -1         return get_owned_virtual_default;
25300    -1       },
25301    -1       getRole: function getRole() {
25302    -1         return get_role_default;
25303    -1       },
25304    -1       getRoleType: function getRoleType() {
25305    -1         return get_role_type_default;
25306    -1       },
25307    -1       getRolesByType: function getRolesByType() {
25308    -1         return get_roles_by_type_default;
25309    -1       },
25310    -1       getRolesWithNameFromContents: function getRolesWithNameFromContents() {
25311    -1         return get_roles_with_name_from_contents_default;
25312    -1       },
25313    -1       implicitNodes: function implicitNodes() {
25314    -1         return implicit_nodes_default;
25315    -1       },
25316    -1       implicitRole: function implicitRole() {
25317    -1         return implicit_role_default;
25318    -1       },
25319    -1       isAccessibleRef: function isAccessibleRef() {
25320    -1         return is_accessible_ref_default;
25321    -1       },
25322    -1       isAriaRoleAllowedOnElement: function isAriaRoleAllowedOnElement() {
25323    -1         return is_aria_role_allowed_on_element_default;
25324    -1       },
25325    -1       isComboboxPopup: function isComboboxPopup() {
25326    -1         return _isComboboxPopup;
   -1 26450     function hiddenContentEvaluate(node, options, virtualNode) {
   -1 26451       var allowlist = [ 'SCRIPT', 'HEAD', 'TITLE', 'NOSCRIPT', 'STYLE', 'TEMPLATE' ];
   -1 26452       if (!allowlist.includes(node.nodeName.toUpperCase()) && has_content_virtual_default(virtualNode)) {
   -1 26453         var styles = window.getComputedStyle(node);
   -1 26454         if (styles.getPropertyValue('display') === 'none') {
   -1 26455           return void 0;
   -1 26456         } else if (styles.getPropertyValue('visibility') === 'hidden') {
   -1 26457           var parent = get_composed_parent_default(node);
   -1 26458           var parentStyle = parent && window.getComputedStyle(parent);
   -1 26459           if (!parentStyle || parentStyle.getPropertyValue('visibility') !== 'hidden') {
   -1 26460             return void 0;
   -1 26461           }
   -1 26462         }
   -1 26463       }
   -1 26464       return true;
   -1 26465     }
   -1 26466     var hidden_content_evaluate_default = hiddenContentEvaluate;
   -1 26467     var table_exports = {};
   -1 26468     __export(table_exports, {
   -1 26469       getAllCells: function getAllCells() {
   -1 26470         return get_all_cells_default;
25327 26471       },
25328    -1       isUnsupportedRole: function isUnsupportedRole() {
25329    -1         return is_unsupported_role_default;
   -1 26472       getCellPosition: function getCellPosition() {
   -1 26473         return get_cell_position_default;
25330 26474       },
25331    -1       isValidRole: function isValidRole() {
25332    -1         return is_valid_role_default;
   -1 26475       getHeaders: function getHeaders() {
   -1 26476         return get_headers_default;
25333 26477       },
25334    -1       label: function label() {
25335    -1         return label_default2;
   -1 26478       getScope: function getScope() {
   -1 26479         return _getScope;
25336 26480       },
25337    -1       labelVirtual: function labelVirtual() {
25338    -1         return label_virtual_default;
   -1 26481       isColumnHeader: function isColumnHeader() {
   -1 26482         return is_column_header_default;
25339 26483       },
25340    -1       lookupTable: function lookupTable() {
25341    -1         return lookup_table_default;
   -1 26484       isDataCell: function isDataCell() {
   -1 26485         return is_data_cell_default;
25342 26486       },
25343    -1       namedFromContents: function namedFromContents() {
25344    -1         return named_from_contents_default;
   -1 26487       isDataTable: function isDataTable() {
   -1 26488         return is_data_table_default;
25345 26489       },
25346    -1       requiredAttr: function requiredAttr() {
25347    -1         return required_attr_default;
   -1 26490       isHeader: function isHeader() {
   -1 26491         return is_header_default;
25348 26492       },
25349    -1       requiredContext: function requiredContext() {
25350    -1         return required_context_default;
   -1 26493       isRowHeader: function isRowHeader() {
   -1 26494         return is_row_header_default;
25351 26495       },
25352    -1       requiredOwned: function requiredOwned() {
25353    -1         return required_owned_default;
   -1 26496       toArray: function toArray() {
   -1 26497         return to_grid_default;
25354 26498       },
25355    -1       validateAttr: function validateAttr() {
25356    -1         return validate_attr_default;
   -1 26499       toGrid: function toGrid() {
   -1 26500         return to_grid_default;
25357 26501       },
25358    -1       validateAttrValue: function validateAttrValue() {
25359    -1         return validate_attr_value_default;
   -1 26502       traverse: function traverse() {
   -1 26503         return traverse_default;
25360 26504       }
25361 26505     });
25362    -1     function allowedAttr(role) {
25363    -1       var roleDef = standards_default.ariaRoles[role];
25364    -1       var attrs = _toConsumableArray(get_global_aria_attrs_default());
25365    -1       if (!roleDef) {
25366    -1         return attrs;
25367    -1       }
25368    -1       if (roleDef.allowedAttrs) {
25369    -1         attrs.push.apply(attrs, _toConsumableArray(roleDef.allowedAttrs));
25370    -1       }
25371    -1       if (roleDef.requiredAttrs) {
25372    -1         attrs.push.apply(attrs, _toConsumableArray(roleDef.requiredAttrs));
   -1 26506     function getAllCells(tableElm) {
   -1 26507       var rowIndex, cellIndex, rowLength, cellLength;
   -1 26508       var cells = [];
   -1 26509       for (rowIndex = 0, rowLength = tableElm.rows.length; rowIndex < rowLength; rowIndex++) {
   -1 26510         for (cellIndex = 0, cellLength = tableElm.rows[rowIndex].cells.length; cellIndex < cellLength; cellIndex++) {
   -1 26511           cells.push(tableElm.rows[rowIndex].cells[cellIndex]);
   -1 26512         }
25373 26513       }
25374    -1       return attrs;
   -1 26514       return cells;
25375 26515     }
25376    -1     var allowed_attr_default = allowedAttr;
25377    -1     var idRefsRegex = /^idrefs?$/;
25378    -1     function cacheIdRefs(node, idRefs, refAttrs) {
25379    -1       if (node.hasAttribute) {
25380    -1         if (node.nodeName.toUpperCase() === 'LABEL' && node.hasAttribute('for')) {
25381    -1           var _id2 = node.getAttribute('for');
25382    -1           if (!idRefs.has(_id2)) {
25383    -1             idRefs.set(_id2, [ node ]);
25384    -1           } else {
25385    -1             idRefs.get(_id2).push(node);
25386    -1           }
25387    -1         }
25388    -1         for (var _i28 = 0; _i28 < refAttrs.length; ++_i28) {
25389    -1           var attr = refAttrs[_i28];
25390    -1           var attrValue = sanitize_default(node.getAttribute(attr) || '');
25391    -1           if (!attrValue) {
   -1 26516     var get_all_cells_default = getAllCells;
   -1 26517     function traverseForHeaders(headerType, position, tableGrid) {
   -1 26518       var property = headerType === 'row' ? '_rowHeaders' : '_colHeaders';
   -1 26519       var predicate = headerType === 'row' ? is_row_header_default : is_column_header_default;
   -1 26520       var startCell = tableGrid[position.y][position.x];
   -1 26521       var colspan = startCell.colSpan - 1;
   -1 26522       var rowspanAttr = startCell.getAttribute('rowspan');
   -1 26523       var rowspanValue = parseInt(rowspanAttr) === 0 || startCell.rowspan === 0 ? tableGrid.length : startCell.rowSpan;
   -1 26524       var rowspan = rowspanValue - 1;
   -1 26525       var rowStart = position.y + rowspan;
   -1 26526       var colStart = position.x + colspan;
   -1 26527       var rowEnd = headerType === 'row' ? position.y : 0;
   -1 26528       var colEnd = headerType === 'row' ? 0 : position.x;
   -1 26529       var headers;
   -1 26530       var cells = [];
   -1 26531       for (var row = rowStart; row >= rowEnd && !headers; row--) {
   -1 26532         for (var col = colStart; col >= colEnd; col--) {
   -1 26533           var cell = tableGrid[row] ? tableGrid[row][col] : void 0;
   -1 26534           if (!cell) {
25392 26535             continue;
25393 26536           }
25394    -1           var _iterator14 = _createForOfIteratorHelper(token_list_default(attrValue)), _step14;
25395    -1           try {
25396    -1             for (_iterator14.s(); !(_step14 = _iterator14.n()).done; ) {
25397    -1               var token = _step14.value;
25398    -1               if (!idRefs.has(token)) {
25399    -1                 idRefs.set(token, [ node ]);
25400    -1               } else {
25401    -1                 idRefs.get(token).push(node);
25402    -1               }
25403    -1             }
25404    -1           } catch (err) {
25405    -1             _iterator14.e(err);
25406    -1           } finally {
25407    -1             _iterator14.f();
   -1 26537           var vNode = axe.utils.getNodeFromTree(cell);
   -1 26538           if (vNode[property]) {
   -1 26539             headers = vNode[property];
   -1 26540             break;
25408 26541           }
   -1 26542           cells.push(cell);
25409 26543         }
25410 26544       }
25411    -1       for (var _i29 = 0; _i29 < node.childNodes.length; _i29++) {
25412    -1         if (node.childNodes[_i29].nodeType === 1) {
25413    -1           cacheIdRefs(node.childNodes[_i29], idRefs, refAttrs);
   -1 26545       headers = (headers || []).concat(cells.filter(predicate));
   -1 26546       cells.forEach(function(tableCell) {
   -1 26547         var vNode = axe.utils.getNodeFromTree(tableCell);
   -1 26548         vNode[property] = headers;
   -1 26549       });
   -1 26550       return headers;
   -1 26551     }
   -1 26552     function getHeaders(cell, tableGrid) {
   -1 26553       if (cell.getAttribute('headers')) {
   -1 26554         var headers = idrefs_default(cell, 'headers');
   -1 26555         if (headers.filter(function(header) {
   -1 26556           return header;
   -1 26557         }).length) {
   -1 26558           return headers;
25414 26559         }
25415 26560       }
25416    -1     }
25417    -1     function getAccessibleRefs(node) {
25418    -1       var _idRefs$get;
25419    -1       node = node.actualNode || node;
25420    -1       var root = get_root_node_default2(node);
25421    -1       root = root.documentElement || root;
25422    -1       var idRefsByRoot = cache_default.get('idRefsByRoot', function() {
25423    -1         return new Map();
25424    -1       });
25425    -1       var idRefs = idRefsByRoot.get(root);
25426    -1       if (!idRefs) {
25427    -1         idRefs = new Map();
25428    -1         idRefsByRoot.set(root, idRefs);
25429    -1         var refAttrs = Object.keys(standards_default.ariaAttrs).filter(function(attr) {
25430    -1           var type2 = standards_default.ariaAttrs[attr].type;
25431    -1           return idRefsRegex.test(type2);
25432    -1         });
25433    -1         cacheIdRefs(root, idRefs, refAttrs);
   -1 26561       if (!tableGrid) {
   -1 26562         tableGrid = to_grid_default(find_up_default(cell, 'table'));
25434 26563       }
25435    -1       return (_idRefs$get = idRefs.get(node.id)) !== null && _idRefs$get !== void 0 ? _idRefs$get : [];
   -1 26564       var position = get_cell_position_default(cell, tableGrid);
   -1 26565       var rowHeaders = traverseForHeaders('row', position, tableGrid);
   -1 26566       var colHeaders = traverseForHeaders('col', position, tableGrid);
   -1 26567       return [].concat(rowHeaders, colHeaders).reverse();
25436 26568     }
25437    -1     var get_accessible_refs_default = getAccessibleRefs;
25438    -1     function isAriaRoleAllowedOnElement(node, role) {
25439    -1       var vNode = node instanceof abstract_virtual_node_default ? node : get_node_from_tree_default(node);
25440    -1       var implicitRole3 = implicit_role_default(vNode);
25441    -1       var spec = get_element_spec_default(vNode);
25442    -1       if (Array.isArray(spec.allowedRoles)) {
25443    -1         return spec.allowedRoles.includes(role);
25444    -1       }
25445    -1       if (role === implicitRole3) {
   -1 26569     var get_headers_default = getHeaders;
   -1 26570     function isDataCell(cell) {
   -1 26571       if (!cell.children.length && !cell.textContent.trim()) {
25446 26572         return false;
25447 26573       }
25448    -1       return !!spec.allowedRoles;
   -1 26574       var role = cell.getAttribute('role');
   -1 26575       if (is_valid_role_default(role)) {
   -1 26576         return [ 'cell', 'gridcell' ].includes(role);
   -1 26577       } else {
   -1 26578         return cell.nodeName.toUpperCase() === 'TD';
   -1 26579       }
25449 26580     }
25450    -1     var is_aria_role_allowed_on_element_default = isAriaRoleAllowedOnElement;
25451    -1     var dpubRoles2 = [ 'doc-backlink', 'doc-biblioentry', 'doc-biblioref', 'doc-cover', 'doc-endnote', 'doc-glossref', 'doc-noteref' ];
25452    -1     var landmarkRoles = {
25453    -1       header: 'banner',
25454    -1       footer: 'contentinfo'
25455    -1     };
25456    -1     function getRoleSegments(vNode) {
25457    -1       var roles = [];
25458    -1       if (!vNode) {
25459    -1         return roles;
   -1 26581     var is_data_cell_default = isDataCell;
   -1 26582     function isDataTable(node) {
   -1 26583       var role = (node.getAttribute('role') || '').toLowerCase();
   -1 26584       if ((role === 'presentation' || role === 'none') && !_isFocusable(node)) {
   -1 26585         return false;
25460 26586       }
25461    -1       if (vNode.hasAttr('role')) {
25462    -1         var nodeRoles = token_list_default(vNode.attr('role').toLowerCase());
25463    -1         roles = roles.concat(nodeRoles);
   -1 26587       if (node.getAttribute('contenteditable') === 'true' || find_up_default(node, '[contenteditable="true"]')) {
   -1 26588         return true;
25464 26589       }
25465    -1       return roles.filter(function(role) {
25466    -1         return is_valid_role_default(role);
25467    -1       });
25468    -1     }
25469    -1     function getElementUnallowedRoles(node) {
25470    -1       var allowImplicit = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
25471    -1       var _nodeLookup21 = _nodeLookup(node), vNode = _nodeLookup21.vNode;
25472    -1       if (!is_html_element_default(vNode)) {
25473    -1         return [];
   -1 26590       if (role === 'grid' || role === 'treegrid' || role === 'table') {
   -1 26591         return true;
25474 26592       }
25475    -1       var nodeName2 = vNode.props.nodeName;
25476    -1       var implicitRole3 = implicit_role_default(vNode) || landmarkRoles[nodeName2];
25477    -1       var roleSegments = getRoleSegments(vNode);
25478    -1       return roleSegments.filter(function(role) {
25479    -1         return !roleIsAllowed(role, vNode, allowImplicit, implicitRole3);
25480    -1       });
25481    -1     }
25482    -1     function roleIsAllowed(role, vNode, allowImplicit, implicitRole3) {
25483    -1       if (allowImplicit && role === implicitRole3) {
   -1 26593       if (get_role_type_default(role) === 'landmark') {
25484 26594         return true;
25485 26595       }
25486    -1       if (dpubRoles2.includes(role) && get_role_type_default(role) !== implicitRole3) {
   -1 26596       if (node.getAttribute('datatable') === '0') {
25487 26597         return false;
25488 26598       }
25489    -1       return is_aria_role_allowed_on_element_default(vNode, role);
25490    -1     }
25491    -1     var get_element_unallowed_roles_default = getElementUnallowedRoles;
25492    -1     function getAriaRolesByType(type2) {
25493    -1       return Object.keys(standards_default.ariaRoles).filter(function(roleName) {
25494    -1         return standards_default.ariaRoles[roleName].type === type2;
25495    -1       });
25496    -1     }
25497    -1     var get_aria_roles_by_type_default = getAriaRolesByType;
25498    -1     function getRolesByType(roleType) {
25499    -1       return get_aria_roles_by_type_default(roleType);
25500    -1     }
25501    -1     var get_roles_by_type_default = getRolesByType;
25502    -1     function getAriaRolesSupportingNameFromContent() {
25503    -1       return cache_default.get('ariaRolesNameFromContent', function() {
25504    -1         return Object.keys(standards_default.ariaRoles).filter(function(roleName) {
25505    -1           return standards_default.ariaRoles[roleName].nameFromContent;
25506    -1         });
25507    -1       });
25508    -1     }
25509    -1     var get_aria_roles_supporting_name_from_content_default = getAriaRolesSupportingNameFromContent;
25510    -1     function getRolesWithNameFromContents() {
25511    -1       return get_aria_roles_supporting_name_from_content_default();
25512    -1     }
25513    -1     var get_roles_with_name_from_contents_default = getRolesWithNameFromContents;
25514    -1     var isNull = function isNull(value) {
25515    -1       return value === null;
25516    -1     };
25517    -1     var isNotNull = function isNotNull(value) {
25518    -1       return value !== null;
25519    -1     };
25520    -1     var lookupTable = {};
25521    -1     lookupTable.attributes = {
25522    -1       'aria-activedescendant': {
25523    -1         type: 'idref',
25524    -1         allowEmpty: true,
25525    -1         unsupported: false
25526    -1       },
25527    -1       'aria-atomic': {
25528    -1         type: 'boolean',
25529    -1         values: [ 'true', 'false' ],
25530    -1         unsupported: false
25531    -1       },
25532    -1       'aria-autocomplete': {
25533    -1         type: 'nmtoken',
25534    -1         values: [ 'inline', 'list', 'both', 'none' ],
25535    -1         unsupported: false
25536    -1       },
25537    -1       'aria-busy': {
25538    -1         type: 'boolean',
25539    -1         values: [ 'true', 'false' ],
25540    -1         unsupported: false
25541    -1       },
25542    -1       'aria-checked': {
25543    -1         type: 'nmtoken',
25544    -1         values: [ 'true', 'false', 'mixed', 'undefined' ],
25545    -1         unsupported: false
25546    -1       },
25547    -1       'aria-colcount': {
25548    -1         type: 'int',
25549    -1         unsupported: false
25550    -1       },
25551    -1       'aria-colindex': {
25552    -1         type: 'int',
25553    -1         unsupported: false
25554    -1       },
25555    -1       'aria-colspan': {
25556    -1         type: 'int',
25557    -1         unsupported: false
25558    -1       },
   -1 26599       if (node.getAttribute('summary')) {
   -1 26600         return true;
   -1 26601       }
   -1 26602       if (node.tHead || node.tFoot || node.caption) {
   -1 26603         return true;
   -1 26604       }
   -1 26605       for (var childIndex = 0, childLength = node.children.length; childIndex < childLength; childIndex++) {
   -1 26606         if (node.children[childIndex].nodeName.toUpperCase() === 'COLGROUP') {
   -1 26607           return true;
   -1 26608         }
   -1 26609       }
   -1 26610       var cells = 0;
   -1 26611       var rowLength = node.rows.length;
   -1 26612       var row, cell;
   -1 26613       var hasBorder = false;
   -1 26614       for (var rowIndex = 0; rowIndex < rowLength; rowIndex++) {
   -1 26615         row = node.rows[rowIndex];
   -1 26616         for (var cellIndex = 0, cellLength = row.cells.length; cellIndex < cellLength; cellIndex++) {
   -1 26617           cell = row.cells[cellIndex];
   -1 26618           if (cell.nodeName.toUpperCase() === 'TH') {
   -1 26619             return true;
   -1 26620           }
   -1 26621           if (!hasBorder && (cell.offsetWidth !== cell.clientWidth || cell.offsetHeight !== cell.clientHeight)) {
   -1 26622             hasBorder = true;
   -1 26623           }
   -1 26624           if (cell.getAttribute('scope') || cell.getAttribute('headers') || cell.getAttribute('abbr')) {
   -1 26625             return true;
   -1 26626           }
   -1 26627           if ([ 'columnheader', 'rowheader' ].includes((cell.getAttribute('role') || '').toLowerCase())) {
   -1 26628             return true;
   -1 26629           }
   -1 26630           if (cell.children.length === 1 && cell.children[0].nodeName.toUpperCase() === 'ABBR') {
   -1 26631             return true;
   -1 26632           }
   -1 26633           cells++;
   -1 26634         }
   -1 26635       }
   -1 26636       if (node.getElementsByTagName('table').length) {
   -1 26637         return false;
   -1 26638       }
   -1 26639       if (rowLength < 2) {
   -1 26640         return false;
   -1 26641       }
   -1 26642       var sampleRow = node.rows[Math.ceil(rowLength / 2)];
   -1 26643       if (sampleRow.cells.length === 1 && sampleRow.cells[0].colSpan === 1) {
   -1 26644         return false;
   -1 26645       }
   -1 26646       if (sampleRow.cells.length >= 5) {
   -1 26647         return true;
   -1 26648       }
   -1 26649       if (hasBorder) {
   -1 26650         return true;
   -1 26651       }
   -1 26652       var bgColor, bgImage;
   -1 26653       for (rowIndex = 0; rowIndex < rowLength; rowIndex++) {
   -1 26654         row = node.rows[rowIndex];
   -1 26655         if (bgColor && bgColor !== window.getComputedStyle(row).getPropertyValue('background-color')) {
   -1 26656           return true;
   -1 26657         } else {
   -1 26658           bgColor = window.getComputedStyle(row).getPropertyValue('background-color');
   -1 26659         }
   -1 26660         if (bgImage && bgImage !== window.getComputedStyle(row).getPropertyValue('background-image')) {
   -1 26661           return true;
   -1 26662         } else {
   -1 26663           bgImage = window.getComputedStyle(row).getPropertyValue('background-image');
   -1 26664         }
   -1 26665       }
   -1 26666       if (rowLength >= 20) {
   -1 26667         return true;
   -1 26668       }
   -1 26669       if (get_element_coordinates_default(node).width > get_viewport_size_default(window).width * .95) {
   -1 26670         return false;
   -1 26671       }
   -1 26672       if (cells < 10) {
   -1 26673         return false;
   -1 26674       }
   -1 26675       if (node.querySelector('object, embed, iframe, applet')) {
   -1 26676         return false;
   -1 26677       }
   -1 26678       return true;
   -1 26679     }
   -1 26680     var is_data_table_default = isDataTable;
   -1 26681     function isHeader(cell) {
   -1 26682       if (is_column_header_default(cell) || is_row_header_default(cell)) {
   -1 26683         return true;
   -1 26684       }
   -1 26685       if (cell.getAttribute('id')) {
   -1 26686         var _id2 = escape_selector_default(cell.getAttribute('id'));
   -1 26687         return !!document.querySelector('[headers~="'.concat(_id2, '"]'));
   -1 26688       }
   -1 26689       return false;
   -1 26690     }
   -1 26691     var is_header_default = isHeader;
   -1 26692     function traverseTable(dir, position, tableGrid, callback) {
   -1 26693       var result;
   -1 26694       var cell = tableGrid[position.y] ? tableGrid[position.y][position.x] : void 0;
   -1 26695       if (!cell) {
   -1 26696         return [];
   -1 26697       }
   -1 26698       if (typeof callback === 'function') {
   -1 26699         result = callback(cell, position, tableGrid);
   -1 26700         if (result === true) {
   -1 26701           return [ cell ];
   -1 26702         }
   -1 26703       }
   -1 26704       result = traverseTable(dir, {
   -1 26705         x: position.x + dir.x,
   -1 26706         y: position.y + dir.y
   -1 26707       }, tableGrid, callback);
   -1 26708       result.unshift(cell);
   -1 26709       return result;
   -1 26710     }
   -1 26711     function traverse(dir, startPos, tableGrid, callback) {
   -1 26712       if (Array.isArray(startPos)) {
   -1 26713         callback = tableGrid;
   -1 26714         tableGrid = startPos;
   -1 26715         startPos = {
   -1 26716           x: 0,
   -1 26717           y: 0
   -1 26718         };
   -1 26719       }
   -1 26720       if (typeof dir === 'string') {
   -1 26721         switch (dir) {
   -1 26722          case 'left':
   -1 26723           dir = {
   -1 26724             x: -1,
   -1 26725             y: 0
   -1 26726           };
   -1 26727           break;
   -1 26728 
   -1 26729          case 'up':
   -1 26730           dir = {
   -1 26731             x: 0,
   -1 26732             y: -1
   -1 26733           };
   -1 26734           break;
   -1 26735 
   -1 26736          case 'right':
   -1 26737           dir = {
   -1 26738             x: 1,
   -1 26739             y: 0
   -1 26740           };
   -1 26741           break;
   -1 26742 
   -1 26743          case 'down':
   -1 26744           dir = {
   -1 26745             x: 0,
   -1 26746             y: 1
   -1 26747           };
   -1 26748           break;
   -1 26749         }
   -1 26750       }
   -1 26751       return traverseTable(dir, {
   -1 26752         x: startPos.x + dir.x,
   -1 26753         y: startPos.y + dir.y
   -1 26754       }, tableGrid, callback);
   -1 26755     }
   -1 26756     var traverse_default = traverse;
   -1 26757     function thHasDataCellsEvaluate(node) {
   -1 26758       var cells = get_all_cells_default(node);
   -1 26759       var checkResult = this;
   -1 26760       var reffedHeaders = [];
   -1 26761       cells.forEach(function(cell) {
   -1 26762         var headers2 = cell.getAttribute('headers');
   -1 26763         if (headers2) {
   -1 26764           reffedHeaders = reffedHeaders.concat(headers2.split(/\s+/));
   -1 26765         }
   -1 26766         var ariaLabel = cell.getAttribute('aria-labelledby');
   -1 26767         if (ariaLabel) {
   -1 26768           reffedHeaders = reffedHeaders.concat(ariaLabel.split(/\s+/));
   -1 26769         }
   -1 26770       });
   -1 26771       var headers = cells.filter(function(cell) {
   -1 26772         if (sanitize_default(cell.textContent) === '') {
   -1 26773           return false;
   -1 26774         }
   -1 26775         return cell.nodeName.toUpperCase() === 'TH' || [ 'rowheader', 'columnheader' ].indexOf(cell.getAttribute('role')) !== -1;
   -1 26776       });
   -1 26777       var tableGrid = to_grid_default(node);
   -1 26778       var out = true;
   -1 26779       headers.forEach(function(header) {
   -1 26780         if (header.getAttribute('id') && reffedHeaders.includes(header.getAttribute('id'))) {
   -1 26781           return;
   -1 26782         }
   -1 26783         var pos = get_cell_position_default(header, tableGrid);
   -1 26784         var hasCell = false;
   -1 26785         if (is_column_header_default(header)) {
   -1 26786           hasCell = traverse_default('down', pos, tableGrid).find(function(cell) {
   -1 26787             return !is_column_header_default(cell) && get_headers_default(cell, tableGrid).includes(header);
   -1 26788           });
   -1 26789         }
   -1 26790         if (!hasCell && is_row_header_default(header)) {
   -1 26791           hasCell = traverse_default('right', pos, tableGrid).find(function(cell) {
   -1 26792             return !is_row_header_default(cell) && get_headers_default(cell, tableGrid).includes(header);
   -1 26793           });
   -1 26794         }
   -1 26795         if (!hasCell) {
   -1 26796           checkResult.relatedNodes(header);
   -1 26797         }
   -1 26798         out = out && hasCell;
   -1 26799       });
   -1 26800       return out ? true : void 0;
   -1 26801     }
   -1 26802     var th_has_data_cells_evaluate_default = thHasDataCellsEvaluate;
   -1 26803     function tdHeadersAttrEvaluate(node) {
   -1 26804       var cells = [];
   -1 26805       var reviewCells = [];
   -1 26806       var badCells = [];
   -1 26807       for (var rowIndex = 0; rowIndex < node.rows.length; rowIndex++) {
   -1 26808         var row = node.rows[rowIndex];
   -1 26809         for (var cellIndex = 0; cellIndex < row.cells.length; cellIndex++) {
   -1 26810           cells.push(row.cells[cellIndex]);
   -1 26811         }
   -1 26812       }
   -1 26813       var ids = cells.filter(function(cell) {
   -1 26814         return cell.getAttribute('id');
   -1 26815       }).map(function(cell) {
   -1 26816         return cell.getAttribute('id');
   -1 26817       });
   -1 26818       cells.forEach(function(cell) {
   -1 26819         var isSelf = false;
   -1 26820         var notOfTable = false;
   -1 26821         if (!cell.hasAttribute('headers') || !_isVisibleToScreenReaders(cell)) {
   -1 26822           return;
   -1 26823         }
   -1 26824         var headersAttr = cell.getAttribute('headers').trim();
   -1 26825         if (!headersAttr) {
   -1 26826           return reviewCells.push(cell);
   -1 26827         }
   -1 26828         var headers = token_list_default(headersAttr);
   -1 26829         if (headers.length !== 0) {
   -1 26830           if (cell.getAttribute('id')) {
   -1 26831             isSelf = headers.indexOf(cell.getAttribute('id').trim()) !== -1;
   -1 26832           }
   -1 26833           notOfTable = headers.some(function(header) {
   -1 26834             return !ids.includes(header);
   -1 26835           });
   -1 26836           if (isSelf || notOfTable) {
   -1 26837             badCells.push(cell);
   -1 26838           }
   -1 26839         }
   -1 26840       });
   -1 26841       if (badCells.length > 0) {
   -1 26842         this.relatedNodes(badCells);
   -1 26843         return false;
   -1 26844       }
   -1 26845       if (reviewCells.length) {
   -1 26846         this.relatedNodes(reviewCells);
   -1 26847         return void 0;
   -1 26848       }
   -1 26849       return true;
   -1 26850     }
   -1 26851     var aria_exports = {};
   -1 26852     __export(aria_exports, {
   -1 26853       allowedAttr: function allowedAttr() {
   -1 26854         return allowed_attr_default;
   -1 26855       },
   -1 26856       arialabelText: function arialabelText() {
   -1 26857         return _arialabelText;
   -1 26858       },
   -1 26859       arialabelledbyText: function arialabelledbyText() {
   -1 26860         return arialabelledby_text_default;
   -1 26861       },
   -1 26862       getAccessibleRefs: function getAccessibleRefs() {
   -1 26863         return get_accessible_refs_default;
   -1 26864       },
   -1 26865       getElementUnallowedRoles: function getElementUnallowedRoles() {
   -1 26866         return get_element_unallowed_roles_default;
   -1 26867       },
   -1 26868       getExplicitRole: function getExplicitRole() {
   -1 26869         return get_explicit_role_default;
   -1 26870       },
   -1 26871       getImplicitRole: function getImplicitRole() {
   -1 26872         return implicit_role_default;
   -1 26873       },
   -1 26874       getOwnedVirtual: function getOwnedVirtual() {
   -1 26875         return get_owned_virtual_default;
   -1 26876       },
   -1 26877       getRole: function getRole() {
   -1 26878         return get_role_default;
   -1 26879       },
   -1 26880       getRoleType: function getRoleType() {
   -1 26881         return get_role_type_default;
   -1 26882       },
   -1 26883       getRolesByType: function getRolesByType() {
   -1 26884         return get_roles_by_type_default;
   -1 26885       },
   -1 26886       getRolesWithNameFromContents: function getRolesWithNameFromContents() {
   -1 26887         return get_roles_with_name_from_contents_default;
   -1 26888       },
   -1 26889       implicitNodes: function implicitNodes() {
   -1 26890         return implicit_nodes_default;
   -1 26891       },
   -1 26892       implicitRole: function implicitRole() {
   -1 26893         return implicit_role_default;
   -1 26894       },
   -1 26895       isAccessibleRef: function isAccessibleRef() {
   -1 26896         return is_accessible_ref_default;
   -1 26897       },
   -1 26898       isAriaRoleAllowedOnElement: function isAriaRoleAllowedOnElement() {
   -1 26899         return is_aria_role_allowed_on_element_default;
   -1 26900       },
   -1 26901       isComboboxPopup: function isComboboxPopup() {
   -1 26902         return _isComboboxPopup;
   -1 26903       },
   -1 26904       isUnsupportedRole: function isUnsupportedRole() {
   -1 26905         return is_unsupported_role_default;
   -1 26906       },
   -1 26907       isValidRole: function isValidRole() {
   -1 26908         return is_valid_role_default;
   -1 26909       },
   -1 26910       label: function label() {
   -1 26911         return label_default2;
   -1 26912       },
   -1 26913       labelVirtual: function labelVirtual() {
   -1 26914         return label_virtual_default;
   -1 26915       },
   -1 26916       lookupTable: function lookupTable() {
   -1 26917         return lookup_table_default;
   -1 26918       },
   -1 26919       namedFromContents: function namedFromContents() {
   -1 26920         return named_from_contents_default;
   -1 26921       },
   -1 26922       requiredAttr: function requiredAttr() {
   -1 26923         return required_attr_default;
   -1 26924       },
   -1 26925       requiredContext: function requiredContext() {
   -1 26926         return required_context_default;
   -1 26927       },
   -1 26928       requiredOwned: function requiredOwned() {
   -1 26929         return required_owned_default;
   -1 26930       },
   -1 26931       validateAttr: function validateAttr() {
   -1 26932         return validate_attr_default;
   -1 26933       },
   -1 26934       validateAttrValue: function validateAttrValue() {
   -1 26935         return validate_attr_value_default;
   -1 26936       }
   -1 26937     });
   -1 26938     function allowedAttr(role) {
   -1 26939       var roleDef = standards_default.ariaRoles[role];
   -1 26940       var attrs = _toConsumableArray(get_global_aria_attrs_default());
   -1 26941       if (!roleDef) {
   -1 26942         return attrs;
   -1 26943       }
   -1 26944       if (roleDef.allowedAttrs) {
   -1 26945         attrs.push.apply(attrs, _toConsumableArray(roleDef.allowedAttrs));
   -1 26946       }
   -1 26947       if (roleDef.requiredAttrs) {
   -1 26948         attrs.push.apply(attrs, _toConsumableArray(roleDef.requiredAttrs));
   -1 26949       }
   -1 26950       return attrs;
   -1 26951     }
   -1 26952     var allowed_attr_default = allowedAttr;
   -1 26953     var idRefsRegex = /^idrefs?$/;
   -1 26954     function cacheIdRefs(node, idRefs, refAttrs) {
   -1 26955       if (node.hasAttribute) {
   -1 26956         if (node.nodeName.toUpperCase() === 'LABEL' && node.hasAttribute('for')) {
   -1 26957           var _id3 = node.getAttribute('for');
   -1 26958           if (!idRefs.has(_id3)) {
   -1 26959             idRefs.set(_id3, [ node ]);
   -1 26960           } else {
   -1 26961             idRefs.get(_id3).push(node);
   -1 26962           }
   -1 26963         }
   -1 26964         for (var _i28 = 0; _i28 < refAttrs.length; ++_i28) {
   -1 26965           var attr = refAttrs[_i28];
   -1 26966           var attrValue = sanitize_default(node.getAttribute(attr) || '');
   -1 26967           if (!attrValue) {
   -1 26968             continue;
   -1 26969           }
   -1 26970           var _iterator14 = _createForOfIteratorHelper(token_list_default(attrValue)), _step14;
   -1 26971           try {
   -1 26972             for (_iterator14.s(); !(_step14 = _iterator14.n()).done; ) {
   -1 26973               var token = _step14.value;
   -1 26974               if (!idRefs.has(token)) {
   -1 26975                 idRefs.set(token, [ node ]);
   -1 26976               } else {
   -1 26977                 idRefs.get(token).push(node);
   -1 26978               }
   -1 26979             }
   -1 26980           } catch (err) {
   -1 26981             _iterator14.e(err);
   -1 26982           } finally {
   -1 26983             _iterator14.f();
   -1 26984           }
   -1 26985         }
   -1 26986       }
   -1 26987       for (var _i29 = 0; _i29 < node.childNodes.length; _i29++) {
   -1 26988         if (node.childNodes[_i29].nodeType === 1) {
   -1 26989           cacheIdRefs(node.childNodes[_i29], idRefs, refAttrs);
   -1 26990         }
   -1 26991       }
   -1 26992     }
   -1 26993     function getAccessibleRefs(node) {
   -1 26994       var _idRefs$get;
   -1 26995       node = node.actualNode || node;
   -1 26996       var root = get_root_node_default2(node);
   -1 26997       root = root.documentElement || root;
   -1 26998       var idRefsByRoot = cache_default.get('idRefsByRoot', function() {
   -1 26999         return new Map();
   -1 27000       });
   -1 27001       var idRefs = idRefsByRoot.get(root);
   -1 27002       if (!idRefs) {
   -1 27003         idRefs = new Map();
   -1 27004         idRefsByRoot.set(root, idRefs);
   -1 27005         var refAttrs = Object.keys(standards_default.ariaAttrs).filter(function(attr) {
   -1 27006           var type2 = standards_default.ariaAttrs[attr].type;
   -1 27007           return idRefsRegex.test(type2);
   -1 27008         });
   -1 27009         cacheIdRefs(root, idRefs, refAttrs);
   -1 27010       }
   -1 27011       return (_idRefs$get = idRefs.get(node.id)) !== null && _idRefs$get !== void 0 ? _idRefs$get : [];
   -1 27012     }
   -1 27013     var get_accessible_refs_default = getAccessibleRefs;
   -1 27014     function isAriaRoleAllowedOnElement(node, role) {
   -1 27015       var vNode = node instanceof abstract_virtual_node_default ? node : get_node_from_tree_default(node);
   -1 27016       var implicitRole3 = implicit_role_default(vNode);
   -1 27017       var spec = get_element_spec_default(vNode);
   -1 27018       if (Array.isArray(spec.allowedRoles)) {
   -1 27019         return spec.allowedRoles.includes(role);
   -1 27020       }
   -1 27021       if (role === implicitRole3) {
   -1 27022         return false;
   -1 27023       }
   -1 27024       return !!spec.allowedRoles;
   -1 27025     }
   -1 27026     var is_aria_role_allowed_on_element_default = isAriaRoleAllowedOnElement;
   -1 27027     var dpubRoles2 = [ 'doc-backlink', 'doc-biblioentry', 'doc-biblioref', 'doc-cover', 'doc-endnote', 'doc-glossref', 'doc-noteref' ];
   -1 27028     var landmarkRoles = {
   -1 27029       header: 'banner',
   -1 27030       footer: 'contentinfo'
   -1 27031     };
   -1 27032     function getRoleSegments(vNode) {
   -1 27033       var roles = [];
   -1 27034       if (!vNode) {
   -1 27035         return roles;
   -1 27036       }
   -1 27037       if (vNode.hasAttr('role')) {
   -1 27038         var nodeRoles = token_list_default(vNode.attr('role').toLowerCase());
   -1 27039         roles = roles.concat(nodeRoles);
   -1 27040       }
   -1 27041       return roles.filter(function(role) {
   -1 27042         return is_valid_role_default(role);
   -1 27043       });
   -1 27044     }
   -1 27045     function getElementUnallowedRoles(node) {
   -1 27046       var allowImplicit = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
   -1 27047       var _nodeLookup21 = _nodeLookup(node), vNode = _nodeLookup21.vNode;
   -1 27048       if (!is_html_element_default(vNode)) {
   -1 27049         return [];
   -1 27050       }
   -1 27051       var nodeName2 = vNode.props.nodeName;
   -1 27052       var implicitRole3 = implicit_role_default(vNode) || landmarkRoles[nodeName2];
   -1 27053       var roleSegments = getRoleSegments(vNode);
   -1 27054       return roleSegments.filter(function(role) {
   -1 27055         return !roleIsAllowed(role, vNode, allowImplicit, implicitRole3);
   -1 27056       });
   -1 27057     }
   -1 27058     function roleIsAllowed(role, vNode, allowImplicit, implicitRole3) {
   -1 27059       if (allowImplicit && role === implicitRole3) {
   -1 27060         return true;
   -1 27061       }
   -1 27062       if (dpubRoles2.includes(role) && get_role_type_default(role) !== implicitRole3) {
   -1 27063         return false;
   -1 27064       }
   -1 27065       return is_aria_role_allowed_on_element_default(vNode, role);
   -1 27066     }
   -1 27067     var get_element_unallowed_roles_default = getElementUnallowedRoles;
   -1 27068     function getAriaRolesByType(type2) {
   -1 27069       return Object.keys(standards_default.ariaRoles).filter(function(roleName) {
   -1 27070         return standards_default.ariaRoles[roleName].type === type2;
   -1 27071       });
   -1 27072     }
   -1 27073     var get_aria_roles_by_type_default = getAriaRolesByType;
   -1 27074     function getRolesByType(roleType) {
   -1 27075       return get_aria_roles_by_type_default(roleType);
   -1 27076     }
   -1 27077     var get_roles_by_type_default = getRolesByType;
   -1 27078     function getAriaRolesSupportingNameFromContent() {
   -1 27079       return cache_default.get('ariaRolesNameFromContent', function() {
   -1 27080         return Object.keys(standards_default.ariaRoles).filter(function(roleName) {
   -1 27081           return standards_default.ariaRoles[roleName].nameFromContent;
   -1 27082         });
   -1 27083       });
   -1 27084     }
   -1 27085     var get_aria_roles_supporting_name_from_content_default = getAriaRolesSupportingNameFromContent;
   -1 27086     function getRolesWithNameFromContents() {
   -1 27087       return get_aria_roles_supporting_name_from_content_default();
   -1 27088     }
   -1 27089     var get_roles_with_name_from_contents_default = getRolesWithNameFromContents;
   -1 27090     var isNull = function isNull(value) {
   -1 27091       return value === null;
   -1 27092     };
   -1 27093     var isNotNull = function isNotNull(value) {
   -1 27094       return value !== null;
   -1 27095     };
   -1 27096     var lookupTable = {};
   -1 27097     lookupTable.attributes = {
   -1 27098       'aria-activedescendant': {
   -1 27099         type: 'idref',
   -1 27100         allowEmpty: true,
   -1 27101         unsupported: false
   -1 27102       },
   -1 27103       'aria-atomic': {
   -1 27104         type: 'boolean',
   -1 27105         values: [ 'true', 'false' ],
   -1 27106         unsupported: false
   -1 27107       },
   -1 27108       'aria-autocomplete': {
   -1 27109         type: 'nmtoken',
   -1 27110         values: [ 'inline', 'list', 'both', 'none' ],
   -1 27111         unsupported: false
   -1 27112       },
   -1 27113       'aria-busy': {
   -1 27114         type: 'boolean',
   -1 27115         values: [ 'true', 'false' ],
   -1 27116         unsupported: false
   -1 27117       },
   -1 27118       'aria-checked': {
   -1 27119         type: 'nmtoken',
   -1 27120         values: [ 'true', 'false', 'mixed', 'undefined' ],
   -1 27121         unsupported: false
   -1 27122       },
   -1 27123       'aria-colcount': {
   -1 27124         type: 'int',
   -1 27125         unsupported: false
   -1 27126       },
   -1 27127       'aria-colindex': {
   -1 27128         type: 'int',
   -1 27129         unsupported: false
   -1 27130       },
   -1 27131       'aria-colspan': {
   -1 27132         type: 'int',
   -1 27133         unsupported: false
   -1 27134       },
25559 27135       'aria-controls': {
25560 27136         type: 'idrefs',
25561 27137         allowEmpty: true,
@@ -27493,243 +29069,96 @@ module.exports = {
27493 29069       return !!attrDefinition;
27494 29070     }
27495 29071     var validate_attr_default = validateAttr;
27496    -1     function abstractroleEvaluate(node, options, virtualNode) {
27497    -1       var abstractRoles = token_list_default(virtualNode.attr('role')).filter(function(role) {
27498    -1         return get_role_type_default(role) === 'abstract';
27499    -1       });
27500    -1       if (abstractRoles.length > 0) {
27501    -1         this.data(abstractRoles);
27502    -1         return true;
27503    -1       }
27504    -1       return false;
27505    -1     }
27506    -1     var abstractrole_evaluate_default = abstractroleEvaluate;
27507    -1     function ariaAllowedAttrEvaluate(node, options, virtualNode) {
27508    -1       var invalid = [];
27509    -1       var role = get_role_default(virtualNode);
27510    -1       var allowed = allowed_attr_default(role);
27511    -1       if (Array.isArray(options[role])) {
27512    -1         allowed = unique_array_default(options[role].concat(allowed));
27513    -1       }
27514    -1       var _iterator15 = _createForOfIteratorHelper(virtualNode.attrNames), _step15;
27515    -1       try {
27516    -1         for (_iterator15.s(); !(_step15 = _iterator15.n()).done; ) {
27517    -1           var attrName = _step15.value;
27518    -1           if (validate_attr_default(attrName) && !allowed.includes(attrName)) {
27519    -1             invalid.push(attrName);
   -1 29072     function tdHasHeaderEvaluate(node) {
   -1 29073       var badCells = [];
   -1 29074       var cells = get_all_cells_default(node);
   -1 29075       var tableGrid = to_grid_default(node);
   -1 29076       cells.forEach(function(cell) {
   -1 29077         if (has_content_default(cell) && is_data_cell_default(cell) && !label_default2(cell)) {
   -1 29078           var hasHeaders = get_headers_default(cell, tableGrid).some(function(header) {
   -1 29079             return header !== null && !!has_content_default(header);
   -1 29080           });
   -1 29081           if (!hasHeaders) {
   -1 29082             badCells.push(cell);
27520 29083           }
27521 29084         }
27522    -1       } catch (err) {
27523    -1         _iterator15.e(err);
27524    -1       } finally {
27525    -1         _iterator15.f();
27526    -1       }
27527    -1       if (!invalid.length) {
27528    -1         return true;
27529    -1       }
27530    -1       this.data(invalid.map(function(attrName) {
27531    -1         return attrName + '="' + virtualNode.attr(attrName) + '"';
27532    -1       }));
27533    -1       if (!role && !is_html_element_default(virtualNode) && !_isFocusable(virtualNode)) {
27534    -1         return void 0;
27535    -1       }
27536    -1       return false;
27537    -1     }
27538    -1     function ariaAllowedRoleEvaluate(node) {
27539    -1       var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
27540    -1       var virtualNode = arguments.length > 2 ? arguments[2] : undefined;
27541    -1       var _options$allowImplici = options.allowImplicit, allowImplicit = _options$allowImplici === void 0 ? true : _options$allowImplici, _options$ignoredTags = options.ignoredTags, ignoredTags = _options$ignoredTags === void 0 ? [] : _options$ignoredTags;
27542    -1       var nodeName2 = virtualNode.props.nodeName;
27543    -1       if (ignoredTags.map(function(tag) {
27544    -1         return tag.toLowerCase();
27545    -1       }).includes(nodeName2)) {
27546    -1         return true;
27547    -1       }
27548    -1       var unallowedRoles = get_element_unallowed_roles_default(virtualNode, allowImplicit);
27549    -1       if (unallowedRoles.length) {
27550    -1         this.data(unallowedRoles);
27551    -1         if (!_isVisibleToScreenReaders(virtualNode)) {
27552    -1           return void 0;
27553    -1         }
   -1 29085       });
   -1 29086       if (badCells.length) {
   -1 29087         this.relatedNodes(badCells);
27554 29088         return false;
27555 29089       }
27556 29090       return true;
27557 29091     }
27558    -1     var aria_allowed_role_evaluate_default = ariaAllowedRoleEvaluate;
27559    -1     function ariaBusyEvaluate(node, options, virtualNode) {
27560    -1       return virtualNode.attr('aria-busy') === 'true';
27561    -1     }
27562    -1     function ariaConditionalCheckboxAttr(node, options, virtualNode) {
27563    -1       var _virtualNode$props = virtualNode.props, nodeName2 = _virtualNode$props.nodeName, type2 = _virtualNode$props.type;
27564    -1       var ariaChecked = normalizeAriaChecked(virtualNode.attr('aria-checked'));
27565    -1       if (nodeName2 !== 'input' || type2 !== 'checkbox' || !ariaChecked) {
27566    -1         return true;
27567    -1       }
27568    -1       var checkState = getCheckState(virtualNode);
27569    -1       if (ariaChecked === checkState) {
27570    -1         return true;
27571    -1       }
27572    -1       this.data({
27573    -1         messageKey: 'checkbox',
27574    -1         checkState: checkState
27575    -1       });
27576    -1       return false;
27577    -1     }
27578    -1     function getCheckState(vNode) {
27579    -1       if (vNode.props.indeterminate) {
27580    -1         return 'mixed';
27581    -1       }
27582    -1       return vNode.props.checked ? 'true' : 'false';
27583    -1     }
27584    -1     function normalizeAriaChecked(ariaCheckedVal) {
27585    -1       if (!ariaCheckedVal) {
27586    -1         return '';
27587    -1       }
27588    -1       ariaCheckedVal = ariaCheckedVal.toLowerCase();
27589    -1       if ([ 'mixed', 'true' ].includes(ariaCheckedVal)) {
27590    -1         return ariaCheckedVal;
27591    -1       }
27592    -1       return 'false';
   -1 29092     var td_has_header_evaluate_default = tdHasHeaderEvaluate;
   -1 29093     function scopeValueEvaluate(node, options) {
   -1 29094       var value = node.getAttribute('scope').toLowerCase();
   -1 29095       return options.values.indexOf(value) !== -1;
27593 29096     }
27594    -1     function ariaConditionalRowAttr(node) {
27595    -1       var _invalidTableRowAttrs, _invalidTableRowAttrs2;
27596    -1       var _ref95 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, invalidTableRowAttrs = _ref95.invalidTableRowAttrs;
27597    -1       var virtualNode = arguments.length > 2 ? arguments[2] : undefined;
27598    -1       var invalidAttrs = (_invalidTableRowAttrs = invalidTableRowAttrs === null || invalidTableRowAttrs === void 0 ? void 0 : (_invalidTableRowAttrs2 = invalidTableRowAttrs.filter) === null || _invalidTableRowAttrs2 === void 0 ? void 0 : _invalidTableRowAttrs2.call(invalidTableRowAttrs, function(invalidAttr) {
27599    -1         return virtualNode.hasAttr(invalidAttr);
27600    -1       })) !== null && _invalidTableRowAttrs !== void 0 ? _invalidTableRowAttrs : [];
27601    -1       if (invalidAttrs.length === 0) {
27602    -1         return true;
   -1 29097     var scope_value_evaluate_default = scopeValueEvaluate;
   -1 29098     var same_caption_summary_evaluate_default = sameCaptionSummaryEvaluate;
   -1 29099     function sameCaptionSummaryEvaluate(node, options, virtualNode) {
   -1 29100       if (virtualNode.children === void 0) {
   -1 29101         return void 0;
27603 29102       }
27604    -1       var owner = getRowOwner(virtualNode);
27605    -1       var ownerRole = owner && get_role_default(owner);
27606    -1       if (!ownerRole || ownerRole === 'treegrid') {
27607    -1         return true;
   -1 29103       var summary = virtualNode.attr('summary');
   -1 29104       var captionNode = virtualNode.children.find(isCaptionNode);
   -1 29105       var caption = captionNode ? sanitize_default(subtree_text_default(captionNode)) : false;
   -1 29106       if (!caption || !summary) {
   -1 29107         return false;
27608 29108       }
27609    -1       var messageKey = 'row'.concat(invalidAttrs.length > 1 ? 'Plural' : 'Singular');
27610    -1       this.data({
27611    -1         messageKey: messageKey,
27612    -1         invalidAttrs: invalidAttrs,
27613    -1         ownerRole: ownerRole
27614    -1       });
27615    -1       return false;
   -1 29109       return sanitize_default(summary).toLowerCase() === sanitize_default(caption).toLowerCase();
27616 29110     }
27617    -1     function getRowOwner(virtualNode) {
27618    -1       if (!virtualNode.parent) {
27619    -1         return;
27620    -1       }
27621    -1       var rowOwnerQuery = 'table:not([role]), [role~="treegrid"], [role~="table"], [role~="grid"]';
27622    -1       return closest_default(virtualNode, rowOwnerQuery);
   -1 29111     function isCaptionNode(virtualNode) {
   -1 29112       return virtualNode.props.nodeName === 'caption';
27623 29113     }
27624    -1     var conditionalRoleMap = {
27625    -1       row: ariaConditionalRowAttr,
27626    -1       checkbox: ariaConditionalCheckboxAttr
27627    -1     };
27628    -1     function ariaConditionalAttrEvaluate(node, options, virtualNode) {
27629    -1       var role = get_role_default(virtualNode);
27630    -1       if (!conditionalRoleMap[role]) {
   -1 29114     function html5ScopeEvaluate(node) {
   -1 29115       if (!is_html5_default(document)) {
27631 29116         return true;
27632 29117       }
27633    -1       return conditionalRoleMap[role].call(this, node, options, virtualNode);
   -1 29118       return node.nodeName.toUpperCase() === 'TH';
27634 29119     }
27635    -1     function ariaErrormessageEvaluate(node, options, virtualNode) {
27636    -1       options = Array.isArray(options) ? options : [];
27637    -1       var errorMessageAttr = virtualNode.attr('aria-errormessage');
27638    -1       var hasAttr = virtualNode.hasAttr('aria-errormessage');
27639    -1       var invaid = virtualNode.attr('aria-invalid');
27640    -1       var hasInvallid = virtualNode.hasAttr('aria-invalid');
27641    -1       if (!hasInvallid || invaid === 'false') {
   -1 29120     var html5_scope_evaluate_default = html5ScopeEvaluate;
   -1 29121     function captionFakedEvaluate(node) {
   -1 29122       var table = to_grid_default(node);
   -1 29123       var firstRow = table[0];
   -1 29124       if (table.length <= 1 || firstRow.length <= 1 || node.rows.length <= 1) {
27642 29125         return true;
27643 29126       }
27644    -1       function validateAttrValue2(attr) {
27645    -1         if (attr.trim() === '') {
27646    -1           return standards_default.ariaAttrs['aria-errormessage'].allowEmpty;
27647    -1         }
27648    -1         var idref;
27649    -1         try {
27650    -1           idref = attr && idrefs_default(virtualNode, 'aria-errormessage')[0];
27651    -1         } catch (e) {
27652    -1           this.data({
27653    -1             messageKey: 'idrefs',
27654    -1             values: token_list_default(attr)
27655    -1           });
27656    -1           return void 0;
27657    -1         }
27658    -1         if (idref) {
27659    -1           if (!_isVisibleToScreenReaders(idref)) {
27660    -1             this.data({
27661    -1               messageKey: 'hidden',
27662    -1               values: token_list_default(attr)
27663    -1             });
27664    -1             return false;
27665    -1           }
27666    -1           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;
27667    -1         }
27668    -1         return;
27669    -1       }
27670    -1       if (options.indexOf(errorMessageAttr) === -1 && hasAttr) {
27671    -1         this.data(token_list_default(errorMessageAttr));
27672    -1         return validateAttrValue2.call(this, errorMessageAttr);
27673    -1       }
27674    -1       return true;
27675    -1     }
27676    -1     function ariaHiddenBodyEvaluate(node, options, virtualNode) {
27677    -1       return virtualNode.attr('aria-hidden') !== 'true';
   -1 29127       return firstRow.reduce(function(out, curr, i) {
   -1 29128         return out || curr !== firstRow[i + 1] && firstRow[i + 1] !== void 0;
   -1 29129       }, false);
27678 29130     }
27679    -1     var aria_hidden_body_evaluate_default = ariaHiddenBodyEvaluate;
27680    -1     function ariaLevelEvaluate(node, options, virtualNode) {
27681    -1       var ariaHeadingLevel = virtualNode.attr('aria-level');
27682    -1       var ariaLevel = parseInt(ariaHeadingLevel, 10);
27683    -1       if (ariaLevel > 6) {
   -1 29131     var caption_faked_evaluate_default = captionFakedEvaluate;
   -1 29132     function svgNonEmptyTitleEvaluate(node, options, virtualNode) {
   -1 29133       if (!virtualNode.children) {
27684 29134         return void 0;
27685 29135       }
27686    -1       return true;
27687    -1     }
27688    -1     var aria_level_evaluate_default = ariaLevelEvaluate;
27689    -1     function ariaProhibitedAttrEvaluate(node) {
27690    -1       var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
27691    -1       var virtualNode = arguments.length > 2 ? arguments[2] : undefined;
27692    -1       var elementsAllowedAriaLabel = (options === null || options === void 0 ? void 0 : options.elementsAllowedAriaLabel) || [];
27693    -1       var nodeName2 = virtualNode.props.nodeName;
27694    -1       var role = get_role_default(virtualNode, {
27695    -1         chromium: true
27696    -1       });
27697    -1       var prohibitedList = listProhibitedAttrs(role, nodeName2, elementsAllowedAriaLabel);
27698    -1       var prohibited = prohibitedList.filter(function(attrName) {
27699    -1         if (!virtualNode.attrNames.includes(attrName)) {
27700    -1           return false;
27701    -1         }
27702    -1         return sanitize_default(virtualNode.attr(attrName)) !== '';
   -1 29136       var titleNode = virtualNode.children.find(function(_ref95) {
   -1 29137         var props = _ref95.props;
   -1 29138         return props.nodeName === 'title';
27703 29139       });
27704    -1       if (prohibited.length === 0) {
   -1 29140       if (!titleNode) {
   -1 29141         this.data({
   -1 29142           messageKey: 'noTitle'
   -1 29143         });
27705 29144         return false;
27706 29145       }
27707    -1       var messageKey = virtualNode.hasAttr('role') ? 'hasRole' : 'noRole';
27708    -1       messageKey += prohibited.length > 1 ? 'Plural' : 'Singular';
27709    -1       this.data({
27710    -1         role: role,
27711    -1         nodeName: nodeName2,
27712    -1         messageKey: messageKey,
27713    -1         prohibited: prohibited
27714    -1       });
27715    -1       var textContent = subtree_text_default(virtualNode, {
27716    -1         subtreeDescendant: true
27717    -1       });
27718    -1       if (sanitize_default(textContent) !== '') {
   -1 29146       try {
   -1 29147         var titleText2 = subtree_text_default(titleNode, {
   -1 29148           includeHidden: true
   -1 29149         }).trim();
   -1 29150         if (titleText2 === '') {
   -1 29151           this.data({
   -1 29152             messageKey: 'emptyTitle'
   -1 29153           });
   -1 29154           return false;
   -1 29155         }
   -1 29156       } catch (e) {
27719 29157         return void 0;
27720 29158       }
27721 29159       return true;
27722 29160     }
27723    -1     function listProhibitedAttrs(role, nodeName2, elementsAllowedAriaLabel) {
27724    -1       var roleSpec = standards_default.ariaRoles[role];
27725    -1       if (roleSpec) {
27726    -1         return roleSpec.prohibitedAttrs || [];
27727    -1       }
27728    -1       if (!!role || elementsAllowedAriaLabel.includes(nodeName2)) {
27729    -1         return [];
27730    -1       }
27731    -1       return [ 'aria-label', 'aria-labelledby' ];
27732    -1     }
   -1 29161     var svg_non_empty_title_evaluate_default = svgNonEmptyTitleEvaluate;
27733 29162     var standards_exports = {};
27734 29163     __export(standards_exports, {
27735 29164       getAriaRolesByType: function getAriaRolesByType() {
@@ -27751,505 +29180,452 @@ module.exports = {
27751 29180         return implicit_html_roles_default;
27752 29181       }
27753 29182     });
27754    -1     function ariaRequiredAttrEvaluate(node) {
27755    -1       var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
27756    -1       var virtualNode = arguments.length > 2 ? arguments[2] : undefined;
27757    -1       var role = get_explicit_role_default(virtualNode);
27758    -1       var attrs = virtualNode.attrNames;
27759    -1       var requiredAttrs = required_attr_default(role);
27760    -1       if (Array.isArray(options[role])) {
27761    -1         requiredAttrs = unique_array_default(options[role], requiredAttrs);
27762    -1       }
27763    -1       if (!role || !attrs.length || !requiredAttrs.length) {
27764    -1         return true;
27765    -1       }
27766    -1       if (isStaticSeparator(virtualNode, role) || isClosedCombobox(virtualNode, role)) {
27767    -1         return true;
27768    -1       }
27769    -1       var elmSpec = get_element_spec_default(virtualNode);
27770    -1       var missingAttrs = requiredAttrs.filter(function(requiredAttr2) {
27771    -1         return !virtualNode.attr(requiredAttr2) && !hasImplicitAttr(elmSpec, requiredAttr2);
27772    -1       });
27773    -1       if (missingAttrs.length) {
27774    -1         this.data(missingAttrs);
27775    -1         return false;
27776    -1       }
27777    -1       return true;
27778    -1     }
27779    -1     function isStaticSeparator(vNode, role) {
27780    -1       return role === 'separator' && !_isFocusable(vNode);
27781    -1     }
27782    -1     function hasImplicitAttr(elmSpec, attr) {
27783    -1       var _elmSpec$implicitAttr;
27784    -1       return ((_elmSpec$implicitAttr = elmSpec.implicitAttrs) === null || _elmSpec$implicitAttr === void 0 ? void 0 : _elmSpec$implicitAttr[attr]) !== void 0;
27785    -1     }
27786    -1     function isClosedCombobox(vNode, role) {
27787    -1       return role === 'combobox' && vNode.attr('aria-expanded') === 'false';
27788    -1     }
27789    -1     function ariaRequiredChildrenEvaluate(node, options, virtualNode) {
27790    -1       var reviewEmpty = options && Array.isArray(options.reviewEmpty) ? options.reviewEmpty : [];
27791    -1       var explicitRole2 = get_explicit_role_default(virtualNode, {
27792    -1         dpub: true
27793    -1       });
27794    -1       var required = required_owned_default(explicitRole2);
27795    -1       if (required === null) {
27796    -1         return true;
27797    -1       }
27798    -1       var ownedRoles = getOwnedRoles(virtualNode, required);
27799    -1       var unallowed = ownedRoles.filter(function(_ref96) {
27800    -1         var role = _ref96.role, vNode = _ref96.vNode;
27801    -1         return vNode.props.nodeType === 1 && !required.includes(role);
27802    -1       });
27803    -1       if (unallowed.length) {
27804    -1         this.relatedNodes(unallowed.map(function(_ref97) {
27805    -1           var vNode = _ref97.vNode;
27806    -1           return vNode;
27807    -1         }));
   -1 29183     function presentationalRoleEvaluate(node, options, virtualNode) {
   -1 29184       var explicitRole2 = get_explicit_role_default(virtualNode);
   -1 29185       if ([ 'presentation', 'none' ].includes(explicitRole2) && [ 'iframe', 'frame' ].includes(virtualNode.props.nodeName) && virtualNode.hasAttr('title')) {
27808 29186         this.data({
27809    -1           messageKey: 'unallowed',
27810    -1           values: unallowed.map(function(_ref98) {
27811    -1             var vNode = _ref98.vNode, attr = _ref98.attr;
27812    -1             return getUnallowedSelector(vNode, attr);
27813    -1           }).filter(function(selector, index, array) {
27814    -1             return array.indexOf(selector) === index;
27815    -1           }).join(', ')
   -1 29187           messageKey: 'iframe',
   -1 29188           nodeName: virtualNode.props.nodeName
27816 29189         });
27817 29190         return false;
27818 29191       }
27819    -1       if (hasRequiredChildren(required, ownedRoles)) {
27820    -1         return true;
27821    -1       }
27822    -1       this.data(required);
27823    -1       if (reviewEmpty.includes(explicitRole2) && !ownedRoles.some(isContent)) {
27824    -1         return void 0;
27825    -1       }
27826    -1       return false;
27827    -1     }
27828    -1     function getOwnedRoles(virtualNode, required) {
27829    -1       var vNode;
27830    -1       var ownedRoles = [];
27831    -1       var ownedVirtual = get_owned_virtual_default(virtualNode);
27832    -1       var _loop7 = function _loop7() {
27833    -1         if (vNode.props.nodeType === 3) {
27834    -1           ownedRoles.push({
27835    -1             vNode: vNode,
27836    -1             role: null
27837    -1           });
27838    -1         }
27839    -1         if (vNode.props.nodeType !== 1 || !_isVisibleToScreenReaders(vNode)) {
27840    -1           return 'continue';
27841    -1         }
27842    -1         var role = get_role_default(vNode, {
27843    -1           noPresentational: true
   -1 29192       var role = get_role_default(virtualNode);
   -1 29193       if ([ 'presentation', 'none' ].includes(role)) {
   -1 29194         this.data({
   -1 29195           role: role
27844 29196         });
27845    -1         var globalAriaAttr = getGlobalAriaAttr(vNode);
27846    -1         var hasGlobalAriaOrFocusable = !!globalAriaAttr || _isFocusable(vNode);
27847    -1         if (!role && !hasGlobalAriaOrFocusable || [ 'group', 'rowgroup' ].includes(role) && required.some(function(requiredRole) {
27848    -1           return requiredRole === role;
27849    -1         })) {
27850    -1           ownedVirtual.push.apply(ownedVirtual, _toConsumableArray(vNode.children));
27851    -1         } else if (role || hasGlobalAriaOrFocusable) {
27852    -1           var attr = globalAriaAttr || 'tabindex';
27853    -1           ownedRoles.push({
27854    -1             role: role,
27855    -1             attr: attr,
27856    -1             vNode: vNode
27857    -1           });
27858    -1         }
27859    -1       };
27860    -1       while (vNode = ownedVirtual.shift()) {
27861    -1         var _ret5 = _loop7();
27862    -1         if (_ret5 === 'continue') {
27863    -1           continue;
27864    -1         }
   -1 29197         return true;
27865 29198       }
27866    -1       return ownedRoles;
27867    -1     }
27868    -1     function hasRequiredChildren(required, ownedRoles) {
27869    -1       return ownedRoles.some(function(_ref99) {
27870    -1         var role = _ref99.role;
27871    -1         return role && required.includes(role);
27872    -1       });
27873    -1     }
27874    -1     function getGlobalAriaAttr(vNode) {
27875    -1       return get_global_aria_attrs_default().find(function(attr) {
27876    -1         return vNode.hasAttr(attr);
27877    -1       });
27878    -1     }
27879    -1     function getUnallowedSelector(vNode, attr) {
27880    -1       var _vNode$props = vNode.props, nodeName2 = _vNode$props.nodeName, nodeType = _vNode$props.nodeType;
27881    -1       if (nodeType === 3) {
27882    -1         return '#text';
   -1 29199       if (![ 'presentation', 'none' ].includes(explicitRole2)) {
   -1 29200         return false;
27883 29201       }
27884    -1       var role = get_explicit_role_default(vNode, {
27885    -1         dpub: true
   -1 29202       var hasGlobalAria = get_global_aria_attrs_default().some(function(attr) {
   -1 29203         return virtualNode.hasAttr(attr);
27886 29204       });
27887    -1       if (role) {
27888    -1         return '[role='.concat(role, ']');
27889    -1       }
27890    -1       if (attr) {
27891    -1         return nodeName2 + '['.concat(attr, ']');
27892    -1       }
27893    -1       return nodeName2;
27894    -1     }
27895    -1     function isContent(_ref100) {
27896    -1       var vNode = _ref100.vNode;
27897    -1       if (vNode.props.nodeType === 3) {
27898    -1         return vNode.props.nodeValue.trim().length > 0;
27899    -1       }
27900    -1       return has_content_virtual_default(vNode, false, true);
27901    -1     }
27902    -1     function getMissingContext(virtualNode, ownGroupRoles, reqContext, includeElement) {
27903    -1       var explicitRole2 = get_explicit_role_default(virtualNode);
27904    -1       if (!reqContext) {
27905    -1         reqContext = required_context_default(explicitRole2);
27906    -1       }
27907    -1       if (!reqContext) {
27908    -1         return null;
27909    -1       }
27910    -1       var allowsGroup = reqContext.includes('group');
27911    -1       var vNode = includeElement ? virtualNode : virtualNode.parent;
27912    -1       while (vNode) {
27913    -1         var role = get_role_default(vNode, {
27914    -1           noPresentational: true
27915    -1         });
27916    -1         if (!role) {
27917    -1           vNode = vNode.parent;
27918    -1         } else if (role === 'group' && allowsGroup) {
27919    -1           if (ownGroupRoles.includes(explicitRole2)) {
27920    -1             reqContext.push(explicitRole2);
27921    -1           }
27922    -1           reqContext = reqContext.filter(function(r) {
27923    -1             return r !== 'group';
27924    -1           });
27925    -1           vNode = vNode.parent;
27926    -1         } else if (reqContext.includes(role)) {
27927    -1           return null;
27928    -1         } else {
27929    -1           return reqContext;
27930    -1         }
27931    -1       }
27932    -1       return reqContext;
27933    -1     }
27934    -1     function getAriaOwners(element) {
27935    -1       var owners = [], o = null;
27936    -1       while (element) {
27937    -1         if (element.getAttribute('id')) {
27938    -1           var _id3 = escape_selector_default(element.getAttribute('id'));
27939    -1           var doc = get_root_node_default2(element);
27940    -1           o = doc.querySelector('[aria-owns~='.concat(_id3, ']'));
27941    -1           if (o) {
27942    -1             owners.push(o);
27943    -1           }
27944    -1         }
27945    -1         element = element.parentElement;
   -1 29205       var focusable = _isFocusable(virtualNode);
   -1 29206       var messageKey;
   -1 29207       if (hasGlobalAria && !focusable) {
   -1 29208         messageKey = 'globalAria';
   -1 29209       } else if (!hasGlobalAria && focusable) {
   -1 29210         messageKey = 'focusable';
   -1 29211       } else {
   -1 29212         messageKey = 'both';
27946 29213       }
27947    -1       return owners.length ? owners : null;
   -1 29214       this.data({
   -1 29215         messageKey: messageKey,
   -1 29216         role: role
   -1 29217       });
   -1 29218       return false;
27948 29219     }
27949    -1     function ariaRequiredParentEvaluate(node, options, virtualNode) {
27950    -1       var ownGroupRoles = options && Array.isArray(options.ownGroupRoles) ? options.ownGroupRoles : [];
27951    -1       var missingParents = getMissingContext(virtualNode, ownGroupRoles);
27952    -1       if (!missingParents) {
27953    -1         return true;
   -1 29220     function nonEmptyIfPresentEvaluate(node, options, virtualNode) {
   -1 29221       var nodeName2 = virtualNode.props.nodeName;
   -1 29222       var type2 = (virtualNode.attr('type') || '').toLowerCase();
   -1 29223       var label3 = virtualNode.attr('value');
   -1 29224       if (label3) {
   -1 29225         this.data({
   -1 29226           messageKey: 'has-label'
   -1 29227         });
27954 29228       }
27955    -1       var owners = getAriaOwners(node);
27956    -1       if (owners) {
27957    -1         for (var _i30 = 0, l = owners.length; _i30 < l; _i30++) {
27958    -1           missingParents = getMissingContext(get_node_from_tree_default(owners[_i30]), ownGroupRoles, missingParents, true);
27959    -1           if (!missingParents) {
27960    -1             return true;
27961    -1           }
27962    -1         }
   -1 29229       if (nodeName2 === 'input' && [ 'submit', 'reset' ].includes(type2)) {
   -1 29230         return label3 === null;
27963 29231       }
27964    -1       this.data(missingParents);
27965 29232       return false;
27966 29233     }
27967    -1     var aria_required_parent_evaluate_default = ariaRequiredParentEvaluate;
27968    -1     function ariaRoledescriptionEvaluate(node) {
27969    -1       var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
27970    -1       var virtualNode = arguments.length > 2 ? arguments[2] : undefined;
27971    -1       var role = get_role_default(virtualNode);
27972    -1       var supportedRoles = options.supportedRoles || [];
27973    -1       if (supportedRoles.includes(role)) {
   -1 29234     var non_empty_if_present_evaluate_default = nonEmptyIfPresentEvaluate;
   -1 29235     function isOnScreenEvaluate(node) {
   -1 29236       return _isVisibleOnScreen(node);
   -1 29237     }
   -1 29238     var is_on_screen_evaluate_default = isOnScreenEvaluate;
   -1 29239     function inlineStyleProperty(node, options) {
   -1 29240       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;
   -1 29241       if (!noImportant && node.style.getPropertyPriority(cssProperty) !== 'important' || multiLineOnly && !_isMultiline(node)) {
27974 29242         return true;
27975 29243       }
27976    -1       if (role && role !== 'presentation' && role !== 'none') {
27977    -1         return void 0;
   -1 29244       var data = {};
   -1 29245       if (typeof minValue === 'number') {
   -1 29246         data.minValue = minValue;
27978 29247       }
27979    -1       return false;
27980    -1     }
27981    -1     var aria_roledescription_evaluate_default = ariaRoledescriptionEvaluate;
27982    -1     function ariaUnsupportedAttrEvaluate(node, options, virtualNode) {
27983    -1       var unsupportedAttrs = virtualNode.attrNames.filter(function(name) {
27984    -1         var attribute = standards_default.ariaAttrs[name];
27985    -1         if (!validate_attr_default(name)) {
27986    -1           return false;
27987    -1         }
27988    -1         var unsupported = attribute.unsupported;
27989    -1         if (_typeof(unsupported) !== 'object') {
27990    -1           return !!unsupported;
27991    -1         }
27992    -1         return !matches_default2(node, unsupported.exceptions);
   -1 29248       if (typeof maxValue === 'number') {
   -1 29249         data.maxValue = maxValue;
   -1 29250       }
   -1 29251       var declaredPropValue = node.style.getPropertyValue(cssProperty);
   -1 29252       if ([ 'inherit', 'unset', 'revert', 'revert-layer' ].includes(declaredPropValue)) {
   -1 29253         this.data(_extends({
   -1 29254           value: declaredPropValue
   -1 29255         }, data));
   -1 29256         return true;
   -1 29257       }
   -1 29258       var value = getNumberValue(node, {
   -1 29259         absoluteValues: absoluteValues,
   -1 29260         cssProperty: cssProperty,
   -1 29261         normalValue: normalValue
27993 29262       });
27994    -1       if (unsupportedAttrs.length) {
27995    -1         this.data(unsupportedAttrs);
   -1 29263       this.data(_extends({
   -1 29264         value: value
   -1 29265       }, data));
   -1 29266       if (typeof value !== 'number') {
   -1 29267         return void 0;
   -1 29268       }
   -1 29269       if ((typeof minValue !== 'number' || value >= minValue) && (typeof maxValue !== 'number' || value <= maxValue)) {
27996 29270         return true;
27997 29271       }
27998 29272       return false;
27999 29273     }
28000    -1     var aria_unsupported_attr_evaluate_default = ariaUnsupportedAttrEvaluate;
28001    -1     function ariaValidAttrEvaluate(node, options, virtualNode) {
28002    -1       options = Array.isArray(options.value) ? options.value : [];
28003    -1       var invalid = [];
28004    -1       var aria = /^aria-/;
28005    -1       virtualNode.attrNames.forEach(function(attr) {
28006    -1         if (options.indexOf(attr) === -1 && aria.test(attr) && !validate_attr_default(attr)) {
28007    -1           invalid.push(attr);
28008    -1         }
28009    -1       });
28010    -1       if (invalid.length) {
28011    -1         this.data(invalid);
   -1 29274     function getNumberValue(domNode, _ref96) {
   -1 29275       var cssProperty = _ref96.cssProperty, absoluteValues = _ref96.absoluteValues, normalValue = _ref96.normalValue;
   -1 29276       var computedStyle = window.getComputedStyle(domNode);
   -1 29277       var cssPropValue = computedStyle.getPropertyValue(cssProperty);
   -1 29278       if (cssPropValue === 'normal') {
   -1 29279         return normalValue;
   -1 29280       }
   -1 29281       var parsedValue = parseFloat(cssPropValue);
   -1 29282       if (absoluteValues) {
   -1 29283         return parsedValue;
   -1 29284       }
   -1 29285       var fontSize = parseFloat(computedStyle.getPropertyValue('font-size'));
   -1 29286       var value = Math.round(parsedValue / fontSize * 100) / 100;
   -1 29287       if (isNaN(value)) {
   -1 29288         return cssPropValue;
   -1 29289       }
   -1 29290       return value;
   -1 29291     }
   -1 29292     function hasAltEvaluate(node, options, virtualNode) {
   -1 29293       var nodeName2 = virtualNode.props.nodeName;
   -1 29294       if (![ 'img', 'input', 'area' ].includes(nodeName2)) {
28012 29295         return false;
28013 29296       }
28014    -1       return true;
   -1 29297       return virtualNode.hasAttr('alt');
28015 29298     }
28016    -1     var aria_valid_attr_evaluate_default = ariaValidAttrEvaluate;
28017    -1     function ariaValidAttrValueEvaluate(node, options, virtualNode) {
28018    -1       options = Array.isArray(options.value) ? options.value : [];
28019    -1       var needsReview = '';
28020    -1       var messageKey = '';
28021    -1       var invalid = [];
28022    -1       var aria = /^aria-/;
28023    -1       var skipAttrs = [ 'aria-errormessage' ];
28024    -1       var preChecks = {
28025    -1         'aria-controls': function ariaControls() {
28026    -1           return virtualNode.attr('aria-expanded') !== 'false' && virtualNode.attr('aria-selected') !== 'false';
28027    -1         },
28028    -1         'aria-current': function ariaCurrent(validValue) {
28029    -1           if (!validValue) {
28030    -1             needsReview = 'aria-current="'.concat(virtualNode.attr('aria-current'), '"');
28031    -1             messageKey = 'ariaCurrent';
28032    -1           }
28033    -1           return;
28034    -1         },
28035    -1         'aria-owns': function ariaOwns() {
28036    -1           return virtualNode.attr('aria-expanded') !== 'false';
28037    -1         },
28038    -1         'aria-describedby': function ariaDescribedby(validValue) {
28039    -1           if (!validValue) {
28040    -1             needsReview = 'aria-describedby="'.concat(virtualNode.attr('aria-describedby'), '"');
28041    -1             messageKey = axe._tree && axe._tree[0]._hasShadowRoot ? 'noIdShadow' : 'noId';
28042    -1           }
28043    -1           return;
28044    -1         },
28045    -1         'aria-labelledby': function ariaLabelledby(validValue) {
28046    -1           if (!validValue) {
28047    -1             needsReview = 'aria-labelledby="'.concat(virtualNode.attr('aria-labelledby'), '"');
28048    -1             messageKey = axe._tree && axe._tree[0]._hasShadowRoot ? 'noIdShadow' : 'noId';
28049    -1           }
28050    -1         }
28051    -1       };
28052    -1       virtualNode.attrNames.forEach(function(attrName) {
28053    -1         if (skipAttrs.includes(attrName) || options.includes(attrName) || !aria.test(attrName)) {
28054    -1           return;
28055    -1         }
28056    -1         var validValue;
28057    -1         var attrValue = virtualNode.attr(attrName);
28058    -1         try {
28059    -1           validValue = validate_attr_value_default(virtualNode, attrName);
28060    -1         } catch (e) {
28061    -1           needsReview = ''.concat(attrName, '="').concat(attrValue, '"');
28062    -1           messageKey = 'idrefs';
28063    -1           return;
28064    -1         }
28065    -1         if ((preChecks[attrName] ? preChecks[attrName](validValue) : true) && !validValue) {
28066    -1           if (attrValue === '' && !isStringType(attrName)) {
28067    -1             needsReview = attrName;
28068    -1             messageKey = 'empty';
28069    -1           } else {
28070    -1             invalid.push(''.concat(attrName, '="').concat(attrValue, '"'));
28071    -1           }
   -1 29299     var has_alt_evaluate_default = hasAltEvaluate;
   -1 29300     function existsEvaluate() {
   -1 29301       return void 0;
   -1 29302     }
   -1 29303     var exists_evaluate_default = existsEvaluate;
   -1 29304     function docHasTitleEvaluate() {
   -1 29305       var title = document.title;
   -1 29306       return !!sanitize_default(title);
   -1 29307     }
   -1 29308     var doc_has_title_evaluate_default = docHasTitleEvaluate;
   -1 29309     function avoidInlineSpacingEvaluate(node, options) {
   -1 29310       var overriddenProperties = options.cssProperties.filter(function(property) {
   -1 29311         if (node.style.getPropertyPriority(property) === 'important') {
   -1 29312           return property;
28072 29313         }
28073 29314       });
28074    -1       if (invalid.length) {
28075    -1         this.data(invalid);
   -1 29315       if (overriddenProperties.length > 0) {
   -1 29316         this.data(overriddenProperties);
28076 29317         return false;
28077 29318       }
28078    -1       if (needsReview) {
28079    -1         this.data({
28080    -1           messageKey: messageKey,
28081    -1           needsReview: needsReview
28082    -1         });
28083    -1         return void 0;
28084    -1       }
28085 29319       return true;
28086 29320     }
28087    -1     function isStringType(attrName) {
28088    -1       var _standards_default$ar;
28089    -1       return ((_standards_default$ar = standards_default.ariaAttrs[attrName]) === null || _standards_default$ar === void 0 ? void 0 : _standards_default$ar.type) === 'string';
28090    -1     }
28091    -1     function brailleLabelEquivalentEvaluate(node, options, virtualNode) {
28092    -1       var _virtualNode$attr;
28093    -1       var brailleLabel = (_virtualNode$attr = virtualNode.attr('aria-braillelabel')) !== null && _virtualNode$attr !== void 0 ? _virtualNode$attr : '';
28094    -1       if (!brailleLabel.trim()) {
28095    -1         return true;
28096    -1       }
   -1 29321     var avoid_inline_spacing_evaluate_default = avoidInlineSpacingEvaluate;
   -1 29322     function ariaLabelledbyEvaluate(node, options, virtualNode) {
28097 29323       try {
28098    -1         return sanitize_default(_accessibleTextVirtual(virtualNode)) !== '';
28099    -1       } catch (_unused) {
   -1 29324         return !!sanitize_default(arialabelledby_text_default(virtualNode));
   -1 29325       } catch (e) {
28100 29326         return void 0;
28101 29327       }
28102 29328     }
28103    -1     function brailleRoleDescriptionEquivalentEvaluate(node, options, virtualNode) {
28104    -1       var _virtualNode$attr2;
28105    -1       var brailleRoleDesc = (_virtualNode$attr2 = virtualNode.attr('aria-brailleroledescription')) !== null && _virtualNode$attr2 !== void 0 ? _virtualNode$attr2 : '';
28106    -1       if (sanitize_default(brailleRoleDesc) === '') {
   -1 29329     var aria_labelledby_evaluate_default = ariaLabelledbyEvaluate;
   -1 29330     function ariaLabelEvaluate(node, options, virtualNode) {
   -1 29331       return !!sanitize_default(_arialabelText(virtualNode));
   -1 29332     }
   -1 29333     var aria_label_evaluate_default = ariaLabelEvaluate;
   -1 29334     function duplicateIdEvaluate(node) {
   -1 29335       var id = node.getAttribute('id').trim();
   -1 29336       if (!id) {
28107 29337         return true;
28108 29338       }
28109    -1       var roleDesc = virtualNode.attr('aria-roledescription');
28110    -1       if (typeof roleDesc !== 'string') {
28111    -1         this.data({
28112    -1           messageKey: 'noRoleDescription'
28113    -1         });
28114    -1         return false;
28115    -1       }
28116    -1       if (sanitize_default(roleDesc) === '') {
28117    -1         this.data({
28118    -1           messageKey: 'emptyRoleDescription'
28119    -1         });
28120    -1         return false;
28121    -1       }
28122    -1       return true;
28123    -1     }
28124    -1     function deprecatedroleEvaluate(node, options, virtualNode) {
28125    -1       var role = get_role_default(virtualNode, {
28126    -1         dpub: true,
28127    -1         fallback: true
   -1 29339       var root = get_root_node_default2(node);
   -1 29340       var matchingNodes = Array.from(root.querySelectorAll('[id="'.concat(escape_selector_default(id), '"]'))).filter(function(foundNode) {
   -1 29341         return foundNode !== node;
28128 29342       });
28129    -1       var roleDefinition = standards_default.ariaRoles[role];
28130    -1       if (!(roleDefinition !== null && roleDefinition !== void 0 && roleDefinition.deprecated)) {
28131    -1         return false;
   -1 29343       if (matchingNodes.length) {
   -1 29344         this.relatedNodes(matchingNodes);
28132 29345       }
28133    -1       this.data(role);
28134    -1       return true;
28135    -1     }
28136    -1     function nonePresentationOnElementWithNoImplicitRole(virtualNode, explicitRoles) {
28137    -1       var hasImplicitRole = implicit_role_default(virtualNode);
28138    -1       return !hasImplicitRole && explicitRoles.length === 2 && explicitRoles.includes('none') && explicitRoles.includes('presentation');
   -1 29346       this.data(id);
   -1 29347       return matchingNodes.length === 0;
28139 29348     }
28140    -1     function fallbackroleEvaluate(node, options, virtualNode) {
28141    -1       var explicitRoles = token_list_default(virtualNode.attr('role'));
28142    -1       if (explicitRoles.length <= 1) {
   -1 29349     var duplicate_id_evaluate_default = duplicateIdEvaluate;
   -1 29350     function duplicateIdAfter(results) {
   -1 29351       var uniqueIds = [];
   -1 29352       return results.filter(function(r) {
   -1 29353         if (uniqueIds.indexOf(r.data) === -1) {
   -1 29354           uniqueIds.push(r.data);
   -1 29355           return true;
   -1 29356         }
28143 29357         return false;
28144    -1       }
28145    -1       return nonePresentationOnElementWithNoImplicitRole(virtualNode, explicitRoles) ? void 0 : true;
28146    -1     }
28147    -1     var fallbackrole_evaluate_default = fallbackroleEvaluate;
28148    -1     function hasGlobalAriaAttributeEvaluate(node, options, virtualNode) {
28149    -1       var globalAttrs = get_global_aria_attrs_default().filter(function(attr) {
28150    -1         return virtualNode.hasAttr(attr);
28151 29358       });
28152    -1       this.data(globalAttrs);
28153    -1       return globalAttrs.length > 0;
28154 29359     }
28155    -1     var has_global_aria_attribute_evaluate_default = hasGlobalAriaAttributeEvaluate;
28156    -1     function hasWidgetRoleEvaluate(node) {
28157    -1       var role = node.getAttribute('role');
28158    -1       if (role === null) {
28159    -1         return false;
28160    -1       }
28161    -1       var roleType = get_role_type_default(role);
28162    -1       return roleType === 'widget' || roleType === 'composite';
   -1 29360     var duplicate_id_after_default = duplicateIdAfter;
   -1 29361     function uniqueFrameTitleEvaluate(node, options, vNode) {
   -1 29362       var title = sanitize_default(vNode.attr('title')).toLowerCase();
   -1 29363       this.data(title);
   -1 29364       return true;
28163 29365     }
28164    -1     var has_widget_role_evaluate_default = hasWidgetRoleEvaluate;
28165    -1     function invalidroleEvaluate(node, options, virtualNode) {
28166    -1       var allRoles = token_list_default(virtualNode.attr('role'));
28167    -1       var allInvalid = allRoles.every(function(role) {
28168    -1         return !is_valid_role_default(role, {
28169    -1           allowAbstract: true
28170    -1         });
   -1 29366     var unique_frame_title_evaluate_default = uniqueFrameTitleEvaluate;
   -1 29367     function uniqueFrameTitleAfter(results) {
   -1 29368       var titles = {};
   -1 29369       results.forEach(function(r) {
   -1 29370         titles[r.data] = titles[r.data] !== void 0 ? ++titles[r.data] : 0;
28171 29371       });
28172    -1       if (allInvalid) {
28173    -1         this.data(allRoles);
28174    -1         return true;
   -1 29372       results.forEach(function(r) {
   -1 29373         r.result = !!titles[r.data];
   -1 29374       });
   -1 29375       return results;
   -1 29376     }
   -1 29377     var unique_frame_title_after_default = uniqueFrameTitleAfter;
   -1 29378     function skipLinkEvaluate(node) {
   -1 29379       var target = get_element_by_reference_default(node, 'href');
   -1 29380       if (target) {
   -1 29381         return _isVisibleToScreenReaders(target) || void 0;
28175 29382       }
28176 29383       return false;
28177 29384     }
28178    -1     var invalidrole_evaluate_default = invalidroleEvaluate;
28179    -1     function isElementFocusableEvaluate(node, options, virtualNode) {
28180    -1       return _isFocusable(virtualNode);
   -1 29385     var skip_link_evaluate_default = skipLinkEvaluate;
   -1 29386     var implicitAriaLiveRoles = [ 'alert', 'log', 'status' ];
   -1 29387     function regionEvaluate(node, options, virtualNode) {
   -1 29388       this.data({
   -1 29389         isIframe: [ 'iframe', 'frame' ].includes(virtualNode.props.nodeName)
   -1 29390       });
   -1 29391       var regionlessNodes = cache_default.get('regionlessNodes', function() {
   -1 29392         return getRegionlessNodes(options);
   -1 29393       });
   -1 29394       return !regionlessNodes.includes(virtualNode);
28181 29395     }
28182    -1     var is_element_focusable_evaluate_default = isElementFocusableEvaluate;
28183    -1     function noImplicitExplicitLabelEvaluate(node, options, virtualNode) {
28184    -1       var role = get_role_default(virtualNode, {
28185    -1         noImplicit: true
   -1 29396     function getRegionlessNodes(options) {
   -1 29397       var regionlessNodes = findRegionlessElms(axe._tree[0], options).map(function(vNode) {
   -1 29398         while (vNode.parent && !vNode.parent._hasRegionDescendant && vNode.parent.actualNode !== document.body) {
   -1 29399           vNode = vNode.parent;
   -1 29400         }
   -1 29401         return vNode;
   -1 29402       }).filter(function(vNode, index, array) {
   -1 29403         return array.indexOf(vNode) === index;
28186 29404       });
28187    -1       this.data(role);
28188    -1       var label3;
28189    -1       var accText;
28190    -1       try {
28191    -1         label3 = sanitize_default(label_text_default(virtualNode)).toLowerCase();
28192    -1         accText = sanitize_default(_accessibleTextVirtual(virtualNode)).toLowerCase();
28193    -1       } catch (e) {
28194    -1         return void 0;
   -1 29405       return regionlessNodes;
   -1 29406     }
   -1 29407     function findRegionlessElms(virtualNode, options) {
   -1 29408       var node = virtualNode.actualNode;
   -1 29409       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)) {
   -1 29410         var vNode = virtualNode;
   -1 29411         while (vNode) {
   -1 29412           vNode._hasRegionDescendant = true;
   -1 29413           vNode = vNode.parent;
   -1 29414         }
   -1 29415         if ([ 'iframe', 'frame' ].includes(virtualNode.props.nodeName)) {
   -1 29416           return [ virtualNode ];
   -1 29417         }
   -1 29418         return [];
   -1 29419       } else if (node !== document.body && has_content_default(node, true) && !isShallowlyHidden(virtualNode)) {
   -1 29420         return [ virtualNode ];
   -1 29421       } else {
   -1 29422         return virtualNode.children.filter(function(_ref97) {
   -1 29423           var actualNode = _ref97.actualNode;
   -1 29424           return actualNode.nodeType === 1;
   -1 29425         }).map(function(vNode) {
   -1 29426           return findRegionlessElms(vNode, options);
   -1 29427         }).reduce(function(a2, b2) {
   -1 29428           return a2.concat(b2);
   -1 29429         }, []);
28195 29430       }
28196    -1       if (!accText && !label3) {
28197    -1         return false;
   -1 29431     }
   -1 29432     function isShallowlyHidden(virtualNode) {
   -1 29433       return [ 'none', 'presentation' ].includes(get_role_default(virtualNode)) && !hasChildTextNodes(virtualNode);
   -1 29434     }
   -1 29435     function isRegion(virtualNode, options) {
   -1 29436       var node = virtualNode.actualNode;
   -1 29437       var role = get_role_default(virtualNode);
   -1 29438       var ariaLive = (node.getAttribute('aria-live') || '').toLowerCase().trim();
   -1 29439       var landmarkRoles2 = get_aria_roles_by_type_default('landmark');
   -1 29440       if ([ 'assertive', 'polite' ].includes(ariaLive) || implicitAriaLiveRoles.includes(role)) {
   -1 29441         return true;
28198 29442       }
28199    -1       if (!accText && label3) {
28200    -1         return void 0;
   -1 29443       if (landmarkRoles2.includes(role)) {
   -1 29444         return true;
28201 29445       }
28202    -1       if (!accText.includes(label3)) {
28203    -1         return void 0;
   -1 29446       if (options.regionMatcher && matches_default2(virtualNode, options.regionMatcher)) {
   -1 29447         return true;
28204 29448       }
28205 29449       return false;
28206 29450     }
28207    -1     var no_implicit_explicit_label_evaluate_default = noImplicitExplicitLabelEvaluate;
28208    -1     function unsupportedroleEvaluate(node, options, virtualNode) {
28209    -1       var role = get_role_default(virtualNode, {
28210    -1         dpub: true,
28211    -1         fallback: true
   -1 29451     function regionAfter(results) {
   -1 29452       var iframeResults = results.filter(function(r) {
   -1 29453         return r.data.isIframe;
28212 29454       });
28213    -1       var isUnsupported = is_unsupported_role_default(role);
28214    -1       if (isUnsupported) {
28215    -1         this.data(role);
   -1 29455       results.forEach(function(r) {
   -1 29456         if (r.result || r.node.ancestry.length === 1) {
   -1 29457           return;
   -1 29458         }
   -1 29459         var frameAncestry = r.node.ancestry.slice(0, -1);
   -1 29460         var _iterator15 = _createForOfIteratorHelper(iframeResults), _step15;
   -1 29461         try {
   -1 29462           for (_iterator15.s(); !(_step15 = _iterator15.n()).done; ) {
   -1 29463             var iframeResult = _step15.value;
   -1 29464             if (_matchAncestry(frameAncestry, iframeResult.node.ancestry)) {
   -1 29465               r.result = iframeResult.result;
   -1 29466               break;
   -1 29467             }
   -1 29468           }
   -1 29469         } catch (err) {
   -1 29470           _iterator15.e(err);
   -1 29471         } finally {
   -1 29472           _iterator15.f();
   -1 29473         }
   -1 29474       });
   -1 29475       iframeResults.forEach(function(r) {
   -1 29476         if (!r.result) {
   -1 29477           r.result = true;
   -1 29478         }
   -1 29479       });
   -1 29480       return results;
   -1 29481     }
   -1 29482     var region_after_default = regionAfter;
   -1 29483     function normalizeFontWeight(weight) {
   -1 29484       switch (weight) {
   -1 29485        case 'lighter':
   -1 29486         return 100;
   -1 29487 
   -1 29488        case 'normal':
   -1 29489         return 400;
   -1 29490 
   -1 29491        case 'bold':
   -1 29492         return 700;
   -1 29493 
   -1 29494        case 'bolder':
   -1 29495         return 900;
28216 29496       }
28217    -1       return isUnsupported;
   -1 29497       weight = parseInt(weight);
   -1 29498       return !isNaN(weight) ? weight : 400;
28218 29499     }
28219    -1     var unsupportedrole_evaluate_default = unsupportedroleEvaluate;
28220    -1     var VALID_TAG_NAMES_FOR_SCROLLABLE_REGIONS = {
28221    -1       ARTICLE: true,
28222    -1       ASIDE: true,
28223    -1       NAV: true,
28224    -1       SECTION: true
28225    -1     };
28226    -1     var VALID_ROLES_FOR_SCROLLABLE_REGIONS = {
28227    -1       application: true,
28228    -1       article: true,
28229    -1       banner: false,
28230    -1       complementary: true,
28231    -1       contentinfo: true,
28232    -1       form: true,
28233    -1       main: true,
28234    -1       navigation: true,
28235    -1       region: true,
28236    -1       search: false
28237    -1     };
28238    -1     function validScrollableTagName(node) {
28239    -1       var nodeName2 = node.nodeName.toUpperCase();
28240    -1       return VALID_TAG_NAMES_FOR_SCROLLABLE_REGIONS[nodeName2] || false;
   -1 29500     function getTextContainer(elm) {
   -1 29501       var nextNode = elm;
   -1 29502       var outerText = elm.textContent.trim();
   -1 29503       var innerText = outerText;
   -1 29504       while (innerText === outerText && nextNode !== void 0) {
   -1 29505         var _i30 = -1;
   -1 29506         elm = nextNode;
   -1 29507         if (elm.children.length === 0) {
   -1 29508           return elm;
   -1 29509         }
   -1 29510         do {
   -1 29511           _i30++;
   -1 29512           innerText = elm.children[_i30].textContent.trim();
   -1 29513         } while (innerText === '' && _i30 + 1 < elm.children.length);
   -1 29514         nextNode = elm.children[_i30];
   -1 29515       }
   -1 29516       return elm;
   -1 29517     }
   -1 29518     function getStyleValues(node) {
   -1 29519       var style = window.getComputedStyle(getTextContainer(node));
   -1 29520       return {
   -1 29521         fontWeight: normalizeFontWeight(style.getPropertyValue('font-weight')),
   -1 29522         fontSize: parseInt(style.getPropertyValue('font-size')),
   -1 29523         isItalic: style.getPropertyValue('font-style') === 'italic'
   -1 29524       };
   -1 29525     }
   -1 29526     function isHeaderStyle(styleA, styleB, margins) {
   -1 29527       return margins.reduce(function(out, margin) {
   -1 29528         return out || (!margin.size || styleA.fontSize / margin.size > styleB.fontSize) && (!margin.weight || styleA.fontWeight - margin.weight > styleB.fontWeight) && (!margin.italic || styleA.isItalic && !styleB.isItalic);
   -1 29529       }, false);
   -1 29530     }
   -1 29531     function pAsHeadingEvaluate(node, options, virtualNode) {
   -1 29532       var siblings = Array.from(node.parentNode.children);
   -1 29533       var currentIndex = siblings.indexOf(node);
   -1 29534       options = options || {};
   -1 29535       var margins = options.margins || [];
   -1 29536       var nextSibling = siblings.slice(currentIndex + 1).find(function(elm) {
   -1 29537         return elm.nodeName.toUpperCase() === 'P';
   -1 29538       });
   -1 29539       var prevSibling = siblings.slice(0, currentIndex).reverse().find(function(elm) {
   -1 29540         return elm.nodeName.toUpperCase() === 'P';
   -1 29541       });
   -1 29542       var currStyle = getStyleValues(node);
   -1 29543       var nextStyle = nextSibling ? getStyleValues(nextSibling) : null;
   -1 29544       var prevStyle = prevSibling ? getStyleValues(prevSibling) : null;
   -1 29545       var optionsPassLength = options.passLength;
   -1 29546       var optionsFailLength = options.failLength;
   -1 29547       var headingLength = node.textContent.trim().length;
   -1 29548       var paragraphLength = nextSibling === null || nextSibling === void 0 ? void 0 : nextSibling.textContent.trim().length;
   -1 29549       if (headingLength > paragraphLength * optionsPassLength) {
   -1 29550         return true;
   -1 29551       }
   -1 29552       if (!nextStyle || !isHeaderStyle(currStyle, nextStyle, margins)) {
   -1 29553         return true;
   -1 29554       }
   -1 29555       var blockquote = find_up_virtual_default(virtualNode, 'blockquote');
   -1 29556       if (blockquote && blockquote.nodeName.toUpperCase() === 'BLOCKQUOTE') {
   -1 29557         return void 0;
   -1 29558       }
   -1 29559       if (prevStyle && !isHeaderStyle(currStyle, prevStyle, margins)) {
   -1 29560         return void 0;
   -1 29561       }
   -1 29562       if (headingLength > paragraphLength * optionsFailLength) {
   -1 29563         return void 0;
   -1 29564       }
   -1 29565       return false;
28241 29566     }
28242    -1     function validScrollableRole(node, options) {
28243    -1       var role = get_explicit_role_default(node);
28244    -1       if (!role) {
28245    -1         return false;
   -1 29567     var p_as_heading_evaluate_default = pAsHeadingEvaluate;
   -1 29568     var separatorRegex = /[;,\s]/;
   -1 29569     var validRedirectNumRegex = /^[0-9.]+$/;
   -1 29570     function metaRefreshEvaluate(node, options, virtualNode) {
   -1 29571       var _ref98 = options || {}, minDelay = _ref98.minDelay, maxDelay = _ref98.maxDelay;
   -1 29572       var content = (virtualNode.attr('content') || '').trim();
   -1 29573       var _content$split = content.split(separatorRegex), _content$split2 = _slicedToArray(_content$split, 1), redirectStr = _content$split2[0];
   -1 29574       if (!redirectStr.match(validRedirectNumRegex)) {
   -1 29575         return true;
28246 29576       }
28247    -1       return VALID_ROLES_FOR_SCROLLABLE_REGIONS[role] || options.roles.includes(role) || false;
   -1 29577       var redirectDelay = parseFloat(redirectStr);
   -1 29578       this.data({
   -1 29579         redirectDelay: redirectDelay
   -1 29580       });
   -1 29581       if (typeof minDelay === 'number' && redirectDelay <= options.minDelay) {
   -1 29582         return true;
   -1 29583       }
   -1 29584       if (typeof maxDelay === 'number' && redirectDelay > options.maxDelay) {
   -1 29585         return true;
   -1 29586       }
   -1 29587       return false;
28248 29588     }
28249    -1     function validScrollableSemanticsEvaluate(node, options) {
28250    -1       return validScrollableRole(node, options) || validScrollableTagName(node);
   -1 29589     function internalLinkPresentEvaluate(node, options, virtualNode) {
   -1 29590       var links = query_selector_all_default(virtualNode, 'a[href]');
   -1 29591       return links.some(function(vLink) {
   -1 29592         return /^#[^/!]/.test(vLink.attr('href'));
   -1 29593       });
28251 29594     }
28252    -1     var valid_scrollable_semantics_evaluate_default = validScrollableSemanticsEvaluate;
   -1 29595     var internal_link_present_evaluate_default = internalLinkPresentEvaluate;
   -1 29596     var commons_exports = {};
   -1 29597     __export(commons_exports, {
   -1 29598       aria: function aria() {
   -1 29599         return aria_exports;
   -1 29600       },
   -1 29601       color: function color() {
   -1 29602         return color_exports;
   -1 29603       },
   -1 29604       dom: function dom() {
   -1 29605         return dom_exports;
   -1 29606       },
   -1 29607       forms: function forms() {
   -1 29608         return forms_exports;
   -1 29609       },
   -1 29610       matches: function matches() {
   -1 29611         return matches_default2;
   -1 29612       },
   -1 29613       math: function math() {
   -1 29614         return math_exports;
   -1 29615       },
   -1 29616       standards: function standards() {
   -1 29617         return standards_exports;
   -1 29618       },
   -1 29619       table: function table() {
   -1 29620         return table_exports;
   -1 29621       },
   -1 29622       text: function text() {
   -1 29623         return text_exports;
   -1 29624       },
   -1 29625       utils: function utils() {
   -1 29626         return utils_exports;
   -1 29627       }
   -1 29628     });
28253 29629     var color_exports = {};
28254 29630     __export(color_exports, {
28255 29631       Color: function Color() {
@@ -28268,7 +29644,7 @@ module.exports = {
28268 29644         return filtered_rect_stack_default;
28269 29645       },
28270 29646       flattenColors: function flattenColors() {
28271    -1         return flatten_colors_default;
   -1 29647         return _flattenColors;
28272 29648       },
28273 29649       flattenShadowColors: function flattenShadowColors() {
28274 29650         return _flattenShadowColors;
@@ -28402,9 +29778,7 @@ module.exports = {
28402 29778       return null;
28403 29779     }
28404 29780     var filtered_rect_stack_default = filteredRectStack;
28405    -1     function clamp2(value, min, max2) {
28406    -1       return Math.min(Math.max(min, value), max2);
28407    -1     }
   -1 29781     var nonSeparableBlendModes = [ 'hue', 'saturation', 'color', 'luminosity' ];
28408 29782     var blendFunctions = {
28409 29783       normal: function normal(Cb, Cs) {
28410 29784         return Cs;
@@ -28446,16 +29820,26 @@ module.exports = {
28446 29820       },
28447 29821       exclusion: function exclusion(Cb, Cs) {
28448 29822         return Cb + Cs - 2 * Cb * Cs;
   -1 29823       },
   -1 29824       hue: function hue(Cb, Cs) {
   -1 29825         return Cs.setSaturation(Cb.getSaturation()).setLuminosity(Cb.getLuminosity());
   -1 29826       },
   -1 29827       saturation: function saturation(Cb, Cs) {
   -1 29828         return Cb.setSaturation(Cs.getSaturation()).setLuminosity(Cb.getLuminosity());
   -1 29829       },
   -1 29830       color: function color(Cb, Cs) {
   -1 29831         return Cs.setLuminosity(Cb.getLuminosity());
   -1 29832       },
   -1 29833       luminosity: function luminosity(Cb, Cs) {
   -1 29834         return Cb.setLuminosity(Cs.getLuminosity());
28449 29835       }
28450 29836     };
28451    -1     function simpleAlphaCompositing(Cs, \u03b1s, Cb, \u03b1b, blendMode) {
28452    -1       return \u03b1s * (1 - \u03b1b) * Cs + \u03b1s * \u03b1b * blendFunctions[blendMode](Cb / 255, Cs / 255) * 255 + (1 - \u03b1s) * \u03b1b * Cb;
28453    -1     }
28454    -1     function flattenColors(sourceColor, backdrop) {
   -1 29837     function _flattenColors(sourceColor, backdrop) {
28455 29838       var blendMode = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'normal';
28456    -1       var r = simpleAlphaCompositing(sourceColor.red, sourceColor.alpha, backdrop.red, backdrop.alpha, blendMode);
28457    -1       var g2 = simpleAlphaCompositing(sourceColor.green, sourceColor.alpha, backdrop.green, backdrop.alpha, blendMode);
28458    -1       var b2 = simpleAlphaCompositing(sourceColor.blue, sourceColor.alpha, backdrop.blue, backdrop.alpha, blendMode);
   -1 29839       var blendingResult = blend(backdrop, sourceColor, blendMode);
   -1 29840       var r = simpleAlphaCompositing(sourceColor.red, sourceColor.alpha, backdrop.red, backdrop.alpha, blendingResult.r * 255);
   -1 29841       var g2 = simpleAlphaCompositing(sourceColor.green, sourceColor.alpha, backdrop.green, backdrop.alpha, blendingResult.g * 255);
   -1 29842       var b2 = simpleAlphaCompositing(sourceColor.blue, sourceColor.alpha, backdrop.blue, backdrop.alpha, blendingResult.b * 255);
28459 29843       var \u03b1o = clamp2(sourceColor.alpha + backdrop.alpha * (1 - sourceColor.alpha), 0, 1);
28460 29844       if (\u03b1o === 0) {
28461 29845         return new color_default(r, g2, b2, \u03b1o);
@@ -28465,7 +29849,22 @@ module.exports = {
28465 29849       var Cb = Math.round(b2 / \u03b1o);
28466 29850       return new color_default(Cr, Cg, Cb, \u03b1o);
28467 29851     }
28468    -1     var flatten_colors_default = flattenColors;
   -1 29852     function simpleAlphaCompositing(Cs, \u03b1s, Cb, \u03b1b, blendingResult) {
   -1 29853       return \u03b1s * (1 - \u03b1b) * Cs + \u03b1s * \u03b1b * blendingResult + (1 - \u03b1s) * \u03b1b * Cb;
   -1 29854     }
   -1 29855     function clamp2(value, min, max2) {
   -1 29856       return Math.min(Math.max(min, value), max2);
   -1 29857     }
   -1 29858     function blend(Cb, Cs, blendMode) {
   -1 29859       if (nonSeparableBlendModes.includes(blendMode)) {
   -1 29860         return blendFunctions[blendMode](Cb, Cs);
   -1 29861       }
   -1 29862       var C = new color_default();
   -1 29863       [ 'r', 'g', 'b' ].forEach(function(channel) {
   -1 29864         C[channel] = blendFunctions[blendMode](Cb[channel], Cs[channel]);
   -1 29865       });
   -1 29866       return C;
   -1 29867     }
28469 29868     function _flattenShadowColors(fgColor, bgColor) {
28470 29869       var alpha = fgColor.alpha;
28471 29870       var r = (1 - alpha) * bgColor.red + alpha * fgColor.red;
@@ -28532,10 +29931,10 @@ module.exports = {
28532 29931     var OPAQUE_STROKE_OFFSET_MIN_PX = 1.5;
28533 29932     var edges = [ 'top', 'right', 'bottom', 'left' ];
28534 29933     function _getStrokeColorsFromShadows(parsedShadows) {
28535    -1       var _ref101 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, _ref101$ignoreEdgeCou = _ref101.ignoreEdgeCount, ignoreEdgeCount = _ref101$ignoreEdgeCou === void 0 ? false : _ref101$ignoreEdgeCou;
   -1 29934       var _ref99 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, _ref99$ignoreEdgeCoun = _ref99.ignoreEdgeCount, ignoreEdgeCount = _ref99$ignoreEdgeCoun === void 0 ? false : _ref99$ignoreEdgeCoun;
28536 29935       var shadowMap = getShadowColorsMap(parsedShadows);
28537    -1       var shadowsByColor = Object.entries(shadowMap).map(function(_ref102) {
28538    -1         var _ref103 = _slicedToArray(_ref102, 2), colorStr = _ref103[0], sides = _ref103[1];
   -1 29936       var shadowsByColor = Object.entries(shadowMap).map(function(_ref100) {
   -1 29937         var _ref101 = _slicedToArray(_ref100, 2), colorStr = _ref101[0], sides = _ref101[1];
28539 29938         var edgeCount = edges.filter(function(side) {
28540 29939           return sides[side].length !== 0;
28541 29940         }).length;
@@ -28545,8 +29944,8 @@ module.exports = {
28545 29944           edgeCount: edgeCount
28546 29945         };
28547 29946       });
28548    -1       if (!ignoreEdgeCount && shadowsByColor.some(function(_ref104) {
28549    -1         var edgeCount = _ref104.edgeCount;
   -1 29947       if (!ignoreEdgeCount && shadowsByColor.some(function(_ref102) {
   -1 29948         var edgeCount = _ref102.edgeCount;
28550 29949         return edgeCount > 1 && edgeCount < 4;
28551 29950       })) {
28552 29951         return null;
@@ -28588,8 +29987,8 @@ module.exports = {
28588 29987       }
28589 29988       return colorMap;
28590 29989     }
28591    -1     function shadowGroupToColor(_ref105) {
28592    -1       var colorStr = _ref105.colorStr, sides = _ref105.sides, edgeCount = _ref105.edgeCount;
   -1 29990     function shadowGroupToColor(_ref103) {
   -1 29991       var colorStr = _ref103.colorStr, sides = _ref103.sides, edgeCount = _ref103.edgeCount;
28593 29992       if (edgeCount !== 4) {
28594 29993         return null;
28595 29994       }
@@ -28640,8 +30039,8 @@ module.exports = {
28640 30039           throw new Error('Unable to process text-shadows: '.concat(str));
28641 30040         }
28642 30041       }
28643    -1       shadows.forEach(function(_ref106) {
28644    -1         var pixels = _ref106.pixels;
   -1 30042       shadows.forEach(function(_ref104) {
   -1 30043         var pixels = _ref104.pixels;
28645 30044         if (pixels.length === 2) {
28646 30045           pixels.push(0);
28647 30046         }
@@ -28649,7 +30048,7 @@ module.exports = {
28649 30048       return shadows;
28650 30049     }
28651 30050     function _getTextShadowColors(node) {
28652    -1       var _ref107 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, minRatio = _ref107.minRatio, maxRatio = _ref107.maxRatio, ignoreEdgeCount = _ref107.ignoreEdgeCount;
   -1 30051       var _ref105 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, minRatio = _ref105.minRatio, maxRatio = _ref105.maxRatio, ignoreEdgeCount = _ref105.ignoreEdgeCount;
28653 30052       var shadowColors = [];
28654 30053       var style = window.getComputedStyle(node);
28655 30054       var textShadow = style.getPropertyValue('text-shadow');
@@ -28712,8 +30111,8 @@ module.exports = {
28712 30111       }
28713 30112       return shadowColors;
28714 30113     }
28715    -1     function textShadowColor(_ref108) {
28716    -1       var colorStr = _ref108.colorStr, offsetX = _ref108.offsetX, offsetY = _ref108.offsetY, blurRadius = _ref108.blurRadius, fontSize = _ref108.fontSize;
   -1 30114     function textShadowColor(_ref106) {
   -1 30115       var colorStr = _ref106.colorStr, offsetX = _ref106.offsetX, offsetY = _ref106.offsetY, blurRadius = _ref106.blurRadius, fontSize = _ref106.fontSize;
28717 30116       if (offsetX > blurRadius || offsetY > blurRadius) {
28718 30117         return new color_default(0, 0, 0, 0);
28719 30118       }
@@ -28742,13 +30141,13 @@ module.exports = {
28742 30141         var _stackingOrder2;
28743 30142         var bgVNode = get_node_from_tree_default(bgElm);
28744 30143         var bgColor = getOwnBackgroundColor2(bgVNode);
28745    -1         var stackingOrder = bgVNode._stackingOrder.filter(function(_ref109) {
28746    -1           var vNode = _ref109.vNode;
   -1 30144         var stackingOrder = bgVNode._stackingOrder.filter(function(_ref107) {
   -1 30145           var vNode = _ref107.vNode;
28747 30146           return !!vNode;
28748 30147         });
28749    -1         stackingOrder.forEach(function(_ref110, index) {
   -1 30148         stackingOrder.forEach(function(_ref108, index) {
28750 30149           var _stackingOrder;
28751    -1           var vNode = _ref110.vNode;
   -1 30150           var vNode = _ref108.vNode;
28752 30151           var ancestorVNode2 = (_stackingOrder = stackingOrder[index - 1]) === null || _stackingOrder === void 0 ? void 0 : _stackingOrder.vNode;
28753 30152           var context2 = addToStackingContext(contextMap, vNode, ancestorVNode2);
28754 30153           if (index === 0 && !contextMap.get(vNode)) {
@@ -28777,7 +30176,7 @@ module.exports = {
28777 30176         };
28778 30177       }
28779 30178       var sourceColor = context.descendants.reduce(reduceToColor, createStackingContext2());
28780    -1       var color = flatten_colors_default(sourceColor, context.bgColor, context.descendants[0].blendMode);
   -1 30179       var color = _flattenColors(sourceColor, context.bgColor, context.descendants[0].blendMode);
28781 30180       color.alpha *= context.opacity;
28782 30181       return {
28783 30182         color: color,
@@ -28792,7 +30191,7 @@ module.exports = {
28792 30191         backdrop = _stackingContextToColor(backdropContext).color;
28793 30192       }
28794 30193       var sourceColor = _stackingContextToColor(sourceContext).color;
28795    -1       return flatten_colors_default(sourceColor, backdrop, sourceContext.blendMode);
   -1 30194       return _flattenColors(sourceColor, backdrop, sourceContext.blendMode);
28796 30195     }
28797 30196     function createStackingContext2(vNode, ancestorContext) {
28798 30197       var _vNode$getComputedSty;
@@ -28865,1157 +30264,1097 @@ module.exports = {
28865 30264         }
28866 30265         var bgColor = get_own_background_color_default(bgElmStyle);
28867 30266         if (bgColor.alpha === 0) {
28868    -1           continue;
28869    -1         }
28870    -1         if (bgElmStyle.getPropertyValue('display') !== 'inline' && !fullyEncompasses(bgElm, textRects)) {
28871    -1           bgElms.push(bgElm);
28872    -1           incomplete_data_default.set('bgColor', 'elmPartiallyObscured');
28873    -1           return null;
28874    -1         }
28875    -1         bgElms.push(bgElm);
28876    -1         if (bgColor.alpha === 1) {
28877    -1           break;
28878    -1         }
28879    -1       }
28880    -1       var stackingContext = _getStackingContext(elm, elmStack);
28881    -1       bgColors = stackingContext.map(_stackingContextToColor).concat(bgColors);
28882    -1       var pageBgs = getPageBackgroundColors(elm, elmStack.includes(document.body));
28883    -1       (_bgColors = bgColors).unshift.apply(_bgColors, _toConsumableArray(pageBgs));
28884    -1       if (bgColors.length === 0) {
28885    -1         return new color_default(255, 255, 255, 1);
28886    -1       }
28887    -1       var blendedColor = bgColors.reduce(function(bgColor, fgColor) {
28888    -1         return flatten_colors_default(fgColor.color, bgColor.color instanceof color_default ? bgColor.color : bgColor, fgColor.blendMode);
28889    -1       });
28890    -1       return flatten_colors_default(blendedColor.color instanceof color_default ? blendedColor.color : blendedColor, new color_default(255, 255, 255, 1));
28891    -1     }
28892    -1     function fullyEncompasses(node, rects) {
28893    -1       rects = Array.isArray(rects) ? rects : [ rects ];
28894    -1       var nodeRect = node.getBoundingClientRect();
28895    -1       var right = nodeRect.right, bottom = nodeRect.bottom;
28896    -1       var style = window.getComputedStyle(node);
28897    -1       var overflow = style.getPropertyValue('overflow');
28898    -1       if ([ 'scroll', 'auto' ].includes(overflow) || node instanceof window.HTMLHtmlElement) {
28899    -1         right = nodeRect.left + node.scrollWidth;
28900    -1         bottom = nodeRect.top + node.scrollHeight;
28901    -1       }
28902    -1       return rects.every(function(rect) {
28903    -1         return rect.top >= nodeRect.top && rect.bottom <= bottom && rect.left >= nodeRect.left && rect.right <= right;
28904    -1       });
28905    -1     }
28906    -1     function normalizeBlendMode2(blendmode) {
28907    -1       return !!blendmode ? blendmode : void 0;
28908    -1     }
28909    -1     function getPageBackgroundColors(elm, stackContainsBody) {
28910    -1       var pageColors = [];
28911    -1       if (!stackContainsBody) {
28912    -1         var html = document.documentElement;
28913    -1         var body = document.body;
28914    -1         var htmlStyle = window.getComputedStyle(html);
28915    -1         var bodyStyle = window.getComputedStyle(body);
28916    -1         var htmlBgColor = get_own_background_color_default(htmlStyle);
28917    -1         var bodyBgColor = get_own_background_color_default(bodyStyle);
28918    -1         var bodyBgColorApplies = bodyBgColor.alpha !== 0 && fullyEncompasses(body, elm.getBoundingClientRect());
28919    -1         if (bodyBgColor.alpha !== 0 && htmlBgColor.alpha === 0 || bodyBgColorApplies && bodyBgColor.alpha !== 1) {
28920    -1           pageColors.unshift({
28921    -1             color: bodyBgColor,
28922    -1             blendMode: normalizeBlendMode2(bodyStyle.getPropertyValue('mix-blend-mode'))
28923    -1           });
28924    -1         }
28925    -1         if (htmlBgColor.alpha !== 0 && (!bodyBgColorApplies || bodyBgColorApplies && bodyBgColor.alpha !== 1)) {
28926    -1           pageColors.unshift({
28927    -1             color: htmlBgColor,
28928    -1             blendMode: normalizeBlendMode2(htmlStyle.getPropertyValue('mix-blend-mode'))
28929    -1           });
28930    -1         }
28931    -1       }
28932    -1       return pageColors;
28933    -1     }
28934    -1     function getContrast(bgColor, fgColor) {
28935    -1       if (!fgColor || !bgColor) {
28936    -1         return null;
28937    -1       }
28938    -1       if (fgColor.alpha < 1) {
28939    -1         fgColor = flatten_colors_default(fgColor, bgColor);
28940    -1       }
28941    -1       var bL = bgColor.getRelativeLuminance();
28942    -1       var fL = fgColor.getRelativeLuminance();
28943    -1       return (Math.max(fL, bL) + .05) / (Math.min(fL, bL) + .05);
28944    -1     }
28945    -1     var get_contrast_default = getContrast;
28946    -1     function _getForegroundColor(node, _, bgColor) {
28947    -1       var _bgColor;
28948    -1       var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};
28949    -1       var nodeStyle = window.getComputedStyle(node);
28950    -1       var colorStack = [ function() {
28951    -1         return getStrokeColor(nodeStyle, options);
28952    -1       }, function() {
28953    -1         return getTextColor(nodeStyle);
28954    -1       }, function() {
28955    -1         return _getTextShadowColors(node, {
28956    -1           minRatio: 0
28957    -1         });
28958    -1       } ];
28959    -1       var fgColors = [];
28960    -1       for (var _i32 = 0, _colorStack = colorStack; _i32 < _colorStack.length; _i32++) {
28961    -1         var colorFn = _colorStack[_i32];
28962    -1         var _color4 = colorFn();
28963    -1         if (!_color4) {
28964    -1           continue;
28965    -1         }
28966    -1         fgColors = fgColors.concat(_color4);
28967    -1         if (_color4.alpha === 1) {
28968    -1           break;
28969    -1         }
28970    -1       }
28971    -1       var fgColor = fgColors.reduce(function(source, backdrop) {
28972    -1         return flatten_colors_default(source, backdrop);
28973    -1       });
28974    -1       (_bgColor = bgColor) !== null && _bgColor !== void 0 ? _bgColor : bgColor = _getBackgroundColor2(node, []);
28975    -1       if (bgColor === null) {
28976    -1         var reason = incomplete_data_default.get('bgColor');
28977    -1         incomplete_data_default.set('fgColor', reason);
28978    -1         return null;
28979    -1       }
28980    -1       var stackingContexts = _getStackingContext(node);
28981    -1       var context = findNodeInContexts(stackingContexts, node);
28982    -1       return flatten_colors_default(calculateBlendedForegroundColor(fgColor, context, stackingContexts), new color_default(255, 255, 255, 1));
28983    -1     }
28984    -1     function getTextColor(nodeStyle) {
28985    -1       return new color_default().parseString(nodeStyle.getPropertyValue('-webkit-text-fill-color') || nodeStyle.getPropertyValue('color'));
28986    -1     }
28987    -1     function getStrokeColor(nodeStyle, _ref111) {
28988    -1       var _ref111$textStrokeEmM = _ref111.textStrokeEmMin, textStrokeEmMin = _ref111$textStrokeEmM === void 0 ? 0 : _ref111$textStrokeEmM;
28989    -1       var strokeWidth = parseFloat(nodeStyle.getPropertyValue('-webkit-text-stroke-width'));
28990    -1       if (strokeWidth === 0) {
28991    -1         return null;
28992    -1       }
28993    -1       var fontSize = nodeStyle.getPropertyValue('font-size');
28994    -1       var relativeStrokeWidth = strokeWidth / parseFloat(fontSize);
28995    -1       if (isNaN(relativeStrokeWidth) || relativeStrokeWidth < textStrokeEmMin) {
28996    -1         return null;
28997    -1       }
28998    -1       var strokeColor = nodeStyle.getPropertyValue('-webkit-text-stroke-color');
28999    -1       return new color_default().parseString(strokeColor);
29000    -1     }
29001    -1     function calculateBlendedForegroundColor(fgColor, context, stackingContexts) {
29002    -1       while (context) {
29003    -1         var _context$ancestor;
29004    -1         if (context.opacity === 1 && context.ancestor) {
29005    -1           context = context.ancestor;
29006    -1           continue;
29007    -1         }
29008    -1         fgColor.alpha *= context.opacity;
29009    -1         var stack = ((_context$ancestor = context.ancestor) === null || _context$ancestor === void 0 ? void 0 : _context$ancestor.descendants) || stackingContexts;
29010    -1         if (context.opacity !== 1) {
29011    -1           stack = stack.slice(0, stack.indexOf(context));
29012    -1         }
29013    -1         var bgColors = stack.map(_stackingContextToColor);
29014    -1         if (!bgColors.length) {
29015    -1           context = context.ancestor;
29016    -1           continue;
29017    -1         }
29018    -1         var bgColor = bgColors.reduce(function(backdrop, source) {
29019    -1           return flatten_colors_default(source.color, backdrop.color instanceof color_default ? backdrop.color : backdrop);
29020    -1         }, {
29021    -1           color: new color_default(0, 0, 0, 0),
29022    -1           blendMode: 'normal'
29023    -1         });
29024    -1         fgColor = flatten_colors_default(fgColor, bgColor);
29025    -1         context = context.ancestor;
29026    -1       }
29027    -1       return fgColor;
29028    -1     }
29029    -1     function findNodeInContexts(contexts, node) {
29030    -1       var _iterator18 = _createForOfIteratorHelper(contexts), _step18;
29031    -1       try {
29032    -1         for (_iterator18.s(); !(_step18 = _iterator18.n()).done; ) {
29033    -1           var _context$vNode;
29034    -1           var context = _step18.value;
29035    -1           if (((_context$vNode = context.vNode) === null || _context$vNode === void 0 ? void 0 : _context$vNode.actualNode) === node) {
29036    -1             return context;
29037    -1           }
29038    -1           var found = findNodeInContexts(context.descendants, node);
29039    -1           if (found) {
29040    -1             return found;
29041    -1           }
29042    -1         }
29043    -1       } catch (err) {
29044    -1         _iterator18.e(err);
29045    -1       } finally {
29046    -1         _iterator18.f();
29047    -1       }
29048    -1     }
29049    -1     function hasValidContrastRatio(bg, fg, fontSize, isBold) {
29050    -1       var contrast2 = get_contrast_default(bg, fg);
29051    -1       var isSmallFont = isBold && Math.ceil(fontSize * 72) / 96 < 14 || !isBold && Math.ceil(fontSize * 72) / 96 < 18;
29052    -1       var expectedContrastRatio = isSmallFont ? 4.5 : 3;
29053    -1       return {
29054    -1         isValid: contrast2 > expectedContrastRatio,
29055    -1         contrastRatio: contrast2,
29056    -1         expectedContrastRatio: expectedContrastRatio
29057    -1       };
29058    -1     }
29059    -1     var has_valid_contrast_ratio_default = hasValidContrastRatio;
29060    -1     function colorContrastEvaluate(node, options, virtualNode) {
29061    -1       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;
29062    -1       if (!_isVisibleOnScreen(node)) {
29063    -1         this.data({
29064    -1           messageKey: 'hidden'
29065    -1         });
29066    -1         return true;
29067    -1       }
29068    -1       var visibleText = visible_virtual_default(virtualNode, false, true);
29069    -1       if (ignoreUnicode && textIsEmojis(visibleText)) {
29070    -1         this.data({
29071    -1           messageKey: 'nonBmp'
29072    -1         });
29073    -1         return void 0;
29074    -1       }
29075    -1       var nodeStyle = window.getComputedStyle(node);
29076    -1       var fontSize = parseFloat(nodeStyle.getPropertyValue('font-size'));
29077    -1       var fontWeight = nodeStyle.getPropertyValue('font-weight');
29078    -1       var bold = parseFloat(fontWeight) >= boldValue || fontWeight === 'bold';
29079    -1       var ptSize = Math.ceil(fontSize * 72) / 96;
29080    -1       var isSmallFont = bold && ptSize < boldTextPt || !bold && ptSize < largeTextPt;
29081    -1       var _ref112 = isSmallFont ? contrastRatio.normal : contrastRatio.large, expected = _ref112.expected, minThreshold = _ref112.minThreshold, maxThreshold = _ref112.maxThreshold;
29082    -1       var pseudoElm = findPseudoElement(virtualNode, {
29083    -1         ignorePseudo: ignorePseudo,
29084    -1         pseudoSizeThreshold: pseudoSizeThreshold
29085    -1       });
29086    -1       if (pseudoElm) {
29087    -1         this.data({
29088    -1           fontSize: ''.concat((fontSize * 72 / 96).toFixed(1), 'pt (').concat(fontSize, 'px)'),
29089    -1           fontWeight: bold ? 'bold' : 'normal',
29090    -1           messageKey: 'pseudoContent',
29091    -1           expectedContrastRatio: expected + ':1'
29092    -1         });
29093    -1         this.relatedNodes(pseudoElm.actualNode);
29094    -1         return void 0;
29095    -1       }
29096    -1       var shadowColors = _getTextShadowColors(node, {
29097    -1         minRatio: .001,
29098    -1         maxRatio: shadowOutlineEmMax
29099    -1       });
29100    -1       if (shadowColors === null) {
29101    -1         this.data({
29102    -1           messageKey: 'complexTextShadows'
29103    -1         });
29104    -1         return void 0;
29105    -1       }
29106    -1       var bgNodes = [];
29107    -1       var bgColor = _getBackgroundColor2(node, bgNodes, shadowOutlineEmMax);
29108    -1       var fgColor = _getForegroundColor(node, false, bgColor, options);
29109    -1       var contrast2 = null;
29110    -1       var contrastContributor = null;
29111    -1       var shadowColor = null;
29112    -1       if (shadowColors.length === 0) {
29113    -1         contrast2 = get_contrast_default(bgColor, fgColor);
29114    -1       } else if (fgColor && bgColor) {
29115    -1         shadowColor = [].concat(_toConsumableArray(shadowColors), [ bgColor ]).reduce(_flattenShadowColors);
29116    -1         var fgBgContrast = get_contrast_default(bgColor, fgColor);
29117    -1         var bgShContrast = get_contrast_default(bgColor, shadowColor);
29118    -1         var fgShContrast = get_contrast_default(shadowColor, fgColor);
29119    -1         contrast2 = Math.max(fgBgContrast, bgShContrast, fgShContrast);
29120    -1         if (contrast2 !== fgBgContrast) {
29121    -1           contrastContributor = bgShContrast > fgShContrast ? 'shadowOnBgColor' : 'fgOnShadowColor';
29122    -1         }
29123    -1       }
29124    -1       var isValid = contrast2 > expected;
29125    -1       if (typeof minThreshold === 'number' && (typeof contrast2 !== 'number' || contrast2 < minThreshold) || typeof maxThreshold === 'number' && (typeof contrast2 !== 'number' || contrast2 > maxThreshold)) {
29126    -1         this.data({
29127    -1           contrastRatio: contrast2
29128    -1         });
29129    -1         return true;
29130    -1       }
29131    -1       var truncatedResult = Math.floor(contrast2 * 100) / 100;
29132    -1       var missing;
29133    -1       if (bgColor === null) {
29134    -1         missing = incomplete_data_default.get('bgColor');
29135    -1       } else if (!isValid) {
29136    -1         missing = contrastContributor;
29137    -1       }
29138    -1       var equalRatio = truncatedResult === 1;
29139    -1       var shortTextContent = visibleText.length === 1;
29140    -1       if (equalRatio) {
29141    -1         missing = incomplete_data_default.set('bgColor', 'equalRatio');
29142    -1       } else if (!isValid && shortTextContent && !ignoreLength) {
29143    -1         missing = 'shortTextContent';
29144    -1       }
29145    -1       this.data({
29146    -1         fgColor: fgColor ? fgColor.toHexString() : void 0,
29147    -1         bgColor: bgColor ? bgColor.toHexString() : void 0,
29148    -1         contrastRatio: truncatedResult,
29149    -1         fontSize: ''.concat((fontSize * 72 / 96).toFixed(1), 'pt (').concat(fontSize, 'px)'),
29150    -1         fontWeight: bold ? 'bold' : 'normal',
29151    -1         messageKey: missing,
29152    -1         expectedContrastRatio: expected + ':1',
29153    -1         shadowColor: shadowColor ? shadowColor.toHexString() : void 0
29154    -1       });
29155    -1       if (fgColor === null || bgColor === null || equalRatio || shortTextContent && !ignoreLength && !isValid) {
29156    -1         missing = null;
29157    -1         incomplete_data_default.clear();
29158    -1         this.relatedNodes(bgNodes);
29159    -1         return void 0;
29160    -1       }
29161    -1       if (!isValid) {
29162    -1         this.relatedNodes(bgNodes);
29163    -1       }
29164    -1       return isValid;
29165    -1     }
29166    -1     function findPseudoElement(vNode, _ref113) {
29167    -1       var _ref113$pseudoSizeThr = _ref113.pseudoSizeThreshold, pseudoSizeThreshold = _ref113$pseudoSizeThr === void 0 ? .25 : _ref113$pseudoSizeThr, _ref113$ignorePseudo = _ref113.ignorePseudo, ignorePseudo = _ref113$ignorePseudo === void 0 ? false : _ref113$ignorePseudo;
29168    -1       if (ignorePseudo) {
29169    -1         return;
29170    -1       }
29171    -1       var rect = vNode.boundingClientRect;
29172    -1       var minimumSize = rect.width * rect.height * pseudoSizeThreshold;
29173    -1       do {
29174    -1         var beforeSize = getPseudoElementArea(vNode.actualNode, ':before');
29175    -1         var afterSize = getPseudoElementArea(vNode.actualNode, ':after');
29176    -1         if (beforeSize + afterSize > minimumSize) {
29177    -1           return vNode;
29178    -1         }
29179    -1       } while (vNode = vNode.parent);
29180    -1     }
29181    -1     var getPseudoElementArea = memoize_default(function getPseudoElementArea2(node, pseudo) {
29182    -1       var style = window.getComputedStyle(node, pseudo);
29183    -1       var matchPseudoStyle = function matchPseudoStyle(prop, value) {
29184    -1         return style.getPropertyValue(prop) === value;
29185    -1       };
29186    -1       if (matchPseudoStyle('content', 'none') || matchPseudoStyle('display', 'none') || matchPseudoStyle('visibility', 'hidden') || matchPseudoStyle('position', 'absolute') === false) {
29187    -1         return 0;
29188    -1       }
29189    -1       if (get_own_background_color_default(style).alpha === 0 && matchPseudoStyle('background-image', 'none')) {
29190    -1         return 0;
29191    -1       }
29192    -1       var pseudoWidth = parseUnit(style.getPropertyValue('width'));
29193    -1       var pseudoHeight = parseUnit(style.getPropertyValue('height'));
29194    -1       if (pseudoWidth.unit !== 'px' || pseudoHeight.unit !== 'px') {
29195    -1         return pseudoWidth.value === 0 || pseudoHeight.value === 0 ? 0 : Infinity;
29196    -1       }
29197    -1       return pseudoWidth.value * pseudoHeight.value;
29198    -1     });
29199    -1     function textIsEmojis(visibleText) {
29200    -1       var options = {
29201    -1         nonBmp: true
29202    -1       };
29203    -1       var hasUnicodeChars = has_unicode_default(visibleText, options);
29204    -1       var hasNonUnicodeChars = sanitize_default(remove_unicode_default(visibleText, options)) === '';
29205    -1       return hasUnicodeChars && hasNonUnicodeChars;
29206    -1     }
29207    -1     function parseUnit(str) {
29208    -1       var unitRegex = /^([0-9.]+)([a-z]+)$/i;
29209    -1       var _ref114 = str.match(unitRegex) || [], _ref115 = _slicedToArray(_ref114, 3), _ref115$ = _ref115[1], value = _ref115$ === void 0 ? '' : _ref115$, _ref115$2 = _ref115[2], unit = _ref115$2 === void 0 ? '' : _ref115$2;
29210    -1       return {
29211    -1         value: parseFloat(value),
29212    -1         unit: unit.toLowerCase()
29213    -1       };
29214    -1     }
29215    -1     function getContrast2(color1, color2) {
29216    -1       var c1lum = color1.getRelativeLuminance();
29217    -1       var c2lum = color2.getRelativeLuminance();
29218    -1       return (Math.max(c1lum, c2lum) + .05) / (Math.min(c1lum, c2lum) + .05);
29219    -1     }
29220    -1     var blockLike2 = [ 'block', 'list-item', 'table', 'flex', 'grid', 'inline-block' ];
29221    -1     function isBlock2(elm) {
29222    -1       var display2 = window.getComputedStyle(elm).getPropertyValue('display');
29223    -1       return blockLike2.indexOf(display2) !== -1 || display2.substr(0, 6) === 'table-';
29224    -1     }
29225    -1     function linkInTextBlockEvaluate(node, options) {
29226    -1       var requiredContrastRatio = options.requiredContrastRatio, allowSameColor = options.allowSameColor;
29227    -1       if (isBlock2(node)) {
29228    -1         return false;
29229    -1       }
29230    -1       var parentBlock = get_composed_parent_default(node);
29231    -1       while (parentBlock && parentBlock.nodeType === 1 && !isBlock2(parentBlock)) {
29232    -1         parentBlock = get_composed_parent_default(parentBlock);
29233    -1       }
29234    -1       if (!parentBlock) {
29235    -1         return void 0;
29236    -1       }
29237    -1       this.relatedNodes([ parentBlock ]);
29238    -1       var nodeColor = _getForegroundColor(node);
29239    -1       var parentColor = _getForegroundColor(parentBlock);
29240    -1       var nodeBackgroundColor = _getBackgroundColor2(node);
29241    -1       var parentBackgroundColor = _getBackgroundColor2(parentBlock);
29242    -1       var textContrast = nodeColor && parentColor ? getContrast2(nodeColor, parentColor) : void 0;
29243    -1       if (textContrast) {
29244    -1         textContrast = Math.floor(textContrast * 100) / 100;
29245    -1       }
29246    -1       if (textContrast && textContrast >= requiredContrastRatio) {
29247    -1         return true;
29248    -1       }
29249    -1       var backgroundContrast = nodeBackgroundColor && parentBackgroundColor ? getContrast2(nodeBackgroundColor, parentBackgroundColor) : void 0;
29250    -1       if (backgroundContrast) {
29251    -1         backgroundContrast = Math.floor(backgroundContrast * 100) / 100;
29252    -1       }
29253    -1       if (backgroundContrast && backgroundContrast >= requiredContrastRatio) {
29254    -1         return true;
29255    -1       }
29256    -1       if (!backgroundContrast) {
29257    -1         var _incomplete_data_defa;
29258    -1         var reason = (_incomplete_data_defa = incomplete_data_default.get('bgColor')) !== null && _incomplete_data_defa !== void 0 ? _incomplete_data_defa : 'bgContrast';
29259    -1         this.data({
29260    -1           messageKey: reason
29261    -1         });
29262    -1         incomplete_data_default.clear();
29263    -1         return void 0;
29264    -1       }
29265    -1       if (!textContrast) {
29266    -1         return void 0;
29267    -1       }
29268    -1       if (allowSameColor && textContrast === 1 && backgroundContrast === 1) {
29269    -1         return true;
29270    -1       }
29271    -1       if (textContrast === 1 && backgroundContrast > 1) {
29272    -1         this.data({
29273    -1           messageKey: 'bgContrast',
29274    -1           contrastRatio: backgroundContrast,
29275    -1           requiredContrastRatio: requiredContrastRatio,
29276    -1           nodeBackgroundColor: nodeBackgroundColor ? nodeBackgroundColor.toHexString() : void 0,
29277    -1           parentBackgroundColor: parentBackgroundColor ? parentBackgroundColor.toHexString() : void 0
29278    -1         });
29279    -1         return false;
29280    -1       }
29281    -1       this.data({
29282    -1         messageKey: 'fgContrast',
29283    -1         contrastRatio: textContrast,
29284    -1         requiredContrastRatio: requiredContrastRatio,
29285    -1         nodeColor: nodeColor ? nodeColor.toHexString() : void 0,
29286    -1         parentColor: parentColor ? parentColor.toHexString() : void 0
29287    -1       });
29288    -1       return false;
29289    -1     }
29290    -1     var link_in_text_block_evaluate_default = linkInTextBlockEvaluate;
29291    -1     var blockLike3 = [ 'block', 'list-item', 'table', 'flex', 'grid', 'inline-block' ];
29292    -1     function linkInTextBlockStyleEvaluate(node) {
29293    -1       if (isBlock3(node)) {
29294    -1         return false;
29295    -1       }
29296    -1       var parentBlock = get_composed_parent_default(node);
29297    -1       while (parentBlock && parentBlock.nodeType === 1 && !isBlock3(parentBlock)) {
29298    -1         parentBlock = get_composed_parent_default(parentBlock);
29299    -1       }
29300    -1       if (!parentBlock) {
29301    -1         return void 0;
   -1 30267           continue;
   -1 30268         }
   -1 30269         if (bgElmStyle.getPropertyValue('display') !== 'inline' && !fullyEncompasses(bgElm, textRects)) {
   -1 30270           bgElms.push(bgElm);
   -1 30271           incomplete_data_default.set('bgColor', 'elmPartiallyObscured');
   -1 30272           return null;
   -1 30273         }
   -1 30274         bgElms.push(bgElm);
   -1 30275         if (bgColor.alpha === 1) {
   -1 30276           break;
   -1 30277         }
29302 30278       }
29303    -1       this.relatedNodes([ parentBlock ]);
29304    -1       if (element_is_distinct_default(node, parentBlock)) {
29305    -1         return true;
   -1 30279       var stackingContext = _getStackingContext(elm, elmStack);
   -1 30280       bgColors = stackingContext.map(_stackingContextToColor).concat(bgColors);
   -1 30281       var pageBgs = getPageBackgroundColors(elm, elmStack.includes(document.body));
   -1 30282       (_bgColors = bgColors).unshift.apply(_bgColors, _toConsumableArray(pageBgs));
   -1 30283       if (bgColors.length === 0) {
   -1 30284         return new color_default(255, 255, 255, 1);
29306 30285       }
29307    -1       if (hasPseudoContent(node)) {
29308    -1         this.data({
29309    -1           messageKey: 'pseudoContent'
29310    -1         });
29311    -1         return void 0;
   -1 30286       var blendedColor = bgColors.reduce(function(bgColor, fgColor) {
   -1 30287         return _flattenColors(fgColor.color, bgColor.color instanceof color_default ? bgColor.color : bgColor, fgColor.blendMode);
   -1 30288       });
   -1 30289       return _flattenColors(blendedColor.color instanceof color_default ? blendedColor.color : blendedColor, new color_default(255, 255, 255, 1));
   -1 30290     }
   -1 30291     function fullyEncompasses(node, rects) {
   -1 30292       rects = Array.isArray(rects) ? rects : [ rects ];
   -1 30293       var nodeRect = node.getBoundingClientRect();
   -1 30294       var right = nodeRect.right, bottom = nodeRect.bottom;
   -1 30295       var style = window.getComputedStyle(node);
   -1 30296       var overflow = style.getPropertyValue('overflow');
   -1 30297       if ([ 'scroll', 'auto' ].includes(overflow) || node instanceof window.HTMLHtmlElement) {
   -1 30298         right = nodeRect.left + node.scrollWidth;
   -1 30299         bottom = nodeRect.top + node.scrollHeight;
29312 30300       }
29313    -1       return false;
   -1 30301       return rects.every(function(rect) {
   -1 30302         return rect.top >= nodeRect.top && rect.bottom <= bottom && rect.left >= nodeRect.left && rect.right <= right;
   -1 30303       });
29314 30304     }
29315    -1     function isBlock3(elm) {
29316    -1       var display2 = window.getComputedStyle(elm).getPropertyValue('display');
29317    -1       return blockLike3.indexOf(display2) !== -1 || display2.substr(0, 6) === 'table-';
   -1 30305     function normalizeBlendMode2(blendmode) {
   -1 30306       return !!blendmode ? blendmode : void 0;
29318 30307     }
29319    -1     function hasPseudoContent(node) {
29320    -1       for (var _i33 = 0, _arr4 = [ 'before', 'after' ]; _i33 < _arr4.length; _i33++) {
29321    -1         var pseudo = _arr4[_i33];
29322    -1         var style = window.getComputedStyle(node, ':'.concat(pseudo));
29323    -1         var content = style.getPropertyValue('content');
29324    -1         if (content !== 'none') {
29325    -1           return true;
   -1 30308     function getPageBackgroundColors(elm, stackContainsBody) {
   -1 30309       var pageColors = [];
   -1 30310       if (!stackContainsBody) {
   -1 30311         var html = document.documentElement;
   -1 30312         var body = document.body;
   -1 30313         var htmlStyle = window.getComputedStyle(html);
   -1 30314         var bodyStyle = window.getComputedStyle(body);
   -1 30315         var htmlBgColor = get_own_background_color_default(htmlStyle);
   -1 30316         var bodyBgColor = get_own_background_color_default(bodyStyle);
   -1 30317         var bodyBgColorApplies = bodyBgColor.alpha !== 0 && fullyEncompasses(body, elm.getBoundingClientRect());
   -1 30318         if (bodyBgColor.alpha !== 0 && htmlBgColor.alpha === 0 || bodyBgColorApplies && bodyBgColor.alpha !== 1) {
   -1 30319           pageColors.unshift({
   -1 30320             color: bodyBgColor,
   -1 30321             blendMode: normalizeBlendMode2(bodyStyle.getPropertyValue('mix-blend-mode'))
   -1 30322           });
   -1 30323         }
   -1 30324         if (htmlBgColor.alpha !== 0 && (!bodyBgColorApplies || bodyBgColorApplies && bodyBgColor.alpha !== 1)) {
   -1 30325           pageColors.unshift({
   -1 30326             color: htmlBgColor,
   -1 30327             blendMode: normalizeBlendMode2(htmlStyle.getPropertyValue('mix-blend-mode'))
   -1 30328           });
29326 30329         }
29327 30330       }
29328    -1       return false;
   -1 30331       return pageColors;
29329 30332     }
29330    -1     function autocompleteAppropriateEvaluate(node, options, virtualNode) {
29331    -1       if (virtualNode.props.nodeName !== 'input') {
29332    -1         return true;
   -1 30333     function getContrast(bgColor, fgColor) {
   -1 30334       if (!fgColor || !bgColor) {
   -1 30335         return null;
29333 30336       }
29334    -1       var number = [ 'text', 'search', 'number', 'tel' ];
29335    -1       var url = [ 'text', 'search', 'url' ];
29336    -1       var allowedTypesMap = {
29337    -1         bday: [ 'text', 'search', 'date' ],
29338    -1         email: [ 'text', 'search', 'email' ],
29339    -1         username: [ 'text', 'search', 'email' ],
29340    -1         'street-address': [ 'text' ],
29341    -1         tel: [ 'text', 'search', 'tel' ],
29342    -1         'tel-country-code': [ 'text', 'search', 'tel' ],
29343    -1         'tel-national': [ 'text', 'search', 'tel' ],
29344    -1         'tel-area-code': [ 'text', 'search', 'tel' ],
29345    -1         'tel-local': [ 'text', 'search', 'tel' ],
29346    -1         'tel-local-prefix': [ 'text', 'search', 'tel' ],
29347    -1         'tel-local-suffix': [ 'text', 'search', 'tel' ],
29348    -1         'tel-extension': [ 'text', 'search', 'tel' ],
29349    -1         'cc-number': number,
29350    -1         'cc-exp': [ 'text', 'search', 'month', 'tel' ],
29351    -1         'cc-exp-month': number,
29352    -1         'cc-exp-year': number,
29353    -1         'cc-csc': number,
29354    -1         'transaction-amount': number,
29355    -1         'bday-day': number,
29356    -1         'bday-month': number,
29357    -1         'bday-year': number,
29358    -1         'new-password': [ 'text', 'search', 'password' ],
29359    -1         'current-password': [ 'text', 'search', 'password' ],
29360    -1         url: url,
29361    -1         photo: url,
29362    -1         impp: url
29363    -1       };
29364    -1       if (_typeof(options) === 'object') {
29365    -1         Object.keys(options).forEach(function(key) {
29366    -1           if (!allowedTypesMap[key]) {
29367    -1             allowedTypesMap[key] = [];
29368    -1           }
29369    -1           allowedTypesMap[key] = allowedTypesMap[key].concat(options[key]);
   -1 30337       if (fgColor.alpha < 1) {
   -1 30338         fgColor = _flattenColors(fgColor, bgColor);
   -1 30339       }
   -1 30340       var bL = bgColor.getRelativeLuminance();
   -1 30341       var fL = fgColor.getRelativeLuminance();
   -1 30342       return (Math.max(fL, bL) + .05) / (Math.min(fL, bL) + .05);
   -1 30343     }
   -1 30344     var get_contrast_default = getContrast;
   -1 30345     function _getForegroundColor(node, _, bgColor) {
   -1 30346       var _bgColor;
   -1 30347       var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};
   -1 30348       var nodeStyle = window.getComputedStyle(node);
   -1 30349       var colorStack = [ function() {
   -1 30350         return getStrokeColor(nodeStyle, options);
   -1 30351       }, function() {
   -1 30352         return getTextColor(nodeStyle);
   -1 30353       }, function() {
   -1 30354         return _getTextShadowColors(node, {
   -1 30355           minRatio: 0
29370 30356         });
   -1 30357       } ];
   -1 30358       var fgColors = [];
   -1 30359       for (var _i32 = 0, _colorStack = colorStack; _i32 < _colorStack.length; _i32++) {
   -1 30360         var colorFn = _colorStack[_i32];
   -1 30361         var _color4 = colorFn();
   -1 30362         if (!_color4) {
   -1 30363           continue;
   -1 30364         }
   -1 30365         fgColors = fgColors.concat(_color4);
   -1 30366         if (_color4.alpha === 1) {
   -1 30367           break;
   -1 30368         }
29371 30369       }
29372    -1       var autocompleteAttr = virtualNode.attr('autocomplete');
29373    -1       var autocompleteTerms = autocompleteAttr.split(/\s+/g).map(function(term) {
29374    -1         return term.toLowerCase();
   -1 30370       var fgColor = fgColors.reduce(function(source, backdrop) {
   -1 30371         return _flattenColors(source, backdrop);
29375 30372       });
29376    -1       var purposeTerm = autocompleteTerms[autocompleteTerms.length - 1];
29377    -1       if (_autocomplete.stateTerms.includes(purposeTerm)) {
29378    -1         return true;
29379    -1       }
29380    -1       var allowedTypes = allowedTypesMap[purposeTerm];
29381    -1       var type2 = virtualNode.hasAttr('type') ? sanitize_default(virtualNode.attr('type')).toLowerCase() : 'text';
29382    -1       type2 = valid_input_type_default().includes(type2) ? type2 : 'text';
29383    -1       if (typeof allowedTypes === 'undefined') {
29384    -1         return type2 === 'text';
   -1 30373       (_bgColor = bgColor) !== null && _bgColor !== void 0 ? _bgColor : bgColor = _getBackgroundColor2(node, []);
   -1 30374       if (bgColor === null) {
   -1 30375         var reason = incomplete_data_default.get('bgColor');
   -1 30376         incomplete_data_default.set('fgColor', reason);
   -1 30377         return null;
29385 30378       }
29386    -1       return allowedTypes.includes(type2);
   -1 30379       var stackingContexts = _getStackingContext(node);
   -1 30380       var context = findNodeInContexts(stackingContexts, node);
   -1 30381       return _flattenColors(calculateBlendedForegroundColor(fgColor, context, stackingContexts), new color_default(255, 255, 255, 1));
29387 30382     }
29388    -1     var autocomplete_appropriate_evaluate_default = autocompleteAppropriateEvaluate;
29389    -1     function autocompleteValidEvaluate(node, options, virtualNode) {
29390    -1       var autocomplete2 = virtualNode.attr('autocomplete') || '';
29391    -1       return is_valid_autocomplete_default(autocomplete2, options);
   -1 30383     function getTextColor(nodeStyle) {
   -1 30384       return new color_default().parseString(nodeStyle.getPropertyValue('-webkit-text-fill-color') || nodeStyle.getPropertyValue('color'));
29392 30385     }
29393    -1     var autocomplete_valid_evaluate_default = autocompleteValidEvaluate;
29394    -1     function attrNonSpaceContentEvaluate(node) {
29395    -1       var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
29396    -1       var vNode = arguments.length > 2 ? arguments[2] : undefined;
29397    -1       if (!options.attribute || typeof options.attribute !== 'string') {
29398    -1         throw new TypeError('attr-non-space-content requires options.attribute to be a string');
29399    -1       }
29400    -1       if (!vNode.hasAttr(options.attribute)) {
29401    -1         this.data({
29402    -1           messageKey: 'noAttr'
29403    -1         });
29404    -1         return false;
   -1 30386     function getStrokeColor(nodeStyle, _ref109) {
   -1 30387       var _ref109$textStrokeEmM = _ref109.textStrokeEmMin, textStrokeEmMin = _ref109$textStrokeEmM === void 0 ? 0 : _ref109$textStrokeEmM;
   -1 30388       var strokeWidth = parseFloat(nodeStyle.getPropertyValue('-webkit-text-stroke-width'));
   -1 30389       if (strokeWidth === 0) {
   -1 30390         return null;
29405 30391       }
29406    -1       var attribute = vNode.attr(options.attribute);
29407    -1       var attributeIsEmpty = !sanitize_default(attribute);
29408    -1       if (attributeIsEmpty) {
29409    -1         this.data({
29410    -1           messageKey: 'emptyAttr'
29411    -1         });
29412    -1         return false;
   -1 30392       var fontSize = nodeStyle.getPropertyValue('font-size');
   -1 30393       var relativeStrokeWidth = strokeWidth / parseFloat(fontSize);
   -1 30394       if (isNaN(relativeStrokeWidth) || relativeStrokeWidth < textStrokeEmMin) {
   -1 30395         return null;
29413 30396       }
29414    -1       return true;
   -1 30397       var strokeColor = nodeStyle.getPropertyValue('-webkit-text-stroke-color');
   -1 30398       return new color_default().parseString(strokeColor);
29415 30399     }
29416    -1     var attr_non_space_content_evaluate_default = attrNonSpaceContentEvaluate;
29417    -1     function pageHasElmAfter(results) {
29418    -1       var elmUsedAnywhere = results.some(function(frameResult) {
29419    -1         return frameResult.result === true;
29420    -1       });
29421    -1       if (elmUsedAnywhere) {
29422    -1         results.forEach(function(result) {
29423    -1           result.result = true;
   -1 30400     function calculateBlendedForegroundColor(fgColor, context, stackingContexts) {
   -1 30401       while (context) {
   -1 30402         var _context$ancestor;
   -1 30403         if (context.opacity === 1 && context.ancestor) {
   -1 30404           context = context.ancestor;
   -1 30405           continue;
   -1 30406         }
   -1 30407         fgColor.alpha *= context.opacity;
   -1 30408         var stack = ((_context$ancestor = context.ancestor) === null || _context$ancestor === void 0 ? void 0 : _context$ancestor.descendants) || stackingContexts;
   -1 30409         if (context.opacity !== 1) {
   -1 30410           stack = stack.slice(0, stack.indexOf(context));
   -1 30411         }
   -1 30412         var bgColors = stack.map(_stackingContextToColor);
   -1 30413         if (!bgColors.length) {
   -1 30414           context = context.ancestor;
   -1 30415           continue;
   -1 30416         }
   -1 30417         var bgColor = bgColors.reduce(function(backdrop, source) {
   -1 30418           return _flattenColors(source.color, backdrop.color instanceof color_default ? backdrop.color : backdrop);
   -1 30419         }, {
   -1 30420           color: new color_default(0, 0, 0, 0),
   -1 30421           blendMode: 'normal'
29424 30422         });
   -1 30423         fgColor = _flattenColors(fgColor, bgColor);
   -1 30424         context = context.ancestor;
29425 30425       }
29426    -1       return results;
29427    -1     }
29428    -1     var has_descendant_after_default = pageHasElmAfter;
29429    -1     function hasDescendant(node, options, virtualNode) {
29430    -1       if (!options || !options.selector || typeof options.selector !== 'string') {
29431    -1         throw new TypeError('has-descendant requires options.selector to be a string');
29432    -1       }
29433    -1       if (options.passForModal && is_modal_open_default()) {
29434    -1         return true;
29435    -1       }
29436    -1       var matchingElms = query_selector_all_filter_default(virtualNode, options.selector, function(vNode) {
29437    -1         return _isVisibleToScreenReaders(vNode);
29438    -1       });
29439    -1       this.relatedNodes(matchingElms.map(function(vNode) {
29440    -1         return vNode.actualNode;
29441    -1       }));
29442    -1       return matchingElms.length > 0;
   -1 30426       return fgColor;
29443 30427     }
29444    -1     var has_descendant_evaluate_default = hasDescendant;
29445    -1     function hasTextContentEvaluate(node, options, virtualNode) {
   -1 30428     function findNodeInContexts(contexts, node) {
   -1 30429       var _iterator18 = _createForOfIteratorHelper(contexts), _step18;
29446 30430       try {
29447    -1         return sanitize_default(subtree_text_default(virtualNode)) !== '';
29448    -1       } catch (e) {
29449    -1         return void 0;
   -1 30431         for (_iterator18.s(); !(_step18 = _iterator18.n()).done; ) {
   -1 30432           var _context$vNode;
   -1 30433           var context = _step18.value;
   -1 30434           if (((_context$vNode = context.vNode) === null || _context$vNode === void 0 ? void 0 : _context$vNode.actualNode) === node) {
   -1 30435             return context;
   -1 30436           }
   -1 30437           var found = findNodeInContexts(context.descendants, node);
   -1 30438           if (found) {
   -1 30439             return found;
   -1 30440           }
   -1 30441         }
   -1 30442       } catch (err) {
   -1 30443         _iterator18.e(err);
   -1 30444       } finally {
   -1 30445         _iterator18.f();
29450 30446       }
29451 30447     }
29452    -1     function matchesDefinitionEvaluate(_, options, virtualNode) {
29453    -1       return matches_default2(virtualNode, options.matcher);
29454    -1     }
29455    -1     var matches_definition_evaluate_default = matchesDefinitionEvaluate;
29456    -1     function pageNoDuplicateAfter(results) {
29457    -1       return results.filter(function(checkResult) {
29458    -1         return checkResult.data !== 'ignored';
29459    -1       });
   -1 30448     function hasValidContrastRatio(bg, fg, fontSize, isBold) {
   -1 30449       var contrast2 = get_contrast_default(bg, fg);
   -1 30450       var isSmallFont = isBold && Math.ceil(fontSize * 72) / 96 < 14 || !isBold && Math.ceil(fontSize * 72) / 96 < 18;
   -1 30451       var expectedContrastRatio = isSmallFont ? 4.5 : 3;
   -1 30452       return {
   -1 30453         isValid: contrast2 > expectedContrastRatio,
   -1 30454         contrastRatio: contrast2,
   -1 30455         expectedContrastRatio: expectedContrastRatio
   -1 30456       };
29460 30457     }
29461    -1     var page_no_duplicate_after_default = pageNoDuplicateAfter;
29462    -1     function pageNoDuplicateEvaluate(node, options, virtualNode) {
29463    -1       if (!options || !options.selector || typeof options.selector !== 'string') {
29464    -1         throw new TypeError('page-no-duplicate requires options.selector to be a string');
29465    -1       }
29466    -1       var key = 'page-no-duplicate;' + options.selector;
29467    -1       if (cache_default.get(key)) {
29468    -1         this.data('ignored');
29469    -1         return;
   -1 30458     var has_valid_contrast_ratio_default = hasValidContrastRatio;
   -1 30459     var forms_exports = {};
   -1 30460     __export(forms_exports, {
   -1 30461       isAriaCombobox: function isAriaCombobox() {
   -1 30462         return is_aria_combobox_default;
   -1 30463       },
   -1 30464       isAriaListbox: function isAriaListbox() {
   -1 30465         return is_aria_listbox_default;
   -1 30466       },
   -1 30467       isAriaRange: function isAriaRange() {
   -1 30468         return is_aria_range_default;
   -1 30469       },
   -1 30470       isAriaTextbox: function isAriaTextbox() {
   -1 30471         return is_aria_textbox_default;
   -1 30472       },
   -1 30473       isDisabled: function isDisabled() {
   -1 30474         return is_disabled_default;
   -1 30475       },
   -1 30476       isNativeSelect: function isNativeSelect() {
   -1 30477         return is_native_select_default;
   -1 30478       },
   -1 30479       isNativeTextbox: function isNativeTextbox() {
   -1 30480         return is_native_textbox_default;
29470 30481       }
29471    -1       cache_default.set(key, true);
29472    -1       var elms = query_selector_all_filter_default(axe._tree[0], options.selector, function(elm) {
29473    -1         return _isVisibleToScreenReaders(elm);
29474    -1       });
29475    -1       if (typeof options.nativeScopeFilter === 'string') {
29476    -1         elms = elms.filter(function(elm) {
29477    -1           return elm.actualNode.hasAttribute('role') || !find_up_virtual_default(elm, options.nativeScopeFilter);
29478    -1         });
   -1 30482     });
   -1 30483     var disabledNodeNames = [ 'fieldset', 'button', 'select', 'input', 'textarea' ];
   -1 30484     function isDisabled(virtualNode) {
   -1 30485       var disabledState = virtualNode._isDisabled;
   -1 30486       if (typeof disabledState === 'boolean') {
   -1 30487         return disabledState;
29479 30488       }
29480    -1       if (typeof options.role === 'string') {
29481    -1         elms = elms.filter(function(elm) {
29482    -1           return get_role_default(elm) === options.role;
29483    -1         });
   -1 30489       var nodeName2 = virtualNode.props.nodeName;
   -1 30490       var ariaDisabled = virtualNode.attr('aria-disabled');
   -1 30491       if (disabledNodeNames.includes(nodeName2) && virtualNode.hasAttr('disabled')) {
   -1 30492         disabledState = true;
   -1 30493       } else if (ariaDisabled) {
   -1 30494         disabledState = ariaDisabled.toLowerCase() === 'true';
   -1 30495       } else if (virtualNode.parent) {
   -1 30496         disabledState = isDisabled(virtualNode.parent);
   -1 30497       } else {
   -1 30498         disabledState = false;
29484 30499       }
29485    -1       this.relatedNodes(elms.filter(function(elm) {
29486    -1         return elm !== virtualNode;
29487    -1       }).map(function(elm) {
29488    -1         return elm.actualNode;
29489    -1       }));
29490    -1       return elms.length <= 1;
29491    -1     }
29492    -1     var page_no_duplicate_evaluate_default = pageNoDuplicateEvaluate;
29493    -1     function accesskeysAfter(results) {
29494    -1       var seen = {};
29495    -1       return results.filter(function(r) {
29496    -1         if (!r.data) {
29497    -1           return false;
29498    -1         }
29499    -1         var key = r.data.toUpperCase();
29500    -1         if (!seen[key]) {
29501    -1           seen[key] = r;
29502    -1           r.relatedNodes = [];
29503    -1           return true;
29504    -1         }
29505    -1         seen[key].relatedNodes.push(r.relatedNodes[0]);
29506    -1         return false;
29507    -1       }).map(function(r) {
29508    -1         r.result = !!r.relatedNodes.length;
29509    -1         return r;
29510    -1       });
   -1 30500       virtualNode._isDisabled = disabledState;
   -1 30501       return disabledState;
29511 30502     }
29512    -1     var accesskeys_after_default = accesskeysAfter;
29513    -1     function accesskeysEvaluate(node, options, vNode) {
29514    -1       if (!_isHiddenForEveryone(vNode)) {
29515    -1         this.data(vNode.attr('accesskey'));
29516    -1         this.relatedNodes([ node ]);
   -1 30503     var is_disabled_default = isDisabled;
   -1 30504     function identicalLinksSamePurposeEvaluate(node, options, virtualNode) {
   -1 30505       var accText = text_exports.accessibleTextVirtual(virtualNode);
   -1 30506       var name = text_exports.sanitize(text_exports.removeUnicode(accText, {
   -1 30507         emoji: true,
   -1 30508         nonBmp: true,
   -1 30509         punctuations: true
   -1 30510       })).toLowerCase();
   -1 30511       if (!name) {
   -1 30512         return void 0;
29517 30513       }
   -1 30514       var afterData = {
   -1 30515         name: name,
   -1 30516         urlProps: dom_exports.urlPropsFromAttribute(node, 'href')
   -1 30517       };
   -1 30518       this.data(afterData);
   -1 30519       this.relatedNodes([ node ]);
29518 30520       return true;
29519 30521     }
29520    -1     var accesskeys_evaluate_default = accesskeysEvaluate;
29521    -1     function focusableContentEvaluate(node, options, virtualNode) {
29522    -1       var tabbableElements = virtualNode.tabbableElements;
29523    -1       if (!tabbableElements) {
   -1 30522     var identical_links_same_purpose_evaluate_default = identicalLinksSamePurposeEvaluate;
   -1 30523     function isIdenticalObject(a2, b2) {
   -1 30524       if (!a2 || !b2) {
29524 30525         return false;
29525 30526       }
29526    -1       var tabbableContentElements = tabbableElements.filter(function(el) {
29527    -1         return el !== virtualNode;
   -1 30527       var aProps = Object.getOwnPropertyNames(a2);
   -1 30528       var bProps = Object.getOwnPropertyNames(b2);
   -1 30529       if (aProps.length !== bProps.length) {
   -1 30530         return false;
   -1 30531       }
   -1 30532       var result = aProps.every(function(propName) {
   -1 30533         var aValue = a2[propName];
   -1 30534         var bValue = b2[propName];
   -1 30535         if (_typeof(aValue) !== _typeof(bValue)) {
   -1 30536           return false;
   -1 30537         }
   -1 30538         if (_typeof(aValue) === 'object' || _typeof(bValue) === 'object') {
   -1 30539           return isIdenticalObject(aValue, bValue);
   -1 30540         }
   -1 30541         return aValue === bValue;
29528 30542       });
29529    -1       return tabbableContentElements.length > 0;
   -1 30543       return result;
29530 30544     }
29531    -1     var focusable_content_evaluate_default = focusableContentEvaluate;
29532    -1     function focusableDisabledEvaluate(node, options, virtualNode) {
29533    -1       var elementsThatCanBeDisabled = [ 'button', 'fieldset', 'input', 'select', 'textarea' ];
29534    -1       var tabbableElements = virtualNode.tabbableElements;
29535    -1       if (!tabbableElements || !tabbableElements.length) {
29536    -1         return true;
   -1 30545     function identicalLinksSamePurposeAfter(results) {
   -1 30546       if (results.length < 2) {
   -1 30547         return results;
29537 30548       }
29538    -1       var relatedNodes = tabbableElements.filter(function(vNode) {
29539    -1         return elementsThatCanBeDisabled.includes(vNode.props.nodeName);
   -1 30549       var incompleteResults = results.filter(function(_ref110) {
   -1 30550         var result = _ref110.result;
   -1 30551         return result !== void 0;
29540 30552       });
29541    -1       this.relatedNodes(relatedNodes.map(function(vNode) {
29542    -1         return vNode.actualNode;
29543    -1       }));
29544    -1       if (relatedNodes.length === 0 || is_modal_open_default()) {
29545    -1         return true;
   -1 30553       var uniqueResults = [];
   -1 30554       var nameMap = {};
   -1 30555       var _loop8 = function _loop8(index) {
   -1 30556         var _currentResult$relate;
   -1 30557         var currentResult = incompleteResults[index];
   -1 30558         var _currentResult$data = currentResult.data, name = _currentResult$data.name, urlProps = _currentResult$data.urlProps;
   -1 30559         if (nameMap[name]) {
   -1 30560           return 1;
   -1 30561         }
   -1 30562         var sameNameResults = incompleteResults.filter(function(_ref111, resultNum) {
   -1 30563           var data = _ref111.data;
   -1 30564           return data.name === name && resultNum !== index;
   -1 30565         });
   -1 30566         var isSameUrl = sameNameResults.every(function(_ref112) {
   -1 30567           var data = _ref112.data;
   -1 30568           return isIdenticalObject(data.urlProps, urlProps);
   -1 30569         });
   -1 30570         if (sameNameResults.length && !isSameUrl) {
   -1 30571           currentResult.result = void 0;
   -1 30572         }
   -1 30573         currentResult.relatedNodes = [];
   -1 30574         (_currentResult$relate = currentResult.relatedNodes).push.apply(_currentResult$relate, _toConsumableArray(sameNameResults.map(function(node) {
   -1 30575           return node.relatedNodes[0];
   -1 30576         })));
   -1 30577         nameMap[name] = sameNameResults;
   -1 30578         uniqueResults.push(currentResult);
   -1 30579       };
   -1 30580       for (var index = 0; index < incompleteResults.length; index++) {
   -1 30581         if (_loop8(index)) {
   -1 30582           continue;
   -1 30583         }
29546 30584       }
29547    -1       return relatedNodes.every(function(vNode) {
29548    -1         var pointerEvents = vNode.getComputedStylePropertyValue('pointer-events');
29549    -1         var width = parseInt(vNode.getComputedStylePropertyValue('width'));
29550    -1         var height = parseInt(vNode.getComputedStylePropertyValue('height'));
29551    -1         return vNode.actualNode.onfocus || (width === 0 || height === 0) && pointerEvents === 'none';
29552    -1       }) ? void 0 : false;
   -1 30585       return uniqueResults;
29553 30586     }
29554    -1     var focusable_disabled_evaluate_default = focusableDisabledEvaluate;
29555    -1     function focusableElementEvaluate(node, options, virtualNode) {
29556    -1       if (virtualNode.hasAttr('contenteditable') && isContenteditable(virtualNode)) {
29557    -1         return true;
   -1 30587     var identical_links_same_purpose_after_default = identicalLinksSamePurposeAfter;
   -1 30588     function getLevel(vNode) {
   -1 30589       var role = get_role_default(vNode);
   -1 30590       var headingRole = role && role.includes('heading');
   -1 30591       var ariaHeadingLevel = vNode.attr('aria-level');
   -1 30592       var ariaLevel = parseInt(ariaHeadingLevel, 10);
   -1 30593       var _ref113 = vNode.props.nodeName.match(/h(\d)/) || [], _ref114 = _slicedToArray(_ref113, 2), headingLevel = _ref114[1];
   -1 30594       if (!headingRole) {
   -1 30595         return -1;
29558 30596       }
29559    -1       return _isInTabOrder(virtualNode);
29560    -1       function isContenteditable(vNode) {
29561    -1         var contenteditable = vNode.attr('contenteditable');
29562    -1         if (contenteditable === 'true' || contenteditable === '') {
29563    -1           return true;
29564    -1         }
29565    -1         if (contenteditable === 'false') {
29566    -1           return false;
29567    -1         }
29568    -1         var ancestor = closest_default(virtualNode.parent, '[contenteditable]');
29569    -1         if (!ancestor) {
29570    -1           return false;
   -1 30597       if (headingLevel && !ariaHeadingLevel) {
   -1 30598         return parseInt(headingLevel, 10);
   -1 30599       }
   -1 30600       if (isNaN(ariaLevel) || ariaLevel < 1) {
   -1 30601         if (headingLevel) {
   -1 30602           return parseInt(headingLevel, 10);
29571 30603         }
29572    -1         return isContenteditable(ancestor);
   -1 30604         return 2;
   -1 30605       }
   -1 30606       if (ariaLevel) {
   -1 30607         return ariaLevel;
   -1 30608       }
   -1 30609       return -1;
   -1 30610     }
   -1 30611     function headingOrderEvaluate() {
   -1 30612       var headingOrder = cache_default.get('headingOrder');
   -1 30613       if (headingOrder) {
   -1 30614         return true;
29573 30615       }
   -1 30616       var selector = 'h1, h2, h3, h4, h5, h6, [role=heading], iframe, frame';
   -1 30617       var vNodes = query_selector_all_filter_default(axe._tree[0], selector, _isVisibleToScreenReaders);
   -1 30618       headingOrder = vNodes.map(function(vNode) {
   -1 30619         return {
   -1 30620           ancestry: [ _getAncestry(vNode.actualNode) ],
   -1 30621           level: getLevel(vNode)
   -1 30622         };
   -1 30623       });
   -1 30624       this.data({
   -1 30625         headingOrder: headingOrder
   -1 30626       });
   -1 30627       cache_default.set('headingOrder', vNodes);
   -1 30628       return true;
29574 30629     }
29575    -1     var focusable_element_evaluate_default = focusableElementEvaluate;
29576    -1     function focusableModalOpenEvaluate(node, options, virtualNode) {
29577    -1       var tabbableElements = virtualNode.tabbableElements.map(function(_ref116) {
29578    -1         var actualNode = _ref116.actualNode;
29579    -1         return actualNode;
   -1 30630     var heading_order_evaluate_default = headingOrderEvaluate;
   -1 30631     function headingOrderAfter(results) {
   -1 30632       var headingOrder = getHeadingOrder(results);
   -1 30633       results.forEach(function(result) {
   -1 30634         result.result = getHeadingOrderOutcome(result, headingOrder);
29580 30635       });
29581    -1       if (!tabbableElements || !tabbableElements.length) {
   -1 30636       return results;
   -1 30637     }
   -1 30638     function getHeadingOrderOutcome(result, headingOrder) {
   -1 30639       var _headingOrder$index$l, _headingOrder$index, _headingOrder$level, _headingOrder;
   -1 30640       var index = findHeadingOrderIndex(headingOrder, result.node.ancestry);
   -1 30641       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;
   -1 30642       var prevLevel = (_headingOrder$level = (_headingOrder = headingOrder[index - 1]) === null || _headingOrder === void 0 ? void 0 : _headingOrder.level) !== null && _headingOrder$level !== void 0 ? _headingOrder$level : -1;
   -1 30643       if (index === 0) {
29582 30644         return true;
29583 30645       }
29584    -1       if (is_modal_open_default()) {
29585    -1         this.relatedNodes(tabbableElements);
   -1 30646       if (currLevel === -1) {
29586 30647         return void 0;
29587 30648       }
29588    -1       return true;
   -1 30649       return currLevel - prevLevel <= 1;
29589 30650     }
29590    -1     var focusable_modal_open_evaluate_default = focusableModalOpenEvaluate;
29591    -1     function focusableNoNameEvaluate(node, options, virtualNode) {
29592    -1       var tabIndex = virtualNode.attr('tabindex');
29593    -1       var inFocusOrder = _isFocusable(virtualNode) && tabIndex > -1;
29594    -1       if (!inFocusOrder) {
29595    -1         return false;
   -1 30651     function getHeadingOrder(results) {
   -1 30652       results = _toConsumableArray(results);
   -1 30653       results.sort(function(_ref115, _ref116) {
   -1 30654         var nodeA = _ref115.node;
   -1 30655         var nodeB = _ref116.node;
   -1 30656         return nodeA.ancestry.length - nodeB.ancestry.length;
   -1 30657       });
   -1 30658       var headingOrder = results.reduce(mergeHeadingOrder, []);
   -1 30659       return headingOrder.filter(function(_ref117) {
   -1 30660         var level = _ref117.level;
   -1 30661         return level !== -1;
   -1 30662       });
   -1 30663     }
   -1 30664     function mergeHeadingOrder(mergedHeadingOrder, result) {
   -1 30665       var _result$data;
   -1 30666       var frameHeadingOrder = (_result$data = result.data) === null || _result$data === void 0 ? void 0 : _result$data.headingOrder;
   -1 30667       var frameAncestry = shortenArray(result.node.ancestry, 1);
   -1 30668       if (!frameHeadingOrder) {
   -1 30669         return mergedHeadingOrder;
29596 30670       }
29597    -1       try {
29598    -1         return !_accessibleTextVirtual(virtualNode);
29599    -1       } catch (e) {
29600    -1         return void 0;
   -1 30671       var normalizedHeadingOrder = frameHeadingOrder.map(function(heading) {
   -1 30672         return addFrameToHeadingAncestry(heading, frameAncestry);
   -1 30673       });
   -1 30674       var index = getFrameIndex(mergedHeadingOrder, frameAncestry);
   -1 30675       if (index === -1) {
   -1 30676         mergedHeadingOrder.push.apply(mergedHeadingOrder, _toConsumableArray(normalizedHeadingOrder));
   -1 30677       } else {
   -1 30678         mergedHeadingOrder.splice.apply(mergedHeadingOrder, [ index, 0 ].concat(_toConsumableArray(normalizedHeadingOrder)));
29601 30679       }
   -1 30680       return mergedHeadingOrder;
29602 30681     }
29603    -1     var focusable_no_name_evaluate_default = focusableNoNameEvaluate;
29604    -1     function focusableNotTabbableEvaluate(node, options, virtualNode) {
29605    -1       var elementsThatCanBeDisabled = [ 'button', 'fieldset', 'input', 'select', 'textarea' ];
29606    -1       var tabbableElements = virtualNode.tabbableElements;
29607    -1       if (!tabbableElements || !tabbableElements.length) {
29608    -1         return true;
   -1 30682     function getFrameIndex(headingOrder, frameAncestry) {
   -1 30683       while (frameAncestry.length) {
   -1 30684         var index = findHeadingOrderIndex(headingOrder, frameAncestry);
   -1 30685         if (index !== -1) {
   -1 30686           return index;
   -1 30687         }
   -1 30688         frameAncestry = shortenArray(frameAncestry, 1);
29609 30689       }
29610    -1       var relatedNodes = tabbableElements.filter(function(vNode) {
29611    -1         return !elementsThatCanBeDisabled.includes(vNode.props.nodeName);
   -1 30690       return -1;
   -1 30691     }
   -1 30692     function findHeadingOrderIndex(headingOrder, ancestry) {
   -1 30693       return headingOrder.findIndex(function(heading) {
   -1 30694         return _matchAncestry(heading.ancestry, ancestry);
29612 30695       });
29613    -1       this.relatedNodes(relatedNodes.map(function(vNode) {
29614    -1         return vNode.actualNode;
29615    -1       }));
29616    -1       if (relatedNodes.length === 0 || is_modal_open_default()) {
29617    -1         return true;
29618    -1       }
29619    -1       return relatedNodes.every(function(vNode) {
29620    -1         var pointerEvents = vNode.getComputedStylePropertyValue('pointer-events');
29621    -1         var width = parseInt(vNode.getComputedStylePropertyValue('width'));
29622    -1         var height = parseInt(vNode.getComputedStylePropertyValue('height'));
29623    -1         return vNode.actualNode.onfocus || (width === 0 || height === 0) && pointerEvents === 'none';
29624    -1       }) ? void 0 : false;
29625 30696     }
29626    -1     var focusable_not_tabbable_evaluate_default = focusableNotTabbableEvaluate;
29627    -1     function frameFocusableContentEvaluate(node, options, virtualNode) {
29628    -1       if (!virtualNode.children) {
29629    -1         return void 0;
   -1 30697     function addFrameToHeadingAncestry(heading, frameAncestry) {
   -1 30698       var ancestry = frameAncestry.concat(heading.ancestry);
   -1 30699       return _extends({}, heading, {
   -1 30700         ancestry: ancestry
   -1 30701       });
   -1 30702     }
   -1 30703     function shortenArray(arr, spliceLength) {
   -1 30704       return arr.slice(0, arr.length - spliceLength);
   -1 30705     }
   -1 30706     function targetSizeEvaluate(node, options, vNode) {
   -1 30707       var minSize = (options === null || options === void 0 ? void 0 : options.minSize) || 24;
   -1 30708       var nodeRect = vNode.boundingClientRect;
   -1 30709       if (_rectHasMinimumSize(minSize * 10, nodeRect)) {
   -1 30710         this.data({
   -1 30711           messageKey: 'large',
   -1 30712           minSize: minSize
   -1 30713         });
   -1 30714         return true;
29630 30715       }
29631    -1       try {
29632    -1         return !virtualNode.children.some(function(child) {
29633    -1           return focusableDescendants(child);
   -1 30716       var hasMinimumSize = _rectHasMinimumSize.bind(null, minSize);
   -1 30717       var nearbyElms = _findNearbyElms(vNode);
   -1 30718       var overflowingContent = filterOverflowingContent(vNode, nearbyElms);
   -1 30719       var _filterByElmsOverlap = filterByElmsOverlap(vNode, nearbyElms), fullyObscuringElms = _filterByElmsOverlap.fullyObscuringElms, partialObscuringElms = _filterByElmsOverlap.partialObscuringElms;
   -1 30720       if (overflowingContent.length && (fullyObscuringElms.length || !hasMinimumSize(nodeRect))) {
   -1 30721         this.data({
   -1 30722           minSize: minSize,
   -1 30723           messageKey: 'contentOverflow'
29634 30724         });
29635    -1       } catch (e) {
   -1 30725         this.relatedNodes(mapActualNodes(overflowingContent));
29636 30726         return void 0;
29637 30727       }
29638    -1     }
29639    -1     function focusableDescendants(vNode) {
29640    -1       if (_isInTabOrder(vNode)) {
   -1 30728       if (fullyObscuringElms.length) {
   -1 30729         this.relatedNodes(mapActualNodes(fullyObscuringElms));
   -1 30730         this.data({
   -1 30731           messageKey: 'obscured'
   -1 30732         });
29641 30733         return true;
29642 30734       }
29643    -1       if (!vNode.children) {
29644    -1         if (vNode.props.nodeType === 1) {
29645    -1           throw new Error('Cannot determine children');
29646    -1         }
29647    -1         return false;
   -1 30735       var negativeOutcome = _isInTabOrder(vNode) ? false : void 0;
   -1 30736       if (!hasMinimumSize(nodeRect)) {
   -1 30737         this.data(_extends({
   -1 30738           minSize: minSize
   -1 30739         }, toDecimalSize(nodeRect)));
   -1 30740         return negativeOutcome;
29648 30741       }
29649    -1       return vNode.children.some(function(child) {
29650    -1         return focusableDescendants(child);
29651    -1       });
29652    -1     }
29653    -1     function landmarkIsTopLevelEvaluate(node) {
29654    -1       var landmarks = get_aria_roles_by_type_default('landmark');
29655    -1       var parent = get_composed_parent_default(node);
29656    -1       var nodeRole = get_role_default(node);
29657    -1       this.data({
29658    -1         role: nodeRole
29659    -1       });
29660    -1       while (parent) {
29661    -1         var role = parent.getAttribute('role');
29662    -1         if (!role && parent.nodeName.toUpperCase() !== 'FORM') {
29663    -1           role = implicit_role_default(parent);
29664    -1         }
29665    -1         if (role && landmarks.includes(role) && !(role === 'main' && nodeRole === 'complementary')) {
29666    -1           return false;
29667    -1         }
29668    -1         parent = get_composed_parent_default(parent);
   -1 30742       var obscuredWidgets = filterFocusableWidgets(partialObscuringElms);
   -1 30743       if (!obscuredWidgets.length) {
   -1 30744         this.data(_extends({
   -1 30745           minSize: minSize
   -1 30746         }, toDecimalSize(nodeRect)));
   -1 30747         return true;
29669 30748       }
29670    -1       return true;
29671    -1     }
29672    -1     var landmark_is_top_level_evaluate_default = landmarkIsTopLevelEvaluate;
29673    -1     function noFocusableContentEvaluate(node, options, virtualNode) {
29674    -1       if (!virtualNode.children) {
   -1 30749       var largestInnerRect = getLargestUnobscuredArea(vNode, obscuredWidgets);
   -1 30750       if (!largestInnerRect) {
   -1 30751         this.data({
   -1 30752           minSize: minSize,
   -1 30753           messageKey: 'tooManyRects'
   -1 30754         });
29675 30755         return void 0;
29676 30756       }
29677    -1       try {
29678    -1         var focusableDescendants2 = getFocusableDescendants(virtualNode);
29679    -1         if (!focusableDescendants2.length) {
29680    -1           return true;
29681    -1         }
29682    -1         var notHiddenElements = focusableDescendants2.filter(usesUnreliableHidingStrategy);
29683    -1         if (notHiddenElements.length > 0) {
   -1 30757       if (!hasMinimumSize(largestInnerRect)) {
   -1 30758         if (overflowingContent.length) {
29684 30759           this.data({
29685    -1             messageKey: 'notHidden'
   -1 30760             minSize: minSize,
   -1 30761             messageKey: 'contentOverflow'
29686 30762           });
29687    -1           this.relatedNodes(notHiddenElements);
29688    -1         } else {
29689    -1           this.relatedNodes(focusableDescendants2);
   -1 30763           this.relatedNodes(mapActualNodes(overflowingContent));
   -1 30764           return void 0;
29690 30765         }
29691    -1         return false;
29692    -1       } catch (e) {
29693    -1         return void 0;
   -1 30766         var allTabbable = obscuredWidgets.every(_isInTabOrder);
   -1 30767         var messageKey = 'partiallyObscured'.concat(allTabbable ? '' : 'NonTabbable');
   -1 30768         this.data(_extends({
   -1 30769           messageKey: messageKey,
   -1 30770           minSize: minSize
   -1 30771         }, toDecimalSize(largestInnerRect)));
   -1 30772         this.relatedNodes(mapActualNodes(obscuredWidgets));
   -1 30773         return allTabbable ? negativeOutcome : void 0;
29694 30774       }
   -1 30775       this.data(_extends({
   -1 30776         minSize: minSize
   -1 30777       }, toDecimalSize(largestInnerRect || nodeRect)));
   -1 30778       this.relatedNodes(mapActualNodes(obscuredWidgets));
   -1 30779       return true;
29695 30780     }
29696    -1     function getFocusableDescendants(vNode) {
29697    -1       if (!vNode.children) {
29698    -1         if (vNode.props.nodeType === 1) {
29699    -1           throw new Error('Cannot determine children');
   -1 30781     function filterOverflowingContent(vNode, nearbyElms) {
   -1 30782       return nearbyElms.filter(function(nearbyElm) {
   -1 30783         return !isEnclosedRect2(nearbyElm, vNode) && isDescendantNotInTabOrder2(vNode, nearbyElm);
   -1 30784       });
   -1 30785     }
   -1 30786     function filterByElmsOverlap(vNode, nearbyElms) {
   -1 30787       var fullyObscuringElms = [];
   -1 30788       var partialObscuringElms = [];
   -1 30789       var _iterator19 = _createForOfIteratorHelper(nearbyElms), _step19;
   -1 30790       try {
   -1 30791         for (_iterator19.s(); !(_step19 = _iterator19.n()).done; ) {
   -1 30792           var vNeighbor = _step19.value;
   -1 30793           if (!isDescendantNotInTabOrder2(vNode, vNeighbor) && _hasVisualOverlap(vNode, vNeighbor) && getCssPointerEvents(vNeighbor) !== 'none') {
   -1 30794             if (isEnclosedRect2(vNode, vNeighbor)) {
   -1 30795               fullyObscuringElms.push(vNeighbor);
   -1 30796             } else {
   -1 30797               partialObscuringElms.push(vNeighbor);
   -1 30798             }
   -1 30799           }
29700 30800         }
29701    -1         return [];
   -1 30801       } catch (err) {
   -1 30802         _iterator19.e(err);
   -1 30803       } finally {
   -1 30804         _iterator19.f();
29702 30805       }
29703    -1       var retVal = [];
29704    -1       vNode.children.forEach(function(child) {
29705    -1         if (get_role_type_default(child) === 'widget' && _isFocusable(child)) {
29706    -1           retVal.push(child);
29707    -1         } else {
29708    -1           retVal.push.apply(retVal, _toConsumableArray(getFocusableDescendants(child)));
   -1 30806       return {
   -1 30807         fullyObscuringElms: fullyObscuringElms,
   -1 30808         partialObscuringElms: partialObscuringElms
   -1 30809       };
   -1 30810     }
   -1 30811     function getLargestUnobscuredArea(vNode, obscuredNodes) {
   -1 30812       var nodeRect = vNode.boundingClientRect;
   -1 30813       var obscuringRects = obscuredNodes.map(function(_ref118) {
   -1 30814         var rect = _ref118.boundingClientRect;
   -1 30815         return rect;
   -1 30816       });
   -1 30817       var unobscuredRects;
   -1 30818       try {
   -1 30819         unobscuredRects = _splitRects(nodeRect, obscuringRects);
   -1 30820       } catch (err2) {
   -1 30821         return null;
   -1 30822       }
   -1 30823       return getLargestRect2(unobscuredRects);
   -1 30824     }
   -1 30825     function getLargestRect2(rects, minSize) {
   -1 30826       return rects.reduce(function(rectA, rectB) {
   -1 30827         var rectAisMinimum = _rectHasMinimumSize(minSize, rectA);
   -1 30828         var rectBisMinimum = _rectHasMinimumSize(minSize, rectB);
   -1 30829         if (rectAisMinimum !== rectBisMinimum) {
   -1 30830           return rectAisMinimum ? rectA : rectB;
29709 30831         }
   -1 30832         var areaA = rectA.width * rectA.height;
   -1 30833         var areaB = rectB.width * rectB.height;
   -1 30834         return areaA > areaB ? rectA : rectB;
29710 30835       });
29711    -1       return retVal;
29712 30836     }
29713    -1     function usesUnreliableHidingStrategy(vNode) {
29714    -1       var tabIndex = parseInt(vNode.attr('tabindex'), 10);
29715    -1       return !isNaN(tabIndex) && tabIndex < 0;
   -1 30837     function filterFocusableWidgets(vNodes) {
   -1 30838       return vNodes.filter(function(vNode) {
   -1 30839         return get_role_type_default(vNode) === 'widget' && _isFocusable(vNode);
   -1 30840       });
29716 30841     }
29717    -1     function tabindexEvaluate(node, options, virtualNode) {
29718    -1       var tabIndex = parseInt(virtualNode.attr('tabindex'), 10);
29719    -1       return isNaN(tabIndex) ? true : tabIndex <= 0;
   -1 30842     function isEnclosedRect2(vNodeA, vNodeB) {
   -1 30843       var rectA = vNodeA.boundingClientRect;
   -1 30844       var rectB = vNodeB.boundingClientRect;
   -1 30845       return rectA.top >= rectB.top && rectA.left >= rectB.left && rectA.bottom <= rectB.bottom && rectA.right <= rectB.right;
29720 30846     }
29721    -1     var tabindex_evaluate_default = tabindexEvaluate;
29722    -1     function altSpaceValueEvaluate(node, options, virtualNode) {
29723    -1       var alt = virtualNode.attr('alt');
29724    -1       var isOnlySpace = /^\s+$/;
29725    -1       return typeof alt === 'string' && isOnlySpace.test(alt);
   -1 30847     function getCssPointerEvents(vNode) {
   -1 30848       return vNode.getComputedStylePropertyValue('pointer-events');
29726 30849     }
29727    -1     var alt_space_value_evaluate_default = altSpaceValueEvaluate;
29728    -1     function duplicateImgLabelEvaluate(node, options, virtualNode) {
29729    -1       if ([ 'none', 'presentation' ].includes(get_role_default(virtualNode))) {
29730    -1         return false;
   -1 30850     function toDecimalSize(rect) {
   -1 30851       return {
   -1 30852         width: Math.round(rect.width * 10) / 10,
   -1 30853         height: Math.round(rect.height * 10) / 10
   -1 30854       };
   -1 30855     }
   -1 30856     function isDescendantNotInTabOrder2(vAncestor, vNode) {
   -1 30857       return _contains(vAncestor, vNode) && !_isInTabOrder(vNode);
   -1 30858     }
   -1 30859     function mapActualNodes(vNodes) {
   -1 30860       return vNodes.map(function(_ref119) {
   -1 30861         var actualNode = _ref119.actualNode;
   -1 30862         return actualNode;
   -1 30863       });
   -1 30864     }
   -1 30865     var roundingMargin2 = .05;
   -1 30866     function targetOffsetEvaluate(node, options, vNode) {
   -1 30867       var minOffset = (options === null || options === void 0 ? void 0 : options.minOffset) || 24;
   -1 30868       if (_rectHasMinimumSize(minOffset * 10, vNode.boundingClientRect)) {
   -1 30869         this.data({
   -1 30870           messageKey: 'large',
   -1 30871           minOffset: minOffset
   -1 30872         });
   -1 30873         return true;
29731 30874       }
29732    -1       var parentVNode = closest_default(virtualNode, options.parentSelector);
29733    -1       if (!parentVNode) {
   -1 30875       var closeNeighbors = [];
   -1 30876       var closestOffset = minOffset;
   -1 30877       var _iterator20 = _createForOfIteratorHelper(_findNearbyElms(vNode, minOffset)), _step20;
   -1 30878       try {
   -1 30879         for (_iterator20.s(); !(_step20 = _iterator20.n()).done; ) {
   -1 30880           var vNeighbor = _step20.value;
   -1 30881           if (get_role_type_default(vNeighbor) !== 'widget' || !_isFocusable(vNeighbor)) {
   -1 30882             continue;
   -1 30883           }
   -1 30884           var offset = null;
   -1 30885           try {
   -1 30886             offset = _getOffset(vNode, vNeighbor, minOffset / 2);
   -1 30887           } catch (err2) {
   -1 30888             if (err2.message.startsWith('splitRects')) {
   -1 30889               this.data({
   -1 30890                 messageKey: 'tooManyRects',
   -1 30891                 closestOffset: 0,
   -1 30892                 minOffset: minOffset
   -1 30893               });
   -1 30894               return void 0;
   -1 30895             }
   -1 30896             throw err2;
   -1 30897           }
   -1 30898           if (offset === null) {
   -1 30899             continue;
   -1 30900           }
   -1 30901           offset = roundToSingleDecimal(offset) * 2;
   -1 30902           if (offset + roundingMargin2 >= minOffset) {
   -1 30903             continue;
   -1 30904           }
   -1 30905           closestOffset = Math.min(closestOffset, offset);
   -1 30906           closeNeighbors.push(vNeighbor);
   -1 30907         }
   -1 30908       } catch (err) {
   -1 30909         _iterator20.e(err);
   -1 30910       } finally {
   -1 30911         _iterator20.f();
   -1 30912       }
   -1 30913       if (closeNeighbors.length === 0) {
   -1 30914         this.data({
   -1 30915           closestOffset: closestOffset,
   -1 30916           minOffset: minOffset
   -1 30917         });
   -1 30918         return true;
   -1 30919       }
   -1 30920       this.relatedNodes(closeNeighbors.map(function(_ref120) {
   -1 30921         var actualNode = _ref120.actualNode;
   -1 30922         return actualNode;
   -1 30923       }));
   -1 30924       if (!closeNeighbors.some(_isInTabOrder)) {
   -1 30925         this.data({
   -1 30926           messageKey: 'nonTabbableNeighbor',
   -1 30927           closestOffset: closestOffset,
   -1 30928           minOffset: minOffset
   -1 30929         });
   -1 30930         return void 0;
   -1 30931       }
   -1 30932       this.data({
   -1 30933         closestOffset: closestOffset,
   -1 30934         minOffset: minOffset
   -1 30935       });
   -1 30936       return _isInTabOrder(vNode) ? false : void 0;
   -1 30937     }
   -1 30938     function roundToSingleDecimal(num) {
   -1 30939       return Math.round(num * 10) / 10;
   -1 30940     }
   -1 30941     function metaViewportScaleEvaluate(node, options, virtualNode) {
   -1 30942       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;
   -1 30943       var content = virtualNode.attr('content') || '';
   -1 30944       if (!content) {
   -1 30945         return true;
   -1 30946       }
   -1 30947       var result = content.split(/[;,]/).reduce(function(out, item) {
   -1 30948         var contentValue = item.trim();
   -1 30949         if (!contentValue) {
   -1 30950           return out;
   -1 30951         }
   -1 30952         var _contentValue$split = contentValue.split('='), _contentValue$split2 = _slicedToArray(_contentValue$split, 2), key = _contentValue$split2[0], value = _contentValue$split2[1];
   -1 30953         if (!key || !value) {
   -1 30954           return out;
   -1 30955         }
   -1 30956         var curatedKey = key.toLowerCase().trim();
   -1 30957         var curatedValue = value.toLowerCase().trim();
   -1 30958         if (curatedKey === 'maximum-scale' && curatedValue === 'yes') {
   -1 30959           curatedValue = 1;
   -1 30960         }
   -1 30961         if (curatedKey === 'maximum-scale' && parseFloat(curatedValue) < 0) {
   -1 30962           return out;
   -1 30963         }
   -1 30964         out[curatedKey] = curatedValue;
   -1 30965         return out;
   -1 30966       }, {});
   -1 30967       if (lowerBound && result['maximum-scale'] && parseFloat(result['maximum-scale']) < lowerBound) {
   -1 30968         return true;
   -1 30969       }
   -1 30970       if (!lowerBound && result['user-scalable'] === 'no') {
   -1 30971         this.data('user-scalable=no');
29734 30972         return false;
29735 30973       }
29736    -1       var visibleText = visible_virtual_default(parentVNode, true).toLowerCase();
29737    -1       if (visibleText === '') {
   -1 30974       var userScalableAsFloat = parseFloat(result['user-scalable']);
   -1 30975       if (!lowerBound && result['user-scalable'] && (userScalableAsFloat || userScalableAsFloat === 0) && userScalableAsFloat > -1 && userScalableAsFloat < 1) {
   -1 30976         this.data('user-scalable');
29738 30977         return false;
29739 30978       }
29740    -1       return visibleText === _accessibleTextVirtual(virtualNode).toLowerCase();
29741    -1     }
29742    -1     var duplicate_img_label_evaluate_default = duplicateImgLabelEvaluate;
29743    -1     function explicitEvaluate(node, options, virtualNode) {
29744    -1       var _this7 = this;
29745    -1       if (!virtualNode.attr('id')) {
   -1 30979       if (result['maximum-scale'] && parseFloat(result['maximum-scale']) < scaleMinimum) {
   -1 30980         this.data('maximum-scale');
29746 30981         return false;
29747 30982       }
29748    -1       if (!virtualNode.actualNode) {
   -1 30983       return true;
   -1 30984     }
   -1 30985     var meta_viewport_scale_evaluate_default = metaViewportScaleEvaluate;
   -1 30986     function cssOrientationLockEvaluate(node, options, virtualNode, context) {
   -1 30987       var _ref122 = context || {}, _ref122$cssom = _ref122.cssom, cssom = _ref122$cssom === void 0 ? void 0 : _ref122$cssom;
   -1 30988       var _ref123 = options || {}, _ref123$degreeThresho = _ref123.degreeThreshold, degreeThreshold = _ref123$degreeThresho === void 0 ? 0 : _ref123$degreeThresho;
   -1 30989       if (!cssom || !cssom.length) {
29749 30990         return void 0;
29750 30991       }
29751    -1       var root = get_root_node_default2(virtualNode.actualNode);
29752    -1       var id = escape_selector_default(virtualNode.attr('id'));
29753    -1       var labels = Array.from(root.querySelectorAll('label[for="'.concat(id, '"]')));
29754    -1       this.relatedNodes(labels);
29755    -1       if (!labels.length) {
29756    -1         return false;
   -1 30992       var isLocked = false;
   -1 30993       var relatedElements = [];
   -1 30994       var rulesGroupByDocumentFragment = groupCssomByDocument(cssom);
   -1 30995       var _loop9 = function _loop9() {
   -1 30996         var key = _Object$keys3[_i33];
   -1 30997         var _rulesGroupByDocument = rulesGroupByDocumentFragment[key], root = _rulesGroupByDocument.root, rules = _rulesGroupByDocument.rules;
   -1 30998         var orientationRules = rules.filter(isMediaRuleWithOrientation);
   -1 30999         if (!orientationRules.length) {
   -1 31000           return 1;
   -1 31001         }
   -1 31002         orientationRules.forEach(function(_ref124) {
   -1 31003           var cssRules = _ref124.cssRules;
   -1 31004           Array.from(cssRules).forEach(function(cssRule) {
   -1 31005             var locked = getIsOrientationLocked(cssRule);
   -1 31006             if (locked && cssRule.selectorText.toUpperCase() !== 'HTML') {
   -1 31007               var elms = Array.from(root.querySelectorAll(cssRule.selectorText)) || [];
   -1 31008               relatedElements = relatedElements.concat(elms);
   -1 31009             }
   -1 31010             isLocked = isLocked || locked;
   -1 31011           });
   -1 31012         });
   -1 31013       };
   -1 31014       for (var _i33 = 0, _Object$keys3 = Object.keys(rulesGroupByDocumentFragment); _i33 < _Object$keys3.length; _i33++) {
   -1 31015         if (_loop9()) {
   -1 31016           continue;
   -1 31017         }
29757 31018       }
29758    -1       try {
29759    -1         return labels.some(function(label3) {
29760    -1           if (!_isVisibleOnScreen(label3)) {
29761    -1             return true;
29762    -1           } else {
29763    -1             var explicitLabel = sanitize_default(accessible_text_default(label3, {
29764    -1               inControlContext: true,
29765    -1               startNode: virtualNode
29766    -1             }));
29767    -1             _this7.data({
29768    -1               explicitLabel: explicitLabel
29769    -1             });
29770    -1             return !!explicitLabel;
   -1 31019       if (!isLocked) {
   -1 31020         return true;
   -1 31021       }
   -1 31022       if (relatedElements.length) {
   -1 31023         this.relatedNodes(relatedElements);
   -1 31024       }
   -1 31025       return false;
   -1 31026       function groupCssomByDocument(cssObjectModel) {
   -1 31027         return cssObjectModel.reduce(function(out, _ref125) {
   -1 31028           var sheet = _ref125.sheet, root = _ref125.root, shadowId = _ref125.shadowId;
   -1 31029           var key = shadowId ? shadowId : 'topDocument';
   -1 31030           if (!out[key]) {
   -1 31031             out[key] = {
   -1 31032               root: root,
   -1 31033               rules: []
   -1 31034             };
29771 31035           }
29772    -1         });
29773    -1       } catch (e) {
29774    -1         return void 0;
   -1 31036           if (!sheet || !sheet.cssRules) {
   -1 31037             return out;
   -1 31038           }
   -1 31039           var rules = Array.from(sheet.cssRules);
   -1 31040           out[key].rules = out[key].rules.concat(rules);
   -1 31041           return out;
   -1 31042         }, {});
29775 31043       }
29776    -1     }
29777    -1     var explicit_evaluate_default = explicitEvaluate;
29778    -1     function helpSameAsLabelEvaluate(node, options, virtualNode) {
29779    -1       var labelText2 = label_virtual_default2(virtualNode), check = node.getAttribute('title');
29780    -1       if (!labelText2) {
29781    -1         return false;
   -1 31044       function isMediaRuleWithOrientation(_ref126) {
   -1 31045         var type2 = _ref126.type, cssText = _ref126.cssText;
   -1 31046         if (type2 !== 4) {
   -1 31047           return false;
   -1 31048         }
   -1 31049         return /orientation:\s*landscape/i.test(cssText) || /orientation:\s*portrait/i.test(cssText);
29782 31050       }
29783    -1       if (!check) {
29784    -1         check = '';
29785    -1         if (node.getAttribute('aria-describedby')) {
29786    -1           var ref = idrefs_default(node, 'aria-describedby');
29787    -1           check = ref.map(function(thing) {
29788    -1             return thing ? accessible_text_default(thing) : '';
29789    -1           }).join('');
   -1 31051       function getIsOrientationLocked(_ref127) {
   -1 31052         var selectorText = _ref127.selectorText, style = _ref127.style;
   -1 31053         if (!selectorText || style.length <= 0) {
   -1 31054           return false;
   -1 31055         }
   -1 31056         var transformStyle = style.transform || style.webkitTransform || style.msTransform || false;
   -1 31057         if (!transformStyle && !style.rotate) {
   -1 31058           return false;
   -1 31059         }
   -1 31060         var transformDegrees = getTransformDegrees(transformStyle);
   -1 31061         var rotateDegrees = getRotationInDegrees('rotate', style.rotate);
   -1 31062         var degrees = transformDegrees + rotateDegrees;
   -1 31063         if (!degrees) {
   -1 31064           return false;
   -1 31065         }
   -1 31066         degrees = Math.abs(degrees);
   -1 31067         if (Math.abs(degrees - 180) % 180 <= degreeThreshold) {
   -1 31068           return false;
29790 31069         }
   -1 31070         return Math.abs(degrees - 90) % 90 <= degreeThreshold;
29791 31071       }
29792    -1       return sanitize_default(check) === sanitize_default(labelText2);
29793    -1     }
29794    -1     var help_same_as_label_evaluate_default = helpSameAsLabelEvaluate;
29795    -1     function hiddenExplicitLabelEvaluate(node, options, virtualNode) {
29796    -1       if (virtualNode.hasAttr('id')) {
29797    -1         if (!virtualNode.actualNode) {
29798    -1           return void 0;
   -1 31072       function getTransformDegrees(transformStyle) {
   -1 31073         if (!transformStyle) {
   -1 31074           return 0;
29799 31075         }
29800    -1         var root = get_root_node_default2(node);
29801    -1         var _id4 = escape_selector_default(node.getAttribute('id'));
29802    -1         var label3 = root.querySelector('label[for="'.concat(_id4, '"]'));
29803    -1         if (label3 && !_isVisibleToScreenReaders(label3)) {
29804    -1           var name;
29805    -1           try {
29806    -1             name = _accessibleTextVirtual(virtualNode).trim();
29807    -1           } catch (e) {
29808    -1             return void 0;
29809    -1           }
29810    -1           var isNameEmpty = name === '';
29811    -1           return isNameEmpty;
   -1 31076         var matches4 = transformStyle.match(/(rotate|rotateZ|rotate3d|matrix|matrix3d)\(([^)]+)\)(?!.*(rotate|rotateZ|rotate3d|matrix|matrix3d))/);
   -1 31077         if (!matches4) {
   -1 31078           return 0;
29812 31079         }
   -1 31080         var _matches2 = _slicedToArray(matches4, 3), transformFn = _matches2[1], transformFnValue = _matches2[2];
   -1 31081         return getRotationInDegrees(transformFn, transformFnValue);
29813 31082       }
29814    -1       return false;
29815    -1     }
29816    -1     var hidden_explicit_label_evaluate_default = hiddenExplicitLabelEvaluate;
29817    -1     function implicitEvaluate(node, options, virtualNode) {
29818    -1       try {
29819    -1         var label3 = closest_default(virtualNode, 'label');
29820    -1         if (label3) {
29821    -1           var implicitLabel = sanitize_default(_accessibleTextVirtual(label3, {
29822    -1             inControlContext: true,
29823    -1             startNode: virtualNode
29824    -1           }));
29825    -1           if (label3.actualNode) {
29826    -1             this.relatedNodes([ label3.actualNode ]);
   -1 31083       function getRotationInDegrees(transformFunction, transformFnValue) {
   -1 31084         switch (transformFunction) {
   -1 31085          case 'rotate':
   -1 31086          case 'rotateZ':
   -1 31087           return getAngleInDegrees(transformFnValue);
   -1 31088 
   -1 31089          case 'rotate3d':
   -1 31090           var _transformFnValue$spl = transformFnValue.split(',').map(function(value) {
   -1 31091             return value.trim();
   -1 31092           }), _transformFnValue$spl2 = _slicedToArray(_transformFnValue$spl, 4), z = _transformFnValue$spl2[2], angleWithUnit = _transformFnValue$spl2[3];
   -1 31093           if (parseInt(z) === 0) {
   -1 31094             return;
29827 31095           }
29828    -1           this.data({
29829    -1             implicitLabel: implicitLabel
29830    -1           });
29831    -1           return !!implicitLabel;
   -1 31096           return getAngleInDegrees(angleWithUnit);
   -1 31097 
   -1 31098          case 'matrix':
   -1 31099          case 'matrix3d':
   -1 31100           return getAngleInDegreesFromMatrixTransform(transformFnValue);
   -1 31101 
   -1 31102          default:
   -1 31103           return 0;
29832 31104         }
29833    -1         return false;
29834    -1       } catch (e) {
29835    -1         return void 0;
29836 31105       }
29837    -1     }
29838    -1     var implicit_evaluate_default = implicitEvaluate;
29839    -1     function isStringContained(compare, compareWith) {
29840    -1       var curatedCompareWith = curateString(compareWith);
29841    -1       var curatedCompare = curateString(compare);
29842    -1       if (!curatedCompareWith || !curatedCompare) {
29843    -1         return false;
   -1 31106       function getAngleInDegrees(angleWithUnit) {
   -1 31107         var _ref128 = angleWithUnit.match(/(deg|grad|rad|turn)/) || [], _ref129 = _slicedToArray(_ref128, 1), unit = _ref129[0];
   -1 31108         if (!unit) {
   -1 31109           return 0;
   -1 31110         }
   -1 31111         var angle = parseFloat(angleWithUnit.replace(unit, ''));
   -1 31112         switch (unit) {
   -1 31113          case 'rad':
   -1 31114           return convertRadToDeg(angle);
   -1 31115 
   -1 31116          case 'grad':
   -1 31117           return convertGradToDeg(angle);
   -1 31118 
   -1 31119          case 'turn':
   -1 31120           return convertTurnToDeg(angle);
   -1 31121 
   -1 31122          case 'deg':
   -1 31123          default:
   -1 31124           return parseInt(angle);
   -1 31125         }
29844 31126       }
29845    -1       return curatedCompareWith.includes(curatedCompare);
29846    -1     }
29847    -1     function curateString(str) {
29848    -1       var noUnicodeStr = remove_unicode_default(str, {
29849    -1         emoji: true,
29850    -1         nonBmp: true,
29851    -1         punctuations: true
29852    -1       });
29853    -1       return sanitize_default(noUnicodeStr);
29854    -1     }
29855    -1     function labelContentNameMismatchEvaluate(node, options, virtualNode) {
29856    -1       var _options$occurrenceTh;
29857    -1       var pixelThreshold = options === null || options === void 0 ? void 0 : options.pixelThreshold;
29858    -1       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;
29859    -1       var accText = accessible_text_default(node).toLowerCase();
29860    -1       if (is_human_interpretable_default(accText) < 1) {
29861    -1         return void 0;
   -1 31127       function getAngleInDegreesFromMatrixTransform(transformFnValue) {
   -1 31128         var values2 = transformFnValue.split(',');
   -1 31129         if (values2.length <= 6) {
   -1 31130           var _values = _slicedToArray(values2, 2), a2 = _values[0], b3 = _values[1];
   -1 31131           var radians = Math.atan2(parseFloat(b3), parseFloat(a2));
   -1 31132           return convertRadToDeg(radians);
   -1 31133         }
   -1 31134         var sinB = parseFloat(values2[8]);
   -1 31135         var b2 = Math.asin(sinB);
   -1 31136         var cosB = Math.cos(b2);
   -1 31137         var rotateZRadians = Math.acos(parseFloat(values2[0]) / cosB);
   -1 31138         return convertRadToDeg(rotateZRadians);
29862 31139       }
29863    -1       var visibleText = sanitize_default(subtree_text_default(virtualNode, {
29864    -1         subtreeDescendant: true,
29865    -1         ignoreIconLigature: true,
29866    -1         pixelThreshold: pixelThreshold,
29867    -1         occurrenceThreshold: occurrenceThreshold
29868    -1       })).toLowerCase();
29869    -1       if (!visibleText) {
29870    -1         return true;
   -1 31140       function convertRadToDeg(radians) {
   -1 31141         return Math.round(radians * (180 / Math.PI));
29871 31142       }
29872    -1       if (is_human_interpretable_default(visibleText) < 1) {
29873    -1         if (isStringContained(visibleText, accText)) {
29874    -1           return true;
   -1 31143       function convertGradToDeg(grad) {
   -1 31144         grad = grad % 400;
   -1 31145         if (grad < 0) {
   -1 31146           grad += 400;
29875 31147         }
29876    -1         return void 0;
   -1 31148         return Math.round(grad / 400 * 360);
   -1 31149       }
   -1 31150       function convertTurnToDeg(turn) {
   -1 31151         return Math.round(360 / (1 / turn));
29877 31152       }
29878    -1       return isStringContained(visibleText, accText);
29879 31153     }
29880    -1     var label_content_name_mismatch_evaluate_default = labelContentNameMismatchEvaluate;
29881    -1     function multipleLabelEvaluate(node) {
29882    -1       var id = escape_selector_default(node.getAttribute('id'));
29883    -1       var parent = node.parentNode;
29884    -1       var root = get_root_node_default2(node);
29885    -1       root = root.documentElement || root;
29886    -1       var labels = Array.from(root.querySelectorAll('label[for="'.concat(id, '"]')));
29887    -1       if (labels.length) {
29888    -1         labels = labels.filter(function(label3) {
29889    -1           return !_isHiddenForEveryone(label3);
29890    -1         });
   -1 31154     var css_orientation_lock_evaluate_default = cssOrientationLockEvaluate;
   -1 31155     function noAutoplayAudioEvaluate(node, options) {
   -1 31156       if (!node.duration) {
   -1 31157         console.warn('axe.utils.preloadMedia did not load metadata');
   -1 31158         return void 0;
29891 31159       }
29892    -1       while (parent) {
29893    -1         if (parent.nodeName.toUpperCase() === 'LABEL' && labels.indexOf(parent) === -1) {
29894    -1           labels.push(parent);
   -1 31160       var _options$allowedDurat = options.allowedDuration, allowedDuration = _options$allowedDurat === void 0 ? 3 : _options$allowedDurat;
   -1 31161       var playableDuration = getPlayableDuration(node);
   -1 31162       if (playableDuration <= allowedDuration && !node.hasAttribute('loop')) {
   -1 31163         return true;
   -1 31164       }
   -1 31165       if (!node.hasAttribute('controls')) {
   -1 31166         return false;
   -1 31167       }
   -1 31168       return true;
   -1 31169       function getPlayableDuration(elm) {
   -1 31170         if (!elm.currentSrc) {
   -1 31171           return 0;
29895 31172         }
29896    -1         parent = parent.parentNode;
   -1 31173         var playbackRange = getPlaybackRange(elm.currentSrc);
   -1 31174         if (!playbackRange) {
   -1 31175           return Math.abs(elm.duration - (elm.currentTime || 0));
   -1 31176         }
   -1 31177         if (playbackRange.length === 1) {
   -1 31178           return Math.abs(elm.duration - playbackRange[0]);
   -1 31179         }
   -1 31180         return Math.abs(playbackRange[1] - playbackRange[0]);
29897 31181       }
29898    -1       this.relatedNodes(labels);
29899    -1       if (labels.length > 1) {
29900    -1         var ATVisibleLabels = labels.filter(function(label3) {
29901    -1           return _isVisibleToScreenReaders(label3);
   -1 31182       function getPlaybackRange(src) {
   -1 31183         var match = src.match(/#t=(.*)/);
   -1 31184         if (!match) {
   -1 31185           return;
   -1 31186         }
   -1 31187         var _match = _slicedToArray(match, 2), value = _match[1];
   -1 31188         var ranges = value.split(',');
   -1 31189         return ranges.map(function(range2) {
   -1 31190           if (/:/.test(range2)) {
   -1 31191             return convertHourMinSecToSeconds(range2);
   -1 31192           }
   -1 31193           return parseFloat(range2);
29902 31194         });
29903    -1         if (ATVisibleLabels.length > 1) {
29904    -1           return void 0;
   -1 31195       }
   -1 31196       function convertHourMinSecToSeconds(hhMmSs) {
   -1 31197         var parts = hhMmSs.split(':');
   -1 31198         var secs = 0;
   -1 31199         var mins = 1;
   -1 31200         while (parts.length > 0) {
   -1 31201           secs += mins * parseInt(parts.pop(), 10);
   -1 31202           mins *= 60;
29905 31203         }
29906    -1         var labelledby = idrefs_default(node, 'aria-labelledby');
29907    -1         return !labelledby.includes(ATVisibleLabels[0]) ? void 0 : false;
   -1 31204         return parseFloat(secs);
29908 31205       }
29909    -1       return false;
29910 31206     }
29911    -1     var multiple_label_evaluate_default = multipleLabelEvaluate;
29912    -1     function titleOnlyEvaluate(node, options, virtualNode) {
29913    -1       var labelText2 = label_virtual_default2(virtualNode);
29914    -1       var title = title_text_default(virtualNode);
29915    -1       var ariaDescribedBy = virtualNode.attr('aria-describedby');
29916    -1       return !labelText2 && !!(title || ariaDescribedBy);
   -1 31207     var no_autoplay_audio_evaluate_default = noAutoplayAudioEvaluate;
   -1 31208     function frameTestedEvaluate(node, options) {
   -1 31209       return options.isViolation ? false : void 0;
29917 31210     }
29918    -1     var title_only_evaluate_default = titleOnlyEvaluate;
29919    -1     function landmarkIsUniqueAfter(results) {
29920    -1       var uniqueLandmarks = [];
29921    -1       return results.filter(function(currentResult) {
29922    -1         var findMatch = function findMatch(someResult) {
29923    -1           return currentResult.data.role === someResult.data.role && currentResult.data.accessibleText === someResult.data.accessibleText;
29924    -1         };
29925    -1         var matchedResult = uniqueLandmarks.find(findMatch);
29926    -1         if (matchedResult) {
29927    -1           matchedResult.result = false;
29928    -1           matchedResult.relatedNodes.push(currentResult.relatedNodes[0]);
29929    -1           return false;
   -1 31211     var frame_tested_evaluate_default = frameTestedEvaluate;
   -1 31212     var joinStr = ' > ';
   -1 31213     function frameTestedAfter(results) {
   -1 31214       var iframes = {};
   -1 31215       return results.filter(function(result) {
   -1 31216         var frameResult = result.node.ancestry[result.node.ancestry.length - 1] !== 'html';
   -1 31217         if (frameResult) {
   -1 31218           var ancestry2 = result.node.ancestry.flat(Infinity).join(joinStr);
   -1 31219           iframes[ancestry2] = result;
   -1 31220           return true;
29930 31221         }
29931    -1         uniqueLandmarks.push(currentResult);
29932    -1         currentResult.relatedNodes = [];
29933    -1         return true;
   -1 31222         var ancestry = result.node.ancestry.slice(0, result.node.ancestry.length - 1).flat(Infinity).join(joinStr);
   -1 31223         if (iframes[ancestry]) {
   -1 31224           iframes[ancestry].result = true;
   -1 31225         }
   -1 31226         return false;
29934 31227       });
29935 31228     }
29936    -1     var landmark_is_unique_after_default = landmarkIsUniqueAfter;
29937    -1     function landmarkIsUniqueEvaluate(node, options, virtualNode) {
29938    -1       var role = get_role_default(node);
29939    -1       var accessibleText2 = _accessibleTextVirtual(virtualNode);
29940    -1       accessibleText2 = accessibleText2 ? accessibleText2.toLowerCase() : null;
29941    -1       this.data({
29942    -1         role: role,
29943    -1         accessibleText: accessibleText2
   -1 31229     var frame_tested_after_default = frameTestedAfter;
   -1 31230     function captionEvaluate(node, options, virtualNode) {
   -1 31231       var tracks = query_selector_all_default(virtualNode, 'track');
   -1 31232       var hasCaptions = tracks.some(function(vNode) {
   -1 31233         return (vNode.attr('kind') || '').toLowerCase() === 'captions';
29944 31234       });
29945    -1       this.relatedNodes([ node ]);
29946    -1       return true;
29947    -1     }
29948    -1     var landmark_is_unique_evaluate_default = landmarkIsUniqueEvaluate;
29949    -1     function hasValue(value) {
29950    -1       return (value || '').trim() !== '';
   -1 31235       return hasCaptions ? false : void 0;
29951 31236     }
29952    -1     function hasLangEvaluate(node, options, virtualNode) {
29953    -1       var xhtml = typeof document !== 'undefined' ? is_xhtml_default(document) : false;
29954    -1       if (options.attributes.includes('xml:lang') && options.attributes.includes('lang') && hasValue(virtualNode.attr('xml:lang')) && !hasValue(virtualNode.attr('lang')) && !xhtml) {
29955    -1         this.data({
29956    -1           messageKey: 'noXHTML'
29957    -1         });
   -1 31237     var caption_evaluate_default = captionEvaluate;
   -1 31238     function structuredDlitemsEvaluate(node, options, virtualNode) {
   -1 31239       var children = virtualNode.children;
   -1 31240       if (!children || !children.length) {
29958 31241         return false;
29959 31242       }
29960    -1       var hasLang = options.attributes.some(function(name) {
29961    -1         return hasValue(virtualNode.attr(name));
29962    -1       });
29963    -1       if (!hasLang) {
29964    -1         this.data({
29965    -1           messageKey: 'noLang'
29966    -1         });
29967    -1         return false;
   -1 31243       var hasDt = false, hasDd = false, nodeName2;
   -1 31244       for (var i = 0; i < children.length; i++) {
   -1 31245         nodeName2 = children[i].props.nodeName.toUpperCase();
   -1 31246         if (nodeName2 === 'DT') {
   -1 31247           hasDt = true;
   -1 31248         }
   -1 31249         if (hasDt && nodeName2 === 'DD') {
   -1 31250           return false;
   -1 31251         }
   -1 31252         if (nodeName2 === 'DD') {
   -1 31253           hasDd = true;
   -1 31254         }
29968 31255       }
29969    -1       return true;
   -1 31256       return hasDt || hasDd;
29970 31257     }
29971    -1     var has_lang_evaluate_default = hasLangEvaluate;
29972    -1     function validLangEvaluate(node, options, virtualNode) {
29973    -1       var invalid = [];
29974    -1       options.attributes.forEach(function(langAttr) {
29975    -1         var langVal = virtualNode.attr(langAttr);
29976    -1         if (typeof langVal !== 'string') {
   -1 31258     var structured_dlitems_evaluate_default = structuredDlitemsEvaluate;
   -1 31259     function onlyListitemsEvaluate(node, options, virtualNode) {
   -1 31260       var hasNonEmptyTextNode = false;
   -1 31261       var atLeastOneListitem = false;
   -1 31262       var isEmpty2 = true;
   -1 31263       var badNodes = [];
   -1 31264       var badRoleNodes = [];
   -1 31265       var badRoles = [];
   -1 31266       virtualNode.children.forEach(function(vNode) {
   -1 31267         var actualNode = vNode.actualNode;
   -1 31268         if (actualNode.nodeType === 3 && actualNode.nodeValue.trim() !== '') {
   -1 31269           hasNonEmptyTextNode = true;
29977 31270           return;
29978 31271         }
29979    -1         var baselangVal = get_base_lang_default(langVal);
29980    -1         var invalidLang = options.value ? !options.value.map(get_base_lang_default).includes(baselangVal) : !valid_langs_default(baselangVal);
29981    -1         if (baselangVal !== '' && invalidLang || langVal !== '' && !sanitize_default(langVal)) {
29982    -1           invalid.push(langAttr + '="' + virtualNode.attr(langAttr) + '"');
   -1 31272         if (actualNode.nodeType !== 1 || !_isVisibleToScreenReaders(actualNode)) {
   -1 31273           return;
   -1 31274         }
   -1 31275         isEmpty2 = false;
   -1 31276         var isLi = actualNode.nodeName.toUpperCase() === 'LI';
   -1 31277         var role = get_role_default(vNode);
   -1 31278         var isListItemRole = role === 'listitem';
   -1 31279         if (!isLi && !isListItemRole) {
   -1 31280           badNodes.push(actualNode);
   -1 31281         }
   -1 31282         if (isLi && !isListItemRole) {
   -1 31283           badRoleNodes.push(actualNode);
   -1 31284           if (!badRoles.includes(role)) {
   -1 31285             badRoles.push(role);
   -1 31286           }
   -1 31287         }
   -1 31288         if (isListItemRole) {
   -1 31289           atLeastOneListitem = true;
29983 31290         }
29984 31291       });
29985    -1       if (!invalid.length) {
29986    -1         return false;
   -1 31292       if (hasNonEmptyTextNode || badNodes.length) {
   -1 31293         this.relatedNodes(badNodes);
   -1 31294         return true;
29987 31295       }
29988    -1       if (virtualNode.props.nodeName !== 'html' && !_hasLangText(virtualNode)) {
   -1 31296       if (isEmpty2 || atLeastOneListitem) {
29989 31297         return false;
29990 31298       }
29991    -1       this.data(invalid);
   -1 31299       this.relatedNodes(badRoleNodes);
   -1 31300       this.data({
   -1 31301         messageKey: 'roleNotValid',
   -1 31302         roles: badRoles.join(', ')
   -1 31303       });
29992 31304       return true;
29993 31305     }
29994    -1     var valid_lang_evaluate_default = validLangEvaluate;
29995    -1     function xmlLangMismatchEvaluate(node, options, vNode) {
29996    -1       var primaryLangValue = get_base_lang_default(vNode.attr('lang'));
29997    -1       var primaryXmlLangValue = get_base_lang_default(vNode.attr('xml:lang'));
29998    -1       return primaryLangValue === primaryXmlLangValue;
   -1 31306     var only_listitems_evaluate_default = onlyListitemsEvaluate;
   -1 31307     function onlyDlitemsEvaluate(node, options, virtualNode) {
   -1 31308       var ALLOWED_ROLES = [ 'definition', 'term', 'list' ];
   -1 31309       var base = {
   -1 31310         badNodes: [],
   -1 31311         hasNonEmptyTextNode: false
   -1 31312       };
   -1 31313       var content = virtualNode.children.reduce(function(vNodes, child) {
   -1 31314         var actualNode = child.actualNode;
   -1 31315         if (actualNode.nodeName.toUpperCase() === 'DIV' && get_role_default(actualNode) === null) {
   -1 31316           return vNodes.concat(child.children);
   -1 31317         }
   -1 31318         return vNodes.concat(child);
   -1 31319       }, []);
   -1 31320       var result = content.reduce(function(out, childNode) {
   -1 31321         var actualNode = childNode.actualNode;
   -1 31322         var tagName = actualNode.nodeName.toUpperCase();
   -1 31323         if (actualNode.nodeType === 1 && _isVisibleToScreenReaders(actualNode)) {
   -1 31324           var explicitRole2 = get_explicit_role_default(actualNode);
   -1 31325           if (tagName !== 'DT' && tagName !== 'DD' || explicitRole2) {
   -1 31326             if (!ALLOWED_ROLES.includes(explicitRole2)) {
   -1 31327               out.badNodes.push(actualNode);
   -1 31328             }
   -1 31329           }
   -1 31330         } else if (actualNode.nodeType === 3 && actualNode.nodeValue.trim() !== '') {
   -1 31331           out.hasNonEmptyTextNode = true;
   -1 31332         }
   -1 31333         return out;
   -1 31334       }, base);
   -1 31335       if (result.badNodes.length) {
   -1 31336         this.relatedNodes(result.badNodes);
   -1 31337       }
   -1 31338       return !!result.badNodes.length || result.hasNonEmptyTextNode;
29999 31339     }
30000    -1     var xml_lang_mismatch_evaluate_default = xmlLangMismatchEvaluate;
30001    -1     function dlitemEvaluate(node) {
30002    -1       var parent = get_composed_parent_default(node);
30003    -1       var parentTagName = parent.nodeName.toUpperCase();
   -1 31340     function listitemEvaluate(node, options, virtualNode) {
   -1 31341       var parent = virtualNode.parent;
   -1 31342       if (!parent) {
   -1 31343         return void 0;
   -1 31344       }
   -1 31345       var parentNodeName = parent.props.nodeName;
30004 31346       var parentRole = get_explicit_role_default(parent);
30005    -1       if (parentTagName === 'DIV' && [ 'presentation', 'none', null ].includes(parentRole)) {
30006    -1         parent = get_composed_parent_default(parent);
30007    -1         parentTagName = parent.nodeName.toUpperCase();
30008    -1         parentRole = get_explicit_role_default(parent);
   -1 31347       if ([ 'presentation', 'none', 'list' ].includes(parentRole)) {
   -1 31348         return true;
30009 31349       }
30010    -1       if (parentTagName !== 'DL') {
   -1 31350       if (parentRole && is_valid_role_default(parentRole)) {
   -1 31351         this.data({
   -1 31352           messageKey: 'roleNotValid'
   -1 31353         });
30011 31354         return false;
30012 31355       }
30013    -1       if (!parentRole || [ 'presentation', 'none', 'list' ].includes(parentRole)) {
30014    -1         return true;
30015    -1       }
30016    -1       return false;
   -1 31356       return [ 'ul', 'ol', 'menu' ].includes(parentNodeName);
30017 31357     }
30018    -1     var dlitem_evaluate_default = dlitemEvaluate;
30019 31358     function invalidChildrenEvaluate(node) {
30020 31359       var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
30021 31360       var virtualNode = arguments.length > 2 ? arguments[2] : undefined;
@@ -30043,7 +31382,7 @@ module.exports = {
30043 31382         if (!issues.includes(issue)) {
30044 31383           issues.push(issue);
30045 31384         }
30046    -1         if ((vChild === null || vChild === void 0 ? void 0 : (_vChild$actualNode = vChild.actualNode) === null || _vChild$actualNode === void 0 ? void 0 : _vChild$actualNode.nodeType) === 1) {
   -1 31385         if ((vChild === null || vChild === void 0 || (_vChild$actualNode = vChild.actualNode) === null || _vChild$actualNode === void 0 ? void 0 : _vChild$actualNode.nodeType) === 1) {
30047 31386           relatedNodes.push(vChild.actualNode);
30048 31387         }
30049 31388       }
@@ -30056,8 +31395,8 @@ module.exports = {
30056 31395       this.relatedNodes(relatedNodes);
30057 31396       return true;
30058 31397     }
30059    -1     function getInvalidSelector(vChild, nested, _ref117) {
30060    -1       var _ref117$validRoles = _ref117.validRoles, validRoles = _ref117$validRoles === void 0 ? [] : _ref117$validRoles, _ref117$validNodeName = _ref117.validNodeNames, validNodeNames = _ref117$validNodeName === void 0 ? [] : _ref117$validNodeName;
   -1 31398     function getInvalidSelector(vChild, nested, _ref130) {
   -1 31399       var _ref130$validRoles = _ref130.validRoles, validRoles = _ref130$validRoles === void 0 ? [] : _ref130$validRoles, _ref130$validNodeName = _ref130.validNodeNames, validNodeNames = _ref130$validNodeName === void 0 ? [] : _ref130$validNodeName;
30061 31400       var _vChild$props = vChild.props, nodeName2 = _vChild$props.nodeName, nodeType = _vChild$props.nodeType, nodeValue = _vChild$props.nodeValue;
30062 31401       var selector = nested ? 'div > ' : '';
30063 31402       if (nodeType === 3 && nodeValue.trim() !== '') {
@@ -30085,1883 +31424,2045 @@ module.exports = {
30085 31424         };
30086 31425       });
30087 31426     }
30088    -1     function listitemEvaluate(node, options, virtualNode) {
30089    -1       var parent = virtualNode.parent;
30090    -1       if (!parent) {
30091    -1         return void 0;
30092    -1       }
30093    -1       var parentNodeName = parent.props.nodeName;
   -1 31427     function dlitemEvaluate(node) {
   -1 31428       var parent = get_composed_parent_default(node);
   -1 31429       var parentTagName = parent.nodeName.toUpperCase();
30094 31430       var parentRole = get_explicit_role_default(parent);
30095    -1       if ([ 'presentation', 'none', 'list' ].includes(parentRole)) {
30096    -1         return true;
   -1 31431       if (parentTagName === 'DIV' && [ 'presentation', 'none', null ].includes(parentRole)) {
   -1 31432         parent = get_composed_parent_default(parent);
   -1 31433         parentTagName = parent.nodeName.toUpperCase();
   -1 31434         parentRole = get_explicit_role_default(parent);
30097 31435       }
30098    -1       if (parentRole && is_valid_role_default(parentRole)) {
30099    -1         this.data({
30100    -1           messageKey: 'roleNotValid'
30101    -1         });
   -1 31436       if (parentTagName !== 'DL') {
30102 31437         return false;
30103 31438       }
30104    -1       return [ 'ul', 'ol', 'menu' ].includes(parentNodeName);
30105    -1     }
30106    -1     function onlyDlitemsEvaluate(node, options, virtualNode) {
30107    -1       var ALLOWED_ROLES = [ 'definition', 'term', 'list' ];
30108    -1       var base = {
30109    -1         badNodes: [],
30110    -1         hasNonEmptyTextNode: false
30111    -1       };
30112    -1       var content = virtualNode.children.reduce(function(vNodes, child) {
30113    -1         var actualNode = child.actualNode;
30114    -1         if (actualNode.nodeName.toUpperCase() === 'DIV' && get_role_default(actualNode) === null) {
30115    -1           return vNodes.concat(child.children);
30116    -1         }
30117    -1         return vNodes.concat(child);
30118    -1       }, []);
30119    -1       var result = content.reduce(function(out, childNode) {
30120    -1         var actualNode = childNode.actualNode;
30121    -1         var tagName = actualNode.nodeName.toUpperCase();
30122    -1         if (actualNode.nodeType === 1 && _isVisibleToScreenReaders(actualNode)) {
30123    -1           var explicitRole2 = get_explicit_role_default(actualNode);
30124    -1           if (tagName !== 'DT' && tagName !== 'DD' || explicitRole2) {
30125    -1             if (!ALLOWED_ROLES.includes(explicitRole2)) {
30126    -1               out.badNodes.push(actualNode);
30127    -1             }
30128    -1           }
30129    -1         } else if (actualNode.nodeType === 3 && actualNode.nodeValue.trim() !== '') {
30130    -1           out.hasNonEmptyTextNode = true;
30131    -1         }
30132    -1         return out;
30133    -1       }, base);
30134    -1       if (result.badNodes.length) {
30135    -1         this.relatedNodes(result.badNodes);
   -1 31439       if (!parentRole || [ 'presentation', 'none', 'list' ].includes(parentRole)) {
   -1 31440         return true;
30136 31441       }
30137    -1       return !!result.badNodes.length || result.hasNonEmptyTextNode;
   -1 31442       return false;
30138 31443     }
30139    -1     function onlyListitemsEvaluate(node, options, virtualNode) {
30140    -1       var hasNonEmptyTextNode = false;
30141    -1       var atLeastOneListitem = false;
30142    -1       var isEmpty = true;
30143    -1       var badNodes = [];
30144    -1       var badRoleNodes = [];
30145    -1       var badRoles = [];
30146    -1       virtualNode.children.forEach(function(vNode) {
30147    -1         var actualNode = vNode.actualNode;
30148    -1         if (actualNode.nodeType === 3 && actualNode.nodeValue.trim() !== '') {
30149    -1           hasNonEmptyTextNode = true;
30150    -1           return;
30151    -1         }
30152    -1         if (actualNode.nodeType !== 1 || !_isVisibleToScreenReaders(actualNode)) {
30153    -1           return;
30154    -1         }
30155    -1         isEmpty = false;
30156    -1         var isLi = actualNode.nodeName.toUpperCase() === 'LI';
30157    -1         var role = get_role_default(vNode);
30158    -1         var isListItemRole = role === 'listitem';
30159    -1         if (!isLi && !isListItemRole) {
30160    -1           badNodes.push(actualNode);
30161    -1         }
30162    -1         if (isLi && !isListItemRole) {
30163    -1           badRoleNodes.push(actualNode);
30164    -1           if (!badRoles.includes(role)) {
30165    -1             badRoles.push(role);
30166    -1           }
   -1 31444     var dlitem_evaluate_default = dlitemEvaluate;
   -1 31445     function xmlLangMismatchEvaluate(node, options, vNode) {
   -1 31446       var primaryLangValue = get_base_lang_default(vNode.attr('lang'));
   -1 31447       var primaryXmlLangValue = get_base_lang_default(vNode.attr('xml:lang'));
   -1 31448       return primaryLangValue === primaryXmlLangValue;
   -1 31449     }
   -1 31450     var xml_lang_mismatch_evaluate_default = xmlLangMismatchEvaluate;
   -1 31451     function validLangEvaluate(node, options, virtualNode) {
   -1 31452       var invalid = [];
   -1 31453       options.attributes.forEach(function(langAttr) {
   -1 31454         var langVal = virtualNode.attr(langAttr);
   -1 31455         if (typeof langVal !== 'string') {
   -1 31456           return;
30167 31457         }
30168    -1         if (isListItemRole) {
30169    -1           atLeastOneListitem = true;
   -1 31458         var baselangVal = get_base_lang_default(langVal);
   -1 31459         var invalidLang = options.value ? !options.value.map(get_base_lang_default).includes(baselangVal) : !valid_langs_default(baselangVal);
   -1 31460         if (baselangVal !== '' && invalidLang || langVal !== '' && !sanitize_default(langVal)) {
   -1 31461           invalid.push(langAttr + '="' + virtualNode.attr(langAttr) + '"');
30170 31462         }
30171 31463       });
30172    -1       if (hasNonEmptyTextNode || badNodes.length) {
30173    -1         this.relatedNodes(badNodes);
30174    -1         return true;
   -1 31464       if (!invalid.length) {
   -1 31465         return false;
30175 31466       }
30176    -1       if (isEmpty || atLeastOneListitem) {
   -1 31467       if (virtualNode.props.nodeName !== 'html' && !_hasLangText(virtualNode)) {
30177 31468         return false;
30178 31469       }
30179    -1       this.relatedNodes(badRoleNodes);
30180    -1       this.data({
30181    -1         messageKey: 'roleNotValid',
30182    -1         roles: badRoles.join(', ')
30183    -1       });
   -1 31470       this.data(invalid);
30184 31471       return true;
30185 31472     }
30186    -1     var only_listitems_evaluate_default = onlyListitemsEvaluate;
30187    -1     function structuredDlitemsEvaluate(node, options, virtualNode) {
30188    -1       var children = virtualNode.children;
30189    -1       if (!children || !children.length) {
   -1 31473     var valid_lang_evaluate_default = validLangEvaluate;
   -1 31474     function hasValue(value) {
   -1 31475       return (value || '').trim() !== '';
   -1 31476     }
   -1 31477     function hasLangEvaluate(node, options, virtualNode) {
   -1 31478       var xhtml = typeof document !== 'undefined' ? is_xhtml_default(document) : false;
   -1 31479       if (options.attributes.includes('xml:lang') && options.attributes.includes('lang') && hasValue(virtualNode.attr('xml:lang')) && !hasValue(virtualNode.attr('lang')) && !xhtml) {
   -1 31480         this.data({
   -1 31481           messageKey: 'noXHTML'
   -1 31482         });
30190 31483         return false;
30191 31484       }
30192    -1       var hasDt = false, hasDd = false, nodeName2;
30193    -1       for (var i = 0; i < children.length; i++) {
30194    -1         nodeName2 = children[i].props.nodeName.toUpperCase();
30195    -1         if (nodeName2 === 'DT') {
30196    -1           hasDt = true;
30197    -1         }
30198    -1         if (hasDt && nodeName2 === 'DD') {
30199    -1           return false;
30200    -1         }
30201    -1         if (nodeName2 === 'DD') {
30202    -1           hasDd = true;
30203    -1         }
   -1 31485       var hasLang = options.attributes.some(function(name) {
   -1 31486         return hasValue(virtualNode.attr(name));
   -1 31487       });
   -1 31488       if (!hasLang) {
   -1 31489         this.data({
   -1 31490           messageKey: 'noLang'
   -1 31491         });
   -1 31492         return false;
30204 31493       }
30205    -1       return hasDt || hasDd;
   -1 31494       return true;
30206 31495     }
30207    -1     var structured_dlitems_evaluate_default = structuredDlitemsEvaluate;
30208    -1     function captionEvaluate(node, options, virtualNode) {
30209    -1       var tracks = query_selector_all_default(virtualNode, 'track');
30210    -1       var hasCaptions = tracks.some(function(vNode) {
30211    -1         return (vNode.attr('kind') || '').toLowerCase() === 'captions';
   -1 31496     var has_lang_evaluate_default = hasLangEvaluate;
   -1 31497     function landmarkIsUniqueEvaluate(node, options, virtualNode) {
   -1 31498       var role = get_role_default(node);
   -1 31499       var accessibleText2 = _accessibleTextVirtual(virtualNode);
   -1 31500       accessibleText2 = accessibleText2 ? accessibleText2.toLowerCase() : null;
   -1 31501       this.data({
   -1 31502         role: role,
   -1 31503         accessibleText: accessibleText2
30212 31504       });
30213    -1       return hasCaptions ? false : void 0;
   -1 31505       this.relatedNodes([ node ]);
   -1 31506       return true;
30214 31507     }
30215    -1     var caption_evaluate_default = captionEvaluate;
30216    -1     var joinStr = ' > ';
30217    -1     function frameTestedAfter(results) {
30218    -1       var iframes = {};
30219    -1       return results.filter(function(result) {
30220    -1         var frameResult = result.node.ancestry[result.node.ancestry.length - 1] !== 'html';
30221    -1         if (frameResult) {
30222    -1           var ancestry2 = result.node.ancestry.flat(Infinity).join(joinStr);
30223    -1           iframes[ancestry2] = result;
30224    -1           return true;
30225    -1         }
30226    -1         var ancestry = result.node.ancestry.slice(0, result.node.ancestry.length - 1).flat(Infinity).join(joinStr);
30227    -1         if (iframes[ancestry]) {
30228    -1           iframes[ancestry].result = true;
   -1 31508     var landmark_is_unique_evaluate_default = landmarkIsUniqueEvaluate;
   -1 31509     function landmarkIsUniqueAfter(results) {
   -1 31510       var uniqueLandmarks = [];
   -1 31511       return results.filter(function(currentResult) {
   -1 31512         var findMatch = function findMatch(someResult) {
   -1 31513           return currentResult.data.role === someResult.data.role && currentResult.data.accessibleText === someResult.data.accessibleText;
   -1 31514         };
   -1 31515         var matchedResult = uniqueLandmarks.find(findMatch);
   -1 31516         if (matchedResult) {
   -1 31517           matchedResult.result = false;
   -1 31518           matchedResult.relatedNodes.push(currentResult.relatedNodes[0]);
   -1 31519           return false;
30229 31520         }
30230    -1         return false;
   -1 31521         uniqueLandmarks.push(currentResult);
   -1 31522         currentResult.relatedNodes = [];
   -1 31523         return true;
30231 31524       });
30232 31525     }
30233    -1     var frame_tested_after_default = frameTestedAfter;
30234    -1     function frameTestedEvaluate(node, options) {
30235    -1       return options.isViolation ? false : void 0;
   -1 31526     var landmark_is_unique_after_default = landmarkIsUniqueAfter;
   -1 31527     function titleOnlyEvaluate(node, options, virtualNode) {
   -1 31528       var labelText2 = label_virtual_default2(virtualNode);
   -1 31529       var title = title_text_default(virtualNode);
   -1 31530       var ariaDescribedBy = virtualNode.attr('aria-describedby');
   -1 31531       return !labelText2 && !!(title || ariaDescribedBy);
30236 31532     }
30237    -1     var frame_tested_evaluate_default = frameTestedEvaluate;
30238    -1     function noAutoplayAudioEvaluate(node, options) {
30239    -1       if (!node.duration) {
30240    -1         console.warn('axe.utils.preloadMedia did not load metadata');
30241    -1         return void 0;
   -1 31533     var title_only_evaluate_default = titleOnlyEvaluate;
   -1 31534     function multipleLabelEvaluate(node) {
   -1 31535       var id = escape_selector_default(node.getAttribute('id'));
   -1 31536       var parent = node.parentNode;
   -1 31537       var root = get_root_node_default2(node);
   -1 31538       root = root.documentElement || root;
   -1 31539       var labels = Array.from(root.querySelectorAll('label[for="'.concat(id, '"]')));
   -1 31540       if (labels.length) {
   -1 31541         labels = labels.filter(function(label3) {
   -1 31542           return !_isHiddenForEveryone(label3);
   -1 31543         });
30242 31544       }
30243    -1       var _options$allowedDurat = options.allowedDuration, allowedDuration = _options$allowedDurat === void 0 ? 3 : _options$allowedDurat;
30244    -1       var playableDuration = getPlayableDuration(node);
30245    -1       if (playableDuration <= allowedDuration && !node.hasAttribute('loop')) {
30246    -1         return true;
   -1 31545       while (parent) {
   -1 31546         if (parent.nodeName.toUpperCase() === 'LABEL' && labels.indexOf(parent) === -1) {
   -1 31547           labels.push(parent);
   -1 31548         }
   -1 31549         parent = parent.parentNode;
30247 31550       }
30248    -1       if (!node.hasAttribute('controls')) {
   -1 31551       this.relatedNodes(labels);
   -1 31552       if (labels.length > 1) {
   -1 31553         var ATVisibleLabels = labels.filter(function(label3) {
   -1 31554           return _isVisibleToScreenReaders(label3);
   -1 31555         });
   -1 31556         if (ATVisibleLabels.length > 1) {
   -1 31557           return void 0;
   -1 31558         }
   -1 31559         var labelledby = idrefs_default(node, 'aria-labelledby');
   -1 31560         return !labelledby.includes(ATVisibleLabels[0]) ? void 0 : false;
   -1 31561       }
   -1 31562       return false;
   -1 31563     }
   -1 31564     var multiple_label_evaluate_default = multipleLabelEvaluate;
   -1 31565     function isStringContained(compare, compareWith) {
   -1 31566       var curatedCompareWith = curateString(compareWith);
   -1 31567       var curatedCompare = curateString(compare);
   -1 31568       if (!curatedCompareWith || !curatedCompare) {
30249 31569         return false;
30250 31570       }
30251    -1       return true;
30252    -1       function getPlayableDuration(elm) {
30253    -1         if (!elm.currentSrc) {
30254    -1           return 0;
30255    -1         }
30256    -1         var playbackRange = getPlaybackRange(elm.currentSrc);
30257    -1         if (!playbackRange) {
30258    -1           return Math.abs(elm.duration - (elm.currentTime || 0));
30259    -1         }
30260    -1         if (playbackRange.length === 1) {
30261    -1           return Math.abs(elm.duration - playbackRange[0]);
   -1 31571       return curatedCompareWith.includes(curatedCompare);
   -1 31572     }
   -1 31573     function curateString(str) {
   -1 31574       var noUnicodeStr = remove_unicode_default(str, {
   -1 31575         emoji: true,
   -1 31576         nonBmp: true,
   -1 31577         punctuations: true
   -1 31578       });
   -1 31579       return sanitize_default(noUnicodeStr);
   -1 31580     }
   -1 31581     function labelContentNameMismatchEvaluate(node, options, virtualNode) {
   -1 31582       var _options$occurrenceTh;
   -1 31583       var pixelThreshold = options === null || options === void 0 ? void 0 : options.pixelThreshold;
   -1 31584       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;
   -1 31585       var accText = accessible_text_default(node).toLowerCase();
   -1 31586       var visibleText = sanitize_default(subtree_text_default(virtualNode, {
   -1 31587         subtreeDescendant: true,
   -1 31588         ignoreIconLigature: true,
   -1 31589         pixelThreshold: pixelThreshold,
   -1 31590         occurrenceThreshold: occurrenceThreshold
   -1 31591       })).toLowerCase();
   -1 31592       if (!visibleText) {
   -1 31593         return true;
   -1 31594       }
   -1 31595       if (is_human_interpretable_default(accText) < 1 || is_human_interpretable_default(visibleText) < 1) {
   -1 31596         return void 0;
   -1 31597       }
   -1 31598       return isStringContained(visibleText, accText);
   -1 31599     }
   -1 31600     var label_content_name_mismatch_evaluate_default = labelContentNameMismatchEvaluate;
   -1 31601     function implicitEvaluate(node, options, virtualNode) {
   -1 31602       try {
   -1 31603         var label3 = closest_default(virtualNode, 'label');
   -1 31604         if (label3) {
   -1 31605           var implicitLabel = sanitize_default(_accessibleTextVirtual(label3, {
   -1 31606             inControlContext: true,
   -1 31607             startNode: virtualNode
   -1 31608           }));
   -1 31609           if (label3.actualNode) {
   -1 31610             this.relatedNodes([ label3.actualNode ]);
   -1 31611           }
   -1 31612           this.data({
   -1 31613             implicitLabel: implicitLabel
   -1 31614           });
   -1 31615           return !!implicitLabel;
30262 31616         }
30263    -1         return Math.abs(playbackRange[1] - playbackRange[0]);
   -1 31617         return false;
   -1 31618       } catch (e) {
   -1 31619         return void 0;
30264 31620       }
30265    -1       function getPlaybackRange(src) {
30266    -1         var match = src.match(/#t=(.*)/);
30267    -1         if (!match) {
30268    -1           return;
   -1 31621     }
   -1 31622     var implicit_evaluate_default = implicitEvaluate;
   -1 31623     function hiddenExplicitLabelEvaluate(node, options, virtualNode) {
   -1 31624       if (virtualNode.hasAttr('id')) {
   -1 31625         if (!virtualNode.actualNode) {
   -1 31626           return void 0;
30269 31627         }
30270    -1         var _match = _slicedToArray(match, 2), value = _match[1];
30271    -1         var ranges = value.split(',');
30272    -1         return ranges.map(function(range2) {
30273    -1           if (/:/.test(range2)) {
30274    -1             return convertHourMinSecToSeconds(range2);
   -1 31628         var root = get_root_node_default2(node);
   -1 31629         var _id4 = escape_selector_default(node.getAttribute('id'));
   -1 31630         var label3 = root.querySelector('label[for="'.concat(_id4, '"]'));
   -1 31631         if (label3 && !_isVisibleToScreenReaders(label3)) {
   -1 31632           var name;
   -1 31633           try {
   -1 31634             name = _accessibleTextVirtual(virtualNode).trim();
   -1 31635           } catch (e) {
   -1 31636             return void 0;
30275 31637           }
30276    -1           return parseFloat(range2);
30277    -1         });
30278    -1       }
30279    -1       function convertHourMinSecToSeconds(hhMmSs) {
30280    -1         var parts = hhMmSs.split(':');
30281    -1         var secs = 0;
30282    -1         var mins = 1;
30283    -1         while (parts.length > 0) {
30284    -1           secs += mins * parseInt(parts.pop(), 10);
30285    -1           mins *= 60;
   -1 31638           var isNameEmpty = name === '';
   -1 31639           return isNameEmpty;
30286 31640         }
30287    -1         return parseFloat(secs);
30288 31641       }
   -1 31642       return false;
30289 31643     }
30290    -1     var no_autoplay_audio_evaluate_default = noAutoplayAudioEvaluate;
30291    -1     function cssOrientationLockEvaluate(node, options, virtualNode, context) {
30292    -1       var _ref118 = context || {}, _ref118$cssom = _ref118.cssom, cssom = _ref118$cssom === void 0 ? void 0 : _ref118$cssom;
30293    -1       var _ref119 = options || {}, _ref119$degreeThresho = _ref119.degreeThreshold, degreeThreshold = _ref119$degreeThresho === void 0 ? 0 : _ref119$degreeThresho;
30294    -1       if (!cssom || !cssom.length) {
30295    -1         return void 0;
   -1 31644     var hidden_explicit_label_evaluate_default = hiddenExplicitLabelEvaluate;
   -1 31645     function helpSameAsLabelEvaluate(node, options, virtualNode) {
   -1 31646       var labelText2 = label_virtual_default2(virtualNode), check = node.getAttribute('title');
   -1 31647       if (!labelText2) {
   -1 31648         return false;
30296 31649       }
30297    -1       var isLocked = false;
30298    -1       var relatedElements = [];
30299    -1       var rulesGroupByDocumentFragment = groupCssomByDocument(cssom);
30300    -1       var _loop8 = function _loop8() {
30301    -1         var key = _Object$keys3[_i34];
30302    -1         var _rulesGroupByDocument = rulesGroupByDocumentFragment[key], root = _rulesGroupByDocument.root, rules = _rulesGroupByDocument.rules;
30303    -1         var orientationRules = rules.filter(isMediaRuleWithOrientation);
30304    -1         if (!orientationRules.length) {
30305    -1           return 'continue';
30306    -1         }
30307    -1         orientationRules.forEach(function(_ref120) {
30308    -1           var cssRules = _ref120.cssRules;
30309    -1           Array.from(cssRules).forEach(function(cssRule) {
30310    -1             var locked = getIsOrientationLocked(cssRule);
30311    -1             if (locked && cssRule.selectorText.toUpperCase() !== 'HTML') {
30312    -1               var elms = Array.from(root.querySelectorAll(cssRule.selectorText)) || [];
30313    -1               relatedElements = relatedElements.concat(elms);
30314    -1             }
30315    -1             isLocked = isLocked || locked;
30316    -1           });
30317    -1         });
30318    -1       };
30319    -1       for (var _i34 = 0, _Object$keys3 = Object.keys(rulesGroupByDocumentFragment); _i34 < _Object$keys3.length; _i34++) {
30320    -1         var _ret6 = _loop8();
30321    -1         if (_ret6 === 'continue') {
30322    -1           continue;
   -1 31650       if (!check) {
   -1 31651         check = '';
   -1 31652         if (node.getAttribute('aria-describedby')) {
   -1 31653           var ref = idrefs_default(node, 'aria-describedby');
   -1 31654           check = ref.map(function(thing) {
   -1 31655             return thing ? accessible_text_default(thing) : '';
   -1 31656           }).join('');
30323 31657         }
30324 31658       }
30325    -1       if (!isLocked) {
30326    -1         return true;
   -1 31659       return sanitize_default(check) === sanitize_default(labelText2);
   -1 31660     }
   -1 31661     var help_same_as_label_evaluate_default = helpSameAsLabelEvaluate;
   -1 31662     function explicitEvaluate(node, options, virtualNode) {
   -1 31663       var _this7 = this;
   -1 31664       if (!virtualNode.attr('id')) {
   -1 31665         return false;
30327 31666       }
30328    -1       if (relatedElements.length) {
30329    -1         this.relatedNodes(relatedElements);
   -1 31667       if (!virtualNode.actualNode) {
   -1 31668         return void 0;
30330 31669       }
30331    -1       return false;
30332    -1       function groupCssomByDocument(cssObjectModel) {
30333    -1         return cssObjectModel.reduce(function(out, _ref121) {
30334    -1           var sheet = _ref121.sheet, root = _ref121.root, shadowId = _ref121.shadowId;
30335    -1           var key = shadowId ? shadowId : 'topDocument';
30336    -1           if (!out[key]) {
30337    -1             out[key] = {
30338    -1               root: root,
30339    -1               rules: []
30340    -1             };
30341    -1           }
30342    -1           if (!sheet || !sheet.cssRules) {
30343    -1             return out;
   -1 31670       var root = get_root_node_default2(virtualNode.actualNode);
   -1 31671       var id = escape_selector_default(virtualNode.attr('id'));
   -1 31672       var labels = Array.from(root.querySelectorAll('label[for="'.concat(id, '"]')));
   -1 31673       this.relatedNodes(labels);
   -1 31674       if (!labels.length) {
   -1 31675         return false;
   -1 31676       }
   -1 31677       try {
   -1 31678         return labels.some(function(label3) {
   -1 31679           if (!_isVisibleOnScreen(label3)) {
   -1 31680             return true;
   -1 31681           } else {
   -1 31682             var explicitLabel = sanitize_default(accessible_text_default(label3, {
   -1 31683               inControlContext: true,
   -1 31684               startNode: virtualNode
   -1 31685             }));
   -1 31686             _this7.data({
   -1 31687               explicitLabel: explicitLabel
   -1 31688             });
   -1 31689             return !!explicitLabel;
30344 31690           }
30345    -1           var rules = Array.from(sheet.cssRules);
30346    -1           out[key].rules = out[key].rules.concat(rules);
30347    -1           return out;
30348    -1         }, {});
   -1 31691         });
   -1 31692       } catch (e) {
   -1 31693         return void 0;
30349 31694       }
30350    -1       function isMediaRuleWithOrientation(_ref122) {
30351    -1         var type2 = _ref122.type, cssText = _ref122.cssText;
30352    -1         if (type2 !== 4) {
30353    -1           return false;
30354    -1         }
30355    -1         return /orientation:\s*landscape/i.test(cssText) || /orientation:\s*portrait/i.test(cssText);
   -1 31695     }
   -1 31696     var explicit_evaluate_default = explicitEvaluate;
   -1 31697     function duplicateImgLabelEvaluate(node, options, virtualNode) {
   -1 31698       if ([ 'none', 'presentation' ].includes(get_role_default(virtualNode))) {
   -1 31699         return false;
30356 31700       }
30357    -1       function getIsOrientationLocked(_ref123) {
30358    -1         var selectorText = _ref123.selectorText, style = _ref123.style;
30359    -1         if (!selectorText || style.length <= 0) {
30360    -1           return false;
30361    -1         }
30362    -1         var transformStyle = style.transform || style.webkitTransform || style.msTransform || false;
30363    -1         if (!transformStyle && !style.rotate) {
30364    -1           return false;
30365    -1         }
30366    -1         var transformDegrees = getTransformDegrees(transformStyle);
30367    -1         var rotateDegrees = getRotationInDegrees('rotate', style.rotate);
30368    -1         var degrees = transformDegrees + rotateDegrees;
30369    -1         if (!degrees) {
30370    -1           return false;
30371    -1         }
30372    -1         degrees = Math.abs(degrees);
30373    -1         if (Math.abs(degrees - 180) % 180 <= degreeThreshold) {
30374    -1           return false;
30375    -1         }
30376    -1         return Math.abs(degrees - 90) % 90 <= degreeThreshold;
   -1 31701       var parentVNode = closest_default(virtualNode, options.parentSelector);
   -1 31702       if (!parentVNode) {
   -1 31703         return false;
30377 31704       }
30378    -1       function getTransformDegrees(transformStyle) {
30379    -1         if (!transformStyle) {
30380    -1           return 0;
   -1 31705       var visibleText = visible_virtual_default(parentVNode, true).toLowerCase();
   -1 31706       if (visibleText === '') {
   -1 31707         return false;
   -1 31708       }
   -1 31709       return visibleText === _accessibleTextVirtual(virtualNode).toLowerCase();
   -1 31710     }
   -1 31711     var duplicate_img_label_evaluate_default = duplicateImgLabelEvaluate;
   -1 31712     function altSpaceValueEvaluate(node, options, virtualNode) {
   -1 31713       var alt = virtualNode.attr('alt');
   -1 31714       var isOnlySpace = /^\s+$/;
   -1 31715       return typeof alt === 'string' && isOnlySpace.test(alt);
   -1 31716     }
   -1 31717     var alt_space_value_evaluate_default = altSpaceValueEvaluate;
   -1 31718     function tabindexEvaluate(node, options, virtualNode) {
   -1 31719       var tabIndex = parseInt(virtualNode.attr('tabindex'), 10);
   -1 31720       return isNaN(tabIndex) ? true : tabIndex <= 0;
   -1 31721     }
   -1 31722     var tabindex_evaluate_default = tabindexEvaluate;
   -1 31723     function noFocusableContentEvaluate(node, options, virtualNode) {
   -1 31724       if (!virtualNode.children) {
   -1 31725         return void 0;
   -1 31726       }
   -1 31727       try {
   -1 31728         var focusableDescendants2 = getFocusableDescendants(virtualNode);
   -1 31729         if (!focusableDescendants2.length) {
   -1 31730           return true;
30381 31731         }
30382    -1         var matches4 = transformStyle.match(/(rotate|rotateZ|rotate3d|matrix|matrix3d)\(([^)]+)\)(?!.*(rotate|rotateZ|rotate3d|matrix|matrix3d))/);
30383    -1         if (!matches4) {
30384    -1           return 0;
   -1 31732         var notHiddenElements = focusableDescendants2.filter(usesUnreliableHidingStrategy);
   -1 31733         if (notHiddenElements.length > 0) {
   -1 31734           this.data({
   -1 31735             messageKey: 'notHidden'
   -1 31736           });
   -1 31737           this.relatedNodes(notHiddenElements);
   -1 31738         } else {
   -1 31739           this.relatedNodes(focusableDescendants2);
30385 31740         }
30386    -1         var _matches2 = _slicedToArray(matches4, 3), transformFn = _matches2[1], transformFnValue = _matches2[2];
30387    -1         return getRotationInDegrees(transformFn, transformFnValue);
   -1 31741         return false;
   -1 31742       } catch (e) {
   -1 31743         return void 0;
30388 31744       }
30389    -1       function getRotationInDegrees(transformFunction, transformFnValue) {
30390    -1         switch (transformFunction) {
30391    -1          case 'rotate':
30392    -1          case 'rotateZ':
30393    -1           return getAngleInDegrees(transformFnValue);
30394    -1 
30395    -1          case 'rotate3d':
30396    -1           var _transformFnValue$spl = transformFnValue.split(',').map(function(value) {
30397    -1             return value.trim();
30398    -1           }), _transformFnValue$spl2 = _slicedToArray(_transformFnValue$spl, 4), z = _transformFnValue$spl2[2], angleWithUnit = _transformFnValue$spl2[3];
30399    -1           if (parseInt(z) === 0) {
30400    -1             return;
30401    -1           }
30402    -1           return getAngleInDegrees(angleWithUnit);
30403    -1 
30404    -1          case 'matrix':
30405    -1          case 'matrix3d':
30406    -1           return getAngleInDegreesFromMatrixTransform(transformFnValue);
30407    -1 
30408    -1          default:
30409    -1           return 0;
   -1 31745     }
   -1 31746     function getFocusableDescendants(vNode) {
   -1 31747       if (!vNode.children) {
   -1 31748         if (vNode.props.nodeType === 1) {
   -1 31749           throw new Error('Cannot determine children');
30410 31750         }
   -1 31751         return [];
30411 31752       }
30412    -1       function getAngleInDegrees(angleWithUnit) {
30413    -1         var _ref124 = angleWithUnit.match(/(deg|grad|rad|turn)/) || [], _ref125 = _slicedToArray(_ref124, 1), unit = _ref125[0];
30414    -1         if (!unit) {
30415    -1           return 0;
   -1 31753       var retVal = [];
   -1 31754       vNode.children.forEach(function(child) {
   -1 31755         if (get_role_type_default(child) === 'widget' && _isFocusable(child)) {
   -1 31756           retVal.push(child);
   -1 31757         } else {
   -1 31758           retVal.push.apply(retVal, _toConsumableArray(getFocusableDescendants(child)));
30416 31759         }
30417    -1         var angle = parseFloat(angleWithUnit.replace(unit, ''));
30418    -1         switch (unit) {
30419    -1          case 'rad':
30420    -1           return convertRadToDeg(angle);
30421    -1 
30422    -1          case 'grad':
30423    -1           return convertGradToDeg(angle);
30424    -1 
30425    -1          case 'turn':
30426    -1           return convertTurnToDeg(angle);
30427    -1 
30428    -1          case 'deg':
30429    -1          default:
30430    -1           return parseInt(angle);
   -1 31760       });
   -1 31761       return retVal;
   -1 31762     }
   -1 31763     function usesUnreliableHidingStrategy(vNode) {
   -1 31764       var tabIndex = parseInt(vNode.attr('tabindex'), 10);
   -1 31765       return !isNaN(tabIndex) && tabIndex < 0;
   -1 31766     }
   -1 31767     function landmarkIsTopLevelEvaluate(node) {
   -1 31768       var landmarks = get_aria_roles_by_type_default('landmark');
   -1 31769       var parent = get_composed_parent_default(node);
   -1 31770       var nodeRole = get_role_default(node);
   -1 31771       this.data({
   -1 31772         role: nodeRole
   -1 31773       });
   -1 31774       while (parent) {
   -1 31775         var role = parent.getAttribute('role');
   -1 31776         if (!role && parent.nodeName.toUpperCase() !== 'FORM') {
   -1 31777           role = implicit_role_default(parent);
30431 31778         }
30432    -1       }
30433    -1       function getAngleInDegreesFromMatrixTransform(transformFnValue) {
30434    -1         var values2 = transformFnValue.split(',');
30435    -1         if (values2.length <= 6) {
30436    -1           var _values = _slicedToArray(values2, 2), a2 = _values[0], b3 = _values[1];
30437    -1           var radians = Math.atan2(parseFloat(b3), parseFloat(a2));
30438    -1           return convertRadToDeg(radians);
   -1 31779         if (role && landmarks.includes(role) && !(role === 'main' && nodeRole === 'complementary')) {
   -1 31780           return false;
30439 31781         }
30440    -1         var sinB = parseFloat(values2[8]);
30441    -1         var b2 = Math.asin(sinB);
30442    -1         var cosB = Math.cos(b2);
30443    -1         var rotateZRadians = Math.acos(parseFloat(values2[0]) / cosB);
30444    -1         return convertRadToDeg(rotateZRadians);
30445    -1       }
30446    -1       function convertRadToDeg(radians) {
30447    -1         return Math.round(radians * (180 / Math.PI));
   -1 31782         parent = get_composed_parent_default(parent);
30448 31783       }
30449    -1       function convertGradToDeg(grad) {
30450    -1         grad = grad % 400;
30451    -1         if (grad < 0) {
30452    -1           grad += 400;
30453    -1         }
30454    -1         return Math.round(grad / 400 * 360);
   -1 31784       return true;
   -1 31785     }
   -1 31786     var landmark_is_top_level_evaluate_default = landmarkIsTopLevelEvaluate;
   -1 31787     function frameFocusableContentEvaluate(node, options, virtualNode) {
   -1 31788       if (!virtualNode.children) {
   -1 31789         return void 0;
30455 31790       }
30456    -1       function convertTurnToDeg(turn) {
30457    -1         return Math.round(360 / (1 / turn));
   -1 31791       try {
   -1 31792         return !virtualNode.children.some(function(child) {
   -1 31793           return focusableDescendants(child);
   -1 31794         });
   -1 31795       } catch (e) {
   -1 31796         return void 0;
30458 31797       }
30459 31798     }
30460    -1     var css_orientation_lock_evaluate_default = cssOrientationLockEvaluate;
30461    -1     function metaViewportScaleEvaluate(node, options, virtualNode) {
30462    -1       var _ref126 = options || {}, _ref126$scaleMinimum = _ref126.scaleMinimum, scaleMinimum = _ref126$scaleMinimum === void 0 ? 2 : _ref126$scaleMinimum, _ref126$lowerBound = _ref126.lowerBound, lowerBound = _ref126$lowerBound === void 0 ? false : _ref126$lowerBound;
30463    -1       var content = virtualNode.attr('content') || '';
30464    -1       if (!content) {
   -1 31799     function focusableDescendants(vNode) {
   -1 31800       if (_isInTabOrder(vNode)) {
30465 31801         return true;
30466 31802       }
30467    -1       var result = content.split(/[;,]/).reduce(function(out, item) {
30468    -1         var contentValue = item.trim();
30469    -1         if (!contentValue) {
30470    -1           return out;
30471    -1         }
30472    -1         var _contentValue$split = contentValue.split('='), _contentValue$split2 = _slicedToArray(_contentValue$split, 2), key = _contentValue$split2[0], value = _contentValue$split2[1];
30473    -1         if (!key || !value) {
30474    -1           return out;
30475    -1         }
30476    -1         var curatedKey = key.toLowerCase().trim();
30477    -1         var curatedValue = value.toLowerCase().trim();
30478    -1         if (curatedKey === 'maximum-scale' && curatedValue === 'yes') {
30479    -1           curatedValue = 1;
30480    -1         }
30481    -1         if (curatedKey === 'maximum-scale' && parseFloat(curatedValue) < 0) {
30482    -1           return out;
   -1 31803       if (!vNode.children) {
   -1 31804         if (vNode.props.nodeType === 1) {
   -1 31805           throw new Error('Cannot determine children');
30483 31806         }
30484    -1         out[curatedKey] = curatedValue;
30485    -1         return out;
30486    -1       }, {});
30487    -1       if (lowerBound && result['maximum-scale'] && parseFloat(result['maximum-scale']) < lowerBound) {
30488    -1         return true;
30489    -1       }
30490    -1       if (!lowerBound && result['user-scalable'] === 'no') {
30491    -1         this.data('user-scalable=no');
30492 31807         return false;
30493 31808       }
30494    -1       var userScalableAsFloat = parseFloat(result['user-scalable']);
30495    -1       if (!lowerBound && result['user-scalable'] && (userScalableAsFloat || userScalableAsFloat === 0) && userScalableAsFloat > -1 && userScalableAsFloat < 1) {
30496    -1         this.data('user-scalable');
30497    -1         return false;
   -1 31809       return vNode.children.some(function(child) {
   -1 31810         return focusableDescendants(child);
   -1 31811       });
   -1 31812     }
   -1 31813     function focusableNotTabbableEvaluate(node, options, virtualNode) {
   -1 31814       var elementsThatCanBeDisabled = [ 'button', 'fieldset', 'input', 'select', 'textarea' ];
   -1 31815       var tabbableElements = virtualNode.tabbableElements;
   -1 31816       if (!tabbableElements || !tabbableElements.length) {
   -1 31817         return true;
30498 31818       }
30499    -1       if (result['maximum-scale'] && parseFloat(result['maximum-scale']) < scaleMinimum) {
30500    -1         this.data('maximum-scale');
30501    -1         return false;
   -1 31819       var relatedNodes = tabbableElements.filter(function(vNode) {
   -1 31820         return !elementsThatCanBeDisabled.includes(vNode.props.nodeName);
   -1 31821       });
   -1 31822       this.relatedNodes(relatedNodes.map(function(vNode) {
   -1 31823         return vNode.actualNode;
   -1 31824       }));
   -1 31825       if (relatedNodes.length === 0 || is_modal_open_default()) {
   -1 31826         return true;
30502 31827       }
30503    -1       return true;
   -1 31828       return relatedNodes.every(function(vNode) {
   -1 31829         var pointerEvents = vNode.getComputedStylePropertyValue('pointer-events');
   -1 31830         var width = parseInt(vNode.getComputedStylePropertyValue('width'));
   -1 31831         var height = parseInt(vNode.getComputedStylePropertyValue('height'));
   -1 31832         return vNode.actualNode.onfocus || (width === 0 || height === 0) && pointerEvents === 'none';
   -1 31833       }) ? void 0 : false;
30504 31834     }
30505    -1     var meta_viewport_scale_evaluate_default = metaViewportScaleEvaluate;
30506    -1     var roundingMargin2 = .05;
30507    -1     function targetOffsetEvaluate(node, options, vNode) {
30508    -1       var minOffset = (options === null || options === void 0 ? void 0 : options.minOffset) || 24;
30509    -1       var closeNeighbors = [];
30510    -1       var closestOffset = minOffset;
30511    -1       var _iterator19 = _createForOfIteratorHelper(_findNearbyElms(vNode, minOffset)), _step19;
   -1 31835     var focusable_not_tabbable_evaluate_default = focusableNotTabbableEvaluate;
   -1 31836     function focusableNoNameEvaluate(node, options, virtualNode) {
   -1 31837       var tabIndex = virtualNode.attr('tabindex');
   -1 31838       var inFocusOrder = _isFocusable(virtualNode) && tabIndex > -1;
   -1 31839       if (!inFocusOrder) {
   -1 31840         return false;
   -1 31841       }
30512 31842       try {
30513    -1         for (_iterator19.s(); !(_step19 = _iterator19.n()).done; ) {
30514    -1           var vNeighbor = _step19.value;
30515    -1           if (get_role_type_default(vNeighbor) !== 'widget' || !_isFocusable(vNeighbor)) {
30516    -1             continue;
30517    -1           }
30518    -1           var offset = roundToSingleDecimal(_getOffset(vNode, vNeighbor, minOffset / 2)) * 2;
30519    -1           if (offset + roundingMargin2 >= minOffset) {
30520    -1             continue;
30521    -1           }
30522    -1           closestOffset = Math.min(closestOffset, offset);
30523    -1           closeNeighbors.push(vNeighbor);
30524    -1         }
30525    -1       } catch (err) {
30526    -1         _iterator19.e(err);
30527    -1       } finally {
30528    -1         _iterator19.f();
   -1 31843         return !_accessibleTextVirtual(virtualNode);
   -1 31844       } catch (e) {
   -1 31845         return void 0;
30529 31846       }
30530    -1       if (closeNeighbors.length === 0) {
30531    -1         this.data({
30532    -1           closestOffset: closestOffset,
30533    -1           minOffset: minOffset
30534    -1         });
   -1 31847     }
   -1 31848     var focusable_no_name_evaluate_default = focusableNoNameEvaluate;
   -1 31849     function focusableModalOpenEvaluate(node, options, virtualNode) {
   -1 31850       var tabbableElements = virtualNode.tabbableElements.map(function(_ref131) {
   -1 31851         var actualNode = _ref131.actualNode;
   -1 31852         return actualNode;
   -1 31853       });
   -1 31854       if (!tabbableElements || !tabbableElements.length) {
30535 31855         return true;
30536 31856       }
30537    -1       this.relatedNodes(closeNeighbors.map(function(_ref127) {
30538    -1         var actualNode = _ref127.actualNode;
30539    -1         return actualNode;
30540    -1       }));
30541    -1       if (!closeNeighbors.some(_isInTabOrder)) {
30542    -1         this.data({
30543    -1           messageKey: 'nonTabbableNeighbor',
30544    -1           closestOffset: closestOffset,
30545    -1           minOffset: minOffset
30546    -1         });
   -1 31857       if (is_modal_open_default()) {
   -1 31858         this.relatedNodes(tabbableElements);
30547 31859         return void 0;
30548 31860       }
30549    -1       this.data({
30550    -1         closestOffset: closestOffset,
30551    -1         minOffset: minOffset
30552    -1       });
30553    -1       return _isInTabOrder(vNode) ? false : void 0;
30554    -1     }
30555    -1     function roundToSingleDecimal(num) {
30556    -1       return Math.round(num * 10) / 10;
   -1 31861       return true;
30557 31862     }
30558    -1     function targetSize(node, options, vNode) {
30559    -1       var minSize = (options === null || options === void 0 ? void 0 : options.minSize) || 24;
30560    -1       var nodeRect = vNode.boundingClientRect;
30561    -1       var hasMinimumSize = _rectHasMinimumSize.bind(null, minSize);
30562    -1       var nearbyElms = _findNearbyElms(vNode);
30563    -1       var overflowingContent = filterOverflowingContent(vNode, nearbyElms);
30564    -1       var _filterByElmsOverlap = filterByElmsOverlap(vNode, nearbyElms), fullyObscuringElms = _filterByElmsOverlap.fullyObscuringElms, partialObscuringElms = _filterByElmsOverlap.partialObscuringElms;
30565    -1       if (fullyObscuringElms.length && !overflowingContent.length) {
30566    -1         this.relatedNodes(mapActualNodes(fullyObscuringElms));
30567    -1         this.data({
30568    -1           messageKey: 'obscured'
30569    -1         });
   -1 31863     var focusable_modal_open_evaluate_default = focusableModalOpenEvaluate;
   -1 31864     function focusableElementEvaluate(node, options, virtualNode) {
   -1 31865       if (virtualNode.hasAttr('contenteditable') && isContenteditable(virtualNode)) {
30570 31866         return true;
30571 31867       }
30572    -1       var negativeOutcome = _isInTabOrder(vNode) ? false : void 0;
30573    -1       if (!hasMinimumSize(nodeRect) && !overflowingContent.length) {
30574    -1         this.data(_extends({
30575    -1           minSize: minSize
30576    -1         }, toDecimalSize(nodeRect)));
30577    -1         return negativeOutcome;
30578    -1       }
30579    -1       var obscuredWidgets = filterFocusableWidgets(partialObscuringElms);
30580    -1       var largestInnerRect = getLargestUnobscuredArea(vNode, obscuredWidgets);
30581    -1       if (overflowingContent.length) {
30582    -1         if (fullyObscuringElms.length || !hasMinimumSize(largestInnerRect || nodeRect)) {
30583    -1           this.data({
30584    -1             minSize: minSize,
30585    -1             messageKey: 'contentOverflow'
30586    -1           });
30587    -1           this.relatedNodes(mapActualNodes(overflowingContent));
30588    -1           return void 0;
   -1 31868       return _isInTabOrder(virtualNode);
   -1 31869       function isContenteditable(vNode) {
   -1 31870         var contenteditable = vNode.attr('contenteditable');
   -1 31871         if (contenteditable === 'true' || contenteditable === '') {
   -1 31872           return true;
30589 31873         }
   -1 31874         if (contenteditable === 'false') {
   -1 31875           return false;
   -1 31876         }
   -1 31877         var ancestor = closest_default(virtualNode.parent, '[contenteditable]');
   -1 31878         if (!ancestor) {
   -1 31879           return false;
   -1 31880         }
   -1 31881         return isContenteditable(ancestor);
30590 31882       }
30591    -1       if (obscuredWidgets.length !== 0 && !hasMinimumSize(largestInnerRect)) {
30592    -1         var allTabbable = obscuredWidgets.every(_isInTabOrder);
30593    -1         var messageKey = 'partiallyObscured'.concat(allTabbable ? '' : 'NonTabbable');
30594    -1         this.data(_extends({
30595    -1           messageKey: messageKey,
30596    -1           minSize: minSize
30597    -1         }, toDecimalSize(largestInnerRect)));
30598    -1         this.relatedNodes(mapActualNodes(obscuredWidgets));
30599    -1         return allTabbable ? negativeOutcome : void 0;
30600    -1       }
30601    -1       this.data(_extends({
30602    -1         minSize: minSize
30603    -1       }, toDecimalSize(largestInnerRect || nodeRect)));
30604    -1       this.relatedNodes(mapActualNodes(obscuredWidgets));
30605    -1       return true;
30606 31883     }
30607    -1     function filterOverflowingContent(vNode, nearbyElms) {
30608    -1       return nearbyElms.filter(function(nearbyElm) {
30609    -1         return !isEnclosedRect2(nearbyElm, vNode) && isDescendantNotInTabOrder2(vNode, nearbyElm);
   -1 31884     var focusable_element_evaluate_default = focusableElementEvaluate;
   -1 31885     function focusableDisabledEvaluate(node, options, virtualNode) {
   -1 31886       var elementsThatCanBeDisabled = [ 'button', 'fieldset', 'input', 'select', 'textarea' ];
   -1 31887       var tabbableElements = virtualNode.tabbableElements;
   -1 31888       if (!tabbableElements || !tabbableElements.length) {
   -1 31889         return true;
   -1 31890       }
   -1 31891       var relatedNodes = tabbableElements.filter(function(vNode) {
   -1 31892         return elementsThatCanBeDisabled.includes(vNode.props.nodeName);
30610 31893       });
30611    -1     }
30612    -1     function filterByElmsOverlap(vNode, nearbyElms) {
30613    -1       var fullyObscuringElms = [];
30614    -1       var partialObscuringElms = [];
30615    -1       var _iterator20 = _createForOfIteratorHelper(nearbyElms), _step20;
30616    -1       try {
30617    -1         for (_iterator20.s(); !(_step20 = _iterator20.n()).done; ) {
30618    -1           var vNeighbor = _step20.value;
30619    -1           if (!isDescendantNotInTabOrder2(vNode, vNeighbor) && _hasVisualOverlap(vNode, vNeighbor) && getCssPointerEvents(vNeighbor) !== 'none') {
30620    -1             if (isEnclosedRect2(vNode, vNeighbor)) {
30621    -1               fullyObscuringElms.push(vNeighbor);
30622    -1             } else {
30623    -1               partialObscuringElms.push(vNeighbor);
30624    -1             }
30625    -1           }
30626    -1         }
30627    -1       } catch (err) {
30628    -1         _iterator20.e(err);
30629    -1       } finally {
30630    -1         _iterator20.f();
   -1 31894       this.relatedNodes(relatedNodes.map(function(vNode) {
   -1 31895         return vNode.actualNode;
   -1 31896       }));
   -1 31897       if (relatedNodes.length === 0 || is_modal_open_default()) {
   -1 31898         return true;
30631 31899       }
30632    -1       return {
30633    -1         fullyObscuringElms: fullyObscuringElms,
30634    -1         partialObscuringElms: partialObscuringElms
30635    -1       };
   -1 31900       return relatedNodes.every(function(vNode) {
   -1 31901         var pointerEvents = vNode.getComputedStylePropertyValue('pointer-events');
   -1 31902         var width = parseInt(vNode.getComputedStylePropertyValue('width'));
   -1 31903         var height = parseInt(vNode.getComputedStylePropertyValue('height'));
   -1 31904         return vNode.actualNode.onfocus || (width === 0 || height === 0) && pointerEvents === 'none';
   -1 31905       }) ? void 0 : false;
30636 31906     }
30637    -1     function getLargestUnobscuredArea(vNode, obscuredNodes) {
30638    -1       var nodeRect = vNode.boundingClientRect;
30639    -1       if (obscuredNodes.length === 0) {
30640    -1         return null;
   -1 31907     var focusable_disabled_evaluate_default = focusableDisabledEvaluate;
   -1 31908     function focusableContentEvaluate(node, options, virtualNode) {
   -1 31909       var tabbableElements = virtualNode.tabbableElements;
   -1 31910       if (!tabbableElements) {
   -1 31911         return false;
30641 31912       }
30642    -1       var obscuringRects = obscuredNodes.map(function(_ref128) {
30643    -1         var rect = _ref128.boundingClientRect;
30644    -1         return rect;
   -1 31913       var tabbableContentElements = tabbableElements.filter(function(el) {
   -1 31914         return el !== virtualNode;
30645 31915       });
30646    -1       var unobscuredRects = _splitRects(nodeRect, obscuringRects);
30647    -1       return getLargestRect2(unobscuredRects);
   -1 31916       return tabbableContentElements.length > 0;
30648 31917     }
30649    -1     function getLargestRect2(rects, minSize) {
30650    -1       return rects.reduce(function(rectA, rectB) {
30651    -1         var rectAisMinimum = _rectHasMinimumSize(minSize, rectA);
30652    -1         var rectBisMinimum = _rectHasMinimumSize(minSize, rectB);
30653    -1         if (rectAisMinimum !== rectBisMinimum) {
30654    -1           return rectAisMinimum ? rectA : rectB;
   -1 31918     var focusable_content_evaluate_default = focusableContentEvaluate;
   -1 31919     function accesskeysEvaluate(node, options, vNode) {
   -1 31920       if (!_isHiddenForEveryone(vNode)) {
   -1 31921         this.data(vNode.attr('accesskey'));
   -1 31922         this.relatedNodes([ node ]);
   -1 31923       }
   -1 31924       return true;
   -1 31925     }
   -1 31926     var accesskeys_evaluate_default = accesskeysEvaluate;
   -1 31927     function accesskeysAfter(results) {
   -1 31928       var seen = {};
   -1 31929       return results.filter(function(r) {
   -1 31930         if (!r.data) {
   -1 31931           return false;
30655 31932         }
30656    -1         var areaA = rectA.width * rectA.height;
30657    -1         var areaB = rectB.width * rectB.height;
30658    -1         return areaA > areaB ? rectA : rectB;
   -1 31933         var key = r.data.toUpperCase();
   -1 31934         if (!seen[key]) {
   -1 31935           seen[key] = r;
   -1 31936           r.relatedNodes = [];
   -1 31937           return true;
   -1 31938         }
   -1 31939         seen[key].relatedNodes.push(r.relatedNodes[0]);
   -1 31940         return false;
   -1 31941       }).map(function(r) {
   -1 31942         r.result = !!r.relatedNodes.length;
   -1 31943         return r;
30659 31944       });
30660 31945     }
30661    -1     function filterFocusableWidgets(vNodes) {
30662    -1       return vNodes.filter(function(vNode) {
30663    -1         return get_role_type_default(vNode) === 'widget' && _isFocusable(vNode);
   -1 31946     var accesskeys_after_default = accesskeysAfter;
   -1 31947     function pageNoDuplicateEvaluate(node, options, virtualNode) {
   -1 31948       if (!options || !options.selector || typeof options.selector !== 'string') {
   -1 31949         throw new TypeError('page-no-duplicate requires options.selector to be a string');
   -1 31950       }
   -1 31951       var key = 'page-no-duplicate;' + options.selector;
   -1 31952       if (cache_default.get(key)) {
   -1 31953         this.data('ignored');
   -1 31954         return;
   -1 31955       }
   -1 31956       cache_default.set(key, true);
   -1 31957       var elms = query_selector_all_filter_default(axe._tree[0], options.selector, function(elm) {
   -1 31958         return _isVisibleToScreenReaders(elm);
30664 31959       });
   -1 31960       if (typeof options.nativeScopeFilter === 'string') {
   -1 31961         elms = elms.filter(function(elm) {
   -1 31962           return elm.actualNode.hasAttribute('role') || !find_up_virtual_default(elm, options.nativeScopeFilter);
   -1 31963         });
   -1 31964       }
   -1 31965       if (typeof options.role === 'string') {
   -1 31966         elms = elms.filter(function(elm) {
   -1 31967           return get_role_default(elm) === options.role;
   -1 31968         });
   -1 31969       }
   -1 31970       this.relatedNodes(elms.filter(function(elm) {
   -1 31971         return elm !== virtualNode;
   -1 31972       }).map(function(elm) {
   -1 31973         return elm.actualNode;
   -1 31974       }));
   -1 31975       return elms.length <= 1;
30665 31976     }
30666    -1     function isEnclosedRect2(vNodeA, vNodeB) {
30667    -1       var rectA = vNodeA.boundingClientRect;
30668    -1       var rectB = vNodeB.boundingClientRect;
30669    -1       return rectA.top >= rectB.top && rectA.left >= rectB.left && rectA.bottom <= rectB.bottom && rectA.right <= rectB.right;
30670    -1     }
30671    -1     function getCssPointerEvents(vNode) {
30672    -1       return vNode.getComputedStylePropertyValue('pointer-events');
   -1 31977     var page_no_duplicate_evaluate_default = pageNoDuplicateEvaluate;
   -1 31978     function pageNoDuplicateAfter(results) {
   -1 31979       return results.filter(function(checkResult) {
   -1 31980         return checkResult.data !== 'ignored';
   -1 31981       });
30673 31982     }
30674    -1     function toDecimalSize(rect) {
30675    -1       return {
30676    -1         width: Math.round(rect.width * 10) / 10,
30677    -1         height: Math.round(rect.height * 10) / 10
30678    -1       };
   -1 31983     var page_no_duplicate_after_default = pageNoDuplicateAfter;
   -1 31984     function matchesDefinitionEvaluate(_, options, virtualNode) {
   -1 31985       return matches_default2(virtualNode, options.matcher);
30679 31986     }
30680    -1     function isDescendantNotInTabOrder2(vAncestor, vNode) {
30681    -1       return vAncestor.actualNode.contains(vNode.actualNode) && !_isInTabOrder(vNode);
   -1 31987     var matches_definition_evaluate_default = matchesDefinitionEvaluate;
   -1 31988     function hasTextContentEvaluate(node, options, virtualNode) {
   -1 31989       try {
   -1 31990         return sanitize_default(subtree_text_default(virtualNode)) !== '';
   -1 31991       } catch (e) {
   -1 31992         return void 0;
   -1 31993       }
30682 31994     }
30683    -1     function mapActualNodes(vNodes) {
30684    -1       return vNodes.map(function(_ref129) {
30685    -1         var actualNode = _ref129.actualNode;
30686    -1         return actualNode;
   -1 31995     function hasDescendant(node, options, virtualNode) {
   -1 31996       if (!options || !options.selector || typeof options.selector !== 'string') {
   -1 31997         throw new TypeError('has-descendant requires options.selector to be a string');
   -1 31998       }
   -1 31999       if (options.passForModal && is_modal_open_default()) {
   -1 32000         return true;
   -1 32001       }
   -1 32002       var matchingElms = query_selector_all_filter_default(virtualNode, options.selector, function(vNode) {
   -1 32003         return _isVisibleToScreenReaders(vNode);
30687 32004       });
   -1 32005       this.relatedNodes(matchingElms.map(function(vNode) {
   -1 32006         return vNode.actualNode;
   -1 32007       }));
   -1 32008       return matchingElms.length > 0;
30688 32009     }
30689    -1     function headingOrderAfter(results) {
30690    -1       var headingOrder = getHeadingOrder(results);
30691    -1       results.forEach(function(result) {
30692    -1         result.result = getHeadingOrderOutcome(result, headingOrder);
   -1 32010     var has_descendant_evaluate_default = hasDescendant;
   -1 32011     function pageHasElmAfter(results) {
   -1 32012       var elmUsedAnywhere = results.some(function(frameResult) {
   -1 32013         return frameResult.result === true;
30693 32014       });
   -1 32015       if (elmUsedAnywhere) {
   -1 32016         results.forEach(function(result) {
   -1 32017           result.result = true;
   -1 32018         });
   -1 32019       }
30694 32020       return results;
30695 32021     }
30696    -1     function getHeadingOrderOutcome(result, headingOrder) {
30697    -1       var _headingOrder$index$l, _headingOrder$index, _headingOrder$level, _headingOrder;
30698    -1       var index = findHeadingOrderIndex(headingOrder, result.node.ancestry);
30699    -1       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;
30700    -1       var prevLevel = (_headingOrder$level = (_headingOrder = headingOrder[index - 1]) === null || _headingOrder === void 0 ? void 0 : _headingOrder.level) !== null && _headingOrder$level !== void 0 ? _headingOrder$level : -1;
30701    -1       if (index === 0) {
30702    -1         return true;
   -1 32022     var has_descendant_after_default = pageHasElmAfter;
   -1 32023     function attrNonSpaceContentEvaluate(node) {
   -1 32024       var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
   -1 32025       var vNode = arguments.length > 2 ? arguments[2] : undefined;
   -1 32026       if (!options.attribute || typeof options.attribute !== 'string') {
   -1 32027         throw new TypeError('attr-non-space-content requires options.attribute to be a string');
30703 32028       }
30704    -1       if (currLevel === -1) {
30705    -1         return void 0;
   -1 32029       if (!vNode.hasAttr(options.attribute)) {
   -1 32030         this.data({
   -1 32031           messageKey: 'noAttr'
   -1 32032         });
   -1 32033         return false;
30706 32034       }
30707    -1       return currLevel - prevLevel <= 1;
   -1 32035       var attribute = vNode.attr(options.attribute);
   -1 32036       var attributeIsEmpty = !sanitize_default(attribute);
   -1 32037       if (attributeIsEmpty) {
   -1 32038         this.data({
   -1 32039           messageKey: 'emptyAttr'
   -1 32040         });
   -1 32041         return false;
   -1 32042       }
   -1 32043       return true;
30708 32044     }
30709    -1     function getHeadingOrder(results) {
30710    -1       results = _toConsumableArray(results);
30711    -1       results.sort(function(_ref130, _ref131) {
30712    -1         var nodeA = _ref130.node;
30713    -1         var nodeB = _ref131.node;
30714    -1         return nodeA.ancestry.length - nodeB.ancestry.length;
30715    -1       });
30716    -1       var headingOrder = results.reduce(mergeHeadingOrder, []);
30717    -1       return headingOrder.filter(function(_ref132) {
30718    -1         var level = _ref132.level;
30719    -1         return level !== -1;
30720    -1       });
   -1 32045     var attr_non_space_content_evaluate_default = attrNonSpaceContentEvaluate;
   -1 32046     function autocompleteValidEvaluate(node, options, virtualNode) {
   -1 32047       var autocomplete2 = virtualNode.attr('autocomplete') || '';
   -1 32048       return is_valid_autocomplete_default(autocomplete2, options);
30721 32049     }
30722    -1     function mergeHeadingOrder(mergedHeadingOrder, result) {
30723    -1       var _result$data;
30724    -1       var frameHeadingOrder = (_result$data = result.data) === null || _result$data === void 0 ? void 0 : _result$data.headingOrder;
30725    -1       var frameAncestry = shortenArray(result.node.ancestry, 1);
30726    -1       if (!frameHeadingOrder) {
30727    -1         return mergedHeadingOrder;
   -1 32050     var autocomplete_valid_evaluate_default = autocompleteValidEvaluate;
   -1 32051     function autocompleteAppropriateEvaluate(node, options, virtualNode) {
   -1 32052       if (virtualNode.props.nodeName !== 'input') {
   -1 32053         return true;
30728 32054       }
30729    -1       var normalizedHeadingOrder = frameHeadingOrder.map(function(heading) {
30730    -1         return addFrameToHeadingAncestry(heading, frameAncestry);
   -1 32055       var number = [ 'text', 'search', 'number', 'tel' ];
   -1 32056       var url = [ 'text', 'search', 'url' ];
   -1 32057       var allowedTypesMap = {
   -1 32058         bday: [ 'text', 'search', 'date' ],
   -1 32059         email: [ 'text', 'search', 'email' ],
   -1 32060         username: [ 'text', 'search', 'email' ],
   -1 32061         'street-address': [ 'text' ],
   -1 32062         tel: [ 'text', 'search', 'tel' ],
   -1 32063         'tel-country-code': [ 'text', 'search', 'tel' ],
   -1 32064         'tel-national': [ 'text', 'search', 'tel' ],
   -1 32065         'tel-area-code': [ 'text', 'search', 'tel' ],
   -1 32066         'tel-local': [ 'text', 'search', 'tel' ],
   -1 32067         'tel-local-prefix': [ 'text', 'search', 'tel' ],
   -1 32068         'tel-local-suffix': [ 'text', 'search', 'tel' ],
   -1 32069         'tel-extension': [ 'text', 'search', 'tel' ],
   -1 32070         'cc-number': number,
   -1 32071         'cc-exp': [ 'text', 'search', 'month', 'tel' ],
   -1 32072         'cc-exp-month': number,
   -1 32073         'cc-exp-year': number,
   -1 32074         'cc-csc': number,
   -1 32075         'transaction-amount': number,
   -1 32076         'bday-day': number,
   -1 32077         'bday-month': number,
   -1 32078         'bday-year': number,
   -1 32079         'new-password': [ 'text', 'search', 'password' ],
   -1 32080         'current-password': [ 'text', 'search', 'password' ],
   -1 32081         url: url,
   -1 32082         photo: url,
   -1 32083         impp: url
   -1 32084       };
   -1 32085       if (_typeof(options) === 'object') {
   -1 32086         Object.keys(options).forEach(function(key) {
   -1 32087           if (!allowedTypesMap[key]) {
   -1 32088             allowedTypesMap[key] = [];
   -1 32089           }
   -1 32090           allowedTypesMap[key] = allowedTypesMap[key].concat(options[key]);
   -1 32091         });
   -1 32092       }
   -1 32093       var autocompleteAttr = virtualNode.attr('autocomplete');
   -1 32094       var autocompleteTerms = autocompleteAttr.split(/\s+/g).map(function(term) {
   -1 32095         return term.toLowerCase();
30731 32096       });
30732    -1       var index = getFrameIndex(mergedHeadingOrder, frameAncestry);
30733    -1       if (index === -1) {
30734    -1         mergedHeadingOrder.push.apply(mergedHeadingOrder, _toConsumableArray(normalizedHeadingOrder));
30735    -1       } else {
30736    -1         mergedHeadingOrder.splice.apply(mergedHeadingOrder, [ index, 0 ].concat(_toConsumableArray(normalizedHeadingOrder)));
   -1 32097       var purposeTerm = autocompleteTerms[autocompleteTerms.length - 1];
   -1 32098       if (_autocomplete.stateTerms.includes(purposeTerm)) {
   -1 32099         return true;
30737 32100       }
30738    -1       return mergedHeadingOrder;
   -1 32101       var allowedTypes = allowedTypesMap[purposeTerm];
   -1 32102       var type2 = virtualNode.hasAttr('type') ? sanitize_default(virtualNode.attr('type')).toLowerCase() : 'text';
   -1 32103       type2 = valid_input_type_default().includes(type2) ? type2 : 'text';
   -1 32104       if (typeof allowedTypes === 'undefined') {
   -1 32105         return type2 === 'text';
   -1 32106       }
   -1 32107       return allowedTypes.includes(type2);
30739 32108     }
30740    -1     function getFrameIndex(headingOrder, frameAncestry) {
30741    -1       while (frameAncestry.length) {
30742    -1         var index = findHeadingOrderIndex(headingOrder, frameAncestry);
30743    -1         if (index !== -1) {
30744    -1           return index;
   -1 32109     var autocomplete_appropriate_evaluate_default = autocompleteAppropriateEvaluate;
   -1 32110     var blockLike2 = [ 'block', 'list-item', 'table', 'flex', 'grid', 'inline-block' ];
   -1 32111     function linkInTextBlockStyleEvaluate(node) {
   -1 32112       if (isBlock2(node)) {
   -1 32113         return false;
   -1 32114       }
   -1 32115       var parentBlock = get_composed_parent_default(node);
   -1 32116       while (parentBlock && parentBlock.nodeType === 1 && !isBlock2(parentBlock)) {
   -1 32117         parentBlock = get_composed_parent_default(parentBlock);
   -1 32118       }
   -1 32119       if (!parentBlock) {
   -1 32120         return void 0;
   -1 32121       }
   -1 32122       this.relatedNodes([ parentBlock ]);
   -1 32123       if (element_is_distinct_default(node, parentBlock)) {
   -1 32124         return true;
   -1 32125       }
   -1 32126       if (hasPseudoContent(node)) {
   -1 32127         this.data({
   -1 32128           messageKey: 'pseudoContent'
   -1 32129         });
   -1 32130         return void 0;
   -1 32131       }
   -1 32132       return false;
   -1 32133     }
   -1 32134     function isBlock2(elm) {
   -1 32135       var display2 = window.getComputedStyle(elm).getPropertyValue('display');
   -1 32136       return blockLike2.indexOf(display2) !== -1 || display2.substr(0, 6) === 'table-';
   -1 32137     }
   -1 32138     function hasPseudoContent(node) {
   -1 32139       for (var _i34 = 0, _arr3 = [ 'before', 'after' ]; _i34 < _arr3.length; _i34++) {
   -1 32140         var pseudo = _arr3[_i34];
   -1 32141         var style = window.getComputedStyle(node, ':'.concat(pseudo));
   -1 32142         var content = style.getPropertyValue('content');
   -1 32143         if (content !== 'none') {
   -1 32144           return true;
30745 32145         }
30746    -1         frameAncestry = shortenArray(frameAncestry, 1);
30747 32146       }
30748    -1       return -1;
30749    -1     }
30750    -1     function findHeadingOrderIndex(headingOrder, ancestry) {
30751    -1       return headingOrder.findIndex(function(heading) {
30752    -1         return _matchAncestry(heading.ancestry, ancestry);
30753    -1       });
   -1 32147       return false;
30754 32148     }
30755    -1     function addFrameToHeadingAncestry(heading, frameAncestry) {
30756    -1       var ancestry = frameAncestry.concat(heading.ancestry);
30757    -1       return _extends({}, heading, {
30758    -1         ancestry: ancestry
30759    -1       });
   -1 32149     function getContrast2(color1, color2) {
   -1 32150       var c1lum = color1.getRelativeLuminance();
   -1 32151       var c2lum = color2.getRelativeLuminance();
   -1 32152       return (Math.max(c1lum, c2lum) + .05) / (Math.min(c1lum, c2lum) + .05);
30760 32153     }
30761    -1     function shortenArray(arr, spliceLength) {
30762    -1       return arr.slice(0, arr.length - spliceLength);
   -1 32154     var blockLike3 = [ 'block', 'list-item', 'table', 'flex', 'grid', 'inline-block' ];
   -1 32155     function isBlock3(elm) {
   -1 32156       var display2 = window.getComputedStyle(elm).getPropertyValue('display');
   -1 32157       return blockLike3.indexOf(display2) !== -1 || display2.substr(0, 6) === 'table-';
30763 32158     }
30764    -1     function getLevel(vNode) {
30765    -1       var role = get_role_default(vNode);
30766    -1       var headingRole = role && role.includes('heading');
30767    -1       var ariaHeadingLevel = vNode.attr('aria-level');
30768    -1       var ariaLevel = parseInt(ariaHeadingLevel, 10);
30769    -1       var _ref133 = vNode.props.nodeName.match(/h(\d)/) || [], _ref134 = _slicedToArray(_ref133, 2), headingLevel = _ref134[1];
30770    -1       if (!headingRole) {
30771    -1         return -1;
   -1 32159     function linkInTextBlockEvaluate(node, options) {
   -1 32160       var requiredContrastRatio = options.requiredContrastRatio, allowSameColor = options.allowSameColor;
   -1 32161       if (isBlock3(node)) {
   -1 32162         return false;
30772 32163       }
30773    -1       if (headingLevel && !ariaHeadingLevel) {
30774    -1         return parseInt(headingLevel, 10);
   -1 32164       var parentBlock = get_composed_parent_default(node);
   -1 32165       while (parentBlock && parentBlock.nodeType === 1 && !isBlock3(parentBlock)) {
   -1 32166         parentBlock = get_composed_parent_default(parentBlock);
30775 32167       }
30776    -1       if (isNaN(ariaLevel) || ariaLevel < 1) {
30777    -1         if (headingLevel) {
30778    -1           return parseInt(headingLevel, 10);
30779    -1         }
30780    -1         return 2;
   -1 32168       if (!parentBlock) {
   -1 32169         return void 0;
30781 32170       }
30782    -1       if (ariaLevel) {
30783    -1         return ariaLevel;
   -1 32171       this.relatedNodes([ parentBlock ]);
   -1 32172       var nodeColor = _getForegroundColor(node);
   -1 32173       var parentColor = _getForegroundColor(parentBlock);
   -1 32174       var nodeBackgroundColor = _getBackgroundColor2(node);
   -1 32175       var parentBackgroundColor = _getBackgroundColor2(parentBlock);
   -1 32176       var textContrast = nodeColor && parentColor ? getContrast2(nodeColor, parentColor) : void 0;
   -1 32177       if (textContrast) {
   -1 32178         textContrast = Math.floor(textContrast * 100) / 100;
30784 32179       }
30785    -1       return -1;
30786    -1     }
30787    -1     function headingOrderEvaluate() {
30788    -1       var headingOrder = cache_default.get('headingOrder');
30789    -1       if (headingOrder) {
   -1 32180       if (textContrast && textContrast >= requiredContrastRatio) {
30790 32181         return true;
30791 32182       }
30792    -1       var selector = 'h1, h2, h3, h4, h5, h6, [role=heading], iframe, frame';
30793    -1       var vNodes = query_selector_all_filter_default(axe._tree[0], selector, _isVisibleToScreenReaders);
30794    -1       headingOrder = vNodes.map(function(vNode) {
30795    -1         return {
30796    -1           ancestry: [ _getAncestry(vNode.actualNode) ],
30797    -1           level: getLevel(vNode)
30798    -1         };
30799    -1       });
30800    -1       this.data({
30801    -1         headingOrder: headingOrder
30802    -1       });
30803    -1       cache_default.set('headingOrder', vNodes);
30804    -1       return true;
30805    -1     }
30806    -1     var heading_order_evaluate_default = headingOrderEvaluate;
30807    -1     function isIdenticalObject(a2, b2) {
30808    -1       if (!a2 || !b2) {
30809    -1         return false;
   -1 32183       var backgroundContrast = nodeBackgroundColor && parentBackgroundColor ? getContrast2(nodeBackgroundColor, parentBackgroundColor) : void 0;
   -1 32184       if (backgroundContrast) {
   -1 32185         backgroundContrast = Math.floor(backgroundContrast * 100) / 100;
30810 32186       }
30811    -1       var aProps = Object.getOwnPropertyNames(a2);
30812    -1       var bProps = Object.getOwnPropertyNames(b2);
30813    -1       if (aProps.length !== bProps.length) {
   -1 32187       if (backgroundContrast && backgroundContrast >= requiredContrastRatio) {
   -1 32188         return true;
   -1 32189       }
   -1 32190       if (!backgroundContrast) {
   -1 32191         var _incomplete_data_defa;
   -1 32192         var reason = (_incomplete_data_defa = incomplete_data_default.get('bgColor')) !== null && _incomplete_data_defa !== void 0 ? _incomplete_data_defa : 'bgContrast';
   -1 32193         this.data({
   -1 32194           messageKey: reason
   -1 32195         });
   -1 32196         incomplete_data_default.clear();
   -1 32197         return void 0;
   -1 32198       }
   -1 32199       if (!textContrast) {
   -1 32200         return void 0;
   -1 32201       }
   -1 32202       if (allowSameColor && textContrast === 1 && backgroundContrast === 1) {
   -1 32203         return true;
   -1 32204       }
   -1 32205       if (textContrast === 1 && backgroundContrast > 1) {
   -1 32206         this.data({
   -1 32207           messageKey: 'bgContrast',
   -1 32208           contrastRatio: backgroundContrast,
   -1 32209           requiredContrastRatio: requiredContrastRatio,
   -1 32210           nodeBackgroundColor: nodeBackgroundColor ? nodeBackgroundColor.toHexString() : void 0,
   -1 32211           parentBackgroundColor: parentBackgroundColor ? parentBackgroundColor.toHexString() : void 0
   -1 32212         });
30814 32213         return false;
30815 32214       }
30816    -1       var result = aProps.every(function(propName) {
30817    -1         var aValue = a2[propName];
30818    -1         var bValue = b2[propName];
30819    -1         if (_typeof(aValue) !== _typeof(bValue)) {
30820    -1           return false;
30821    -1         }
30822    -1         if (_typeof(aValue) === 'object' || _typeof(bValue) === 'object') {
30823    -1           return isIdenticalObject(aValue, bValue);
30824    -1         }
30825    -1         return aValue === bValue;
   -1 32215       this.data({
   -1 32216         messageKey: 'fgContrast',
   -1 32217         contrastRatio: textContrast,
   -1 32218         requiredContrastRatio: requiredContrastRatio,
   -1 32219         nodeColor: nodeColor ? nodeColor.toHexString() : void 0,
   -1 32220         parentColor: parentColor ? parentColor.toHexString() : void 0
30826 32221       });
30827    -1       return result;
   -1 32222       return false;
30828 32223     }
30829    -1     function identicalLinksSamePurposeAfter(results) {
30830    -1       if (results.length < 2) {
30831    -1         return results;
   -1 32224     var link_in_text_block_evaluate_default = linkInTextBlockEvaluate;
   -1 32225     function colorContrastEvaluate(node, options, virtualNode) {
   -1 32226       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;
   -1 32227       if (!_isVisibleOnScreen(node)) {
   -1 32228         this.data({
   -1 32229           messageKey: 'hidden'
   -1 32230         });
   -1 32231         return true;
30832 32232       }
30833    -1       var incompleteResults = results.filter(function(_ref135) {
30834    -1         var result = _ref135.result;
30835    -1         return result !== void 0;
   -1 32233       var visibleText = visible_virtual_default(virtualNode, false, true);
   -1 32234       if (ignoreUnicode && textIsEmojis(visibleText)) {
   -1 32235         this.data({
   -1 32236           messageKey: 'nonBmp'
   -1 32237         });
   -1 32238         return void 0;
   -1 32239       }
   -1 32240       var nodeStyle = window.getComputedStyle(node);
   -1 32241       var fontSize = parseFloat(nodeStyle.getPropertyValue('font-size'));
   -1 32242       var fontWeight = nodeStyle.getPropertyValue('font-weight');
   -1 32243       var bold = parseFloat(fontWeight) >= boldValue || fontWeight === 'bold';
   -1 32244       var ptSize = Math.ceil(fontSize * 72) / 96;
   -1 32245       var isSmallFont = bold && ptSize < boldTextPt || !bold && ptSize < largeTextPt;
   -1 32246       var _ref132 = isSmallFont ? contrastRatio.normal : contrastRatio.large, expected = _ref132.expected, minThreshold = _ref132.minThreshold, maxThreshold = _ref132.maxThreshold;
   -1 32247       var pseudoElm = findPseudoElement(virtualNode, {
   -1 32248         ignorePseudo: ignorePseudo,
   -1 32249         pseudoSizeThreshold: pseudoSizeThreshold
30836 32250       });
30837    -1       var uniqueResults = [];
30838    -1       var nameMap = {};
30839    -1       var _loop9 = function _loop9(index) {
30840    -1         var _currentResult$relate;
30841    -1         var currentResult = incompleteResults[index];
30842    -1         var _currentResult$data = currentResult.data, name = _currentResult$data.name, urlProps = _currentResult$data.urlProps;
30843    -1         if (nameMap[name]) {
30844    -1           return 'continue';
30845    -1         }
30846    -1         var sameNameResults = incompleteResults.filter(function(_ref136, resultNum) {
30847    -1           var data = _ref136.data;
30848    -1           return data.name === name && resultNum !== index;
   -1 32251       if (pseudoElm) {
   -1 32252         this.data({
   -1 32253           fontSize: ''.concat((fontSize * 72 / 96).toFixed(1), 'pt (').concat(fontSize, 'px)'),
   -1 32254           fontWeight: bold ? 'bold' : 'normal',
   -1 32255           messageKey: 'pseudoContent',
   -1 32256           expectedContrastRatio: expected + ':1'
30849 32257         });
30850    -1         var isSameUrl = sameNameResults.every(function(_ref137) {
30851    -1           var data = _ref137.data;
30852    -1           return isIdenticalObject(data.urlProps, urlProps);
   -1 32258         this.relatedNodes(pseudoElm.actualNode);
   -1 32259         return void 0;
   -1 32260       }
   -1 32261       var shadowColors = _getTextShadowColors(node, {
   -1 32262         minRatio: .001,
   -1 32263         maxRatio: shadowOutlineEmMax
   -1 32264       });
   -1 32265       if (shadowColors === null) {
   -1 32266         this.data({
   -1 32267           messageKey: 'complexTextShadows'
30853 32268         });
30854    -1         if (sameNameResults.length && !isSameUrl) {
30855    -1           currentResult.result = void 0;
30856    -1         }
30857    -1         currentResult.relatedNodes = [];
30858    -1         (_currentResult$relate = currentResult.relatedNodes).push.apply(_currentResult$relate, _toConsumableArray(sameNameResults.map(function(node) {
30859    -1           return node.relatedNodes[0];
30860    -1         })));
30861    -1         nameMap[name] = sameNameResults;
30862    -1         uniqueResults.push(currentResult);
30863    -1       };
30864    -1       for (var index = 0; index < incompleteResults.length; index++) {
30865    -1         var _ret7 = _loop9(index);
30866    -1         if (_ret7 === 'continue') {
30867    -1           continue;
   -1 32269         return void 0;
   -1 32270       }
   -1 32271       var bgNodes = [];
   -1 32272       var bgColor = _getBackgroundColor2(node, bgNodes, shadowOutlineEmMax);
   -1 32273       var fgColor = _getForegroundColor(node, false, bgColor, options);
   -1 32274       var contrast2 = null;
   -1 32275       var contrastContributor = null;
   -1 32276       var shadowColor = null;
   -1 32277       if (shadowColors.length === 0) {
   -1 32278         contrast2 = get_contrast_default(bgColor, fgColor);
   -1 32279       } else if (fgColor && bgColor) {
   -1 32280         shadowColor = [].concat(_toConsumableArray(shadowColors), [ bgColor ]).reduce(_flattenShadowColors);
   -1 32281         var fgBgContrast = get_contrast_default(bgColor, fgColor);
   -1 32282         var bgShContrast = get_contrast_default(bgColor, shadowColor);
   -1 32283         var fgShContrast = get_contrast_default(shadowColor, fgColor);
   -1 32284         contrast2 = Math.max(fgBgContrast, bgShContrast, fgShContrast);
   -1 32285         if (contrast2 !== fgBgContrast) {
   -1 32286           contrastContributor = bgShContrast > fgShContrast ? 'shadowOnBgColor' : 'fgOnShadowColor';
30868 32287         }
30869 32288       }
30870    -1       return uniqueResults;
30871    -1     }
30872    -1     var identical_links_same_purpose_after_default = identicalLinksSamePurposeAfter;
30873    -1     var commons_exports = {};
30874    -1     __export(commons_exports, {
30875    -1       aria: function aria() {
30876    -1         return aria_exports;
30877    -1       },
30878    -1       color: function color() {
30879    -1         return color_exports;
30880    -1       },
30881    -1       dom: function dom() {
30882    -1         return dom_exports;
30883    -1       },
30884    -1       forms: function forms() {
30885    -1         return forms_exports;
30886    -1       },
30887    -1       matches: function matches() {
30888    -1         return matches_default2;
30889    -1       },
30890    -1       math: function math() {
30891    -1         return math_exports;
30892    -1       },
30893    -1       standards: function standards() {
30894    -1         return standards_exports;
30895    -1       },
30896    -1       table: function table() {
30897    -1         return table_exports;
30898    -1       },
30899    -1       text: function text() {
30900    -1         return text_exports;
30901    -1       },
30902    -1       utils: function utils() {
30903    -1         return utils_exports;
   -1 32289       var isValid = contrast2 > expected;
   -1 32290       if (typeof minThreshold === 'number' && (typeof contrast2 !== 'number' || contrast2 < minThreshold) || typeof maxThreshold === 'number' && (typeof contrast2 !== 'number' || contrast2 > maxThreshold)) {
   -1 32291         this.data({
   -1 32292           contrastRatio: contrast2
   -1 32293         });
   -1 32294         return true;
30904 32295       }
30905    -1     });
30906    -1     var forms_exports = {};
30907    -1     __export(forms_exports, {
30908    -1       isAriaCombobox: function isAriaCombobox() {
30909    -1         return is_aria_combobox_default;
30910    -1       },
30911    -1       isAriaListbox: function isAriaListbox() {
30912    -1         return is_aria_listbox_default;
30913    -1       },
30914    -1       isAriaRange: function isAriaRange() {
30915    -1         return is_aria_range_default;
30916    -1       },
30917    -1       isAriaTextbox: function isAriaTextbox() {
30918    -1         return is_aria_textbox_default;
30919    -1       },
30920    -1       isDisabled: function isDisabled() {
30921    -1         return is_disabled_default;
30922    -1       },
30923    -1       isNativeSelect: function isNativeSelect() {
30924    -1         return is_native_select_default;
30925    -1       },
30926    -1       isNativeTextbox: function isNativeTextbox() {
30927    -1         return is_native_textbox_default;
   -1 32296       var truncatedResult = Math.floor(contrast2 * 100) / 100;
   -1 32297       var missing;
   -1 32298       if (bgColor === null) {
   -1 32299         missing = incomplete_data_default.get('bgColor');
   -1 32300       } else if (!isValid) {
   -1 32301         missing = contrastContributor;
30928 32302       }
30929    -1     });
30930    -1     var disabledNodeNames = [ 'fieldset', 'button', 'select', 'input', 'textarea' ];
30931    -1     function isDisabled(virtualNode) {
30932    -1       var disabledState = virtualNode._isDisabled;
30933    -1       if (typeof disabledState === 'boolean') {
30934    -1         return disabledState;
   -1 32303       var equalRatio = truncatedResult === 1;
   -1 32304       var shortTextContent = visibleText.length === 1;
   -1 32305       if (equalRatio) {
   -1 32306         missing = incomplete_data_default.set('bgColor', 'equalRatio');
   -1 32307       } else if (!isValid && shortTextContent && !ignoreLength) {
   -1 32308         missing = 'shortTextContent';
30935 32309       }
30936    -1       var nodeName2 = virtualNode.props.nodeName;
30937    -1       var ariaDisabled = virtualNode.attr('aria-disabled');
30938    -1       if (disabledNodeNames.includes(nodeName2) && virtualNode.hasAttr('disabled')) {
30939    -1         disabledState = true;
30940    -1       } else if (ariaDisabled) {
30941    -1         disabledState = ariaDisabled.toLowerCase() === 'true';
30942    -1       } else if (virtualNode.parent) {
30943    -1         disabledState = isDisabled(virtualNode.parent);
30944    -1       } else {
30945    -1         disabledState = false;
   -1 32310       this.data({
   -1 32311         fgColor: fgColor ? fgColor.toHexString() : void 0,
   -1 32312         bgColor: bgColor ? bgColor.toHexString() : void 0,
   -1 32313         contrastRatio: truncatedResult,
   -1 32314         fontSize: ''.concat((fontSize * 72 / 96).toFixed(1), 'pt (').concat(fontSize, 'px)'),
   -1 32315         fontWeight: bold ? 'bold' : 'normal',
   -1 32316         messageKey: missing,
   -1 32317         expectedContrastRatio: expected + ':1',
   -1 32318         shadowColor: shadowColor ? shadowColor.toHexString() : void 0
   -1 32319       });
   -1 32320       if (fgColor === null || bgColor === null || equalRatio || shortTextContent && !ignoreLength && !isValid) {
   -1 32321         missing = null;
   -1 32322         incomplete_data_default.clear();
   -1 32323         this.relatedNodes(bgNodes);
   -1 32324         return void 0;
30946 32325       }
30947    -1       virtualNode._isDisabled = disabledState;
30948    -1       return disabledState;
   -1 32326       if (!isValid) {
   -1 32327         this.relatedNodes(bgNodes);
   -1 32328       }
   -1 32329       return isValid;
30949 32330     }
30950    -1     var is_disabled_default = isDisabled;
30951    -1     var table_exports = {};
30952    -1     __export(table_exports, {
30953    -1       getAllCells: function getAllCells() {
30954    -1         return get_all_cells_default;
30955    -1       },
30956    -1       getCellPosition: function getCellPosition() {
30957    -1         return get_cell_position_default;
30958    -1       },
30959    -1       getHeaders: function getHeaders() {
30960    -1         return get_headers_default;
30961    -1       },
30962    -1       getScope: function getScope() {
30963    -1         return _getScope;
30964    -1       },
30965    -1       isColumnHeader: function isColumnHeader() {
30966    -1         return is_column_header_default;
30967    -1       },
30968    -1       isDataCell: function isDataCell() {
30969    -1         return is_data_cell_default;
30970    -1       },
30971    -1       isDataTable: function isDataTable() {
30972    -1         return is_data_table_default;
30973    -1       },
30974    -1       isHeader: function isHeader() {
30975    -1         return is_header_default;
30976    -1       },
30977    -1       isRowHeader: function isRowHeader() {
30978    -1         return is_row_header_default;
30979    -1       },
30980    -1       toArray: function toArray() {
30981    -1         return to_grid_default;
30982    -1       },
30983    -1       toGrid: function toGrid() {
30984    -1         return to_grid_default;
30985    -1       },
30986    -1       traverse: function traverse() {
30987    -1         return traverse_default;
   -1 32331     function findPseudoElement(vNode, _ref133) {
   -1 32332       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;
   -1 32333       if (ignorePseudo) {
   -1 32334         return;
30988 32335       }
30989    -1     });
30990    -1     function getAllCells(tableElm) {
30991    -1       var rowIndex, cellIndex, rowLength, cellLength;
30992    -1       var cells = [];
30993    -1       for (rowIndex = 0, rowLength = tableElm.rows.length; rowIndex < rowLength; rowIndex++) {
30994    -1         for (cellIndex = 0, cellLength = tableElm.rows[rowIndex].cells.length; cellIndex < cellLength; cellIndex++) {
30995    -1           cells.push(tableElm.rows[rowIndex].cells[cellIndex]);
   -1 32336       var rect = vNode.boundingClientRect;
   -1 32337       var minimumSize = rect.width * rect.height * pseudoSizeThreshold;
   -1 32338       do {
   -1 32339         var beforeSize = getPseudoElementArea(vNode.actualNode, ':before');
   -1 32340         var afterSize = getPseudoElementArea(vNode.actualNode, ':after');
   -1 32341         if (beforeSize + afterSize > minimumSize) {
   -1 32342           return vNode;
30996 32343         }
   -1 32344       } while (vNode = vNode.parent);
   -1 32345     }
   -1 32346     var getPseudoElementArea = memoize_default(function getPseudoElementArea2(node, pseudo) {
   -1 32347       var style = window.getComputedStyle(node, pseudo);
   -1 32348       var matchPseudoStyle = function matchPseudoStyle(prop, value) {
   -1 32349         return style.getPropertyValue(prop) === value;
   -1 32350       };
   -1 32351       if (matchPseudoStyle('content', 'none') || matchPseudoStyle('display', 'none') || matchPseudoStyle('visibility', 'hidden') || matchPseudoStyle('position', 'absolute') === false) {
   -1 32352         return 0;
30997 32353       }
30998    -1       return cells;
   -1 32354       if (get_own_background_color_default(style).alpha === 0 && matchPseudoStyle('background-image', 'none')) {
   -1 32355         return 0;
   -1 32356       }
   -1 32357       var pseudoWidth = parseUnit(style.getPropertyValue('width'));
   -1 32358       var pseudoHeight = parseUnit(style.getPropertyValue('height'));
   -1 32359       if (pseudoWidth.unit !== 'px' || pseudoHeight.unit !== 'px') {
   -1 32360         return pseudoWidth.value === 0 || pseudoHeight.value === 0 ? 0 : Infinity;
   -1 32361       }
   -1 32362       return pseudoWidth.value * pseudoHeight.value;
   -1 32363     });
   -1 32364     function textIsEmojis(visibleText) {
   -1 32365       var options = {
   -1 32366         nonBmp: true
   -1 32367       };
   -1 32368       var hasUnicodeChars = has_unicode_default(visibleText, options);
   -1 32369       var hasNonUnicodeChars = sanitize_default(remove_unicode_default(visibleText, options)) === '';
   -1 32370       return hasUnicodeChars && hasNonUnicodeChars;
30999 32371     }
31000    -1     var get_all_cells_default = getAllCells;
31001    -1     function traverseForHeaders(headerType, position, tableGrid) {
31002    -1       var property = headerType === 'row' ? '_rowHeaders' : '_colHeaders';
31003    -1       var predicate = headerType === 'row' ? is_row_header_default : is_column_header_default;
31004    -1       var startCell = tableGrid[position.y][position.x];
31005    -1       var colspan = startCell.colSpan - 1;
31006    -1       var rowspanAttr = startCell.getAttribute('rowspan');
31007    -1       var rowspanValue = parseInt(rowspanAttr) === 0 || startCell.rowspan === 0 ? tableGrid.length : startCell.rowSpan;
31008    -1       var rowspan = rowspanValue - 1;
31009    -1       var rowStart = position.y + rowspan;
31010    -1       var colStart = position.x + colspan;
31011    -1       var rowEnd = headerType === 'row' ? position.y : 0;
31012    -1       var colEnd = headerType === 'row' ? 0 : position.x;
31013    -1       var headers;
31014    -1       var cells = [];
31015    -1       for (var row = rowStart; row >= rowEnd && !headers; row--) {
31016    -1         for (var col = colStart; col >= colEnd; col--) {
31017    -1           var cell = tableGrid[row] ? tableGrid[row][col] : void 0;
31018    -1           if (!cell) {
31019    -1             continue;
31020    -1           }
31021    -1           var vNode = axe.utils.getNodeFromTree(cell);
31022    -1           if (vNode[property]) {
31023    -1             headers = vNode[property];
31024    -1             break;
31025    -1           }
31026    -1           cells.push(cell);
31027    -1         }
   -1 32372     function parseUnit(str) {
   -1 32373       var unitRegex = /^([0-9.]+)([a-z]+)$/i;
   -1 32374       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;
   -1 32375       return {
   -1 32376         value: parseFloat(value),
   -1 32377         unit: unit.toLowerCase()
   -1 32378       };
   -1 32379     }
   -1 32380     var VALID_TAG_NAMES_FOR_SCROLLABLE_REGIONS = {
   -1 32381       ARTICLE: true,
   -1 32382       ASIDE: true,
   -1 32383       NAV: true,
   -1 32384       SECTION: true
   -1 32385     };
   -1 32386     var VALID_ROLES_FOR_SCROLLABLE_REGIONS = {
   -1 32387       alert: true,
   -1 32388       alertdialog: true,
   -1 32389       application: true,
   -1 32390       article: true,
   -1 32391       banner: false,
   -1 32392       complementary: true,
   -1 32393       contentinfo: true,
   -1 32394       dialog: true,
   -1 32395       form: true,
   -1 32396       log: true,
   -1 32397       main: true,
   -1 32398       navigation: true,
   -1 32399       region: true,
   -1 32400       search: false,
   -1 32401       status: true
   -1 32402     };
   -1 32403     function validScrollableTagName(node) {
   -1 32404       var nodeName2 = node.nodeName.toUpperCase();
   -1 32405       return VALID_TAG_NAMES_FOR_SCROLLABLE_REGIONS[nodeName2] || false;
   -1 32406     }
   -1 32407     function validScrollableRole(node, options) {
   -1 32408       var role = get_explicit_role_default(node);
   -1 32409       if (!role) {
   -1 32410         return false;
31028 32411       }
31029    -1       headers = (headers || []).concat(cells.filter(predicate));
31030    -1       cells.forEach(function(tableCell) {
31031    -1         var vNode = axe.utils.getNodeFromTree(tableCell);
31032    -1         vNode[property] = headers;
31033    -1       });
31034    -1       return headers;
   -1 32412       return VALID_ROLES_FOR_SCROLLABLE_REGIONS[role] || options.roles.includes(role) || false;
31035 32413     }
31036    -1     function getHeaders(cell, tableGrid) {
31037    -1       if (cell.getAttribute('headers')) {
31038    -1         var headers = idrefs_default(cell, 'headers');
31039    -1         if (headers.filter(function(header) {
31040    -1           return header;
31041    -1         }).length) {
31042    -1           return headers;
31043    -1         }
   -1 32414     function validScrollableSemanticsEvaluate(node, options) {
   -1 32415       return validScrollableRole(node, options) || validScrollableTagName(node);
   -1 32416     }
   -1 32417     var valid_scrollable_semantics_evaluate_default = validScrollableSemanticsEvaluate;
   -1 32418     function unsupportedroleEvaluate(node, options, virtualNode) {
   -1 32419       var role = get_role_default(virtualNode, {
   -1 32420         dpub: true,
   -1 32421         fallback: true
   -1 32422       });
   -1 32423       var isUnsupported = is_unsupported_role_default(role);
   -1 32424       if (isUnsupported) {
   -1 32425         this.data(role);
31044 32426       }
31045    -1       if (!tableGrid) {
31046    -1         tableGrid = to_grid_default(find_up_default(cell, 'table'));
   -1 32427       return isUnsupported;
   -1 32428     }
   -1 32429     var unsupportedrole_evaluate_default = unsupportedroleEvaluate;
   -1 32430     function noImplicitExplicitLabelEvaluate(node, options, virtualNode) {
   -1 32431       var role = get_role_default(virtualNode, {
   -1 32432         noImplicit: true
   -1 32433       });
   -1 32434       this.data(role);
   -1 32435       var label3;
   -1 32436       var accText;
   -1 32437       try {
   -1 32438         label3 = sanitize_default(label_text_default(virtualNode)).toLowerCase();
   -1 32439         accText = sanitize_default(_accessibleTextVirtual(virtualNode)).toLowerCase();
   -1 32440       } catch (e) {
   -1 32441         return void 0;
31047 32442       }
31048    -1       var position = get_cell_position_default(cell, tableGrid);
31049    -1       var rowHeaders = traverseForHeaders('row', position, tableGrid);
31050    -1       var colHeaders = traverseForHeaders('col', position, tableGrid);
31051    -1       return [].concat(rowHeaders, colHeaders).reverse();
31052    -1     }
31053    -1     var get_headers_default = getHeaders;
31054    -1     function isDataCell(cell) {
31055    -1       if (!cell.children.length && !cell.textContent.trim()) {
   -1 32443       if (!accText && !label3) {
31056 32444         return false;
31057 32445       }
31058    -1       var role = cell.getAttribute('role');
31059    -1       if (is_valid_role_default(role)) {
31060    -1         return [ 'cell', 'gridcell' ].includes(role);
31061    -1       } else {
31062    -1         return cell.nodeName.toUpperCase() === 'TD';
   -1 32446       if (!accText && label3) {
   -1 32447         return void 0;
   -1 32448       }
   -1 32449       if (!accText.includes(label3)) {
   -1 32450         return void 0;
31063 32451       }
   -1 32452       return false;
31064 32453     }
31065    -1     var is_data_cell_default = isDataCell;
31066    -1     function isDataTable(node) {
31067    -1       var role = (node.getAttribute('role') || '').toLowerCase();
31068    -1       if ((role === 'presentation' || role === 'none') && !_isFocusable(node)) {
   -1 32454     var no_implicit_explicit_label_evaluate_default = noImplicitExplicitLabelEvaluate;
   -1 32455     function isElementFocusableEvaluate(node, options, virtualNode) {
   -1 32456       return _isFocusable(virtualNode);
   -1 32457     }
   -1 32458     var is_element_focusable_evaluate_default = isElementFocusableEvaluate;
   -1 32459     function invalidroleEvaluate(node, options, virtualNode) {
   -1 32460       var allRoles = token_list_default(virtualNode.attr('role'));
   -1 32461       var allInvalid = allRoles.every(function(role) {
   -1 32462         return !is_valid_role_default(role.toLowerCase(), {
   -1 32463           allowAbstract: true
   -1 32464         });
   -1 32465       });
   -1 32466       if (allInvalid) {
   -1 32467         this.data(allRoles);
   -1 32468         return true;
   -1 32469       }
   -1 32470       return false;
   -1 32471     }
   -1 32472     var invalidrole_evaluate_default = invalidroleEvaluate;
   -1 32473     function hasWidgetRoleEvaluate(node) {
   -1 32474       var role = node.getAttribute('role');
   -1 32475       if (role === null) {
31069 32476         return false;
31070 32477       }
31071    -1       if (node.getAttribute('contenteditable') === 'true' || find_up_default(node, '[contenteditable="true"]')) {
31072    -1         return true;
   -1 32478       var roleType = get_role_type_default(role);
   -1 32479       return roleType === 'widget' || roleType === 'composite';
   -1 32480     }
   -1 32481     var has_widget_role_evaluate_default = hasWidgetRoleEvaluate;
   -1 32482     function hasGlobalAriaAttributeEvaluate(node, options, virtualNode) {
   -1 32483       var globalAttrs = get_global_aria_attrs_default().filter(function(attr) {
   -1 32484         return virtualNode.hasAttr(attr);
   -1 32485       });
   -1 32486       this.data(globalAttrs);
   -1 32487       return globalAttrs.length > 0;
   -1 32488     }
   -1 32489     var has_global_aria_attribute_evaluate_default = hasGlobalAriaAttributeEvaluate;
   -1 32490     function nonePresentationOnElementWithNoImplicitRole(virtualNode, explicitRoles) {
   -1 32491       var hasImplicitRole = implicit_role_default(virtualNode);
   -1 32492       return !hasImplicitRole && explicitRoles.length === 2 && explicitRoles.includes('none') && explicitRoles.includes('presentation');
   -1 32493     }
   -1 32494     function fallbackroleEvaluate(node, options, virtualNode) {
   -1 32495       var explicitRoles = token_list_default(virtualNode.attr('role'));
   -1 32496       if (explicitRoles.length <= 1) {
   -1 32497         return false;
31073 32498       }
31074    -1       if (role === 'grid' || role === 'treegrid' || role === 'table') {
31075    -1         return true;
   -1 32499       return nonePresentationOnElementWithNoImplicitRole(virtualNode, explicitRoles) ? void 0 : true;
   -1 32500     }
   -1 32501     var fallbackrole_evaluate_default = fallbackroleEvaluate;
   -1 32502     function deprecatedroleEvaluate(node, options, virtualNode) {
   -1 32503       var role = get_role_default(virtualNode, {
   -1 32504         dpub: true,
   -1 32505         fallback: true
   -1 32506       });
   -1 32507       var roleDefinition = standards_default.ariaRoles[role];
   -1 32508       if (!(roleDefinition !== null && roleDefinition !== void 0 && roleDefinition.deprecated)) {
   -1 32509         return false;
31076 32510       }
31077    -1       if (get_role_type_default(role) === 'landmark') {
   -1 32511       this.data(role);
   -1 32512       return true;
   -1 32513     }
   -1 32514     function brailleRoleDescriptionEquivalentEvaluate(node, options, virtualNode) {
   -1 32515       var _virtualNode$attr;
   -1 32516       var brailleRoleDesc = (_virtualNode$attr = virtualNode.attr('aria-brailleroledescription')) !== null && _virtualNode$attr !== void 0 ? _virtualNode$attr : '';
   -1 32517       if (sanitize_default(brailleRoleDesc) === '') {
31078 32518         return true;
31079 32519       }
31080    -1       if (node.getAttribute('datatable') === '0') {
   -1 32520       var roleDesc = virtualNode.attr('aria-roledescription');
   -1 32521       if (typeof roleDesc !== 'string') {
   -1 32522         this.data({
   -1 32523           messageKey: 'noRoleDescription'
   -1 32524         });
31081 32525         return false;
31082 32526       }
31083    -1       if (node.getAttribute('summary')) {
31084    -1         return true;
   -1 32527       if (sanitize_default(roleDesc) === '') {
   -1 32528         this.data({
   -1 32529           messageKey: 'emptyRoleDescription'
   -1 32530         });
   -1 32531         return false;
31085 32532       }
31086    -1       if (node.tHead || node.tFoot || node.caption) {
   -1 32533       return true;
   -1 32534     }
   -1 32535     function brailleLabelEquivalentEvaluate(node, options, virtualNode) {
   -1 32536       var _virtualNode$attr2;
   -1 32537       var brailleLabel = (_virtualNode$attr2 = virtualNode.attr('aria-braillelabel')) !== null && _virtualNode$attr2 !== void 0 ? _virtualNode$attr2 : '';
   -1 32538       if (!brailleLabel.trim()) {
31087 32539         return true;
31088 32540       }
31089    -1       for (var childIndex = 0, childLength = node.children.length; childIndex < childLength; childIndex++) {
31090    -1         if (node.children[childIndex].nodeName.toUpperCase() === 'COLGROUP') {
31091    -1           return true;
31092    -1         }
   -1 32541       try {
   -1 32542         return sanitize_default(_accessibleTextVirtual(virtualNode)) !== '';
   -1 32543       } catch (_unused) {
   -1 32544         return void 0;
31093 32545       }
31094    -1       var cells = 0;
31095    -1       var rowLength = node.rows.length;
31096    -1       var row, cell;
31097    -1       var hasBorder = false;
31098    -1       for (var rowIndex = 0; rowIndex < rowLength; rowIndex++) {
31099    -1         row = node.rows[rowIndex];
31100    -1         for (var cellIndex = 0, cellLength = row.cells.length; cellIndex < cellLength; cellIndex++) {
31101    -1           cell = row.cells[cellIndex];
31102    -1           if (cell.nodeName.toUpperCase() === 'TH') {
31103    -1             return true;
   -1 32546     }
   -1 32547     function ariaValidAttrValueEvaluate(node, options, virtualNode) {
   -1 32548       options = Array.isArray(options.value) ? options.value : [];
   -1 32549       var needsReview = '';
   -1 32550       var messageKey = '';
   -1 32551       var invalid = [];
   -1 32552       var aria = /^aria-/;
   -1 32553       var skipAttrs = [ 'aria-errormessage' ];
   -1 32554       var preChecks = {
   -1 32555         'aria-controls': function ariaControls() {
   -1 32556           var hasPopup = [ 'false', null ].includes(virtualNode.attr('aria-haspopup')) === false;
   -1 32557           if (hasPopup) {
   -1 32558             needsReview = 'aria-controls="'.concat(virtualNode.attr('aria-controls'), '"');
   -1 32559             messageKey = 'controlsWithinPopup';
31104 32560           }
31105    -1           if (!hasBorder && (cell.offsetWidth !== cell.clientWidth || cell.offsetHeight !== cell.clientHeight)) {
31106    -1             hasBorder = true;
   -1 32561           return virtualNode.attr('aria-expanded') !== 'false' && virtualNode.attr('aria-selected') !== 'false' && hasPopup === false;
   -1 32562         },
   -1 32563         'aria-current': function ariaCurrent(validValue) {
   -1 32564           if (!validValue) {
   -1 32565             needsReview = 'aria-current="'.concat(virtualNode.attr('aria-current'), '"');
   -1 32566             messageKey = 'ariaCurrent';
31107 32567           }
31108    -1           if (cell.getAttribute('scope') || cell.getAttribute('headers') || cell.getAttribute('abbr')) {
31109    -1             return true;
   -1 32568           return;
   -1 32569         },
   -1 32570         'aria-owns': function ariaOwns() {
   -1 32571           return virtualNode.attr('aria-expanded') !== 'false';
   -1 32572         },
   -1 32573         'aria-describedby': function ariaDescribedby(validValue) {
   -1 32574           if (!validValue) {
   -1 32575             needsReview = 'aria-describedby="'.concat(virtualNode.attr('aria-describedby'), '"');
   -1 32576             messageKey = axe._tree && axe._tree[0]._hasShadowRoot ? 'noIdShadow' : 'noId';
31110 32577           }
31111    -1           if ([ 'columnheader', 'rowheader' ].includes((cell.getAttribute('role') || '').toLowerCase())) {
31112    -1             return true;
   -1 32578           return;
   -1 32579         },
   -1 32580         'aria-labelledby': function ariaLabelledby(validValue) {
   -1 32581           if (!validValue) {
   -1 32582             needsReview = 'aria-labelledby="'.concat(virtualNode.attr('aria-labelledby'), '"');
   -1 32583             messageKey = axe._tree && axe._tree[0]._hasShadowRoot ? 'noIdShadow' : 'noId';
31113 32584           }
31114    -1           if (cell.children.length === 1 && cell.children[0].nodeName.toUpperCase() === 'ABBR') {
31115    -1             return true;
   -1 32585         }
   -1 32586       };
   -1 32587       virtualNode.attrNames.forEach(function(attrName) {
   -1 32588         if (skipAttrs.includes(attrName) || options.includes(attrName) || !aria.test(attrName)) {
   -1 32589           return;
   -1 32590         }
   -1 32591         var validValue;
   -1 32592         var attrValue = virtualNode.attr(attrName);
   -1 32593         try {
   -1 32594           validValue = validate_attr_value_default(virtualNode, attrName);
   -1 32595         } catch (e) {
   -1 32596           needsReview = ''.concat(attrName, '="').concat(attrValue, '"');
   -1 32597           messageKey = 'idrefs';
   -1 32598           return;
   -1 32599         }
   -1 32600         if ((preChecks[attrName] ? preChecks[attrName](validValue) : true) && !validValue) {
   -1 32601           if (attrValue === '' && !isStringType(attrName)) {
   -1 32602             needsReview = attrName;
   -1 32603             messageKey = 'empty';
   -1 32604           } else {
   -1 32605             invalid.push(''.concat(attrName, '="').concat(attrValue, '"'));
31116 32606           }
31117    -1           cells++;
31118 32607         }
31119    -1       }
31120    -1       if (node.getElementsByTagName('table').length) {
   -1 32608       });
   -1 32609       if (invalid.length) {
   -1 32610         this.data(invalid);
31121 32611         return false;
31122 32612       }
31123    -1       if (rowLength < 2) {
31124    -1         return false;
   -1 32613       if (needsReview) {
   -1 32614         this.data({
   -1 32615           messageKey: messageKey,
   -1 32616           needsReview: needsReview
   -1 32617         });
   -1 32618         return void 0;
31125 32619       }
31126    -1       var sampleRow = node.rows[Math.ceil(rowLength / 2)];
31127    -1       if (sampleRow.cells.length === 1 && sampleRow.cells[0].colSpan === 1) {
   -1 32620       return true;
   -1 32621     }
   -1 32622     function isStringType(attrName) {
   -1 32623       var _standards_default$ar;
   -1 32624       return ((_standards_default$ar = standards_default.ariaAttrs[attrName]) === null || _standards_default$ar === void 0 ? void 0 : _standards_default$ar.type) === 'string';
   -1 32625     }
   -1 32626     function ariaValidAttrEvaluate(node, options, virtualNode) {
   -1 32627       options = Array.isArray(options.value) ? options.value : [];
   -1 32628       var invalid = [];
   -1 32629       var aria = /^aria-/;
   -1 32630       virtualNode.attrNames.forEach(function(attr) {
   -1 32631         if (options.indexOf(attr) === -1 && aria.test(attr) && !validate_attr_default(attr)) {
   -1 32632           invalid.push(attr);
   -1 32633         }
   -1 32634       });
   -1 32635       if (invalid.length) {
   -1 32636         this.data(invalid);
31128 32637         return false;
31129 32638       }
31130    -1       if (sampleRow.cells.length >= 5) {
   -1 32639       return true;
   -1 32640     }
   -1 32641     var aria_valid_attr_evaluate_default = ariaValidAttrEvaluate;
   -1 32642     function ariaUnsupportedAttrEvaluate(node, options, virtualNode) {
   -1 32643       var unsupportedAttrs = virtualNode.attrNames.filter(function(name) {
   -1 32644         var attribute = standards_default.ariaAttrs[name];
   -1 32645         if (!validate_attr_default(name)) {
   -1 32646           return false;
   -1 32647         }
   -1 32648         var unsupported = attribute.unsupported;
   -1 32649         if (_typeof(unsupported) !== 'object') {
   -1 32650           return !!unsupported;
   -1 32651         }
   -1 32652         return !matches_default2(node, unsupported.exceptions);
   -1 32653       });
   -1 32654       if (unsupportedAttrs.length) {
   -1 32655         this.data(unsupportedAttrs);
31131 32656         return true;
31132 32657       }
31133    -1       if (hasBorder) {
   -1 32658       return false;
   -1 32659     }
   -1 32660     var aria_unsupported_attr_evaluate_default = ariaUnsupportedAttrEvaluate;
   -1 32661     function ariaRoledescriptionEvaluate(node) {
   -1 32662       var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
   -1 32663       var virtualNode = arguments.length > 2 ? arguments[2] : undefined;
   -1 32664       var role = get_role_default(virtualNode);
   -1 32665       var supportedRoles = options.supportedRoles || [];
   -1 32666       if (supportedRoles.includes(role)) {
31134 32667         return true;
31135 32668       }
31136    -1       var bgColor, bgImage;
31137    -1       for (rowIndex = 0; rowIndex < rowLength; rowIndex++) {
31138    -1         row = node.rows[rowIndex];
31139    -1         if (bgColor && bgColor !== window.getComputedStyle(row).getPropertyValue('background-color')) {
31140    -1           return true;
   -1 32669       if (role && role !== 'presentation' && role !== 'none') {
   -1 32670         return void 0;
   -1 32671       }
   -1 32672       return false;
   -1 32673     }
   -1 32674     var aria_roledescription_evaluate_default = ariaRoledescriptionEvaluate;
   -1 32675     function getMissingContext(virtualNode, ownGroupRoles, reqContext, includeElement) {
   -1 32676       var explicitRole2 = get_explicit_role_default(virtualNode);
   -1 32677       if (!reqContext) {
   -1 32678         reqContext = required_context_default(explicitRole2);
   -1 32679       }
   -1 32680       if (!reqContext) {
   -1 32681         return null;
   -1 32682       }
   -1 32683       var allowsGroup = reqContext.includes('group');
   -1 32684       var vNode = includeElement ? virtualNode : virtualNode.parent;
   -1 32685       while (vNode) {
   -1 32686         var role = get_role_default(vNode, {
   -1 32687           noPresentational: true
   -1 32688         });
   -1 32689         if (!role) {
   -1 32690           vNode = vNode.parent;
   -1 32691         } else if (role === 'group' && allowsGroup) {
   -1 32692           if (ownGroupRoles.includes(explicitRole2)) {
   -1 32693             reqContext.push(explicitRole2);
   -1 32694           }
   -1 32695           reqContext = reqContext.filter(function(r) {
   -1 32696             return r !== 'group';
   -1 32697           });
   -1 32698           vNode = vNode.parent;
   -1 32699         } else if (reqContext.includes(role)) {
   -1 32700           return null;
31141 32701         } else {
31142    -1           bgColor = window.getComputedStyle(row).getPropertyValue('background-color');
   -1 32702           return reqContext;
31143 32703         }
31144    -1         if (bgImage && bgImage !== window.getComputedStyle(row).getPropertyValue('background-image')) {
31145    -1           return true;
31146    -1         } else {
31147    -1           bgImage = window.getComputedStyle(row).getPropertyValue('background-image');
   -1 32704       }
   -1 32705       return reqContext;
   -1 32706     }
   -1 32707     function getAriaOwners(element) {
   -1 32708       var owners = [], o = null;
   -1 32709       while (element) {
   -1 32710         if (element.getAttribute('id')) {
   -1 32711           var _id5 = escape_selector_default(element.getAttribute('id'));
   -1 32712           var doc = get_root_node_default2(element);
   -1 32713           o = doc.querySelector('[aria-owns~='.concat(_id5, ']'));
   -1 32714           if (o) {
   -1 32715             owners.push(o);
   -1 32716           }
31148 32717         }
   -1 32718         element = element.parentElement;
31149 32719       }
31150    -1       if (rowLength >= 20) {
   -1 32720       return owners.length ? owners : null;
   -1 32721     }
   -1 32722     function ariaRequiredParentEvaluate(node, options, virtualNode) {
   -1 32723       var ownGroupRoles = options && Array.isArray(options.ownGroupRoles) ? options.ownGroupRoles : [];
   -1 32724       var missingParents = getMissingContext(virtualNode, ownGroupRoles);
   -1 32725       if (!missingParents) {
31151 32726         return true;
31152 32727       }
31153    -1       if (get_element_coordinates_default(node).width > get_viewport_size_default(window).width * .95) {
31154    -1         return false;
   -1 32728       var owners = getAriaOwners(node);
   -1 32729       if (owners) {
   -1 32730         for (var _i35 = 0, l = owners.length; _i35 < l; _i35++) {
   -1 32731           missingParents = getMissingContext(get_node_from_tree_default(owners[_i35]), ownGroupRoles, missingParents, true);
   -1 32732           if (!missingParents) {
   -1 32733             return true;
   -1 32734           }
   -1 32735         }
31155 32736       }
31156    -1       if (cells < 10) {
31157    -1         return false;
   -1 32737       this.data(missingParents);
   -1 32738       return false;
   -1 32739     }
   -1 32740     var aria_required_parent_evaluate_default = ariaRequiredParentEvaluate;
   -1 32741     function ariaRequiredChildrenEvaluate(node, options, virtualNode) {
   -1 32742       var reviewEmpty = options && Array.isArray(options.reviewEmpty) ? options.reviewEmpty : [];
   -1 32743       var explicitRole2 = get_explicit_role_default(virtualNode, {
   -1 32744         dpub: true
   -1 32745       });
   -1 32746       var required = required_owned_default(explicitRole2);
   -1 32747       if (required === null) {
   -1 32748         return true;
31158 32749       }
31159    -1       if (node.querySelector('object, embed, iframe, applet')) {
   -1 32750       var ownedRoles = getOwnedRoles(virtualNode, required);
   -1 32751       var unallowed = ownedRoles.filter(function(_ref136) {
   -1 32752         var role = _ref136.role, vNode = _ref136.vNode;
   -1 32753         return vNode.props.nodeType === 1 && !required.includes(role);
   -1 32754       });
   -1 32755       if (unallowed.length) {
   -1 32756         this.relatedNodes(unallowed.map(function(_ref137) {
   -1 32757           var vNode = _ref137.vNode;
   -1 32758           return vNode;
   -1 32759         }));
   -1 32760         this.data({
   -1 32761           messageKey: 'unallowed',
   -1 32762           values: unallowed.map(function(_ref138) {
   -1 32763             var vNode = _ref138.vNode, attr = _ref138.attr;
   -1 32764             return getUnallowedSelector(vNode, attr);
   -1 32765           }).filter(function(selector, index, array) {
   -1 32766             return array.indexOf(selector) === index;
   -1 32767           }).join(', ')
   -1 32768         });
31160 32769         return false;
31161 32770       }
31162    -1       return true;
31163    -1     }
31164    -1     var is_data_table_default = isDataTable;
31165    -1     function isHeader(cell) {
31166    -1       if (is_column_header_default(cell) || is_row_header_default(cell)) {
   -1 32771       if (hasRequiredChildren(required, ownedRoles)) {
31167 32772         return true;
31168 32773       }
31169    -1       if (cell.getAttribute('id')) {
31170    -1         var _id5 = escape_selector_default(cell.getAttribute('id'));
31171    -1         return !!document.querySelector('[headers~="'.concat(_id5, '"]'));
   -1 32774       if (virtualNode.attr('aria-busy') === 'true') {
   -1 32775         this.data({
   -1 32776           messageKey: 'aria-busy'
   -1 32777         });
   -1 32778         return true;
   -1 32779       }
   -1 32780       this.data(required);
   -1 32781       if (reviewEmpty.includes(explicitRole2) && !ownedRoles.some(isContent)) {
   -1 32782         return void 0;
31172 32783       }
31173 32784       return false;
31174 32785     }
31175    -1     var is_header_default = isHeader;
31176    -1     function traverseTable(dir, position, tableGrid, callback) {
31177    -1       var result;
31178    -1       var cell = tableGrid[position.y] ? tableGrid[position.y][position.x] : void 0;
31179    -1       if (!cell) {
31180    -1         return [];
31181    -1       }
31182    -1       if (typeof callback === 'function') {
31183    -1         result = callback(cell, position, tableGrid);
31184    -1         if (result === true) {
31185    -1           return [ cell ];
   -1 32786     function getOwnedRoles(virtualNode, required) {
   -1 32787       var vNode;
   -1 32788       var ownedRoles = [];
   -1 32789       var ownedVirtual = get_owned_virtual_default(virtualNode);
   -1 32790       var _loop10 = function _loop10() {
   -1 32791         if (vNode.props.nodeType === 3) {
   -1 32792           ownedRoles.push({
   -1 32793             vNode: vNode,
   -1 32794             role: null
   -1 32795           });
   -1 32796         }
   -1 32797         if (vNode.props.nodeType !== 1 || !_isVisibleToScreenReaders(vNode)) {
   -1 32798           return 1;
   -1 32799         }
   -1 32800         var role = get_role_default(vNode, {
   -1 32801           noPresentational: true
   -1 32802         });
   -1 32803         var globalAriaAttr = getGlobalAriaAttr(vNode);
   -1 32804         var hasGlobalAriaOrFocusable = !!globalAriaAttr || _isFocusable(vNode);
   -1 32805         if (!role && !hasGlobalAriaOrFocusable || [ 'group', 'rowgroup' ].includes(role) && required.some(function(requiredRole) {
   -1 32806           return requiredRole === role;
   -1 32807         })) {
   -1 32808           ownedVirtual.push.apply(ownedVirtual, _toConsumableArray(vNode.children));
   -1 32809         } else if (role || hasGlobalAriaOrFocusable) {
   -1 32810           var attr = globalAriaAttr || 'tabindex';
   -1 32811           ownedRoles.push({
   -1 32812             role: role,
   -1 32813             attr: attr,
   -1 32814             vNode: vNode
   -1 32815           });
   -1 32816         }
   -1 32817       };
   -1 32818       while (vNode = ownedVirtual.shift()) {
   -1 32819         if (_loop10()) {
   -1 32820           continue;
31186 32821         }
31187 32822       }
31188    -1       result = traverseTable(dir, {
31189    -1         x: position.x + dir.x,
31190    -1         y: position.y + dir.y
31191    -1       }, tableGrid, callback);
31192    -1       result.unshift(cell);
31193    -1       return result;
   -1 32823       return ownedRoles;
31194 32824     }
31195    -1     function traverse(dir, startPos, tableGrid, callback) {
31196    -1       if (Array.isArray(startPos)) {
31197    -1         callback = tableGrid;
31198    -1         tableGrid = startPos;
31199    -1         startPos = {
31200    -1           x: 0,
31201    -1           y: 0
31202    -1         };
   -1 32825     function hasRequiredChildren(required, ownedRoles) {
   -1 32826       return ownedRoles.some(function(_ref139) {
   -1 32827         var role = _ref139.role;
   -1 32828         return role && required.includes(role);
   -1 32829       });
   -1 32830     }
   -1 32831     function getGlobalAriaAttr(vNode) {
   -1 32832       return get_global_aria_attrs_default().find(function(attr) {
   -1 32833         return vNode.hasAttr(attr);
   -1 32834       });
   -1 32835     }
   -1 32836     function getUnallowedSelector(vNode, attr) {
   -1 32837       var _vNode$props = vNode.props, nodeName2 = _vNode$props.nodeName, nodeType = _vNode$props.nodeType;
   -1 32838       if (nodeType === 3) {
   -1 32839         return '#text';
31203 32840       }
31204    -1       if (typeof dir === 'string') {
31205    -1         switch (dir) {
31206    -1          case 'left':
31207    -1           dir = {
31208    -1             x: -1,
31209    -1             y: 0
31210    -1           };
31211    -1           break;
31212    -1 
31213    -1          case 'up':
31214    -1           dir = {
31215    -1             x: 0,
31216    -1             y: -1
31217    -1           };
31218    -1           break;
31219    -1 
31220    -1          case 'right':
31221    -1           dir = {
31222    -1             x: 1,
31223    -1             y: 0
31224    -1           };
31225    -1           break;
31226    -1 
31227    -1          case 'down':
31228    -1           dir = {
31229    -1             x: 0,
31230    -1             y: 1
31231    -1           };
31232    -1           break;
31233    -1         }
   -1 32841       var role = get_explicit_role_default(vNode, {
   -1 32842         dpub: true
   -1 32843       });
   -1 32844       if (role) {
   -1 32845         return '[role='.concat(role, ']');
31234 32846       }
31235    -1       return traverseTable(dir, {
31236    -1         x: startPos.x + dir.x,
31237    -1         y: startPos.y + dir.y
31238    -1       }, tableGrid, callback);
31239    -1     }
31240    -1     var traverse_default = traverse;
31241    -1     function identicalLinksSamePurposeEvaluate(node, options, virtualNode) {
31242    -1       var accText = text_exports.accessibleTextVirtual(virtualNode);
31243    -1       var name = text_exports.sanitize(text_exports.removeUnicode(accText, {
31244    -1         emoji: true,
31245    -1         nonBmp: true,
31246    -1         punctuations: true
31247    -1       })).toLowerCase();
31248    -1       if (!name) {
31249    -1         return void 0;
   -1 32847       if (attr) {
   -1 32848         return nodeName2 + '['.concat(attr, ']');
31250 32849       }
31251    -1       var afterData = {
31252    -1         name: name,
31253    -1         urlProps: dom_exports.urlPropsFromAttribute(node, 'href')
31254    -1       };
31255    -1       this.data(afterData);
31256    -1       this.relatedNodes([ node ]);
31257    -1       return true;
   -1 32850       return nodeName2;
31258 32851     }
31259    -1     var identical_links_same_purpose_evaluate_default = identicalLinksSamePurposeEvaluate;
31260    -1     function internalLinkPresentEvaluate(node, options, virtualNode) {
31261    -1       var links = query_selector_all_default(virtualNode, 'a[href]');
31262    -1       return links.some(function(vLink) {
31263    -1         return /^#[^/!]/.test(vLink.attr('href'));
31264    -1       });
   -1 32852     function isContent(_ref140) {
   -1 32853       var vNode = _ref140.vNode;
   -1 32854       if (vNode.props.nodeType === 3) {
   -1 32855         return vNode.props.nodeValue.trim().length > 0;
   -1 32856       }
   -1 32857       return has_content_virtual_default(vNode, false, true);
31265 32858     }
31266    -1     var internal_link_present_evaluate_default = internalLinkPresentEvaluate;
31267    -1     var separatorRegex = /[;,\s]/;
31268    -1     var validRedirectNumRegex = /^[0-9.]+$/;
31269    -1     function metaRefreshEvaluate(node, options, virtualNode) {
31270    -1       var _ref138 = options || {}, minDelay = _ref138.minDelay, maxDelay = _ref138.maxDelay;
31271    -1       var content = (virtualNode.attr('content') || '').trim();
31272    -1       var _content$split = content.split(separatorRegex), _content$split2 = _slicedToArray(_content$split, 1), redirectStr = _content$split2[0];
31273    -1       if (!redirectStr.match(validRedirectNumRegex)) {
31274    -1         return true;
   -1 32859     function ariaRequiredAttrEvaluate(node) {
   -1 32860       var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
   -1 32861       var virtualNode = arguments.length > 2 ? arguments[2] : undefined;
   -1 32862       var role = get_explicit_role_default(virtualNode);
   -1 32863       var attrs = virtualNode.attrNames;
   -1 32864       var requiredAttrs = required_attr_default(role);
   -1 32865       if (Array.isArray(options[role])) {
   -1 32866         requiredAttrs = unique_array_default(options[role], requiredAttrs);
31275 32867       }
31276    -1       var redirectDelay = parseFloat(redirectStr);
31277    -1       this.data({
31278    -1         redirectDelay: redirectDelay
31279    -1       });
31280    -1       if (typeof minDelay === 'number' && redirectDelay <= options.minDelay) {
   -1 32868       if (!role || !attrs.length || !requiredAttrs.length) {
31281 32869         return true;
31282 32870       }
31283    -1       if (typeof maxDelay === 'number' && redirectDelay > options.maxDelay) {
   -1 32871       if (isStaticSeparator(virtualNode, role) || isClosedCombobox(virtualNode, role)) {
31284 32872         return true;
31285 32873       }
31286    -1       return false;
31287    -1     }
31288    -1     function normalizeFontWeight(weight) {
31289    -1       switch (weight) {
31290    -1        case 'lighter':
31291    -1         return 100;
31292    -1 
31293    -1        case 'normal':
31294    -1         return 400;
31295    -1 
31296    -1        case 'bold':
31297    -1         return 700;
31298    -1 
31299    -1        case 'bolder':
31300    -1         return 900;
   -1 32874       var elmSpec = get_element_spec_default(virtualNode);
   -1 32875       var missingAttrs = requiredAttrs.filter(function(requiredAttr2) {
   -1 32876         return !virtualNode.attr(requiredAttr2) && !hasImplicitAttr(elmSpec, requiredAttr2);
   -1 32877       });
   -1 32878       if (missingAttrs.length) {
   -1 32879         this.data(missingAttrs);
   -1 32880         return false;
31301 32881       }
31302    -1       weight = parseInt(weight);
31303    -1       return !isNaN(weight) ? weight : 400;
   -1 32882       return true;
31304 32883     }
31305    -1     function getTextContainer(elm) {
31306    -1       var nextNode = elm;
31307    -1       var outerText = elm.textContent.trim();
31308    -1       var innerText = outerText;
31309    -1       while (innerText === outerText && nextNode !== void 0) {
31310    -1         var _i35 = -1;
31311    -1         elm = nextNode;
31312    -1         if (elm.children.length === 0) {
31313    -1           return elm;
31314    -1         }
31315    -1         do {
31316    -1           _i35++;
31317    -1           innerText = elm.children[_i35].textContent.trim();
31318    -1         } while (innerText === '' && _i35 + 1 < elm.children.length);
31319    -1         nextNode = elm.children[_i35];
31320    -1       }
31321    -1       return elm;
   -1 32884     function isStaticSeparator(vNode, role) {
   -1 32885       return role === 'separator' && !_isFocusable(vNode);
31322 32886     }
31323    -1     function getStyleValues(node) {
31324    -1       var style = window.getComputedStyle(getTextContainer(node));
31325    -1       return {
31326    -1         fontWeight: normalizeFontWeight(style.getPropertyValue('font-weight')),
31327    -1         fontSize: parseInt(style.getPropertyValue('font-size')),
31328    -1         isItalic: style.getPropertyValue('font-style') === 'italic'
31329    -1       };
   -1 32887     function hasImplicitAttr(elmSpec, attr) {
   -1 32888       var _elmSpec$implicitAttr;
   -1 32889       return ((_elmSpec$implicitAttr = elmSpec.implicitAttrs) === null || _elmSpec$implicitAttr === void 0 ? void 0 : _elmSpec$implicitAttr[attr]) !== void 0;
31330 32890     }
31331    -1     function isHeaderStyle(styleA, styleB, margins) {
31332    -1       return margins.reduce(function(out, margin) {
31333    -1         return out || (!margin.size || styleA.fontSize / margin.size > styleB.fontSize) && (!margin.weight || styleA.fontWeight - margin.weight > styleB.fontWeight) && (!margin.italic || styleA.isItalic && !styleB.isItalic);
31334    -1       }, false);
   -1 32891     function isClosedCombobox(vNode, role) {
   -1 32892       return role === 'combobox' && vNode.attr('aria-expanded') === 'false';
31335 32893     }
31336    -1     function pAsHeadingEvaluate(node, options, virtualNode) {
31337    -1       var siblings = Array.from(node.parentNode.children);
31338    -1       var currentIndex = siblings.indexOf(node);
31339    -1       options = options || {};
31340    -1       var margins = options.margins || [];
31341    -1       var nextSibling = siblings.slice(currentIndex + 1).find(function(elm) {
31342    -1         return elm.nodeName.toUpperCase() === 'P';
   -1 32894     function ariaProhibitedAttrEvaluate(node) {
   -1 32895       var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
   -1 32896       var virtualNode = arguments.length > 2 ? arguments[2] : undefined;
   -1 32897       var elementsAllowedAriaLabel = (options === null || options === void 0 ? void 0 : options.elementsAllowedAriaLabel) || [];
   -1 32898       var nodeName2 = virtualNode.props.nodeName;
   -1 32899       var role = get_role_default(virtualNode, {
   -1 32900         chromium: true
31343 32901       });
31344    -1       var prevSibling = siblings.slice(0, currentIndex).reverse().find(function(elm) {
31345    -1         return elm.nodeName.toUpperCase() === 'P';
   -1 32902       var prohibitedList = listProhibitedAttrs(role, nodeName2, elementsAllowedAriaLabel);
   -1 32903       var prohibited = prohibitedList.filter(function(attrName) {
   -1 32904         if (!virtualNode.attrNames.includes(attrName)) {
   -1 32905           return false;
   -1 32906         }
   -1 32907         return sanitize_default(virtualNode.attr(attrName)) !== '';
31346 32908       });
31347    -1       var currStyle = getStyleValues(node);
31348    -1       var nextStyle = nextSibling ? getStyleValues(nextSibling) : null;
31349    -1       var prevStyle = prevSibling ? getStyleValues(prevSibling) : null;
31350    -1       var optionsPassLength = options.passLength;
31351    -1       var optionsFailLength = options.failLength;
31352    -1       var headingLength = node.textContent.trim().length;
31353    -1       var paragraphLength = nextSibling === null || nextSibling === void 0 ? void 0 : nextSibling.textContent.trim().length;
31354    -1       if (headingLength > paragraphLength * optionsPassLength) {
31355    -1         return true;
31356    -1       }
31357    -1       if (!nextStyle || !isHeaderStyle(currStyle, nextStyle, margins)) {
31358    -1         return true;
   -1 32909       if (prohibited.length === 0) {
   -1 32910         return false;
31359 32911       }
31360    -1       var blockquote = find_up_virtual_default(virtualNode, 'blockquote');
31361    -1       if (blockquote && blockquote.nodeName.toUpperCase() === 'BLOCKQUOTE') {
   -1 32912       var messageKey = virtualNode.hasAttr('role') ? 'hasRole' : 'noRole';
   -1 32913       messageKey += prohibited.length > 1 ? 'Plural' : 'Singular';
   -1 32914       this.data({
   -1 32915         role: role,
   -1 32916         nodeName: nodeName2,
   -1 32917         messageKey: messageKey,
   -1 32918         prohibited: prohibited
   -1 32919       });
   -1 32920       var textContent = subtree_text_default(virtualNode, {
   -1 32921         subtreeDescendant: true
   -1 32922       });
   -1 32923       if (sanitize_default(textContent) !== '') {
31362 32924         return void 0;
31363 32925       }
31364    -1       if (prevStyle && !isHeaderStyle(currStyle, prevStyle, margins)) {
31365    -1         return void 0;
   -1 32926       return true;
   -1 32927     }
   -1 32928     function listProhibitedAttrs(role, nodeName2, elementsAllowedAriaLabel) {
   -1 32929       var roleSpec = standards_default.ariaRoles[role];
   -1 32930       if (roleSpec) {
   -1 32931         return roleSpec.prohibitedAttrs || [];
31366 32932       }
31367    -1       if (headingLength > paragraphLength * optionsFailLength) {
   -1 32933       if (!!role || elementsAllowedAriaLabel.includes(nodeName2)) {
   -1 32934         return [];
   -1 32935       }
   -1 32936       return [ 'aria-label', 'aria-labelledby' ];
   -1 32937     }
   -1 32938     function ariaLevelEvaluate(node, options, virtualNode) {
   -1 32939       var ariaHeadingLevel = virtualNode.attr('aria-level');
   -1 32940       var ariaLevel = parseInt(ariaHeadingLevel, 10);
   -1 32941       if (ariaLevel > 6) {
31368 32942         return void 0;
31369 32943       }
31370    -1       return false;
   -1 32944       return true;
31371 32945     }
31372    -1     var p_as_heading_evaluate_default = pAsHeadingEvaluate;
31373    -1     function regionAfter(results) {
31374    -1       var iframeResults = results.filter(function(r) {
31375    -1         return r.data.isIframe;
31376    -1       });
31377    -1       results.forEach(function(r) {
31378    -1         if (r.result || r.node.ancestry.length === 1) {
31379    -1           return;
   -1 32946     var aria_level_evaluate_default = ariaLevelEvaluate;
   -1 32947     function ariaHiddenBodyEvaluate(node, options, virtualNode) {
   -1 32948       return virtualNode.attr('aria-hidden') !== 'true';
   -1 32949     }
   -1 32950     var aria_hidden_body_evaluate_default = ariaHiddenBodyEvaluate;
   -1 32951     function ariaErrormessageEvaluate(node, options, virtualNode) {
   -1 32952       options = Array.isArray(options) ? options : [];
   -1 32953       var errorMessageAttr = virtualNode.attr('aria-errormessage');
   -1 32954       var hasAttr = virtualNode.hasAttr('aria-errormessage');
   -1 32955       var invaid = virtualNode.attr('aria-invalid');
   -1 32956       var hasInvallid = virtualNode.hasAttr('aria-invalid');
   -1 32957       if (!hasInvallid || invaid === 'false') {
   -1 32958         return true;
   -1 32959       }
   -1 32960       function validateAttrValue2(attr) {
   -1 32961         if (attr.trim() === '') {
   -1 32962           return standards_default.ariaAttrs['aria-errormessage'].allowEmpty;
31380 32963         }
31381    -1         var frameAncestry = r.node.ancestry.slice(0, -1);
31382    -1         var _iterator21 = _createForOfIteratorHelper(iframeResults), _step21;
   -1 32964         var idref;
31383 32965         try {
31384    -1           for (_iterator21.s(); !(_step21 = _iterator21.n()).done; ) {
31385    -1             var iframeResult = _step21.value;
31386    -1             if (_matchAncestry(frameAncestry, iframeResult.node.ancestry)) {
31387    -1               r.result = iframeResult.result;
31388    -1               break;
31389    -1             }
31390    -1           }
31391    -1         } catch (err) {
31392    -1           _iterator21.e(err);
31393    -1         } finally {
31394    -1           _iterator21.f();
   -1 32966           idref = attr && idrefs_default(virtualNode, 'aria-errormessage')[0];
   -1 32967         } catch (e) {
   -1 32968           this.data({
   -1 32969             messageKey: 'idrefs',
   -1 32970             values: token_list_default(attr)
   -1 32971           });
   -1 32972           return void 0;
31395 32973         }
31396    -1       });
31397    -1       iframeResults.forEach(function(r) {
31398    -1         if (!r.result) {
31399    -1           r.result = true;
   -1 32974         if (idref) {
   -1 32975           if (!_isVisibleToScreenReaders(idref)) {
   -1 32976             this.data({
   -1 32977               messageKey: 'hidden',
   -1 32978               values: token_list_default(attr)
   -1 32979             });
   -1 32980             return false;
   -1 32981           }
   -1 32982           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;
31400 32983         }
31401    -1       });
31402    -1       return results;
   -1 32984         return;
   -1 32985       }
   -1 32986       if (options.indexOf(errorMessageAttr) === -1 && hasAttr) {
   -1 32987         this.data(token_list_default(errorMessageAttr));
   -1 32988         return validateAttrValue2.call(this, errorMessageAttr);
   -1 32989       }
   -1 32990       return true;
31403 32991     }
31404    -1     var region_after_default = regionAfter;
31405    -1     var implicitAriaLiveRoles = [ 'alert', 'log', 'status' ];
31406    -1     function regionEvaluate(node, options, virtualNode) {
   -1 32992     function ariaConditionalRowAttr(node) {
   -1 32993       var _invalidTableRowAttrs, _invalidTableRowAttrs2;
   -1 32994       var _ref141 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, invalidTableRowAttrs = _ref141.invalidTableRowAttrs;
   -1 32995       var virtualNode = arguments.length > 2 ? arguments[2] : undefined;
   -1 32996       var invalidAttrs = (_invalidTableRowAttrs = invalidTableRowAttrs === null || invalidTableRowAttrs === void 0 || (_invalidTableRowAttrs2 = invalidTableRowAttrs.filter) === null || _invalidTableRowAttrs2 === void 0 ? void 0 : _invalidTableRowAttrs2.call(invalidTableRowAttrs, function(invalidAttr) {
   -1 32997         return virtualNode.hasAttr(invalidAttr);
   -1 32998       })) !== null && _invalidTableRowAttrs !== void 0 ? _invalidTableRowAttrs : [];
   -1 32999       if (invalidAttrs.length === 0) {
   -1 33000         return true;
   -1 33001       }
   -1 33002       var owner = getRowOwner(virtualNode);
   -1 33003       var ownerRole = owner && get_role_default(owner);
   -1 33004       if (!ownerRole || ownerRole === 'treegrid') {
   -1 33005         return true;
   -1 33006       }
   -1 33007       var messageKey = 'row'.concat(invalidAttrs.length > 1 ? 'Plural' : 'Singular');
31407 33008       this.data({
31408    -1         isIframe: [ 'iframe', 'frame' ].includes(virtualNode.props.nodeName)
31409    -1       });
31410    -1       var regionlessNodes = cache_default.get('regionlessNodes', function() {
31411    -1         return getRegionlessNodes(options);
31412    -1       });
31413    -1       return !regionlessNodes.includes(virtualNode);
31414    -1     }
31415    -1     function getRegionlessNodes(options) {
31416    -1       var regionlessNodes = findRegionlessElms(axe._tree[0], options).map(function(vNode) {
31417    -1         while (vNode.parent && !vNode.parent._hasRegionDescendant && vNode.parent.actualNode !== document.body) {
31418    -1           vNode = vNode.parent;
31419    -1         }
31420    -1         return vNode;
31421    -1       }).filter(function(vNode, index, array) {
31422    -1         return array.indexOf(vNode) === index;
   -1 33009         messageKey: messageKey,
   -1 33010         invalidAttrs: invalidAttrs,
   -1 33011         ownerRole: ownerRole
31423 33012       });
31424    -1       return regionlessNodes;
   -1 33013       return false;
31425 33014     }
31426    -1     function findRegionlessElms(virtualNode, options) {
31427    -1       var node = virtualNode.actualNode;
31428    -1       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)) {
31429    -1         var vNode = virtualNode;
31430    -1         while (vNode) {
31431    -1           vNode._hasRegionDescendant = true;
31432    -1           vNode = vNode.parent;
31433    -1         }
31434    -1         if ([ 'iframe', 'frame' ].includes(virtualNode.props.nodeName)) {
31435    -1           return [ virtualNode ];
31436    -1         }
31437    -1         return [];
31438    -1       } else if (node !== document.body && has_content_default(node, true)) {
31439    -1         return [ virtualNode ];
31440    -1       } else {
31441    -1         return virtualNode.children.filter(function(_ref139) {
31442    -1           var actualNode = _ref139.actualNode;
31443    -1           return actualNode.nodeType === 1;
31444    -1         }).map(function(vNode) {
31445    -1           return findRegionlessElms(vNode, options);
31446    -1         }).reduce(function(a2, b2) {
31447    -1           return a2.concat(b2);
31448    -1         }, []);
   -1 33015     function getRowOwner(virtualNode) {
   -1 33016       if (!virtualNode.parent) {
   -1 33017         return;
31449 33018       }
   -1 33019       var rowOwnerQuery = 'table:not([role]), [role~="treegrid"], [role~="table"], [role~="grid"]';
   -1 33020       return closest_default(virtualNode, rowOwnerQuery);
31450 33021     }
31451    -1     function isRegion(virtualNode, options) {
31452    -1       var node = virtualNode.actualNode;
31453    -1       var role = get_role_default(virtualNode);
31454    -1       var ariaLive = (node.getAttribute('aria-live') || '').toLowerCase().trim();
31455    -1       var landmarkRoles2 = get_aria_roles_by_type_default('landmark');
31456    -1       if ([ 'assertive', 'polite' ].includes(ariaLive) || implicitAriaLiveRoles.includes(role)) {
31457    -1         return true;
31458    -1       }
31459    -1       if (landmarkRoles2.includes(role)) {
   -1 33022     function ariaConditionalCheckboxAttr(node, options, virtualNode) {
   -1 33023       var _virtualNode$props = virtualNode.props, nodeName2 = _virtualNode$props.nodeName, type2 = _virtualNode$props.type;
   -1 33024       var ariaChecked = normalizeAriaChecked(virtualNode.attr('aria-checked'));
   -1 33025       if (nodeName2 !== 'input' || type2 !== 'checkbox' || !ariaChecked) {
31460 33026         return true;
31461 33027       }
31462    -1       if (options.regionMatcher && matches_default2(virtualNode, options.regionMatcher)) {
   -1 33028       var checkState = getCheckState(virtualNode);
   -1 33029       if (ariaChecked === checkState) {
31463 33030         return true;
31464 33031       }
   -1 33032       this.data({
   -1 33033         messageKey: 'checkbox',
   -1 33034         checkState: checkState
   -1 33035       });
31465 33036       return false;
31466 33037     }
31467    -1     function skipLinkEvaluate(node) {
31468    -1       var target = get_element_by_reference_default(node, 'href');
31469    -1       if (target) {
31470    -1         return _isVisibleToScreenReaders(target) || void 0;
   -1 33038     function getCheckState(vNode) {
   -1 33039       if (vNode.props.indeterminate) {
   -1 33040         return 'mixed';
31471 33041       }
31472    -1       return false;
   -1 33042       return vNode.props.checked ? 'true' : 'false';
31473 33043     }
31474    -1     var skip_link_evaluate_default = skipLinkEvaluate;
31475    -1     function uniqueFrameTitleAfter(results) {
31476    -1       var titles = {};
31477    -1       results.forEach(function(r) {
31478    -1         titles[r.data] = titles[r.data] !== void 0 ? ++titles[r.data] : 0;
31479    -1       });
31480    -1       results.forEach(function(r) {
31481    -1         r.result = !!titles[r.data];
31482    -1       });
31483    -1       return results;
   -1 33044     function normalizeAriaChecked(ariaCheckedVal) {
   -1 33045       if (!ariaCheckedVal) {
   -1 33046         return '';
   -1 33047       }
   -1 33048       ariaCheckedVal = ariaCheckedVal.toLowerCase();
   -1 33049       if ([ 'mixed', 'true' ].includes(ariaCheckedVal)) {
   -1 33050         return ariaCheckedVal;
   -1 33051       }
   -1 33052       return 'false';
31484 33053     }
31485    -1     var unique_frame_title_after_default = uniqueFrameTitleAfter;
31486    -1     function uniqueFrameTitleEvaluate(node, options, vNode) {
31487    -1       var title = sanitize_default(vNode.attr('title')).toLowerCase();
31488    -1       this.data(title);
31489    -1       return true;
   -1 33054     var conditionalRoleMap = {
   -1 33055       row: ariaConditionalRowAttr,
   -1 33056       checkbox: ariaConditionalCheckboxAttr
   -1 33057     };
   -1 33058     function ariaConditionalAttrEvaluate(node, options, virtualNode) {
   -1 33059       var role = get_role_default(virtualNode);
   -1 33060       if (!conditionalRoleMap[role]) {
   -1 33061         return true;
   -1 33062       }
   -1 33063       return conditionalRoleMap[role].call(this, node, options, virtualNode);
31490 33064     }
31491    -1     var unique_frame_title_evaluate_default = uniqueFrameTitleEvaluate;
31492    -1     function duplicateIdAfter(results) {
31493    -1       var uniqueIds = [];
31494    -1       return results.filter(function(r) {
31495    -1         if (uniqueIds.indexOf(r.data) === -1) {
31496    -1           uniqueIds.push(r.data);
31497    -1           return true;
   -1 33065     function ariaBusyEvaluate(node, options, virtualNode) {
   -1 33066       return virtualNode.attr('aria-busy') === 'true';
   -1 33067     }
   -1 33068     function ariaAllowedRoleEvaluate(node) {
   -1 33069       var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
   -1 33070       var virtualNode = arguments.length > 2 ? arguments[2] : undefined;
   -1 33071       var _options$allowImplici = options.allowImplicit, allowImplicit = _options$allowImplici === void 0 ? true : _options$allowImplici, _options$ignoredTags = options.ignoredTags, ignoredTags = _options$ignoredTags === void 0 ? [] : _options$ignoredTags;
   -1 33072       var nodeName2 = virtualNode.props.nodeName;
   -1 33073       if (ignoredTags.map(function(tag) {
   -1 33074         return tag.toLowerCase();
   -1 33075       }).includes(nodeName2)) {
   -1 33076         return true;
   -1 33077       }
   -1 33078       var unallowedRoles = get_element_unallowed_roles_default(virtualNode, allowImplicit);
   -1 33079       if (unallowedRoles.length) {
   -1 33080         this.data(unallowedRoles);
   -1 33081         if (!_isVisibleToScreenReaders(virtualNode)) {
   -1 33082           return void 0;
31498 33083         }
31499 33084         return false;
31500    -1       });
   -1 33085       }
   -1 33086       return true;
31501 33087     }
31502    -1     var duplicate_id_after_default = duplicateIdAfter;
31503    -1     function duplicateIdEvaluate(node) {
31504    -1       var id = node.getAttribute('id').trim();
31505    -1       if (!id) {
   -1 33088     var aria_allowed_role_evaluate_default = ariaAllowedRoleEvaluate;
   -1 33089     function ariaAllowedAttrEvaluate(node, options, virtualNode) {
   -1 33090       var invalid = [];
   -1 33091       var role = get_role_default(virtualNode);
   -1 33092       var allowed = allowed_attr_default(role);
   -1 33093       if (Array.isArray(options[role])) {
   -1 33094         allowed = unique_array_default(options[role].concat(allowed));
   -1 33095       }
   -1 33096       var _iterator21 = _createForOfIteratorHelper(virtualNode.attrNames), _step21;
   -1 33097       try {
   -1 33098         for (_iterator21.s(); !(_step21 = _iterator21.n()).done; ) {
   -1 33099           var attrName = _step21.value;
   -1 33100           if (validate_attr_default(attrName) && !allowed.includes(attrName)) {
   -1 33101             invalid.push(attrName);
   -1 33102           }
   -1 33103         }
   -1 33104       } catch (err) {
   -1 33105         _iterator21.e(err);
   -1 33106       } finally {
   -1 33107         _iterator21.f();
   -1 33108       }
   -1 33109       if (!invalid.length) {
31506 33110         return true;
31507 33111       }
31508    -1       var root = get_root_node_default2(node);
31509    -1       var matchingNodes = Array.from(root.querySelectorAll('[id="'.concat(escape_selector_default(id), '"]'))).filter(function(foundNode) {
31510    -1         return foundNode !== node;
   -1 33112       this.data(invalid.map(function(attrName) {
   -1 33113         return attrName + '="' + virtualNode.attr(attrName) + '"';
   -1 33114       }));
   -1 33115       if (!role && !is_html_element_default(virtualNode) && !_isFocusable(virtualNode)) {
   -1 33116         return void 0;
   -1 33117       }
   -1 33118       return false;
   -1 33119     }
   -1 33120     function abstractroleEvaluate(node, options, virtualNode) {
   -1 33121       var abstractRoles = token_list_default(virtualNode.attr('role')).filter(function(role) {
   -1 33122         return get_role_type_default(role) === 'abstract';
31511 33123       });
31512    -1       if (matchingNodes.length) {
31513    -1         this.relatedNodes(matchingNodes);
   -1 33124       if (abstractRoles.length > 0) {
   -1 33125         this.data(abstractRoles);
   -1 33126         return true;
31514 33127       }
31515    -1       this.data(id);
31516    -1       return matchingNodes.length === 0;
   -1 33128       return false;
31517 33129     }
31518    -1     var duplicate_id_evaluate_default = duplicateIdEvaluate;
31519    -1     function ariaLabelEvaluate(node, options, virtualNode) {
31520    -1       return !!sanitize_default(_arialabelText(virtualNode));
   -1 33130     var abstractrole_evaluate_default = abstractroleEvaluate;
   -1 33131     function xmlLangMismatchMatches(node) {
   -1 33132       var primaryLangValue = get_base_lang_default(node.getAttribute('lang'));
   -1 33133       var primaryXmlLangValue = get_base_lang_default(node.getAttribute('xml:lang'));
   -1 33134       return valid_langs_default(primaryLangValue) && valid_langs_default(primaryXmlLangValue);
31521 33135     }
31522    -1     var aria_label_evaluate_default = ariaLabelEvaluate;
31523    -1     function ariaLabelledbyEvaluate(node, options, virtualNode) {
   -1 33136     var xml_lang_mismatch_matches_default = xmlLangMismatchMatches;
   -1 33137     function windowIsTopMatches(node) {
   -1 33138       return node.ownerDocument.defaultView.self === node.ownerDocument.defaultView.top;
   -1 33139     }
   -1 33140     var window_is_top_matches_default = windowIsTopMatches;
   -1 33141     function svgNamespaceMatches(node, virtualNode) {
31524 33142       try {
31525    -1         return !!sanitize_default(arialabelledby_text_default(virtualNode));
   -1 33143         var nodeName2 = virtualNode.props.nodeName;
   -1 33144         if (nodeName2 === 'svg') {
   -1 33145           return true;
   -1 33146         }
   -1 33147         return !!closest_default(virtualNode, 'svg');
31526 33148       } catch (e) {
31527    -1         return void 0;
   -1 33149         return false;
31528 33150       }
31529 33151     }
31530    -1     var aria_labelledby_evaluate_default = ariaLabelledbyEvaluate;
31531    -1     function avoidInlineSpacingEvaluate(node, options) {
31532    -1       var overriddenProperties = options.cssProperties.filter(function(property) {
31533    -1         if (node.style.getPropertyPriority(property) === 'important') {
31534    -1           return property;
31535    -1         }
   -1 33152     var svg_namespace_matches_default = svgNamespaceMatches;
   -1 33153     function widgetNotInline(node, vNode) {
   -1 33154       return matchesFns.every(function(fn) {
   -1 33155         return fn(node, vNode);
31536 33156       });
31537    -1       if (overriddenProperties.length > 0) {
31538    -1         this.data(overriddenProperties);
31539    -1         return false;
31540    -1       }
31541    -1       return true;
31542 33157     }
31543    -1     var avoid_inline_spacing_evaluate_default = avoidInlineSpacingEvaluate;
31544    -1     function docHasTitleEvaluate() {
31545    -1       var title = document.title;
31546    -1       return !!sanitize_default(title);
   -1 33158     var matchesFns = [ function(node, vNode) {
   -1 33159       return isWidgetType(vNode);
   -1 33160     }, function(node, vNode) {
   -1 33161       return isNotAreaElement(vNode);
   -1 33162     }, function(node, vNode) {
   -1 33163       return !svg_namespace_matches_default(node, vNode);
   -1 33164     }, function(node, vNode) {
   -1 33165       return _isFocusable(vNode);
   -1 33166     }, function(node, vNode) {
   -1 33167       return _isInTabOrder(vNode) || !hasWidgetAncestorInTabOrder(vNode);
   -1 33168     }, function(node) {
   -1 33169       return !is_in_text_block_default(node, {
   -1 33170         noLengthCompare: true
   -1 33171       });
   -1 33172     } ];
   -1 33173     function isWidgetType(vNode) {
   -1 33174       return get_role_type_default(vNode) === 'widget';
31547 33175     }
31548    -1     var doc_has_title_evaluate_default = docHasTitleEvaluate;
31549    -1     function existsEvaluate() {
31550    -1       return void 0;
   -1 33176     function isNotAreaElement(vNode) {
   -1 33177       return vNode.props.nodeName !== 'area';
31551 33178     }
31552    -1     var exists_evaluate_default = existsEvaluate;
31553    -1     function hasAltEvaluate(node, options, virtualNode) {
31554    -1       var nodeName2 = virtualNode.props.nodeName;
31555    -1       if (![ 'img', 'input', 'area' ].includes(nodeName2)) {
   -1 33179     var hasWidgetAncestorInTabOrder = memoize_default(function hasWidgetAncestorInTabOrderMemoized(vNode) {
   -1 33180       if (!(vNode !== null && vNode !== void 0 && vNode.parent)) {
31556 33181         return false;
31557 33182       }
31558    -1       return virtualNode.hasAttr('alt');
31559    -1     }
31560    -1     var has_alt_evaluate_default = hasAltEvaluate;
31561    -1     function inlineStyleProperty(node, options) {
31562    -1       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;
31563    -1       if (!noImportant && node.style.getPropertyPriority(cssProperty) !== 'important' || multiLineOnly && !_isMultiline(node)) {
   -1 33183       if (isWidgetType(vNode.parent) && _isInTabOrder(vNode.parent)) {
31564 33184         return true;
31565 33185       }
31566    -1       var data = {};
31567    -1       if (typeof minValue === 'number') {
31568    -1         data.minValue = minValue;
31569    -1       }
31570    -1       if (typeof maxValue === 'number') {
31571    -1         data.maxValue = maxValue;
31572    -1       }
31573    -1       var declaredPropValue = node.style.getPropertyValue(cssProperty);
31574    -1       if ([ 'inherit', 'unset', 'revert', 'revert-layer' ].includes(declaredPropValue)) {
31575    -1         this.data(_extends({
31576    -1           value: declaredPropValue
31577    -1         }, data));
31578    -1         return true;
   -1 33186       return hasWidgetAncestorInTabOrderMemoized(vNode.parent);
   -1 33187     });
   -1 33188     function tableOrGridRoleMatches(_, vNode) {
   -1 33189       var role = get_role_default(vNode);
   -1 33190       return [ 'treegrid', 'grid', 'table' ].includes(role);
   -1 33191     }
   -1 33192     function skipLinkMatches(node) {
   -1 33193       return _isSkipLink(node) && is_offscreen_default(node);
   -1 33194     }
   -1 33195     var skip_link_matches_default = skipLinkMatches;
   -1 33196     function scrollableRegionFocusableMatches(node, virtualNode) {
   -1 33197       return get_scroll_default(node, 13) !== void 0 && _isComboboxPopup(virtualNode) === false && isNoneEmptyElement(virtualNode);
   -1 33198     }
   -1 33199     function isNoneEmptyElement(vNode) {
   -1 33200       return query_selector_all_default(vNode, '*').some(function(elm) {
   -1 33201         return has_content_virtual_default(elm, true, true);
   -1 33202       });
   -1 33203     }
   -1 33204     function presentationRoleConflictMatches(node, virtualNode) {
   -1 33205       return implicit_role_default(virtualNode, {
   -1 33206         chromiumRoles: true
   -1 33207       }) !== null;
   -1 33208     }
   -1 33209     var presentation_role_conflict_matches_default = presentationRoleConflictMatches;
   -1 33210     function pAsHeadingMatches(node) {
   -1 33211       var children = Array.from(node.parentNode.childNodes);
   -1 33212       var nodeText = node.textContent.trim();
   -1 33213       var isSentence = /[.!?:;](?![.!?:;])/g;
   -1 33214       if (nodeText.length === 0 || (nodeText.match(isSentence) || []).length >= 2) {
   -1 33215         return false;
31579 33216       }
31580    -1       var value = getNumberValue(node, {
31581    -1         absoluteValues: absoluteValues,
31582    -1         cssProperty: cssProperty,
31583    -1         normalValue: normalValue
   -1 33217       var siblingsAfter = children.slice(children.indexOf(node) + 1).filter(function(elm) {
   -1 33218         return elm.nodeName.toUpperCase() === 'P' && elm.textContent.trim() !== '';
31584 33219       });
31585    -1       this.data(_extends({
31586    -1         value: value
31587    -1       }, data));
31588    -1       if (typeof value !== 'number') {
31589    -1         return void 0;
   -1 33220       return siblingsAfter.length !== 0;
   -1 33221     }
   -1 33222     var p_as_heading_matches_default = pAsHeadingMatches;
   -1 33223     function noExplicitNameRequired(node, virtualNode) {
   -1 33224       var role = get_explicit_role_default(virtualNode);
   -1 33225       if (!role || [ 'none', 'presentation' ].includes(role)) {
   -1 33226         return true;
31590 33227       }
31591    -1       if ((typeof minValue !== 'number' || value >= minValue) && (typeof maxValue !== 'number' || value <= maxValue)) {
   -1 33228       var _ref142 = aria_roles_default[role] || {}, accessibleNameRequired = _ref142.accessibleNameRequired;
   -1 33229       if (accessibleNameRequired || _isFocusable(virtualNode)) {
31592 33230         return true;
31593 33231       }
31594 33232       return false;
31595 33233     }
31596    -1     function getNumberValue(domNode, _ref140) {
31597    -1       var cssProperty = _ref140.cssProperty, absoluteValues = _ref140.absoluteValues, normalValue = _ref140.normalValue;
31598    -1       var computedStyle = window.getComputedStyle(domNode);
31599    -1       var cssPropValue = computedStyle.getPropertyValue(cssProperty);
31600    -1       if (cssPropValue === 'normal') {
31601    -1         return normalValue;
31602    -1       }
31603    -1       var parsedValue = parseFloat(cssPropValue);
31604    -1       if (absoluteValues) {
31605    -1         return parsedValue;
31606    -1       }
31607    -1       var fontSize = parseFloat(computedStyle.getPropertyValue('font-size'));
31608    -1       var value = Math.round(parsedValue / fontSize * 100) / 100;
31609    -1       if (isNaN(value)) {
31610    -1         return cssPropValue;
   -1 33234     var no_explicit_name_required_matches_default = noExplicitNameRequired;
   -1 33235     var object_is_loaded_matches_default = function object_is_loaded_matches_default(node, vNode) {
   -1 33236       return [ no_explicit_name_required_matches_default, objectHasLoaded ].every(function(fn) {
   -1 33237         return fn(node, vNode);
   -1 33238       });
   -1 33239     };
   -1 33240     function objectHasLoaded(node) {
   -1 33241       var _node$ownerDocument;
   -1 33242       if (!(node !== null && node !== void 0 && (_node$ownerDocument = node.ownerDocument) !== null && _node$ownerDocument !== void 0 && _node$ownerDocument.createRange)) {
   -1 33243         return true;
31611 33244       }
31612    -1       return value;
   -1 33245       var range2 = node.ownerDocument.createRange();
   -1 33246       range2.setStart(node, 0);
   -1 33247       range2.setEnd(node, node.childNodes.length);
   -1 33248       return range2.getClientRects().length === 0;
31613 33249     }
31614    -1     function isOnScreenEvaluate(node) {
31615    -1       return _isVisibleOnScreen(node);
   -1 33250     function notHtmlMatches(node, virtualNode) {
   -1 33251       return virtualNode.props.nodeName !== 'html';
31616 33252     }
31617    -1     var is_on_screen_evaluate_default = isOnScreenEvaluate;
31618    -1     function nonEmptyIfPresentEvaluate(node, options, virtualNode) {
31619    -1       var nodeName2 = virtualNode.props.nodeName;
31620    -1       var type2 = (virtualNode.attr('type') || '').toLowerCase();
31621    -1       var label3 = virtualNode.attr('value');
31622    -1       if (label3) {
31623    -1         this.data({
31624    -1           messageKey: 'has-label'
31625    -1         });
31626    -1       }
31627    -1       if (nodeName2 === 'input' && [ 'submit', 'reset' ].includes(type2)) {
31628    -1         return label3 === null;
31629    -1       }
31630    -1       return false;
   -1 33253     var not_html_matches_default = notHtmlMatches;
   -1 33254     function noRoleMatches(node, vNode) {
   -1 33255       return !vNode.attr('role');
31631 33256     }
31632    -1     var non_empty_if_present_evaluate_default = nonEmptyIfPresentEvaluate;
31633    -1     function presentationalRoleEvaluate(node, options, virtualNode) {
31634    -1       var explicitRole2 = get_explicit_role_default(virtualNode);
31635    -1       if ([ 'presentation', 'none' ].includes(explicitRole2) && [ 'iframe', 'frame' ].includes(virtualNode.props.nodeName) && virtualNode.hasAttr('title')) {
31636    -1         this.data({
31637    -1           messageKey: 'iframe',
31638    -1           nodeName: virtualNode.props.nodeName
31639    -1         });
   -1 33257     var no_role_matches_default = noRoleMatches;
   -1 33258     function noNegativeTabindexMatches(node, virtualNode) {
   -1 33259       var tabindex = parseInt(virtualNode.attr('tabindex'), 10);
   -1 33260       return isNaN(tabindex) || tabindex >= 0;
   -1 33261     }
   -1 33262     var no_negative_tabindex_matches_default = noNegativeTabindexMatches;
   -1 33263     function noNamingMethodMatches(node, virtualNode) {
   -1 33264       var _get_element_spec_def3 = get_element_spec_default(virtualNode), namingMethods = _get_element_spec_def3.namingMethods;
   -1 33265       if (namingMethods && namingMethods.length !== 0) {
31640 33266         return false;
31641 33267       }
31642    -1       var role = get_role_default(virtualNode);
31643    -1       if ([ 'presentation', 'none' ].includes(role)) {
31644    -1         this.data({
31645    -1           role: role
31646    -1         });
31647    -1         return true;
31648    -1       }
31649    -1       if (![ 'presentation', 'none' ].includes(explicitRole2)) {
   -1 33268       if (get_explicit_role_default(virtualNode) === 'combobox' && query_selector_all_default(virtualNode, 'input:not([type="hidden"])').length) {
31650 33269         return false;
31651 33270       }
31652    -1       var hasGlobalAria = get_global_aria_attrs_default().some(function(attr) {
31653    -1         return virtualNode.hasAttr(attr);
31654    -1       });
31655    -1       var focusable = _isFocusable(virtualNode);
31656    -1       var messageKey;
31657    -1       if (hasGlobalAria && !focusable) {
31658    -1         messageKey = 'globalAria';
31659    -1       } else if (!hasGlobalAria && focusable) {
31660    -1         messageKey = 'focusable';
31661    -1       } else {
31662    -1         messageKey = 'both';
31663    -1       }
31664    -1       this.data({
31665    -1         messageKey: messageKey,
31666    -1         role: role
31667    -1       });
31668    -1       return false;
31669    -1     }
31670    -1     function svgNonEmptyTitleEvaluate(node, options, virtualNode) {
31671    -1       if (!virtualNode.children) {
31672    -1         return void 0;
31673    -1       }
31674    -1       var titleNode = virtualNode.children.find(function(_ref141) {
31675    -1         var props = _ref141.props;
31676    -1         return props.nodeName === 'title';
31677    -1       });
31678    -1       if (!titleNode) {
31679    -1         this.data({
31680    -1           messageKey: 'noTitle'
31681    -1         });
   -1 33271       if (_isComboboxPopup(virtualNode, {
   -1 33272         popupRoles: [ 'listbox' ]
   -1 33273       })) {
31682 33274         return false;
31683 33275       }
31684    -1       try {
31685    -1         var titleText2 = subtree_text_default(titleNode, {
31686    -1           includeHidden: true
31687    -1         }).trim();
31688    -1         if (titleText2 === '') {
31689    -1           this.data({
31690    -1             messageKey: 'emptyTitle'
31691    -1           });
31692    -1           return false;
31693    -1         }
31694    -1       } catch (e) {
31695    -1         return void 0;
31696    -1       }
31697 33276       return true;
31698 33277     }
31699    -1     var svg_non_empty_title_evaluate_default = svgNonEmptyTitleEvaluate;
31700    -1     function captionFakedEvaluate(node) {
31701    -1       var table = to_grid_default(node);
31702    -1       var firstRow = table[0];
31703    -1       if (table.length <= 1 || firstRow.length <= 1 || node.rows.length <= 1) {
31704    -1         return true;
   -1 33278     var no_naming_method_matches_default = noNamingMethodMatches;
   -1 33279     function noEmptyRoleMatches(node, virtualNode) {
   -1 33280       if (!virtualNode.hasAttr('role')) {
   -1 33281         return false;
31705 33282       }
31706    -1       return firstRow.reduce(function(out, curr, i) {
31707    -1         return out || curr !== firstRow[i + 1] && firstRow[i + 1] !== void 0;
31708    -1       }, false);
31709    -1     }
31710    -1     var caption_faked_evaluate_default = captionFakedEvaluate;
31711    -1     function html5ScopeEvaluate(node) {
31712    -1       if (!is_html5_default(document)) {
31713    -1         return true;
   -1 33283       if (!virtualNode.attr('role').trim()) {
   -1 33284         return false;
31714 33285       }
31715    -1       return node.nodeName.toUpperCase() === 'TH';
   -1 33286       return true;
31716 33287     }
31717    -1     var html5_scope_evaluate_default = html5ScopeEvaluate;
31718    -1     var same_caption_summary_evaluate_default = sameCaptionSummaryEvaluate;
31719    -1     function sameCaptionSummaryEvaluate(node, options, virtualNode) {
31720    -1       if (virtualNode.children === void 0) {
31721    -1         return void 0;
   -1 33288     var no_empty_role_matches_default = noEmptyRoleMatches;
   -1 33289     function noAutoplayAudioMatches(node) {
   -1 33290       if (!node.currentSrc) {
   -1 33291         return false;
31722 33292       }
31723    -1       var summary = virtualNode.attr('summary');
31724    -1       var captionNode = virtualNode.children.find(isCaptionNode);
31725    -1       var caption = captionNode ? sanitize_default(subtree_text_default(captionNode)) : false;
31726    -1       if (!caption || !summary) {
   -1 33293       if (node.hasAttribute('paused') || node.hasAttribute('muted')) {
31727 33294         return false;
31728 33295       }
31729    -1       return sanitize_default(summary).toLowerCase() === sanitize_default(caption).toLowerCase();
31730    -1     }
31731    -1     function isCaptionNode(virtualNode) {
31732    -1       return virtualNode.props.nodeName === 'caption';
31733    -1     }
31734    -1     function scopeValueEvaluate(node, options) {
31735    -1       var value = node.getAttribute('scope').toLowerCase();
31736    -1       return options.values.indexOf(value) !== -1;
   -1 33296       return true;
31737 33297     }
31738    -1     var scope_value_evaluate_default = scopeValueEvaluate;
31739    -1     function tdHasHeaderEvaluate(node) {
31740    -1       var badCells = [];
31741    -1       var cells = get_all_cells_default(node);
31742    -1       var tableGrid = to_grid_default(node);
31743    -1       cells.forEach(function(cell) {
31744    -1         if (has_content_default(cell) && is_data_cell_default(cell) && !label_default2(cell)) {
31745    -1           var hasHeaders = get_headers_default(cell, tableGrid).some(function(header) {
31746    -1             return header !== null && !!has_content_default(header);
31747    -1           });
31748    -1           if (!hasHeaders) {
31749    -1             badCells.push(cell);
31750    -1           }
31751    -1         }
31752    -1       });
31753    -1       if (badCells.length) {
31754    -1         this.relatedNodes(badCells);
   -1 33298     var no_autoplay_audio_matches_default = noAutoplayAudioMatches;
   -1 33299     function nestedInteractiveMatches(node, virtualNode) {
   -1 33300       var role = get_role_default(virtualNode);
   -1 33301       if (!role) {
31755 33302         return false;
31756 33303       }
31757    -1       return true;
   -1 33304       return !!standards_default.ariaRoles[role].childrenPresentational;
31758 33305     }
31759    -1     var td_has_header_evaluate_default = tdHasHeaderEvaluate;
31760    -1     function tdHeadersAttrEvaluate(node) {
31761    -1       var cells = [];
31762    -1       var reviewCells = [];
31763    -1       var badCells = [];
31764    -1       for (var rowIndex = 0; rowIndex < node.rows.length; rowIndex++) {
31765    -1         var row = node.rows[rowIndex];
31766    -1         for (var cellIndex = 0; cellIndex < row.cells.length; cellIndex++) {
31767    -1           cells.push(row.cells[cellIndex]);
31768    -1         }
   -1 33306     var nested_interactive_matches_default = nestedInteractiveMatches;
   -1 33307     function linkInTextBlockMatches(node) {
   -1 33308       var text = sanitize_default(node.innerText);
   -1 33309       var role = node.getAttribute('role');
   -1 33310       if (role && role !== 'link') {
   -1 33311         return false;
31769 33312       }
31770    -1       var ids = cells.filter(function(cell) {
31771    -1         return cell.getAttribute('id');
31772    -1       }).map(function(cell) {
31773    -1         return cell.getAttribute('id');
31774    -1       });
31775    -1       cells.forEach(function(cell) {
31776    -1         var isSelf = false;
31777    -1         var notOfTable = false;
31778    -1         if (!cell.hasAttribute('headers') || !_isVisibleToScreenReaders(cell)) {
31779    -1           return;
31780    -1         }
31781    -1         var headersAttr = cell.getAttribute('headers').trim();
31782    -1         if (!headersAttr) {
31783    -1           return reviewCells.push(cell);
31784    -1         }
31785    -1         var headers = token_list_default(headersAttr);
31786    -1         if (headers.length !== 0) {
31787    -1           if (cell.getAttribute('id')) {
31788    -1             isSelf = headers.indexOf(cell.getAttribute('id').trim()) !== -1;
31789    -1           }
31790    -1           notOfTable = headers.some(function(header) {
31791    -1             return !ids.includes(header);
31792    -1           });
31793    -1           if (isSelf || notOfTable) {
31794    -1             badCells.push(cell);
31795    -1           }
31796    -1         }
31797    -1       });
31798    -1       if (badCells.length > 0) {
31799    -1         this.relatedNodes(badCells);
   -1 33313       if (!text) {
31800 33314         return false;
31801 33315       }
31802    -1       if (reviewCells.length) {
31803    -1         this.relatedNodes(reviewCells);
31804    -1         return void 0;
   -1 33316       if (!_isVisibleOnScreen(node)) {
   -1 33317         return false;
31805 33318       }
31806    -1       return true;
   -1 33319       return is_in_text_block_default(node);
31807 33320     }
31808    -1     function thHasDataCellsEvaluate(node) {
31809    -1       var cells = get_all_cells_default(node);
31810    -1       var checkResult = this;
31811    -1       var reffedHeaders = [];
31812    -1       cells.forEach(function(cell) {
31813    -1         var headers2 = cell.getAttribute('headers');
31814    -1         if (headers2) {
31815    -1           reffedHeaders = reffedHeaders.concat(headers2.split(/\s+/));
31816    -1         }
31817    -1         var ariaLabel = cell.getAttribute('aria-labelledby');
31818    -1         if (ariaLabel) {
31819    -1           reffedHeaders = reffedHeaders.concat(ariaLabel.split(/\s+/));
31820    -1         }
31821    -1       });
31822    -1       var headers = cells.filter(function(cell) {
31823    -1         if (sanitize_default(cell.textContent) === '') {
31824    -1           return false;
31825    -1         }
31826    -1         return cell.nodeName.toUpperCase() === 'TH' || [ 'rowheader', 'columnheader' ].indexOf(cell.getAttribute('role')) !== -1;
31827    -1       });
31828    -1       var tableGrid = to_grid_default(node);
31829    -1       var out = true;
31830    -1       headers.forEach(function(header) {
31831    -1         if (header.getAttribute('id') && reffedHeaders.includes(header.getAttribute('id'))) {
31832    -1           return;
31833    -1         }
31834    -1         var pos = get_cell_position_default(header, tableGrid);
31835    -1         var hasCell = false;
31836    -1         if (is_column_header_default(header)) {
31837    -1           hasCell = traverse_default('down', pos, tableGrid).find(function(cell) {
31838    -1             return !is_column_header_default(cell) && get_headers_default(cell, tableGrid).includes(header);
31839    -1           });
31840    -1         }
31841    -1         if (!hasCell && is_row_header_default(header)) {
31842    -1           hasCell = traverse_default('right', pos, tableGrid).find(function(cell) {
31843    -1             return !is_row_header_default(cell) && get_headers_default(cell, tableGrid).includes(header);
31844    -1           });
31845    -1         }
31846    -1         if (!hasCell) {
31847    -1           checkResult.relatedNodes(header);
31848    -1         }
31849    -1         out = out && hasCell;
31850    -1       });
31851    -1       return out ? true : void 0;
   -1 33321     var link_in_text_block_matches_default = linkInTextBlockMatches;
   -1 33322     function dataTableMatches(node) {
   -1 33323       return !is_data_table_default(node) && !_isFocusable(node);
31852 33324     }
31853    -1     var th_has_data_cells_evaluate_default = thHasDataCellsEvaluate;
31854    -1     function hiddenContentEvaluate(node, options, virtualNode) {
31855    -1       var allowlist = [ 'SCRIPT', 'HEAD', 'TITLE', 'NOSCRIPT', 'STYLE', 'TEMPLATE' ];
31856    -1       if (!allowlist.includes(node.nodeName.toUpperCase()) && has_content_virtual_default(virtualNode)) {
31857    -1         var styles = window.getComputedStyle(node);
31858    -1         if (styles.getPropertyValue('display') === 'none') {
31859    -1           return void 0;
31860    -1         } else if (styles.getPropertyValue('visibility') === 'hidden') {
31861    -1           var parent = get_composed_parent_default(node);
31862    -1           var parentStyle = parent && window.getComputedStyle(parent);
31863    -1           if (!parentStyle || parentStyle.getPropertyValue('visibility') !== 'hidden') {
31864    -1             return void 0;
31865    -1           }
31866    -1         }
31867    -1       }
31868    -1       return true;
   -1 33325     var layout_table_matches_default = dataTableMatches;
   -1 33326     var excludedParentsForHeaderFooterLandmarks = [ 'article', 'aside', 'main', 'nav', 'section' ].join(',');
   -1 33327     function landmarkUniqueMatches(node, virtualNode) {
   -1 33328       return isLandmarkVirtual(virtualNode) && _isVisibleToScreenReaders(virtualNode);
31869 33329     }
31870    -1     var hidden_content_evaluate_default = hiddenContentEvaluate;
31871    -1     function ariaAllowedAttrMatches(node, virtualNode) {
31872    -1       var aria = /^aria-/;
31873    -1       var attrs = virtualNode.attrNames;
31874    -1       if (attrs.length) {
31875    -1         for (var _i36 = 0, l = attrs.length; _i36 < l; _i36++) {
31876    -1           if (aria.test(attrs[_i36])) {
31877    -1             return true;
31878    -1           }
31879    -1         }
   -1 33330     function isLandmarkVirtual(vNode) {
   -1 33331       var landmarkRoles2 = get_aria_roles_by_type_default('landmark');
   -1 33332       var role = get_role_default(vNode);
   -1 33333       if (!role) {
   -1 33334         return false;
31880 33335       }
31881    -1       return false;
31882    -1     }
31883    -1     var aria_allowed_attr_matches_default = ariaAllowedAttrMatches;
31884    -1     function ariaAllowedRoleMatches(node, virtualNode) {
31885    -1       return get_explicit_role_default(virtualNode, {
31886    -1         dpub: true,
31887    -1         fallback: true
31888    -1       }) !== null;
31889    -1     }
31890    -1     var aria_allowed_role_matches_default = ariaAllowedRoleMatches;
31891    -1     function ariaHasAttrMatches(node, virtualNode) {
31892    -1       var aria = /^aria-/;
31893    -1       return virtualNode.attrNames.some(function(attr) {
31894    -1         return aria.test(attr);
31895    -1       });
31896    -1     }
31897    -1     var aria_has_attr_matches_default = ariaHasAttrMatches;
31898    -1     function shouldMatchElement(el) {
31899    -1       if (!el) {
31900    -1         return true;
   -1 33336       var nodeName2 = vNode.props.nodeName;
   -1 33337       if (nodeName2 === 'header' || nodeName2 === 'footer') {
   -1 33338         return isHeaderFooterLandmark(vNode);
31901 33339       }
31902    -1       if (el.getAttribute('aria-hidden') === 'true') {
31903    -1         return false;
   -1 33340       if (nodeName2 === 'section' || nodeName2 === 'form') {
   -1 33341         var accessibleText2 = _accessibleTextVirtual(vNode);
   -1 33342         return !!accessibleText2;
31904 33343       }
31905    -1       return shouldMatchElement(get_composed_parent_default(el));
   -1 33344       return landmarkRoles2.indexOf(role) >= 0 || role === 'region';
31906 33345     }
31907    -1     function ariaHiddenFocusMatches(node) {
31908    -1       return shouldMatchElement(get_composed_parent_default(node));
   -1 33346     function isHeaderFooterLandmark(headerFooterElement) {
   -1 33347       return !closest_default(headerFooterElement, excludedParentsForHeaderFooterLandmarks);
31909 33348     }
31910    -1     var aria_hidden_focus_matches_default = ariaHiddenFocusMatches;
31911    -1     function ariaRequiredChildrenMatches(node, virtualNode) {
31912    -1       var role = get_explicit_role_default(virtualNode, {
31913    -1         dpub: true
31914    -1       });
31915    -1       return !!required_owned_default(role);
   -1 33349     function landmarkHasBodyContextMatches(node, virtualNode) {
   -1 33350       var nativeScopeFilter = 'article, aside, main, nav, section';
   -1 33351       return node.hasAttribute('role') || !find_up_virtual_default(virtualNode, nativeScopeFilter);
31916 33352     }
31917    -1     var aria_required_children_matches_default = ariaRequiredChildrenMatches;
31918    -1     function ariaRequiredParentMatches(node, virtualNode) {
31919    -1       var role = get_explicit_role_default(virtualNode);
31920    -1       return !!required_context_default(role);
   -1 33353     var landmark_has_body_context_matches_default = landmarkHasBodyContextMatches;
   -1 33354     function labelMatches(node, virtualNode) {
   -1 33355       if (virtualNode.props.nodeName !== 'input' || virtualNode.hasAttr('type') === false) {
   -1 33356         return true;
   -1 33357       }
   -1 33358       var type2 = virtualNode.attr('type').toLowerCase();
   -1 33359       return [ 'hidden', 'image', 'button', 'submit', 'reset' ].includes(type2) === false;
31921 33360     }
31922    -1     var aria_required_parent_matches_default = ariaRequiredParentMatches;
31923    -1     function autocompleteMatches(node, virtualNode) {
31924    -1       var autocomplete2 = virtualNode.attr('autocomplete');
31925    -1       if (!autocomplete2 || sanitize_default(autocomplete2) === '') {
   -1 33361     var label_matches_default = labelMatches;
   -1 33362     function labelContentNameMismatchMatches(node, virtualNode) {
   -1 33363       var role = get_role_default(node);
   -1 33364       if (!role) {
31926 33365         return false;
31927 33366       }
31928    -1       var nodeName2 = virtualNode.props.nodeName;
31929    -1       if ([ 'textarea', 'input', 'select' ].includes(nodeName2) === false) {
   -1 33367       var widgetRoles = get_aria_roles_by_type_default('widget');
   -1 33368       var isWidgetType2 = widgetRoles.includes(role);
   -1 33369       if (!isWidgetType2) {
31930 33370         return false;
31931 33371       }
31932    -1       var excludedInputTypes = [ 'submit', 'reset', 'button', 'hidden' ];
31933    -1       if (nodeName2 === 'input' && excludedInputTypes.includes(virtualNode.props.type)) {
   -1 33372       var rolesWithNameFromContents = get_aria_roles_supporting_name_from_content_default();
   -1 33373       if (!rolesWithNameFromContents.includes(role)) {
31934 33374         return false;
31935 33375       }
31936    -1       var ariaDisabled = virtualNode.attr('aria-disabled') || 'false';
31937    -1       if (virtualNode.hasAttr('disabled') || ariaDisabled.toLowerCase() === 'true') {
   -1 33376       if (!sanitize_default(_arialabelText(virtualNode)) && !sanitize_default(arialabelledby_text_default(node))) {
31938 33377         return false;
31939 33378       }
31940    -1       var role = virtualNode.attr('role');
31941    -1       var tabIndex = virtualNode.attr('tabindex');
31942    -1       if (tabIndex === '-1' && role) {
31943    -1         var roleDef = standards_default.ariaRoles[role];
31944    -1         if (roleDef === void 0 || roleDef.type !== 'widget') {
31945    -1           return false;
31946    -1         }
31947    -1       }
31948    -1       if (tabIndex === '-1' && virtualNode.actualNode && !_isVisibleOnScreen(virtualNode) && !_isVisibleToScreenReaders(virtualNode)) {
   -1 33379       if (!sanitize_default(visible_virtual_default(virtualNode))) {
31949 33380         return false;
31950 33381       }
31951 33382       return true;
31952 33383     }
31953    -1     var autocomplete_matches_default = autocompleteMatches;
   -1 33384     var label_content_name_mismatch_matches_default = labelContentNameMismatchMatches;
   -1 33385     function isVisibleOnScreenMatches(node, virtualNode) {
   -1 33386       return _isVisibleOnScreen(virtualNode);
   -1 33387     }
   -1 33388     function hasVisibleTextMatches(node) {
   -1 33389       return _isVisibleOnScreen(node);
   -1 33390     }
31954 33391     function isInitiatorMatches(node, virtualNode, context) {
31955 33392       return context.initiator;
31956 33393     }
31957 33394     var is_initiator_matches_default = isInitiatorMatches;
31958    -1     function bypassMatches(node, virtualNode, context) {
31959    -1       if (is_initiator_matches_default(node, virtualNode, context)) {
31960    -1         return !!node.querySelector('a[href]');
   -1 33395     function insertedIntoFocusOrderMatches(node) {
   -1 33396       return inserted_into_focus_order_default(node);
   -1 33397     }
   -1 33398     var inserted_into_focus_order_matches_default = insertedIntoFocusOrderMatches;
   -1 33399     function identicalLinksSamePurposeMatches(node, virtualNode) {
   -1 33400       var hasAccName = !!_accessibleTextVirtual(virtualNode);
   -1 33401       if (!hasAccName) {
   -1 33402         return false;
   -1 33403       }
   -1 33404       var role = get_role_default(node);
   -1 33405       if (role && role !== 'link') {
   -1 33406         return false;
31961 33407       }
31962 33408       return true;
31963 33409     }
31964    -1     var bypass_matches_default = bypassMatches;
   -1 33410     var identical_links_same_purpose_matches_default = identicalLinksSamePurposeMatches;
   -1 33411     function htmlNamespaceMatches(node, virtualNode) {
   -1 33412       return !svg_namespace_matches_default(node, virtualNode);
   -1 33413     }
   -1 33414     var html_namespace_matches_default = htmlNamespaceMatches;
   -1 33415     function headingMatches(node, virtualNode) {
   -1 33416       return get_role_default(virtualNode) === 'heading';
   -1 33417     }
   -1 33418     function hasImplicitChromiumRoleMatches(node, virtualNode) {
   -1 33419       return implicit_role_default(virtualNode, {
   -1 33420         chromium: true
   -1 33421       }) !== null;
   -1 33422     }
   -1 33423     var has_implicit_chromium_role_matches_default = hasImplicitChromiumRoleMatches;
   -1 33424     function frameTitleHasTextMatches(node) {
   -1 33425       var title = node.getAttribute('title');
   -1 33426       return !!sanitize_default(title);
   -1 33427     }
   -1 33428     var frame_title_has_text_matches_default = frameTitleHasTextMatches;
   -1 33429     function frameFocusableContentMatches(node, virtualNode, context) {
   -1 33430       var _context$size, _context$size2;
   -1 33431       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;
   -1 33432     }
   -1 33433     var frame_focusable_content_matches_default = frameFocusableContentMatches;
   -1 33434     function duplicateIdMiscMatches(node) {
   -1 33435       var id = node.getAttribute('id').trim();
   -1 33436       var idSelector = '*[id="'.concat(escape_selector_default(id), '"]');
   -1 33437       var idMatchingElms = Array.from(get_root_node_default2(node).querySelectorAll(idSelector));
   -1 33438       return !is_accessible_ref_default(node) && idMatchingElms.every(function(elm) {
   -1 33439         return !_isFocusable(elm);
   -1 33440       });
   -1 33441     }
   -1 33442     var duplicate_id_misc_matches_default = duplicateIdMiscMatches;
   -1 33443     function duplicateIdAriaMatches(node) {
   -1 33444       return is_accessible_ref_default(node);
   -1 33445     }
   -1 33446     var duplicate_id_aria_matches_default = duplicateIdAriaMatches;
   -1 33447     function duplicateIdActiveMatches(node) {
   -1 33448       var id = node.getAttribute('id').trim();
   -1 33449       var idSelector = '*[id="'.concat(escape_selector_default(id), '"]');
   -1 33450       var idMatchingElms = Array.from(get_root_node_default2(node).querySelectorAll(idSelector));
   -1 33451       return !is_accessible_ref_default(node) && idMatchingElms.some(_isFocusable);
   -1 33452     }
   -1 33453     var duplicate_id_active_matches_default = duplicateIdActiveMatches;
   -1 33454     function dataTableMatches2(node) {
   -1 33455       return is_data_table_default(node);
   -1 33456     }
   -1 33457     var data_table_matches_default = dataTableMatches2;
   -1 33458     function dataTableLargeMatches(node) {
   -1 33459       if (is_data_table_default(node)) {
   -1 33460         var tableArray = to_grid_default(node);
   -1 33461         return tableArray.length >= 3 && tableArray[0].length >= 3 && tableArray[1].length >= 3 && tableArray[2].length >= 3;
   -1 33462       }
   -1 33463       return false;
   -1 33464     }
   -1 33465     var data_table_large_matches_default = dataTableLargeMatches;
31965 33466     function colorContrastMatches(node, virtualNode) {
31966 33467       var _virtualNode$props2 = virtualNode.props, nodeName2 = _virtualNode$props2.nodeName, inputType = _virtualNode$props2.type;
31967 33468       if (nodeName2 === 'option') {
@@ -32040,13 +33541,18 @@ module.exports = {
32040 33541           range2.selectNodeContents(child.actualNode);
32041 33542         }
32042 33543       }
32043    -1       var rects = range2.getClientRects();
32044    -1       for (var _index2 = 0; _index2 < rects.length; _index2++) {
32045    -1         if (visually_overlaps_default(rects[_index2], node)) {
32046    -1           return true;
   -1 33544       var rects = Array.from(range2.getClientRects());
   -1 33545       var clippingAncestors = get_overflow_hidden_ancestors_default(virtualNode);
   -1 33546       return rects.some(function(rect) {
   -1 33547         var overlaps = visually_overlaps_default(rect, node);
   -1 33548         if (!clippingAncestors.length) {
   -1 33549           return overlaps;
32047 33550         }
32048    -1       }
32049    -1       return false;
   -1 33551         var withinOverflow = clippingAncestors.some(function(overflowNode) {
   -1 33552           return _rectsOverlap(rect, overflowNode.boundingClientRect);
   -1 33553         });
   -1 33554         return overlaps && withinOverflow;
   -1 33555       });
32050 33556     }
32051 33557     var color_contrast_matches_default = colorContrastMatches;
32052 33558     var removeUnicodeOptions = {
@@ -32063,337 +33569,96 @@ module.exports = {
32063 33569         return vChild.props.nodeName === '#text' && !_isIconLigature(vChild);
32064 33570       });
32065 33571     }
32066    -1     function dataTableLargeMatches(node) {
32067    -1       if (is_data_table_default(node)) {
32068    -1         var tableArray = to_grid_default(node);
32069    -1         return tableArray.length >= 3 && tableArray[0].length >= 3 && tableArray[1].length >= 3 && tableArray[2].length >= 3;
32070    -1       }
32071    -1       return false;
32072    -1     }
32073    -1     var data_table_large_matches_default = dataTableLargeMatches;
32074    -1     function dataTableMatches(node) {
32075    -1       return is_data_table_default(node);
32076    -1     }
32077    -1     var data_table_matches_default = dataTableMatches;
32078    -1     function duplicateIdActiveMatches(node) {
32079    -1       var id = node.getAttribute('id').trim();
32080    -1       var idSelector = '*[id="'.concat(escape_selector_default(id), '"]');
32081    -1       var idMatchingElms = Array.from(get_root_node_default2(node).querySelectorAll(idSelector));
32082    -1       return !is_accessible_ref_default(node) && idMatchingElms.some(_isFocusable);
32083    -1     }
32084    -1     var duplicate_id_active_matches_default = duplicateIdActiveMatches;
32085    -1     function duplicateIdAriaMatches(node) {
32086    -1       return is_accessible_ref_default(node);
32087    -1     }
32088    -1     var duplicate_id_aria_matches_default = duplicateIdAriaMatches;
32089    -1     function duplicateIdMiscMatches(node) {
32090    -1       var id = node.getAttribute('id').trim();
32091    -1       var idSelector = '*[id="'.concat(escape_selector_default(id), '"]');
32092    -1       var idMatchingElms = Array.from(get_root_node_default2(node).querySelectorAll(idSelector));
32093    -1       return !is_accessible_ref_default(node) && idMatchingElms.every(function(elm) {
32094    -1         return !_isFocusable(elm);
32095    -1       });
32096    -1     }
32097    -1     var duplicate_id_misc_matches_default = duplicateIdMiscMatches;
32098    -1     function frameFocusableContentMatches(node, virtualNode, context) {
32099    -1       var _context$size, _context$size2;
32100    -1       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;
32101    -1     }
32102    -1     var frame_focusable_content_matches_default = frameFocusableContentMatches;
32103    -1     function frameTitleHasTextMatches(node) {
32104    -1       var title = node.getAttribute('title');
32105    -1       return !!sanitize_default(title);
32106    -1     }
32107    -1     var frame_title_has_text_matches_default = frameTitleHasTextMatches;
32108    -1     function hasImplicitChromiumRoleMatches(node, virtualNode) {
32109    -1       return implicit_role_default(virtualNode, {
32110    -1         chromium: true
32111    -1       }) !== null;
32112    -1     }
32113    -1     var has_implicit_chromium_role_matches_default = hasImplicitChromiumRoleMatches;
32114    -1     function headingMatches(node, virtualNode) {
32115    -1       return get_role_default(virtualNode) === 'heading';
32116    -1     }
32117    -1     function svgNamespaceMatches(node, virtualNode) {
32118    -1       try {
32119    -1         var nodeName2 = virtualNode.props.nodeName;
32120    -1         if (nodeName2 === 'svg') {
32121    -1           return true;
32122    -1         }
32123    -1         return !!closest_default(virtualNode, 'svg');
32124    -1       } catch (e) {
32125    -1         return false;
32126    -1       }
32127    -1     }
32128    -1     var svg_namespace_matches_default = svgNamespaceMatches;
32129    -1     function htmlNamespaceMatches(node, virtualNode) {
32130    -1       return !svg_namespace_matches_default(node, virtualNode);
32131    -1     }
32132    -1     var html_namespace_matches_default = htmlNamespaceMatches;
32133    -1     function identicalLinksSamePurposeMatches(node, virtualNode) {
32134    -1       var hasAccName = !!_accessibleTextVirtual(virtualNode);
32135    -1       if (!hasAccName) {
32136    -1         return false;
32137    -1       }
32138    -1       var role = get_role_default(node);
32139    -1       if (role && role !== 'link') {
32140    -1         return false;
32141    -1       }
32142    -1       return true;
32143    -1     }
32144    -1     var identical_links_same_purpose_matches_default = identicalLinksSamePurposeMatches;
32145    -1     function insertedIntoFocusOrderMatches(node) {
32146    -1       return inserted_into_focus_order_default(node);
32147    -1     }
32148    -1     var inserted_into_focus_order_matches_default = insertedIntoFocusOrderMatches;
32149    -1     function hasVisibleTextMatches(node) {
32150    -1       return _isVisibleOnScreen(node);
32151    -1     }
32152    -1     function isVisibleOnScreenMatches(node, virtualNode) {
32153    -1       return _isVisibleOnScreen(virtualNode);
32154    -1     }
32155    -1     function labelContentNameMismatchMatches(node, virtualNode) {
32156    -1       var role = get_role_default(node);
32157    -1       if (!role) {
32158    -1         return false;
32159    -1       }
32160    -1       var widgetRoles = get_aria_roles_by_type_default('widget');
32161    -1       var isWidgetType2 = widgetRoles.includes(role);
32162    -1       if (!isWidgetType2) {
32163    -1         return false;
32164    -1       }
32165    -1       var rolesWithNameFromContents = get_aria_roles_supporting_name_from_content_default();
32166    -1       if (!rolesWithNameFromContents.includes(role)) {
32167    -1         return false;
32168    -1       }
32169    -1       if (!sanitize_default(_arialabelText(virtualNode)) && !sanitize_default(arialabelledby_text_default(node))) {
32170    -1         return false;
32171    -1       }
32172    -1       if (!sanitize_default(visible_virtual_default(virtualNode))) {
32173    -1         return false;
   -1 33572     function bypassMatches(node, virtualNode, context) {
   -1 33573       if (is_initiator_matches_default(node, virtualNode, context)) {
   -1 33574         return !!node.querySelector('a[href]');
32174 33575       }
32175 33576       return true;
32176 33577     }
32177    -1     var label_content_name_mismatch_matches_default = labelContentNameMismatchMatches;
32178    -1     function labelMatches(node, virtualNode) {
32179    -1       if (virtualNode.props.nodeName !== 'input' || virtualNode.hasAttr('type') === false) {
32180    -1         return true;
32181    -1       }
32182    -1       var type2 = virtualNode.attr('type').toLowerCase();
32183    -1       return [ 'hidden', 'image', 'button', 'submit', 'reset' ].includes(type2) === false;
32184    -1     }
32185    -1     var label_matches_default = labelMatches;
32186    -1     function landmarkHasBodyContextMatches(node, virtualNode) {
32187    -1       var nativeScopeFilter = 'article, aside, main, nav, section';
32188    -1       return node.hasAttribute('role') || !find_up_virtual_default(virtualNode, nativeScopeFilter);
32189    -1     }
32190    -1     var landmark_has_body_context_matches_default = landmarkHasBodyContextMatches;
32191    -1     var excludedParentsForHeaderFooterLandmarks = [ 'article', 'aside', 'main', 'nav', 'section' ].join(',');
32192    -1     function landmarkUniqueMatches(node, virtualNode) {
32193    -1       return isLandmarkVirtual(virtualNode) && _isVisibleToScreenReaders(virtualNode);
32194    -1     }
32195    -1     function isLandmarkVirtual(vNode) {
32196    -1       var landmarkRoles2 = get_aria_roles_by_type_default('landmark');
32197    -1       var role = get_role_default(vNode);
32198    -1       if (!role) {
32199    -1         return false;
32200    -1       }
32201    -1       var nodeName2 = vNode.props.nodeName;
32202    -1       if (nodeName2 === 'header' || nodeName2 === 'footer') {
32203    -1         return isHeaderFooterLandmark(vNode);
32204    -1       }
32205    -1       if (nodeName2 === 'section' || nodeName2 === 'form') {
32206    -1         var accessibleText2 = _accessibleTextVirtual(vNode);
32207    -1         return !!accessibleText2;
32208    -1       }
32209    -1       return landmarkRoles2.indexOf(role) >= 0 || role === 'region';
32210    -1     }
32211    -1     function isHeaderFooterLandmark(headerFooterElement) {
32212    -1       return !closest_default(headerFooterElement, excludedParentsForHeaderFooterLandmarks);
32213    -1     }
32214    -1     function dataTableMatches2(node) {
32215    -1       return !is_data_table_default(node) && !_isFocusable(node);
32216    -1     }
32217    -1     var layout_table_matches_default = dataTableMatches2;
32218    -1     function linkInTextBlockMatches(node) {
32219    -1       var text = sanitize_default(node.innerText);
32220    -1       var role = node.getAttribute('role');
32221    -1       if (role && role !== 'link') {
32222    -1         return false;
32223    -1       }
32224    -1       if (!text) {
32225    -1         return false;
32226    -1       }
32227    -1       if (!_isVisibleOnScreen(node)) {
   -1 33578     var bypass_matches_default = bypassMatches;
   -1 33579     function autocompleteMatches(node, virtualNode) {
   -1 33580       var autocomplete2 = virtualNode.attr('autocomplete');
   -1 33581       if (!autocomplete2 || sanitize_default(autocomplete2) === '') {
32228 33582         return false;
32229 33583       }
32230    -1       return is_in_text_block_default(node);
32231    -1     }
32232    -1     var link_in_text_block_matches_default = linkInTextBlockMatches;
32233    -1     function nestedInteractiveMatches(node, virtualNode) {
32234    -1       var role = get_role_default(virtualNode);
32235    -1       if (!role) {
   -1 33584       var nodeName2 = virtualNode.props.nodeName;
   -1 33585       if ([ 'textarea', 'input', 'select' ].includes(nodeName2) === false) {
32236 33586         return false;
32237 33587       }
32238    -1       return !!standards_default.ariaRoles[role].childrenPresentational;
32239    -1     }
32240    -1     var nested_interactive_matches_default = nestedInteractiveMatches;
32241    -1     function noAutoplayAudioMatches(node) {
32242    -1       if (!node.currentSrc) {
   -1 33588       var excludedInputTypes = [ 'submit', 'reset', 'button', 'hidden' ];
   -1 33589       if (nodeName2 === 'input' && excludedInputTypes.includes(virtualNode.props.type)) {
32243 33590         return false;
32244 33591       }
32245    -1       if (node.hasAttribute('paused') || node.hasAttribute('muted')) {
   -1 33592       var ariaDisabled = virtualNode.attr('aria-disabled') || 'false';
   -1 33593       if (virtualNode.hasAttr('disabled') || ariaDisabled.toLowerCase() === 'true') {
32246 33594         return false;
32247 33595       }
32248    -1       return true;
32249    -1     }
32250    -1     var no_autoplay_audio_matches_default = noAutoplayAudioMatches;
32251    -1     function noEmptyRoleMatches(node, virtualNode) {
32252    -1       if (!virtualNode.hasAttr('role')) {
32253    -1         return false;
   -1 33596       var role = virtualNode.attr('role');
   -1 33597       var tabIndex = virtualNode.attr('tabindex');
   -1 33598       if (tabIndex === '-1' && role) {
   -1 33599         var roleDef = standards_default.ariaRoles[role];
   -1 33600         if (roleDef === void 0 || roleDef.type !== 'widget') {
   -1 33601           return false;
   -1 33602         }
32254 33603       }
32255    -1       if (!virtualNode.attr('role').trim()) {
   -1 33604       if (tabIndex === '-1' && virtualNode.actualNode && !_isVisibleOnScreen(virtualNode) && !_isVisibleToScreenReaders(virtualNode)) {
32256 33605         return false;
32257 33606       }
32258 33607       return true;
32259 33608     }
32260    -1     var no_empty_role_matches_default = noEmptyRoleMatches;
32261    -1     function noExplicitNameRequired(node, virtualNode) {
   -1 33609     var autocomplete_matches_default = autocompleteMatches;
   -1 33610     function ariaRequiredParentMatches(node, virtualNode) {
32262 33611       var role = get_explicit_role_default(virtualNode);
32263    -1       if (!role || [ 'none', 'presentation' ].includes(role)) {
32264    -1         return true;
32265    -1       }
32266    -1       var _ref142 = aria_roles_default[role] || {}, accessibleNameRequired = _ref142.accessibleNameRequired;
32267    -1       if (accessibleNameRequired || _isFocusable(virtualNode)) {
32268    -1         return true;
32269    -1       }
32270    -1       return false;
32271    -1     }
32272    -1     var no_explicit_name_required_matches_default = noExplicitNameRequired;
32273    -1     function noNamingMethodMatches(node, virtualNode) {
32274    -1       var _get_element_spec_def3 = get_element_spec_default(virtualNode), namingMethods = _get_element_spec_def3.namingMethods;
32275    -1       if (namingMethods && namingMethods.length !== 0) {
32276    -1         return false;
32277    -1       }
32278    -1       if (get_explicit_role_default(virtualNode) === 'combobox' && query_selector_all_default(virtualNode, 'input:not([type="hidden"])').length) {
32279    -1         return false;
32280    -1       }
32281    -1       if (_isComboboxPopup(virtualNode, {
32282    -1         popupRoles: [ 'listbox' ]
32283    -1       })) {
32284    -1         return false;
32285    -1       }
32286    -1       return true;
32287    -1     }
32288    -1     var no_naming_method_matches_default = noNamingMethodMatches;
32289    -1     function noNegativeTabindexMatches(node, virtualNode) {
32290    -1       var tabindex = parseInt(virtualNode.attr('tabindex'), 10);
32291    -1       return isNaN(tabindex) || tabindex >= 0;
32292    -1     }
32293    -1     var no_negative_tabindex_matches_default = noNegativeTabindexMatches;
32294    -1     function noRoleMatches(node, vNode) {
32295    -1       return !vNode.attr('role');
32296    -1     }
32297    -1     var no_role_matches_default = noRoleMatches;
32298    -1     function notHtmlMatches(node, virtualNode) {
32299    -1       return virtualNode.props.nodeName !== 'html';
   -1 33612       return !!required_context_default(role);
32300 33613     }
32301    -1     var not_html_matches_default = notHtmlMatches;
32302    -1     var object_is_loaded_matches_default = function object_is_loaded_matches_default(node, vNode) {
32303    -1       return [ no_explicit_name_required_matches_default, objectHasLoaded ].every(function(fn) {
32304    -1         return fn(node, vNode);
   -1 33614     var aria_required_parent_matches_default = ariaRequiredParentMatches;
   -1 33615     function ariaRequiredChildrenMatches(node, virtualNode) {
   -1 33616       var role = get_explicit_role_default(virtualNode, {
   -1 33617         dpub: true
32305 33618       });
32306    -1     };
32307    -1     function objectHasLoaded(node) {
32308    -1       var _node$ownerDocument;
32309    -1       if (!(node !== null && node !== void 0 && (_node$ownerDocument = node.ownerDocument) !== null && _node$ownerDocument !== void 0 && _node$ownerDocument.createRange)) {
   -1 33619       return !!required_owned_default(role);
   -1 33620     }
   -1 33621     var aria_required_children_matches_default = ariaRequiredChildrenMatches;
   -1 33622     function shouldMatchElement(el) {
   -1 33623       if (!el) {
32310 33624         return true;
32311 33625       }
32312    -1       var range2 = node.ownerDocument.createRange();
32313    -1       range2.setStart(node, 0);
32314    -1       range2.setEnd(node, node.childNodes.length);
32315    -1       return range2.getClientRects().length === 0;
32316    -1     }
32317    -1     function pAsHeadingMatches(node) {
32318    -1       var children = Array.from(node.parentNode.childNodes);
32319    -1       var nodeText = node.textContent.trim();
32320    -1       var isSentence = /[.!?:;](?![.!?:;])/g;
32321    -1       if (nodeText.length === 0 || (nodeText.match(isSentence) || []).length >= 2) {
   -1 33626       if (el.getAttribute('aria-hidden') === 'true') {
32322 33627         return false;
32323 33628       }
32324    -1       var siblingsAfter = children.slice(children.indexOf(node) + 1).filter(function(elm) {
32325    -1         return elm.nodeName.toUpperCase() === 'P' && elm.textContent.trim() !== '';
32326    -1       });
32327    -1       return siblingsAfter.length !== 0;
32328    -1     }
32329    -1     var p_as_heading_matches_default = pAsHeadingMatches;
32330    -1     function presentationRoleConflictMatches(node, virtualNode) {
32331    -1       return implicit_role_default(virtualNode, {
32332    -1         chromiumRoles: true
32333    -1       }) !== null;
32334    -1     }
32335    -1     var presentation_role_conflict_matches_default = presentationRoleConflictMatches;
32336    -1     function scrollableRegionFocusableMatches(node, virtualNode) {
32337    -1       return get_scroll_default(node, 13) !== void 0 && _isComboboxPopup(virtualNode) === false && isNoneEmptyElement(virtualNode);
32338    -1     }
32339    -1     function isNoneEmptyElement(vNode) {
32340    -1       return query_selector_all_default(vNode, '*').some(function(elm) {
32341    -1         return has_content_virtual_default(elm, true, true);
32342    -1       });
32343    -1     }
32344    -1     function skipLinkMatches(node) {
32345    -1       return _isSkipLink(node) && is_offscreen_default(node);
32346    -1     }
32347    -1     var skip_link_matches_default = skipLinkMatches;
32348    -1     function tableOrGridRoleMatches(_, vNode) {
32349    -1       var role = get_role_default(vNode);
32350    -1       return [ 'treegrid', 'grid', 'table' ].includes(role);
   -1 33629       return shouldMatchElement(get_composed_parent_default(el));
32351 33630     }
32352    -1     function widgetNotInline(node, vNode) {
32353    -1       return matchesFns.every(function(fn) {
32354    -1         return fn(node, vNode);
32355    -1       });
   -1 33631     function ariaHiddenFocusMatches(node) {
   -1 33632       return shouldMatchElement(get_composed_parent_default(node));
32356 33633     }
32357    -1     var matchesFns = [ function(node, vNode) {
32358    -1       return isWidgetType(vNode);
32359    -1     }, function(node, vNode) {
32360    -1       return isNotAreaElement(vNode);
32361    -1     }, function(node, vNode) {
32362    -1       return !svg_namespace_matches_default(node, vNode);
32363    -1     }, function(node, vNode) {
32364    -1       return _isFocusable(vNode);
32365    -1     }, function(node, vNode) {
32366    -1       return _isInTabOrder(vNode) || !hasWidgetAncestorInTabOrder(vNode);
32367    -1     }, function(node) {
32368    -1       return !is_in_text_block_default(node, {
32369    -1         noLengthCompare: true
   -1 33634     var aria_hidden_focus_matches_default = ariaHiddenFocusMatches;
   -1 33635     function ariaHasAttrMatches(node, virtualNode) {
   -1 33636       var aria = /^aria-/;
   -1 33637       return virtualNode.attrNames.some(function(attr) {
   -1 33638         return aria.test(attr);
32370 33639       });
32371    -1     } ];
32372    -1     function isWidgetType(vNode) {
32373    -1       return get_role_type_default(vNode) === 'widget';
32374 33640     }
32375    -1     function isNotAreaElement(vNode) {
32376    -1       return vNode.props.nodeName !== 'area';
   -1 33641     var aria_has_attr_matches_default = ariaHasAttrMatches;
   -1 33642     function ariaAllowedRoleMatches(node, virtualNode) {
   -1 33643       return get_explicit_role_default(virtualNode, {
   -1 33644         dpub: true,
   -1 33645         fallback: true
   -1 33646       }) !== null;
32377 33647     }
32378    -1     var hasWidgetAncestorInTabOrder = memoize_default(function hasWidgetAncestorInTabOrderMemoized(vNode) {
32379    -1       if (!(vNode !== null && vNode !== void 0 && vNode.parent)) {
32380    -1         return false;
32381    -1       }
32382    -1       if (isWidgetType(vNode.parent) && _isInTabOrder(vNode.parent)) {
32383    -1         return true;
   -1 33648     var aria_allowed_role_matches_default = ariaAllowedRoleMatches;
   -1 33649     function ariaAllowedAttrMatches(node, virtualNode) {
   -1 33650       var aria = /^aria-/;
   -1 33651       var attrs = virtualNode.attrNames;
   -1 33652       if (attrs.length) {
   -1 33653         for (var _i36 = 0, l = attrs.length; _i36 < l; _i36++) {
   -1 33654           if (aria.test(attrs[_i36])) {
   -1 33655             return true;
   -1 33656           }
   -1 33657         }
32384 33658       }
32385    -1       return hasWidgetAncestorInTabOrderMemoized(vNode.parent);
32386    -1     });
32387    -1     function windowIsTopMatches(node) {
32388    -1       return node.ownerDocument.defaultView.self === node.ownerDocument.defaultView.top;
32389    -1     }
32390    -1     var window_is_top_matches_default = windowIsTopMatches;
32391    -1     function xmlLangMismatchMatches(node) {
32392    -1       var primaryLangValue = get_base_lang_default(node.getAttribute('lang'));
32393    -1       var primaryXmlLangValue = get_base_lang_default(node.getAttribute('xml:lang'));
32394    -1       return valid_langs_default(primaryLangValue) && valid_langs_default(primaryXmlLangValue);
   -1 33659       return false;
32395 33660     }
32396    -1     var xml_lang_mismatch_matches_default = xmlLangMismatchMatches;
   -1 33661     var aria_allowed_attr_matches_default = ariaAllowedAttrMatches;
32397 33662     var metadataFunctionMap = {
32398 33663       'abstractrole-evaluate': abstractrole_evaluate_default,
32399 33664       'accesskeys-after': accesskeys_after_default,
@@ -32543,7 +33808,7 @@ module.exports = {
32543 33808       'tabindex-evaluate': tabindex_evaluate_default,
32544 33809       'table-or-grid-role-matches': tableOrGridRoleMatches,
32545 33810       'target-offset-evaluate': targetOffsetEvaluate,
32546    -1       'target-size-evaluate': targetSize,
   -1 33811       'target-size-evaluate': targetSizeEvaluate,
32547 33812       'td-has-header-evaluate': td_has_header_evaluate_default,
32548 33813       'td-headers-attr-evaluate': tdHeadersAttrEvaluate,
32549 33814       'th-has-data-cells-evaluate': th_has_data_cells_evaluate_default,
@@ -33062,7 +34327,7 @@ module.exports = {
33062 34327         this._init();
33063 34328         this._defaultLocale = null;
33064 34329       }
33065    -1       _createClass(Audit, [ {
   -1 34330       return _createClass(Audit, [ {
33066 34331         key: '_setDefaultLocale',
33067 34332         value: function _setDefaultLocale() {
33068 34333           if (this._defaultLocale) {
@@ -33452,7 +34717,6 @@ module.exports = {
33452 34717           this._resetLocale();
33453 34718         }
33454 34719       } ]);
33455    -1       return Audit;
33456 34720     }();
33457 34721     var audit_default = Audit;
33458 34722     function getDefaultOrigin() {
@@ -34718,7 +35982,10 @@ module.exports = {
34718 35982         'aria-required-children': {
34719 35983           impact: 'critical',
34720 35984           messages: {
34721    -1             pass: 'Required ARIA children are present',
   -1 35985             pass: {
   -1 35986               default: 'Required ARIA children are present',
   -1 35987               'aria-busy': 'Element has an aria-busy attribute, so it is allowed to omit required children'
   -1 35988             },
34722 35989             fail: {
34723 35990               singular: 'Required ARIA child role not present: ${data.values}',
34724 35991               plural: 'Required ARIA children role not present: ${data.values}',
@@ -34768,7 +36035,8 @@ module.exports = {
34768 36035               noIdShadow: 'ARIA attribute element ID does not exist on the page or is a descendant of a different shadow DOM tree: ${data.needsReview}',
34769 36036               ariaCurrent: 'ARIA attribute value is invalid and will be treated as "aria-current=true": ${data.needsReview}',
34770 36037               idrefs: 'Unable to determine if ARIA attribute element ID exists on the page: ${data.needsReview}',
34771    -1               empty: 'ARIA attribute value is ignored while empty: ${data.needsReview}'
   -1 36038               empty: 'ARIA attribute value is ignored while empty: ${data.needsReview}',
   -1 36039               controlsWithinPopup: 'Unable to determine if aria-controls referenced ID exists on the page while using aria-haspopup: ${data.needsReview}'
34772 36040             }
34773 36041           }
34774 36042         },
@@ -35199,7 +36467,7 @@ module.exports = {
35199 36467             pass: 'List item has a <ul>, <ol> or role="list" parent element',
35200 36468             fail: {
35201 36469               default: 'List item does not have a <ul>, <ol> parent element',
35202    -1               roleNotValid: 'List item does not have a <ul>, <ol> parent element without a role, or a role="list"'
   -1 36470               roleNotValid: 'List item parent element has a role that is not role="list"'
35203 36471             }
35204 36472           }
35205 36473         },
@@ -35272,11 +36540,15 @@ module.exports = {
35272 36540         'target-offset': {
35273 36541           impact: 'serious',
35274 36542           messages: {
35275    -1             pass: '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.',
   -1 36543             pass: {
   -1 36544               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.',
   -1 36545               large: 'Target far exceeds the minimum size of ${data.minOffset}px.'
   -1 36546             },
35276 36547             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.',
35277 36548             incomplete: {
35278 36549               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?',
35279    -1               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?'
   -1 36550               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?',
   -1 36551               tooManyRects: 'Could not get the target size because there are too many overlapping elements'
35280 36552             }
35281 36553           }
35282 36554         },
@@ -35285,7 +36557,8 @@ module.exports = {
35285 36557           messages: {
35286 36558             pass: {
35287 36559               default: 'Control has sufficient size (${data.width}px by ${data.height}px, should be at least ${data.minSize}px by ${data.minSize}px)',
35288    -1               obscured: 'Control is ignored because it is fully obscured and thus not clickable'
   -1 36560               obscured: 'Control is ignored because it is fully obscured and thus not clickable',
   -1 36561               large: 'Target far exceeds the minimum size of ${data.minSize}px.'
35289 36562             },
35290 36563             fail: {
35291 36564               default: 'Target has insufficient size (${data.width}px by ${data.height}px, should be at least ${data.minSize}px by ${data.minSize}px)',
@@ -35295,7 +36568,8 @@ module.exports = {
35295 36568               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?',
35296 36569               contentOverflow: 'Element size could not be accurately determined due to overflow content',
35297 36570               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?',
35298    -1               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?'
   -1 36571               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?',
   -1 36572               tooManyRects: 'Could not get the target size because there are too many overlapping elements'
35299 36573             }
35300 36574           }
35301 36575         },
@@ -35798,7 +37072,7 @@ module.exports = {
35798 37072       selector: 'body',
35799 37073       excludeHidden: false,
35800 37074       matches: 'is-initiator-matches',
35801    -1       tags: [ 'cat.aria', 'wcag2a', 'wcag412', 'EN-301-549', 'EN-9.4.1.2' ],
   -1 37075       tags: [ 'cat.aria', 'wcag2a', 'wcag131', 'wcag412', 'EN-301-549', 'EN-9.1.3.1', 'EN-9.4.1.2' ],
35802 37076       all: [],
35803 37077       any: [ 'aria-hidden-body' ],
35804 37078       none: []
@@ -35892,7 +37166,7 @@ module.exports = {
35892 37166           reviewEmpty: [ 'doc-bibliography', 'doc-endnotes', 'grid', 'list', 'listbox', 'menu', 'menubar', 'table', 'tablist', 'tree', 'treegrid', 'rowgroup' ]
35893 37167         },
35894 37168         id: 'aria-required-children'
35895    -1       }, 'aria-busy' ],
   -1 37169       } ],
35896 37170       none: []
35897 37171     }, {
35898 37172       id: 'aria-required-parent',
@@ -36904,7 +38178,7 @@ module.exports = {
36904 38178       impact: 'serious',
36905 38179       selector: '*:not(select,textarea)',
36906 38180       matches: 'scrollable-region-focusable-matches',
36907    -1       tags: [ 'cat.keyboard', 'wcag2a', 'wcag211', 'TTv5', 'TT4.a', 'EN-301-549', 'EN-9.2.1.1' ],
   -1 38181       tags: [ 'cat.keyboard', 'wcag2a', 'wcag211', 'wcag213', 'TTv5', 'TT4.a', 'EN-301-549', 'EN-9.2.1.1', 'EN-9.2.1.3' ],
36908 38182       actIds: [ '0ssw9k' ],
36909 38183       all: [],
36910 38184       any: [ 'focusable-content', 'focusable-element' ],
@@ -37071,7 +38345,8 @@ module.exports = {
37071 38345       }
37072 38346     }, {
37073 38347       id: 'aria-busy',
37074    -1       evaluate: 'aria-busy-evaluate'
   -1 38348       evaluate: 'aria-busy-evaluate',
   -1 38349       deprecated: true
37075 38350     }, {
37076 38351       id: 'aria-conditional-attr',
37077 38352       evaluate: 'aria-conditional-attr-evaluate',
@@ -38851,19 +40126,19 @@ https://github.com/whatsock/w3c-alternative-text-computation
38851 40126 Distributed under the terms of the Open Source Initiative OSI - MIT License
38852 40127 */
38853 40128 
38854    -1 (function() {
   -1 40129 (function () {
38855 40130   var nameSpace = window.AccNamePrototypeNameSpace || window;
38856 40131   if (nameSpace && typeof nameSpace === "string" && nameSpace.length) {
38857 40132     window[nameSpace] = {};
38858 40133     nameSpace = window[nameSpace];
38859 40134   }
38860    -1   nameSpace.getAccNameVersion = "2.61";
   -1 40135   nameSpace.getAccNameVersion = "2.62";
38861 40136   // AccName Computation Prototype
38862    -1   nameSpace.getAccName = nameSpace.calcNames = function(
   -1 40137   nameSpace.getAccName = nameSpace.calcNames = function (
38863 40138     node,
38864 40139     fnc,
38865 40140     preventVisualARIASelfCSSRef,
38866    -1     overrides
   -1 40141     overrides,
38867 40142   ) {
38868 40143     overrides = overrides || {};
38869 40144     var docO = overrides.document || document;
@@ -38880,20 +40155,20 @@ Distributed under the terms of the Open Source Initiative OSI - MIT License
38880 40155       // Separating Name and Description to prevent duplicate node references from suppressing one or the other from being fully computed.
38881 40156       var nodes = {
38882 40157         name: [],
38883    -1         desc: []
   -1 40158         desc: [],
38884 40159       };
38885 40160       // Track aria-owns references to prevent duplicate parsing.
38886 40161       var owns = [];
38887 40162 
38888 40163       // Recursively process a DOM node to compute an accessible name in accordance with the spec
38889    -1       var walk = function(
   -1 40164       var walk = function (
38890 40165         refNode,
38891 40166         stop,
38892 40167         skip,
38893 40168         nodesToIgnoreValues,
38894 40169         skipAbort,
38895 40170         ownedBy,
38896    -1         skipTo
   -1 40171         skipTo,
38897 40172       ) {
38898 40173         skipTo = skipTo || {};
38899 40174         skipTo.tag = skipTo.tag || false;
@@ -38901,7 +40176,7 @@ Distributed under the terms of the Open Source Initiative OSI - MIT License
38901 40176         skipTo.go = skipTo.go || false;
38902 40177         var fullResult = {
38903 40178           name: "",
38904    -1           title: ""
   -1 40179           title: "",
38905 40180         };
38906 40181         var hasLabel = false;
38907 40182 
@@ -38911,7 +40186,7 @@ Distributed under the terms of the Open Source Initiative OSI - MIT License
38911 40186   https://lists.w3.org/Archives/Public/public-aria/2017Jun/0057.html
38912 40187 Plus roles extended for the Role Parity project.
38913 40188   */
38914    -1         var isException = function(node, refNode) {
   -1 40189         var isException = function (node, refNode) {
38915 40190           if (
38916 40191             !refNode ||
38917 40192             !node ||
@@ -38924,7 +40199,7 @@ Plus roles extended for the Role Parity project.
38924 40199           var role = getRole(node);
38925 40200           var tag = node.nodeName.toLowerCase();
38926 40201 
38927    -1           var inList = function(node, list) {
   -1 40202           var inList = function (node, list) {
38928 40203             return (
38929 40204               (role && list.roles.indexOf(role) >= 0) ||
38930 40205               (!role && list.tags.indexOf(tag) >= 0)
@@ -38965,7 +40240,7 @@ Plus roles extended for the Role Parity project.
38965 40240           }
38966 40241         };
38967 40242 
38968    -1         var inParent = function(node, parent) {
   -1 40243         var inParent = function (node, parent) {
38969 40244           var trackNodes = [];
38970 40245           while (node) {
38971 40246             if (
@@ -38991,7 +40266,7 @@ Plus roles extended for the Role Parity project.
38991 40266         // Placeholder for storing CSS before and after pseudo element text values for the top level node
38992 40267         var cssOP = {
38993 40268           before: "",
38994    -1           after: ""
   -1 40269           after: "",
38995 40270         };
38996 40271 
38997 40272         if (
@@ -39022,10 +40297,10 @@ Plus roles extended for the Role Parity project.
39022 40297         }
39023 40298 
39024 40299         // Recursively apply the same naming computation to all nodes within the referenced structure
39025    -1         var walkDOM = function(node, fn, refNode) {
   -1 40300         var walkDOM = function (node, fn, refNode) {
39026 40301           var res = {
39027 40302             name: "",
39028    -1             title: ""
   -1 40303             title: "",
39029 40304           };
39030 40305           if (!node) {
39031 40306             return res;
@@ -39094,7 +40369,7 @@ Plus roles extended for the Role Parity project.
39094 40369 
39095 40370         fullResult = walkDOM(
39096 40371           refNode,
39097    -1           function(node) {
   -1 40372           function (node) {
39098 40373             var i = 0;
39099 40374             var element = null;
39100 40375             var ids = [];
@@ -39103,7 +40378,7 @@ Plus roles extended for the Role Parity project.
39103 40378               name: "",
39104 40379               title: "",
39105 40380               owns: "",
39106    -1               skip: false
   -1 40381               skip: false,
39107 40382             };
39108 40383             var isEmbeddedNode = !!(
39109 40384               node &&
@@ -39144,7 +40419,7 @@ Plus roles extended for the Role Parity project.
39144 40419             // Placeholder for storing CSS before and after pseudo element text values for the current node container element
39145 40420             var cssO = {
39146 40421               before: "",
39147    -1               after: ""
   -1 40422               after: "",
39148 40423             };
39149 40424 
39150 40425             var parent = refNode === node ? node : node.parentNode;
@@ -39152,7 +40427,7 @@ Plus roles extended for the Role Parity project.
39152 40427               !skipTo.tag &&
39153 40428               !skipTo.role &&
39154 40429               nodes[!ownedBy.computingDesc ? "name" : "desc"].indexOf(
39155    -1                 parent
   -1 40430                 parent,
39156 40431               ) === -1
39157 40432             ) {
39158 40433               nodes[!ownedBy.computingDesc ? "name" : "desc"].push(parent);
@@ -39266,8 +40541,8 @@ Plus roles extended for the Role Parity project.
39266 40541                   parts.push(
39267 40542                     walk(element, true, skip, [node], element === refNode, {
39268 40543                       ref: ownedBy,
39269    -1                       top: element
39270    -1                     }).name
   -1 40544                       top: element,
   -1 40545                     }).name,
39271 40546                   );
39272 40547                 }
39273 40548                 // Check for blank value, since whitespace chars alone are not valid as a name
@@ -39301,8 +40576,8 @@ Plus roles extended for the Role Parity project.
39301 40576                       walk(element, true, false, [node], false, {
39302 40577                         ref: ownedBy,
39303 40578                         top: element,
39304    -1                         computingDesc: true
39305    -1                       }).name
   -1 40579                         computingDesc: true,
   -1 40580                       }).name,
39306 40581                     );
39307 40582                   }
39308 40583                   // Check for blank value, since whitespace chars alone are not valid as a name
@@ -39375,8 +40650,8 @@ Plus roles extended for the Role Parity project.
39375 40650                       lblName += addSpacing(
39376 40651                         walk(labels[i], true, skip, [node], false, {
39377 40652                           ref: ownedBy,
39378    -1                           top: labels[i]
39379    -1                         }).name
   -1 40653                           top: labels[i],
   -1 40654                         }).name,
39380 40655                       );
39381 40656                     }
39382 40657                   }
@@ -39533,8 +40808,8 @@ Plus roles extended for the Role Parity project.
39533 40808                     name = trim(
39534 40809                       walk(fChild, stop, false, [], false, {
39535 40810                         ref: ownedBy,
39536    -1                         top: fChild
39537    -1                       }).name
   -1 40811                         top: fChild,
   -1 40812                       }).name,
39538 40813                     );
39539 40814                   }
39540 40815                   if (trim(name)) {
@@ -39558,8 +40833,8 @@ Plus roles extended for the Role Parity project.
39558 40833                     name = trim(
39559 40834                       walk(fChild, stop, false, [], false, {
39560 40835                         ref: ownedBy,
39561    -1                         top: fChild
39562    -1                       }).name
   -1 40836                         top: fChild,
   -1 40837                       }).name,
39563 40838                     );
39564 40839                   }
39565 40840                   if (trim(name)) {
@@ -39577,16 +40852,16 @@ Plus roles extended for the Role Parity project.
39577 40852                     name = trim(
39578 40853                       walk(svgT, true, false, [], false, {
39579 40854                         ref: ownedBy,
39580    -1                         top: svgT
39581    -1                       }).name
   -1 40855                         top: svgT,
   -1 40856                       }).name,
39582 40857                     );
39583 40858                   }
39584 40859                   if (!hasDesc && svgD) {
39585 40860                     var dE = trim(
39586 40861                       walk(svgD, true, false, [], false, {
39587 40862                         ref: ownedBy,
39588    -1                         top: svgD
39589    -1                       }).name
   -1 40863                         top: svgD,
   -1 40864                       }).name,
39590 40865                     );
39591 40866                     if (trim(dE)) {
39592 40867                       result.desc = dE;
@@ -39631,7 +40906,7 @@ Plus roles extended for the Role Parity project.
39631 40906                       false,
39632 40907                       false,
39633 40908                       false,
39634    -1                       true
   -1 40909                       true,
39635 40910                     );
39636 40911                   } else if (
39637 40912                     isNativeFormField &&
@@ -39646,7 +40921,7 @@ Plus roles extended for the Role Parity project.
39646 40921                       false,
39647 40922                       false,
39648 40923                       true,
39649    -1                       true
   -1 40924                       true,
39650 40925                     );
39651 40926                   }
39652 40927 
@@ -39687,11 +40962,11 @@ Plus roles extended for the Role Parity project.
39687 40962                           "tel",
39688 40963                           "text",
39689 40964                           "url",
39690    -1                           "email"
   -1 40965                           "email",
39691 40966                         ].indexOf(nType) !== -1)))) &&
39692 40967                 trim(
39693 40968                   node.getAttribute("placeholder") ||
39694    -1                     node.getAttribute("aria-placeholder")
   -1 40969                     node.getAttribute("aria-placeholder"),
39695 40970                 );
39696 40971 
39697 40972               if (placeholder) {
@@ -39707,8 +40982,8 @@ Plus roles extended for the Role Parity project.
39707 40982                 name = trim(
39708 40983                   walk(node, stop, false, [], false, {
39709 40984                     ref: ownedBy,
39710    -1                     top: node
39711    -1                   }).name
   -1 40985                     top: node,
   -1 40986                   }).name,
39712 40987                 );
39713 40988                 if (trim(name)) {
39714 40989                   skip = true;
@@ -39733,11 +41008,11 @@ Plus roles extended for the Role Parity project.
39733 41008                     oBy[ids[i]] = {
39734 41009                       refNode: refNode,
39735 41010                       node: node,
39736    -1                       target: element
   -1 41011                       target: element,
39737 41012                     };
39738 41013                     if (!isParentHidden(element, docO.body, true)) {
39739 41014                       parts.push(
39740    -1                         walk(element, true, skip, [], false, oBy).name
   -1 41015                         walk(element, true, skip, [], false, oBy).name,
39741 41016                       );
39742 41017                     }
39743 41018                   }
@@ -39768,7 +41043,7 @@ Plus roles extended for the Role Parity project.
39768 41043 
39769 41044             return result;
39770 41045           },
39771    -1           refNode
   -1 41046           refNode,
39772 41047         );
39773 41048 
39774 41049         if (!hasLabel) {
@@ -39780,7 +41055,7 @@ Plus roles extended for the Role Parity project.
39780 41055         return fullResult;
39781 41056       };
39782 41057 
39783    -1       var firstChild = function(e, t, r, s) {
   -1 41058       var firstChild = function (e, t, r, s) {
39784 41059         e = e ? e.firstChild : null;
39785 41060         while (e) {
39786 41061           var tr = getRole(e) || false;
@@ -39799,7 +41074,7 @@ Plus roles extended for the Role Parity project.
39799 41074         return e;
39800 41075       };
39801 41076 
39802    -1       var lastChild = function(e, t, r, s) {
   -1 41077       var lastChild = function (e, t, r, s) {
39803 41078         e = e ? e.lastChild : null;
39804 41079         while (e) {
39805 41080           var tr = getRole(e) || false;
@@ -39818,7 +41093,7 @@ Plus roles extended for the Role Parity project.
39818 41093         return e;
39819 41094       };
39820 41095 
39821    -1       var getRole = function(node) {
   -1 41096       var getRole = function (node) {
39822 41097         var role =
39823 41098           node && node.getAttribute
39824 41099             ? (node.getAttribute("role") || "").toLowerCase()
@@ -39826,7 +41101,7 @@ Plus roles extended for the Role Parity project.
39826 41101         if (!trim(role)) {
39827 41102           return "";
39828 41103         }
39829    -1         var inList = function(list) {
   -1 41104         var inList = function (list) {
39830 41105           return trim(role).length > 0 && list.roles.indexOf(role) >= 0;
39831 41106         };
39832 41107         var roles = role.split(/\s+/);
@@ -39845,7 +41120,7 @@ Plus roles extended for the Role Parity project.
39845 41120         return "";
39846 41121       };
39847 41122 
39848    -1       var isFocusable = function(node) {
   -1 41123       var isFocusable = function (node) {
39849 41124         var nodeName = node.nodeName.toLowerCase();
39850 41125         if (node.getAttribute("tabindex")) {
39851 41126           return true;
@@ -39885,7 +41160,7 @@ Plus roles extended for the Role Parity project.
39885 41160           "columnheader",
39886 41161           "rowheader",
39887 41162           "tooltip",
39888    -1           "heading"
   -1 41163           "heading",
39889 41164         ],
39890 41165         tags: [
39891 41166           "a",
@@ -39902,8 +41177,8 @@ Plus roles extended for the Role Parity project.
39902 41177           "option",
39903 41178           "tr",
39904 41179           "td",
39905    -1           "th"
39906    -1         ]
   -1 41180           "th",
   -1 41181         ],
39907 41182       };
39908 41183       // Never include name from content when current node matches list2
39909 41184       // The rowgroup role was added to prevent 'name from content' in accordance with relevant ARIA 1.1 spec changes.
@@ -39922,6 +41197,7 @@ Plus roles extended for the Role Parity project.
39922 41197           "form",
39923 41198           "main",
39924 41199           "navigation",
   -1 41200           "progressbar",
39925 41201           "region",
39926 41202           "search",
39927 41203           "article",
@@ -39947,7 +41223,7 @@ Plus roles extended for the Role Parity project.
39947 41223           "treegrid",
39948 41224           "separator",
39949 41225           "rowgroup",
39950    -1           "group"
   -1 41226           "group",
39951 41227         ],
39952 41228         tags: [
39953 41229           "article",
@@ -39974,8 +41250,9 @@ Plus roles extended for the Role Parity project.
39974 41250           "thead",
39975 41251           "tbody",
39976 41252           "tfoot",
39977    -1           "fieldset"
39978    -1         ]
   -1 41253           "fieldset",
   -1 41254           "progress",
   -1 41255         ],
39979 41256       };
39980 41257       // As an override of list2, conditionally include name from content if current node is focusable, or if the current node matches list3 while the referenced parent node (root node) matches list1.
39981 41258       var list3 = {
@@ -39987,9 +41264,9 @@ Plus roles extended for the Role Parity project.
39987 41264           "note",
39988 41265           "status",
39989 41266           "table",
39990    -1           "contentinfo"
   -1 41267           "contentinfo",
39991 41268         ],
39992    -1         tags: ["dl", "ul", "ol", "dd", "details", "output", "table"]
   -1 41269         tags: ["dl", "ul", "ol", "dd", "details", "output", "table"],
39993 41270       };
39994 41271       // Subsequent roles added as part of the Role Parity project for ARIA 1.2.
39995 41272       // Tracks roles that don't specifically belong within the prior process lists.
@@ -40005,7 +41282,7 @@ Plus roles extended for the Role Parity project.
40005 41282           "paragraph",
40006 41283           "strong",
40007 41284           "subscript",
40008    -1           "superscript"
   -1 41285           "superscript",
40009 41286         ],
40010 41287         tags: [
40011 41288           "legend",
@@ -40020,8 +41297,8 @@ Plus roles extended for the Role Parity project.
40020 41297           "p",
40021 41298           "strong",
40022 41299           "sub",
40023    -1           "sup"
40024    -1         ]
   -1 41300           "sup",
   -1 41301         ],
40025 41302       };
40026 41303 
40027 41304       var genericElements = ["div", "span"];
@@ -40037,7 +41314,7 @@ Plus roles extended for the Role Parity project.
40037 41314         "presentation",
40038 41315         "strong",
40039 41316         "subscript",
40040    -1         "superscript"
   -1 41317         "superscript",
40041 41318       ];
40042 41319       var nameProhibitedElements = [
40043 41320         "caption",
@@ -40051,18 +41328,29 @@ Plus roles extended for the Role Parity project.
40051 41328         "p",
40052 41329         "strong",
40053 41330         "sub",
40054    -1         "sup"
   -1 41331         "sup",
40055 41332       ];
40056 41333 
40057    -1       var nativeFormFields = ["button", "input", "select", "textarea"];
40058    -1       var rangeWidgetRoles = ["scrollbar", "slider", "spinbutton"];
   -1 41334       var nativeFormFields = [
   -1 41335         "button",
   -1 41336         "input",
   -1 41337         "progress",
   -1 41338         "select",
   -1 41339         "textarea",
   -1 41340       ];
   -1 41341       var rangeWidgetRoles = [
   -1 41342         "scrollbar",
   -1 41343         "slider",
   -1 41344         "spinbutton",
   -1 41345         "progressbar",
   -1 41346       ];
40059 41347       var editWidgetRoles = ["searchbox", "textbox"];
40060 41348       var selectWidgetRoles = [
40061 41349         "grid",
40062 41350         "listbox",
40063 41351         "tablist",
40064 41352         "tree",
40065    -1         "treegrid"
   -1 41353         "treegrid",
40066 41354       ];
40067 41355       var otherWidgetRoles = [
40068 41356         "button",
@@ -40078,11 +41366,11 @@ Plus roles extended for the Role Parity project.
40078 41366         "radio",
40079 41367         "tab",
40080 41368         "treeitem",
40081    -1         "gridcell"
   -1 41369         "gridcell",
40082 41370       ];
40083 41371       var presentationRoles = ["presentation", "none"];
40084 41372 
40085    -1       var hasGlobalAttr = function(node) {
   -1 41373       var hasGlobalAttr = function (node) {
40086 41374         var globalPropsAndStates = [
40087 41375           "labelledby",
40088 41376           "label",
@@ -40101,7 +41389,7 @@ Plus roles extended for the Role Parity project.
40101 41389           "keyshortcuts",
40102 41390           "live",
40103 41391           "owns",
40104    -1           "roledescription"
   -1 41392           "roledescription",
40105 41393         ];
40106 41394         for (var i = 0; i < globalPropsAndStates.length; i++) {
40107 41395           var a = trim(node.getAttribute("aria-" + globalPropsAndStates[i]));
@@ -40114,8 +41402,8 @@ Plus roles extended for the Role Parity project.
40114 41402 
40115 41403       var isHidden =
40116 41404         overrides.isHidden ||
40117    -1         function(node, refNode) {
40118    -1           var hidden = function(node) {
   -1 41405         function (node, refNode) {
   -1 41406           var hidden = function (node) {
40119 41407             if (!node || node.nodeType !== 1 || node === refNode) {
40120 41408               return false;
40121 41409             }
@@ -40133,7 +41421,7 @@ Plus roles extended for the Role Parity project.
40133 41421           return hidden(node);
40134 41422         };
40135 41423 
40136    -1       var isParentHidden = function(node, refNode, skipOwned, skipCurrent) {
   -1 41424       var isParentHidden = function (node, refNode, skipOwned, skipCurrent) {
40137 41425         while (node && node !== refNode) {
40138 41426           if (!skipCurrent && node.nodeType === 1 && isHidden(node, refNode)) {
40139 41427             return true;
@@ -40145,7 +41433,7 @@ Plus roles extended for the Role Parity project.
40145 41433 
40146 41434       var getStyleObject =
40147 41435         overrides.getStyleObject ||
40148    -1         function(node) {
   -1 41436         function (node) {
40149 41437           var style = {};
40150 41438           if (docO.defaultView && docO.defaultView.getComputedStyle) {
40151 41439             style = docO.defaultView.getComputedStyle(node, "");
@@ -40155,7 +41443,7 @@ Plus roles extended for the Role Parity project.
40155 41443           return style;
40156 41444         };
40157 41445 
40158    -1       var cleanCSSText = function(node, text) {
   -1 41446       var cleanCSSText = function (node, text) {
40159 41447         var s = text;
40160 41448         if (s.indexOf("attr(") !== -1) {
40161 41449           var m = s.match(/attr\((.|\n|\r\n)*?\)/g);
@@ -40169,7 +41457,7 @@ Plus roles extended for the Role Parity project.
40169 41457         return s;
40170 41458       };
40171 41459 
40172    -1       var isBlockLevelElement = function(node, cssObj) {
   -1 41460       var isBlockLevelElement = function (node, cssObj) {
40173 41461         var styleObject = cssObj || getStyleObject(node);
40174 41462         for (var prop in blockStyles) {
40175 41463           var values = blockStyles[prop];
@@ -40178,7 +41466,7 @@ Plus roles extended for the Role Parity project.
40178 41466               styleObject[prop] &&
40179 41467               ((values[i].indexOf("!") === 0 &&
40180 41468                 [values[i].slice(1), "inherit", "initial", "unset"].indexOf(
40181    -1                   styleObject[prop]
   -1 41469                   styleObject[prop],
40182 41470                 ) === -1) ||
40183 41471                 styleObject[prop].indexOf(values[i]) === 0)
40184 41472             ) {
@@ -40209,7 +41497,7 @@ Plus roles extended for the Role Parity project.
40209 41497         "column-count": ["!auto"],
40210 41498         "column-width": ["!auto"],
40211 41499         "column-span": ["all"],
40212    -1         contain: ["layout", "content", "strict"]
   -1 41500         contain: ["layout", "content", "strict"],
40213 41501       };
40214 41502 
40215 41503       // HTML5 Block Elements indexed from:
@@ -40258,16 +41546,16 @@ Plus roles extended for the Role Parity project.
40258 41546         "th",
40259 41547         "tr",
40260 41548         "ul",
40261    -1         "video"
   -1 41549         "video",
40262 41550       ];
40263 41551 
40264    -1       var getObjectValue = function(
   -1 41552       var getObjectValue = function (
40265 41553         role,
40266 41554         node,
40267 41555         isRange,
40268 41556         isEdit,
40269 41557         isSelect,
40270    -1         isNative
   -1 41558         isNative,
40271 41559       ) {
40272 41560         var val = "";
40273 41561         var bypass = false;
@@ -40294,7 +41582,7 @@ Plus roles extended for the Role Parity project.
40294 41582             node,
40295 41583             node.querySelectorAll('*[aria-selected="true"]'),
40296 41584             false,
40297    -1             childRoles
   -1 41585             childRoles,
40298 41586           );
40299 41587           bypass = true;
40300 41588         }
@@ -40307,7 +41595,7 @@ Plus roles extended for the Role Parity project.
40307 41595             val = joinSelectedParts(
40308 41596               node,
40309 41597               node.querySelectorAll("option[selected]"),
40310    -1               true
   -1 41598               true,
40311 41599             );
40312 41600           } else {
40313 41601             val = node.value;
@@ -40317,11 +41605,11 @@ Plus roles extended for the Role Parity project.
40317 41605         return val;
40318 41606       };
40319 41607 
40320    -1       var addSpacing = function(s) {
   -1 41608       var addSpacing = function (s) {
40321 41609         return trim(s).length ? " " + s + " " : " ";
40322 41610       };
40323 41611 
40324    -1       var joinSelectedParts = function(node, nOA, isNative, childRoles) {
   -1 41612       var joinSelectedParts = function (node, nOA, isNative, childRoles) {
40325 41613         if (!nOA || !nOA.length) {
40326 41614           return "";
40327 41615         }
@@ -40333,7 +41621,7 @@ Plus roles extended for the Role Parity project.
40333 41621             parts.push(
40334 41622               isNative
40335 41623                 ? getText(nOA[i])
40336    -1                 : walk(nOA[i], true, false, [], false, { top: nOA[i] }).name
   -1 41624                 : walk(nOA[i], true, false, [], false, { top: nOA[i] }).name,
40337 41625             );
40338 41626           }
40339 41627         }
@@ -40342,7 +41630,7 @@ Plus roles extended for the Role Parity project.
40342 41630 
40343 41631       var getPseudoElStyleObj =
40344 41632         overrides.getPseudoElStyleObj ||
40345    -1         function(node, position) {
   -1 41633         function (node, position) {
40346 41634           var styleObj = {};
40347 41635           for (var prop in blockStyles) {
40348 41636             styleObj[prop] = docO.defaultView
@@ -40356,7 +41644,7 @@ Plus roles extended for the Role Parity project.
40356 41644           return styleObj;
40357 41645         };
40358 41646 
40359    -1       var getText = function(node, position) {
   -1 41647       var getText = function (node, position) {
40360 41648         if (!position && node.nodeType === 1) {
40361 41649           return node.innerText || node.textContent || "";
40362 41650         }
@@ -40377,7 +41665,7 @@ Plus roles extended for the Role Parity project.
40377 41665 
40378 41666       var getCSSText =
40379 41667         overrides.getCSSText ||
40380    -1         function(node, refNode) {
   -1 41668         function (node, refNode) {
40381 41669           if (
40382 41670             (node && node.nodeType !== 1) ||
40383 41671             node === refNode ||
@@ -40387,18 +41675,18 @@ Plus roles extended for the Role Parity project.
40387 41675               "textarea",
40388 41676               "img",
40389 41677               "iframe",
40390    -1               "optgroup"
   -1 41678               "optgroup",
40391 41679             ].indexOf(node.nodeName.toLowerCase()) !== -1
40392 41680           ) {
40393 41681             return { before: "", after: "" };
40394 41682           }
40395 41683           return {
40396 41684             before: cleanCSSText(node, getText(node, ":before")),
40397    -1             after: cleanCSSText(node, getText(node, ":after"))
   -1 41685             after: cleanCSSText(node, getText(node, ":after")),
40398 41686           };
40399 41687         };
40400 41688 
40401    -1       var getParent = function(node, nTag, nRole, noRole) {
   -1 41689       var getParent = function (node, nTag, nRole, noRole) {
40402 41690         noRole = !!noRole;
40403 41691         while (node) {
40404 41692           node = node.parentNode;
@@ -40416,11 +41704,11 @@ Plus roles extended for the Role Parity project.
40416 41704         return {};
40417 41705       };
40418 41706 
40419    -1       var hasParentLabelOrHidden = function(
   -1 41707       var hasParentLabelOrHidden = function (
40420 41708         node,
40421 41709         refNode,
40422 41710         ownedBy,
40423    -1         ignoreHidden
   -1 41711         ignoreHidden,
40424 41712       ) {
40425 41713         var trackNodes = [];
40426 41714         while (node && node !== refNode) {
@@ -40453,7 +41741,7 @@ Plus roles extended for the Role Parity project.
40453 41741           node,
40454 41742           docO.body,
40455 41743           true,
40456    -1           !!(node && node.nodeName && node.nodeName.toLowerCase() === "area")
   -1 41744           !!(node && node.nodeName && node.nodeName.toLowerCase() === "area"),
40457 41745         )
40458 41746       ) {
40459 41747         return props;
@@ -40478,7 +41766,7 @@ Plus roles extended for the Role Parity project.
40478 41766       // Clear track variables
40479 41767       nodes = {
40480 41768         name: [],
40481    -1         desc: []
   -1 41769         desc: [],
40482 41770       };
40483 41771       owns = [];
40484 41772     } catch (e) {
@@ -40494,7 +41782,7 @@ Plus roles extended for the Role Parity project.
40494 41782     }
40495 41783   };
40496 41784 
40497    -1   var trim = function(str) {
   -1 41785   var trim = function (str) {
40498 41786     if (typeof str !== "string") {
40499 41787       return "";
40500 41788     }
@@ -40503,7 +41791,7 @@ Plus roles extended for the Role Parity project.
40503 41791 
40504 41792   // Customize returned string for testable statements
40505 41793 
40506    -1   nameSpace.getAccNameMsg = nameSpace.getNames = function(node, overrides) {
   -1 41794   nameSpace.getAccNameMsg = nameSpace.getNames = function (node, overrides) {
40507 41795     var props = nameSpace.getAccName(node, null, false, overrides);
40508 41796     if (props.error) {
40509 41797       return (
@@ -40529,7 +41817,7 @@ Plus roles extended for the Role Parity project.
40529 41817   if (typeof module === "object" && module.exports) {
40530 41818     module.exports = {
40531 41819       getNames: nameSpace.getNames,
40532    -1       calcNames: nameSpace.calcNames
   -1 41820       calcNames: nameSpace.calcNames,
40533 41821     };
40534 41822   }
40535 41823 })();
@@ -40579,7 +41867,7 @@ var ex = function(fn, args, _this) {
40579 41867 };
40580 41868 
40581 41869 var implementations = [{
40582    -1 	name: 'aria-api (0.5.0)',
   -1 41870 	name: 'aria-api (0.7.0)',
40583 41871 	url: 'https://github.com/xi/aria-api',
40584 41872 	fn: function(el) {
40585 41873 		return {
@@ -40589,8 +41877,8 @@ var implementations = [{
40589 41877 		};
40590 41878 	},
40591 41879 }, {
40592    -1 	name: 'accdc (2.61)',
40593    -1 	url: 'https://github.com/accdc/w3c-alternative-text-computation',
   -1 41880 	name: 'WhatSock (2.62)',
   -1 41881 	url: 'https://github.com/WhatSock/w3c-alternative-text-computation',
40594 41882 	fn: accdc.calcNames,
40595 41883 }, {
40596 41884 	name: 'dom-accessibility-api (0.6.3)',
@@ -40603,7 +41891,7 @@ var implementations = [{
40603 41891 		};
40604 41892 	},
40605 41893 }, {
40606    -1 	name: 'axe (4.8.3)',
   -1 41894 	name: 'axe (4.9.1)',
40607 41895 	url: 'https://github.com/dequelabs/axe-core',
40608 41896 	fn: function(el) {
40609 41897 		axe._tree = axe.utils.getFlattenedTree(document.body);

diff --git a/fuzz.js b/fuzz.js

@@ -289,13 +289,13 @@ module.exports = {
  289   289 };
  290   290 
  291   291 },{"./lib/atree.js":5,"./lib/name-inst.js":8,"./lib/query.js":9}],5:[function(require,module,exports){
  292    -1 var attrs = require('./attrs');
   -1   292 const attrs = require('./attrs');
  293   293 
  294    -1 var _getOwner = function(node, owners) {
   -1   294 const _getOwner = function(node, owners) {
  295   295 	if (node.nodeType === node.ELEMENT_NODE && node.id) {
  296    -1 		var selector = '[aria-owns~="' + CSS.escape(node.id) + '"]';
   -1   296 		const selector = '[aria-owns~="' + CSS.escape(node.id) + '"]';
  297   297 		if (owners) {
  298    -1 			for (var owner of owners) {
   -1   298 			for (const owner of owners) {
  299   299 				if (owner.matches(selector)) {
  300   300 					return owner;
  301   301 				}
@@ -306,12 +306,12 @@ var _getOwner = function(node, owners) {
  306   306 	}
  307   307 };
  308   308 
  309    -1 var _getParentNode = function(node, owners) {
   -1   309 const _getParentNode = function(node, owners) {
  310   310 	return _getOwner(node, owners) || node.parentNode;
  311   311 };
  312   312 
  313    -1 var detectLoop = function(node, owners) {
  314    -1 	var seen = [node];
   -1   313 const detectLoop = function(node, owners) {
   -1   314 	const seen = [node];
  315   315 	while ((node = _getParentNode(node, owners))) {
  316   316 		if (seen.includes(node)) {
  317   317 			return true;
@@ -320,35 +320,35 @@ var detectLoop = function(node, owners) {
  320   320 	}
  321   321 };
  322   322 
  323    -1 var getOwner = function(node, owners) {
  324    -1 	var owner = _getOwner(node, owners);
   -1   323 const getOwner = function(node, owners) {
   -1   324 	const owner = _getOwner(node, owners);
  325   325 	if (owner && !detectLoop(node, owners)) {
  326   326 		return owner;
  327   327 	}
  328   328 };
  329   329 
  330    -1 var getParentNode = function(node, owners) {
   -1   330 const getParentNode = function(node, owners) {
  331   331 	return getOwner(node, owners) || node.parentNode;
  332   332 };
  333   333 
  334    -1 var isHidden = function(node) {
   -1   334 const isHidden = function(node) {
  335   335 	return node.nodeType === node.ELEMENT_NODE && attrs.getAttribute(node, 'hidden');
  336   336 };
  337   337 
  338    -1 var getChildNodes = function(node, owners) {
  339    -1 	var childNodes = [];
   -1   338 const getChildNodes = function(node, owners) {
   -1   339 	const childNodes = [];
  340   340 
  341    -1 	for (var i = 0; i < node.childNodes.length; i++) {
  342    -1 		var child = node.childNodes[i];
   -1   341 	for (let i = 0; i < node.childNodes.length; i++) {
   -1   342 		const child = node.childNodes[i];
  343   343 		if (!getOwner(child, owners) && !isHidden(child)) {
  344   344 			childNodes.push(child);
  345   345 		}
  346   346 	}
  347   347 
  348   348 	if (node.nodeType === node.ELEMENT_NODE) {
  349    -1 		var owns = attrs.getAttribute(node, 'owns') || [];
  350    -1 		for (var i = 0; i < owns.length; i++) {
  351    -1 			var child = document.getElementById(owns[i]);
   -1   349 		const owns = attrs.getAttribute(node, 'owns') || [];
   -1   350 		for (let i = 0; i < owns.length; i++) {
   -1   351 			const child = document.getElementById(owns[i]);
  352   352 			// double check with getOwner for consistency
  353   353 			if (child && getOwner(child, owners) === node && !isHidden(child)) {
  354   354 				childNodes.push(child);
@@ -359,18 +359,18 @@ var getChildNodes = function(node, owners) {
  359   359 	return childNodes;
  360   360 };
  361   361 
  362    -1 var walk = function(root, fn) {
  363    -1 	var owners = document.querySelectorAll('[aria-owns]');
  364    -1 	var queue = [root];
   -1   362 const walk = function(root, fn) {
   -1   363 	const owners = document.querySelectorAll('[aria-owns]');
   -1   364 	let queue = [root];
  365   365 	while (queue.length) {
  366    -1 		var item = queue.shift();
   -1   366 		const item = queue.shift();
  367   367 		fn(item);
  368   368 		queue = getChildNodes(item, owners).concat(queue);
  369   369 	}
  370   370 };
  371   371 
  372    -1 var searchUp = function(node, test) {
  373    -1 	var candidate = getParentNode(node);
   -1   372 const searchUp = function(node, test) {
   -1   373 	const candidate = getParentNode(node);
  374   374 	if (candidate) {
  375   375 		if (test(candidate)) {
  376   376 			return candidate;
@@ -388,44 +388,59 @@ module.exports = {
  388   388 };
  389   389 
  390   390 },{"./attrs":6}],6:[function(require,module,exports){
  391    -1 var constants = require('./constants.js');
   -1   391 const constants = require('./constants.js');
   -1   392 
   -1   393 var unique = function(arr) {
   -1   394 	return arr.filter((a, i) => arr.indexOf(a) === i);
   -1   395 };
   -1   396 
   -1   397 var flatten = function(arr) {
   -1   398 	return [].concat.apply([], arr);
   -1   399 };
   -1   400 
   -1   401 var normalizeRoles = function(roles, includeAbstract) {
   -1   402 	return unique(roles
   -1   403 		.map(r => constants.aliases[r] || r)
   -1   404 		.filter(r => constants.roles[r])
   -1   405 		.filter(r => includeAbstract || !constants.roles[r].abstract)
   -1   406 	);
   -1   407 };
  392   408 
  393   409 // candidates can be passed for performance optimization
  394    -1 var getRole = function(el, candidates) {
  395    -1 	if (el.hasAttribute('role')) {
  396    -1 		var roles = el.getAttribute('role').toLowerCase().split(/\s+/);
  397    -1 		if (roles.length > 1 && candidates) {
  398    -1 			return [roles, candidates];
  399    -1 		}
  400    -1 		for (var role of roles) {
   -1   410 const getRole = function(el, candidates) {
   -1   411 	// TODO: filter out any invalid roles (e.g. name or context required)
   -1   412 	const roles = normalizeRoles(
   -1   413 		(el.getAttribute('role') || '').toLowerCase().split(/\s+/)
   -1   414 	);
   -1   415 
   -1   416 	if (roles.length > 1 && candidates) {
   -1   417 		return [roles, candidates];
   -1   418 	} else if (roles.length) {
   -1   419 		for (const role of roles) {
  401   420 			if (!candidates || candidates.includes(role)) {
  402   421 				return role;
  403   422 			}
  404   423 		}
  405   424 	} else {
  406    -1 		var roles = candidates ? candidates : Object.keys(constants.roles);
  407    -1 		for (var role of roles) {
  408    -1 			var r = constants.roles[role];
  409    -1 			if (r) {
  410    -1 				var selector = (r.selectors || []).join(',');
  411    -1 				if (selector && el.matches(selector)) {
  412    -1 					return role;
  413    -1 				}
   -1   425 		for (const role of (candidates || Object.keys(constants.roles))) {
   -1   426 			const r = constants.roles[role];
   -1   427 			if (!r.abstract && r.selectors && el.matches(r.selectors.join(','))) {
   -1   428 				return role;
  414   429 			}
  415   430 		}
  416   431 	}
  417   432 };
  418   433 
  419    -1 var hasRole = function(el, roles) {
  420    -1 	var candidates = [].concat.apply([], roles.map(role => {
  421    -1 		return (constants.roles[role] || {}).subRoles || [role];
  422    -1 	}));
  423    -1 	return !!getRole(el, candidates);
   -1   434 const hasRole = function(el, roles) {
   -1   435 	const subRoles = normalizeRoles(roles, true).map(role => {
   -1   436 		return constants.roles[role].subRoles || [role];
   -1   437 	});
   -1   438 	return !!getRole(el, unique(flatten(subRoles)));
  424   439 };
  425   440 
  426    -1 var getAttribute = function(el, key) {
   -1   441 const getAttribute = function(el, key) {
  427   442 	if (constants.attributeStrongMapping.hasOwnProperty(key)) {
  428    -1 		var value = el[constants.attributeStrongMapping[key]];
   -1   443 		const value = el[constants.attributeStrongMapping[key]];
  429   444 		if (value) {
  430   445 			return value;
  431   446 		}
@@ -442,14 +457,14 @@ var getAttribute = function(el, key) {
  442   457 		if (el.matches('details:not([open]) > :not(summary)')) {
  443   458 			return true;
  444   459 		}
  445    -1 		var style = window.getComputedStyle(el);
  446    -1 		if (style.display === 'none' || style.visibility === 'hidden') {
   -1   460 		const style = window.getComputedStyle(el);
   -1   461 		if (style.display === 'none' || style.visibility === 'hidden' || style.visibility === 'collapse') {
  447   462 			return true;
  448   463 		}
  449   464 	}
  450   465 
  451    -1 	var type = constants.attributes[key];
  452    -1 	var raw = el.getAttribute('aria-' + key);
   -1   466 	const type = constants.attributes[key];
   -1   467 	const raw = el.getAttribute('aria-' + key);
  453   468 
  454   469 	if (raw) {
  455   470 		if (type === 'bool') {
@@ -478,7 +493,7 @@ var getAttribute = function(el, key) {
  478   493 	// list -> aria-controls
  479   494 
  480   495 	if (key === 'level') {
  481    -1 		for (var i = 1; i <= 6; i++) {
   -1   496 		for (let i = 1; i <= 6; i++) {
  482   497 			if (el.tagName.toLowerCase() === 'h' + i) {
  483   498 				return i;
  484   499 			}
@@ -488,8 +503,8 @@ var getAttribute = function(el, key) {
  488   503 	}
  489   504 
  490   505 	if (key in constants.attrsWithDefaults) {
  491    -1 		var role = getRole(el);
  492    -1 		var defaults = (constants.roles[role] || {}).defaults;
   -1   506 		const role = getRole(el);
   -1   507 		const defaults = constants.roles[role].defaults;
  493   508 		if (defaults && defaults.hasOwnProperty(key)) {
  494   509 			return defaults[key];
  495   510 		}
@@ -512,14 +527,18 @@ exports.attributes = {
  512   527 	'activedescendant': 'id',
  513   528 	'atomic': 'bool',
  514   529 	'autocomplete': 'token',
   -1   530 	'braillelabel': 'string',
   -1   531 	'brailleroledescription': 'string',
  515   532 	'busy': 'bool',
  516   533 	'checked': 'tristate',
  517   534 	'colcount': 'int',
  518   535 	'colindex': 'int',
   -1   536 	'colindextext': 'string',
  519   537 	'colspan': 'int',
  520   538 	'controls': 'id-list',
  521   539 	'current': 'token',
  522   540 	'describedby': 'id-list',
   -1   541 	'description': 'string',
  523   542 	'details': 'id',
  524   543 	'disabled': 'bool',
  525   544 	'dropeffect': 'token-list',
@@ -549,6 +568,7 @@ exports.attributes = {
  549   568 	'roledescription': 'string',
  550   569 	'rowcount': 'int',
  551   570 	'rowindex': 'int',
   -1   571 	'rowindextext': 'string',
  552   572 	'rowspan': 'int',
  553   573 	'selected': 'bool-undefined',
  554   574 	'setsize': 'int',
@@ -576,7 +596,20 @@ exports.attributeWeakMapping = {
  576   596 };
  577   597 
  578   598 // https://www.w3.org/TR/html/dom.html#sectioning-content-2
  579    -1 var scoped = ['article *', 'aside *', 'nav *', 'section *'].join(',');
   -1   599 const scoped = ['article *', 'aside *', 'nav *', 'section *'].join(',');
   -1   600 
   -1   601 const svgSelectors = function(selector) {
   -1   602 	return [
   -1   603 		// `${selector}:has(> title:not(:empty))`,
   -1   604 		// `${selector}:has(> desc:not(:empty))`,
   -1   605 		`${selector}[aria-label]`,
   -1   606 		`${selector}[aria-roledescription]`,
   -1   607 		`${selector}[aria-labelledby]`,
   -1   608 		`${selector}[aria-describedby]`,
   -1   609 		`${selector}[tabindex]`,
   -1   610 		`${selector}[role]`,
   -1   611 	];
   -1   612 };
  580   613 
  581   614 // https://www.w3.org/TR/html-aam-1.0/#html-element-role-mappings
  582   615 // https://www.w3.org/TR/wai-aria/roles
@@ -588,8 +621,11 @@ exports.roles = {
  588   621 			'atomic': true,
  589   622 		},
  590   623 	},
   -1   624 	alertdialog: {},
   -1   625 	application: {},
  591   626 	article: {
  592   627 		selectors: ['article'],
   -1   628 		childRoles: ['comment'],
  593   629 	},
  594   630 	banner: {
  595   631 		selectors: [`header:not(main *, ${scoped})`],
@@ -612,7 +648,7 @@ exports.roles = {
  612   648 		selectors: ['caption', 'figcaption'],
  613   649 	},
  614   650 	cell: {
  615    -1 		selectors: ['td', 'th:not([scope])'],
   -1   651 		selectors: ['td', 'td ~ th:not([scope])'],
  616   652 		childRoles: ['columnheader', 'gridcell', 'rowheader'],
  617   653 		nameFromContents: true,
  618   654 	},
@@ -649,8 +685,12 @@ exports.roles = {
  649   685 		},
  650   686 	},
  651   687 	command: {
   -1   688 		abstract: true,
  652   689 		childRoles: ['button', 'link', 'menuitem'],
  653   690 	},
   -1   691 	comment: {
   -1   692 		nameFromContents: true,
   -1   693 	},
  654   694 	complementary: {
  655   695 		selectors: [
  656   696 			`aside:not(${scoped})`,
@@ -660,6 +700,7 @@ exports.roles = {
  660   700 		],
  661   701 	},
  662   702 	composite: {
   -1   703 		abstract: true,
  663   704 		childRoles: ['grid', 'select', 'spinbutton', 'tablist'],
  664   705 	},
  665   706 	contentinfo: {
@@ -675,24 +716,59 @@ exports.roles = {
  675   716 		selectors: ['dialog'],
  676   717 		childRoles: ['alertdialog'],
  677   718 	},
   -1   719 	'doc-abstract': {},
   -1   720 	'doc-acknowledgments': {},
   -1   721 	'doc-afterword': {},
   -1   722 	'doc-appendix': {},
  678   723 	'doc-backlink': {
  679   724 		nameFromContents: true,
  680   725 	},
   -1   726 	'doc-biblioentry': {},
   -1   727 	'doc-bibliography': {},
  681   728 	'doc-biblioref': {
  682   729 		nameFromContents: true,
  683   730 	},
   -1   731 	'doc-chapter': {},
   -1   732 	'doc-colophon': {},
   -1   733 	'doc-conclusion': {},
   -1   734 	'doc-cover': {},
   -1   735 	'doc-credit': {},
   -1   736 	'doc-credits': {},
   -1   737 	'doc-dedication': {},
   -1   738 	'doc-endnote': {},
   -1   739 	'doc-endnotes': {},
   -1   740 	'doc-epilogue': {},
   -1   741 	'doc-epigraph': {},
   -1   742 	'doc-errata': {},
   -1   743 	'doc-example': {},
   -1   744 	'doc-footnote': {},
   -1   745 	'doc-foreword': {},
   -1   746 	'doc-glossary': {},
  684   747 	'doc-glossref': {
  685   748 		nameFromContents: true,
  686   749 	},
   -1   750 	'doc-index': {},
   -1   751 	'doc-introduction': {},
  687   752 	'doc-noteref': {
  688   753 		nameFromContents: true,
  689   754 	},
   -1   755 	'doc-notice': {},
  690   756 	'doc-pagebreak': {
  691   757 		nameFromContents: true,
  692   758 	},
   -1   759 	'doc-pagefooter': {},
   -1   760 	'doc-pageheader': {},
   -1   761 	'doc-pagelist': {},
   -1   762 	'doc-part': {},
   -1   763 	'doc-preface': {},
   -1   764 	'doc-prologue': {},
   -1   765 	'doc-pullquote': {},
   -1   766 	'doc-qna': {},
  693   767 	'doc-subtitle': {
  694   768 		nameFromContents: true,
  695   769 	},
   -1   770 	'doc-tip': {},
   -1   771 	'doc-toc': {},
  696   772 	document: {
  697   773 		selectors: ['html'],
  698   774 		childRoles: ['article', 'graphics-document'],
@@ -700,6 +776,7 @@ exports.roles = {
  700   776 	emphasis: {
  701   777 		selectors: ['em'],
  702   778 	},
   -1   779 	feed: {},
  703   780 	figure: {
  704   781 		selectors: ['figure'],
  705   782 		childRoles: ['doc-example'],
@@ -708,11 +785,49 @@ exports.roles = {
  708   785 		selectors: ['form[aria-label]', 'form[aria-labelledby]', 'form[title]'],
  709   786 	},
  710   787 	generic: {
  711    -1 		// too many selectors to list
   -1   788 		selectors: [
   -1   789 			'a:not([*|href])',
   -1   790 			'area:not([*|href])',
   -1   791 			`aside:not(${scoped}):not([aria-label]):not([aria-labelledby]):not([title])`,
   -1   792 			'b',
   -1   793 			'bdi',
   -1   794 			'bdo',
   -1   795 			'body',
   -1   796 			'data',
   -1   797 			'div',
   -1   798 			// footer scoped
   -1   799 			// header scoped
   -1   800 			'i',
   -1   801 			'li:not(ul > li):not(ol > li)',
   -1   802 			'pre',
   -1   803 			'q',
   -1   804 			'samp',
   -1   805 			'section:not([aria-label]):not([aria-labelledby]):not([title])',
   -1   806 			'small',
   -1   807 			'span',
   -1   808 			'u',
   -1   809 		],
  712   810 	},
  713   811 	'graphics-document': {
  714   812 		selectors: ['svg'],
  715   813 	},
   -1   814 	'graphics-object': {
   -1   815 		selectors: [
   -1   816 			...svgSelectors('symbol'),
   -1   817 			...svgSelectors('use'),
   -1   818 		],
   -1   819 	},
   -1   820 	'graphics-symbol': {
   -1   821 		selectors: [
   -1   822 			...svgSelectors('circle'),
   -1   823 			...svgSelectors('ellipse'),
   -1   824 			...svgSelectors('line'),
   -1   825 			...svgSelectors('path'),
   -1   826 			...svgSelectors('polygon'),
   -1   827 			...svgSelectors('polyline'),
   -1   828 			...svgSelectors('rect'),
   -1   829 		],
   -1   830 	},
  716   831 	grid: {
  717   832 		childRoles: ['treegrid'],
  718   833 	},
@@ -727,7 +842,11 @@ exports.roles = {
  727   842 			'fieldset',
  728   843 			'hgroup',
  729   844 			'optgroup',
   -1   845 			...svgSelectors('foreignObject'),
   -1   846 			...svgSelectors('g'),
  730   847 			'text',
   -1   848 			...svgSelectors('textPath'),
   -1   849 			...svgSelectors('tspan'),
  731   850 		],
  732   851 		childRoles: ['row', 'select', 'toolbar', 'graphics-object'],
  733   852 	},
@@ -738,11 +857,17 @@ exports.roles = {
  738   857 			'level': 2,
  739   858 		},
  740   859 	},
  741    -1 	img: {
  742    -1 		selectors: ['img:not([alt=""])', 'graphics-symbol'],
   -1   860 	image: {
   -1   861 		selectors: [
   -1   862 			'img:not([alt=""])',
   -1   863 			'graphics-symbol',
   -1   864 			...svgSelectors('image'),
   -1   865 			...svgSelectors('mesh'),
   -1   866 		],
  743   867 		childRoles: ['doc-cover'],
  744   868 	},
  745   869 	input: {
   -1   870 		abstract: true,
  746   871 		childRoles: [
  747   872 			'checkbox',
  748   873 			'combobox',
@@ -757,6 +882,7 @@ exports.roles = {
  757   882 		selectors: ['ins'],
  758   883 	},
  759   884 	landmark: {
   -1   885 		abstract: true,
  760   886 		childRoles: [
  761   887 			'banner',
  762   888 			'complementary',
@@ -785,13 +911,13 @@ exports.roles = {
  785   911 		],
  786   912 	},
  787   913 	link: {
  788    -1 		selectors: ['a[href]', 'area[href]'],
   -1   914 		selectors: ['a[*|href]', 'area[href]'],
  789   915 		childRoles: ['doc-backlink', 'doc-biblioref', 'doc-glossref', 'doc-noteref'],
  790   916 		nameFromContents: true,
  791   917 	},
  792   918 	list: {
  793   919 		selectors: ['dl', 'ol', 'ul', 'menu'],
  794    -1 		childRoles: ['directory', 'feed'],
   -1   920 		childRoles: ['feed'],
  795   921 	},
  796   922 	listbox: {
  797   923 		selectors: [
@@ -804,7 +930,7 @@ exports.roles = {
  804   930 		},
  805   931 	},
  806   932 	listitem: {
  807    -1 		selectors: ['li'],
   -1   933 		selectors: ['ol > li', 'ul > li'],
  808   934 		childRoles: ['doc-biblioentry', 'doc-endnote', 'treeitem'],
  809   935 	},
  810   936 	log: {
@@ -815,6 +941,10 @@ exports.roles = {
  815   941 	main: {
  816   942 		selectors: ['main'],
  817   943 	},
   -1   944 	mark: {
   -1   945 		selectors: ['mark'],
   -1   946 	},
   -1   947 	marquee: {},
  818   948 	math: {
  819   949 		selectors: ['math'],
  820   950 	},
@@ -837,11 +967,10 @@ exports.roles = {
  837   967 		},
  838   968 	},
  839   969 	menuitem: {
  840    -1 		childRoles: ['menuitemcheckbox'],
   -1   970 		childRoles: ['menuitemcheckbox', 'menuitemradio'],
  841   971 		nameFromContents: true,
  842   972 	},
  843   973 	menuitemcheckbox: {
  844    -1 		childRoles: ['menuitemradio'],
  845   974 		nameFromContents: true,
  846   975 		defaults: {
  847   976 			'checked': 'false',
@@ -857,6 +986,9 @@ exports.roles = {
  857   986 		selectors: ['nav'],
  858   987 		childRoles: ['doc-index', 'doc-pagelist', 'doc-toc'],
  859   988 	},
   -1   989 	none: {
   -1   990 		selectors: ['img[alt=""]'],
   -1   991 	},
  860   992 	note: {
  861   993 		childRoles: ['doc-notice', 'doc-tip'],
  862   994 	},
@@ -871,9 +1003,6 @@ exports.roles = {
  871  1003 	paragraph: {
  872  1004 		selectors: ['p'],
  873  1005 	},
  874    -1 	presentation: {
  875    -1 		selectors: ['img[alt=""]'],
  876    -1 	},
  877  1006 	progressbar: {
  878  1007 		selectors: ['progress'],
  879  1008 		defaults: {
@@ -889,13 +1018,16 @@ exports.roles = {
  889  1018 			'checked': 'false',
  890  1019 		},
  891  1020 	},
   -1  1021 	radiogroup: {},
  892  1022 	range: {
   -1  1023 		abstract: true,
  893  1024 		childRoles: ['meter', 'progressbar', 'scrollbar', 'slider', 'spinbutton'],
  894  1025 	},
  895  1026 	region: {
  896  1027 		selectors: ['section[aria-label]', 'section[aria-labelledby]', 'section[title]'],
  897  1028 	},
  898  1029 	roletype: {
   -1  1030 		abstract: true,
  899  1031 		childRoles: ['structure', 'widget', 'window'],
  900  1032 	},
  901  1033 	row: {
@@ -906,7 +1038,7 @@ exports.roles = {
  906  1038 		selectors: ['tbody', 'thead', 'tfoot'],
  907  1039 	},
  908  1040 	rowheader: {
  909    -1 		selectors: ['th[scope="row"]'],
   -1  1041 		selectors: ['th[scope="row"]', 'th:not([scope]):not(td ~ th)'],
  910  1042 		nameFromContents: true,
  911  1043 	},
  912  1044 	scrollbar: {
@@ -923,6 +1055,7 @@ exports.roles = {
  923  1055 		selectors: ['input[type="search"]:not([list])'],
  924  1056 	},
  925  1057 	section: {
   -1  1058 		abstract: true,
  926  1059 		childRoles: [
  927  1060 			'alert',
  928  1061 			'blockquote',
@@ -944,12 +1077,13 @@ exports.roles = {
  944  1077 			'emphasis',
  945  1078 			'figure',
  946  1079 			'group',
  947    -1 			'img',
   -1  1080 			'image',
  948  1081 			'insertion',
  949  1082 			'landmark',
  950  1083 			'list',
  951  1084 			'listitem',
  952  1085 			'log',
   -1  1086 			'mark',
  953  1087 			'marquee',
  954  1088 			'math',
  955  1089 			'note',
@@ -957,6 +1091,7 @@ exports.roles = {
  957  1091 			'status',
  958  1092 			'strong',
  959  1093 			'subscript',
   -1  1094 			'suggestion',
  960  1095 			'superscript',
  961  1096 			'table',
  962  1097 			'tabpanel',
@@ -966,6 +1101,7 @@ exports.roles = {
  966  1101 		],
  967  1102 	},
  968  1103 	sectionhead: {
   -1  1104 		abstract: true,
  969  1105 		childRoles: [
  970  1106 			'columnheader',
  971  1107 			'doc-subtitle',
@@ -976,6 +1112,7 @@ exports.roles = {
  976  1112 		nameFromContents: true,
  977  1113 	},
  978  1114 	select: {
   -1  1115 		abstract: true,
  979  1116 		childRoles: ['listbox', 'menu', 'radiogroup', 'tree'],
  980  1117 	},
  981  1118 	separator: {
@@ -1016,12 +1153,12 @@ exports.roles = {
 1016  1153 		selectors: ['strong'],
 1017  1154 	},
 1018  1155 	structure: {
   -1  1156 		abstract: true,
 1019  1157 		childRoles: [
 1020  1158 			'application',
 1021  1159 			'document',
 1022  1160 			'none',
 1023  1161 			'generic',
 1024    -1 			'presentation',
 1025  1162 			'range',
 1026  1163 			'rowgroup',
 1027  1164 			'section',
@@ -1029,6 +1166,7 @@ exports.roles = {
 1029  1166 			'separator',
 1030  1167 		],
 1031  1168 	},
   -1  1169 	suggestion: {},
 1032  1170 	subscript: {
 1033  1171 		selectors: ['sub'],
 1034  1172 	},
@@ -1056,6 +1194,7 @@ exports.roles = {
 1056  1194 			'orientation': 'horizontal',
 1057  1195 		},
 1058  1196 	},
   -1  1197 	tabpanel: {},
 1059  1198 	term: {
 1060  1199 		selectors: ['dfn', 'dt'],
 1061  1200 	},
@@ -1092,10 +1231,12 @@ exports.roles = {
 1092  1231 			'orientation': 'vertical',
 1093  1232 		},
 1094  1233 	},
   -1  1234 	treegrid: {},
 1095  1235 	treeitem: {
 1096  1236 		nameFromContents: true,
 1097  1237 	},
 1098  1238 	widget: {
   -1  1239 		abstract: true,
 1099  1240 		childRoles: [
 1100  1241 			'command',
 1101  1242 			'composite',
@@ -1109,15 +1250,16 @@ exports.roles = {
 1109  1250 		],
 1110  1251 	},
 1111  1252 	window: {
   -1  1253 		abstract: true,
 1112  1254 		childRoles: ['dialog'],
 1113  1255 	},
 1114  1256 };
 1115  1257 
 1116    -1 var getSubRoles = function(role) {
 1117    -1 	var children = (exports.roles[role] || {}).childRoles || [];
 1118    -1 	var descendents = children.map(getSubRoles);
   -1  1258 const getSubRoles = function(role) {
   -1  1259 	const children = (exports.roles[role]).childRoles || [];
   -1  1260 	const descendents = children.map(getSubRoles);
 1119  1261 
 1120    -1 	var result = [role];
   -1  1262 	const result = [role];
 1121  1263 
 1122  1264 	descendents.forEach(list => {
 1123  1265 		list.forEach(r => {
@@ -1132,18 +1274,20 @@ var getSubRoles = function(role) {
 1132  1274 
 1133  1275 exports.attrsWithDefaults = [];
 1134  1276 
 1135    -1 for (var role in exports.roles) {
   -1  1277 for (const role in exports.roles) {
 1136  1278 	exports.roles[role].subRoles = getSubRoles(role);
 1137    -1 	for (var key in exports.roles[role].defaults) {
   -1  1279 	for (const key in exports.roles[role].defaults) {
 1138  1280 		if (!exports.attrsWithDefaults.includes(key)) {
 1139  1281 			exports.attrsWithDefaults.push(key);
 1140  1282 		}
 1141  1283 	}
 1142  1284 }
 1143    -1 exports.roles['none'] = exports.roles['none'] || {};
 1144    -1 exports.roles['none'].subRoles = ['none', 'presentation'];
 1145    -1 exports.roles['presentation'] = exports.roles['presentation'] || {};
 1146    -1 exports.roles['presentation'].subRoles = ['presentation', 'none'];
   -1  1285 
   -1  1286 exports.aliases = {
   -1  1287 	'presentation': 'none',
   -1  1288 	'directory': 'list',
   -1  1289 	'img': 'image',
   -1  1290 };
 1147  1291 
 1148  1292 exports.nameFromDescendant = {
 1149  1293 	'figure': 'figcaption',
@@ -1158,55 +1302,53 @@ exports.nameDefaults = {
 1158  1302 };
 1159  1303 
 1160  1304 },{}],8:[function(require,module,exports){
 1161    -1 function cov_22i8nvh4cs(){var path="node_modules/aria-api/lib/name.js";var hash="1de31b7612077d6ae16bb7d65d41c072c50d8c25";var global=new Function("return this")();var gcv="__coverage__";var coverageData={path:"/home/tobias/code/a11y/babelacc/node_modules/aria-api/lib/name.js",statementMap:{"0":{start:{line:1,column:16},end:{line:1,column:41}},"1":{start:{line:2,column:12},end:{line:2,column:33}},"2":{start:{line:3,column:12},end:{line:3,column:33}},"3":{start:{line:5,column:23},end:{line:21,column:1}},"4":{start:{line:6,column:14},end:{line:6,column:53}},"5":{start:{line:7,column:11},end:{line:7,column:45}},"6":{start:{line:8,column:14},end:{line:8,column:54}},"7":{start:{line:9,column:1},end:{line:11,column:2}},"8":{start:{line:10,column:2},end:{line:10,column:12}},"9":{start:{line:12,column:1},end:{line:20,column:2}},"10":{start:{line:13,column:2},end:{line:13,column:12}},"11":{start:{line:15,column:2},end:{line:19,column:3}},"12":{start:{line:16,column:3},end:{line:16,column:27}},"13":{start:{line:18,column:3},end:{line:18,column:39}},"14":{start:{line:23,column:17},end:{line:45,column:1}},"15":{start:{line:24,column:16},end:{line:24,column:41}},"16":{start:{line:26,column:11},end:{line:26,column:13}},"17":{start:{line:27,column:1},end:{line:42,column:2}},"18":{start:{line:27,column:14},end:{line:27,column:15}},"19":{start:{line:28,column:13},end:{line:28,column:24}},"20":{start:{line:29,column:2},end:{line:41,column:3}},"21":{start:{line:30,column:3},end:{line:30,column:27}},"22":{start:{line:31,column:9},end:{line:41,column:3}},"23":{start:{line:32,column:3},end:{line:40,column:4}},"24":{start:{line:33,column:4},end:{line:33,column:16}},"25":{start:{line:34,column:10},end:{line:40,column:4}},"26":{start:{line:37,column:4},end:{line:37,column:40}},"27":{start:{line:39,column:4},end:{line:39,column:52}},"28":{start:{line:44,column:1},end:{line:44,column:12}},"29":{start:{line:47,column:27},end:{line:50,column:1}},"30":{start:{line:48,column:12},end:{line:48,column:29}},"31":{start:{line:49,column:1},end:{line:49,column:55}},"32":{start:{line:52,column:30},end:{line:55,column:1}},"33":{start:{line:53,column:13},end:{line:53,column:46}},"34":{start:{line:54,column:1},end:{line:54,column:82}},"35":{start:{line:57,column:14},end:{line:171,column:1}},"36":{start:{line:58,column:11},end:{line:58,column:13}},"37":{start:{line:60,column:1},end:{line:60,column:25}},"38":{start:{line:61,column:1},end:{line:67,column:2}},"39":{start:{line:62,column:2},end:{line:64,column:3}},"40":{start:{line:63,column:3},end:{line:63,column:13}},"41":{start:{line:66,column:2},end:{line:66,column:19}},"42":{start:{line:73,column:1},end:{line:80,column:2}},"43":{start:{line:74,column:12},end:{line:74,column:59}},"44":{start:{line:75,column:16},end:{line:78,column:4}},"45":{start:{line:76,column:15},end:{line:76,column:42}},"46":{start:{line:77,column:3},end:{line:77,column:59}},"47":{start:{line:79,column:2},end:{line:79,column:26}},"48":{start:{line:83,column:1},end:{line:86,column:2}},"49":{start:{line:85,column:2},end:{line:85,column:38}},"50":{start:{line:89,column:1},end:{line:94,column:2}},"51":{start:{line:90,column:16},end:{line:92,column:4}},"52":{start:{line:91,column:3},end:{line:91,column:40}},"53":{start:{line:93,column:2},end:{line:93,column:26}},"54":{start:{line:95,column:1},end:{line:97,column:2}},"55":{start:{line:96,column:2},end:{line:96,column:29}},"56":{start:{line:98,column:1},end:{line:100,column:2}},"57":{start:{line:99,column:2},end:{line:99,column:21}},"58":{start:{line:101,column:1},end:{line:103,column:2}},"59":{start:{line:102,column:2},end:{line:102,column:17}},"60":{start:{line:104,column:1},end:{line:113,column:2}},"61":{start:{line:105,column:2},end:{line:112,column:3}},"62":{start:{line:106,column:3},end:{line:111,column:4}},"63":{start:{line:107,column:21},end:{line:107,column:77}},"64":{start:{line:108,column:4},end:{line:110,column:5}},"65":{start:{line:109,column:5},end:{line:109,column:46}},"66":{start:{line:114,column:1},end:{line:119,column:2}},"67":{start:{line:115,column:17},end:{line:115,column:42}},"68":{start:{line:116,column:2},end:{line:118,column:3}},"69":{start:{line:117,column:3},end:{line:117,column:30}},"70":{start:{line:122,column:1},end:{line:137,column:2}},"71":{start:{line:123,column:2},end:{line:136,column:3}},"72":{start:{line:124,column:3},end:{line:135,column:4}},"73":{start:{line:125,column:4},end:{line:125,column:37}},"74":{start:{line:126,column:10},end:{line:135,column:4}},"75":{start:{line:127,column:19},end:{line:127,column:92}},"76":{start:{line:128,column:4},end:{line:132,column:5}},"77":{start:{line:129,column:5},end:{line:129,column:49}},"78":{start:{line:131,column:5},end:{line:131,column:26}},"79":{start:{line:133,column:10},end:{line:135,column:4}},"80":{start:{line:134,column:4},end:{line:134,column:103}},"81":{start:{line:141,column:1},end:{line:143,column:2}},"82":{start:{line:142,column:2},end:{line:142,column:32}},"83":{start:{line:145,column:1},end:{line:151,column:2}},"84":{start:{line:146,column:2},end:{line:150,column:3}},"85":{start:{line:147,column:3},end:{line:149,column:4}},"86":{start:{line:148,column:4},end:{line:148,column:43}},"87":{start:{line:158,column:1},end:{line:160,column:2}},"88":{start:{line:159,column:2},end:{line:159,column:23}},"89":{start:{line:164,column:1},end:{line:166,column:2}},"90":{start:{line:165,column:2},end:{line:165,column:12}},"91":{start:{line:168,column:14},end:{line:168,column:45}},"92":{start:{line:169,column:13},end:{line:169,column:43}},"93":{start:{line:170,column:1},end:{line:170,column:29}},"94":{start:{line:173,column:21},end:{line:175,column:1}},"95":{start:{line:174,column:1},end:{line:174,column:48}},"96":{start:{line:177,column:21},end:{line:205,column:1}},"97":{start:{line:178,column:11},end:{line:178,column:13}},"98":{start:{line:180,column:1},end:{line:196,column:2}},"99":{start:{line:181,column:12},end:{line:181,column:60}},"100":{start:{line:182,column:16},end:{line:185,column:4}},"101":{start:{line:183,column:15},end:{line:183,column:42}},"102":{start:{line:184,column:3},end:{line:184,column:44}},"103":{start:{line:186,column:2},end:{line:186,column:26}},"104":{start:{line:187,column:8},end:{line:196,column:2}},"105":{start:{line:188,column:2},end:{line:188,column:44}},"106":{start:{line:189,column:8},end:{line:196,column:2}},"107":{start:{line:190,column:16},end:{line:190,column:40}},"108":{start:{line:191,column:2},end:{line:193,column:3}},"109":{start:{line:192,column:3},end:{line:192,column:29}},"110":{start:{line:194,column:8},end:{line:196,column:2}},"111":{start:{line:195,column:2},end:{line:195,column:17}},"112":{start:{line:198,column:1},end:{line:198,column:47}},"113":{start:{line:200,column:1},end:{line:202,column:2}},"114":{start:{line:201,column:2},end:{line:201,column:11}},"115":{start:{line:204,column:1},end:{line:204,column:12}},"116":{start:{line:207,column:0},end:{line:210,column:2}}},fnMap:{"0":{name:"(anonymous_0)",decl:{start:{line:5,column:23},end:{line:5,column:24}},loc:{start:{line:5,column:48},end:{line:21,column:1}},line:5},"1":{name:"(anonymous_1)",decl:{start:{line:23,column:17},end:{line:23,column:18}},loc:{start:{line:23,column:41},end:{line:45,column:1}},line:23},"2":{name:"(anonymous_2)",decl:{start:{line:47,column:27},end:{line:47,column:28}},loc:{start:{line:47,column:40},end:{line:50,column:1}},line:47},"3":{name:"(anonymous_3)",decl:{start:{line:52,column:30},end:{line:52,column:31}},loc:{start:{line:52,column:43},end:{line:55,column:1}},line:52},"4":{name:"(anonymous_4)",decl:{start:{line:57,column:14},end:{line:57,column:15}},loc:{start:{line:57,column:64},end:{line:171,column:1}},line:57},"5":{name:"(anonymous_5)",decl:{start:{line:75,column:24},end:{line:75,column:25}},loc:{start:{line:75,column:30},end:{line:78,column:3}},line:75},"6":{name:"(anonymous_6)",decl:{start:{line:90,column:52},end:{line:90,column:53}},loc:{start:{line:90,column:61},end:{line:92,column:3}},line:90},"7":{name:"(anonymous_7)",decl:{start:{line:173,column:21},end:{line:173,column:22}},loc:{start:{line:173,column:34},end:{line:175,column:1}},line:173},"8":{name:"(anonymous_8)",decl:{start:{line:177,column:21},end:{line:177,column:22}},loc:{start:{line:177,column:34},end:{line:205,column:1}},line:177},"9":{name:"(anonymous_9)",decl:{start:{line:182,column:24},end:{line:182,column:25}},loc:{start:{line:182,column:30},end:{line:185,column:3}},line:182}},branchMap:{"0":{loc:{start:{line:9,column:1},end:{line:11,column:2}},type:"if",locations:[{start:{line:9,column:1},end:{line:11,column:2}},{start:{line:9,column:1},end:{line:11,column:2}}],line:9},"1":{loc:{start:{line:12,column:1},end:{line:20,column:2}},type:"if",locations:[{start:{line:12,column:1},end:{line:20,column:2}},{start:{line:12,column:1},end:{line:20,column:2}}],line:12},"2":{loc:{start:{line:15,column:2},end:{line:19,column:3}},type:"if",locations:[{start:{line:15,column:2},end:{line:19,column:3}},{start:{line:15,column:2},end:{line:19,column:3}}],line:15},"3":{loc:{start:{line:29,column:2},end:{line:41,column:3}},type:"if",locations:[{start:{line:29,column:2},end:{line:41,column:3}},{start:{line:29,column:2},end:{line:41,column:3}}],line:29},"4":{loc:{start:{line:31,column:9},end:{line:41,column:3}},type:"if",locations:[{start:{line:31,column:9},end:{line:41,column:3}},{start:{line:31,column:9},end:{line:41,column:3}}],line:31},"5":{loc:{start:{line:32,column:3},end:{line:40,column:4}},type:"if",locations:[{start:{line:32,column:3},end:{line:40,column:4}},{start:{line:32,column:3},end:{line:40,column:4}}],line:32},"6":{loc:{start:{line:34,column:10},end:{line:40,column:4}},type:"if",locations:[{start:{line:34,column:10},end:{line:40,column:4}},{start:{line:34,column:10},end:{line:40,column:4}}],line:34},"7":{loc:{start:{line:34,column:14},end:{line:36,column:41}},type:"binary-expr",locations:[{start:{line:34,column:14},end:{line:34,column:77}},{start:{line:35,column:5},end:{line:35,column:43}},{start:{line:36,column:5},end:{line:36,column:41}}],line:34},"8":{loc:{start:{line:49,column:9},end:{line:49,column:36}},type:"binary-expr",locations:[{start:{line:49,column:9},end:{line:49,column:30}},{start:{line:49,column:34},end:{line:49,column:36}}],line:49},"9":{loc:{start:{line:54,column:8},end:{line:54,column:81}},type:"binary-expr",locations:[{start:{line:54,column:8},end:{line:54,column:13}},{start:{line:54,column:18},end:{line:54,column:28}},{start:{line:54,column:32},end:{line:54,column:80}}],line:54},"10":{loc:{start:{line:60,column:11},end:{line:60,column:24}},type:"binary-expr",locations:[{start:{line:60,column:11},end:{line:60,column:18}},{start:{line:60,column:22},end:{line:60,column:24}}],line:60},"11":{loc:{start:{line:61,column:1},end:{line:67,column:2}},type:"if",locations:[{start:{line:61,column:1},end:{line:67,column:2}},{start:{line:61,column:1},end:{line:67,column:2}}],line:61},"12":{loc:{start:{line:62,column:2},end:{line:64,column:3}},type:"if",locations:[{start:{line:62,column:2},end:{line:64,column:3}},{start:{line:62,column:2},end:{line:64,column:3}}],line:62},"13":{loc:{start:{line:73,column:1},end:{line:80,column:2}},type:"if",locations:[{start:{line:73,column:1},end:{line:80,column:2}},{start:{line:73,column:1},end:{line:80,column:2}}],line:73},"14":{loc:{start:{line:73,column:5},end:{line:73,column:50}},type:"binary-expr",locations:[{start:{line:73,column:5},end:{line:73,column:15}},{start:{line:73,column:19},end:{line:73,column:50}}],line:73},"15":{loc:{start:{line:77,column:10},end:{line:77,column:58}},type:"cond-expr",locations:[{start:{line:77,column:18},end:{line:77,column:53}},{start:{line:77,column:56},end:{line:77,column:58}}],line:77},"16":{loc:{start:{line:83,column:1},end:{line:86,column:2}},type:"if",locations:[{start:{line:83,column:1},end:{line:86,column:2}},{start:{line:83,column:1},end:{line:86,column:2}}],line:83},"17":{loc:{start:{line:83,column:5},end:{line:83,column:46}},type:"binary-expr",locations:[{start:{line:83,column:5},end:{line:83,column:16}},{start:{line:83,column:20},end:{line:83,column:46}}],line:83},"18":{loc:{start:{line:89,column:1},end:{line:94,column:2}},type:"if",locations:[{start:{line:89,column:1},end:{line:94,column:2}},{start:{line:89,column:1},end:{line:94,column:2}}],line:89},"19":{loc:{start:{line:89,column:5},end:{line:89,column:43}},type:"binary-expr",locations:[{start:{line:89,column:5},end:{line:89,column:16}},{start:{line:89,column:20},end:{line:89,column:30}},{start:{line:89,column:34},end:{line:89,column:43}}],line:89},"20":{loc:{start:{line:95,column:1},end:{line:97,column:2}},type:"if",locations:[{start:{line:95,column:1},end:{line:97,column:2}},{start:{line:95,column:1},end:{line:97,column:2}}],line:95},"21":{loc:{start:{line:96,column:8},end:{line:96,column:28}},type:"binary-expr",locations:[{start:{line:96,column:8},end:{line:96,column:22}},{start:{line:96,column:26},end:{line:96,column:28}}],line:96},"22":{loc:{start:{line:98,column:1},end:{line:100,column:2}},type:"if",locations:[{start:{line:98,column:1},end:{line:100,column:2}},{start:{line:98,column:1},end:{line:100,column:2}}],line:98},"23":{loc:{start:{line:99,column:8},end:{line:99,column:20}},type:"binary-expr",locations:[{start:{line:99,column:8},end:{line:99,column:14}},{start:{line:99,column:18},end:{line:99,column:20}}],line:99},"24":{loc:{start:{line:101,column:1},end:{line:103,column:2}},type:"if",locations:[{start:{line:101,column:1},end:{line:103,column:2}},{start:{line:101,column:1},end:{line:103,column:2}}],line:101},"25":{loc:{start:{line:101,column:5},end:{line:101,column:58}},type:"binary-expr",locations:[{start:{line:101,column:5},end:{line:101,column:16}},{start:{line:101,column:20},end:{line:101,column:46}},{start:{line:101,column:50},end:{line:101,column:58}}],line:101},"26":{loc:{start:{line:104,column:1},end:{line:113,column:2}},type:"if",locations:[{start:{line:104,column:1},end:{line:113,column:2}},{start:{line:104,column:1},end:{line:113,column:2}}],line:104},"27":{loc:{start:{line:106,column:3},end:{line:111,column:4}},type:"if",locations:[{start:{line:106,column:3},end:{line:111,column:4}},{start:{line:106,column:3},end:{line:111,column:4}}],line:106},"28":{loc:{start:{line:108,column:4},end:{line:110,column:5}},type:"if",locations:[{start:{line:108,column:4},end:{line:110,column:5}},{start:{line:108,column:4},end:{line:110,column:5}}],line:108},"29":{loc:{start:{line:114,column:1},end:{line:119,column:2}},type:"if",locations:[{start:{line:114,column:1},end:{line:119,column:2}},{start:{line:114,column:1},end:{line:119,column:2}}],line:114},"30":{loc:{start:{line:114,column:5},end:{line:114,column:39}},type:"binary-expr",locations:[{start:{line:114,column:5},end:{line:114,column:16}},{start:{line:114,column:20},end:{line:114,column:39}}],line:114},"31":{loc:{start:{line:116,column:2},end:{line:118,column:3}},type:"if",locations:[{start:{line:116,column:2},end:{line:118,column:3}},{start:{line:116,column:2},end:{line:118,column:3}}],line:116},"32":{loc:{start:{line:116,column:6},end:{line:116,column:47}},type:"binary-expr",locations:[{start:{line:116,column:6},end:{line:116,column:14}},{start:{line:116,column:18},end:{line:116,column:47}}],line:116},"33":{loc:{start:{line:122,column:1},end:{line:137,column:2}},type:"if",locations:[{start:{line:122,column:1},end:{line:137,column:2}},{start:{line:122,column:1},end:{line:137,column:2}}],line:122},"34":{loc:{start:{line:122,column:5},end:{line:122,column:93}},type:"binary-expr",locations:[{start:{line:122,column:5},end:{line:122,column:16}},{start:{line:122,column:21},end:{line:122,column:30}},{start:{line:122,column:34},end:{line:122,column:61}},{start:{line:122,column:65},end:{line:122,column:92}}],line:122},"35":{loc:{start:{line:123,column:2},end:{line:136,column:3}},type:"if",locations:[{start:{line:123,column:2},end:{line:136,column:3}},{start:{line:123,column:2},end:{line:136,column:3}}],line:123},"36":{loc:{start:{line:124,column:3},end:{line:135,column:4}},type:"if",locations:[{start:{line:124,column:3},end:{line:135,column:4}},{start:{line:124,column:3},end:{line:135,column:4}}],line:124},"37":{loc:{start:{line:125,column:10},end:{line:125,column:36}},type:"binary-expr",locations:[{start:{line:125,column:10},end:{line:125,column:18}},{start:{line:125,column:22},end:{line:125,column:36}}],line:125},"38":{loc:{start:{line:126,column:10},end:{line:135,column:4}},type:"if",locations:[{start:{line:126,column:10},end:{line:135,column:4}},{start:{line:126,column:10},end:{line:135,column:4}}],line:126},"39":{loc:{start:{line:127,column:19},end:{line:127,column:92}},type:"binary-expr",locations:[{start:{line:127,column:19},end:{line:127,column:55}},{start:{line:127,column:59},end:{line:127,column:92}}],line:127},"40":{loc:{start:{line:128,column:4},end:{line:132,column:5}},type:"if",locations:[{start:{line:128,column:4},end:{line:132,column:5}},{start:{line:128,column:4},end:{line:132,column:5}}],line:128},"41":{loc:{start:{line:131,column:11},end:{line:131,column:25}},type:"binary-expr",locations:[{start:{line:131,column:11},end:{line:131,column:19}},{start:{line:131,column:23},end:{line:131,column:25}}],line:131},"42":{loc:{start:{line:133,column:10},end:{line:135,column:4}},type:"if",locations:[{start:{line:133,column:10},end:{line:135,column:4}},{start:{line:133,column:10},end:{line:135,column:4}}],line:133},"43":{loc:{start:{line:134,column:16},end:{line:134,column:101}},type:"binary-expr",locations:[{start:{line:134,column:16},end:{line:134,column:51}},{start:{line:134,column:55},end:{line:134,column:89}},{start:{line:134,column:93},end:{line:134,column:101}}],line:134},"44":{loc:{start:{line:141,column:1},end:{line:143,column:2}},type:"if",locations:[{start:{line:141,column:1},end:{line:143,column:2}},{start:{line:141,column:1},end:{line:143,column:2}}],line:141},"45":{loc:{start:{line:141,column:5},end:{line:141,column:112}},type:"binary-expr",locations:[{start:{line:141,column:5},end:{line:141,column:16}},{start:{line:141,column:21},end:{line:141,column:30}},{start:{line:141,column:34},end:{line:141,column:58}},{start:{line:141,column:62},end:{line:141,column:81}},{start:{line:141,column:86},end:{line:141,column:112}}],line:141},"46":{loc:{start:{line:145,column:1},end:{line:151,column:2}},type:"if",locations:[{start:{line:145,column:1},end:{line:151,column:2}},{start:{line:145,column:1},end:{line:151,column:2}}],line:145},"47":{loc:{start:{line:147,column:3},end:{line:149,column:4}},type:"if",locations:[{start:{line:147,column:3},end:{line:149,column:4}},{start:{line:147,column:3},end:{line:149,column:4}}],line:147},"48":{loc:{start:{line:158,column:1},end:{line:160,column:2}},type:"if",locations:[{start:{line:158,column:1},end:{line:160,column:2}},{start:{line:158,column:1},end:{line:160,column:2}}],line:158},"49":{loc:{start:{line:158,column:5},end:{line:158,column:75}},type:"binary-expr",locations:[{start:{line:158,column:5},end:{line:158,column:16}},{start:{line:158,column:21},end:{line:158,column:36}},{start:{line:158,column:40},end:{line:158,column:74}}],line:158},"50":{loc:{start:{line:159,column:8},end:{line:159,column:22}},type:"binary-expr",locations:[{start:{line:159,column:8},end:{line:159,column:16}},{start:{line:159,column:20},end:{line:159,column:22}}],line:159},"51":{loc:{start:{line:164,column:1},end:{line:166,column:2}},type:"if",locations:[{start:{line:164,column:1},end:{line:166,column:2}},{start:{line:164,column:1},end:{line:166,column:2}}],line:164},"52":{loc:{start:{line:180,column:1},end:{line:196,column:2}},type:"if",locations:[{start:{line:180,column:1},end:{line:196,column:2}},{start:{line:180,column:1},end:{line:196,column:2}}],line:180},"53":{loc:{start:{line:184,column:10},end:{line:184,column:43}},type:"cond-expr",locations:[{start:{line:184,column:18},end:{line:184,column:38}},{start:{line:184,column:41},end:{line:184,column:43}}],line:184},"54":{loc:{start:{line:187,column:8},end:{line:196,column:2}},type:"if",locations:[{start:{line:187,column:8},end:{line:196,column:2}},{start:{line:187,column:8},end:{line:196,column:2}}],line:187},"55":{loc:{start:{line:189,column:8},end:{line:196,column:2}},type:"if",locations:[{start:{line:189,column:8},end:{line:196,column:2}},{start:{line:189,column:8},end:{line:196,column:2}}],line:189},"56":{loc:{start:{line:191,column:2},end:{line:193,column:3}},type:"if",locations:[{start:{line:191,column:2},end:{line:193,column:3}},{start:{line:191,column:2},end:{line:193,column:3}}],line:191},"57":{loc:{start:{line:191,column:6},end:{line:191,column:45}},type:"binary-expr",locations:[{start:{line:191,column:6},end:{line:191,column:13}},{start:{line:191,column:17},end:{line:191,column:45}}],line:191},"58":{loc:{start:{line:194,column:8},end:{line:196,column:2}},type:"if",locations:[{start:{line:194,column:8},end:{line:196,column:2}},{start:{line:194,column:8},end:{line:196,column:2}}],line:194},"59":{loc:{start:{line:198,column:8},end:{line:198,column:17}},type:"binary-expr",locations:[{start:{line:198,column:8},end:{line:198,column:11}},{start:{line:198,column:15},end:{line:198,column:17}}],line:198},"60":{loc:{start:{line:200,column:1},end:{line:202,column:2}},type:"if",locations:[{start:{line:200,column:1},end:{line:202,column:2}},{start:{line:200,column:1},end:{line:202,column:2}}],line:200}},s:{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0,"89":0,"90":0,"91":0,"92":0,"93":0,"94":0,"95":0,"96":0,"97":0,"98":0,"99":0,"100":0,"101":0,"102":0,"103":0,"104":0,"105":0,"106":0,"107":0,"108":0,"109":0,"110":0,"111":0,"112":0,"113":0,"114":0,"115":0,"116":0},f:{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0},b:{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0,0],"8":[0,0],"9":[0,0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,0],"17":[0,0],"18":[0,0],"19":[0,0,0],"20":[0,0],"21":[0,0],"22":[0,0],"23":[0,0],"24":[0,0],"25":[0,0,0],"26":[0,0],"27":[0,0],"28":[0,0],"29":[0,0],"30":[0,0],"31":[0,0],"32":[0,0],"33":[0,0],"34":[0,0,0,0],"35":[0,0],"36":[0,0],"37":[0,0],"38":[0,0],"39":[0,0],"40":[0,0],"41":[0,0],"42":[0,0],"43":[0,0,0],"44":[0,0],"45":[0,0,0,0,0],"46":[0,0],"47":[0,0],"48":[0,0],"49":[0,0,0],"50":[0,0],"51":[0,0],"52":[0,0],"53":[0,0],"54":[0,0],"55":[0,0],"56":[0,0],"57":[0,0],"58":[0,0],"59":[0,0],"60":[0,0]},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"1de31b7612077d6ae16bb7d65d41c072c50d8c25"};var coverage=global[gcv]||(global[gcv]={});if(!coverage[path]||coverage[path].hash!==hash){coverage[path]=coverageData;}var actualCoverage=coverage[path];{// @ts-ignore
 1162    -1 cov_22i8nvh4cs=function(){return actualCoverage;};}return actualCoverage;}cov_22i8nvh4cs();var constants=(cov_22i8nvh4cs().s[0]++,require('./constants.js'));var atree=(cov_22i8nvh4cs().s[1]++,require('./atree.js'));var query=(cov_22i8nvh4cs().s[2]++,require('./query.js'));cov_22i8nvh4cs().s[3]++;var getPseudoContent=function(node,selector){cov_22i8nvh4cs().f[0]++;var styles=(cov_22i8nvh4cs().s[4]++,window.getComputedStyle(node,selector));var ret=(cov_22i8nvh4cs().s[5]++,styles.getPropertyValue('content'));var inline=(cov_22i8nvh4cs().s[6]++,styles.display.substr(0,6)==='inline');cov_22i8nvh4cs().s[7]++;if(!ret){cov_22i8nvh4cs().b[0][0]++;cov_22i8nvh4cs().s[8]++;return'';}else{cov_22i8nvh4cs().b[0][1]++;}cov_22i8nvh4cs().s[9]++;if(ret.substr(0,1)!=='"'){cov_22i8nvh4cs().b[1][0]++;cov_22i8nvh4cs().s[10]++;return'';}else{cov_22i8nvh4cs().b[1][1]++;cov_22i8nvh4cs().s[11]++;if(inline){cov_22i8nvh4cs().b[2][0]++;cov_22i8nvh4cs().s[12]++;return ret.slice(1,-1);}else{cov_22i8nvh4cs().b[2][1]++;cov_22i8nvh4cs().s[13]++;return' '+ret.slice(1,-1)+' ';}}};cov_22i8nvh4cs().s[14]++;var getContent=function(root,visited){cov_22i8nvh4cs().f[1]++;var children=(cov_22i8nvh4cs().s[15]++,atree.getChildNodes(root));var ret=(cov_22i8nvh4cs().s[16]++,'');cov_22i8nvh4cs().s[17]++;for(var i=(cov_22i8nvh4cs().s[18]++,0);i<children.length;i++){var node=(cov_22i8nvh4cs().s[19]++,children[i]);cov_22i8nvh4cs().s[20]++;if(node.nodeType===node.TEXT_NODE){cov_22i8nvh4cs().b[3][0]++;cov_22i8nvh4cs().s[21]++;ret+=node.textContent;}else{cov_22i8nvh4cs().b[3][1]++;cov_22i8nvh4cs().s[22]++;if(node.nodeType===node.ELEMENT_NODE){cov_22i8nvh4cs().b[4][0]++;cov_22i8nvh4cs().s[23]++;if(node.tagName.toLowerCase()==='br'){cov_22i8nvh4cs().b[5][0]++;cov_22i8nvh4cs().s[24]++;ret+='\n';}else{cov_22i8nvh4cs().b[5][1]++;cov_22i8nvh4cs().s[25]++;if((cov_22i8nvh4cs().b[7][0]++,window.getComputedStyle(node).display.substr(0,6)==='inline')&&(cov_22i8nvh4cs().b[7][1]++,node.tagName.toLowerCase()!=='input')&&(cov_22i8nvh4cs().b[7][2]++,node.tagName.toLowerCase()!=='img')){cov_22i8nvh4cs().b[6][0]++;cov_22i8nvh4cs().s[26]++;// https://github.com/w3c/accname/issues/3
 1163    -1 ret+=getName(node,true,visited);}else{cov_22i8nvh4cs().b[6][1]++;cov_22i8nvh4cs().s[27]++;ret+=' '+getName(node,true,visited)+' ';}}}else{cov_22i8nvh4cs().b[4][1]++;}}}cov_22i8nvh4cs().s[28]++;return ret;};cov_22i8nvh4cs().s[29]++;var allowNameFromContent=function(el){cov_22i8nvh4cs().f[2]++;var role=(cov_22i8nvh4cs().s[30]++,query.getRole(el));cov_22i8nvh4cs().s[31]++;return((cov_22i8nvh4cs().b[8][0]++,constants.roles[role])||(cov_22i8nvh4cs().b[8][1]++,{})).nameFromContents;};cov_22i8nvh4cs().s[32]++;var isInLabelForOtherWidget=function(el){cov_22i8nvh4cs().f[3]++;var label=(cov_22i8nvh4cs().s[33]++,el.parentElement.closest('label'));cov_22i8nvh4cs().s[34]++;return(cov_22i8nvh4cs().b[9][0]++,label)&&((cov_22i8nvh4cs().b[9][1]++,!el.labels)||(cov_22i8nvh4cs().b[9][2]++,!Array.prototype.includes.call(el.labels,label)));};cov_22i8nvh4cs().s[35]++;var getName=function(el,recursive,visited,directReference){cov_22i8nvh4cs().f[4]++;var ret=(cov_22i8nvh4cs().s[36]++,'');cov_22i8nvh4cs().s[37]++;visited=(cov_22i8nvh4cs().b[10][0]++,visited)||(cov_22i8nvh4cs().b[10][1]++,[]);cov_22i8nvh4cs().s[38]++;if(visited.includes(el)){cov_22i8nvh4cs().b[11][0]++;cov_22i8nvh4cs().s[39]++;if(!directReference){cov_22i8nvh4cs().b[12][0]++;cov_22i8nvh4cs().s[40]++;return'';}else{cov_22i8nvh4cs().b[12][1]++;}}else{cov_22i8nvh4cs().b[11][1]++;cov_22i8nvh4cs().s[41]++;visited.push(el);}// A
   -1  1305 function cov_22i8nvh4cs(){var path="node_modules/aria-api/lib/name.js";var hash="33fb1e8c5c5d4b85b7cbe0185f2673ac454be0c8";var global=new Function("return this")();var gcv="__coverage__";var coverageData={path:"/home/tobias/code/a11y/babelacc/node_modules/aria-api/lib/name.js",statementMap:{"0":{start:{line:1,column:18},end:{line:1,column:43}},"1":{start:{line:2,column:14},end:{line:2,column:35}},"2":{start:{line:3,column:14},end:{line:3,column:35}},"3":{start:{line:5,column:18},end:{line:10,column:1}},"4":{start:{line:7,column:16},end:{line:7,column:59}},"5":{start:{line:8,column:16},end:{line:8,column:43}},"6":{start:{line:9,column:1},end:{line:9,column:36}},"7":{start:{line:12,column:25},end:{line:39,column:1}},"8":{start:{line:13,column:16},end:{line:13,column:59}},"9":{start:{line:14,column:12},end:{line:14,column:53}},"10":{start:{line:15,column:11},end:{line:15,column:13}},"11":{start:{line:18,column:1},end:{line:36,column:2}},"12":{start:{line:19,column:2},end:{line:34,column:3}},"13":{start:{line:20,column:3},end:{line:20,column:22}},"14":{start:{line:21,column:9},end:{line:34,column:3}},"15":{start:{line:22,column:3},end:{line:24,column:4}},"16":{start:{line:23,column:4},end:{line:23,column:46}},"17":{start:{line:25,column:9},end:{line:34,column:3}},"18":{start:{line:26,column:3},end:{line:28,column:4}},"19":{start:{line:27,column:4},end:{line:27,column:18}},"20":{start:{line:29,column:9},end:{line:34,column:3}},"21":{start:{line:30,column:3},end:{line:30,column:12}},"22":{start:{line:33,column:3},end:{line:33,column:13}},"23":{start:{line:35,column:2},end:{line:35,column:44}},"24":{start:{line:38,column:1},end:{line:38,column:52}},"25":{start:{line:41,column:19},end:{line:59,column:1}},"26":{start:{line:42,column:18},end:{line:42,column:43}},"27":{start:{line:44,column:11},end:{line:44,column:13}},"28":{start:{line:45,column:1},end:{line:56,column:2}},"29":{start:{line:45,column:14},end:{line:45,column:15}},"30":{start:{line:46,column:15},end:{line:46,column:26}},"31":{start:{line:47,column:2},end:{line:55,column:3}},"32":{start:{line:48,column:3},end:{line:48,column:27}},"33":{start:{line:49,column:9},end:{line:55,column:3}},"34":{start:{line:50,column:3},end:{line:54,column:4}},"35":{start:{line:51,column:4},end:{line:51,column:16}},"36":{start:{line:53,column:4},end:{line:53,column:59}},"37":{start:{line:58,column:1},end:{line:58,column:12}},"38":{start:{line:61,column:29},end:{line:66,column:1}},"39":{start:{line:62,column:14},end:{line:62,column:31}},"40":{start:{line:63,column:1},end:{line:65,column:2}},"41":{start:{line:64,column:2},end:{line:64,column:48}},"42":{start:{line:68,column:16},end:{line:183,column:1}},"43":{start:{line:69,column:11},end:{line:69,column:13}},"44":{start:{line:71,column:1},end:{line:71,column:25}},"45":{start:{line:72,column:1},end:{line:78,column:2}},"46":{start:{line:73,column:2},end:{line:75,column:3}},"47":{start:{line:74,column:3},end:{line:74,column:13}},"48":{start:{line:77,column:2},end:{line:77,column:19}},"49":{start:{line:84,column:1},end:{line:91,column:2}},"50":{start:{line:85,column:14},end:{line:85,column:61}},"51":{start:{line:86,column:18},end:{line:89,column:4}},"52":{start:{line:87,column:17},end:{line:87,column:44}},"53":{start:{line:88,column:3},end:{line:88,column:65}},"54":{start:{line:90,column:2},end:{line:90,column:26}},"55":{start:{line:94,column:1},end:{line:107,column:2}},"56":{start:{line:95,column:2},end:{line:106,column:3}},"57":{start:{line:96,column:3},end:{line:96,column:36}},"58":{start:{line:97,column:9},end:{line:106,column:3}},"59":{start:{line:98,column:20},end:{line:98,column:93}},"60":{start:{line:99,column:3},end:{line:103,column:4}},"61":{start:{line:100,column:4},end:{line:100,column:67}},"62":{start:{line:102,column:4},end:{line:102,column:25}},"63":{start:{line:104,column:9},end:{line:106,column:3}},"64":{start:{line:105,column:3},end:{line:105,column:102}},"65":{start:{line:110,column:1},end:{line:113,column:2}},"66":{start:{line:112,column:2},end:{line:112,column:38}},"67":{start:{line:116,column:1},end:{line:121,column:2}},"68":{start:{line:117,column:18},end:{line:119,column:4}},"69":{start:{line:118,column:3},end:{line:118,column:59}},"70":{start:{line:120,column:2},end:{line:120,column:26}},"71":{start:{line:122,column:1},end:{line:124,column:2}},"72":{start:{line:123,column:2},end:{line:123,column:21}},"73":{start:{line:125,column:1},end:{line:127,column:2}},"74":{start:{line:126,column:2},end:{line:126,column:17}},"75":{start:{line:128,column:1},end:{line:137,column:2}},"76":{start:{line:129,column:2},end:{line:136,column:3}},"77":{start:{line:130,column:3},end:{line:135,column:4}},"78":{start:{line:131,column:23},end:{line:131,column:79}},"79":{start:{line:132,column:4},end:{line:134,column:5}},"80":{start:{line:133,column:5},end:{line:133,column:65}},"81":{start:{line:138,column:1},end:{line:143,column:2}},"82":{start:{line:139,column:19},end:{line:139,column:44}},"83":{start:{line:140,column:2},end:{line:142,column:3}},"84":{start:{line:141,column:3},end:{line:141,column:30}},"85":{start:{line:144,column:1},end:{line:146,column:2}},"86":{start:{line:145,column:2},end:{line:145,column:45}},"87":{start:{line:150,column:1},end:{line:152,column:2}},"88":{start:{line:151,column:2},end:{line:151,column:51}},"89":{start:{line:154,column:1},end:{line:156,column:2}},"90":{start:{line:155,column:2},end:{line:155,column:23}},"91":{start:{line:158,column:1},end:{line:164,column:2}},"92":{start:{line:159,column:2},end:{line:163,column:3}},"93":{start:{line:160,column:3},end:{line:162,column:4}},"94":{start:{line:161,column:4},end:{line:161,column:43}},"95":{start:{line:170,column:1},end:{line:172,column:2}},"96":{start:{line:171,column:2},end:{line:171,column:41}},"97":{start:{line:176,column:1},end:{line:178,column:2}},"98":{start:{line:177,column:2},end:{line:177,column:12}},"99":{start:{line:180,column:16},end:{line:180,column:47}},"100":{start:{line:181,column:15},end:{line:181,column:45}},"101":{start:{line:182,column:1},end:{line:182,column:44}},"102":{start:{line:185,column:23},end:{line:190,column:1}},"103":{start:{line:186,column:1},end:{line:189,column:21}},"104":{start:{line:192,column:23},end:{line:223,column:1}},"105":{start:{line:193,column:11},end:{line:193,column:13}},"106":{start:{line:195,column:1},end:{line:211,column:2}},"107":{start:{line:196,column:14},end:{line:196,column:62}},"108":{start:{line:197,column:18},end:{line:200,column:4}},"109":{start:{line:198,column:17},end:{line:198,column:44}},"110":{start:{line:199,column:3},end:{line:199,column:50}},"111":{start:{line:201,column:2},end:{line:201,column:26}},"112":{start:{line:202,column:8},end:{line:211,column:2}},"113":{start:{line:203,column:2},end:{line:203,column:44}},"114":{start:{line:204,column:8},end:{line:211,column:2}},"115":{start:{line:205,column:18},end:{line:205,column:42}},"116":{start:{line:206,column:2},end:{line:208,column:3}},"117":{start:{line:207,column:3},end:{line:207,column:29}},"118":{start:{line:209,column:8},end:{line:211,column:2}},"119":{start:{line:210,column:2},end:{line:210,column:17}},"120":{start:{line:212,column:1},end:{line:214,column:2}},"121":{start:{line:213,column:2},end:{line:213,column:45}},"122":{start:{line:216,column:1},end:{line:216,column:47}},"123":{start:{line:218,column:1},end:{line:220,column:2}},"124":{start:{line:219,column:2},end:{line:219,column:11}},"125":{start:{line:222,column:1},end:{line:222,column:12}},"126":{start:{line:225,column:0},end:{line:228,column:2}}},fnMap:{"0":{name:"(anonymous_0)",decl:{start:{line:5,column:18},end:{line:5,column:19}},loc:{start:{line:5,column:53},end:{line:10,column:1}},line:5},"1":{name:"(anonymous_1)",decl:{start:{line:12,column:25},end:{line:12,column:26}},loc:{start:{line:12,column:54},end:{line:39,column:1}},line:12},"2":{name:"(anonymous_2)",decl:{start:{line:41,column:19},end:{line:41,column:20}},loc:{start:{line:41,column:62},end:{line:59,column:1}},line:41},"3":{name:"(anonymous_3)",decl:{start:{line:61,column:29},end:{line:61,column:30}},loc:{start:{line:61,column:42},end:{line:66,column:1}},line:61},"4":{name:"(anonymous_4)",decl:{start:{line:68,column:16},end:{line:68,column:17}},loc:{start:{line:68,column:85},end:{line:183,column:1}},line:68},"5":{name:"(anonymous_5)",decl:{start:{line:86,column:26},end:{line:86,column:27}},loc:{start:{line:86,column:32},end:{line:89,column:3}},line:86},"6":{name:"(anonymous_6)",decl:{start:{line:117,column:54},end:{line:117,column:55}},loc:{start:{line:117,column:63},end:{line:119,column:3}},line:117},"7":{name:"(anonymous_7)",decl:{start:{line:185,column:23},end:{line:185,column:24}},loc:{start:{line:185,column:36},end:{line:190,column:1}},line:185},"8":{name:"(anonymous_8)",decl:{start:{line:192,column:23},end:{line:192,column:24}},loc:{start:{line:192,column:36},end:{line:223,column:1}},line:192},"9":{name:"(anonymous_9)",decl:{start:{line:197,column:26},end:{line:197,column:27}},loc:{start:{line:197,column:32},end:{line:200,column:3}},line:197}},branchMap:{"0":{loc:{start:{line:9,column:8},end:{line:9,column:35}},type:"cond-expr",locations:[{start:{line:9,column:17},end:{line:9,column:21}},{start:{line:9,column:24},end:{line:9,column:35}}],line:9},"1":{loc:{start:{line:19,column:2},end:{line:34,column:3}},type:"if",locations:[{start:{line:19,column:2},end:{line:34,column:3}},{start:{line:19,column:2},end:{line:34,column:3}}],line:19},"2":{loc:{start:{line:21,column:9},end:{line:34,column:3}},type:"if",locations:[{start:{line:21,column:9},end:{line:34,column:3}},{start:{line:21,column:9},end:{line:34,column:3}}],line:21},"3":{loc:{start:{line:22,column:3},end:{line:24,column:4}},type:"if",locations:[{start:{line:22,column:3},end:{line:24,column:4}},{start:{line:22,column:3},end:{line:24,column:4}}],line:22},"4":{loc:{start:{line:23,column:13},end:{line:23,column:44}},type:"binary-expr",locations:[{start:{line:23,column:13},end:{line:23,column:38}},{start:{line:23,column:42},end:{line:23,column:44}}],line:23},"5":{loc:{start:{line:25,column:9},end:{line:34,column:3}},type:"if",locations:[{start:{line:25,column:9},end:{line:34,column:3}},{start:{line:25,column:9},end:{line:34,column:3}}],line:25},"6":{loc:{start:{line:26,column:3},end:{line:28,column:4}},type:"if",locations:[{start:{line:26,column:3},end:{line:28,column:4}},{start:{line:26,column:3},end:{line:28,column:4}}],line:26},"7":{loc:{start:{line:26,column:7},end:{line:26,column:62}},type:"binary-expr",locations:[{start:{line:26,column:7},end:{line:26,column:32}},{start:{line:26,column:36},end:{line:26,column:62}}],line:26},"8":{loc:{start:{line:29,column:9},end:{line:34,column:3}},type:"if",locations:[{start:{line:29,column:9},end:{line:34,column:3}},{start:{line:29,column:9},end:{line:34,column:3}}],line:29},"9":{loc:{start:{line:47,column:2},end:{line:55,column:3}},type:"if",locations:[{start:{line:47,column:2},end:{line:55,column:3}},{start:{line:47,column:2},end:{line:55,column:3}}],line:47},"10":{loc:{start:{line:49,column:9},end:{line:55,column:3}},type:"if",locations:[{start:{line:49,column:9},end:{line:55,column:3}},{start:{line:49,column:9},end:{line:55,column:3}}],line:49},"11":{loc:{start:{line:50,column:3},end:{line:54,column:4}},type:"if",locations:[{start:{line:50,column:3},end:{line:54,column:4}},{start:{line:50,column:3},end:{line:54,column:4}}],line:50},"12":{loc:{start:{line:63,column:1},end:{line:65,column:2}},type:"if",locations:[{start:{line:63,column:1},end:{line:65,column:2}},{start:{line:63,column:1},end:{line:65,column:2}}],line:63},"13":{loc:{start:{line:71,column:11},end:{line:71,column:24}},type:"binary-expr",locations:[{start:{line:71,column:11},end:{line:71,column:18}},{start:{line:71,column:22},end:{line:71,column:24}}],line:71},"14":{loc:{start:{line:72,column:1},end:{line:78,column:2}},type:"if",locations:[{start:{line:72,column:1},end:{line:78,column:2}},{start:{line:72,column:1},end:{line:78,column:2}}],line:72},"15":{loc:{start:{line:73,column:2},end:{line:75,column:3}},type:"if",locations:[{start:{line:73,column:2},end:{line:75,column:3}},{start:{line:73,column:2},end:{line:75,column:3}}],line:73},"16":{loc:{start:{line:84,column:1},end:{line:91,column:2}},type:"if",locations:[{start:{line:84,column:1},end:{line:91,column:2}},{start:{line:84,column:1},end:{line:91,column:2}}],line:84},"17":{loc:{start:{line:84,column:5},end:{line:84,column:58}},type:"binary-expr",locations:[{start:{line:84,column:5},end:{line:84,column:23}},{start:{line:84,column:27},end:{line:84,column:58}}],line:84},"18":{loc:{start:{line:88,column:10},end:{line:88,column:64}},type:"cond-expr",locations:[{start:{line:88,column:18},end:{line:88,column:59}},{start:{line:88,column:62},end:{line:88,column:64}}],line:88},"19":{loc:{start:{line:94,column:1},end:{line:107,column:2}},type:"if",locations:[{start:{line:94,column:1},end:{line:107,column:2}},{start:{line:94,column:1},end:{line:107,column:2}}],line:94},"20":{loc:{start:{line:94,column:5},end:{line:94,column:29}},type:"binary-expr",locations:[{start:{line:94,column:5},end:{line:94,column:16}},{start:{line:94,column:20},end:{line:94,column:29}}],line:94},"21":{loc:{start:{line:95,column:2},end:{line:106,column:3}},type:"if",locations:[{start:{line:95,column:2},end:{line:106,column:3}},{start:{line:95,column:2},end:{line:106,column:3}}],line:95},"22":{loc:{start:{line:96,column:9},end:{line:96,column:35}},type:"binary-expr",locations:[{start:{line:96,column:9},end:{line:96,column:17}},{start:{line:96,column:21},end:{line:96,column:35}}],line:96},"23":{loc:{start:{line:97,column:9},end:{line:106,column:3}},type:"if",locations:[{start:{line:97,column:9},end:{line:106,column:3}},{start:{line:97,column:9},end:{line:106,column:3}}],line:97},"24":{loc:{start:{line:98,column:20},end:{line:98,column:93}},type:"binary-expr",locations:[{start:{line:98,column:20},end:{line:98,column:56}},{start:{line:98,column:60},end:{line:98,column:93}}],line:98},"25":{loc:{start:{line:99,column:3},end:{line:103,column:4}},type:"if",locations:[{start:{line:99,column:3},end:{line:103,column:4}},{start:{line:99,column:3},end:{line:103,column:4}}],line:99},"26":{loc:{start:{line:102,column:10},end:{line:102,column:24}},type:"binary-expr",locations:[{start:{line:102,column:10},end:{line:102,column:18}},{start:{line:102,column:22},end:{line:102,column:24}}],line:102},"27":{loc:{start:{line:104,column:9},end:{line:106,column:3}},type:"if",locations:[{start:{line:104,column:9},end:{line:106,column:3}},{start:{line:104,column:9},end:{line:106,column:3}}],line:104},"28":{loc:{start:{line:105,column:15},end:{line:105,column:100}},type:"binary-expr",locations:[{start:{line:105,column:15},end:{line:105,column:50}},{start:{line:105,column:54},end:{line:105,column:88}},{start:{line:105,column:92},end:{line:105,column:100}}],line:105},"29":{loc:{start:{line:110,column:1},end:{line:113,column:2}},type:"if",locations:[{start:{line:110,column:1},end:{line:113,column:2}},{start:{line:110,column:1},end:{line:113,column:2}}],line:110},"30":{loc:{start:{line:110,column:5},end:{line:110,column:46}},type:"binary-expr",locations:[{start:{line:110,column:5},end:{line:110,column:16}},{start:{line:110,column:20},end:{line:110,column:46}}],line:110},"31":{loc:{start:{line:116,column:1},end:{line:121,column:2}},type:"if",locations:[{start:{line:116,column:1},end:{line:121,column:2}},{start:{line:116,column:1},end:{line:121,column:2}}],line:116},"32":{loc:{start:{line:116,column:5},end:{line:116,column:43}},type:"binary-expr",locations:[{start:{line:116,column:5},end:{line:116,column:16}},{start:{line:116,column:20},end:{line:116,column:30}},{start:{line:116,column:34},end:{line:116,column:43}}],line:116},"33":{loc:{start:{line:122,column:1},end:{line:124,column:2}},type:"if",locations:[{start:{line:122,column:1},end:{line:124,column:2}},{start:{line:122,column:1},end:{line:124,column:2}}],line:122},"34":{loc:{start:{line:123,column:8},end:{line:123,column:20}},type:"binary-expr",locations:[{start:{line:123,column:8},end:{line:123,column:14}},{start:{line:123,column:18},end:{line:123,column:20}}],line:123},"35":{loc:{start:{line:125,column:1},end:{line:127,column:2}},type:"if",locations:[{start:{line:125,column:1},end:{line:127,column:2}},{start:{line:125,column:1},end:{line:127,column:2}}],line:125},"36":{loc:{start:{line:125,column:5},end:{line:125,column:58}},type:"binary-expr",locations:[{start:{line:125,column:5},end:{line:125,column:16}},{start:{line:125,column:20},end:{line:125,column:46}},{start:{line:125,column:50},end:{line:125,column:58}}],line:125},"37":{loc:{start:{line:128,column:1},end:{line:137,column:2}},type:"if",locations:[{start:{line:128,column:1},end:{line:137,column:2}},{start:{line:128,column:1},end:{line:137,column:2}}],line:128},"38":{loc:{start:{line:130,column:3},end:{line:135,column:4}},type:"if",locations:[{start:{line:130,column:3},end:{line:135,column:4}},{start:{line:130,column:3},end:{line:135,column:4}}],line:130},"39":{loc:{start:{line:132,column:4},end:{line:134,column:5}},type:"if",locations:[{start:{line:132,column:4},end:{line:134,column:5}},{start:{line:132,column:4},end:{line:134,column:5}}],line:132},"40":{loc:{start:{line:138,column:1},end:{line:143,column:2}},type:"if",locations:[{start:{line:138,column:1},end:{line:143,column:2}},{start:{line:138,column:1},end:{line:143,column:2}}],line:138},"41":{loc:{start:{line:138,column:5},end:{line:138,column:39}},type:"binary-expr",locations:[{start:{line:138,column:5},end:{line:138,column:16}},{start:{line:138,column:20},end:{line:138,column:39}}],line:138},"42":{loc:{start:{line:140,column:2},end:{line:142,column:3}},type:"if",locations:[{start:{line:140,column:2},end:{line:142,column:3}},{start:{line:140,column:2},end:{line:142,column:3}}],line:140},"43":{loc:{start:{line:140,column:6},end:{line:140,column:47}},type:"binary-expr",locations:[{start:{line:140,column:6},end:{line:140,column:14}},{start:{line:140,column:18},end:{line:140,column:47}}],line:140},"44":{loc:{start:{line:144,column:1},end:{line:146,column:2}},type:"if",locations:[{start:{line:144,column:1},end:{line:146,column:2}},{start:{line:144,column:1},end:{line:146,column:2}}],line:144},"45":{loc:{start:{line:144,column:5},end:{line:144,column:35}},type:"binary-expr",locations:[{start:{line:144,column:5},end:{line:144,column:16}},{start:{line:144,column:20},end:{line:144,column:35}}],line:144},"46":{loc:{start:{line:145,column:8},end:{line:145,column:44}},type:"binary-expr",locations:[{start:{line:145,column:8},end:{line:145,column:38}},{start:{line:145,column:42},end:{line:145,column:44}}],line:145},"47":{loc:{start:{line:150,column:1},end:{line:152,column:2}},type:"if",locations:[{start:{line:150,column:1},end:{line:152,column:2}},{start:{line:150,column:1},end:{line:152,column:2}}],line:150},"48":{loc:{start:{line:150,column:5},end:{line:150,column:112}},type:"binary-expr",locations:[{start:{line:150,column:5},end:{line:150,column:16}},{start:{line:150,column:21},end:{line:150,column:30}},{start:{line:150,column:34},end:{line:150,column:58}},{start:{line:150,column:62},end:{line:150,column:81}},{start:{line:150,column:86},end:{line:150,column:112}}],line:150},"49":{loc:{start:{line:154,column:1},end:{line:156,column:2}},type:"if",locations:[{start:{line:154,column:1},end:{line:156,column:2}},{start:{line:154,column:1},end:{line:156,column:2}}],line:154},"50":{loc:{start:{line:154,column:5},end:{line:154,column:47}},type:"binary-expr",locations:[{start:{line:154,column:5},end:{line:154,column:16}},{start:{line:154,column:20},end:{line:154,column:47}}],line:154},"51":{loc:{start:{line:155,column:8},end:{line:155,column:22}},type:"binary-expr",locations:[{start:{line:155,column:8},end:{line:155,column:16}},{start:{line:155,column:20},end:{line:155,column:22}}],line:155},"52":{loc:{start:{line:158,column:1},end:{line:164,column:2}},type:"if",locations:[{start:{line:158,column:1},end:{line:164,column:2}},{start:{line:158,column:1},end:{line:164,column:2}}],line:158},"53":{loc:{start:{line:160,column:3},end:{line:162,column:4}},type:"if",locations:[{start:{line:160,column:3},end:{line:162,column:4}},{start:{line:160,column:3},end:{line:162,column:4}}],line:160},"54":{loc:{start:{line:170,column:1},end:{line:172,column:2}},type:"if",locations:[{start:{line:170,column:1},end:{line:172,column:2}},{start:{line:170,column:1},end:{line:172,column:2}}],line:170},"55":{loc:{start:{line:171,column:8},end:{line:171,column:40}},type:"binary-expr",locations:[{start:{line:171,column:8},end:{line:171,column:16}},{start:{line:171,column:20},end:{line:171,column:34}},{start:{line:171,column:38},end:{line:171,column:40}}],line:171},"56":{loc:{start:{line:176,column:1},end:{line:178,column:2}},type:"if",locations:[{start:{line:176,column:1},end:{line:178,column:2}},{start:{line:176,column:1},end:{line:178,column:2}}],line:176},"57":{loc:{start:{line:195,column:1},end:{line:211,column:2}},type:"if",locations:[{start:{line:195,column:1},end:{line:211,column:2}},{start:{line:195,column:1},end:{line:211,column:2}}],line:195},"58":{loc:{start:{line:199,column:10},end:{line:199,column:49}},type:"cond-expr",locations:[{start:{line:199,column:18},end:{line:199,column:44}},{start:{line:199,column:47},end:{line:199,column:49}}],line:199},"59":{loc:{start:{line:202,column:8},end:{line:211,column:2}},type:"if",locations:[{start:{line:202,column:8},end:{line:211,column:2}},{start:{line:202,column:8},end:{line:211,column:2}}],line:202},"60":{loc:{start:{line:204,column:8},end:{line:211,column:2}},type:"if",locations:[{start:{line:204,column:8},end:{line:211,column:2}},{start:{line:204,column:8},end:{line:211,column:2}}],line:204},"61":{loc:{start:{line:206,column:2},end:{line:208,column:3}},type:"if",locations:[{start:{line:206,column:2},end:{line:208,column:3}},{start:{line:206,column:2},end:{line:208,column:3}}],line:206},"62":{loc:{start:{line:206,column:6},end:{line:206,column:45}},type:"binary-expr",locations:[{start:{line:206,column:6},end:{line:206,column:13}},{start:{line:206,column:17},end:{line:206,column:45}}],line:206},"63":{loc:{start:{line:209,column:8},end:{line:211,column:2}},type:"if",locations:[{start:{line:209,column:8},end:{line:211,column:2}},{start:{line:209,column:8},end:{line:211,column:2}}],line:209},"64":{loc:{start:{line:212,column:1},end:{line:214,column:2}},type:"if",locations:[{start:{line:212,column:1},end:{line:214,column:2}},{start:{line:212,column:1},end:{line:214,column:2}}],line:212},"65":{loc:{start:{line:212,column:5},end:{line:212,column:35}},type:"binary-expr",locations:[{start:{line:212,column:5},end:{line:212,column:16}},{start:{line:212,column:20},end:{line:212,column:35}}],line:212},"66":{loc:{start:{line:213,column:8},end:{line:213,column:44}},type:"binary-expr",locations:[{start:{line:213,column:8},end:{line:213,column:38}},{start:{line:213,column:42},end:{line:213,column:44}}],line:213},"67":{loc:{start:{line:216,column:8},end:{line:216,column:17}},type:"binary-expr",locations:[{start:{line:216,column:8},end:{line:216,column:11}},{start:{line:216,column:15},end:{line:216,column:17}}],line:216},"68":{loc:{start:{line:218,column:1},end:{line:220,column:2}},type:"if",locations:[{start:{line:218,column:1},end:{line:220,column:2}},{start:{line:218,column:1},end:{line:220,column:2}}],line:218}},s:{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0,"89":0,"90":0,"91":0,"92":0,"93":0,"94":0,"95":0,"96":0,"97":0,"98":0,"99":0,"100":0,"101":0,"102":0,"103":0,"104":0,"105":0,"106":0,"107":0,"108":0,"109":0,"110":0,"111":0,"112":0,"113":0,"114":0,"115":0,"116":0,"117":0,"118":0,"119":0,"120":0,"121":0,"122":0,"123":0,"124":0,"125":0,"126":0},f:{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0},b:{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,0],"17":[0,0],"18":[0,0],"19":[0,0],"20":[0,0],"21":[0,0],"22":[0,0],"23":[0,0],"24":[0,0],"25":[0,0],"26":[0,0],"27":[0,0],"28":[0,0,0],"29":[0,0],"30":[0,0],"31":[0,0],"32":[0,0,0],"33":[0,0],"34":[0,0],"35":[0,0],"36":[0,0,0],"37":[0,0],"38":[0,0],"39":[0,0],"40":[0,0],"41":[0,0],"42":[0,0],"43":[0,0],"44":[0,0],"45":[0,0],"46":[0,0],"47":[0,0],"48":[0,0,0,0,0],"49":[0,0],"50":[0,0],"51":[0,0],"52":[0,0],"53":[0,0],"54":[0,0],"55":[0,0,0],"56":[0,0],"57":[0,0],"58":[0,0],"59":[0,0],"60":[0,0],"61":[0,0],"62":[0,0],"63":[0,0],"64":[0,0],"65":[0,0],"66":[0,0],"67":[0,0],"68":[0,0]},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"33fb1e8c5c5d4b85b7cbe0185f2673ac454be0c8"};var coverage=global[gcv]||(global[gcv]={});if(!coverage[path]||coverage[path].hash!==hash){coverage[path]=coverageData;}var actualCoverage=coverage[path];{// @ts-ignore
   -1  1306 cov_22i8nvh4cs=function(){return actualCoverage;};}return actualCoverage;}cov_22i8nvh4cs();const constants=(cov_22i8nvh4cs().s[0]++,require('./constants.js'));const atree=(cov_22i8nvh4cs().s[1]++,require('./atree.js'));const query=(cov_22i8nvh4cs().s[2]++,require('./query.js'));cov_22i8nvh4cs().s[3]++;const addSpaces=function(text,el,pseudoSelector){cov_22i8nvh4cs().f[0]++;// https://github.com/w3c/accname/issues/3
   -1  1307 const styles=(cov_22i8nvh4cs().s[4]++,window.getComputedStyle(el,pseudoSelector));const inline=(cov_22i8nvh4cs().s[5]++,styles.display==='inline');cov_22i8nvh4cs().s[6]++;return inline?(cov_22i8nvh4cs().b[0][0]++,text):(cov_22i8nvh4cs().b[0][1]++,` ${text} `);};cov_22i8nvh4cs().s[7]++;const getPseudoContent=function(el,pseudoSelector){cov_22i8nvh4cs().f[1]++;const styles=(cov_22i8nvh4cs().s[8]++,window.getComputedStyle(el,pseudoSelector));let tail=(cov_22i8nvh4cs().s[9]++,styles.getPropertyValue('content').trim());let ret=(cov_22i8nvh4cs().s[10]++,[]);let match;cov_22i8nvh4cs().s[11]++;while(tail.length){cov_22i8nvh4cs().s[12]++;if(match=tail.match(/^"([^"]*)"/)){cov_22i8nvh4cs().b[1][0]++;cov_22i8nvh4cs().s[13]++;ret.push(match[1]);}else{cov_22i8nvh4cs().b[1][1]++;cov_22i8nvh4cs().s[14]++;if(match=tail.match(/^([a-z-]+)\(([^)]*)\)/)){cov_22i8nvh4cs().b[2][0]++;cov_22i8nvh4cs().s[15]++;if(match[1]==='attr'){cov_22i8nvh4cs().b[3][0]++;cov_22i8nvh4cs().s[16]++;ret.push((cov_22i8nvh4cs().b[4][0]++,el.getAttribute(match[2]))||(cov_22i8nvh4cs().b[4][1]++,''));}else{cov_22i8nvh4cs().b[3][1]++;}}else{cov_22i8nvh4cs().b[2][1]++;cov_22i8nvh4cs().s[17]++;if(match=tail.match(/^([a-z-]+)/)){cov_22i8nvh4cs().b[5][0]++;cov_22i8nvh4cs().s[18]++;if((cov_22i8nvh4cs().b[7][0]++,match[1]==='open-quote')||(cov_22i8nvh4cs().b[7][1]++,match[1]==='close-quote')){cov_22i8nvh4cs().b[6][0]++;cov_22i8nvh4cs().s[19]++;ret.push('"');}else{cov_22i8nvh4cs().b[6][1]++;}}else{cov_22i8nvh4cs().b[5][1]++;cov_22i8nvh4cs().s[20]++;if(match=tail.match(/^\//)){cov_22i8nvh4cs().b[8][0]++;cov_22i8nvh4cs().s[21]++;ret=[];}else{cov_22i8nvh4cs().b[8][1]++;cov_22i8nvh4cs().s[22]++;// invalid content, ignore
   -1  1308 return'';}}}}cov_22i8nvh4cs().s[23]++;tail=tail.slice(match[0].length).trim();}cov_22i8nvh4cs().s[24]++;return addSpaces(ret.join(''),el,pseudoSelector);};cov_22i8nvh4cs().s[25]++;const getContent=function(root,ongoingLabelledBy,visited){cov_22i8nvh4cs().f[2]++;const children=(cov_22i8nvh4cs().s[26]++,atree.getChildNodes(root));let ret=(cov_22i8nvh4cs().s[27]++,'');cov_22i8nvh4cs().s[28]++;for(let i=(cov_22i8nvh4cs().s[29]++,0);i<children.length;i++){const node=(cov_22i8nvh4cs().s[30]++,children[i]);cov_22i8nvh4cs().s[31]++;if(node.nodeType===node.TEXT_NODE){cov_22i8nvh4cs().b[9][0]++;cov_22i8nvh4cs().s[32]++;ret+=node.textContent;}else{cov_22i8nvh4cs().b[9][1]++;cov_22i8nvh4cs().s[33]++;if(node.nodeType===node.ELEMENT_NODE){cov_22i8nvh4cs().b[10][0]++;cov_22i8nvh4cs().s[34]++;if(node.tagName.toLowerCase()==='br'){cov_22i8nvh4cs().b[11][0]++;cov_22i8nvh4cs().s[35]++;ret+='\n';}else{cov_22i8nvh4cs().b[11][1]++;cov_22i8nvh4cs().s[36]++;ret+=getName(node,true,ongoingLabelledBy,visited);}}else{cov_22i8nvh4cs().b[10][1]++;}}}cov_22i8nvh4cs().s[37]++;return ret;};cov_22i8nvh4cs().s[38]++;const allowNameFromContent=function(el){cov_22i8nvh4cs().f[3]++;const role=(cov_22i8nvh4cs().s[39]++,query.getRole(el));cov_22i8nvh4cs().s[40]++;if(role){cov_22i8nvh4cs().b[12][0]++;cov_22i8nvh4cs().s[41]++;return constants.roles[role].nameFromContents;}else{cov_22i8nvh4cs().b[12][1]++;}};cov_22i8nvh4cs().s[42]++;const getName=function(el,recursive,ongoingLabelledBy,visited,directReference){cov_22i8nvh4cs().f[4]++;let ret=(cov_22i8nvh4cs().s[43]++,'');cov_22i8nvh4cs().s[44]++;visited=(cov_22i8nvh4cs().b[13][0]++,visited)||(cov_22i8nvh4cs().b[13][1]++,[]);cov_22i8nvh4cs().s[45]++;if(visited.includes(el)){cov_22i8nvh4cs().b[14][0]++;cov_22i8nvh4cs().s[46]++;if(!directReference){cov_22i8nvh4cs().b[15][0]++;cov_22i8nvh4cs().s[47]++;return'';}else{cov_22i8nvh4cs().b[15][1]++;}}else{cov_22i8nvh4cs().b[14][1]++;cov_22i8nvh4cs().s[48]++;visited.push(el);}// A
 1164  1309 // handled in atree
 1165  1310 // B
 1166    -1 cov_22i8nvh4cs().s[42]++;if((cov_22i8nvh4cs().b[14][0]++,!recursive)&&(cov_22i8nvh4cs().b[14][1]++,el.matches('[aria-labelledby]'))){cov_22i8nvh4cs().b[13][0]++;var ids=(cov_22i8nvh4cs().s[43]++,el.getAttribute('aria-labelledby').split(/\s+/));var strings=(cov_22i8nvh4cs().s[44]++,ids.map(id=>{cov_22i8nvh4cs().f[5]++;var label=(cov_22i8nvh4cs().s[45]++,document.getElementById(id));cov_22i8nvh4cs().s[46]++;return label?(cov_22i8nvh4cs().b[15][0]++,getName(label,true,visited,true)):(cov_22i8nvh4cs().b[15][1]++,'');}));cov_22i8nvh4cs().s[47]++;ret=strings.join(' ');}else{cov_22i8nvh4cs().b[13][1]++;}// C
 1167    -1 cov_22i8nvh4cs().s[48]++;if((cov_22i8nvh4cs().b[17][0]++,!ret.trim())&&(cov_22i8nvh4cs().b[17][1]++,el.matches('[aria-label]'))){cov_22i8nvh4cs().b[16][0]++;cov_22i8nvh4cs().s[49]++;// FIXME: may skip to 2E
 1168    -1 ret=el.getAttribute('aria-label');}else{cov_22i8nvh4cs().b[16][1]++;}// D
 1169    -1 cov_22i8nvh4cs().s[50]++;if((cov_22i8nvh4cs().b[19][0]++,!ret.trim())&&(cov_22i8nvh4cs().b[19][1]++,!recursive)&&(cov_22i8nvh4cs().b[19][2]++,el.labels)){cov_22i8nvh4cs().b[18][0]++;var strings=(cov_22i8nvh4cs().s[51]++,Array.prototype.map.call(el.labels,label=>{cov_22i8nvh4cs().f[6]++;cov_22i8nvh4cs().s[52]++;return getName(label,true,visited);}));cov_22i8nvh4cs().s[53]++;ret=strings.join(' ');}else{cov_22i8nvh4cs().b[18][1]++;}cov_22i8nvh4cs().s[54]++;if(!ret.trim()){cov_22i8nvh4cs().b[20][0]++;cov_22i8nvh4cs().s[55]++;ret=(cov_22i8nvh4cs().b[21][0]++,el.placeholder)||(cov_22i8nvh4cs().b[21][1]++,'');}else{cov_22i8nvh4cs().b[20][1]++;}cov_22i8nvh4cs().s[56]++;if(!ret.trim()){cov_22i8nvh4cs().b[22][0]++;cov_22i8nvh4cs().s[57]++;ret=(cov_22i8nvh4cs().b[23][0]++,el.alt)||(cov_22i8nvh4cs().b[23][1]++,'');}else{cov_22i8nvh4cs().b[22][1]++;}cov_22i8nvh4cs().s[58]++;if((cov_22i8nvh4cs().b[25][0]++,!ret.trim())&&(cov_22i8nvh4cs().b[25][1]++,el.matches('abbr,acronym'))&&(cov_22i8nvh4cs().b[25][2]++,el.title)){cov_22i8nvh4cs().b[24][0]++;cov_22i8nvh4cs().s[59]++;ret=el.title;}else{cov_22i8nvh4cs().b[24][1]++;}cov_22i8nvh4cs().s[60]++;if(!ret.trim()){cov_22i8nvh4cs().b[26][0]++;cov_22i8nvh4cs().s[61]++;for(var selector in constants.nameFromDescendant){cov_22i8nvh4cs().s[62]++;if(el.matches(selector)){cov_22i8nvh4cs().b[27][0]++;var descendant=(cov_22i8nvh4cs().s[63]++,el.querySelector(constants.nameFromDescendant[selector]));cov_22i8nvh4cs().s[64]++;if(descendant){cov_22i8nvh4cs().b[28][0]++;cov_22i8nvh4cs().s[65]++;ret=getName(descendant,true,visited);}else{cov_22i8nvh4cs().b[28][1]++;}}else{cov_22i8nvh4cs().b[27][1]++;}}}else{cov_22i8nvh4cs().b[26][1]++;}cov_22i8nvh4cs().s[66]++;if((cov_22i8nvh4cs().b[30][0]++,!ret.trim())&&(cov_22i8nvh4cs().b[30][1]++,el.matches('svg *'))){cov_22i8nvh4cs().b[29][0]++;var svgTitle=(cov_22i8nvh4cs().s[67]++,el.querySelector('title'));cov_22i8nvh4cs().s[68]++;if((cov_22i8nvh4cs().b[32][0]++,svgTitle)&&(cov_22i8nvh4cs().b[32][1]++,svgTitle.parentElement===el)){cov_22i8nvh4cs().b[31][0]++;cov_22i8nvh4cs().s[69]++;ret=svgTitle.textContent;}else{cov_22i8nvh4cs().b[31][1]++;}}else{cov_22i8nvh4cs().b[29][1]++;}// E
 1170    -1 cov_22i8nvh4cs().s[70]++;if((cov_22i8nvh4cs().b[34][0]++,!ret.trim())&&((cov_22i8nvh4cs().b[34][1]++,recursive)||(cov_22i8nvh4cs().b[34][2]++,isInLabelForOtherWidget(el))||(cov_22i8nvh4cs().b[34][3]++,query.matches(el,'button')))){cov_22i8nvh4cs().b[33][0]++;cov_22i8nvh4cs().s[71]++;if(query.matches(el,'textbox,button,combobox,listbox,range')){cov_22i8nvh4cs().b[35][0]++;cov_22i8nvh4cs().s[72]++;if(query.matches(el,'textbox,button')){cov_22i8nvh4cs().b[36][0]++;cov_22i8nvh4cs().s[73]++;ret=(cov_22i8nvh4cs().b[37][0]++,el.value)||(cov_22i8nvh4cs().b[37][1]++,el.textContent);}else{cov_22i8nvh4cs().b[36][1]++;cov_22i8nvh4cs().s[74]++;if(query.matches(el,'combobox,listbox')){cov_22i8nvh4cs().b[38][0]++;var selected=(cov_22i8nvh4cs().s[75]++,(cov_22i8nvh4cs().b[39][0]++,query.querySelector(el,':selected'))||(cov_22i8nvh4cs().b[39][1]++,query.querySelector(el,'option')));cov_22i8nvh4cs().s[76]++;if(selected){cov_22i8nvh4cs().b[40][0]++;cov_22i8nvh4cs().s[77]++;ret=getName(selected,recursive,visited);}else{cov_22i8nvh4cs().b[40][1]++;cov_22i8nvh4cs().s[78]++;ret=(cov_22i8nvh4cs().b[41][0]++,el.value)||(cov_22i8nvh4cs().b[41][1]++,'');}}else{cov_22i8nvh4cs().b[38][1]++;cov_22i8nvh4cs().s[79]++;if(query.matches(el,'range')){cov_22i8nvh4cs().b[42][0]++;cov_22i8nvh4cs().s[80]++;ret=''+((cov_22i8nvh4cs().b[43][0]++,query.getAttribute(el,'valuetext'))||(cov_22i8nvh4cs().b[43][1]++,query.getAttribute(el,'valuenow'))||(cov_22i8nvh4cs().b[43][2]++,el.value));}else{cov_22i8nvh4cs().b[42][1]++;}}}}else{cov_22i8nvh4cs().b[35][1]++;}}else{cov_22i8nvh4cs().b[33][1]++;}// F
   -1  1311 cov_22i8nvh4cs().s[49]++;if((cov_22i8nvh4cs().b[17][0]++,!ongoingLabelledBy)&&(cov_22i8nvh4cs().b[17][1]++,el.matches('[aria-labelledby]'))){cov_22i8nvh4cs().b[16][0]++;const ids=(cov_22i8nvh4cs().s[50]++,el.getAttribute('aria-labelledby').split(/\s+/));const strings=(cov_22i8nvh4cs().s[51]++,ids.map(id=>{cov_22i8nvh4cs().f[5]++;const label=(cov_22i8nvh4cs().s[52]++,document.getElementById(id));cov_22i8nvh4cs().s[53]++;return label?(cov_22i8nvh4cs().b[18][0]++,getName(label,true,true,visited,true)):(cov_22i8nvh4cs().b[18][1]++,'');}));cov_22i8nvh4cs().s[54]++;ret=strings.join(' ');}else{cov_22i8nvh4cs().b[16][1]++;}// E (the current draft has this at this high priority)
   -1  1312 cov_22i8nvh4cs().s[55]++;if((cov_22i8nvh4cs().b[20][0]++,!ret.trim())&&(cov_22i8nvh4cs().b[20][1]++,recursive)){cov_22i8nvh4cs().b[19][0]++;cov_22i8nvh4cs().s[56]++;if(query.matches(el,'textbox')){cov_22i8nvh4cs().b[21][0]++;cov_22i8nvh4cs().s[57]++;ret=(cov_22i8nvh4cs().b[22][0]++,el.value)||(cov_22i8nvh4cs().b[22][1]++,el.textContent);}else{cov_22i8nvh4cs().b[21][1]++;cov_22i8nvh4cs().s[58]++;if(query.matches(el,'combobox,listbox')){cov_22i8nvh4cs().b[23][0]++;const selected=(cov_22i8nvh4cs().s[59]++,(cov_22i8nvh4cs().b[24][0]++,query.querySelector(el,':selected'))||(cov_22i8nvh4cs().b[24][1]++,query.querySelector(el,'option')));cov_22i8nvh4cs().s[60]++;if(selected){cov_22i8nvh4cs().b[25][0]++;cov_22i8nvh4cs().s[61]++;ret=getName(selected,recursive,ongoingLabelledBy,visited);}else{cov_22i8nvh4cs().b[25][1]++;cov_22i8nvh4cs().s[62]++;ret=(cov_22i8nvh4cs().b[26][0]++,el.value)||(cov_22i8nvh4cs().b[26][1]++,'');}}else{cov_22i8nvh4cs().b[23][1]++;cov_22i8nvh4cs().s[63]++;if(query.matches(el,'range')){cov_22i8nvh4cs().b[27][0]++;cov_22i8nvh4cs().s[64]++;ret=''+((cov_22i8nvh4cs().b[28][0]++,query.getAttribute(el,'valuetext'))||(cov_22i8nvh4cs().b[28][1]++,query.getAttribute(el,'valuenow'))||(cov_22i8nvh4cs().b[28][2]++,el.value));}else{cov_22i8nvh4cs().b[27][1]++;}}}}else{cov_22i8nvh4cs().b[19][1]++;}// C
   -1  1313 cov_22i8nvh4cs().s[65]++;if((cov_22i8nvh4cs().b[30][0]++,!ret.trim())&&(cov_22i8nvh4cs().b[30][1]++,el.matches('[aria-label]'))){cov_22i8nvh4cs().b[29][0]++;cov_22i8nvh4cs().s[66]++;// FIXME: may skip to 2E
   -1  1314 ret=el.getAttribute('aria-label');}else{cov_22i8nvh4cs().b[29][1]++;}// D
   -1  1315 cov_22i8nvh4cs().s[67]++;if((cov_22i8nvh4cs().b[32][0]++,!ret.trim())&&(cov_22i8nvh4cs().b[32][1]++,!recursive)&&(cov_22i8nvh4cs().b[32][2]++,el.labels)){cov_22i8nvh4cs().b[31][0]++;const strings=(cov_22i8nvh4cs().s[68]++,Array.prototype.map.call(el.labels,label=>{cov_22i8nvh4cs().f[6]++;cov_22i8nvh4cs().s[69]++;return getName(label,true,ongoingLabelledBy,visited);}));cov_22i8nvh4cs().s[70]++;ret=strings.join(' ');}else{cov_22i8nvh4cs().b[31][1]++;}cov_22i8nvh4cs().s[71]++;if(!ret.trim()){cov_22i8nvh4cs().b[33][0]++;cov_22i8nvh4cs().s[72]++;ret=(cov_22i8nvh4cs().b[34][0]++,el.alt)||(cov_22i8nvh4cs().b[34][1]++,'');}else{cov_22i8nvh4cs().b[33][1]++;}cov_22i8nvh4cs().s[73]++;if((cov_22i8nvh4cs().b[36][0]++,!ret.trim())&&(cov_22i8nvh4cs().b[36][1]++,el.matches('abbr,acronym'))&&(cov_22i8nvh4cs().b[36][2]++,el.title)){cov_22i8nvh4cs().b[35][0]++;cov_22i8nvh4cs().s[74]++;ret=el.title;}else{cov_22i8nvh4cs().b[35][1]++;}cov_22i8nvh4cs().s[75]++;if(!ret.trim()){cov_22i8nvh4cs().b[37][0]++;cov_22i8nvh4cs().s[76]++;for(const selector in constants.nameFromDescendant){cov_22i8nvh4cs().s[77]++;if(el.matches(selector)){cov_22i8nvh4cs().b[38][0]++;const descendant=(cov_22i8nvh4cs().s[78]++,el.querySelector(constants.nameFromDescendant[selector]));cov_22i8nvh4cs().s[79]++;if(descendant){cov_22i8nvh4cs().b[39][0]++;cov_22i8nvh4cs().s[80]++;ret=getName(descendant,true,ongoingLabelledBy,visited);}else{cov_22i8nvh4cs().b[39][1]++;}}else{cov_22i8nvh4cs().b[38][1]++;}}}else{cov_22i8nvh4cs().b[37][1]++;}cov_22i8nvh4cs().s[81]++;if((cov_22i8nvh4cs().b[41][0]++,!ret.trim())&&(cov_22i8nvh4cs().b[41][1]++,el.matches('svg *'))){cov_22i8nvh4cs().b[40][0]++;const svgTitle=(cov_22i8nvh4cs().s[82]++,el.querySelector('title'));cov_22i8nvh4cs().s[83]++;if((cov_22i8nvh4cs().b[43][0]++,svgTitle)&&(cov_22i8nvh4cs().b[43][1]++,svgTitle.parentElement===el)){cov_22i8nvh4cs().b[42][0]++;cov_22i8nvh4cs().s[84]++;ret=svgTitle.textContent;}else{cov_22i8nvh4cs().b[42][1]++;}}else{cov_22i8nvh4cs().b[40][1]++;}cov_22i8nvh4cs().s[85]++;if((cov_22i8nvh4cs().b[45][0]++,!ret.trim())&&(cov_22i8nvh4cs().b[45][1]++,el.matches('a'))){cov_22i8nvh4cs().b[44][0]++;cov_22i8nvh4cs().s[86]++;ret=(cov_22i8nvh4cs().b[46][0]++,el.getAttribute('xlink:title'))||(cov_22i8nvh4cs().b[46][1]++,'');}else{cov_22i8nvh4cs().b[44][1]++;}// F
 1171  1316 // FIXME: menu is not mentioned in the spec
 1172    -1 cov_22i8nvh4cs().s[81]++;if((cov_22i8nvh4cs().b[45][0]++,!ret.trim())&&((cov_22i8nvh4cs().b[45][1]++,recursive)||(cov_22i8nvh4cs().b[45][2]++,allowNameFromContent(el))||(cov_22i8nvh4cs().b[45][3]++,el.closest('label')))&&(cov_22i8nvh4cs().b[45][4]++,!query.matches(el,'menu'))){cov_22i8nvh4cs().b[44][0]++;cov_22i8nvh4cs().s[82]++;ret=getContent(el,visited);}else{cov_22i8nvh4cs().b[44][1]++;}cov_22i8nvh4cs().s[83]++;if(!ret.trim()){cov_22i8nvh4cs().b[46][0]++;cov_22i8nvh4cs().s[84]++;for(var selector in constants.nameDefaults){cov_22i8nvh4cs().s[85]++;if(el.matches(selector)){cov_22i8nvh4cs().b[47][0]++;cov_22i8nvh4cs().s[86]++;ret=constants.nameDefaults[selector];}else{cov_22i8nvh4cs().b[47][1]++;}}}else{cov_22i8nvh4cs().b[46][1]++;}// G/H
   -1  1317 cov_22i8nvh4cs().s[87]++;if((cov_22i8nvh4cs().b[48][0]++,!ret.trim())&&((cov_22i8nvh4cs().b[48][1]++,recursive)||(cov_22i8nvh4cs().b[48][2]++,allowNameFromContent(el))||(cov_22i8nvh4cs().b[48][3]++,el.closest('label')))&&(cov_22i8nvh4cs().b[48][4]++,!query.matches(el,'menu'))){cov_22i8nvh4cs().b[47][0]++;cov_22i8nvh4cs().s[88]++;ret=getContent(el,ongoingLabelledBy,visited);}else{cov_22i8nvh4cs().b[47][1]++;}cov_22i8nvh4cs().s[89]++;if((cov_22i8nvh4cs().b[50][0]++,!ret.trim())&&(cov_22i8nvh4cs().b[50][1]++,query.matches(el,'button'))){cov_22i8nvh4cs().b[49][0]++;cov_22i8nvh4cs().s[90]++;ret=(cov_22i8nvh4cs().b[51][0]++,el.value)||(cov_22i8nvh4cs().b[51][1]++,'');}else{cov_22i8nvh4cs().b[49][1]++;}cov_22i8nvh4cs().s[91]++;if(!ret.trim()){cov_22i8nvh4cs().b[52][0]++;cov_22i8nvh4cs().s[92]++;for(const selector in constants.nameDefaults){cov_22i8nvh4cs().s[93]++;if(el.matches(selector)){cov_22i8nvh4cs().b[53][0]++;cov_22i8nvh4cs().s[94]++;ret=constants.nameDefaults[selector];}else{cov_22i8nvh4cs().b[53][1]++;}}}else{cov_22i8nvh4cs().b[52][1]++;}// G/H
 1173  1318 // handled in getContent
 1174  1319 // I
 1175    -1 // FIXME: presentation not mentioned in the spec
 1176    -1 cov_22i8nvh4cs().s[87]++;if((cov_22i8nvh4cs().b[49][0]++,!ret.trim())&&((cov_22i8nvh4cs().b[49][1]++,directReference)||(cov_22i8nvh4cs().b[49][2]++,!query.matches(el,'presentation')))){cov_22i8nvh4cs().b[48][0]++;cov_22i8nvh4cs().s[88]++;ret=(cov_22i8nvh4cs().b[50][0]++,el.title)||(cov_22i8nvh4cs().b[50][1]++,'');}else{cov_22i8nvh4cs().b[48][1]++;}// FIXME: not exactly sure about this, but it reduces the number of failing
   -1  1320 cov_22i8nvh4cs().s[95]++;if(!ret.trim()){cov_22i8nvh4cs().b[54][0]++;cov_22i8nvh4cs().s[96]++;ret=(cov_22i8nvh4cs().b[55][0]++,el.title)||(cov_22i8nvh4cs().b[55][1]++,el.placeholder)||(cov_22i8nvh4cs().b[55][2]++,'');}else{cov_22i8nvh4cs().b[54][1]++;}// FIXME: not exactly sure about this, but it reduces the number of failing
 1177  1321 // WPT tests. Whitespace is hard.
 1178    -1 cov_22i8nvh4cs().s[89]++;if(!ret.trim()){cov_22i8nvh4cs().b[51][0]++;cov_22i8nvh4cs().s[90]++;ret=' ';}else{cov_22i8nvh4cs().b[51][1]++;}var before=(cov_22i8nvh4cs().s[91]++,getPseudoContent(el,':before'));var after=(cov_22i8nvh4cs().s[92]++,getPseudoContent(el,':after'));cov_22i8nvh4cs().s[93]++;return before+ret+after;};cov_22i8nvh4cs().s[94]++;var getNameTrimmed=function(el){cov_22i8nvh4cs().f[7]++;cov_22i8nvh4cs().s[95]++;return getName(el).replace(/\s+/g,' ').trim();};cov_22i8nvh4cs().s[96]++;var getDescription=function(el){cov_22i8nvh4cs().f[8]++;var ret=(cov_22i8nvh4cs().s[97]++,'');cov_22i8nvh4cs().s[98]++;if(el.matches('[aria-describedby]')){cov_22i8nvh4cs().b[52][0]++;var ids=(cov_22i8nvh4cs().s[99]++,el.getAttribute('aria-describedby').split(/\s+/));var strings=(cov_22i8nvh4cs().s[100]++,ids.map(id=>{cov_22i8nvh4cs().f[9]++;var label=(cov_22i8nvh4cs().s[101]++,document.getElementById(id));cov_22i8nvh4cs().s[102]++;return label?(cov_22i8nvh4cs().b[53][0]++,getName(label,true)):(cov_22i8nvh4cs().b[53][1]++,'');}));cov_22i8nvh4cs().s[103]++;ret=strings.join(' ');}else{cov_22i8nvh4cs().b[52][1]++;cov_22i8nvh4cs().s[104]++;if(el.matches('[aria-description]')){cov_22i8nvh4cs().b[54][0]++;cov_22i8nvh4cs().s[105]++;ret=el.getAttribute('aria-description');}else{cov_22i8nvh4cs().b[54][1]++;cov_22i8nvh4cs().s[106]++;if(el.matches('svg *')){cov_22i8nvh4cs().b[55][0]++;var svgDesc=(cov_22i8nvh4cs().s[107]++,el.querySelector('desc'));cov_22i8nvh4cs().s[108]++;if((cov_22i8nvh4cs().b[57][0]++,svgDesc)&&(cov_22i8nvh4cs().b[57][1]++,svgDesc.parentElement===el)){cov_22i8nvh4cs().b[56][0]++;cov_22i8nvh4cs().s[109]++;ret=svgDesc.textContent;}else{cov_22i8nvh4cs().b[56][1]++;}}else{cov_22i8nvh4cs().b[55][1]++;cov_22i8nvh4cs().s[110]++;if(el.title){cov_22i8nvh4cs().b[58][0]++;cov_22i8nvh4cs().s[111]++;ret=el.title;}else{cov_22i8nvh4cs().b[58][1]++;}}}}cov_22i8nvh4cs().s[112]++;ret=((cov_22i8nvh4cs().b[59][0]++,ret)||(cov_22i8nvh4cs().b[59][1]++,'')).trim().replace(/\s+/g,' ');cov_22i8nvh4cs().s[113]++;if(ret===getNameTrimmed(el)){cov_22i8nvh4cs().b[60][0]++;cov_22i8nvh4cs().s[114]++;ret='';}else{cov_22i8nvh4cs().b[60][1]++;}cov_22i8nvh4cs().s[115]++;return ret;};cov_22i8nvh4cs().s[116]++;module.exports={getName:getNameTrimmed,getDescription:getDescription};
   -1  1322 cov_22i8nvh4cs().s[97]++;if(!ret.trim()){cov_22i8nvh4cs().b[56][0]++;cov_22i8nvh4cs().s[98]++;ret=' ';}else{cov_22i8nvh4cs().b[56][1]++;}const before=(cov_22i8nvh4cs().s[99]++,getPseudoContent(el,':before'));const after=(cov_22i8nvh4cs().s[100]++,getPseudoContent(el,':after'));cov_22i8nvh4cs().s[101]++;return addSpaces(before+ret+after,el);};cov_22i8nvh4cs().s[102]++;const getNameTrimmed=function(el){cov_22i8nvh4cs().f[7]++;cov_22i8nvh4cs().s[103]++;return getName(el).replace(/[ \n\r\t\f]+/g,' ').replace(/^ /,'').replace(/ $/,'');};cov_22i8nvh4cs().s[104]++;const getDescription=function(el){cov_22i8nvh4cs().f[8]++;let ret=(cov_22i8nvh4cs().s[105]++,'');cov_22i8nvh4cs().s[106]++;if(el.matches('[aria-describedby]')){cov_22i8nvh4cs().b[57][0]++;const ids=(cov_22i8nvh4cs().s[107]++,el.getAttribute('aria-describedby').split(/\s+/));const strings=(cov_22i8nvh4cs().s[108]++,ids.map(id=>{cov_22i8nvh4cs().f[9]++;const label=(cov_22i8nvh4cs().s[109]++,document.getElementById(id));cov_22i8nvh4cs().s[110]++;return label?(cov_22i8nvh4cs().b[58][0]++,getName(label,true,true)):(cov_22i8nvh4cs().b[58][1]++,'');}));cov_22i8nvh4cs().s[111]++;ret=strings.join(' ');}else{cov_22i8nvh4cs().b[57][1]++;cov_22i8nvh4cs().s[112]++;if(el.matches('[aria-description]')){cov_22i8nvh4cs().b[59][0]++;cov_22i8nvh4cs().s[113]++;ret=el.getAttribute('aria-description');}else{cov_22i8nvh4cs().b[59][1]++;cov_22i8nvh4cs().s[114]++;if(el.matches('svg *')){cov_22i8nvh4cs().b[60][0]++;const svgDesc=(cov_22i8nvh4cs().s[115]++,el.querySelector('desc'));cov_22i8nvh4cs().s[116]++;if((cov_22i8nvh4cs().b[62][0]++,svgDesc)&&(cov_22i8nvh4cs().b[62][1]++,svgDesc.parentElement===el)){cov_22i8nvh4cs().b[61][0]++;cov_22i8nvh4cs().s[117]++;ret=svgDesc.textContent;}else{cov_22i8nvh4cs().b[61][1]++;}}else{cov_22i8nvh4cs().b[60][1]++;cov_22i8nvh4cs().s[118]++;if(el.title){cov_22i8nvh4cs().b[63][0]++;cov_22i8nvh4cs().s[119]++;ret=el.title;}else{cov_22i8nvh4cs().b[63][1]++;}}}}cov_22i8nvh4cs().s[120]++;if((cov_22i8nvh4cs().b[65][0]++,!ret.trim())&&(cov_22i8nvh4cs().b[65][1]++,el.matches('a'))){cov_22i8nvh4cs().b[64][0]++;cov_22i8nvh4cs().s[121]++;ret=(cov_22i8nvh4cs().b[66][0]++,el.getAttribute('xlink:title'))||(cov_22i8nvh4cs().b[66][1]++,'');}else{cov_22i8nvh4cs().b[64][1]++;}cov_22i8nvh4cs().s[122]++;ret=((cov_22i8nvh4cs().b[67][0]++,ret)||(cov_22i8nvh4cs().b[67][1]++,'')).trim().replace(/\s+/g,' ');cov_22i8nvh4cs().s[123]++;if(ret===getNameTrimmed(el)){cov_22i8nvh4cs().b[68][0]++;cov_22i8nvh4cs().s[124]++;ret='';}else{cov_22i8nvh4cs().b[68][1]++;}cov_22i8nvh4cs().s[125]++;return ret;};cov_22i8nvh4cs().s[126]++;module.exports={getName:getNameTrimmed,getDescription:getDescription};
 1179  1323 
 1180  1324 
 1181  1325 },{"./atree.js":5,"./constants.js":7,"./query.js":9}],9:[function(require,module,exports){
 1182    -1 var attrs = require('./attrs.js');
 1183    -1 var atree = require('./atree.js');
   -1  1326 const attrs = require('./attrs.js');
   -1  1327 const atree = require('./atree.js');
 1184  1328 
 1185  1329 
 1186    -1 var matches = function(el, selector) {
 1187    -1 	var actual;
 1188    -1 
   -1  1330 const matches = function(el, selector) {
 1189  1331 	if (selector.substr(0, 1) === ':') {
 1190    -1 		var attr = selector.substr(1);
   -1  1332 		const attr = selector.substr(1);
 1191  1333 		return attrs.getAttribute(el, attr);
 1192  1334 	} else if (selector.substr(0, 1) === '[') {
 1193    -1 		var match = /\[([a-z]+)="(.*)"\]/.exec(selector);
 1194    -1 		actual = attrs.getAttribute(el, match[1]);
 1195    -1 		var rawValue = match[2];
   -1  1335 		const match = /\[([a-z]+)="(.*)"\]/.exec(selector);
   -1  1336 		const actual = attrs.getAttribute(el, match[1]);
   -1  1337 		const rawValue = match[2];
 1196  1338 		return actual.toString() === rawValue;
 1197  1339 	} else {
 1198  1340 		return attrs.hasRole(el, selector.split(','));
 1199  1341 	}
 1200  1342 };
 1201  1343 
 1202    -1 var _querySelector = function(all) {
 1203    -1 	return function(root, role) {
 1204    -1 		var results = [];
   -1  1344 const _querySelector = function(all) {
   -1  1345 	return function(root, selector) {
   -1  1346 		const results = [];
 1205  1347 		try {
 1206  1348 			atree.walk(root, node => {
 1207  1349 				if (node.nodeType === node.ELEMENT_NODE) {
 1208  1350 					// FIXME: skip hidden elements
 1209    -1 					if (matches(node, role)) {
   -1  1351 					if (matches(node, selector)) {
 1210  1352 						results.push(node);
 1211  1353 						if (!all) {
 1212  1354 							throw 'StopIteration';
@@ -1223,7 +1365,7 @@ var _querySelector = function(all) {
 1223  1365 	};
 1224  1366 };
 1225  1367 
 1226    -1 var closest = function(el, selector) {
   -1  1368 const closest = function(el, selector) {
 1227  1369 	return atree.searchUp(el, candidate => {
 1228  1370 		if (candidate.nodeType === candidate.ELEMENT_NODE) {
 1229  1371 			return matches(candidate, selector);
@@ -1251,19 +1393,19 @@ https://github.com/whatsock/w3c-alternative-text-computation
 1251  1393 Distributed under the terms of the Open Source Initiative OSI - MIT License
 1252  1394 */
 1253  1395 
 1254    -1 (function() {
   -1  1396 (function () {
 1255  1397   var nameSpace = window.AccNamePrototypeNameSpace || window;
 1256  1398   if (nameSpace && typeof nameSpace === "string" && nameSpace.length) {
 1257  1399     window[nameSpace] = {};
 1258  1400     nameSpace = window[nameSpace];
 1259  1401   }
 1260    -1   nameSpace.getAccNameVersion = "2.61";
   -1  1402   nameSpace.getAccNameVersion = "2.62";
 1261  1403   // AccName Computation Prototype
 1262    -1   nameSpace.getAccName = nameSpace.calcNames = function(
   -1  1404   nameSpace.getAccName = nameSpace.calcNames = function (
 1263  1405     node,
 1264  1406     fnc,
 1265  1407     preventVisualARIASelfCSSRef,
 1266    -1     overrides
   -1  1408     overrides,
 1267  1409   ) {
 1268  1410     overrides = overrides || {};
 1269  1411     var docO = overrides.document || document;
@@ -1280,20 +1422,20 @@ Distributed under the terms of the Open Source Initiative OSI - MIT License
 1280  1422       // Separating Name and Description to prevent duplicate node references from suppressing one or the other from being fully computed.
 1281  1423       var nodes = {
 1282  1424         name: [],
 1283    -1         desc: []
   -1  1425         desc: [],
 1284  1426       };
 1285  1427       // Track aria-owns references to prevent duplicate parsing.
 1286  1428       var owns = [];
 1287  1429 
 1288  1430       // Recursively process a DOM node to compute an accessible name in accordance with the spec
 1289    -1       var walk = function(
   -1  1431       var walk = function (
 1290  1432         refNode,
 1291  1433         stop,
 1292  1434         skip,
 1293  1435         nodesToIgnoreValues,
 1294  1436         skipAbort,
 1295  1437         ownedBy,
 1296    -1         skipTo
   -1  1438         skipTo,
 1297  1439       ) {
 1298  1440         skipTo = skipTo || {};
 1299  1441         skipTo.tag = skipTo.tag || false;
@@ -1301,7 +1443,7 @@ Distributed under the terms of the Open Source Initiative OSI - MIT License
 1301  1443         skipTo.go = skipTo.go || false;
 1302  1444         var fullResult = {
 1303  1445           name: "",
 1304    -1           title: ""
   -1  1446           title: "",
 1305  1447         };
 1306  1448         var hasLabel = false;
 1307  1449 
@@ -1311,7 +1453,7 @@ Distributed under the terms of the Open Source Initiative OSI - MIT License
 1311  1453   https://lists.w3.org/Archives/Public/public-aria/2017Jun/0057.html
 1312  1454 Plus roles extended for the Role Parity project.
 1313  1455   */
 1314    -1         var isException = function(node, refNode) {
   -1  1456         var isException = function (node, refNode) {
 1315  1457           if (
 1316  1458             !refNode ||
 1317  1459             !node ||
@@ -1324,7 +1466,7 @@ Plus roles extended for the Role Parity project.
 1324  1466           var role = getRole(node);
 1325  1467           var tag = node.nodeName.toLowerCase();
 1326  1468 
 1327    -1           var inList = function(node, list) {
   -1  1469           var inList = function (node, list) {
 1328  1470             return (
 1329  1471               (role && list.roles.indexOf(role) >= 0) ||
 1330  1472               (!role && list.tags.indexOf(tag) >= 0)
@@ -1365,7 +1507,7 @@ Plus roles extended for the Role Parity project.
 1365  1507           }
 1366  1508         };
 1367  1509 
 1368    -1         var inParent = function(node, parent) {
   -1  1510         var inParent = function (node, parent) {
 1369  1511           var trackNodes = [];
 1370  1512           while (node) {
 1371  1513             if (
@@ -1391,7 +1533,7 @@ Plus roles extended for the Role Parity project.
 1391  1533         // Placeholder for storing CSS before and after pseudo element text values for the top level node
 1392  1534         var cssOP = {
 1393  1535           before: "",
 1394    -1           after: ""
   -1  1536           after: "",
 1395  1537         };
 1396  1538 
 1397  1539         if (
@@ -1422,10 +1564,10 @@ Plus roles extended for the Role Parity project.
 1422  1564         }
 1423  1565 
 1424  1566         // Recursively apply the same naming computation to all nodes within the referenced structure
 1425    -1         var walkDOM = function(node, fn, refNode) {
   -1  1567         var walkDOM = function (node, fn, refNode) {
 1426  1568           var res = {
 1427  1569             name: "",
 1428    -1             title: ""
   -1  1570             title: "",
 1429  1571           };
 1430  1572           if (!node) {
 1431  1573             return res;
@@ -1494,7 +1636,7 @@ Plus roles extended for the Role Parity project.
 1494  1636 
 1495  1637         fullResult = walkDOM(
 1496  1638           refNode,
 1497    -1           function(node) {
   -1  1639           function (node) {
 1498  1640             var i = 0;
 1499  1641             var element = null;
 1500  1642             var ids = [];
@@ -1503,7 +1645,7 @@ Plus roles extended for the Role Parity project.
 1503  1645               name: "",
 1504  1646               title: "",
 1505  1647               owns: "",
 1506    -1               skip: false
   -1  1648               skip: false,
 1507  1649             };
 1508  1650             var isEmbeddedNode = !!(
 1509  1651               node &&
@@ -1544,7 +1686,7 @@ Plus roles extended for the Role Parity project.
 1544  1686             // Placeholder for storing CSS before and after pseudo element text values for the current node container element
 1545  1687             var cssO = {
 1546  1688               before: "",
 1547    -1               after: ""
   -1  1689               after: "",
 1548  1690             };
 1549  1691 
 1550  1692             var parent = refNode === node ? node : node.parentNode;
@@ -1552,7 +1694,7 @@ Plus roles extended for the Role Parity project.
 1552  1694               !skipTo.tag &&
 1553  1695               !skipTo.role &&
 1554  1696               nodes[!ownedBy.computingDesc ? "name" : "desc"].indexOf(
 1555    -1                 parent
   -1  1697                 parent,
 1556  1698               ) === -1
 1557  1699             ) {
 1558  1700               nodes[!ownedBy.computingDesc ? "name" : "desc"].push(parent);
@@ -1666,8 +1808,8 @@ Plus roles extended for the Role Parity project.
 1666  1808                   parts.push(
 1667  1809                     walk(element, true, skip, [node], element === refNode, {
 1668  1810                       ref: ownedBy,
 1669    -1                       top: element
 1670    -1                     }).name
   -1  1811                       top: element,
   -1  1812                     }).name,
 1671  1813                   );
 1672  1814                 }
 1673  1815                 // Check for blank value, since whitespace chars alone are not valid as a name
@@ -1701,8 +1843,8 @@ Plus roles extended for the Role Parity project.
 1701  1843                       walk(element, true, false, [node], false, {
 1702  1844                         ref: ownedBy,
 1703  1845                         top: element,
 1704    -1                         computingDesc: true
 1705    -1                       }).name
   -1  1846                         computingDesc: true,
   -1  1847                       }).name,
 1706  1848                     );
 1707  1849                   }
 1708  1850                   // Check for blank value, since whitespace chars alone are not valid as a name
@@ -1775,8 +1917,8 @@ Plus roles extended for the Role Parity project.
 1775  1917                       lblName += addSpacing(
 1776  1918                         walk(labels[i], true, skip, [node], false, {
 1777  1919                           ref: ownedBy,
 1778    -1                           top: labels[i]
 1779    -1                         }).name
   -1  1920                           top: labels[i],
   -1  1921                         }).name,
 1780  1922                       );
 1781  1923                     }
 1782  1924                   }
@@ -1933,8 +2075,8 @@ Plus roles extended for the Role Parity project.
 1933  2075                     name = trim(
 1934  2076                       walk(fChild, stop, false, [], false, {
 1935  2077                         ref: ownedBy,
 1936    -1                         top: fChild
 1937    -1                       }).name
   -1  2078                         top: fChild,
   -1  2079                       }).name,
 1938  2080                     );
 1939  2081                   }
 1940  2082                   if (trim(name)) {
@@ -1958,8 +2100,8 @@ Plus roles extended for the Role Parity project.
 1958  2100                     name = trim(
 1959  2101                       walk(fChild, stop, false, [], false, {
 1960  2102                         ref: ownedBy,
 1961    -1                         top: fChild
 1962    -1                       }).name
   -1  2103                         top: fChild,
   -1  2104                       }).name,
 1963  2105                     );
 1964  2106                   }
 1965  2107                   if (trim(name)) {
@@ -1977,16 +2119,16 @@ Plus roles extended for the Role Parity project.
 1977  2119                     name = trim(
 1978  2120                       walk(svgT, true, false, [], false, {
 1979  2121                         ref: ownedBy,
 1980    -1                         top: svgT
 1981    -1                       }).name
   -1  2122                         top: svgT,
   -1  2123                       }).name,
 1982  2124                     );
 1983  2125                   }
 1984  2126                   if (!hasDesc && svgD) {
 1985  2127                     var dE = trim(
 1986  2128                       walk(svgD, true, false, [], false, {
 1987  2129                         ref: ownedBy,
 1988    -1                         top: svgD
 1989    -1                       }).name
   -1  2130                         top: svgD,
   -1  2131                       }).name,
 1990  2132                     );
 1991  2133                     if (trim(dE)) {
 1992  2134                       result.desc = dE;
@@ -2031,7 +2173,7 @@ Plus roles extended for the Role Parity project.
 2031  2173                       false,
 2032  2174                       false,
 2033  2175                       false,
 2034    -1                       true
   -1  2176                       true,
 2035  2177                     );
 2036  2178                   } else if (
 2037  2179                     isNativeFormField &&
@@ -2046,7 +2188,7 @@ Plus roles extended for the Role Parity project.
 2046  2188                       false,
 2047  2189                       false,
 2048  2190                       true,
 2049    -1                       true
   -1  2191                       true,
 2050  2192                     );
 2051  2193                   }
 2052  2194 
@@ -2087,11 +2229,11 @@ Plus roles extended for the Role Parity project.
 2087  2229                           "tel",
 2088  2230                           "text",
 2089  2231                           "url",
 2090    -1                           "email"
   -1  2232                           "email",
 2091  2233                         ].indexOf(nType) !== -1)))) &&
 2092  2234                 trim(
 2093  2235                   node.getAttribute("placeholder") ||
 2094    -1                     node.getAttribute("aria-placeholder")
   -1  2236                     node.getAttribute("aria-placeholder"),
 2095  2237                 );
 2096  2238 
 2097  2239               if (placeholder) {
@@ -2107,8 +2249,8 @@ Plus roles extended for the Role Parity project.
 2107  2249                 name = trim(
 2108  2250                   walk(node, stop, false, [], false, {
 2109  2251                     ref: ownedBy,
 2110    -1                     top: node
 2111    -1                   }).name
   -1  2252                     top: node,
   -1  2253                   }).name,
 2112  2254                 );
 2113  2255                 if (trim(name)) {
 2114  2256                   skip = true;
@@ -2133,11 +2275,11 @@ Plus roles extended for the Role Parity project.
 2133  2275                     oBy[ids[i]] = {
 2134  2276                       refNode: refNode,
 2135  2277                       node: node,
 2136    -1                       target: element
   -1  2278                       target: element,
 2137  2279                     };
 2138  2280                     if (!isParentHidden(element, docO.body, true)) {
 2139  2281                       parts.push(
 2140    -1                         walk(element, true, skip, [], false, oBy).name
   -1  2282                         walk(element, true, skip, [], false, oBy).name,
 2141  2283                       );
 2142  2284                     }
 2143  2285                   }
@@ -2168,7 +2310,7 @@ Plus roles extended for the Role Parity project.
 2168  2310 
 2169  2311             return result;
 2170  2312           },
 2171    -1           refNode
   -1  2313           refNode,
 2172  2314         );
 2173  2315 
 2174  2316         if (!hasLabel) {
@@ -2180,7 +2322,7 @@ Plus roles extended for the Role Parity project.
 2180  2322         return fullResult;
 2181  2323       };
 2182  2324 
 2183    -1       var firstChild = function(e, t, r, s) {
   -1  2325       var firstChild = function (e, t, r, s) {
 2184  2326         e = e ? e.firstChild : null;
 2185  2327         while (e) {
 2186  2328           var tr = getRole(e) || false;
@@ -2199,7 +2341,7 @@ Plus roles extended for the Role Parity project.
 2199  2341         return e;
 2200  2342       };
 2201  2343 
 2202    -1       var lastChild = function(e, t, r, s) {
   -1  2344       var lastChild = function (e, t, r, s) {
 2203  2345         e = e ? e.lastChild : null;
 2204  2346         while (e) {
 2205  2347           var tr = getRole(e) || false;
@@ -2218,7 +2360,7 @@ Plus roles extended for the Role Parity project.
 2218  2360         return e;
 2219  2361       };
 2220  2362 
 2221    -1       var getRole = function(node) {
   -1  2363       var getRole = function (node) {
 2222  2364         var role =
 2223  2365           node && node.getAttribute
 2224  2366             ? (node.getAttribute("role") || "").toLowerCase()
@@ -2226,7 +2368,7 @@ Plus roles extended for the Role Parity project.
 2226  2368         if (!trim(role)) {
 2227  2369           return "";
 2228  2370         }
 2229    -1         var inList = function(list) {
   -1  2371         var inList = function (list) {
 2230  2372           return trim(role).length > 0 && list.roles.indexOf(role) >= 0;
 2231  2373         };
 2232  2374         var roles = role.split(/\s+/);
@@ -2245,7 +2387,7 @@ Plus roles extended for the Role Parity project.
 2245  2387         return "";
 2246  2388       };
 2247  2389 
 2248    -1       var isFocusable = function(node) {
   -1  2390       var isFocusable = function (node) {
 2249  2391         var nodeName = node.nodeName.toLowerCase();
 2250  2392         if (node.getAttribute("tabindex")) {
 2251  2393           return true;
@@ -2285,7 +2427,7 @@ Plus roles extended for the Role Parity project.
 2285  2427           "columnheader",
 2286  2428           "rowheader",
 2287  2429           "tooltip",
 2288    -1           "heading"
   -1  2430           "heading",
 2289  2431         ],
 2290  2432         tags: [
 2291  2433           "a",
@@ -2302,8 +2444,8 @@ Plus roles extended for the Role Parity project.
 2302  2444           "option",
 2303  2445           "tr",
 2304  2446           "td",
 2305    -1           "th"
 2306    -1         ]
   -1  2447           "th",
   -1  2448         ],
 2307  2449       };
 2308  2450       // Never include name from content when current node matches list2
 2309  2451       // The rowgroup role was added to prevent 'name from content' in accordance with relevant ARIA 1.1 spec changes.
@@ -2322,6 +2464,7 @@ Plus roles extended for the Role Parity project.
 2322  2464           "form",
 2323  2465           "main",
 2324  2466           "navigation",
   -1  2467           "progressbar",
 2325  2468           "region",
 2326  2469           "search",
 2327  2470           "article",
@@ -2347,7 +2490,7 @@ Plus roles extended for the Role Parity project.
 2347  2490           "treegrid",
 2348  2491           "separator",
 2349  2492           "rowgroup",
 2350    -1           "group"
   -1  2493           "group",
 2351  2494         ],
 2352  2495         tags: [
 2353  2496           "article",
@@ -2374,8 +2517,9 @@ Plus roles extended for the Role Parity project.
 2374  2517           "thead",
 2375  2518           "tbody",
 2376  2519           "tfoot",
 2377    -1           "fieldset"
 2378    -1         ]
   -1  2520           "fieldset",
   -1  2521           "progress",
   -1  2522         ],
 2379  2523       };
 2380  2524       // As an override of list2, conditionally include name from content if current node is focusable, or if the current node matches list3 while the referenced parent node (root node) matches list1.
 2381  2525       var list3 = {
@@ -2387,9 +2531,9 @@ Plus roles extended for the Role Parity project.
 2387  2531           "note",
 2388  2532           "status",
 2389  2533           "table",
 2390    -1           "contentinfo"
   -1  2534           "contentinfo",
 2391  2535         ],
 2392    -1         tags: ["dl", "ul", "ol", "dd", "details", "output", "table"]
   -1  2536         tags: ["dl", "ul", "ol", "dd", "details", "output", "table"],
 2393  2537       };
 2394  2538       // Subsequent roles added as part of the Role Parity project for ARIA 1.2.
 2395  2539       // Tracks roles that don't specifically belong within the prior process lists.
@@ -2405,7 +2549,7 @@ Plus roles extended for the Role Parity project.
 2405  2549           "paragraph",
 2406  2550           "strong",
 2407  2551           "subscript",
 2408    -1           "superscript"
   -1  2552           "superscript",
 2409  2553         ],
 2410  2554         tags: [
 2411  2555           "legend",
@@ -2420,8 +2564,8 @@ Plus roles extended for the Role Parity project.
 2420  2564           "p",
 2421  2565           "strong",
 2422  2566           "sub",
 2423    -1           "sup"
 2424    -1         ]
   -1  2567           "sup",
   -1  2568         ],
 2425  2569       };
 2426  2570 
 2427  2571       var genericElements = ["div", "span"];
@@ -2437,7 +2581,7 @@ Plus roles extended for the Role Parity project.
 2437  2581         "presentation",
 2438  2582         "strong",
 2439  2583         "subscript",
 2440    -1         "superscript"
   -1  2584         "superscript",
 2441  2585       ];
 2442  2586       var nameProhibitedElements = [
 2443  2587         "caption",
@@ -2451,18 +2595,29 @@ Plus roles extended for the Role Parity project.
 2451  2595         "p",
 2452  2596         "strong",
 2453  2597         "sub",
 2454    -1         "sup"
   -1  2598         "sup",
 2455  2599       ];
 2456  2600 
 2457    -1       var nativeFormFields = ["button", "input", "select", "textarea"];
 2458    -1       var rangeWidgetRoles = ["scrollbar", "slider", "spinbutton"];
   -1  2601       var nativeFormFields = [
   -1  2602         "button",
   -1  2603         "input",
   -1  2604         "progress",
   -1  2605         "select",
   -1  2606         "textarea",
   -1  2607       ];
   -1  2608       var rangeWidgetRoles = [
   -1  2609         "scrollbar",
   -1  2610         "slider",
   -1  2611         "spinbutton",
   -1  2612         "progressbar",
   -1  2613       ];
 2459  2614       var editWidgetRoles = ["searchbox", "textbox"];
 2460  2615       var selectWidgetRoles = [
 2461  2616         "grid",
 2462  2617         "listbox",
 2463  2618         "tablist",
 2464  2619         "tree",
 2465    -1         "treegrid"
   -1  2620         "treegrid",
 2466  2621       ];
 2467  2622       var otherWidgetRoles = [
 2468  2623         "button",
@@ -2478,11 +2633,11 @@ Plus roles extended for the Role Parity project.
 2478  2633         "radio",
 2479  2634         "tab",
 2480  2635         "treeitem",
 2481    -1         "gridcell"
   -1  2636         "gridcell",
 2482  2637       ];
 2483  2638       var presentationRoles = ["presentation", "none"];
 2484  2639 
 2485    -1       var hasGlobalAttr = function(node) {
   -1  2640       var hasGlobalAttr = function (node) {
 2486  2641         var globalPropsAndStates = [
 2487  2642           "labelledby",
 2488  2643           "label",
@@ -2501,7 +2656,7 @@ Plus roles extended for the Role Parity project.
 2501  2656           "keyshortcuts",
 2502  2657           "live",
 2503  2658           "owns",
 2504    -1           "roledescription"
   -1  2659           "roledescription",
 2505  2660         ];
 2506  2661         for (var i = 0; i < globalPropsAndStates.length; i++) {
 2507  2662           var a = trim(node.getAttribute("aria-" + globalPropsAndStates[i]));
@@ -2514,8 +2669,8 @@ Plus roles extended for the Role Parity project.
 2514  2669 
 2515  2670       var isHidden =
 2516  2671         overrides.isHidden ||
 2517    -1         function(node, refNode) {
 2518    -1           var hidden = function(node) {
   -1  2672         function (node, refNode) {
   -1  2673           var hidden = function (node) {
 2519  2674             if (!node || node.nodeType !== 1 || node === refNode) {
 2520  2675               return false;
 2521  2676             }
@@ -2533,7 +2688,7 @@ Plus roles extended for the Role Parity project.
 2533  2688           return hidden(node);
 2534  2689         };
 2535  2690 
 2536    -1       var isParentHidden = function(node, refNode, skipOwned, skipCurrent) {
   -1  2691       var isParentHidden = function (node, refNode, skipOwned, skipCurrent) {
 2537  2692         while (node && node !== refNode) {
 2538  2693           if (!skipCurrent && node.nodeType === 1 && isHidden(node, refNode)) {
 2539  2694             return true;
@@ -2545,7 +2700,7 @@ Plus roles extended for the Role Parity project.
 2545  2700 
 2546  2701       var getStyleObject =
 2547  2702         overrides.getStyleObject ||
 2548    -1         function(node) {
   -1  2703         function (node) {
 2549  2704           var style = {};
 2550  2705           if (docO.defaultView && docO.defaultView.getComputedStyle) {
 2551  2706             style = docO.defaultView.getComputedStyle(node, "");
@@ -2555,7 +2710,7 @@ Plus roles extended for the Role Parity project.
 2555  2710           return style;
 2556  2711         };
 2557  2712 
 2558    -1       var cleanCSSText = function(node, text) {
   -1  2713       var cleanCSSText = function (node, text) {
 2559  2714         var s = text;
 2560  2715         if (s.indexOf("attr(") !== -1) {
 2561  2716           var m = s.match(/attr\((.|\n|\r\n)*?\)/g);
@@ -2569,7 +2724,7 @@ Plus roles extended for the Role Parity project.
 2569  2724         return s;
 2570  2725       };
 2571  2726 
 2572    -1       var isBlockLevelElement = function(node, cssObj) {
   -1  2727       var isBlockLevelElement = function (node, cssObj) {
 2573  2728         var styleObject = cssObj || getStyleObject(node);
 2574  2729         for (var prop in blockStyles) {
 2575  2730           var values = blockStyles[prop];
@@ -2578,7 +2733,7 @@ Plus roles extended for the Role Parity project.
 2578  2733               styleObject[prop] &&
 2579  2734               ((values[i].indexOf("!") === 0 &&
 2580  2735                 [values[i].slice(1), "inherit", "initial", "unset"].indexOf(
 2581    -1                   styleObject[prop]
   -1  2736                   styleObject[prop],
 2582  2737                 ) === -1) ||
 2583  2738                 styleObject[prop].indexOf(values[i]) === 0)
 2584  2739             ) {
@@ -2609,7 +2764,7 @@ Plus roles extended for the Role Parity project.
 2609  2764         "column-count": ["!auto"],
 2610  2765         "column-width": ["!auto"],
 2611  2766         "column-span": ["all"],
 2612    -1         contain: ["layout", "content", "strict"]
   -1  2767         contain: ["layout", "content", "strict"],
 2613  2768       };
 2614  2769 
 2615  2770       // HTML5 Block Elements indexed from:
@@ -2658,16 +2813,16 @@ Plus roles extended for the Role Parity project.
 2658  2813         "th",
 2659  2814         "tr",
 2660  2815         "ul",
 2661    -1         "video"
   -1  2816         "video",
 2662  2817       ];
 2663  2818 
 2664    -1       var getObjectValue = function(
   -1  2819       var getObjectValue = function (
 2665  2820         role,
 2666  2821         node,
 2667  2822         isRange,
 2668  2823         isEdit,
 2669  2824         isSelect,
 2670    -1         isNative
   -1  2825         isNative,
 2671  2826       ) {
 2672  2827         var val = "";
 2673  2828         var bypass = false;
@@ -2694,7 +2849,7 @@ Plus roles extended for the Role Parity project.
 2694  2849             node,
 2695  2850             node.querySelectorAll('*[aria-selected="true"]'),
 2696  2851             false,
 2697    -1             childRoles
   -1  2852             childRoles,
 2698  2853           );
 2699  2854           bypass = true;
 2700  2855         }
@@ -2707,7 +2862,7 @@ Plus roles extended for the Role Parity project.
 2707  2862             val = joinSelectedParts(
 2708  2863               node,
 2709  2864               node.querySelectorAll("option[selected]"),
 2710    -1               true
   -1  2865               true,
 2711  2866             );
 2712  2867           } else {
 2713  2868             val = node.value;
@@ -2717,11 +2872,11 @@ Plus roles extended for the Role Parity project.
 2717  2872         return val;
 2718  2873       };
 2719  2874 
 2720    -1       var addSpacing = function(s) {
   -1  2875       var addSpacing = function (s) {
 2721  2876         return trim(s).length ? " " + s + " " : " ";
 2722  2877       };
 2723  2878 
 2724    -1       var joinSelectedParts = function(node, nOA, isNative, childRoles) {
   -1  2879       var joinSelectedParts = function (node, nOA, isNative, childRoles) {
 2725  2880         if (!nOA || !nOA.length) {
 2726  2881           return "";
 2727  2882         }
@@ -2733,7 +2888,7 @@ Plus roles extended for the Role Parity project.
 2733  2888             parts.push(
 2734  2889               isNative
 2735  2890                 ? getText(nOA[i])
 2736    -1                 : walk(nOA[i], true, false, [], false, { top: nOA[i] }).name
   -1  2891                 : walk(nOA[i], true, false, [], false, { top: nOA[i] }).name,
 2737  2892             );
 2738  2893           }
 2739  2894         }
@@ -2742,7 +2897,7 @@ Plus roles extended for the Role Parity project.
 2742  2897 
 2743  2898       var getPseudoElStyleObj =
 2744  2899         overrides.getPseudoElStyleObj ||
 2745    -1         function(node, position) {
   -1  2900         function (node, position) {
 2746  2901           var styleObj = {};
 2747  2902           for (var prop in blockStyles) {
 2748  2903             styleObj[prop] = docO.defaultView
@@ -2756,7 +2911,7 @@ Plus roles extended for the Role Parity project.
 2756  2911           return styleObj;
 2757  2912         };
 2758  2913 
 2759    -1       var getText = function(node, position) {
   -1  2914       var getText = function (node, position) {
 2760  2915         if (!position && node.nodeType === 1) {
 2761  2916           return node.innerText || node.textContent || "";
 2762  2917         }
@@ -2777,7 +2932,7 @@ Plus roles extended for the Role Parity project.
 2777  2932 
 2778  2933       var getCSSText =
 2779  2934         overrides.getCSSText ||
 2780    -1         function(node, refNode) {
   -1  2935         function (node, refNode) {
 2781  2936           if (
 2782  2937             (node && node.nodeType !== 1) ||
 2783  2938             node === refNode ||
@@ -2787,18 +2942,18 @@ Plus roles extended for the Role Parity project.
 2787  2942               "textarea",
 2788  2943               "img",
 2789  2944               "iframe",
 2790    -1               "optgroup"
   -1  2945               "optgroup",
 2791  2946             ].indexOf(node.nodeName.toLowerCase()) !== -1
 2792  2947           ) {
 2793  2948             return { before: "", after: "" };
 2794  2949           }
 2795  2950           return {
 2796  2951             before: cleanCSSText(node, getText(node, ":before")),
 2797    -1             after: cleanCSSText(node, getText(node, ":after"))
   -1  2952             after: cleanCSSText(node, getText(node, ":after")),
 2798  2953           };
 2799  2954         };
 2800  2955 
 2801    -1       var getParent = function(node, nTag, nRole, noRole) {
   -1  2956       var getParent = function (node, nTag, nRole, noRole) {
 2802  2957         noRole = !!noRole;
 2803  2958         while (node) {
 2804  2959           node = node.parentNode;
@@ -2816,11 +2971,11 @@ Plus roles extended for the Role Parity project.
 2816  2971         return {};
 2817  2972       };
 2818  2973 
 2819    -1       var hasParentLabelOrHidden = function(
   -1  2974       var hasParentLabelOrHidden = function (
 2820  2975         node,
 2821  2976         refNode,
 2822  2977         ownedBy,
 2823    -1         ignoreHidden
   -1  2978         ignoreHidden,
 2824  2979       ) {
 2825  2980         var trackNodes = [];
 2826  2981         while (node && node !== refNode) {
@@ -2853,7 +3008,7 @@ Plus roles extended for the Role Parity project.
 2853  3008           node,
 2854  3009           docO.body,
 2855  3010           true,
 2856    -1           !!(node && node.nodeName && node.nodeName.toLowerCase() === "area")
   -1  3011           !!(node && node.nodeName && node.nodeName.toLowerCase() === "area"),
 2857  3012         )
 2858  3013       ) {
 2859  3014         return props;
@@ -2878,7 +3033,7 @@ Plus roles extended for the Role Parity project.
 2878  3033       // Clear track variables
 2879  3034       nodes = {
 2880  3035         name: [],
 2881    -1         desc: []
   -1  3036         desc: [],
 2882  3037       };
 2883  3038       owns = [];
 2884  3039     } catch (e) {
@@ -2894,7 +3049,7 @@ Plus roles extended for the Role Parity project.
 2894  3049     }
 2895  3050   };
 2896  3051 
 2897    -1   var trim = function(str) {
   -1  3052   var trim = function (str) {
 2898  3053     if (typeof str !== "string") {
 2899  3054       return "";
 2900  3055     }
@@ -2903,7 +3058,7 @@ Plus roles extended for the Role Parity project.
 2903  3058 
 2904  3059   // Customize returned string for testable statements
 2905  3060 
 2906    -1   nameSpace.getAccNameMsg = nameSpace.getNames = function(node, overrides) {
   -1  3061   nameSpace.getAccNameMsg = nameSpace.getNames = function (node, overrides) {
 2907  3062     var props = nameSpace.getAccName(node, null, false, overrides);
 2908  3063     if (props.error) {
 2909  3064       return (
@@ -2929,7 +3084,7 @@ Plus roles extended for the Role Parity project.
 2929  3084   if (typeof module === "object" && module.exports) {
 2930  3085     module.exports = {
 2931  3086       getNames: nameSpace.getNames,
 2932    -1       calcNames: nameSpace.calcNames
   -1  3087       calcNames: nameSpace.calcNames,
 2933  3088     };
 2934  3089   }
 2935  3090 })();

diff --git a/package.json b/package.json

@@ -4,11 +4,11 @@
    4     4   "description": "compare different implementations of accname",
    5     5   "devDependencies": {
    6     6     "accessibility-developer-tools": "2.12.0",
    7    -1     "aria-api": "0.5.0",
    8    -1     "axe-core": "4.8.3",
   -1     7     "aria-api": "0.7.0",
   -1     8     "axe-core": "4.9.1",
    9     9     "dom-accessibility-api": "0.6.3",
   10    10     "nyc": "^15.1.0",
   11    -1     "w3c-alternative-text-computation": "github:accdc/w3c-alternative-text-computation"
   -1    11     "w3c-alternative-text-computation": "github:WhatSock/w3c-alternative-text-computation#4b59f9877c9ae6282408edb150f64003a59fdb95"
   12    12   },
   13    13   "repository": {
   14    14     "type": "git",

diff --git a/src/babel.js b/src/babel.js

@@ -17,7 +17,7 @@ var ex = function(fn, args, _this) {
   17    17 };
   18    18 
   19    19 var implementations = [{
   20    -1 	name: 'aria-api (0.5.0)',
   -1    20 	name: 'aria-api (0.7.0)',
   21    21 	url: 'https://github.com/xi/aria-api',
   22    22 	fn: function(el) {
   23    23 		return {
@@ -27,8 +27,8 @@ var implementations = [{
   27    27 		};
   28    28 	},
   29    29 }, {
   30    -1 	name: 'accdc (2.61)',
   31    -1 	url: 'https://github.com/accdc/w3c-alternative-text-computation',
   -1    30 	name: 'WhatSock (2.62)',
   -1    31 	url: 'https://github.com/WhatSock/w3c-alternative-text-computation',
   32    32 	fn: accdc.calcNames,
   33    33 }, {
   34    34 	name: 'dom-accessibility-api (0.6.3)',
@@ -41,7 +41,7 @@ var implementations = [{
   41    41 		};
   42    42 	},
   43    43 }, {
   44    -1 	name: 'axe (4.8.3)',
   -1    44 	name: 'axe (4.9.1)',
   45    45 	url: 'https://github.com/dequelabs/axe-core',
   46    46 	fn: function(el) {
   47    47 		axe._tree = axe.utils.getFlattenedTree(document.body);