axe-mcp-server 1.5.0-next.c19b37f8 → 1.5.0-next.cc187717

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -26,4 +26,4 @@
26
26
  `}).join("\n")).join("\n")}
27
27
  </testsuite>
28
28
  </testsuites>
29
- `};const n=a(i()),o=Ye(),s=e=>String(e).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&apos;")}),l=a.cw(function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,{baseScreenshotURL:t}={}){const o=(new Date).toISOString();return JSON.stringify(e.map(e=>({ruleId:e.rule,description:e.description,help:e.helpText,helpUrl:e.helpUrl,impact:e.impact,needsReview:!!e.isNeedsReview,isManual:e.isManual,selector:e.selector,summary:e.summary,source:e.source,tags:(0,i.getIssueTags)(e),igt:(0,n.getIgtName)(e.igtTool),testName:e.testName,shareURL:e.shareURL,createdAt:e.createdAt||o,testUrl:e.testUrl,testPageTitle:e.testPageTitle,foundBy:e.foundBy,axeVersion:e.axeVersion,screenshotURL:(0,a.getScreenshotUrl)(t,e.screenshotId,e.boundingBox),relatedNodes:e.relatedNodes||[]}))).replace(/\\n/g,"\\\\n")};const a=y(),n=k(),i=E()}),d=a.cw(function(e,t){t.jsonUFA=void 0;const a=y();t.jsonUFA=(e,t,n)=>{const i=(e=>{const t={};return e.forEach(e=>{const a=e.id;t[a]?t[a].count+=e.uniques.length:t[a]={count:e.uniques.length,mode:"automated"}}),Object.entries(t).map(([e,{count:t,mode:a}])=>({name:e,count:t,mode:a}))})(t.results),o=e.created_at?new Date(e.created_at).toISOString():null,s=e.updated_at?new Date(e.updated_at).toISOString():null,r=e.axe_core_version,c=!1,l=!1,d={url:t.pageStateResults.length?t.pageStateResults[0].url:"",extensionVersion:e.data_source_version||"",axeVersion:r,standard:n.standard,testingStartDate:o,testingEndDate:s,bestPracticesEnabled:c,experimentalEnabled:l,issueSummary:{critical:t.overview.numIssueSeverity.critical.totalCurrent,minor:t.overview.numIssueSeverity.minor.totalCurrent,moderate:t.overview.numIssueSeverity.moderate.totalCurrent,serious:t.overview.numIssueSeverity.serious.totalCurrent,needsReview:0,bestPractices:0},remainingTestingSummary:{run:!1},igtSummary:void 0,failedRules:i,needsReview:[],source:n.source,testDetails:{testId:e.id,testName:e.name||"",createdBy:n.createdBy||null,axeVersion:r||"",engine:n.engine,standard:n.standard,startDate:o,endDate:s,bestPracticesEnabled:c,experimentalEnabled:l,integrationTestId:n.integrationTestId||null},allIssues:t.pageStateResults.map(t=>t.result.map(t=>t.uniques.map(i=>({issueId:null,ruleId:t.id,description:t.description,help:t.help,helpUrl:t.helpUrl,impact:t.impact,needsReview:!1,isManual:!1,isAdvanced:t.tags?.includes("advanced")||!1,summary:t.description,source:i.html,selector:i.target,tags:t.tags,testName:e.name,shareURL:null,createdAt:new Date(i.created_at).toISOString(),isExperimental:!1,foundBy:e.user_email||void 0,testUrl:i.url,axeVersion:r,testPageTitle:i.page_state||void 0,integrationUrl:null,screenshotURL:(0,a.getScreenshotUrl)(n.baseScreenshotURL,i.screenshot_id,i.advanced?.visibleBoundingRect)})))).flat(3)};return JSON.stringify(d).replace(/\\n/g,"\\\\n")}}),u=a.cw(function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,o,s,r="string"){const c=(0,n.getIssueSummary)(o),l=(0,n.getIgtSummary)(e,t,o),d=(0,n.getIssueRules)(o),u=(0,n.getIssueRules)(o,!0),p=s.startDate?new Date(s.startDate).toISOString():null,h=s.endDate?new Date(s.endDate).toISOString():null,m=e.metadata.axeVersion,g=s.bestPracticesEnabled,f=s.experimentalEnabled,b={url:e.url,extensionVersion:s.extensionVersion,axeVersion:m,standard:s.standard,testingStartDate:p,testingEndDate:h,bestPracticesEnabled:g,experimentalEnabled:f,issueSummary:c,remainingTestingSummary:{run:!!e.manual_tests_completed_at},igtSummary:l,failedRules:d,needsReview:u,source:s.source,testDetails:{testId:e.id,testName:e.name||"",axeVersion:m,engine:s.engine,standard:s.standard,createdBy:s.createdBy||null,startDate:p,endDate:h,bestPracticesEnabled:g,experimentalEnabled:f,integrationTestId:s.integrationTestId||null},allIssues:o.map(t=>({...(0,a.mapAxeExtensionIssueToUniversalIssue)(t),appIdentifier:t.appIdentifier,screenTitle:t.screenTitle,foundBy:t.foundBy||s.foundBy,testUrl:t.testUrl||e.url,analyzedValues:t.analyzedValues,axeVersion:t.axeVersion||m,testPageTitle:t.testPageTitle||e.test_page_title,screenshotURL:(0,i.getScreenshotUrl)(s.baseScreenshotURL,t.screenshotId,t.boundingBox),relatedNodes:t.relatedNodes||[]}))};if("json"===r)return b;return JSON.stringify(b).replace(/\\n/g,"\\\\n")};const a=E(),n=T(),i=y()}),p=a.cw(function(e,t){var a,n=this&&this.__createBinding||(Object.create?function(e,t,a,n){void 0===n&&(n=a);var i=Object.getOwnPropertyDescriptor(t,a);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[a]}}),Object.defineProperty(e,n,i)}:function(e,t,a,n){void 0===n&&(n=a),e[n]=t[a]}),i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),s=this&&this.__importStar||(a=function(e){return a=Object.getOwnPropertyNames||function(e){var t=[];for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[t.length]=a);return t},a(e)},function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var o=a(e),s=0;s<o.length;s++)"default"!==o[s]&&n(t,e,o[s]);return i(t,e),t}),r=this&&this.__exportStar||function(e,t){for(var a in e)"default"===a||Object.prototype.hasOwnProperty.call(t,a)||n(t,e,a)},c=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.userFlowExport=t.universalExport=t.mapIssueToSavedIssue=t.mapDedupedResultsToUniversalIssue=t.mapDedupedPageStatesToUniversalIssue=t.mapAxeResultsToIssues=t.mapAxeExtensionIssueToUniversalIssue=t.manifestUtils=t.jUnitXmlExport=t.jsonUniversal=t.getIssuesWithUniversalMatches=t.getIgtName=t.getFriendlyFilename=t.filterUserFlowResults=t.filterUniversalIssues=t.filterIssuesByConfig=t.filterIssues=t.exportIssues=t.buildPageStateKey=void 0;const l=o();Object.defineProperty(t,"exportIssues",{enumerable:!0,get:function(){return l.exportIssues}}),Object.defineProperty(t,"jUnitXmlExport",{enumerable:!0,get:function(){return l.jUnitXmlExport}}),Object.defineProperty(t,"universalExport",{enumerable:!0,get:function(){return l.universalExport}}),Object.defineProperty(t,"userFlowExport",{enumerable:!0,get:function(){return l.userFlowExport}});const d=c(u());t.jsonUniversal=d.default;const p=m();Object.defineProperty(t,"buildPageStateKey",{enumerable:!0,get:function(){return p.buildPageStateKey}});const y=g();Object.defineProperty(t,"filterIssuesByConfig",{enumerable:!0,get:function(){return y.filterIssuesByConfig}});const T=c(f());t.filterUniversalIssues=T.default;const x=c(b());t.filterUserFlowResults=x.default;const I=v();Object.defineProperty(t,"getFriendlyFilename",{enumerable:!0,get:function(){return I.getFriendlyFilename}});const R=w();Object.defineProperty(t,"getIssuesWithUniversalMatches",{enumerable:!0,get:function(){return R.getIssuesWithUniversalMatches}});const D=k();Object.defineProperty(t,"getIgtName",{enumerable:!0,get:function(){return D.getIgtName}});const C=c(A());Object.defineProperty(t,"filterIssues",{enumerable:!0,get:function(){return C.default}});const N=E();Object.defineProperty(t,"mapAxeExtensionIssueToUniversalIssue",{enumerable:!0,get:function(){return N.mapAxeExtensionIssueToUniversalIssue}}),Object.defineProperty(t,"mapAxeResultsToIssues",{enumerable:!0,get:function(){return N.mapAxeResultsToIssues}}),Object.defineProperty(t,"mapDedupedPageStatesToUniversalIssue",{enumerable:!0,get:function(){return N.mapDedupedPageStatesToUniversalIssue}}),Object.defineProperty(t,"mapDedupedResultsToUniversalIssue",{enumerable:!0,get:function(){return N.mapDedupedResultsToUniversalIssue}}),Object.defineProperty(t,"mapIssueToSavedIssue",{enumerable:!0,get:function(){return N.mapIssueToSavedIssue}});const M=s(S());t.manifestUtils=M,r(h(),t)}),h=a.cw(function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.impactValues=t.igtValues=t.guidedToolsInOrder=t.configAdvancedRulesValues=t.configBestPracticesValues=t.configNeedsReviewValues=t.deprecatedIgtTools=void 0,t.deprecatedIgtTools=["page-info","buttons-and-links","lists","headings"],t.configNeedsReviewValues=["enabled","disabled","exclude"],t.configBestPracticesValues=["enabled","disabled"],t.configAdvancedRulesValues=["enabled","disabled"],t.guidedToolsInOrder=["table","keyboard","aria-modal","interactive-elements","structure","page-info","buttons-and-links","lists","images","headings","forms"],t.igtValues=[...t.guidedToolsInOrder,"all"],t.impactValues=["critical","serious","moderate","minor"]}),m=a.cw(function(e,t){t.buildPageStateKey=void 0;t.buildPageStateKey=e=>`${new Date(e.created_at).getTime()}-${e.url}`}),g=a.cw(function(e,t){t.isBestPracticeIssue=void 0,t.filterIssuesByConfig=function(e,n){const i=({tags:e=[]})=>"all"===n.configAccessibilityStandard||!!e.filter(e=>a.rulesets[n.configAccessibilityStandard].tags.includes(e)).length,o="enabled"===n.configBestPractices,s="enabled"===n.configAdvancedRules,r="disabled"===n.configNeedsReview,c=n.configAccessibilityStandard;return e.filter(e=>{const a=(0,t.isBestPracticeIssue)(e,{accessibilityStandard:c||"wcag22aaa"});return(o||!a)&&(s||!e.isAdvanced)&&(!r||!e.isNeedsReview)&&(!(c&&!a)||i(e)||!(!c||"TTv5"!==c||!e.isManual)||i(e))})};const a=i(),n=E();t.isBestPracticeIssue=(e,t={accessibilityStandard:"wcag22aaa"})=>"best-practice"===(0,a.getIssueType)((0,n.getIssueTags)(e),t)}),f=a.cw(function(e,t){var a=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){const a=[],i=[];return e.forEach(e=>{const s=(0,o.isBestPracticeIssue)({tags:e.tags,rule:e.ruleId},{accessibilityStandard:t.configAccessibilityStandard});if("disabled"===t.configBestPractices&&s)return;if("disabled"===t.configNeedsReview&&e.needsReview)return;if(t.manifestId&&e.manifestId!==t.manifestId)return;const r=e.tags?.find(e=>n.default[t.configAccessibilityStandard].tags.includes(e)),c="TTv5"===t.configAccessibilityStandard&&e.isManual;if(!s&&!r&&!c)return;if(t.pageStateKey&&e.pageStateKey!==t.pageStateKey)return;if(t.newIssues&&!e.isNewIssue)return;const l=()=>{"exclude"===t.configNeedsReview&&e.needsReview||i.push(e),a.push(e)};if(!t.automatic||e.isManual||e.isAdvanced)if(t.advanced&&!e.isManual&&e.isAdvanced){if("exclude"===t.configNeedsReview&&e.needsReview)return;l()}else t.manual&&e.isManual&&!e.igtId?l():(t.manifestId||!e.igtId||"all"!==t.igt&&e.igtId!==t.igt)&&(!t.impact.includes(e.impact)||e.needsReview)?(t.bestPractices&&s||t.needsReview&&e.needsReview)&&l():l();else l()}),{totalIssues:i,filteredIssues:a}};const n=a(i()),o=g()}),b=a.cw(function(e,t){var a=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){const a=e.pageStateResults.map(e=>({...e,result:s(e.result,t)})),n=s(e.results,t);let i=0,o=0;const r={totalCurrent:0},c={critical:{...r},serious:{...r},moderate:{...r},minor:{...r}};for(const e of n){const t=e.impact,a=e.uniques.length;o+=e.uniques.filter(e=>e.isNewIssue).length,c[t].totalCurrent+=a,i+=a}return{overview:{currUniqueIssues:i,newIssues:o,numIssueSeverity:c},pageStateResults:a,results:n}};const n=a(i()),o=g();const s=(e,t)=>{const a=[];return e.forEach(e=>{const i=(0,o.isBestPracticeIssue)({tags:e.tags,rule:e.id},{accessibilityStandard:t.configAccessibilityStandard});if("disabled"===t.configBestPractices&&i)return;const s="all"===t.configAccessibilityStandard||e.tags?.find(e=>n.default[t.configAccessibilityStandard].tags.includes(e));if(!i&&!s)return;if(t.pageStateKey&&e.pageStateId!==t.pageStateKey)return;const r=()=>{a.push(e)};(t.impact.includes(e.impact)||t.bestPractices&&i||t.automatic)&&r()}),a}}),v=a.cw(function(e,t){var a=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.getFriendlyFilename=function(e,t){let a;try{a=new URL(e).host}catch{}const o=(new Date).toISOString().substring(0,10);return`${[a,t].filter(Boolean).map(e=>(0,n.default)(e)).join("-").substring(0,i)}-${o}`};const n=a(xa()),i=64}),y=a.cw(function(e,t){t.getScreenshotUrl=void 0;t.getScreenshotUrl=(e,t,a)=>{if(!e||!t)return null;const n=new URL(`${e}/api/screenshots/${t}`);if((e=>{if("object"!=typeof e||null===e)return!1;const t=e;return["x","y","width","height"].every(e=>"number"==typeof t[e]&&Number.isFinite(t[e]))})(a)){const{x:e,y:t,width:i,height:o}=a;n.searchParams.set("boundingBox",JSON.stringify({x:e,y:t,width:i,height:o}))}return n.toString()}}),w=a.cw(function(e,t){t.getIssuesWithUniversalMatches=void 0;t.getIssuesWithUniversalMatches=(e,t)=>{const a=t.reduce((e,{issueId:t})=>(null!=t&&(e[t]=t),e),{});return e.filter(e=>!!a[e.id])}}),k=a.cw(function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.getIgtName=t.igtNameMap=void 0,t.igtNameMap={table:"Table",keyboard:"Keyboard","aria-modal":"Modal Dialog","interactive-elements":"Interactive Elements",structure:"Structure","page-info":"Page Information","buttons-and-links":"Buttons and Links",lists:"Lists",images:"Images",headings:"Headings",forms:"Forms"};t.getIgtName=e=>e?t.igtNameMap[e]:"",t.default=t.igtNameMap}),A=()=>a(9139),E=a.cw(function(e,t){var a=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.mapDedupedPageStatesToUniversalIssue=t.mapDedupedResultsToUniversalIssue=t.mapAxeExtensionIssueToUniversalIssue=void 0,t.mapAxeResultsToIssues=function(e){const t=(t,a)=>t.map(t=>t.nodes.map(n=>({rule:t.id,description:t.description,helpText:t.help,helpUrl:t.helpUrl,impact:t.impact,potentialImpact:a?.isNeedsReview?t.impact:null,selector:n.target,source:n.html,summary:n.failureSummary,tags:t.tags,isBestPractice:t.tags.includes("best-practice"),isNeedsReview:!1,isManual:!1,isAdvanced:t.tags.includes("advanced"),remediation:{any:n.any,all:n.all,none:n.none},createdAt:e.timestamp,...a}))).flat();return[...t(e.violations),...t(e.incomplete,{isNeedsReview:!0,impact:null})]},t.getIssueTags=u,t.mapIssueToSavedIssue=function(e,t={}){const a=u(e);return{rule:e.rule,description:e.description,helpText:e.help,helpUrl:e.help_url,impact:e.needs_review?null:e.impact,potentialImpact:e.needs_review?e.impact:null,selector:e.selector,source:e.source,summary:e.summary,tags:a,isBestPractice:"best-practice"===e.variant||a.includes("best-practice"),isAdvanced:a.includes("advanced"),isNeedsReview:e.needs_review,isManual:e.is_manual,id:e.id,testId:e.test_id,testName:e.test_name,testUrl:e.test_url,foundBy:e.found_by,createdAt:e.created_at,updatedAt:e.updated_at,remediation:e.remediation,igtTool:e.manifest_guide,sharedWith:e.shared_with,screenshotId:e.screenshot_id,boundingBox:e.bounding_box,manifestId:e.manifest_id,integrationUrl:e.integration_url,isIgnored:e.is_ignored,ignoreReason:e.ignore_reason,ignoreNotes:e.ignore_notes,fingerprints:e.fingerprints??[],...t}};const n=a(sn()),i=a(G()),o=m(),s=k(),r=/^wcag\d{1,2}a{1,3}$/,c=e=>e.find(e=>e.standards.find(e=>r.test(e)))?.standards||[],l={"keyboard-inaccessible":"wcag211a","alt-text-essential-image-text":"wcag111b","alt-text-missing":"wcag111b"},d=(e,t)=>e.map(e=>{return e.checkpoint&&e.standards.find(e=>r.test(e))?(t=e.checkpoint)?`wcag${t.replace(/\./g,"")}`:"":"";var t}).filter(Boolean).filter(e=>!l[t]||l[t]===e);function u({rule:e,tags:t}){if(Array.isArray(t))return t;const a=i.default.getRules().find(t=>t.ruleId===e);if(a?.tags?.length)return a.tags;const o=n.default.find(({id:t})=>t===e);return o?[...c(o.data),...d(o.data,e)]:[]}t.mapAxeExtensionIssueToUniversalIssue=e=>{const t=(new Date).toISOString(),a=u(e),n=(0,s.getIgtName)(e.igtTool);return{issueId:e.id||null,ruleId:e.rule,description:e.description,help:e.helpText,helpUrl:e.helpUrl,impact:e.impact,needsReview:e.isNeedsReview,isManual:e.isManual,isAdvanced:e.tags?.includes("advanced")||!1,selector:e.selector,summary:e.summary,source:e.source,tags:a,igt:n,testName:e.testName,shareURL:e.shareURL||null,createdAt:e.createdAt?new Date(e.createdAt).toISOString():t,isExperimental:a.includes("experimental"),foundBy:e.foundBy,manifestId:e.manifestId,integrationUrl:e.integrationUrl||null,igtId:e.igtTool,groupId:e.testId,isIgnored:e.isIgnored??!1,ignoreReason:e.ignoreReason||null,ignoreNotes:e.ignoreNotes||null,fingerprints:e.fingerprints??[],remediation:e.remediation||null}};const p=(e,t)=>{const{id:a,impact:n,tags:i,description:o,help:s,helpUrl:r,duplicates:c}=e;return{issueId:null,ruleId:a,description:o,help:s,helpUrl:r,impact:n,needsReview:!1,isExperimental:!1,isManual:!1,isAdvanced:!1,summary:t.failureSummary,shareURL:null,selector:t.target,source:t.html,tags:i,createdAt:new Date(t.created_at).toISOString(),screenshotId:t.screenshot_id||null,boundingBox:t.advanced?.visibleBoundingRect??null,testUrl:t.url,testPageTitle:t.page_state||"",duplicates:c,integrationUrl:null}};t.mapDedupedResultsToUniversalIssue=e=>e.flatMap(e=>e.uniques.map(t=>p(e,t)));t.mapDedupedPageStatesToUniversalIssue=e=>e.flatMap(e=>e.result.flatMap(t=>t.uniques.map(a=>({...p(t,a),pageStateKey:(0,o.buildPageStateKey)(e),isNewIssue:a.isNewIssue,groupId:(0,o.buildPageStateKey)(e)}))))}),S=()=>a(5670),T=a.cw(function(e,t){var a,n=this&&this.__createBinding||(Object.create?function(e,t,a,n){void 0===n&&(n=a);var i=Object.getOwnPropertyDescriptor(t,a);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[a]}}),Object.defineProperty(e,n,i)}:function(e,t,a,n){void 0===n&&(n=a),e[n]=t[a]}),i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),o=this&&this.__importStar||(a=function(e){return a=Object.getOwnPropertyNames||function(e){var t=[];for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[t.length]=a);return t},a(e)},function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var o=a(e),s=0;s<o.length;s++)"default"!==o[s]&&n(t,e,o[s]);return i(t,e),t});Object.defineProperty(t,"__esModule",{value:!0}),t.getIssueSummary=t.getIssueRules=t.getIgtSummary=void 0;const s=h(),r=o(k());t.getIgtSummary=(e,a,n)=>{if(!a||!Object.keys(a).length)return[];return Object.keys(r.default).filter(e=>!s.deprecatedIgtTools.includes(e)).flatMap(i=>{const o=a[i],s={tool:(0,r.getIgtName)(i),skipped:!!e.skipped_guides?.includes(i)};return o?.length?o.map(e=>{const a={...s,name:e.name||null,run:!!e.body?.metadata?.complete};if(a.run){const i=n.filter(t=>t.manifestId===e.id);a.issues=(0,t.getIssueSummary)(i,!0),a.duration=e.body?.metadata?.duration}return a}):{...s,name:null,run:!1}})};t.getIssueRules=(e,t=!1)=>{const a={};e.forEach(e=>{if(t&&!e.isNeedsReview)return;const n=e.rule;a[n]?a[n].count++:(a[n]={},a[n].count=1,a[n].mode=e.isManual?"manual":"automated")});const n=[];for(const e in a)n.push({name:e,count:a[e].count,mode:a[e].mode});return n};t.getIssueSummary=(e,t=!1)=>{const a={};return a.critical=e.filter(e=>"critical"===e.impact).length||0,a.serious=e.filter(e=>"serious"===e.impact).length||0,a.moderate=e.filter(e=>"moderate"===e.impact).length||0,a.minor=e.filter(e=>"minor"===e.impact).length||0,t||(a.bestPractices=e.filter(e=>e.isBestPractice).length||0,a.needsReview=e.filter(e=>e.isNeedsReview).length||0),a}}),x=a.cw(function(e,t){var n,i=this&&this.__createBinding||(Object.create?function(e,t,a,n){void 0===n&&(n=a);var i=Object.getOwnPropertyDescriptor(t,a);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[a]}}),Object.defineProperty(e,n,i)}:function(e,t,a,n){void 0===n&&(n=a),e[n]=t[a]}),o=this&&this.__exportStar||function(e,t){for(var a in e)"default"===a||Object.prototype.hasOwnProperty.call(t,a)||i(t,e,a)};Object.defineProperty(t,"__esModule",{value:!0}),t.MetricActionNames=t.MetricPeriodId=t.listEnterpriseProductAccess=t.listUserProductAccess=t.getPrioritySubscription=t.getControllingProductSubscription=t.isPriceTaxable=t.getPriceFromSubscription=t.getTrialEligibility=t.canUserStartTrial=t.getProductSubscription=t.getAllUserSubscriptions=t.listProductAccess=t.PRODUCT_BUNDLES=t.ProductSlugs=void 0,o(a(2891),t),function(e){e.advancedRules="advanced-rules",e.axeDevToolsHTML="axe-devtools-html",e.axeDevToolsMobile="axe-devtools-mobile",e.axeDevToolsExtension="axe-devtools-pro",e.axeDevToolsWatcher="axe-devtools-watcher",e.axeLinter="axe-devtools-linter",e.axeReports="axe-reports",e.axeMonitor="axe-monitor",e.axeAuditor="axe-auditor",e.dequeUniversity="deque-university",e.axeSpider="axe-spider",e.jiraIntegration="jira-integration",e.jiraOnPremIntegration="jira-on-prem-integration",e.jiraDirectCloudIntegration="jira-direct-cloud-integration",e.axeAuditorIntegration="axe-auditor-integration",e.customIntegration="custom-integration",e.axeAssistantSlack="axe-assistant-slack",e.axeAssistantTeams="axe-assistant-teams",e.scimService="scim-service",e.axeMCPServer="axe-mcp-server"}(n||(t.ProductSlugs=n={}));const s="none",r={[n.advancedRules]:s,[n.axeDevToolsHTML]:s,[n.axeDevToolsMobile]:s,[n.axeDevToolsExtension]:s,[n.axeDevToolsWatcher]:s,[n.axeLinter]:s,[n.axeReports]:s,[n.axeMonitor]:s,[n.axeAuditor]:s,[n.dequeUniversity]:s,[n.axeSpider]:s,[n.jiraIntegration]:s,[n.jiraOnPremIntegration]:s,[n.jiraDirectCloudIntegration]:s,[n.axeAuditorIntegration]:s,[n.customIntegration]:s,[n.axeAssistantSlack]:s,[n.axeAssistantTeams]:s,[n.scimService]:s,[n.axeMCPServer]:s},c={none:1,free:2,free_payment_failed:3,trial_ended:4,trial_payment_failed:5,paid_payment_failed:6,trialing:7,paid:8};t.PRODUCT_BUNDLES={[n.axeDevToolsExtension]:[n.axeDevToolsHTML],[n.axeMCPServer]:[n.axeDevToolsHTML]};t.listProductAccess=e=>{if(!Array.isArray(e))throw new TypeError("`subscriptions` must be an array");const a={...r};for(const t of e){const e=t.purchase_state,n=t.product_slug,i=a[n];i?c[e]>c[i]&&(a[n]=e):a[n]=e}for(const[e,n]of Object.entries(t.PRODUCT_BUNDLES)){const t=e;for(const e of n){const n=a[e];n!==s&&(a[t]=l([a[t],n]))}}return a};const l=e=>e.filter(e=>Boolean(e)).reduce((e,t)=>c[t]>c[e]?t:e,s);t.getAllUserSubscriptions=(e,t="all")=>"all"===t?[...e.subscriptions,...e.enterprises.flatMap(e=>e.subscriptions)]:[...e.subscriptions,...e.enterprises[0]?.subscriptions||[]],t.getProductSubscription=function(e,a){return(0,t.getPrioritySubscription)(e,void 0,a)};t.canUserStartTrial=({user:e,productSlug:a,enterprise:n,isEnterpriseAdmin:i=!1})=>{if(n){return"none"===(0,t.listProductAccess)(n.subscriptions)[a]&&i}return"none"===(0,t.listProductAccess)(e.subscriptions)[a]};t.getTrialEligibility=({user:e,product:a,enterprise:n,isEnterpriseAdmin:i=!1})=>{if(n&&!i)return{canStartTrial:!1,isRestart:!1};const o=a.slug;let s;if(s=n?(0,t.getControllingProductSubscription)({entity:n,productSlug:o}):(0,t.getControllingProductSubscription)({entity:e,productSlug:o}),null===s)return{canStartTrial:!0,isRestart:!1};if(s.stripe_id)return{canStartTrial:!1,isRestart:!1};const r=s.purchase_state;if("paid"!==r&&!s.trial_expires)return{canStartTrial:!0,isRestart:!1};if("trialing"!==r&&"paid"!==r&&null!==s.trial_expires&&null!==a.reactivate_trial_cutoff){const e=new Date(s.trial_expires)<new Date(a.reactivate_trial_cutoff);return{canStartTrial:e,isRestart:e}}return{canStartTrial:!1,isRestart:!1}};t.getPriceFromSubscription=e=>e.items.data[0].price;t.isPriceTaxable=e=>!(!e.metadata.taxable||"true"!==e.metadata.taxable);t.getControllingProductSubscription=({entity:e,productSlug:a,favoredProduct:n,includeEnterprises:i="all"})=>{const o=e=>e.length?(0,t.getPrioritySubscription)(e,n,a):null;if("keycloak_id"in e){const t=e.enterprises.length>0;let a=[];return t&&(a="all"===i?e.enterprises.flatMap(e=>e.subscriptions):"active-only"===i?e.enterprises[0].subscriptions:e.enterprises.find(e=>e.id===i)?.subscriptions||[]),o(t?a:e.subscriptions)}return o(e.subscriptions)};t.getPrioritySubscription=(e,a,i=n.axeDevToolsExtension)=>{const o=t.PRODUCT_BUNDLES[i];return e.filter(e=>e.product_slug===i||o?.includes(e.product_slug)).sort((e,t)=>{const n=c[e.purchase_state],o=c[t.purchase_state];return n!==o?o-n:e.product_slug===(a??i)?-1:t.product_slug===(a??i)?1:0})[0]??null};const d=(e,a="all")=>{const i=structuredClone(r);for(const o of Object.values(n)){const n=(0,t.getControllingProductSubscription)({entity:e,productSlug:o,includeEnterprises:a});n&&(i[o]=n.purchase_state)}return i};t.listUserProductAccess=(e,t="all")=>d(e,t);var u,p;t.listEnterpriseProductAccess=e=>d(e),function(e){e.calendarMonthly="calendar-monthly",e.calendarAnnual="calendar-annual",e.billingMonthly="billing-monthly"}(u||(t.MetricPeriodId=u={})),function(e){e.sendIssue="send issue"}(p||(t.MetricActionNames=p={}))}),I=a.cw(function(e,t){var n,i=this&&this.__awaiter||function(e,t,a,n){return new(a||(a=Promise))(function(i,o){function s(e){try{c(n.next(e))}catch(e){o(e)}}function r(e){try{c(n.throw(e))}catch(e){o(e)}}function c(e){var t;e.done?i(e.value):(t=e.value,t instanceof a?t:new a(function(e){e(t)})).then(s,r)}c((n=n.apply(e,t||[])).next())})},o=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.setDistinctIdCookie=t.getDistinctIdCookie=void 0;const s=o(Tt()),r=o(a(6103)),c=o(R()),l="https://axe.deque.com",d=null===(n=globalThis.location)||void 0===n?void 0:n.origin,u="distinct_id",p=new r.default;t.getDistinctIdCookie=(...e)=>i(void 0,[...e],void 0,function*(e={}){const a=!!e.token,{key:n=u,host:i=l,origin:o=d}=e,r=(yield p.get(n))||{},h=r.distinct_id,m=r.keycloak_id,g=(yield(0,c.default)({method:"GET",host:i,origin:o,token:e.token}))||{},f=g.distinct_id,b=g.keycloak_id;if(h&&h===f&&m&&m===b&&(0,s.default)(g.data,r.data))return r;const v={distinct_id:""};return f||h?f?b?h&&f!==h&&b!==m?(yield p.set(n,g),g):(v.distinct_id=f,v.keycloak_id=b,v.data=Object.assign(Object.assign({},r.data),g.data),(0,s.default)(v.data,g.data)?(yield p.set(n,v),v):(0,t.setDistinctIdCookie)(v,e)):a?(v.distinct_id=f,v.data=h!==f?g.data:Object.assign(Object.assign({},r.data),g.data),(0,t.setDistinctIdCookie)(v,e)):h?h!==f?(yield p.set(n,g),g):m?(v.keycloak_id=m,v.distinct_id=h,v.data=Object.assign(Object.assign({},r.data),g.data),(0,t.setDistinctIdCookie)(v,e)):(v.distinct_id=f,v.data=Object.assign(Object.assign({},r.data),g.data),(0,s.default)(v.data,g.data)?(yield p.set(n,v),v):(0,t.setDistinctIdCookie)(v,e)):(v.distinct_id=f,v.data=Object.assign(Object.assign({},r.data),g.data),(0,s.default)(v.data,g.data)?(yield p.set(n,v),v):(0,t.setDistinctIdCookie)(v,e)):(b&&b!==m?(v.distinct_id=crypto.randomUUID(),v.keycloak_id=b,v.data=g.data):(v.distinct_id=h,v.keycloak_id=m,v.data=Object.assign(Object.assign({},r.data),g.data)),(0,t.setDistinctIdCookie)(v,e)):(v.distinct_id=crypto.randomUUID(),v.keycloak_id=b||m,v.data=b!==m&&m?g.data:Object.assign(Object.assign({},r.data),g.data),(0,t.setDistinctIdCookie)(v,e))});t.default=(...e)=>i(void 0,[...e],void 0,function*(e={}){return(yield(0,t.getDistinctIdCookie)(e)).distinct_id});t.setDistinctIdCookie=(e,...t)=>i(void 0,[e,...t],void 0,function*(e,{key:t=u,host:a=l,origin:n=d,token:i}={}){return yield p.set(t,e),yield(0,c.default)({method:"POST",host:a,origin:n,token:i,payload:e}),e})}),R=()=>a(7867),D=a.cw(function(e,t){var a=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.asyncIterableToArray=void 0,t.arrayToAsyncIterable=i,t.mapAsyncIterable=async function*(e,t){for await(const a of e)yield t(a)},t.sortAsyncIterable=async function(e,a){const n=await(0,t.asyncIterableToArray)(e);return n.sort(a),i(n)},t.parallelMapAsyncIterable=async function*(e,t,{queueLimit:a}){(0,n.default)(a>0,"queueLimit must be greater than 0");const i=[];for await(const n of e)if(i.push(t(n)),i.length>=a){const e=i.shift();yield await e}for(;i.length>0;){const e=i.shift();yield await e}},t.parallelFlatMapAsyncIterable=async function*(e,t,{queueLimit:a}){(0,n.default)(a>0,"queueLimit must be greater than 0");const i=[];for await(const n of e)if(i.push(t(n)),i.length>=a){const e=i.shift(),t=await e;for(const e of t)yield e}for(;i.length>0;){const e=i.shift(),t=await e;for(const e of t)yield e}},t.batchAsyncIterable=async function*(e,t){(0,n.default)(t>0,"batchSize must be greater than 0");const a=[];for await(const n of e)a.push(n),a.length>=t&&(yield[...a],a.length=0);a.length&&(yield[...a])};const n=a($());async function*i(e){for(const t of e)yield t}t.asyncIterableToArray=async e=>{const t=[];for await(const a of e)t.push(a);return t}}),C=a.cw(function(e,t){var n=this&&this.__createBinding||(Object.create?function(e,t,a,n){void 0===n&&(n=a);var i=Object.getOwnPropertyDescriptor(t,a);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[a]}}),Object.defineProperty(e,n,i)}:function(e,t,a,n){void 0===n&&(n=a),e[n]=t[a]}),i=this&&this.__exportStar||function(e,t){for(var a in e)"default"===a||Object.prototype.hasOwnProperty.call(t,a)||n(t,e,a)},o=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.decodeURI=t.encodeURI=t.hashSettings=t.a11yThresholdResults=void 0;const s=o(a(3394));t.a11yThresholdResults=s.default;const r=o(a(9464));t.hashSettings=r.default;const c=M();Object.defineProperty(t,"encodeURI",{enumerable:!0,get:function(){return c.encodeURI}}),Object.defineProperty(t,"decodeURI",{enumerable:!0,get:function(){return c.decodeURI}}),i(a(7169),t),i(D(),t),i(a(6264),t),i(N(),t),i(a(4447),t)}),N=a.cw(function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.getProductSlugsForProjectType=t.PROJECT_TYPE_TO_PRODUCT_SLUGS=t.isValidProjectType=t.ALL_PROJECT_TYPES=t.MOBILE_PROJECT_TYPES=t.WEB_PROJECT_TYPES=t.ProjectType=void 0;const a=x();var n;!function(e){e.Watcher="axe-devtools-watcher",e.Html="axe-devtools-html",e.Mobile="axe-devtools-mobile",e.MobileAnalyzer="axe-devtools-mobile-analyzer"}(n||(t.ProjectType=n={})),t.WEB_PROJECT_TYPES=[n.Watcher,n.Html],t.MOBILE_PROJECT_TYPES=[n.Mobile,n.MobileAnalyzer],t.ALL_PROJECT_TYPES=[...t.WEB_PROJECT_TYPES,...t.MOBILE_PROJECT_TYPES];t.isValidProjectType=e=>t.ALL_PROJECT_TYPES.includes(e.trim()),t.PROJECT_TYPE_TO_PRODUCT_SLUGS={[n.Watcher]:[a.ProductSlugs.axeDevToolsWatcher,a.ProductSlugs.axeDevToolsHTML],[n.Html]:[a.ProductSlugs.axeDevToolsWatcher,a.ProductSlugs.axeDevToolsHTML],[n.Mobile]:[a.ProductSlugs.axeDevToolsMobile],[n.MobileAnalyzer]:[a.ProductSlugs.axeDevToolsMobile]};t.getProductSlugsForProjectType=e=>{if(!e)return null;const a=e.trim();return(0,t.isValidProjectType)(a)?t.PROJECT_TYPE_TO_PRODUCT_SLUGS[a]:null}}),M=a.cw(function(e,t){var a=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.decodeURI=t.encodeURI=void 0;const n=a($e()),i=n.default.createInstance();t.encodeURI=e=>e.includes("%")?"b:"+i.encodeStr(e):encodeURIComponent(e);t.decodeURI=e=>{if(e.startsWith("b:")){const t=e.slice(2);return i.decodeStr(t)}return decodeURIComponent(e)}}),P=a.cw(function(e,t){const a=[{key:"devInstance",suffix:"DEV_INSTANCE",override:!0},{key:"loggedIn",suffix:"LOGGED_IN",override:!1}],n=[{key:"keycloakId",suffix:"KEYCLOAK_ID",override:!1},{key:"userId",suffix:"USER_ID",override:!1},{key:"organization",suffix:"ORGANIZATION",override:!0},{key:"department",suffix:"DEPARTMENT",override:!0},{key:"application",suffix:"APPLICATION",override:!1},{key:"sessionId",suffix:"SESSION_ID",override:!1},{key:"userStatus",suffix:"USER_STATUS",override:!1},{key:"userJobRole",suffix:"USER_JOB_ROLE",override:!1}],i=["userJobRole","applicationProperties","distinctId","keycloakId","loggedIn","userStatus"];function o(e){return{NODE_ENV:"production",EDGE:"false",FIREFOX:"false",IS_AXE_PRO:"true",MANIFEST_VERSION:3,E2E:!1,HOT_RELOAD:"false",HOT_RELOAD_PORT:"8098",DOCS_SITE_URL:"https://docs.deque.com/devtools-for-web",ISSUES_URL:"https://docs.deque.com/issue-help/1.0.0/en",AXE_CONFIG_URL:"https://docs.deque.com/devtools-server/4.0.0/en/axe-configuration",MANUAL_ISSUE_URL:"https://docs.deque.com/devtools-for-web/4/en/devtools-manual-issue",WHATS_LEFT_TO_TEST_URL:"https://docs.deque.com/devtools-for-web/4/en/devtools-whatslefttotest",USER_FLOW_URL:"https://docs.deque.com/devtools-for-web/4/en/user-flow-analysis",AXE_PRO_TRIAL_PATH:"/axe-devtools-pro/trial",ENV:"local",AXE_PRO_URL:"http://localhost:1234",USAGE_SERVICE_URL:"https://usage.dequelabs.com",AMPLITUDE_API_KEY:"5faf82a87f563be7741eca93a9cdef37",DOCS_SITE_HOST:"https://docs.dequelabs.com",DATADOG_CLIENT_TOKEN:""}[e]||null}async function s(e,t,a){if(!function(e){if("object"!=typeof e||null===e)return!1;const t=e;if("ECONNREFUSED"===t.code)return!0;const{cause:a}=t;return"object"==typeof a&&null!==a&&"ECONNREFUSED"===a.code}(a))return;const n=new URL(e);if("https:"===n.protocol){n.protocol="http:";try{const e=await r(n.href,t);await(e.body?.cancel())}catch{}}}async function r(e,t){return fetch(e,{method:"POST",credentials:"omit",headers:{"Content-Type":"application/json",Accept:"application/json, text/plain, */*"},body:JSON.stringify(t),signal:AbortSignal.timeout(1e4)})}t.Ay=class{productName;productComponent;productComponentVersion;myUrl;myTrackUsage;myDistinctId;enableTrackingFromEnv;urlFromEnv;didFromEnv;constructor(e,t,a){this.productName=e,this.productComponent=t,this.productComponentVersion=a;const n=o("AXE_TRACK_USAGE");this.myTrackUsage="true"===n,this.enableTrackingFromEnv=null!==n;const i=o("AXE_METRICS_URL");this.myUrl=i||"https://usage.deque.com",this.urlFromEnv=null!==i,o("AXE_DISTINCT_ID"),this.didFromEnv=!1}distinctId(e){return e&&(this.myDistinctId=e),this.myDistinctId}enableTracking(e){return void 0!==e&&(this.myTrackUsage=e),this.myTrackUsage}url(e){return void 0!==e&&(this.myUrl=e),this.myUrl}prepareEventData(e){if(!this.myTrackUsage)return null;let t="v1";for(const a of i)if(Object.prototype.hasOwnProperty.call(e,a)){t="v2";break}const s={dateTime:new Date,productComponent:this.productComponent,productName:this.productName,version:t};return"v2"===t&&(s.productComponentVersion=this.productComponentVersion,function(e){for(const{key:t,suffix:n,override:i}of a){if(t in e&&!i)continue;const a=o(`AXE_${n}`);null!==a&&(e[t]="true"===a)}for(const{key:t,suffix:a,override:i}of n){if(t in e&&!i)continue;const n=o(`AXE_${a}`);null!==n&&(e[t]=n)}}(e)),{...s,...e}}postEvent(e){const t=this.prepareEventData(e);if(!t)return;const a=`${this.myUrl}/${t.version}/event`;r(a,t).then(e=>e.body?.cancel()).catch(e=>{s(a,t,e)})}async postEventAsync(e){const t=this.prepareEventData(e);if(!t)return;const a=`${this.myUrl}/${t.version}/event`;try{const e=await r(a,t);await(e.body?.cancel())}catch(e){await s(a,t,e)}}}}),O=a.cw(function(i,o){function s(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),a.push.apply(a,n)}return a}function r(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?s(Object(a),!0).forEach(function(t){p(e,t,a[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):s(Object(a)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))})}return e}function c(e){return c="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},c(e)}function l(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function d(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,b(n.key),n)}}function u(e,t,a){return t&&d(e.prototype,t),a&&d(e,a),Object.defineProperty(e,"prototype",{writable:!1}),e}function p(e,t,a){return(t=b(t))in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function h(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=a){var n,i,o,s,r=[],c=!0,l=!1;try{if(o=(a=a.call(e)).next,0===t){if(Object(a)!==a)return;c=!1}else for(;!(c=(n=o.call(a)).done)&&(r.push(n.value),r.length!==t);c=!0);}catch(e){l=!0,i=e}finally{try{if(!c&&null!=a.return&&(s=a.return(),Object(s)!==s))return}finally{if(l)throw i}}return r}}(e,t)||g(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function m(e){return function(e){if(Array.isArray(e))return f(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||g(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function g(e,t){if(e){if("string"==typeof e)return f(e,t);var a=Object.prototype.toString.call(e).slice(8,-1);return"Object"===a&&e.constructor&&(a=e.constructor.name),"Map"===a||"Set"===a?Array.from(e):"Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?f(e,t):void 0}}function f(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,n=new Array(t);a<t;a++)n[a]=e[a];return n}function b(e){var t=function(e,t){if("object"!=typeof e||null===e)return e;var a=e[Symbol.toPrimitive];if(void 0!==a){var n=a.call(e,t||"default");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:String(t)}a.r(o),a.d(o,{default:()=>zt}),_e(),za(),t(),e();var v="$default_instance",y=2,w=4096,k=1e3,A="$identify",E="$groupidentify",S="api.amplitude.com",T="api.eu.amplitude.com",x="regionconfig.amplitude.com",I="regionconfig.eu.amplitude.com",R=0,D=1,C=2,N=3,M=4,P=5,O=6,$=7,_="amp_cookie_test",z="amp",F="",G="cookies",q="none",L="localStorage",j="sessionStorage",U="revenue_amount",B="$productId",V="$quantity",W="$price",H="$revenueType",K="amp_device_id",Y="amp_referrer",J="referrer",Z="referring_domain",X="utm_source",Q="utm_medium",ee="utm_campaign",te="utm_term",ae="utm_content",ne="[Amplitude] Attribution Captured",ie="http",oe="beacon",se=function(e){for(var t="",a=0;a<e.length;a++){var n=e.charCodeAt(a);n<128?t+=String.fromCharCode(n):n>127&&n<2048?(t+=String.fromCharCode(n>>6|192),t+=String.fromCharCode(63&n|128)):(t+=String.fromCharCode(n>>12|224),t+=String.fromCharCode(n>>6&63|128),t+=String.fromCharCode(63&n|128))}return t},re=function(e){for(var t="",a=0,n=0,i=0,o=0;a<e.length;)(n=e.charCodeAt(a))<128?(t+=String.fromCharCode(n),a++):n>191&&n<224?(i=e.charCodeAt(a+1),t+=String.fromCharCode((31&n)<<6|63&i),a+=2):(i=e.charCodeAt(a+1),o=e.charCodeAt(a+2),t+=String.fromCharCode((15&n)<<12|(63&i)<<6|63&o),a+=3);return t},ce="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof self?self:"undefined"!=typeof globalThis?globalThis:void 0,le={_keyStr:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",encode:function(e){try{if(ce.btoa&&ce.atob)return ce.btoa(unescape(encodeURIComponent(e)))}catch(e){}return le._encode(e)},_encode:function(e){var t,a,n,i,o,s,r,c="",l=0;for(e=se(e);l<e.length;)i=(t=e.charCodeAt(l++))>>2,o=(3&t)<<4|(a=e.charCodeAt(l++))>>4,s=(15&a)<<2|(n=e.charCodeAt(l++))>>6,r=63&n,isNaN(a)?s=r=64:isNaN(n)&&(r=64),c=c+le._keyStr.charAt(i)+le._keyStr.charAt(o)+le._keyStr.charAt(s)+le._keyStr.charAt(r);return c},decode:function(e){try{if(ce.btoa&&ce.atob)return decodeURIComponent(escape(ce.atob(e)))}catch(e){}return le._decode(e)},_decode:function(e){var t,a,n,i,o,s,r="",c=0;for(e=e.replace(/[^A-Za-z0-9+/=]/g,"");c<e.length;)t=le._keyStr.indexOf(e.charAt(c++))<<2|(i=le._keyStr.indexOf(e.charAt(c++)))>>4,a=(15&i)<<4|(o=le._keyStr.indexOf(e.charAt(c++)))>>2,n=(3&o)<<6|(s=le._keyStr.indexOf(e.charAt(c++))),r+=String.fromCharCode(t),64!==o&&(r+=String.fromCharCode(a)),64!==s&&(r+=String.fromCharCode(n));return r=re(r)}},de=Object.prototype.toString;function ue(e){switch(de.call(e)){case"[object Date]":return"date";case"[object RegExp]":return"regexp";case"[object Arguments]":return"arguments";case"[object Array]":return"array";case"[object Error]":return"error"}return null===e?"null":void 0===e?"undefined":e!=e?"nan":e&&1===e.nodeType?"element":"undefined"!=typeof Buffer&&"function"==typeof Buffer.isBuffer&&Buffer.isBuffer(e)?"buffer":c(e=e.valueOf?e.valueOf():Object.prototype.valueOf.apply(e))}var pe,he={DISABLE:0,ERROR:1,WARN:2,INFO:3},me=he.WARN,ge={error:function(e){me>=he.ERROR&&fe(e)},warn:function(e){me>=he.WARN&&fe(e)},info:function(e){me>=he.INFO&&fe(e)}},fe=function(e){try{console.log("[Amplitude] "+e)}catch(e){}},be=function(e){return"string"===ue(e)&&e.length>w?e.substring(0,w):e},ve=function(e,t,a){return ue(e)===a||(ge.error("Invalid "+t+" input type. Expected "+a+" but received "+ue(e)),!1)},ye=function(e){var t=ue(e);if("object"!==t)return ge.error("Error: invalid properties format. Expecting Javascript object, received "+t+", ignoring"),{};if(Object.keys(e).length>k)return ge.error("Error: too many properties (more than 1000), ignoring"),{};var a={};for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){var i=n,o=ue(i);"string"!==o&&(i=String(i),ge.warn("WARNING: Non-string property key, received type "+o+', coercing to string "'+i+'"'));var s=ke(i,e[n]);null!==s&&(a[i]=s)}return a},we=["nan","function","arguments","regexp","element"],ke=function e(t,a){var n=ue(a);if(-1!==we.indexOf(n))ge.warn('WARNING: Property key "'+t+'" with invalid value type '+n+", ignoring"),a=null;else if("undefined"===n)a=null;else if("error"===n)a=String(a),ge.warn('WARNING: Property key "'+t+'" with value type error, coercing to '+a);else if("array"===n){for(var i=[],o=0;o<a.length;o++){var s=a[o],r=ue(s);"array"!==r?"object"===r?i.push(ye(s)):i.push(e(t,s)):ge.warn("WARNING: Cannot have "+r+" nested in an array property value, skipping")}a=i}else"object"===n&&(a=ye(a));return a},Ae=function(e,t){var a=ue(t);if("string"===a)return t;if("date"===a||"number"===a||"boolean"===a)return t=String(t),ge.warn("WARNING: Non-string groupName, received type "+a+', coercing to string "'+t+'"'),t;if("array"===a){for(var n=[],i=0;i<t.length;i++){var o=t[i],s=ue(o);"array"!==s&&"object"!==s?"string"===s?n.push(o):"date"!==s&&"number"!==s&&"boolean"!==s||(o=String(o),ge.warn("WARNING: Non-string groupName, received type "+s+', coercing to string "'+o+'"'),n.push(o)):ge.warn("WARNING: Skipping nested "+s+" in array groupName")}return n}ge.warn("WARNING: Non-string groupName, received type "+a+". Please use strings or array of strings for groupName")},Ee=function(e){Object.prototype.hasOwnProperty.call(he,e)&&(me=he[e])},Se=ge,Te=function(e){return!e||0===e.length},xe=function(){return"undefined"!=typeof WorkerGlobalScope},Ie=function(e,t){e=e.replace(/[[]/,"\\[").replace(/[\]]/,"\\]");var a=new RegExp("[\\?&]"+e+"=([^&#]*)").exec(t);return null===a?void 0:decodeURIComponent(a[1].replace(/\+/g," "))},Re=function e(t){if("array"===ue(t))for(var a=0;a<t.length;a++)t[a]=e(t[a]);else if("object"===ue(t))for(var n in t)n in t&&(t[n]=e(t[n]));else t=be(t);return t},De=function(e){var t=ue(e);if("object"!==t)return ge.error("Error: invalid groups format. Expecting Javascript object, received "+t+", ignoring"),{};var a={};for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){var i=n,o=ue(i);"string"!==o&&(i=String(i),ge.warn("WARNING: Non-string groupType, received type "+o+', coercing to string "'+i+'"'));var s=Ae(i,e[n]);null!==s&&(a[i]=s)}return a},Ce=ve,Ne=ye,Me=function(e){return!!ve(e,"deviceId","string")&&(!(e.indexOf(".")>=0)||(ge.error("Device IDs may not contain '.' characters. Value will be ignored: \"".concat(e,'"')),!1))},Pe=function(e){return!!ve(e,"transport","string")&&(e!==ie&&e!==oe?(ge.error("transport value must be one of '".concat(oe,"' or '").concat(ie,"'")),!1):!(e!==ie&&"undefined"!=typeof navigator&&!navigator.sendBeacon)||(ge.error("browser does not support sendBeacon, so transport must be HTTP"),!1))},Oe=function(e){return!!(ve(e,"sessionId","number")&&new Date(e).getTime()>0)||(ge.error("sessionId value must in milliseconds since epoch (Unix Timestamp)"),!1)},$e=function(){return ce.location},ze=function(e){var t=ce.location?ce.location.hostname:"";if(e){if("undefined"!=typeof document){var a=document.createElement("a");return a.href=e,a.hostname||t}if("function"==typeof URL)return new URL(e).hostname||t}return t},Fe=function(e){try{for(var t=document.cookie.split(";"),a=null,n=0;n<t.length;n++){for(var i=t[n];" "===i.charAt(0);)i=i.substring(1,i.length);if(0===i.indexOf(e)){a=i.substring(e.length,i.length);break}}return a}catch(e){return null}},Ge=function(e,t,a){var n=null!==t?a.expirationDays:-1;if(n){var i=new Date;i.setTime(i.getTime()+24*n*60*60*1e3),n=i}var o=e+"="+t;n&&(o+="; expires="+n.toUTCString()),o+="; path=/",a.domain&&(o+="; domain="+a.domain),a.secure&&(o+="; Secure"),a.sameSite&&(o+="; SameSite="+a.sameSite),document.cookie=o},qe=function(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",a=t.split(".")[M];return a&&(e=parseInt(a,32)),e||(Se.warn("unable to parse malformed cookie: ".concat(t)),0)},Le=Ge,je=Fe,Ue=function(e){try{var t,a=document.cookie.split(";").map(function(e){return e.trimStart()}),n=[],i=function(e,t){var a="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!a){if(Array.isArray(e)||(a=g(e))||t&&e&&"number"==typeof e.length){a&&(e=a);var n=0,i=function(){};return{s:i,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,s=!0,r=!1;return{s:function(){a=a.call(e)},n:function(){var e=a.next();return s=e.done,e},e:function(e){r=!0,o=e},f:function(){try{s||null==a.return||a.return()}finally{if(r)throw o}}}}(a);try{for(i.s();!(t=i.n()).done;){for(var o=t.value;" "===o.charAt(0);)o=o.substring(1);0===o.indexOf(e)&&n.push(o.substring(e.length))}}catch(e){i.e(e)}finally{i.f()}return n}catch(e){return[]}},Be=function(e){return m(e).sort(function(e,t){var a=qe(e);return qe(t)-a})},Ve=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=_;if("undefined"==typeof document)return!1;var a=!1;try{var n=String(Date.now());Ge(t,n,e),Se.info("Testing if cookies available"),a=Fe(t+"=")===n}catch(e){Se.warn('Error thrown when checking for cookies. Reason: "'.concat(e,'"'))}finally{Se.info("Cleaning up cookies availability test"),Ge(t,null,e)}return a},We=function(){for(var e=crypto.getRandomValues(new Uint8Array(22)),t="",a=0;a<22;++a)t+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_".charAt(e[a]%64);return t},He=function(e){var t=ze(e).split("."),a=[],n="_tldtest_"+We();if(xe())return"";for(var i=t.length-2;i>=0;--i)a.push(t.slice(i).join("."));for(var o=0;o<a.length;++o){var s=a[o],r={domain:"."+s};if(Le(n,1,r),je(n))return Le(n,null,r),s}return""},Ke={expirationDays:void 0,domain:void 0},Ye=function(e){var t="";return Ke.domain&&(t="."===Ke.domain.charAt(0)?Ke.domain.substring(1):Ke.domain),e+t},Je=function(e){var t=Ye(e)+"=",a=je(t);try{if(a)return JSON.parse(le.decode(a))}catch(e){return null}return null},Ze=function(e,t){try{return Le(Ye(e),le.encode(JSON.stringify(t)),Ke),!0}catch(e){return!1}},Xe=function(e){try{return Le(Ye(e),null,Ke),!0}catch(e){return!1}},Qe={reset:function(){Ke={expirationDays:void 0,domain:void 0}},options:function(e){if(0===arguments.length)return Ke;e=e||{},Ke.expirationDays=e.expirationDays,Ke.secure=e.secure,Ke.sameSite=e.sameSite;var t=Te(e.domain)?"."+He($e().href):e.domain,a=Math.random();Ke.domain=t,Ze("amplitude_test",a);var n=Je("amplitude_test");return n&&n===a||(t=null),Xe("amplitude_test"),Ke.domain=t,Ke},get:Je,set:Ze,remove:Xe,setRaw:function(e,t){try{return Le(Ye(e),t,Ke),!0}catch(e){return!1}},getRaw:function(e){var t=Ye(e)+"=";return je(t)}},et=function(){function e(){l(this,e),this.map=new Map,this.length=0}return u(e,[{key:"key",value:function(e){var t=Array.from(this.map.keys())[e];return this.map.get(t)}},{key:"getItem",value:function(e){return this.map.get(e)}},{key:"setItem",value:function(e,t){this.map.has(e)||(this.length+=1),this.map.set(e,t)}},{key:"removeItem",value:function(e){this.map.has(e)&&(this.length-=1,this.map.delete(e))}},{key:"clear",value:function(){this.map.clear(),this.length=0}}]),e}();if(function(){var e,t=new Date;try{return ce.localStorage.setItem(t,t),e=ce.localStorage.getItem(t)===String(t),ce.localStorage.removeItem(t),e}catch(e){}return!1}())pe=ce.localStorage;else if(void 0!==ce&&ce.globalStorage)try{pe=ce.globalStorage[ce.location.hostname]}catch(e){}else if("undefined"!=typeof document){var tt=document.createElement("div"),at="localStorage";tt.style.display="none",document.getElementsByTagName("head")[0].appendChild(tt),tt.addBehavior&&(tt.addBehavior("#default#userdata"),pe={length:0,setItem:function(e,t){tt.load(at),tt.getAttribute(e)||this.length++,tt.setAttribute(e,t),tt.save(at)},getItem:function(e){return tt.load(at),tt.getAttribute(e)},removeItem:function(e){tt.load(at),tt.getAttribute(e)&&this.length--,tt.removeAttribute(e),tt.save(at)},clear:function(){tt.load(at);for(var e,t=0;e=tt.XMLDocument.documentElement.attributes[t++];)tt.removeAttribute(e.name);tt.save(at),this.length=0},key:function(e){return tt.load(at),tt.XMLDocument.documentElement.attributes[e]}},tt.load(at),pe.length=tt.XMLDocument.documentElement.attributes.length)}else xe()&&(pe=new et);pe||(pe={length:0,setItem:function(e,t){},getItem:function(e){},removeItem:function(e){},clear:function(){},key:function(e){}});var nt,it=pe,ot=function(){this.storage=null};ot.prototype.getStorage=function(e){if(null!==this.storage)return this.storage;if(!e&&Ve())this.storage=Qe;else{var t="amp_cookiestore_";this.storage={_options:{expirationDays:void 0,domain:void 0,secure:!1},reset:function(){this._options={expirationDays:void 0,domain:void 0,secure:!1}},options:function(e){return 0===arguments.length?this._options:(e=e||{},this._options.expirationDays=e.expirationDays||this._options.expirationDays,this._options.domain=e.domain||this._options.domain||ce&&ce.location&&ce.location.hostname,this._options.secure=e.secure||!1)},get:function(e){try{return JSON.parse(it.getItem(t+e))}catch(e){}return null},set:function(e,a){try{return it.setItem(t+e,JSON.stringify(a)),!0}catch(e){}return!1},remove:function(e){try{it.removeItem(t+e)}catch(e){return!1}}}}return this.storage};var st=(p(nt={},G,!0),p(nt,q,!0),p(nt,L,!0),p(nt,j,!0),nt),rt=function(){function e(t){var a=t.storageKey,n=t.disableCookies,i=t.domain,o=t.secure,s=t.sameSite,r=t.expirationDays,c=t.storage;l(this,e),this.storageKey=a,this.domain=i,this.secure=o,this.sameSite=s,this.expirationDays=r,this.cookieDomain="";var d=$e()?$e().href:void 0,u=n?"":He(d);if(this.cookieDomain=i||(u?"."+u:null),st[c])this.storage=c;else{var p=n||!Ve({domain:this.cookieDomain,secure:this.secure,sameSite:this.sameSite,expirationDays:this.expirationDays});this.storage=p?L:G}}return u(e,[{key:"getCookieStorageKey",value:function(){if(!this.domain)return this.storageKey;var e="."===this.domain.charAt(0)?this.domain.substring(1):this.domain;return"".concat(this.storageKey).concat(e?"_".concat(e):"")}},{key:"save",value:function(e){var t=e.deviceId,a=e.userId,n=e.optOut,i=e.sessionId,o=e.lastEventTime,s=e.eventId,r=e.identifyId,c=e.sequenceNumber;if(this.storage!==q){var l=[t,le.encode(a||""),n?"1":"",i?i.toString(32):"0",o?o.toString(32):"0",s?s.toString(32):"0",r?r.toString(32):"0",c?c.toString(32):"0"].join(".");switch(this.storage){case j:ce.sessionStorage&&ce.sessionStorage.setItem(this.storageKey,l);break;case L:it.setItem(this.storageKey,l);break;case G:this.saveCookie(l)}}}},{key:"saveCookie",value:function(e){Le(this.getCookieStorageKey(),e,{domain:this.cookieDomain,secure:this.secure,sameSite:this.sameSite,expirationDays:this.expirationDays})}},{key:"load",value:function(){var e,t=this;if(this.storage===G){var a=this.getCookieStorageKey()+"=",n=Ue(a);if(0===n.length||1===n.length)e=n[0];else{var i=Be(n)[0];n.forEach(function(){return Le(t.getCookieStorageKey(),null,{})}),this.saveCookie(i),e=je(a)}}if(e||(e=it.getItem(this.storageKey)),!e)try{e=ce.sessionStorage&&ce.sessionStorage.getItem(this.storageKey)}catch(e){Se.info('window.sessionStorage unavailable. Reason: "'.concat(e,'"'))}if(!e)return null;var o=e.split("."),s=null;if(o[D])try{s=le.decode(o[D])}catch(e){s=null}return{deviceId:o[R],userId:s,optOut:"1"===o[C],sessionId:parseInt(o[N],32),lastEventTime:parseInt(o[M],32),eventId:parseInt(o[P],32),identifyId:parseInt(o[O],32),sequenceNumber:parseInt(o[$],32)}}},{key:"clear",value:function(){var e;if(this.storage===G&&(e=je(this.getCookieStorageKey()+"="),Le(this.getCookieStorageKey(),null,{domain:this.cookieDomain,secure:this.secure,sameSite:this.sameSite,expirationDays:0})),e||(e=it.getItem(this.storageKey),it.clear()),!e)try{e=ce.sessionStorage&&ce.sessionStorage.getItem(this.storageKey),ce.sessionStorage.clear()}catch(e){Se.info('window.sessionStorage unavailable. Reason: "'.concat(e,'"'))}return!!e}}]),e}(),ct="$clearAll",lt=function(){this.userPropertiesOperations={},this.properties=[]};lt.prototype.add=function(e,t){return"number"===ue(t)||"string"===ue(t)?this._addOperation("$add",e,t):Se.error("Unsupported type for value: "+ue(t)+", expecting number or string"),this},lt.prototype.append=function(e,t){return this._addOperation("$append",e,t),this},lt.prototype.clearAll=function(){return Object.keys(this.userPropertiesOperations).length>0?(Object.prototype.hasOwnProperty.call(this.userPropertiesOperations,ct)||Se.error("Need to send $clearAll on its own Identify object without any other operations, skipping $clearAll"),this):(this.userPropertiesOperations[ct]="-",this)},lt.prototype.prepend=function(e,t){return this._addOperation("$prepend",e,t),this},lt.prototype.set=function(e,t){return this._addOperation("$set",e,t),this},lt.prototype.setOnce=function(e,t){return this._addOperation("$setOnce",e,t),this},lt.prototype.unset=function(e){return this._addOperation("$unset",e,"-"),this},lt.prototype.preInsert=function(e,t){return this._addOperation("$preInsert",e,t),this},lt.prototype.postInsert=function(e,t){return this._addOperation("$postInsert",e,t),this},lt.prototype.remove=function(e,t){return this._addOperation("$remove",e,t),this},lt.prototype._addOperation=function(e,t,a){Object.prototype.hasOwnProperty.call(this.userPropertiesOperations,ct)?Se.error("This identify already contains a $clearAll operation, skipping operation "+e):-1===this.properties.indexOf(t)?(Object.prototype.hasOwnProperty.call(this.userPropertiesOperations,e)||(this.userPropertiesOperations[e]={}),this.userPropertiesOperations[e][t]=a,this.properties.push(t)):Se.error('User property "'+t+'" already used in this identify, skipping operation '+e)};var dt=function(e,t,a){this.url=e,this.data=t||{},this.headers=a};dt.prototype.send=function(e){if(!!ce.XDomainRequest){var t=new ce.XDomainRequest;t.open("POST",this.url,!0),t.onload=function(){e(200,t.responseText)},t.onerror=function(){"Request Entity Too Large"===t.responseText?e(413,t.responseText):e(500,t.responseText)},t.ontimeout=function(){},t.onprogress=function(){},t.send($a().stringify(this.data))}else if("undefined"!=typeof XMLHttpRequest){var a=new XMLHttpRequest;a.open("POST",this.url,!0),a.onreadystatechange=function(){4===a.readyState&&e(a.status,a.responseText)},function(e,t){for(var a in t)("Cross-Origin-Resource-Policy"!==a||t[a])&&e.setRequestHeader(a,t[a])}(a,this.headers),a.send($a().stringify(this.data))}else{var n=void 0;fetch(this.url,{method:"POST",headers:this.headers,body:$a().stringify(this.data)}).then(function(e){return n=e.status,e.text()}).then(function(t){e(n,t)})}};var ut=function(){this._price=null,this._productId=null,this._quantity=1,this._revenueType=null,this._properties=null};ut.prototype.setProductId=function(e){return"string"!==ue(e)?Se.error("Unsupported type for productId: "+ue(e)+", expecting string"):Te(e)?Se.error("Invalid empty productId"):this._productId=e,this},ut.prototype.setQuantity=function(e){return"number"!==ue(e)?Se.error("Unsupported type for quantity: "+ue(e)+", expecting number"):this._quantity=parseInt(e),this},ut.prototype.setPrice=function(e){return"number"!==ue(e)?Se.error("Unsupported type for price: "+ue(e)+", expecting number"):this._price=e,this},ut.prototype.setRevenueType=function(e){return"string"!==ue(e)?Se.error("Unsupported type for revenueType: "+ue(e)+", expecting string"):this._revenueType=e,this},ut.prototype.setEventProperties=function(e){return"object"!==ue(e)?Se.error("Unsupported type for eventProperties: "+ue(e)+", expecting object"):this._properties=Ne(e),this},ut.prototype._isValidRevenue=function(){return"number"===ue(this._price)||(Se.error("Invalid revenue, need to set price field"),!1)},ut.prototype._toJSONObject=function(){var e="object"===ue(this._properties)?this._properties:{};return null!==this._productId&&(e[B]=this._productId),null!==this._quantity&&(e[V]=this._quantity),null!==this._price&&(e[W]=this._price),null!==this._revenueType&&(e[H]=this._revenueType),e};var pt=m(Array(256).keys()).map(function(e){return e.toString(16).padStart(2,"0")}),ht="US",mt="EU",gt=function(e){var t=S;switch(e){case mt:t=T;break;case ht:t=S}return t},ft="8.21.10",bt={apiEndpoint:S,batchEvents:!1,cookieExpiration:365,cookieName:"amplitude_id",sameSiteCookie:"Lax",cookieForceUpgrade:!1,deferInitialization:!1,disableCookies:!1,deviceIdFromUrlParam:!1,domain:"",eventUploadPeriodMillis:3e4,eventUploadThreshold:30,forceHttps:!0,includeFbclid:!1,includeGclid:!1,includeReferrer:!1,includeUtm:!1,ingestionMetadata:{sourceName:"",sourceVersion:""},language:function(){return"undefined"!=typeof navigator&&(navigator.languages&&navigator.languages[0]||navigator.language||navigator.userLanguage)||""}(),library:{name:"amplitude-js",version:ft},logLevel:"WARN",logAttributionCapturedEvent:!1,optOut:!1,onError:function(){},onExitPage:function(){},onNewSessionStart:function(){},plan:{branch:"",source:"",version:"",versionId:""},platform:"Web",savedMaxCount:1e3,saveEvents:!0,saveParamsReferrerOncePerSession:!0,secureCookie:!1,sessionTimeout:18e5,storage:F,trackingOptions:{city:!0,country:!0,carrier:!0,device_manufacturer:!0,device_model:!0,dma:!0,ip_address:!0,language:!0,os_name:!0,os_version:!0,platform:!0,region:!0,version_name:!0},transport:ie,unsetParamsReferrerOnNewSession:!1,unsentKey:"amplitude_unsent",unsentIdentifyKey:"amplitude_unsent_identify",uploadBatchSize:100,headers:{"Content-Type":"application/x-www-form-urlencoded; charset=UTF-8","Cross-Origin-Resource-Policy":"cross-origin"},serverZone:ht,useDynamicConfig:!1,serverZoneBasedApi:!1,sessionId:null,partnerId:""},vt=new(function(){function e(){return l(this,e),e.instance||(this.ingestionEndpoint=S,e.instance=this),e.instance}return u(e,[{key:"refresh",value:function(e,t,a){var n="https";t||"https:"===ce.location.protocol||(n="http");var i=n+"://"+function(e){var t=x;switch(e){case mt:t=I;break;case ht:t=x}return t}(e),o=this;if(!!ce.XDomainRequest){var s=new ce.XDomainRequest;s.open("GET",i,!0),s.onload=function(){var e=JSON.parse(s.responseText);o.ingestionEndpoint=e.ingestionEndpoint,a&&a()},s.onerror=function(){},s.ontimeout=function(){},s.onprogress=function(){},s.send()}else{var r=new XMLHttpRequest;r.open("GET",i,!0),r.onreadystatechange=function(){if(4===r.readyState&&200===r.status){var e=JSON.parse(r.responseText);o.ingestionEndpoint=e.ingestionEndpoint,a&&a()}},r.send()}}}]),e}()),yt=function(e){(0,n().OL)()||xe()||Se.warn("amplitude-js will not work in a non-browser environment. If you are planning to add Amplitude to a node environment, please use @amplitude/node"),this._instanceName=Te(e)?v:e.toLowerCase(),this._unsentEvents=[],this._unsentIdentifys=[],this.options=r(r({},bt),{},{headers:r({},bt.headers),ingestionMetadata:r({},bt.ingestionMetadata),library:r({},bt.library),plan:r({},bt.plan),trackingOptions:r({},bt.trackingOptions)}),this._q=[],this._sending=!1,this._updateScheduled=!1,this._onInitCallbacks=[],this._onNewSessionStartCallbacks=[],this._eventId=0,this._identifyId=0,this._lastEventTime=null,this._newSession=!1,this._sequenceNumber=0,this._sessionId=null,this._isInitialized=!1,this._connector=null,this._userAgent="undefined"!=typeof navigator&&navigator&&navigator.userAgent||null,this._ua=new(an()())(this._userAgent).getResult()};yt.prototype.Identify=lt,yt.prototype.Revenue=ut,yt.prototype.init=function(t,a,i,o){var s=this;if("string"!==ue(t)||Te(t))Se.error("Invalid apiKey. Please re-initialize with a valid apiKey");else try{this._connector=e().i.getInstance(this._instanceName),kt(this.options,i),((0,n().OL)()||xe())&&void 0!==ce.Prototype&&Array.prototype.toJSON&&((0,n().LD)(),Se.warn("Prototype.js injected Array.prototype.toJSON. Deleting Array.prototype.toJSON to prevent double-stringify")),this.options.cookieName!==bt.cookieName&&Se.warn("The cookieName option is deprecated. We will be ignoring it for newer cookies"),this.options.serverZoneBasedApi&&(this.options.apiEndpoint=gt(this.options.serverZone)),this._refreshDynamicConfig(),this.options.apiKey=t,this._storageSuffix="_"+t+(this._instanceName===v?"":"_"+this._instanceName),this._storageSuffixV5=t.slice(0,6),this._oldCookiename=this.options.cookieName+this._storageSuffix,this._unsentKey=this.options.unsentKey+this._storageSuffix,this._unsentIdentifyKey=this.options.unsentIdentifyKey+this._storageSuffix,this._cookieName=z+"_"+this._storageSuffixV5,this.cookieStorage=(new ot).getStorage(this.options.disableCookies),this.cookieStorage.options({expirationDays:this.options.cookieExpiration,domain:this.options.domain,secure:this.options.secureCookie,sameSite:this.options.sameSiteCookie}),this._metadataStorage=new rt({storageKey:this._cookieName,disableCookies:this.options.disableCookies,expirationDays:this.options.cookieExpiration,domain:this.options.domain,secure:this.options.secureCookie,sameSite:this.options.sameSiteCookie,storage:this.options.storage});var r=!!this.cookieStorage.get(this._oldCookiename),c=!!this._metadataStorage.load();this._useOldCookie=!c&&r&&!this.options.cookieForceUpgrade;var l=c||r;if(this.options.deferInitialization&&!l)return void this._deferInitialization(t,a,i,o);this.options.domain=this.cookieStorage.options().domain,"string"===ue(this.options.logLevel)&&Ee(this.options.logLevel);var d=Nt(this);this._apiPropertiesTrackingOptions=Object.keys(d).length>0?{tracking_options:d}:{},this.options.cookieForceUpgrade&&r&&(c||Et(this),this.cookieStorage.remove(this._oldCookiename)),At(this),this._pendingReadStorage=!0;this.options.saveEvents&&(this._unsentEvents=this._loadSavedUnsentEvents(this.options.unsentKey).map(function(e){return{event:e}}).concat(this._unsentEvents),this._unsentIdentifys=this._loadSavedUnsentEvents(this.options.unsentIdentifyKey).map(function(e){return{event:e}}).concat(this._unsentIdentifys)),i&&i.onNewSessionStart&&this.onNewSessionStart(this.options.onNewSessionStart),function(e){i&&i.deviceId&&!Me(i.deviceId)&&(Se.error('Invalid device ID rejected. Randomly generated UUID will be used instead of "'.concat(i.deviceId,'"')),delete i.deviceId),s.options.deviceId=s._getInitialDeviceId(i&&i.deviceId,e),s.options.userId="string"===ue(a)&&!Te(a)&&a||"number"===ue(a)&&a.toString()||s.options.userId||null;var t=(new Date).getTime(),n=!s._sessionId||!s._lastEventTime||t-s._lastEventTime>s.options.sessionTimeout||s.options.sessionId;n&&(s.options.unsetParamsReferrerOnNewSession&&s._unsetUTMParams(),s._newSession=!0,s._sessionId=s.options.sessionId||t,s.options.sessionId=void 0,s.options.saveParamsReferrerOncePerSession&&s._trackParamsAndReferrer()),s.options.saveParamsReferrerOncePerSession||s._trackParamsAndReferrer(),s.options.saveEvents&&(wt(s._unsentEvents),wt(s._unsentIdentifys)),s._lastEventTime=t,Tt(s),s._pendingReadStorage=!1,s._sendEventsIfReady();for(var o=0;o<s._onInitCallbacks.length;o++)s._onInitCallbacks[o](s);s._onInitCallbacks=[],s._isInitialized=!0,n&&s._runNewSessionStartCallbacks()}(),this.runQueuedFunctions(),"function"===ue(o)&&o(this);var u=this.options.onExitPage;if("function"===ue(u)&&ce.addEventListener&&!this.pageHandlersAdded){this.pageHandlersAdded=!0;ce.addEventListener("pagehide",function(){var e;e=s.options.transport,s.setTransport(oe),u(),s.setTransport(e)},!1)}this._connector.eventBridge.setEventReceiver(function(e){s._logEvent(e.eventType,e.eventProperties,e.userProperties)});var p=this._connector.identityStore.editIdentity();this.options.deviceId&&p.setDeviceId(this.options.deviceId),this.options.userId&&p.setUserId(this.options.userId),p.commit()}catch(e){Se.error(e),i&&"function"===ue(i.onError)&&i.onError(e)}},yt.prototype._runNewSessionStartCallbacks=function(){for(var e=0;e<this._onNewSessionStartCallbacks.length;e++)this._onNewSessionStartCallbacks[e](this)},yt.prototype.deleteLowerLevelDomainCookies=function(){var e=ze(),t=this.options.domain&&"."===this.options.domain[0]?this.options.domain.slice(1):this.options.domain;if(t&&xe()&&e!==t&&new RegExp(t+"$").test(e)){for(var a=e.split("."),n=t.split("."),i=a.length;i>n.length;--i){var o=a.slice(a.length-i).join(".");Le(this._cookieName,null,{domain:"."+o})}Le(this._cookieName,null,{})}},yt.prototype._getInitialDeviceId=function(e,t){if(e)return e;if(this.options.deviceIdFromUrlParam){var a=this._getDeviceIdFromUrlParam(this._getUrlParams());if(a)return a}return this.options.deviceId?this.options.deviceId:t||We()};var wt=function(e){for(var t=0;t<e.length;t++){var a=e[t].event.user_properties,n=e[t].event.event_properties,i=e[t].event.groups;e[t].event.user_properties=Ne(a),e[t].event.event_properties=Ne(n),e[t].event.groups=De(i)}};yt.prototype._trackParamsAndReferrer=function(){var e,t,a,n;if(this.options.includeUtm&&(e=this._initUtmData()),this.options.includeReferrer&&(t=this._saveReferrer(this._getReferrer())),this.options.includeGclid&&(a=this._saveGclid(this._getUrlParams())),this.options.includeFbclid&&(n=this._saveFbclid(this._getUrlParams())),this.options.logAttributionCapturedEvent){var i=r(r(r(r({},e),t),a),n);Object.keys(i).length>0&&this.logEvent(ne,i)}};var kt=function e(t,a){if("object"===ue(a)){var n=new Set(["headers"]),i=new Set(["eventUploadPeriodMillis"]),o=function(n){if(Object.prototype.hasOwnProperty.call(t,n)){var o=a[n],s=ue(t[n]);("transport"!==n||Pe(o))&&("sessionId"!==n||null===o?Ce(o,n+" option",s)&&("boolean"===s?t[n]=!!o:"string"===s&&!Te(o)||"number"===s&&(o>0||0===o&&i.has(n))||"function"===s?t[n]=o:"object"===s&&e(t[n],o)):t[n]=Oe(o)?o:null)}};for(var s in a)n.has(s)?t[s]=r(r({},t[s]),a[s]):Object.prototype.hasOwnProperty.call(a,s)&&o(s)}};yt.prototype.runQueuedFunctions=function(){var e=this._q;this._q=[];for(var t=0;t<e.length;t++){var a=this[e[t][0]];"function"===ue(a)&&a.apply(this,e[t].slice(1))}},yt.prototype._apiKeySet=function(e){return!Te(this.options.apiKey)||(Se.error("Invalid apiKey. Please set a valid apiKey with init() before calling "+e),!1)},yt.prototype._loadSavedUnsentEvents=function(e){var t=this._getFromStorage(it,e),a=this._parseSavedUnsentEventsString(t,e);return this._setInStorage(it,e,JSON.stringify(a)),a},yt.prototype._parseSavedUnsentEventsString=function(e,t){if(Te(e))return[];if("string"===ue(e))try{var a=JSON.parse(e);if("array"===ue(a))return a}catch(e){}return Se.error("Unable to load "+t+" events. Restart with a new empty queue."),[]},yt.prototype.isNewSession=function(){return this._newSession},yt.prototype.onInit=function(e){this._isInitialized?e(this):this._onInitCallbacks.push(e)},yt.prototype.onNewSessionStart=function(e){this._onNewSessionStartCallbacks.push(e)},yt.prototype.getSessionId=function(){return this._sessionId},yt.prototype.nextEventId=function(){return this._eventId++,this._eventId},yt.prototype.nextIdentifyId=function(){return this._identifyId++,this._identifyId},yt.prototype.nextSequenceNumber=function(){return this._sequenceNumber++,this._sequenceNumber},yt.prototype._unsentCount=function(){return this._unsentEvents.length+this._unsentIdentifys.length},yt.prototype._sendEventsIfReady=function(){return 0!==this._unsentCount()&&(this.options.batchEvents?this._unsentCount()>=this.options.eventUploadThreshold||this.options.transport===oe?(this.sendEvents(),!0):(this._updateScheduled||(this._updateScheduled=!0,setTimeout(function(){this._updateScheduled=!1,this.sendEvents()}.bind(this),this.options.eventUploadPeriodMillis)),!1):(this.sendEvents(),!0))},yt.prototype.clearStorage=function(){return this._metadataStorage.clear()},yt.prototype._getFromStorage=function(e,t){return e.getItem(t+this._storageSuffix)},yt.prototype._setInStorage=function(e,t,a){e.setItem(t+this._storageSuffix,a)};var At=function(e){if(e._useOldCookie){var t=e.cookieStorage.get(e._oldCookiename);"object"!==ue(t)||St(e,t)}else{var a=e._metadataStorage.load();"object"===ue(a)&&St(e,a)}},Et=function(e){var t=e.cookieStorage.get(e._oldCookiename);"object"===ue(t)&&(St(e,t),Tt(e))},St=function(e,t){t.deviceId&&(e.options.deviceId=t.deviceId),t.userId&&(e.options.userId=t.userId),null!==t.optOut&&void 0!==t.optOut&&!1!==t.optOut&&(e.options.optOut=t.optOut),t.sessionId&&(e._sessionId=parseInt(t.sessionId,10)),t.lastEventTime&&(e._lastEventTime=parseInt(t.lastEventTime,10)),t.eventId&&(e._eventId=parseInt(t.eventId,10)),t.identifyId&&(e._identifyId=parseInt(t.identifyId,10)),t.sequenceNumber&&(e._sequenceNumber=parseInt(t.sequenceNumber,10))},Tt=function(e){var t={deviceId:e.options.deviceId,userId:e.options.userId,optOut:e.options.optOut,sessionId:e._sessionId,lastEventTime:e._lastEventTime,eventId:e._eventId,identifyId:e._identifyId,sequenceNumber:e._sequenceNumber};e._useOldCookie?e.cookieStorage.set(e.options.cookieName+e._storageSuffix,t):e._metadataStorage.save(t)};yt.prototype._initUtmData=function(e,t){e=e||this._getUrlParams(),t=t||this.cookieStorage.get("__utmz");var a,n,i,o,s,r,c,l,d,u,p,h=(n=e,i=(a=t)?"?"+a.split(".").slice(-1)[0].replace(/\|/g,"&"):"",o=function(e,t,a,n){return Ie(e,t)||Ie(a,n)},s=o(X,n,"utmcsr",i),r=o(Q,n,"utmcmd",i),c=o(ee,n,"utmccn",i),l=o(te,n,"utmctr",i),d=o(ae,n,"utmcct",i),u={},(p=function(e,t){Te(t)||(u[e]=t)})(X,s),p(Q,r),p(ee,c),p(te,l),p(ae,d),u);return xt(this,h),h},yt.prototype._unsetUTMParams=function(){var e=new lt;e.unset(J),e.unset(Z),e.unset(X),e.unset(Q),e.unset(ee),e.unset(te),e.unset(ae),this.identify(e)};var xt=function(e,t){if("object"===ue(t)&&0!==Object.keys(t).length){var a=new lt;for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(a.setOnce("initial_"+n,t[n]),a.set(n,t[n]));e.identify(a)}};yt.prototype._getReferrer=function(){var e=this._getReferrerFromUrlParam(this._getUrlParams());return e||("undefined"!=typeof document?document.referrer:"")},yt.prototype._getUrlParams=function(){return ce.location.search},yt.prototype._saveGclid=function(e){var t=Ie("gclid",e);if(!Te(t)){var a={gclid:t};return xt(this,a),a}},yt.prototype._saveFbclid=function(e){var t=Ie("fbclid",e);if(!Te(t)){var a={fbclid:t};return xt(this,a),a}},yt.prototype._getDeviceIdFromUrlParam=function(e){return Ie(K,e)},yt.prototype._getReferrerFromUrlParam=function(e){return Ie(Y,e)},yt.prototype._getReferringDomain=function(e){if(Te(e))return null;var t=e.split("/");return t.length>=3?t[2]:null},yt.prototype._saveReferrer=function(e){if(!Te(e)){var t={referrer:e,referring_domain:this._getReferringDomain(e)};return xt(this,t),t}},yt.prototype.saveEvents=function(){try{var e=JSON.stringify(this._unsentEvents.map(function(e){return e.event}));this._setInStorage(it,this.options.unsentKey,e)}catch(e){}try{var t=JSON.stringify(this._unsentIdentifys.map(function(e){return e.event}));this._setInStorage(it,this.options.unsentIdentifyKey,t)}catch(e){}},yt.prototype.setDomain=function(e){if(this._shouldDeferCall())return this._q.push(["setDomain"].concat(Array.prototype.slice.call(arguments,0)));if(Ce(e,"domain","string"))try{this.cookieStorage.options({expirationDays:this.options.cookieExpiration,secure:this.options.secureCookie,domain:e,sameSite:this.options.sameSiteCookie}),this.options.domain=this.cookieStorage.options().domain,At(this),Tt(this)}catch(e){Se.error(e)}},yt.prototype.setUserId=function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(Ce(t,"startNewSession","boolean")){if(this._shouldDeferCall())return this._q.push(["setUserId"].concat(Array.prototype.slice.call(arguments,0)));try{this.options.userId=null!=e&&""+e||null,t&&(this.options.unsetParamsReferrerOnNewSession&&this._unsetUTMParams(),this._newSession=!0,this._sessionId=(new Date).getTime(),this._runNewSessionStartCallbacks(),this.options.saveParamsReferrerOncePerSession&&this._trackParamsAndReferrer()),Tt(this),this._connector&&this._connector.identityStore.editIdentity().setUserId(this.options.userId).commit()}catch(e){Se.error(e)}}},yt.prototype.setGroup=function(e,t){if(this._shouldDeferCall())return this._q.push(["setGroup"].concat(Array.prototype.slice.call(arguments,0)));if(this._apiKeySet("setGroup()")&&Ce(e,"groupType","string")&&!Te(e)){var a={};a[e]=t;var n=(new lt).set(e,t);this._logEvent(A,null,null,n.userPropertiesOperations,a,null,null,null)}},yt.prototype.setOptOut=function(e){if(this._shouldDeferCall())return this._q.push(["setOptOut"].concat(Array.prototype.slice.call(arguments,0)));if(Ce(e,"enable","boolean"))try{this.options.optOut=e,Tt(this)}catch(e){Se.error(e)}},yt.prototype.setSessionId=function(e){if(Ce(e,"sessionId","number"))try{this._sessionId=e,Tt(this)}catch(e){Se.error(e)}},yt.prototype.resetSessionId=function(){this.setSessionId((new Date).getTime())},yt.prototype.regenerateDeviceId=function(){if(this._shouldDeferCall())return this._q.push(["regenerateDeviceId"].concat(Array.prototype.slice.call(arguments,0)));this.setDeviceId(We())},yt.prototype.setDeviceId=function(e){if(this._shouldDeferCall())return this._q.push(["setDeviceId"].concat(Array.prototype.slice.call(arguments,0)));if(Me(e))try{Te(e)||(this.options.deviceId=""+e,Tt(this),this._connector&&this._connector.identityStore.editIdentity().setDeviceId(this.options.deviceId).commit())}catch(e){Se.error(e)}},yt.prototype.setTransport=function(e){if(this._shouldDeferCall())return this._q.push(["setTransport"].concat(Array.prototype.slice.call(arguments,0)));Pe(e)&&(this.options.transport=e)},yt.prototype.setUserProperties=function(e){if(this._shouldDeferCall())return this._q.push(["setUserProperties"].concat(Array.prototype.slice.call(arguments,0)));if(this._apiKeySet("setUserProperties()")&&Ce(e,"userProperties","object")){var t=Re(Ne(e));if(0!==Object.keys(t).length){var a=new lt;for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&a.set(n,t[n]);this.identify(a)}}},yt.prototype.clearUserProperties=function(){if(this._shouldDeferCall())return this._q.push(["clearUserProperties"].concat(Array.prototype.slice.call(arguments,0)));if(this._apiKeySet("clearUserProperties()")){var e=new lt;e.clearAll(),this.identify(e)}};var It=function(e,t){for(var a=0;a<t._q.length;a++){var n=e[t._q[a][0]];"function"===ue(n)&&n.apply(e,t._q[a].slice(1))}return e};yt.prototype.identify=function(e,t,a,n){if(this._shouldDeferCall())return this._q.push(["identify"].concat(Array.prototype.slice.call(arguments,0)));if(this._apiKeySet("identify()"))if("object"===ue(e)&&Object.prototype.hasOwnProperty.call(e,"_q")&&(e=It(new lt,e)),e instanceof lt){if(Object.keys(e.userPropertiesOperations).length>0)return this._logEvent(A,null,null,e.userPropertiesOperations,null,null,null,t,a,n);Pt(t,a,0,"No request sent",{reason:"No user property operations"})}else Se.error("Invalid identify input type. Expected Identify object but saw "+ue(e)),Pt(t,a,0,"No request sent",{reason:"Invalid identify input type"});else Pt(t,a,0,"No request sent",{reason:"API key is not set"})},yt.prototype.groupIdentify=function(e,t,a,n,i,o){if(this._shouldDeferCall())return this._q.push(["groupIdentify"].concat(Array.prototype.slice.call(arguments,0)));if(this._apiKeySet("groupIdentify()"))if(Ce(e,"group_type","string")&&!Te(e))if(null!=t)if("object"===ue(a)&&Object.prototype.hasOwnProperty.call(a,"_q")&&(a=It(new lt,a)),a instanceof lt){if(Object.keys(a.userPropertiesOperations).length>0)return this._logEvent(E,null,null,null,p({},e,t),a.userPropertiesOperations,null,n,i,o);Pt(n,i,0,"No request sent",{reason:"No group property operations"})}else Se.error("Invalid identify input type. Expected Identify object but saw "+ue(a)),Pt(n,i,0,"No request sent",{reason:"Invalid identify input type"});else Pt(n,i,0,"No request sent",{reason:"Invalid group name"});else Pt(n,i,0,"No request sent",{reason:"Invalid group type"});else Pt(n,i,0,"No request sent",{reason:"API key is not set"})},yt.prototype.setVersionName=function(e){if(this._shouldDeferCall())return this._q.push(["setVersionName"].concat(Array.prototype.slice.call(arguments,0)));Ce(e,"versionName","string")&&(this.options.versionName=e)},yt.prototype._logEvent=function(e,t,a,n,i,o,s,c,l,d){var u;if(At(this),e)if(this.options.optOut)Pt(c,l,0,"No request sent",{reason:"optOut is set to true"});else try{var p;p=e===A||e===E?this.nextIdentifyId():this.nextEventId();var g=this.nextSequenceNumber(),f="number"===ue(s)?s:(new Date).getTime();d?this._sessionId=-1:(!this._sessionId||!this._lastEventTime||f-this._lastEventTime>this.options.sessionTimeout)&&(this._sessionId=f,this._runNewSessionStartCallbacks()),this._lastEventTime=f,Tt(this);var b=this._ua.browser.name,v=this._ua.browser.major,y=this._ua.device.model||this._ua.os.name,w=this._ua.device.vendor;n=n||{};var k=r({},this._apiPropertiesTrackingOptions);a=r(r({},a||{}),k),t=t||{},i=i||{},o=o||{};var S={device_id:this.options.deviceId,user_id:this.options.userId,timestamp:f,event_id:p,session_id:this._sessionId||-1,event_type:e,version_name:this.options.versionName||null,platform:Ct(this,"platform")?this.options.platform:null,os_name:Ct(this,"os_name")&&b||null,os_version:Ct(this,"os_version")&&v||null,device_model:Ct(this,"device_model")&&y||null,device_manufacturer:Ct(this,"device_manufacturer")&&w||null,language:Ct(this,"language")?this.options.language:null,api_properties:a,event_properties:Re(Ne(t)),user_properties:Re(Ne(n)),uuid:(u=crypto.getRandomValues(new Uint8Array(16)),u[6]=15&u[6]|64,u[8]=63&u[8]|128,m(u.entries()).map(function(e){var t=h(e,2),a=t[0],n=t[1];return[4,6,8,10].includes(a)?"-".concat(pt[n]):pt[n]}).join("")),library:this.options.library,sequence_number:g,groups:Re(De(i)),group_properties:Re(Ne(o)),user_agent:this._userAgent,partner_id:this.options.partnerId||null};return Rt(this)&&(S.plan={branch:this.options.plan.branch||void 0,source:this.options.plan.source||void 0,version:this.options.plan.version||void 0,versionId:this.options.plan.versionId||void 0}),Dt(this)&&(S.ingestion_metadata={source_name:this.options.ingestionMetadata.sourceName||void 0,source_version:this.options.ingestionMetadata.sourceVersion||void 0}),e===A||e===E?(this._unsentIdentifys.push({event:S,callback:c,errorCallback:l}),this._limitEventsQueued(this._unsentIdentifys)):(this._unsentEvents.push({event:S,callback:c,errorCallback:l}),this._limitEventsQueued(this._unsentEvents)),this.options.saveEvents&&this.saveEvents(),this._sendEventsIfReady(),e===A&&this._connector&&this._connector.identityStore.editIdentity().updateUserProperties(Re(Ne(n))).commit(),p}catch(e){Se.error(e)}else Pt(c,l,0,"No request sent",{reason:"Missing eventType"})};var Rt=function(e){return e.options.plan&&(e.options.plan.source||e.options.plan.branch||e.options.plan.version||e.options.plan.versionId)},Dt=function(e){return e.options.ingestionMetadata&&(e.options.ingestionMetadata.sourceName||e.options.ingestionMetadata.sourceVersion)},Ct=function(e,t){return!!e.options.trackingOptions[t]},Nt=function(e){for(var t=["city","country","dma","ip_address","region"],a={},n=0;n<t.length;n++){var i=t[n];Ct(e,i)||(a[i]=!1)}return a};yt.prototype._limitEventsQueued=function(e){e.length>this.options.savedMaxCount&&e.splice(0,e.length-this.options.savedMaxCount).forEach(function(e){Pt(e.callback,e.errorCallback,0,"No request sent",{reason:"Event dropped because options.savedMaxCount exceeded. User may be offline or have a content blocker"})})},yt.prototype.logEvent=function(e,t,a,n){var i=arguments.length>4&&void 0!==arguments[4]&&arguments[4];return this._shouldDeferCall()?this._q.push(["logEvent"].concat(Array.prototype.slice.call(arguments,0))):this.logEventWithTimestamp(e,t,null,a,n,i)},yt.prototype.logEventWithTimestamp=function(e,t,a,n,i){var o=arguments.length>5&&void 0!==arguments[5]&&arguments[5];return this._shouldDeferCall()?this._q.push(["logEventWithTimestamp"].concat(Array.prototype.slice.call(arguments,0))):this._apiKeySet("logEvent()")?Ce(e,"eventType","string")?Te(e)?(Pt(n,i,0,"No request sent",{reason:"Missing eventType"}),-1):(Ce(o,"outOfSession","boolean")||Pt(n,i,0,"No request sent",{reason:"Invalid outOfSession value"}),this._logEvent(e,t,null,null,null,null,a,n,i,o)):(Pt(n,i,0,"No request sent",{reason:"Invalid type for eventType"}),-1):(Pt(n,i,0,"No request sent",{reason:"API key not set"}),-1)},yt.prototype.logEventWithGroups=function(e,t,a,n,i){var o=arguments.length>5&&void 0!==arguments[5]&&arguments[5];return this._shouldDeferCall()?this._q.push(["logEventWithGroups"].concat(Array.prototype.slice.call(arguments,0))):this._apiKeySet("logEventWithGroups()")?Ce(e,"eventType","string")?(Ce(o,"outOfSession","boolean")||Pt(event.callback,event.errorCallback,0,"No request sent",{reason:"Invalid outOfSession value"}),this._logEvent(e,t,null,null,a,null,null,n,i,o)):(Pt(event.callback,event.errorCallback,0,"No request sent",{reason:"Invalid type for eventType"}),-1):(Pt(event.callback,event.errorCallback,0,"No request sent",{reason:"API key not set"}),-1)};var Mt=function(e){return!isNaN(parseFloat(e))&&isFinite(e)},Pt=function(e,t,a,n,i){"function"===ue(e)&&e(a,n,i),"function"===ue(t)&&t(a,n,i)};yt.prototype.logRevenueV2=function(e){if(this._shouldDeferCall())return this._q.push(["logRevenueV2"].concat(Array.prototype.slice.call(arguments,0)));if(this._apiKeySet("logRevenueV2()"))if("object"===ue(e)&&Object.prototype.hasOwnProperty.call(e,"_q")&&(e=It(new ut,e)),e instanceof ut){if(e&&e._isValidRevenue())return this.logEvent(U,e._toJSONObject())}else Se.error("Invalid revenue input type. Expected Revenue object but saw "+ue(e))},yt.prototype.logRevenue=function(e,t,a){return this._shouldDeferCall()?this._q.push(["logRevenue"].concat(Array.prototype.slice.call(arguments,0))):this._apiKeySet("logRevenue()")&&Mt(e)&&(void 0===t||Mt(t))?this._logEvent(U,{},{productId:a,special:"revenue_amount",quantity:t||1,price:e},null,null,null,null,null):-1},yt.prototype._logErrorsOnEvents=function(e,t,a,n){for(var i=["_unsentEvents","_unsentIdentifys"],o=0;o<i.length;o++)for(var s=i[o],r="_unsentEvents"===s?e:t,c=0;c<this[s].length;c++){var l=this[s][c];l.event.event_id<=r&&l.errorCallback&&l.errorCallback(a,n)}},yt.prototype.removeEvents=function(e,t,a,n){Ot(this,"_unsentEvents",e,a,n),Ot(this,"_unsentIdentifys",t,a,n)};var Ot=function(e,t,a,n,i){if(!(a<0)){for(var o=[],s=0;s<e[t].length;s++){var r=e[t][s];r.event.event_id>a?o.push(r):r.callback&&r.callback(n,i)}e[t]=o}};yt.prototype.sendEvents=function(){if(this._apiKeySet("sendEvents()")){if(this.options.optOut)this.removeEvents(1/0,1/0,0,"No request sent",{reason:"Opt out is set to true"});else if(0!==this._unsentCount()){if(this.options.transport!==oe){if(this._sending)return;this._sending=!0}var e=(this.options.forceHttps||"https:"===ce.location.protocol?"https":"http")+"://"+this.options.apiEndpoint,t=Math.min(this._unsentCount(),this.options.uploadBatchSize),a=this._mergeEventsAndIdentifys(t),n=a.maxEventId,i=a.maxIdentifyId,o=JSON.stringify(a.eventsToSend.map(function(e){return e.event})),s=(new Date).getTime(),r={client:this.options.apiKey,e:o,v:y,upload_time:s,checksum:tn()()(y+this.options.apiKey+o+s)};if(this.options.transport!==oe||"undefined"==typeof navigator){var c=this;try{new dt(e,r,this.options.headers).send(function(e,a){c._sending=!1;try{200===e?(c.removeEvents(n,i,e,a),c.options.saveEvents&&c.saveEvents(),c._sendEventsIfReady()):(c._logErrorsOnEvents(n,i,e,a),413===e&&(1===c.options.uploadBatchSize&&c.removeEvents(n,i,e,a),c.options.uploadBatchSize=Math.ceil(t/2),c.sendEvents()))}catch(e){}})}catch(e){var l="Request failed to send";Se.error(l),c._logErrorsOnEvents(n,i,0,l),c.removeEvents(n,i,0,l,{reason:e.message})}}else{navigator.sendBeacon(e,new URLSearchParams(r))?(this.removeEvents(n,i,200,"success"),this.options.saveEvents&&this.saveEvents()):this._logErrorsOnEvents(n,i,0,"")}}}else this.removeEvents(1/0,1/0,0,"No request sent",{reason:"API key not set"})},yt.prototype._mergeEventsAndIdentifys=function(e){for(var t=[],a=0,n=-1,i=0,o=-1;t.length<e;){var s=void 0,r=i>=this._unsentIdentifys.length,c=a>=this._unsentEvents.length;if(c&&r){Se.error("Merging Events and Identifys, less events and identifys than expected");break}r?n=(s=this._unsentEvents[a++]).event.event_id:c?o=(s=this._unsentIdentifys[i++]).event.event_id:!("sequence_number"in this._unsentEvents[a].event)||this._unsentEvents[a].event.sequence_number<this._unsentIdentifys[i].event.sequence_number?n=(s=this._unsentEvents[a++]).event.event_id:o=(s=this._unsentIdentifys[i++]).event.event_id,t.push(s)}return{eventsToSend:t,maxEventId:n,maxIdentifyId:o}},yt.prototype.setGlobalUserProperties=function(e){this.setUserProperties(e)},yt.prototype.__VERSION__=function(){return this.options.library.version},yt.prototype.setLibrary=function(e,t){null!=e&&(this.options.library.name=e),null!=t&&(this.options.library.version=t)},yt.prototype._shouldDeferCall=function(){return this._pendingReadStorage||this._initializationDeferred},yt.prototype._deferInitialization=function(){this._initializationDeferred=!0,this._q.push(["init"].concat(Array.prototype.slice.call(arguments,0)))},yt.prototype.enableTracking=function(){this._initializationDeferred=!1,Tt(this),this.runQueuedFunctions()},yt.prototype._refreshDynamicConfig=function(){this.options.useDynamicConfig&&vt.refresh(this.options.serverZone,this.options.forceHttps,function(){this.options.apiEndpoint=vt.ingestionEndpoint}.bind(this))},yt.prototype.getDeviceId=function(){return this.options.deviceId},yt.prototype.getUserId=function(){return this.options.userId},yt.prototype.setMinTimeBetweenSessionsMillis=function(e){if(Ce(e,"timeInMillis","number")){if(this._shouldDeferCall())return this._q.push(["setMinTimeBetweenSessionsMillis"].concat(Array.prototype.slice.call(arguments,0)));try{this.options.sessionTimeout=e}catch(e){Se.error(e)}}},yt.prototype.setEventUploadThreshold=function(e){if(Ce(e,"eventUploadThreshold","number")){if(this._shouldDeferCall())return this._q.push(["setEventUploadThreshold"].concat(Array.prototype.slice.call(arguments,0)));try{this.options.eventUploadThreshold=e}catch(e){Se.error(e)}}},yt.prototype.setUseDynamicConfig=function(e){if(Ce(e,"useDynamicConfig","boolean")){if(this._shouldDeferCall())return this._q.push(["setUseDynamicConfig"].concat(Array.prototype.slice.call(arguments,0)));try{this.options.useDynamicConfig=e,this._refreshDynamicConfig()}catch(e){Se.error(e)}}},yt.prototype.setServerZone=function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if((e===mt||e===ht)&&Ce(t,"serverZoneBasedApi","boolean")){if(this._shouldDeferCall())return this._q.push(["setServerZone"].concat(Array.prototype.slice.call(arguments,0)));try{this.options.serverZone=e,this.options.serverZoneBasedApi=t,t&&(this.options.apiEndpoint=gt(this.options.serverZone))}catch(e){Se.error(e)}}},yt.prototype.setServerUrl=function(e){if(Ce(e,"serverUrl","string")){if(this._shouldDeferCall())return this._q.push(["setServerUrl"].concat(Array.prototype.slice.call(arguments,0)));try{this.options.apiEndpoint=e}catch(e){Se.error(e)}}};var $t=function(){this.options=r({},bt),this._q=[],this._instances={}};$t.prototype.Identify=lt,$t.prototype.Revenue=ut,$t.prototype.getInstance=function(e){e=Te(e)?v:e.toLowerCase();var t=this._instances[e];return void 0===t&&(t=new yt(e),this._instances[e]=t),t},$t.prototype.init=function(e,t,a,n){this.getInstance().init(e,t,a,function(e){this.options=e.options,"function"===ue(n)&&n(e)}.bind(this))},$t.prototype.isNewSession=function(){return this.getInstance().isNewSession()},$t.prototype.getSessionId=function(){return this.getInstance().getSessionId()},$t.prototype.nextEventId=function(){return this.getInstance().nextEventId()},$t.prototype.nextIdentifyId=function(){return this.getInstance().nextIdentifyId()},$t.prototype.nextSequenceNumber=function(){return this.getInstance().nextSequenceNumber()},$t.prototype.saveEvents=function(){this.getInstance().saveEvents()},$t.prototype.setDomain=function(e){this.getInstance().setDomain(e)},$t.prototype.setUserId=function(e){this.getInstance().setUserId(e)},$t.prototype.setGroup=function(e,t){this.getInstance().setGroup(e,t)},$t.prototype.setOptOut=function(e){this.getInstance().setOptOut(e)},$t.prototype.regenerateDeviceId=function(){this.getInstance().regenerateDeviceId()},$t.prototype.setDeviceId=function(e){this.getInstance().setDeviceId(e)},$t.prototype.setUserProperties=function(e){this.getInstance().setUserProperties(e)},$t.prototype.clearUserProperties=function(){this.getInstance().clearUserProperties()},$t.prototype.identify=function(e,t){this.getInstance().identify(e,t)},$t.prototype.setVersionName=function(e){this.getInstance().setVersionName(e)},$t.prototype.logEvent=function(e,t,a){return this.getInstance().logEvent(e,t,a)},$t.prototype.logEventWithGroups=function(e,t,a,n){return this.getInstance().logEventWithGroups(e,t,a,n)},$t.prototype.logRevenueV2=function(e){return this.getInstance().logRevenueV2(e)},$t.prototype.logRevenue=function(e,t,a){return this.getInstance().logRevenue(e,t,a)},$t.prototype.removeEvents=function(e,t){this.getInstance().removeEvents(e,t)},$t.prototype.sendEvents=function(e){this.getInstance().sendEvents(e)},$t.prototype.setGlobalUserProperties=function(e){this.getInstance().setUserProperties(e)},$t.prototype.__VERSION__=ft;var _t=void 0!==ce&&ce.amplitude||{},zt=new $t;for(var Ft in zt._q=_t._q||[],_t._iq)Object.prototype.hasOwnProperty.call(_t._iq,Ft)&&(zt.getInstance(Ft)._q=_t._iq[Ft]._q||[])}),$=a.cw(function(e,t){function a(e){return a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},a(e)}function n(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,o(n.key),n)}}function i(e,t,a){return t&&n(e.prototype,t),a&&n(e,a),Object.defineProperty(e,"prototype",{writable:!1}),e}function o(e){var t=function(e,t){if("object"!==a(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var i=n.call(e,t||"default");if("object"!==a(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===a(t)?t:String(t)}var s,r,c=z().codes,l=c.ERR_AMBIGUOUS_ARGUMENT,d=c.ERR_INVALID_ARG_TYPE,u=c.ERR_INVALID_ARG_VALUE,p=c.ERR_INVALID_RETURN_VALUE,h=c.ERR_MISSING_ARGS,m=_(),g=Ia().inspect,f=Ia().types,b=f.isPromise,v=f.isRegExp,y=Nt()(),w=Ct()(),k=ze()("RegExp.prototype.test");new Map;function A(){var e=Ya();s=e.isDeepEqual,r=e.isDeepStrictEqual}var E=!1,S=e.exports=R,T={};function x(e){if(e.message instanceof Error)throw e.message;throw new m(e)}function I(e,t,a,n){if(!a){var i=!1;if(0===t)i=!0,n="No value argument passed to `assert.ok()`";else if(n instanceof Error)throw n;var o=new m({actual:a,expected:!0,message:n,operator:"==",stackStartFn:e});throw o.generatedMessage=i,o}}function R(){for(var e=arguments.length,t=new Array(e),a=0;a<e;a++)t[a]=arguments[a];I.apply(void 0,[R,t.length].concat(t))}S.fail=function e(t,a,n,i,o){var s,r=arguments.length;if(0===r)s="Failed";else if(1===r)n=t,t=void 0;else{if(!1===E)E=!0,console.warn.bind(console)("assert.fail() with more than one argument is deprecated. Please use assert.strictEqual() instead or only pass a message.","DeprecationWarning","DEP0094");2===r&&(i="!=")}if(n instanceof Error)throw n;var c={actual:t,expected:a,operator:void 0===i?"fail":i,stackStartFn:o||e};void 0!==n&&(c.message=n);var l=new m(c);throw s&&(l.message=s,l.generatedMessage=!0),l},S.AssertionError=m,S.ok=R,S.equal=function e(t,a,n){if(arguments.length<2)throw new h("actual","expected");t!=a&&x({actual:t,expected:a,message:n,operator:"==",stackStartFn:e})},S.notEqual=function e(t,a,n){if(arguments.length<2)throw new h("actual","expected");t==a&&x({actual:t,expected:a,message:n,operator:"!=",stackStartFn:e})},S.deepEqual=function e(t,a,n){if(arguments.length<2)throw new h("actual","expected");void 0===s&&A(),s(t,a)||x({actual:t,expected:a,message:n,operator:"deepEqual",stackStartFn:e})},S.notDeepEqual=function e(t,a,n){if(arguments.length<2)throw new h("actual","expected");void 0===s&&A(),s(t,a)&&x({actual:t,expected:a,message:n,operator:"notDeepEqual",stackStartFn:e})},S.deepStrictEqual=function e(t,a,n){if(arguments.length<2)throw new h("actual","expected");void 0===s&&A(),r(t,a)||x({actual:t,expected:a,message:n,operator:"deepStrictEqual",stackStartFn:e})},S.notDeepStrictEqual=function e(t,a,n){if(arguments.length<2)throw new h("actual","expected");void 0===s&&A();r(t,a)&&x({actual:t,expected:a,message:n,operator:"notDeepStrictEqual",stackStartFn:e})},S.strictEqual=function e(t,a,n){if(arguments.length<2)throw new h("actual","expected");w(t,a)||x({actual:t,expected:a,message:n,operator:"strictEqual",stackStartFn:e})},S.notStrictEqual=function e(t,a,n){if(arguments.length<2)throw new h("actual","expected");w(t,a)&&x({actual:t,expected:a,message:n,operator:"notStrictEqual",stackStartFn:e})};var D=i(function e(t,a,n){var i=this;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),a.forEach(function(e){e in t&&(void 0!==n&&"string"==typeof n[e]&&v(t[e])&&k(t[e],n[e])?i[e]=n[e]:i[e]=t[e])})});function C(e,t,n,i){if("function"!=typeof t){if(v(t))return k(t,e);if(2===arguments.length)throw new d("expected",["Function","RegExp"],t);if("object"!==a(e)||null===e){var o=new m({actual:e,expected:t,message:n,operator:"deepStrictEqual",stackStartFn:i});throw o.operator=i.name,o}var c=Object.keys(t);if(t instanceof Error)c.push("name","message");else if(0===c.length)throw new u("error",t,"may not be an empty object");return void 0===s&&A(),c.forEach(function(a){"string"==typeof e[a]&&v(t[a])&&k(t[a],e[a])||function(e,t,a,n,i,o){if(!(a in e)||!r(e[a],t[a])){if(!n){var s=new D(e,i),c=new D(t,i,e),l=new m({actual:s,expected:c,operator:"deepStrictEqual",stackStartFn:o});throw l.actual=e,l.expected=t,l.operator=o.name,l}x({actual:e,expected:t,message:n,operator:o.name,stackStartFn:o})}}(e,t,a,n,c,i)}),!0}return void 0!==t.prototype&&e instanceof t||!Error.isPrototypeOf(t)&&!0===t.call({},e)}function N(e){if("function"!=typeof e)throw new d("fn","Function",e);try{e()}catch(e){return e}return T}function M(e){return b(e)||null!==e&&"object"===a(e)&&"function"==typeof e.then&&"function"==typeof e.catch}function P(e){return Promise.resolve().then(function(){var t;if("function"==typeof e){if(!M(t=e()))throw new p("instance of Promise","promiseFn",t)}else{if(!M(e))throw new d("promiseFn",["Function","Promise"],e);t=e}return Promise.resolve().then(function(){return t}).then(function(){return T}).catch(function(e){return e})})}function O(e,t,n,i){if("string"==typeof n){if(4===arguments.length)throw new d("error",["Object","Error","Function","RegExp"],n);if("object"===a(t)&&null!==t){if(t.message===n)throw new l("error/message",'The error message "'.concat(t.message,'" is identical to the message.'))}else if(t===n)throw new l("error/message",'The error "'.concat(t,'" is identical to the message.'));i=n,n=void 0}else if(null!=n&&"object"!==a(n)&&"function"!=typeof n)throw new d("error",["Object","Error","Function","RegExp"],n);if(t===T){var o="";n&&n.name&&(o+=" (".concat(n.name,")")),o+=i?": ".concat(i):".";var s="rejects"===e.name?"rejection":"exception";x({actual:void 0,expected:n,operator:e.name,message:"Missing expected ".concat(s).concat(o),stackStartFn:e})}if(n&&!C(t,n,i,e))throw t}function $(e,t,a,n){if(t!==T){if("string"==typeof a&&(n=a,a=void 0),!a||C(t,a)){var i=n?": ".concat(n):".",o="doesNotReject"===e.name?"rejection":"exception";x({actual:t,expected:a,operator:e.name,message:"Got unwanted ".concat(o).concat(i,"\n")+'Actual message: "'.concat(t&&t.message,'"'),stackStartFn:e})}throw t}}function F(e,t,n,i,o){if(!v(t))throw new d("regexp","RegExp",t);var s="match"===o;if("string"!=typeof e||k(t,e)!==s){if(n instanceof Error)throw n;var r=!n;n=n||("string"!=typeof e?'The "string" argument must be of type string. Received type '+"".concat(a(e)," (").concat(g(e),")"):(s?"The input did not match the regular expression ":"The input was expected to not match the regular expression ")+"".concat(g(t),". Input:\n\n").concat(g(e),"\n"));var c=new m({actual:e,expected:t,message:n,operator:o,stackStartFn:i});throw c.generatedMessage=r,c}}function G(){for(var e=arguments.length,t=new Array(e),a=0;a<e;a++)t[a]=arguments[a];I.apply(void 0,[G,t.length].concat(t))}S.throws=function e(t){for(var a=arguments.length,n=new Array(a>1?a-1:0),i=1;i<a;i++)n[i-1]=arguments[i];O.apply(void 0,[e,N(t)].concat(n))},S.rejects=function e(t){for(var a=arguments.length,n=new Array(a>1?a-1:0),i=1;i<a;i++)n[i-1]=arguments[i];return P(t).then(function(t){return O.apply(void 0,[e,t].concat(n))})},S.doesNotThrow=function e(t){for(var a=arguments.length,n=new Array(a>1?a-1:0),i=1;i<a;i++)n[i-1]=arguments[i];$.apply(void 0,[e,N(t)].concat(n))},S.doesNotReject=function e(t){for(var a=arguments.length,n=new Array(a>1?a-1:0),i=1;i<a;i++)n[i-1]=arguments[i];return P(t).then(function(t){return $.apply(void 0,[e,t].concat(n))})},S.ifError=function e(t){if(null!=t){var n="ifError got unwanted exception: ";"object"===a(t)&&"string"==typeof t.message?0===t.message.length&&t.constructor?n+=t.constructor.name:n+=t.message:n+=g(t);var i=new m({actual:t,expected:null,operator:"ifError",message:n,stackStartFn:e}),o=t.stack;if("string"==typeof o){var s=o.split("\n");s.shift();for(var r=i.stack.split("\n"),c=0;c<s.length;c++){var l=r.indexOf(s[c]);if(-1!==l){r=r.slice(0,l);break}}i.stack="".concat(r.join("\n"),"\n").concat(s.join("\n"))}throw i}},S.match=function e(t,a,n){F(t,a,n,e,"match")},S.doesNotMatch=function e(t,a,n){F(t,a,n,e,"doesNotMatch")},S.strict=y(G,S,{equal:S.strictEqual,deepEqual:S.deepStrictEqual,notEqual:S.notStrictEqual,notDeepEqual:S.notDeepStrictEqual}),S.strict.strict=S.strict}),_=a.cw(function(e,t){function a(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),a.push.apply(a,n)}return a}function n(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?a(Object(n),!0).forEach(function(t){i(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):a(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function i(e,t,a){return(t=s(t))in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function o(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,s(n.key),n)}}function s(e){var t=function(e,t){if("object"!==m(e)||null===e)return e;var a=e[Symbol.toPrimitive];if(void 0!==a){var n=a.call(e,t||"default");if("object"!==m(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===m(t)?t:String(t)}function r(e,t){if(t&&("object"===m(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return c(e)}function c(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function l(e){var t="function"==typeof Map?new Map:void 0;return l=function(e){if(null===e||(a=e,-1===Function.toString.call(a).indexOf("[native code]")))return e;var a;if("function"!=typeof e)throw new TypeError("Super expression must either be null or a function");if(void 0!==t){if(t.has(e))return t.get(e);t.set(e,n)}function n(){return d(e,arguments,h(this).constructor)}return n.prototype=Object.create(e.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}}),p(n,e)},l(e)}function d(e,t,a){return d=u()?Reflect.construct.bind():function(e,t,a){var n=[null];n.push.apply(n,t);var i=new(Function.bind.apply(e,n));return a&&p(i,a.prototype),i},d.apply(null,arguments)}function u(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}function p(e,t){return p=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},p(e,t)}function h(e){return h=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},h(e)}function m(e){return m="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},m(e)}var g=Ia().inspect,f=z().codes.ERR_INVALID_ARG_TYPE;function b(e,t,a){return(void 0===a||a>e.length)&&(a=e.length),e.substring(a-t.length,a)===t}var v="",y="",w="",k="",A={deepStrictEqual:"Expected values to be strictly deep-equal:",strictEqual:"Expected values to be strictly equal:",strictEqualObject:'Expected "actual" to be reference-equal to "expected":',deepEqual:"Expected values to be loosely deep-equal:",equal:"Expected values to be loosely equal:",notDeepStrictEqual:'Expected "actual" not to be strictly deep-equal to:',notStrictEqual:'Expected "actual" to be strictly unequal to:',notStrictEqualObject:'Expected "actual" not to be reference-equal to "expected":',notDeepEqual:'Expected "actual" not to be loosely deep-equal to:',notEqual:'Expected "actual" to be loosely unequal to:',notIdentical:"Values identical but not reference-equal:"};function E(e){var t=Object.keys(e),a=Object.create(Object.getPrototypeOf(e));return t.forEach(function(t){a[t]=e[t]}),Object.defineProperty(a,"message",{value:e.message}),a}function S(e){return g(e,{compact:!1,customInspect:!1,depth:1e3,maxArrayLength:1/0,showHidden:!1,breakLength:1/0,showProxy:!1,sorted:!0,getters:!0})}function T(e,t,a){var n="",i="",o=0,s="",r=!1,c=S(e),l=c.split("\n"),d=S(t).split("\n"),u=0,p="";if("strictEqual"===a&&"object"===m(e)&&"object"===m(t)&&null!==e&&null!==t&&(a="strictEqualObject"),1===l.length&&1===d.length&&l[0]!==d[0]){var h=l[0].length+d[0].length;if(h<=10){if(!("object"===m(e)&&null!==e||"object"===m(t)&&null!==t||0===e&&0===t))return"".concat(A[a],"\n\n")+"".concat(l[0]," !== ").concat(d[0],"\n")}else if("strictEqualObject"!==a){if(h<80){for(;l[0][u]===d[0][u];)u++;u>2&&(p="\n ".concat(function(e,t){if(t=Math.floor(t),0==e.length||0==t)return"";var a=e.length*t;for(t=Math.floor(Math.log(t)/Math.log(2));t;)e+=e,t--;return e+e.substring(0,a-e.length)}(" ",u),"^"),u=0)}}}for(var g=l[l.length-1],f=d[d.length-1];g===f&&(u++<2?s="\n ".concat(g).concat(s):n=g,l.pop(),d.pop(),0!==l.length&&0!==d.length);)g=l[l.length-1],f=d[d.length-1];var E=Math.max(l.length,d.length);if(0===E){var T=c.split("\n");if(T.length>30)for(T[26]="".concat(v,"...").concat(k);T.length>27;)T.pop();return"".concat(A.notIdentical,"\n\n").concat(T.join("\n"),"\n")}u>3&&(s="\n".concat(v,"...").concat(k).concat(s),r=!0),""!==n&&(s="\n ".concat(n).concat(s),n="");var x=0,I=A[a]+"\n".concat(y,"+ actual").concat(k," ").concat(w,"- expected").concat(k),R=" ".concat(v,"...").concat(k," Lines skipped");for(u=0;u<E;u++){var D=u-o;if(l.length<u+1)D>1&&u>2&&(D>4?(i+="\n".concat(v,"...").concat(k),r=!0):D>3&&(i+="\n ".concat(d[u-2]),x++),i+="\n ".concat(d[u-1]),x++),o=u,n+="\n".concat(w,"-").concat(k," ").concat(d[u]),x++;else if(d.length<u+1)D>1&&u>2&&(D>4?(i+="\n".concat(v,"...").concat(k),r=!0):D>3&&(i+="\n ".concat(l[u-2]),x++),i+="\n ".concat(l[u-1]),x++),o=u,i+="\n".concat(y,"+").concat(k," ").concat(l[u]),x++;else{var C=d[u],N=l[u],M=N!==C&&(!b(N,",")||N.slice(0,-1)!==C);M&&b(C,",")&&C.slice(0,-1)===N&&(M=!1,N+=","),M?(D>1&&u>2&&(D>4?(i+="\n".concat(v,"...").concat(k),r=!0):D>3&&(i+="\n ".concat(l[u-2]),x++),i+="\n ".concat(l[u-1]),x++),o=u,i+="\n".concat(y,"+").concat(k," ").concat(N),n+="\n".concat(w,"-").concat(k," ").concat(C),x+=2):(i+=n,n="",1!==D&&0!==u||(i+="\n ".concat(N),x++))}if(x>20&&u<E-2)return"".concat(I).concat(R,"\n").concat(i,"\n").concat(v,"...").concat(k).concat(n,"\n")+"".concat(v,"...").concat(k)}return"".concat(I).concat(r?R:"","\n").concat(i).concat(n).concat(s).concat(p)}var x=function(e,t){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&p(e,t)}(y,e);var a,i,s,l,d,b=(a=y,i=u(),function(){var e,t=h(a);if(i){var n=h(this).constructor;e=Reflect.construct(t,arguments,n)}else e=t.apply(this,arguments);return r(this,e)});function y(e){var t;if(function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,y),"object"!==m(e)||null===e)throw new f("options","Object",e);var a=e.message,n=e.operator,i=e.stackStartFn,o=e.actual,s=e.expected,l=Error.stackTraceLimit;if(Error.stackTraceLimit=0,null!=a)t=b.call(this,String(a));else if("object"===m(o)&&null!==o&&"object"===m(s)&&null!==s&&"stack"in o&&o instanceof Error&&"stack"in s&&s instanceof Error&&(o=E(o),s=E(s)),"deepStrictEqual"===n||"strictEqual"===n)t=b.call(this,T(o,s,n));else if("notDeepStrictEqual"===n||"notStrictEqual"===n){var d=A[n],u=S(o).split("\n");if("notStrictEqual"===n&&"object"===m(o)&&null!==o&&(d=A.notStrictEqualObject),u.length>30)for(u[26]="".concat(v,"...").concat(k);u.length>27;)u.pop();t=1===u.length?b.call(this,"".concat(d," ").concat(u[0])):b.call(this,"".concat(d,"\n\n").concat(u.join("\n"),"\n"))}else{var p=S(o),h="",g=A[n];"notDeepEqual"===n||"notEqual"===n?(p="".concat(A[n],"\n\n").concat(p)).length>1024&&(p="".concat(p.slice(0,1021),"...")):(h="".concat(S(s)),p.length>512&&(p="".concat(p.slice(0,509),"...")),h.length>512&&(h="".concat(h.slice(0,509),"...")),"deepEqual"===n||"equal"===n?p="".concat(g,"\n\n").concat(p,"\n\nshould equal\n\n"):h=" ".concat(n," ").concat(h)),t=b.call(this,"".concat(p).concat(h))}return Error.stackTraceLimit=l,t.generatedMessage=!a,Object.defineProperty(c(t),"name",{value:"AssertionError [ERR_ASSERTION]",enumerable:!1,writable:!0,configurable:!0}),t.code="ERR_ASSERTION",t.actual=o,t.expected=s,t.operator=n,Error.captureStackTrace&&Error.captureStackTrace(c(t),i),t.stack,t.name="AssertionError",r(t)}return s=y,(l=[{key:"toString",value:function(){return"".concat(this.name," [").concat(this.code,"]: ").concat(this.message)}},{key:t,value:function(e,t){return g(this,n(n({},t),{},{customInspect:!1,depth:0}))}}])&&o(s.prototype,l),d&&o(s,d),Object.defineProperty(s,"prototype",{writable:!1}),y}(l(Error),g.custom);e.exports=x}),z=a.cw(function(e,t){function a(e){return a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},a(e)}function n(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,i(n.key),n)}}function i(e){var t=function(e,t){if("object"!==a(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var i=n.call(e,t||"default");if("object"!==a(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===a(t)?t:String(t)}function o(e,t){return o=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},o(e,t)}function s(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}();return function(){var n,i=r(e);if(t){var o=r(this).constructor;n=Reflect.construct(i,arguments,o)}else n=i.apply(this,arguments);return function(e,t){if(t&&("object"===a(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(this,n)}}function r(e){return r=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},r(e)}var c,l,d={};function u(e,t,a){a||(a=Error);var i=function(a){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&o(e,t)}(d,a);var i,r,c,l=s(d);function d(a,n,i){var o;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,d),o=l.call(this,function(e,a,n){return"string"==typeof t?t:t(e,a,n)}(a,n,i)),o.code=e,o}return i=d,r&&n(i.prototype,r),c&&n(i,c),Object.defineProperty(i,"prototype",{writable:!1}),i}(a);d[e]=i}function p(e,t){if(Array.isArray(e)){var a=e.length;return e=e.map(function(e){return String(e)}),a>2?"one of ".concat(t," ").concat(e.slice(0,a-1).join(", "),", or ")+e[a-1]:2===a?"one of ".concat(t," ").concat(e[0]," or ").concat(e[1]):"of ".concat(t," ").concat(e[0])}return"of ".concat(t," ").concat(String(e))}u("ERR_AMBIGUOUS_ARGUMENT",'The "%s" argument is ambiguous. %s',TypeError),u("ERR_INVALID_ARG_TYPE",function(e,t,n){var i,o,s,r;if(void 0===c&&(c=$()),c("string"==typeof e,"'name' must be a string"),"string"==typeof t&&(o="not ",t.substr(!s||s<0?0:+s,o.length)===o)?(i="must not be",t=t.replace(/^not /,"")):i="must be",function(e,t,a){return(void 0===a||a>e.length)&&(a=e.length),e.substring(a-t.length,a)===t}(e," argument"))r="The ".concat(e," ").concat(i," ").concat(p(t,"type"));else{var l=function(e,t,a){return"number"!=typeof a&&(a=0),!(a+t.length>e.length)&&-1!==e.indexOf(t,a)}(e,".")?"property":"argument";r='The "'.concat(e,'" ').concat(l," ").concat(i," ").concat(p(t,"type"))}return r+=". Received type ".concat(a(n))},TypeError),u("ERR_INVALID_ARG_VALUE",function(e,t){var a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"is invalid";void 0===l&&(l=Ia());var n=l.inspect(t);return n.length>128&&(n="".concat(n.slice(0,128),"...")),"The argument '".concat(e,"' ").concat(a,". Received ").concat(n)},TypeError,RangeError),u("ERR_INVALID_RETURN_VALUE",function(e,t,n){var i;return i=n&&n.constructor&&n.constructor.name?"instance of ".concat(n.constructor.name):"type ".concat(a(n)),"Expected ".concat(e,' to be returned from the "').concat(t,'"')+" function but got ".concat(i,".")},TypeError),u("ERR_MISSING_ARGS",function(){for(var e=arguments.length,t=new Array(e),a=0;a<e;a++)t[a]=arguments[a];void 0===c&&(c=$()),c(t.length>0,"At least one arg needs to be specified");var n="The ",i=t.length;switch(t=t.map(function(e){return'"'.concat(e,'"')}),i){case 1:n+="".concat(t[0]," argument");break;case 2:n+="".concat(t[0]," and ").concat(t[1]," arguments");break;default:n+=t.slice(0,i-1).join(", "),n+=", and ".concat(t[i-1]," arguments")}return"".concat(n," must be specified")},TypeError),e.exports.codes=d}),F=()=>a(7392),G=()=>a(8883),q=a.cw(function(e,t){ca();a.d(t,["M",0,e=>!!e&&(0,ca().RO)(e,"4.147.0")])}),L=a.cw(function(e,t){function n(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),a.push.apply(a,n)}return a}function i(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?n(Object(a),!0).forEach(function(t){o(e,t,a[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):n(Object(a)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))})}return e}function o(e,t,a){return(t=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var a=e[Symbol.toPrimitive];if(void 0!==a){var n=a.call(e,t||"default");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}C();const s=(e,t)=>{const a=e.filter(e=>!!e.impact),n=[],o=t.selectorMap;for(const e of a)n.push(...e.nodes.map(a=>{var n;const s=i(i({},t),{},{boundingBox:o[JSON.stringify(a.target)]||(null===(n=a.advanced)||void 0===n?void 0:n.visibleBoundingRect)});return delete s.selectorMap,(0,pe().d)(e,a,s)}));return n},r=(e,t)=>{const a=e.filter(e=>!!e.impact),n=t.selectorMap;return a.flatMap(e=>e.nodes.map(a=>((e,a)=>{var o;const s=JSON.stringify(a.target),r=n[s]||(null===(o=a.advanced)||void 0===o?void 0:o.visibleBoundingRect),c=i(i({},t),{},{boundingBox:r});return delete c.selectorMap,{mappedIssue:(0,pe().d)(e,a,c),axeIssue:e,node:a}})(e,a)))};a.d(t,["T",0,({violations:e=[],bestPractices:t=[],incomplete:a=[],selectorMap:n={},screenshotId:o})=>{const r={selectorMap:n,screenshotId:o};return[...s(e,r),...s(t,i(i({},r),{},{variant:"best-practice"})),...s(a,i(i({},r),{},{needs_review:!0}))]},"i",0,async({violations:e=[],bestPractices:t=[],incomplete:a=[],selectorMap:n={},screenshotId:o,ignoredIssues:s=[],url:c})=>{const l={selectorMap:n,screenshotId:o},d=[...r(e,l),...r(t,i(i({},l),{},{variant:"best-practice"})),...r(a,i(i({},l),{},{needs_review:!0}))],u=await Promise.all(d.map(async({mappedIssue:e,axeIssue:t,node:a})=>{let n=e;const o=await C().createFingerprintsAsync({ruleId:t.id,node:a,url:c});n=i(i({},n),{},{fingerprints:o});const r=((e,t)=>t.find(t=>(0,re().B)(e,t)))(n,s);return r?((e,t)=>i(i({},e),{},{is_ignored:!0,ignore_reason:t.ignoreReason||null,ignore_notes:t.ignoreNotes||null}))(n,r):n}));return u}])}),j=a.cw(function(e,t){a.d(t,["fx",0,()=>"chrome"])}),U=a.cw(function(e,t){It();const n={name:"interactive-elements",displayName:()=>It().Ay`Interactive Elements`,description:()=>It().Ay`The Interactive Elements tool will guide you through testing interactive elements' accessible names, roles, and states.`,config:{vitals:["interactives"],elementSelector:!0,"takes-screenshots":!0,aiAssist:{featureFlag:{id:"igt_automation_interactive_elements_v2",defaultValue:!1},splashText:()=>It().Ay`Rather than manually assessing each element's name, role and states, AI can automate it for you and you can then review.`},mlToolEnabled:!0}},i={name:"images",displayName:()=>It().Ay`Images`,description:()=>It().Ay`The images tests will walk you through testing images (img tags, the 'img' role, css background images, icons and more!).`,config:{vitals:["images"],elementSelector:!0,"takes-screenshots":!0,tips:[{id:"images-sight-required",text:()=>It().Ay`Vision is needed to perform the entirety of this test accurately.`}],aiAssist:{featureFlag:{id:"automated_images_igt_v1",defaultValue:!1},splashText:()=>It().Ay`Rather than manually assessing each image's meaning and any applicable alternative text, AI can automate it for you, and you can then review.`},mlToolEnabled:{featureFlag:{id:"automated_images_igt_v1",defaultValue:!1}}}},o={name:"structure",displayName:()=>It().Ay`Structure`,description:()=>It().Ay`The structure tool will guide you through testing the page's structure.`,config:{vitals:["headings"],elementSelector:!0,"takes-screenshots":!0,aiAssist:{featureFlag:{id:"automated_structure_igt_v1_0_1",defaultValue:!0},splashText:()=>It().Ay`Rather than manually assessing components of the structure of the page, like headings, lists and languages used, AI can automate it for you, and you can then review.`},mlToolEnabled:!0}},s="automated_modal_igt_v1",r={name:"aria-modal",displayName:()=>It().Ay`Modal Dialog`,description:()=>It().Ay`The Modal Dialog tool will guide you through testing a single modal or alert dialog.`,config:{vitals:[],elementSelector:!0,"takes-screenshots":!0,rerun:{featureFlag:{id:"modal_igt_replay",defaultValue:!0},replayText:()=>It().Ay`Quickly retest your modal for accessibility by automatically using your previous intelligent guided test answers.`,hubspotEvent:"axe_first_igt_aria_modal_replay_date"},aiAssist:{featureFlag:{id:s,defaultValue:!1},splashText:()=>It().Ay`Rather than manually assessing your modal dialogs, AI can automate it for you, and you can then review.`},mlToolEnabled:{featureFlag:{id:s,defaultValue:!1}}}},c={name:"table",displayName:()=>It().Ay`Table`,description:()=>It().Ay`The table tool will guide you through testing a table.`,config:{vitals:["tables","table","data-cells"],elementSelector:!0,"takes-screenshots":!0,maintainDebuggerSession:!0,aiAssist:{featureFlag:{id:"PRERELEASE_automated_table_igt_DO_NOT_TURN_ON",defaultValue:!1},splashText:()=>It().Ay`Rather than manually assessing each data cell and its headers, AI can automate it for you, and you can then review.`},mlToolEnabled:!0}},l={name:"keyboard",displayName:()=>It().Ay`Keyboard`,description:()=>It().Ay`The keyboard tests will perform a series of tab order and focus indication checks.`,config:{vitals:["focused-element","missing","select-missing","skipped","tabStops"],elementSelector:!0,"takes-screenshots":!0,rerun:{featureFlag:{id:"igt_keyboard_replay_v1",defaultValue:!1},replayText:()=>It().Ay`Quickly retest keyboard for accessibility by automatically using your previous intelligent guided test answers.`,hubspotEvent:"axe_first_igt_keyboard_replay_date"},aiAssist:{featureFlag:{id:"automated_keyboard_igt_v1",defaultValue:!1},splashText:()=>It().Ay`Rather than manually identifying missing tab stops and the purpose of each tab stop, AI can automate it for you, and you can then review.`},mlToolEnabled:!0}},d={name:"forms",displayName:()=>It().Ay`Forms`,description:()=>It().Ay`Test forms to ensure users can fill them out accurately and submit them.`,config:{vitals:["forms","inputs","groups"],elementSelector:!0,"takes-screenshots":!0,tips:[{id:"images-sight-required",text:()=>It().Ay`Vision is needed to perform the entirety of this test accurately.`}],rerun:{featureFlag:{id:"forms_igt_replay_v1",defaultValue:!1},replayText:()=>It().Ay`Quickly retest your forms for accessibility by automatically using your previous intelligent guided test answers.`,hubspotEvent:"axe_first_igt_forms_replay_date"},mlToolEnabled:!0}};a.d(t,["QJ",0,l,"QK",0,o,"UG",0,n,"YS",0,r,"tp",0,c,"uO",0,d,"zC",0,i])}),B=a.cw(function(e,t){console;a.d(t,["R8",0,(...e)=>{},"Rm",0,(...e)=>{}])}),V=a.cw(function(e,t){function n(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),a.push.apply(a,n)}return a}function i(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?n(Object(a),!0).forEach(function(t){o(e,t,a[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):n(Object(a)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))})}return e}function o(e,t,a){return(t=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var a=e[Symbol.toPrimitive];if(void 0!==a){var n=a.call(e,t||"default");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}Ma();const s="appData",r=new(Ma().eu);const c=class{constructor(){this.set=async(e,t)=>this.setAppData(e,t,!1),this.update=async(e,t)=>this.setAppData(e,t,!0)}async setAppData(e,t,a){return await r.runExclusive(async()=>{let{[s]:n={}}=await browser.storage.local.get(s);return t?n[t]=a?i(i({},n[t]),e):e:n=e,await browser.storage.local.set({[s]:n}),t?n[t]:n})}async get(e){return await r.runExclusive(async()=>{const{[s]:t={}}=await browser.storage.local.get(s);return e?t[e]:t})}async clear(){await browser.storage.local.remove(s)}};a.d(t,["A",0,c])}),W=a.cw(function(e,t){a.d(t,{K:()=>r}),$();const n=new Map;let i=null;const o=async e=>{i||(i=fetch(`${e}/api/internal/features`).then(e=>(Ja()()(e.ok,`Feature flag API responded with ${e.status}`),e.json())).catch(e=>{if(i=null,!(e instanceof TypeError&&"Failed to fetch"===e.message))throw e;return Promise.resolve(null)}));const t=await i,a=(null==t?void 0:t.features)??null;return n.set(e,a),i=null,a};async function s(){try{const e=await browser.storage.local.get();await Promise.all(Object.keys(e).filter(e=>e.startsWith("feature:")).map(e=>browser.storage.local.remove(e)))}catch(e){(0,me().vV)({message:"Failed to clear feature flags from local storage",originalError:e})}}async function r(){return{async variation(e,t){const a=`feature:${e}`,i=t??!1;try{const t=await(0,le().A)();let r=n.get(t);r||(n.clear(),r=await o(t),null!==r&&await s());const c=(r??[]).find(({id:t})=>t===e),{[a]:l}=await browser.storage.local.get(a),d=c?c.state:"boolean"!=typeof l?i:l;return await browser.storage.local.set({[a]:d}),d}catch{}const r=await browser.storage.local.get(a);return r&&Object.prototype.hasOwnProperty.call(r,a)?!!r[a]:i},clearCache(){n.clear(),s(),i=null}}}}),H=a.cw(function(e,t){async function n(e,t=!1){return(await(0,W().K)()).variation(e,t)}a.d(t,{x:()=>n}),Pt(),W()}),K=a.cw(function(e,t){const n="gemini-2.5-flash",i=[{label:"GPT-4.1 nano",details:{provider:"openai",name:"gpt-4.1-nano",context_window:1047567,has_image_input:!0,max_patches:1536}},{label:"GPT-4.1 mini",details:{provider:"openai",name:"gpt-4.1-mini",context_window:1047567,has_image_input:!0,max_patches:1536}},{label:"GPT-4.1",details:{provider:"openai",name:"gpt-4.1",context_window:1047567,has_image_input:!0}},{label:"GPT-5 mini",details:{provider:"openai",name:"gpt-5-mini",context_window:4e5,has_image_input:!0}},{label:"GPT-5 nano",details:{provider:"openai",name:"gpt-5-nano",context_window:4e5,has_image_input:!0}},{label:"GPT-5.2",details:{provider:"openai",name:"gpt-5.2",context_window:4e5,has_image_input:!0}},{label:"GPT-5.4 mini",details:{provider:"openai",name:"gpt-5.4-mini",context_window:4e5,has_image_input:!0}},{label:"GPT-5.4 nano",details:{provider:"openai",name:"gpt-5.4-nano",context_window:4e5,has_image_input:!0}},{label:"o1-mini",details:{provider:"openai",name:"o1-mini",context_window:128e3,has_image_input:!0}},{label:"Gemini 2.0 Flash",details:{provider:"google",name:"gemini-2.0-flash",context_window:1e6,has_image_input:!0}},{label:"Gemini 2.5 Flash",details:{provider:"google",name:n,context_window:1e6,has_image_input:!0,supports_thinking_budget:!0}},{label:"Gemini 2.5 Flash Lite",details:{provider:"google",name:"gemini-2.5-flash-lite-preview-09-2025",context_window:1e6,has_image_input:!0,supports_thinking_budget:!0}},{label:"Gemini 3.1 Flash Lite",details:{provider:"google",name:"gemini-3.1-flash-lite",context_window:1e6,has_image_input:!0,supports_thinking_budget:!0,fixed_temperature:1}},{label:"Gemini 3 Flash (Preview)",details:{provider:"google",name:"gemini-3-flash-preview",context_window:1e6,has_image_input:!0,supports_thinking_budget:!0,fixed_temperature:1}},{label:"Gemini 3.1 Pro (Preview)",details:{provider:"google",name:"gemini-3.1-pro-preview",context_window:1e6,has_image_input:!0,supports_thinking_budget:!0,fixed_temperature:1}},{label:"Gemini 3.5 Flash",details:{provider:"google",name:"gemini-3.5-flash",context_window:1e6,has_image_input:!0,supports_thinking_budget:!0,fixed_temperature:1}},{label:"Gemini 3.5 Flash Lite",details:{provider:"google",name:"gemini-3.5-flash-lite",context_window:1e6,has_image_input:!0,thinking_level:"minimal",fixed_temperature:1}},{label:"Gemini 3.7 Flash",details:{provider:"google",name:"gemini-3.7-flash",context_window:1e6,has_image_input:!0,thinking_level:"medium",fixed_temperature:1}},{label:"Claude Haiku 4.5 (Bedrock)",details:{provider:"bedrock",name:"us.anthropic.claude-haiku-4-5-20251001-v1:0",context_window:2e5,has_image_input:!0}},{label:"Claude Sonnet 4.5 (Bedrock)",details:{provider:"bedrock",name:"us.anthropic.claude-sonnet-4-5-20250929-v1:0",context_window:2e5,has_image_input:!0}},{label:"Claude Opus 4.5 (Bedrock)",details:{provider:"bedrock",name:"us.anthropic.claude-opus-4-5-20251101-v1:0",context_window:2e5,has_image_input:!0}},{label:"Amazon Nova Lite",details:{provider:"bedrock",name:"us.amazon.nova-lite-v1:0",context_window:3e5,has_image_input:!0}},{label:"Amazon Nova Pro",details:{provider:"bedrock",name:"us.amazon.nova-pro-v1:0",context_window:3e5,has_image_input:!0}},{label:"Amazon Nova Premier",details:{provider:"bedrock",name:"us.amazon.nova-premier-v1:0",context_window:1e6,has_image_input:!0}},{label:"Llama 3.2 11B Vision",details:{provider:"bedrock",name:"us.meta.llama3-2-11b-instruct-v1:0",context_window:128e3,has_image_input:!0}},{label:"Llama 3.2 90B Vision",details:{provider:"bedrock",name:"us.meta.llama3-2-90b-instruct-v1:0",context_window:128e3,has_image_input:!0}},{label:"Llama 4 Scout",details:{provider:"bedrock",name:"us.meta.llama4-scout-17b-instruct-v1:0",context_window:1e7,has_image_input:!0}},{label:"Llama 4 Maverick",details:{provider:"bedrock",name:"us.meta.llama4-maverick-17b-instruct-v1:0",context_window:1e6,has_image_input:!0}},{label:"Gemma 3 4B",details:{provider:"bedrock",name:"google.gemma-3-4b-it",context_window:128e3,has_image_input:!0}},{label:"Gemma 3 12B",details:{provider:"bedrock",name:"google.gemma-3-12b-it",context_window:128e3,has_image_input:!0}},{label:"Gemma 3 27B",details:{provider:"bedrock",name:"google.gemma-3-27b-it",context_window:128e3,has_image_input:!0}}];a.d(t,["c1",0,"internal_llm_selection","pT",0,n,"sT",0,i,"tT",0,"igtSelectedModelDetails"])}),Y=a.cw(function(e,t){a.d(t,{Q:()=>i}),H();const n=["/api/ml/keyboard-igt/","/api/ml/modal-igt/","/api/ml/structure-igt/","/api/ml/evaluate-images","/api/ml/evaluate-interactive-elements"];async function i(e){var t;if(!function(e){return n.some(t=>e.startsWith(t))}(e))return;if(!await(0,H().x)(K().c1))return;const a=(await browser.storage.local.get(K().tT))[K().tT];return function(e){if("object"!=typeof e||null===e)return!1;const t=e;return"string"==typeof t.provider&&"string"==typeof t.name&&"number"==typeof t.context_window&&"boolean"==typeof t.has_image_input}(a)&&a.name!==K().pT?null===(t=K().sT.find(e=>e.details.name===a.name))||void 0===t?void 0:t.details:void 0}}),J=a.cw(function(e,t){a.d(t,["j",0,[{id:"alt-text-area-missing",descriptions:{en:{shortText:"<area> alt text is missing",description:"An <area> element has no text alternative."}},checkpoints:[{checkpoint:"4.1.2.a",standards:["wcag2a"],type:"issue",impact:4},{checkpoint:"en301549-9-4.1.2.a",standards:["EN-301-549"],type:"issue",impact:4},{checkpoint:"rgaa-1.1.2",standards:["RGAAv4"],type:"issue",impact:4}]},{id:"alt-text-complex-missing",descriptions:{en:{shortText:"Short and detailed text alternatives missing for complex image",description:"The complex image is missing both short and detailed text alternatives."}},checkpoints:[{checkpoint:"1.1.1.c",standards:["wcag2a"],type:"issue",impact:4},{checkpoint:"en301549-9-1.1.1.c",standards:["EN-301-549"],type:"issue",impact:4},{checkpoint:"rgaa-1.6.1",standards:["RGAAv4"],type:"issue",impact:4}]},{id:"alt-text-decorative-inappropriate",descriptions:{en:{shortText:"The decorative image is not hidden from screen readers",description:"The decorative image is not hidden from screen readers."}},checkpoints:[{checkpoint:"1.1.1.d",standards:["wcag2a"],type:"issue",impact:2},{checkpoint:"en301549-9-1.1.1.d",standards:["EN-301-549"],type:"issue",impact:2},{checkpoint:"rgaa-1.2.1",standards:["RGAAv4"],type:"issue",impact:2},{checkpoint:"rgaa-1.2.2",standards:["RGAAv4"],type:"issue",impact:2},{checkpoint:"rgaa-1.2.3",standards:["RGAAv4"],type:"issue",impact:2},{checkpoint:"rgaa-1.2.4",standards:["RGAAv4"],type:"issue",impact:2},{checkpoint:"rgaa-1.2.5",standards:["RGAAv4"],type:"issue",impact:2},{checkpoint:"rgaa-1.2.6",standards:["RGAAv4"],type:"issue",impact:2}]},{id:"alt-text-different",descriptions:{en:{shortText:"Text alternative does not present same info as image",description:"The text alternative does not present the same information as the image."}},checkpoints:[{checkpoint:"1.1.1.b",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-1.1.1.b",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-1.9.1",standards:["RGAAv4"],type:"issue",impact:3},{checkpoint:"rgaa-1.9.3",standards:["RGAAv4"],type:"issue",impact:3},{checkpoint:"rgaa-1.9.4",standards:["RGAAv4"],type:"issue",impact:3},{checkpoint:"rgaa-1.9.5",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"alt-text-dynamic-image-inconsistent",descriptions:{en:{shortText:"Text alternative does not match dynamically changing informative image",description:"The image is changing dynamically but the text alternative doesn't correspond to the informative image displayed."}},checkpoints:[{checkpoint:"1.1.1.b",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-1.1.1.b",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-1.3.1",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"alt-text-dynamic-image-inconsistent-active",descriptions:{en:{shortText:"Text alternative does not match dynamically changing active image",description:"The image is changing dynamically but the text alternative doesn't correspond to the active image displayed."}},checkpoints:[{checkpoint:"1.1.1.a",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-1.1.1.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-1.3.4",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"alt-text-essential-image-text",descriptions:{en:{shortText:"Text alternative does not include essential text in the informative image",description:"The text alternative does not contain the essential text in the informative image, and therefore does not present the same information as the image."}},checkpoints:[{checkpoint:"1.1.1.b",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-1.1.1.b",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-1.3.1",standards:["RGAAv4"],type:"issue",impact:3},{checkpoint:"rgaa-1.3.4",standards:["RGAAv4"],type:"issue",impact:3},{checkpoint:"rgaa-1.3.5",standards:["RGAAv4"],type:"issue",impact:3},{checkpoint:"rgaa-1.3.6",standards:["RGAAv4"],type:"issue",impact:3},{checkpoint:"rgaa-1.3.7",standards:["RGAAv4"],type:"issue",impact:3},{checkpoint:"rgaa-1.3.8",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"alt-text-essential-image-text-active",descriptions:{en:{shortText:"Text alternative does not include essential text in the active image",description:"The text alternative does not contain the essential text in the active image, and therefore does not present the same information as the image."}},checkpoints:[{checkpoint:"1.1.1.a",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-1.1.1.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-1.3.2",standards:["RGAAv4"],type:"issue",impact:3},{checkpoint:"rgaa-1.3.3",standards:["RGAAv4"],type:"issue",impact:3},{checkpoint:"rgaa-6.1.2",standards:["RGAAv4"],type:"issue",impact:3},{checkpoint:"rgaa-6.1.4",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"alt-text-image-map-nonunique",descriptions:{en:{shortText:"Non-unique text alternative for image map areas",description:"The text alternative for each area of the image map is not unique."}},checkpoints:[{checkpoint:"2.4.4.a",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-2.4.4.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-1.1.4",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"alt-text-image-text-mismatch",descriptions:{en:{shortText:"Alt text does not match text in image",description:"The text alternative does not exactly match text that is embedded in the image."}},checkpoints:[{checkpoint:"1.1.1.a",standards:["wcag2a"],type:"best-practice",impact:1},{checkpoint:"1.1.1.b",standards:["wcag2a"],type:"best-practice",impact:1},{checkpoint:"1.1.1.h",standards:["wcag2a"],type:"best-practice",impact:1},{checkpoint:"en301549-9-1.1.1.h",standards:["EN-301-549"],type:"best-practice",impact:1},{checkpoint:"en301549-9-1.1.1.b",standards:["EN-301-549"],type:"best-practice",impact:1},{checkpoint:"en301549-9-1.1.1.a",standards:["EN-301-549"],type:"best-practice",impact:1},{checkpoint:"rgaa-1.3.1",standards:["RGAAv4"],type:"best-practice",impact:1}]},{id:"alt-text-inappropriate",descriptions:{en:{shortText:"Text alternative is not appropriate",description:"The text alternative is not appropriate."}},checkpoints:[{checkpoint:"1.1.1.h",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-1.1.1.h",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-1.9.1",standards:["RGAAv4"],type:"issue",impact:3},{checkpoint:"rgaa-1.9.3",standards:["RGAAv4"],type:"issue",impact:3},{checkpoint:"rgaa-1.9.4",standards:["RGAAv4"],type:"issue",impact:3},{checkpoint:"rgaa-1.9.5",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"alt-text-inappropriate-captcha",descriptions:{en:{shortText:"Text alternative for CAPTCHA is not appropriate",description:"The text alternative for the CAPTCHA image does not describe its purpose."}},checkpoints:[{checkpoint:"1.1.1.g",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-1.1.1.g",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-1.4.2",standards:["RGAAv4"],type:"issue",impact:3},{checkpoint:"rgaa-1.4.3",standards:["RGAAv4"],type:"issue",impact:3},{checkpoint:"rgaa-1.4.4",standards:["RGAAv4"],type:"issue",impact:3},{checkpoint:"rgaa-1.4.5",standards:["RGAAv4"],type:"issue",impact:3},{checkpoint:"rgaa-1.4.6",standards:["RGAAv4"],type:"issue",impact:3},{checkpoint:"rgaa-1.4.7",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"alt-text-inconsistent",descriptions:{en:{shortText:"Text alternative does not serve same purpose as image",description:"The text alternative does not serve the same purpose as the image."}},checkpoints:[{checkpoint:"1.1.1.a",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-1.1.1.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-1.9.1",standards:["RGAAv4"],type:"issue",impact:3},{checkpoint:"rgaa-1.9.3",standards:["RGAAv4"],type:"issue",impact:3},{checkpoint:"rgaa-1.9.4",standards:["RGAAv4"],type:"issue",impact:3},{checkpoint:"rgaa-1.9.5",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"alt-text-longdesc-inadequate",descriptions:{en:{shortText:"Detailed alternative description not adequate",description:"The detailed textual description of the complex image is not adequate to convey its full meaning."}},checkpoints:[{checkpoint:"1.1.1.c",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-1.1.1.c",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-1.7.1",standards:["RGAAv4"],type:"issue",impact:3},{checkpoint:"rgaa-1.7.2",standards:["RGAAv4"],type:"issue",impact:3},{checkpoint:"rgaa-1.7.3",standards:["RGAAv4"],type:"issue",impact:3},{checkpoint:"rgaa-1.7.4",standards:["RGAAv4"],type:"issue",impact:3},{checkpoint:"rgaa-1.7.5",standards:["RGAAv4"],type:"issue",impact:3},{checkpoint:"rgaa-1.7.6",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"alt-text-longdesc-missing",descriptions:{en:{shortText:"Detailed alternative description is missing",description:"The detailed textual description of the complex image is missing."}},checkpoints:[{checkpoint:"1.1.1.c",standards:["wcag2a"],type:"issue",impact:4},{checkpoint:"en301549-9-1.1.1.c",standards:["EN-301-549"],type:"issue",impact:4},{checkpoint:"rgaa-1.6.1",standards:["RGAAv4"],type:"issue",impact:4},{checkpoint:"rgaa-1.6.2",standards:["RGAAv4"],type:"issue",impact:4},{checkpoint:"rgaa-1.6.3",standards:["RGAAv4"],type:"issue",impact:4},{checkpoint:"rgaa-1.6.5",standards:["RGAAv4"],type:"issue",impact:4},{checkpoint:"rgaa-1.6.6",standards:["RGAAv4"],type:"issue",impact:4},{checkpoint:"rgaa-1.6.7",standards:["RGAAv4"],type:"issue",impact:4},{checkpoint:"rgaa-1.6.8",standards:["RGAAv4"],type:"issue",impact:4},{checkpoint:"rgaa-1.6.10",standards:["RGAAv4"],type:"issue",impact:4}]},{id:"alt-text-missing",descriptions:{en:{shortText:"Text alternative for the informative image is missing",description:"The text alternative for the informative image is missing."}},checkpoints:[{checkpoint:"1.1.1.b",standards:["wcag2a"],type:"issue",impact:4},{checkpoint:"en301549-9-1.1.1.b",standards:["EN-301-549"],type:"issue",impact:4},{checkpoint:"rgaa-1.1.1",standards:["RGAAv4"],type:"issue",impact:4},{checkpoint:"rgaa-1.1.5",standards:["RGAAv4"],type:"issue",impact:4},{checkpoint:"rgaa-1.1.8",standards:["RGAAv4"],type:"issue",impact:4}]},{id:"alt-text-missing-active",descriptions:{en:{shortText:"Text alternative for the active image missing",description:"The text alternative for the active image is missing."}},checkpoints:[{checkpoint:"1.1.1.a",standards:["wcag2a"],type:"issue",impact:4},{checkpoint:"en301549-9-1.1.1.a",standards:["EN-301-549"],type:"issue",impact:4},{checkpoint:"rgaa-1.1.6",standards:["RGAAv4"],type:"issue",impact:4},{checkpoint:"rgaa-1.1.7",standards:["RGAAv4"],type:"issue",impact:4}]},{id:"alt-text-missing-captcha",descriptions:{en:{shortText:"CAPTCHA is missing text alternative",description:"The text alternative for the CAPTCHA image is missing."}},checkpoints:[{checkpoint:"1.1.1.g",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-1.1.1.g",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-1.4.1",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"alt-text-missing-media-file",descriptions:{en:{shortText:"Media file is missing text alternative",description:"There is no text alternative to describe the media file."}},checkpoints:[{checkpoint:"1.1.1.h",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-1.1.1.h",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-4.7.1",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"alt-text-redundancy",descriptions:{en:{shortText:"Alt text duplicates adjacent text",description:"The text alternative duplicates the adjacent text."}},checkpoints:[{checkpoint:"1.1.1.d",standards:["wcag2a"],type:"best-practice",impact:1},{checkpoint:"en301549-9-1.1.1.d",standards:["EN-301-549"],type:"best-practice",impact:1}]},{id:"alt-text-redundancy-adjacent-link",descriptions:{en:{shortText:"Alt text duplicates adjacent link text",description:"The text alternative duplicates the adjacent link text for the same resource/destination."}},checkpoints:[{checkpoint:"1.1.1.a",standards:["wcag2a"],type:"best-practice",impact:1},{checkpoint:"1.1.1.d",standards:["wcag2a"],type:"best-practice",impact:1},{checkpoint:"en301549-9-1.1.1.d",standards:["EN-301-549"],type:"best-practice",impact:1},{checkpoint:"en301549-9-1.1.1.a",standards:["EN-301-549"],type:"best-practice",impact:1}]},{id:"alt-text-redundancy-link-text",descriptions:{en:{shortText:"Alt text duplicates text of link or button",description:"The text alternative duplicates the text content of the link or button it is inside, and therefore should be null."}},checkpoints:[{checkpoint:"1.1.1.a",standards:["wcag2a"],type:"best-practice",impact:1},{checkpoint:"1.1.1.d",standards:["wcag2a"],type:"best-practice",impact:1},{checkpoint:"en301549-9-1.1.1.d",standards:["EN-301-549"],type:"best-practice",impact:1},{checkpoint:"en301549-9-1.1.1.a",standards:["EN-301-549"],type:"best-practice",impact:1}]},{id:"alt-text-short-text-missing",descriptions:{en:{shortText:"Short text alternative is missing",description:"A short text alternative for a complex image is missing."}},checkpoints:[{checkpoint:"1.1.1.c",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-1.1.1.c",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-1.1.1",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"alt-text-short-text-not-meaningful",descriptions:{en:{shortText:"Short text alternative is not appropriate",description:"The short text alternative for the complex image is not appropriate or meaningful."}},checkpoints:[{checkpoint:"1.1.1.c",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-1.1.1.c",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-1.3.1",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"alt-text-too-long",descriptions:{en:{shortText:"Alt text is greater than 150 chars",description:"The text alternative is greater than 150 characters."}},checkpoints:[{checkpoint:"1.1.1.a",standards:["wcag2a"],type:"best-practice",impact:1},{checkpoint:"1.1.1.b",standards:["wcag2a"],type:"best-practice",impact:1},{checkpoint:"1.1.1.c",standards:["wcag2a"],type:"best-practice",impact:1},{checkpoint:"1.1.1.g",standards:["wcag2a"],type:"best-practice",impact:1},{checkpoint:"1.1.1.h",standards:["wcag2a"],type:"best-practice",impact:1},{checkpoint:"en301549-9-1.1.1.h",standards:["EN-301-549"],type:"best-practice",impact:1},{checkpoint:"en301549-9-1.1.1.g",standards:["EN-301-549"],type:"best-practice",impact:1},{checkpoint:"en301549-9-1.1.1.c",standards:["EN-301-549"],type:"best-practice",impact:1},{checkpoint:"en301549-9-1.1.1.b",standards:["EN-301-549"],type:"best-practice",impact:1},{checkpoint:"en301549-9-1.1.1.a",standards:["EN-301-549"],type:"best-practice",impact:1}]},{id:"alt-text-trademark",descriptions:{en:{shortText:"Alt text does not reference trademark",description:"The text alternative does not include text to represent the trademark, service mark, registered trademark or copyright symbol that is embedded in the image."}},checkpoints:[{checkpoint:"1.1.1.a",standards:["wcag2a"],type:"best-practice",impact:1},{checkpoint:"1.1.1.b",standards:["wcag2a"],type:"best-practice",impact:1},{checkpoint:"1.1.1.c",standards:["wcag2a"],type:"best-practice",impact:1},{checkpoint:"1.1.1.g",standards:["wcag2a"],type:"best-practice",impact:1},{checkpoint:"1.1.1.h",standards:["wcag2a"],type:"best-practice",impact:1},{checkpoint:"en301549-9-1.1.1.h",standards:["EN-301-549"],type:"best-practice",impact:1},{checkpoint:"en301549-9-1.1.1.g",standards:["EN-301-549"],type:"best-practice",impact:1},{checkpoint:"en301549-9-1.1.1.c",standards:["EN-301-549"],type:"best-practice",impact:1},{checkpoint:"en301549-9-1.1.1.b",standards:["EN-301-549"],type:"best-practice",impact:1},{checkpoint:"en301549-9-1.1.1.a",standards:["EN-301-549"],type:"best-practice",impact:1}]},{id:"alt-text-verbose",descriptions:{en:{shortText:"Alt text is too verbose",description:"The text alternative should succinctly describe the content without being too verbose."}},checkpoints:[{checkpoint:"1.1.1.a",standards:["wcag2a"],type:"best-practice",impact:1},{checkpoint:"1.1.1.b",standards:["wcag2a"],type:"best-practice",impact:1},{checkpoint:"1.1.1.c",standards:["wcag2a"],type:"best-practice",impact:1},{checkpoint:"1.1.1.g",standards:["wcag2a"],type:"best-practice",impact:1},{checkpoint:"1.1.1.h",standards:["wcag2a"],type:"best-practice",impact:1},{checkpoint:"en301549-9-1.1.1.h",standards:["EN-301-549"],type:"best-practice",impact:1},{checkpoint:"en301549-9-1.1.1.g",standards:["EN-301-549"],type:"best-practice",impact:1},{checkpoint:"en301549-9-1.1.1.c",standards:["EN-301-549"],type:"best-practice",impact:1},{checkpoint:"en301549-9-1.1.1.b",standards:["EN-301-549"],type:"best-practice",impact:1},{checkpoint:"en301549-9-1.1.1.a",standards:["EN-301-549"],type:"best-practice",impact:1}]},{id:"aria-attribute-invalid",descriptions:{en:{shortText:"States/Properties: Invalid ARIA attribute",description:"The element has an invalid ARIA attribute (a misspelled attribute or one that does not exist)."}},checkpoints:[{checkpoint:"4.1.2.b",standards:["wcag2a"],type:"issue",impact:4},{checkpoint:"en301549-9-4.1.2.b",standards:["EN-301-549"],type:"issue",impact:4}]},{id:"aria-attribute-missing",descriptions:{en:{shortText:"States/Properties: Required ARIA attribute missing",description:"The element is missing an ARIA attribute that is required for its role."}},checkpoints:[{checkpoint:"4.1.2.b",standards:["wcag2a"],type:"issue",impact:4},{checkpoint:"en301549-9-4.1.2.b",standards:["EN-301-549"],type:"issue",impact:4}]},{id:"aria-attribute-value-invalid",descriptions:{en:{shortText:"States/Properties: Invalid ARIA attribute value",description:"The element's ARIA attribute has an invalid value (a misspelled value or one that is not valid for the attribute)."}},checkpoints:[{checkpoint:"4.1.2.b",standards:["wcag2a"],type:"issue",impact:4},{checkpoint:"en301549-9-4.1.2.b",standards:["EN-301-549"],type:"issue",impact:4}]},{id:"aria-custom-button-spacebar",descriptions:{en:{shortText:"Custom ARIA button does not activate with spacebar",description:"An element that visually appears like a button and has an ARIA role of button does not function the same as a native button because only the enter key activates it, not the spacebar."}},checkpoints:[{checkpoint:"4.1.2.b",standards:["wcag2a"],type:"best-practice",impact:3},{checkpoint:"en301549-9-4.1.2.b",standards:["EN-301-549"],type:"best-practice",impact:3},{checkpoint:"rgaa-7.3.1",standards:["RGAAv4"],type:"best-practice",impact:3}]},{id:"aria-invalid-missing",descriptions:{en:{shortText:"Field with data entry error missing aria-invalid",description:'The field has a data entry error but is missing aria-invalid="true"'}},checkpoints:[{checkpoint:"3.3.1.b",standards:["wcag2a"],type:"best-practice",impact:2},{checkpoint:"en301549-9-3.3.1.b",standards:["EN-301-549"],type:"best-practice",impact:2},{checkpoint:"rgaa-11.10.4",standards:["RGAAv4"],type:"best-practice",impact:2}]},{id:"aria-landmark-not-used",descriptions:{en:{shortText:"Missing ARIA landmarks",description:"ARIA landmarks are not used to define the sections of the page."}},checkpoints:[{checkpoint:"2.4.1.a",standards:["wcag2a"],type:"best-practice",impact:2},{checkpoint:"en301549-9-2.4.1.a",standards:["EN-301-549"],type:"best-practice",impact:2},{checkpoint:"rgaa-12.6.1",standards:["RGAAv4"],type:"best-practice",impact:2}]},{id:"aria-landmark-outside",descriptions:{en:{shortText:"Element not within ARIA landmark",description:"ARIA landmarks are not used to define every section of the page. The element is not within an ARIA landmark."}},checkpoints:[{checkpoint:"2.4.1.a",standards:["wcag2a"],type:"best-practice",impact:2},{checkpoint:"en301549-9-2.4.1.a",standards:["EN-301-549"],type:"best-practice",impact:2},{checkpoint:"rgaa-12.6.1",standards:["RGAAv4"],type:"best-practice",impact:2}]},{id:"aria-name-missing-incorrect",descriptions:{en:{shortText:"Name: The element's name is missing or incorrect",description:"The element's accessible name is missing or is not appropriate for the element's purpose."}},checkpoints:[{checkpoint:"4.1.2.b",standards:["wcag2a"],type:"issue",impact:4},{checkpoint:"en301549-9-4.1.2.b",standards:["EN-301-549"],type:"issue",impact:4},{checkpoint:"rgaa-7.1.1",standards:["RGAAv4"],type:"issue",impact:4},{checkpoint:"rgaa-7.1.2",standards:["RGAAv4"],type:"issue",impact:4}]},{id:"aria-not-used",descriptions:{en:{shortText:"Missing ARIA on dynamic widget",description:"ARIA is not used to indicate Name, Role, Value and State on a dynamic widget. (It does work with keyboard alone, and screen readers. Name, Role, State and Value are provided via HTML.)"}},checkpoints:[{checkpoint:"4.1.2.a",standards:["wcag2a"],type:"best-practice",impact:2},{checkpoint:"4.1.2.b",standards:["wcag2a"],type:"best-practice",impact:2},{checkpoint:"en301549-9-4.1.2.b",standards:["EN-301-549"],type:"best-practice",impact:2},{checkpoint:"en301549-9-4.1.2.a",standards:["EN-301-549"],type:"best-practice",impact:2}]},{id:"aria-region-not-labeled",descriptions:{en:{shortText:"Missing label on region landmark",description:'The section with generic role="region" is not labelled.'}},checkpoints:[{checkpoint:"4.1.2.a",standards:["wcag2a"],type:"best-practice",impact:2},{checkpoint:"en301549-9-4.1.2.a",standards:["EN-301-549"],type:"best-practice",impact:2},{checkpoint:"rgaa-7.1.3",standards:["RGAAv4"],type:"best-practice",impact:2}]},{id:"aria-required-child-missing",descriptions:{en:{shortText:"Role: Required ARIA child role missing",description:"The element's ARIA role requires that other elements with specific roles be contained within it. At least one child role is missing."}},checkpoints:[{checkpoint:"4.1.2.b",standards:["wcag2a"],type:"issue",impact:4},{checkpoint:"en301549-9-4.1.2.b",standards:["EN-301-549"],type:"issue",impact:4},{checkpoint:"rgaa-7.1.3",standards:["RGAAv4"],type:"issue",impact:4}]},{id:"aria-required-missing",descriptions:{en:{shortText:"Required field missing aria-required",description:'The field is required but is missing aria-required="true"'}},checkpoints:[{checkpoint:"3.3.2.c",standards:["wcag2a"],type:"best-practice",impact:2},{checkpoint:"en301549-9-3.3.2.c",standards:["EN-301-549"],type:"best-practice",impact:2},{checkpoint:"rgaa-11.10.4",standards:["RGAAv4"],type:"issue",impact:2}]},{id:"aria-required-parent-missing",descriptions:{en:{shortText:"Role: Required ARIA parent role missing",description:"The element's ARIA role requires that it be contained inside a parent element with a specific role. The parent role is missing."}},checkpoints:[{checkpoint:"4.1.2.b",standards:["wcag2a"],type:"issue",impact:4},{checkpoint:"en301549-9-4.1.2.b",standards:["EN-301-549"],type:"issue",impact:4},{checkpoint:"rgaa-7.1.3",standards:["RGAAv4"],type:"issue",impact:4}]},{id:"aria-role-invalid",descriptions:{en:{shortText:"Role: Invalid ARIA role value",description:"The element's role attribute has an invalid value (a misspelled value or one that does not exist)."}},checkpoints:[{checkpoint:"4.1.2.b",standards:["wcag2a"],type:"issue",impact:4},{checkpoint:"en301549-9-4.1.2.b",standards:["EN-301-549"],type:"issue",impact:4},{checkpoint:"rgaa-7.1.2",standards:["RGAAv4"],type:"issue",impact:4}]},{id:"aria-role-missing",descriptions:{en:{shortText:"Role: The element's role is missing or incorrect",description:"The element's role is missing or is not appropriate for the element's function."}},checkpoints:[{checkpoint:"4.1.2.b",standards:["wcag2a"],type:"issue",impact:4},{checkpoint:"en301549-9-4.1.2.b",standards:["EN-301-549"],type:"issue",impact:4},{checkpoint:"rgaa-4.13.1",standards:["RGAAv4"],type:"issue",impact:4},{checkpoint:"rgaa-7.1.1",standards:["RGAAv4"],type:"issue",impact:4},{checkpoint:"rgaa-7.1.2",standards:["RGAAv4"],type:"issue",impact:4},{checkpoint:"rgaa-7.1.3",standards:["RGAAv4"],type:"issue",impact:4}]},{id:"aria-state-property-missing",descriptions:{en:{shortText:"States/Properties: The element has missing or incorrect states or properties",description:"The element has missing or incorrect states or properties that are necessary for screen reader users to interact with or understand the content conveyed by the element."}},checkpoints:[{checkpoint:"4.1.2.b",standards:["wcag2a"],type:"issue",impact:4},{checkpoint:"en301549-9-4.1.2.b",standards:["EN-301-549"],type:"issue",impact:4},{checkpoint:"rgaa-7.1.1",standards:["RGAAv4"],type:"issue",impact:4}]},{id:"asterisk-instruction-missing",descriptions:{en:{shortText:"Instruction to describe meaning of * is missing",description:'Asterisks are used to indicate required form fields, but an instruction like "Fields marked with * are required." is missing.'}},checkpoints:[{checkpoint:"3.3.2.c",standards:["wcag2a"],type:"best-practice",impact:2},{checkpoint:"en301549-9-3.3.2.c",standards:["EN-301-549"],type:"best-practice",impact:2},{checkpoint:"rgaa-11.10.4",standards:["RGAAv4"],type:"best-practice",impact:2}]},{id:"audio-autoplay",descriptions:{en:{shortText:"Missing stop/pause mechanism for auto-playing audio",description:"Audio starts playing automatically, lasts more than 3 seconds, and does not have an accessible mechanism to stop, pause, mute or adjust the volume of the audio."}},checkpoints:[{checkpoint:"1.4.2.a",standards:["wcag2a"],type:"issue",impact:4},{checkpoint:"en301549-9-1.4.2.a",standards:["EN-301-549"],type:"issue",impact:4},{checkpoint:"rgaa-4.10.1",standards:["RGAAv4"],type:"issue",impact:4}]},{id:"audio-description-hard-to-find",descriptions:{en:{shortText:"Audio description is hard to find",description:"An audio described version of the video is provided but it is difficult to locate."}},checkpoints:[{checkpoint:"1.2.3.a",standards:["wcag2a"],type:"best-practice",impact:2},{checkpoint:"1.2.5.a",standards:["wcag2aa"],type:"best-practice",impact:2},{checkpoint:"en301549-9-1.2.5.a",standards:["EN-301-549"],type:"best-practice",impact:2},{checkpoint:"en301549-9-1.2.3.a",standards:["EN-301-549"],type:"best-practice",impact:2}]},{id:"audio-description-inadequate",descriptions:{en:{shortText:"Audio description is incorrect or inadequate",description:"The audio description provided is not correct or is inadequate."}},checkpoints:[{checkpoint:"1.2.3.a",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-1.2.3.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-4.6.1",standards:["RGAAv4"],type:"issue",impact:3},{checkpoint:"rgaa-4.6.2",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"audio-description-inadequate-aa",descriptions:{en:{shortText:"Audio description is incorrect or inadequate",description:"The audio description provided is not correct or is inadequate."}},checkpoints:[{checkpoint:"1.2.5.a",standards:["wcag2aa"],type:"issue",impact:3},{checkpoint:"en301549-9-1.2.5.a",standards:["EN-301-549"],type:"issue",impact:3}]},{id:"audio-description-missing",descriptions:{en:{shortText:"Audio description is not available",description:"An audio description is not provided."}},checkpoints:[{checkpoint:"1.2.5.a",standards:["wcag2aa"],type:"issue",impact:4},{checkpoint:"en301549-9-1.2.5.a",standards:["EN-301-549"],type:"issue",impact:4},{checkpoint:"rgaa-4.1.2",standards:["RGAAv4"],type:"issue",impact:4},{checkpoint:"rgaa-4.1.3",standards:["RGAAv4"],type:"issue",impact:4},{checkpoint:"rgaa-4.5.1",standards:["RGAAv4"],type:"issue",impact:4},{checkpoint:"rgaa-4.5.2",standards:["RGAAv4"],type:"issue",impact:4}]},{id:"auth-requires-cognitive-function",descriptions:{en:{shortText:"Authentication requires a non-exempted cognitive function test",description:"Authentication process requires the completion of a non-exempted cognitive function test and no mechanism is available to assist the user in completing the cognitive function test."}},checkpoints:[{checkpoint:"3.3.8.a",standards:["wcag22aa"],type:"issue",impact:4},{checkpoint:"en301549-9-3.3.8.a",standards:["EN-301-549"],type:"issue",impact:4}]},{id:"auth-show-password",descriptions:{en:{shortText:"Unable to show/hide password",description:"User is unable to show/hide password typed into a password field."}},checkpoints:[{checkpoint:"3.3.7.a",standards:["wcag22aa"],type:"best-practice",impact:2},{checkpoint:"en301549-9-3.3.7.a",standards:["EN-301-549"],type:"best-practice",impact:2}]},{id:"button-acts-like-link",descriptions:{en:{shortText:"Button acts like link",description:"Button acts like a link, Activating this button only changes browser focus or URL. Buttons should activate scripted functionality."}},checkpoints:[{checkpoint:"4.1.2.a",standards:["wcag2a"],type:"best-practice",impact:2},{checkpoint:"en301549-9-4.1.2.a",standards:["EN-301-549"],type:"best-practice",impact:2}]},{id:"button-link-nested",descriptions:{en:{shortText:"Anchor or button nested inside other anchor or button",description:"Nesting an anchor or button inside another anchor or button fails validation and may cause troubles for keyboard and screen reader users."}},checkpoints:[{checkpoint:"4.1.2.a",standards:["wcag2a"],type:"issue",impact:2},{checkpoint:"en301549-9-4.1.2.a",standards:["EN-301-549"],type:"issue",impact:2}]},{id:"button-looks-like-link",descriptions:{en:{shortText:"Button looks like link",description:"Button looks like a link, but activating this element triggers scripted functionality without changing browser focus or URL."}},checkpoints:[{checkpoint:"4.1.2.a",standards:["wcag2a"],type:"best-practice",impact:2},{checkpoint:"en301549-9-4.1.2.a",standards:["EN-301-549"],type:"best-practice",impact:2}]},{id:"button-missing-role",descriptions:{en:{shortText:"Button: Button does not have a role",description:"The button does not have a role."}},checkpoints:[{checkpoint:"4.1.2.a",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-4.1.2.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-7.1.1",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"button-name-inaccessible",descriptions:{en:{shortText:"Button: Button does not have a name",description:"The button is missing an accessible name/label. As a result its functionality or purpose is not conveyed to screen reader users."}},checkpoints:[{checkpoint:"4.1.2.a",standards:["wcag2a"],type:"issue",impact:4},{checkpoint:"en301549-9-4.1.2.a",standards:["EN-301-549"],type:"issue",impact:4},{checkpoint:"rgaa-1.1.3",standards:["RGAAv4"],type:"issue",impact:4}]},{id:"button-role-name-missing",descriptions:{en:{shortText:"Button: Button is missing both a role and a name",description:"The button is missing both a role and an accessible name/label."}},checkpoints:[{checkpoint:"4.1.2.a",standards:["wcag2a"],type:"issue",impact:4},{checkpoint:"en301549-9-4.1.2.a",standards:["EN-301-549"],type:"issue",impact:4},{checkpoint:"rgaa-7.1.1",standards:["RGAAv4"],type:"issue",impact:4}]},{id:"button-state-disabled",descriptions:{en:{shortText:"State: The disabled state of an element is not conveyed",description:"The disabled state of an element is not conveyed to screen reader users."}},checkpoints:[{checkpoint:"4.1.2.a",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-4.1.2.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-7.1.1",standards:["RGAAv4"],type:"issue",impact:3},{checkpoint:"rgaa-7.1.2",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"button-state-pressed",descriptions:{en:{shortText:"Button: Button pressed state is not conveyed",description:"The pressed state of a button is not conveyed to screen reader users."}},checkpoints:[{checkpoint:"4.1.2.a",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-4.1.2.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-7.1.1",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"button-value-text-mismatch",descriptions:{en:{shortText:"Button's programmatic name and visible text label not identical",description:"The button has a very minor mismatch between its programmatic name and the visual text label. While not identical, the programmatic name does convey the purpose of the button."}},checkpoints:[{checkpoint:"2.4.6.b",standards:["wcag2a"],type:"best-practice",impact:1},{checkpoint:"en301549-9-2.4.6.b",standards:["EN-301-549"],type:"best-practice",impact:1},{checkpoint:"rgaa-11.2.5",standards:["RGAAv4"],type:"best-practice",impact:1}]},{id:"buttons-confusing",descriptions:{en:{shortText:"Controls have same name but different actions",description:"Multiple controls have the same labels/names but perform different actions. This is not conveyed via text associated with individual controls."}},checkpoints:[{checkpoint:"2.4.6.b",standards:["wcag2aa"],type:"issue",impact:3},{checkpoint:"en301549-9-2.4.6.b",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-11.2.6",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"captcha-requires-vision",descriptions:{en:{shortText:"CAPTCHA task has only one option",description:"There is only one option for the CAPTCHA task and it requires vision to complete it successfully."}},checkpoints:[{checkpoint:"1.1.1.g",standards:["wcag2a"],type:"issue",impact:4},{checkpoint:"en301549-9-1.1.1.g",standards:["EN-301-549"],type:"issue",impact:4},{checkpoint:"rgaa-1.5.1",standards:["RGAAv4"],type:"issue",impact:4},{checkpoint:"rgaa-1.5.2",standards:["RGAAv4"],type:"issue",impact:4}]},{id:"captions-inadequate",descriptions:{en:{shortText:"Captions for recorded media are incorrect or inadequate",description:"Captions are provided for recorded media, but they are incorrect or inadequate."}},checkpoints:[{checkpoint:"1.2.2.a",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-1.2.2.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-4.4.1",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"captions-inadequate-live",descriptions:{en:{shortText:"Captions for live media are incorrect or inadequate",description:"Captions are provided for live media, but they are incorrect or inadequate."}},checkpoints:[{checkpoint:"1.2.4.a",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-1.2.4.a",standards:["EN-301-549"],type:"issue",impact:3}]},{id:"captions-incomplete",descriptions:{en:{shortText:"Captions for recorded media do not contain all dialogue",description:"Captions are provided for recorded media, but some of the dialogue is missing."}},checkpoints:[{checkpoint:"1.2.2.a",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-1.2.2.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-4.4.1",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"captions-incomplete-live",descriptions:{en:{shortText:"Captions for live media do not contain all dialogue",description:"Captions are provided for live media, but some of the dialogue is missing."}},checkpoints:[{checkpoint:"1.2.4.a",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-1.2.4.a",standards:["EN-301-549"],type:"issue",impact:3}]},{id:"captions-missing",descriptions:{en:{shortText:"Captions are not available for recorded multimedia",description:"Captions are not provided for the recorded multimedia content."}},checkpoints:[{checkpoint:"1.2.2.a",standards:["wcag2a"],type:"issue",impact:4},{checkpoint:"en301549-9-1.2.2.a",standards:["EN-301-549"],type:"issue",impact:4},{checkpoint:"rgaa-4.3.1",standards:["RGAAv4"],type:"issue",impact:4}]},{id:"captions-missing-live",descriptions:{en:{shortText:"Captions are not available for live multimedia",description:"Captions are not provided for the live multimedia content."}},checkpoints:[{checkpoint:"1.2.4.a",standards:["wcag2a"],type:"issue",impact:4},{checkpoint:"en301549-9-1.2.4.a",standards:["EN-301-549"],type:"issue",impact:4}]},{id:"captions-not-clearly-visible",descriptions:{en:{shortText:"Caption text for recorded multimedia has inadequate contrast",description:"Captions are provided for recorded multimedia, but they are difficult to read due to poor contrast between the captions and their background."}},checkpoints:[{checkpoint:"1.2.2.a",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-1.2.2.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-4.4.1",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"captions-not-clearly-visible-live",descriptions:{en:{shortText:"Caption text for live multimedia has inadequate contrast",description:"Captions are provided for live multimedia, but they are difficult to read due to poor contrast between the captions and their background."}},checkpoints:[{checkpoint:"1.2.4.a",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-1.2.4.a",standards:["EN-301-549"],type:"issue",impact:3}]},{id:"captions-not-synchronized",descriptions:{en:{shortText:"Captions for recorded multimedia are not synchronized",description:"Captions are provided for recorded multimedia, but they are not synchronized with the multimedia."}},checkpoints:[{checkpoint:"1.2.2.a",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-1.2.2.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-4.4.1",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"captions-not-synchronized-live",descriptions:{en:{shortText:"Captions for live multimedia are not synchronized",description:"Captions are provided for live multimedia, but they are not synchronized with the multimedia."}},checkpoints:[{checkpoint:"1.2.4.a",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-1.2.4.a",standards:["EN-301-549"],type:"issue",impact:3}]},{id:"captions-undescribed-effects",descriptions:{en:{shortText:"Captions for recorded multimedia do not describe important sounds",description:"Captions are provided for recorded multimedia, but they do not describe all important sound effects."}},checkpoints:[{checkpoint:"1.2.2.a",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-1.2.2.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-4.4.1",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"captions-undescribed-effects-live",descriptions:{en:{shortText:"Captions for live multimedia do not describe important sounds",description:"Captions are provided for live multimedia, but they do not describe all important sound effects."}},checkpoints:[{checkpoint:"1.2.4.a",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-1.2.4.a",standards:["EN-301-549"],type:"issue",impact:3}]},{id:"captions-unidentified-speakers",descriptions:{en:{shortText:"Captions for recorded multimedia do not identify all speakers",description:"Captions are provided for recorded multimedia, but they do not identify all the speakers."}},checkpoints:[{checkpoint:"1.2.2.a",standards:["wcag2a"],type:"issue",impact:2},{checkpoint:"en301549-9-1.2.2.a",standards:["EN-301-549"],type:"issue",impact:2},{checkpoint:"rgaa-4.4.1",standards:["RGAAv4"],type:"issue",impact:2}]},{id:"captions-unidentified-speakers-live",descriptions:{en:{shortText:"Captions for live multimedia do not identify all speakers",description:"Captions are provided for live multimedia, but they do not identify all the speakers."}},checkpoints:[{checkpoint:"1.2.4.a",standards:["wcag2a"],type:"issue",impact:2},{checkpoint:"en301549-9-1.2.4.a",standards:["EN-301-549"],type:"issue",impact:2}]},{id:"change-of-context-not-requested",descriptions:{en:{shortText:"A change of context not requested",description:"A change of context occurs without the user initiating it."}},checkpoints:[{checkpoint:"3.2.5.a",standards:["wcag2aaa","aenb-77"],type:"issue",impact:2},{checkpoint:"en301549-9-3.2.5.a",standards:["EN-301-549"],type:"issue",impact:2},{checkpoint:"rgaa-4.7.1",standards:["RGAAv4"],type:"issue",impact:2},{checkpoint:"rgaa-13.2.1",standards:["RGAAv4"],type:"issue",impact:2}]},{id:"checkbox-missing-role-state",descriptions:{en:{shortText:"Checkbox: Custom checkbox does not have a role and/or state",description:"The custom checkbox element is missing a role and/or checked state."}},checkpoints:[{checkpoint:"4.1.2.a",standards:["wcag2a"],type:"issue",impact:4},{checkpoint:"en301549-9-4.1.2.a",standards:["EN-301-549"],type:"issue",impact:4},{checkpoint:"rgaa-11.1.1",standards:["RGAAv4"],type:"issue",impact:4}]},{id:"content-auto-play",descriptions:{en:{shortText:"Auto-playing media or animation has no mechanism to pause, stop, or hide",description:"Auto-playing media or animation has no mechanism to pause, stop, or hide the content."}},checkpoints:[{checkpoint:"2.2.2.a",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-2.2.2.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-13.8.1",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"content-blink",descriptions:{en:{shortText:"Blinking content is present",description:"The element uses a BLINK element or text-decoration: blink."}},checkpoints:[{checkpoint:"2.2.2.a",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-2.2.2.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-13.8.2",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"content-carousel-unstoppable",descriptions:{en:{shortText:"Carousel has no stop/pause mechanism",description:"The carousel does not have a mechanism to pause, stop, or control the changing content."}},checkpoints:[{checkpoint:"2.2.2.b",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-2.2.2.b",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-13.8.1",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"content-disappears",descriptions:{en:{shortText:"Content visually appears and disappears with no ability to adjust timing",description:"Content visually appears for a short time and then disappears. The user has no way to adjust when the content visually appears or disappears. Examples of content include error messages, success messages, and updating headlines."}},checkpoints:[{checkpoint:"2.2.1.a",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-2.2.1.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-13.1.4",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"content-does-not-remain-visible",descriptions:{en:{shortText:"Content does not remain visible",description:"Additional content does not remain visible until dismissed or invalid."}},checkpoints:[{checkpoint:"1.4.13.a",standards:["wcag21aa"],type:"issue",impact:3},{checkpoint:"en301549-9-1.4.13.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-10.13.3",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"content-flashing",descriptions:{en:{shortText:"Flashing content is present",description:"The element flashes more than 3 times per second, but is small enough or dim enough that it probably will not cause seizures."}},checkpoints:[{checkpoint:"2.3.1.a",standards:["wcag2a"],type:"best-practice",impact:3},{checkpoint:"en301549-9-2.3.1.a",standards:["EN-301-549"],type:"best-practice",impact:3},{checkpoint:"rgaa-13.7.1",standards:["RGAAv4"],type:"best-practice",impact:3}]},{id:"content-flashing-big",descriptions:{en:{shortText:"Large flashing content is present",description:"Content flashes more than 3 times per second and exceeds 25% of 10 degrees of visual field in area."}},checkpoints:[{checkpoint:"2.3.1.a",standards:["wcag2a"],type:"issue",impact:5},{checkpoint:"en301549-9-2.3.1.a",standards:["EN-301-549"],type:"issue",impact:5},{checkpoint:"rgaa-13.7.1",standards:["RGAAv4"],type:"issue",impact:5},{checkpoint:"rgaa-13.7.2",standards:["RGAAv4"],type:"issue",impact:5},{checkpoint:"rgaa-13.7.3",standards:["RGAAv4"],type:"issue",impact:5}]},{id:"content-flashing-no-exception",descriptions:{en:{shortText:"Content flashes more than 3 times per second below threshold",description:"Content flashes more than 3 times per second but is below threshold."}},checkpoints:[{checkpoint:"2.3.2.a",standards:["wcag2aaa","aenb-77"],type:"issue",impact:2},{checkpoint:"en301549-9-2.3.2.a",standards:["EN-301-549"],type:"issue",impact:2},{checkpoint:"rgaa-13.7.1",standards:["RGAAv4"],type:"issue",impact:2},{checkpoint:"rgaa-13.7.2",standards:["RGAAv4"],type:"issue",impact:2},{checkpoint:"rgaa-13.7.3",standards:["RGAAv4"],type:"issue",impact:2}]},{id:"content-horizontal-scroll",descriptions:{en:{shortText:"Content does not reflow to fit 320px width equivalent",description:"Content does not reflow to fit horizontally within the viewport when the page is adjusted to an equivalent width of 320px."}},checkpoints:[{checkpoint:"1.4.10.a",standards:["wcag21aa"],type:"issue",impact:3},{checkpoint:"en301549-9-1.4.10.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-10.11.1",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"content-hover-disappears",descriptions:{en:{shortText:"Hover content disappearing",description:"Additional content that becomes available on hover does not allow the user to move the pointer over that same additional content without the additional content disappearing."}},checkpoints:[{checkpoint:"1.4.13.a",standards:["wcag21aa"],type:"issue",impact:3},{checkpoint:"en301549-9-1.4.13.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-10.13.2",standards:["RGAAv4"],type:"issue",impact:2}]},{id:"content-marquee",descriptions:{en:{shortText:"Marquee element is present",description:"A MARQUEE element is present."}},checkpoints:[{checkpoint:"2.2.2.a",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-2.2.2.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-13.8.1",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"content-motion-uninterruptible",descriptions:{en:{shortText:"Moving/blinking content has no pause/stop mechanism",description:"Moving or blinking content that lasts more than 5 seconds does not have a mechanism to pause, stop or hide it."}},checkpoints:[{checkpoint:"2.2.2.a",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-2.2.2.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-13.12.3",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"content-not-dismissible",descriptions:{en:{shortText:"Additional content not dismissible",description:"Failure to make additional content dismissible without moving pointer hover or keyboard focus."}},checkpoints:[{checkpoint:"1.4.13.a",standards:["wcag21aa"],type:"issue",impact:3},{checkpoint:"en301549-9-1.4.13.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-10.13.1",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"content-reflow-content-lost",descriptions:{en:{shortText:"Info or functionality is lost due to overlapping content at 320px equivalent",description:"Information or functionality is lost due to overlapping content when the page is adjusted to an equivalent width of 320px."}},checkpoints:[{checkpoint:"1.4.10.a",standards:["wcag21aa"],type:"issue",impact:3},{checkpoint:"en301549-9-1.4.10.a",standards:["EN-301-549"],type:"issue",impact:3}]},{id:"content-reflow-content-missing",descriptions:{en:{shortText:"Info or functionality is unavailable at 320px width equivalent",description:"Information or functionality is unavailable when the page is adjusted to an equivalent width of 320px."}},checkpoints:[{checkpoint:"1.4.10.a",standards:["wcag21aa"],type:"issue",impact:3},{checkpoint:"en301549-9-1.4.10.a",standards:["EN-301-549"],type:"issue",impact:3}]},{id:"content-restricts-input-mechanisms",descriptions:{en:{shortText:"Content restricts input modalities.",description:"Content restricts input modalities."}},checkpoints:[{checkpoint:"2.5.6.a",standards:["wcag21aaa","aenb-77"],type:"issue",impact:2},{checkpoint:"en301549-9-2.5.6.a",standards:["EN-301-549"],type:"issue",impact:2}]},{id:"content-too-wide",descriptions:{en:{shortText:"Content requires excessive horizontal scrolling when enlarged",description:"Viewing all the content requires horizontal scrolling when the page content is resized to 200%."}},checkpoints:[{checkpoint:"1.4.4.a",standards:["wcag2aa"],type:"best-practice",impact:2},{checkpoint:"en301549-9-1.4.4.a",standards:["EN-301-549"],type:"best-practice",impact:2}]},{id:"content-updates-uninterruptible",descriptions:{en:{shortText:"No control mechanism provided for automatically updating content",description:"Automatically updating content does not have a mechanism to pause, stop, hide, or control the timing of the updates."}},checkpoints:[{checkpoint:"2.2.2.b",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-2.2.2.b",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-13.1.1",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"contextual-help-not-present",descriptions:{en:{shortText:"Input is missing context-sensitive help",description:"Input is missing context-sensitive help."}},checkpoints:[{checkpoint:"3.3.5.a",standards:["wcag2aaa","aenb-77"],type:"issue",impact:2},{checkpoint:"en301549-9-3.3.5.a",standards:["EN-301-549"],type:"issue",impact:2}]},{id:"contrast-focus-3-1",descriptions:{en:{shortText:"Visual focus lacks 3 to 1 contrast ratio",description:"The visual focus indicator does not have a color contrast ratio of at least 3 to 1."}},checkpoints:[{checkpoint:"1.4.3.b",standards:["wcag2aa"],type:"best-practice",impact:2},{checkpoint:"2.4.7.a",standards:["wcag2aa"],type:"best-practice",impact:2},{checkpoint:"en301549-9-2.4.7.a",standards:["EN-301-549"],type:"best-practice",impact:2},{checkpoint:"en301549-9-1.4.3.b",standards:["EN-301-549"],type:"best-practice",impact:2},{checkpoint:"rgaa-3.3.1",standards:["RGAAv4"],type:"best-practice",impact:2}]},{id:"contrast-focus-4.5-1",descriptions:{en:{shortText:"Visual focus lacks 4.5 to 1 contrast ratio",description:"The visual focus indicator does not have a color contrast ratio of at least 4.5 to 1."}},checkpoints:[{checkpoint:"1.4.3.a",standards:["wcag2aa"],type:"best-practice",impact:2},{checkpoint:"2.4.7.a",standards:["wcag2aa"],type:"best-practice",impact:2},{checkpoint:"1.4.11.b",standards:["wcag2aa"],type:"best-practice",impact:2},{checkpoint:"en301549-9-1.4.11.b",standards:["EN-301-549"],type:"best-practice",impact:2},{checkpoint:"en301549-9-2.4.7.a",standards:["EN-301-549"],type:"best-practice",impact:2},{checkpoint:"en301549-9-1.4.3.a",standards:["EN-301-549"],type:"best-practice",impact:2},{checkpoint:"rgaa-3.3.1",standards:["RGAAv4"],type:"best-practice",impact:2}]},{id:"contrast-focus-indicator",descriptions:{en:{shortText:"Focus indicator lacks 3 to 1 contrast ratio",description:"Focus indicator lacks 3 to 1 contrast ratio."}},checkpoints:[{checkpoint:"1.4.11.b",standards:["wcag21aa"],type:"issue",impact:3},{checkpoint:"en301549-9-1.4.11.b",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-3.3.1",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"contrast-graphical-objects-3-1",descriptions:{en:{shortText:"Graphical object lacks 3 to 1 contrast ratio",description:"Parts of graphics (required to understand the content) do not have a contrast ratio of 3 to 1 against adjacent color(s)."}},checkpoints:[{checkpoint:"1.4.11.c",standards:["wcag21aa"],type:"issue",impact:3},{checkpoint:"en301549-9-1.4.11.c",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-3.3.2",standards:["RGAAv4"],type:"issue",impact:3},{checkpoint:"rgaa-3.3.3",standards:["RGAAv4"],type:"issue",impact:3},{checkpoint:"rgaa-3.3.4",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"contrast-graphical-objects-3-1-plus-text",descriptions:{en:{shortText:"Graphical object with text lacks 3 to 1 contrast ratio",description:"A graphical object has visible text that conveys the same information as the graphical object. The graphical object (non-text) does not have at least a 3 to 1 color contrast ratio."}},checkpoints:[{checkpoint:"1.4.11.c",standards:["wcag21aa"],type:"best-practice",impact:2},{checkpoint:"en301549-9-1.4.11.c",standards:["EN-301-549"],type:"best-practice",impact:2},{checkpoint:"rgaa-3.3.2",standards:["RGAAv4"],type:"best-practice",impact:2}]},{id:"contrast-graphical-objects-anti-aliasing",descriptions:{en:{shortText:"Graphical object contrast anti-aliasing",description:"A graphical object does not have a 3 to 1 luminosity contrast ratio with an adjacent background color due to browser rendering, smoothing or anti-aliasing."}},checkpoints:[{checkpoint:"1.4.11.c",standards:["wcag21aa"],type:"best-practice",impact:1},{checkpoint:"en301549-9-1.4.11.c",standards:["EN-301-549"],type:"best-practice",impact:1},{checkpoint:"rgaa-3.3.2",standards:["RGAAv4"],type:"best-practice",impact:1}]},{id:"contrast-graphical-objects-both-3-1",descriptions:{en:{shortText:"Graphical object lacks 3 to 1 contrast with both",description:"A graphical object does not have at least a 3 to 1 luminosity contrast ratio with both the inner and outer adjacent background colors."}},checkpoints:[{checkpoint:"1.4.11.c",standards:["wcag21aa"],type:"best-practice",impact:2},{checkpoint:"en301549-9-1.4.11.c",standards:["EN-301-549"],type:"best-practice",impact:2},{checkpoint:"rgaa-3.3.2",standards:["RGAAv4"],type:"best-practice",impact:2}]},{id:"contrast-graphical-objects-flag",descriptions:{en:{shortText:"Flag graphical object lacks 3 to 1 contrast",description:"A flag (like for state, country, or organization) that is part of a graphical object does not have a 3 to 1 luminosity contrast ratio."}},checkpoints:[{checkpoint:"1.4.11.c",standards:["wcag21aa"],type:"best-practice",impact:1},{checkpoint:"en301549-9-1.4.11.c",standards:["EN-301-549"],type:"best-practice",impact:1},{checkpoint:"rgaa-3.3.2",standards:["RGAAv4"],type:"best-practice",impact:1}]},{id:"contrast-graphical-objects-icon-3-1",descriptions:{en:{shortText:"An icon lacks 3 to 1 contrast ratio",description:"Parts of an icon (with no text) do not have a contrast ratio of 3 to 1 against adjacent color(s). These icon parts are required for understanding."}},checkpoints:[{checkpoint:"1.4.11.c",standards:["wcag21aa"],type:"issue",impact:3},{checkpoint:"en301549-9-1.4.11.c",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-3.3.2",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"contrast-graphical-objects-line-cross",descriptions:{en:{shortText:"Crossing data lines lack 3 to 1 contrast",description:"A line chart has different color data lines. Each data line has a symbol at each data point so it does not rely on color alone. When two of the data lines cross, that intersection does not have a 3 to 1 luminosity contrast ratio."}},checkpoints:[{checkpoint:"1.4.11.c",standards:["wcag21aa"],type:"best-practice",impact:2},{checkpoint:"en301549-9-1.4.11.c",standards:["EN-301-549"],type:"best-practice",impact:2},{checkpoint:"rgaa-3.3.2",standards:["RGAAv4"],type:"best-practice",impact:2}]},{id:"contrast-graphical-objects-logo",descriptions:{en:{shortText:"Logo graphical object lacks 3 to 1 contrast",description:"A graphical object that is part of a logo does not have a 3 to 1 luminosity contrast ratio."}},checkpoints:[{checkpoint:"1.4.11.c",standards:["wcag21aa"],type:"best-practice",impact:2},{checkpoint:"en301549-9-1.4.11.c",standards:["EN-301-549"],type:"best-practice",impact:2},{checkpoint:"rgaa-3.3.2",standards:["RGAAv4"],type:"best-practice",impact:2}]},{id:"contrast-icon-3-1",descriptions:{en:{shortText:"Active icon lacks 3 to 1 contrast ratio",description:"The non-text visual information in the meaningful or active icon does not have a color contrast ratio of at least 3 to 1."}},checkpoints:[{checkpoint:"1.4.3.b",standards:["wcag2aa"],type:"best-practice",impact:2},{checkpoint:"1.4.3.a",standards:["wcag2aa"],type:"best-practice",impact:2},{checkpoint:"en301549-9-1.4.3.a",standards:["EN-301-549"],type:"best-practice",impact:2},{checkpoint:"en301549-9-1.4.3.b",standards:["EN-301-549"],type:"best-practice",impact:2},{checkpoint:"rgaa-3.3.2",standards:["RGAAv4"],type:"best-practice",impact:2}]},{id:"contrast-icon-4.5-1",descriptions:{en:{shortText:"Active icon lacks 4.5 to 1 contrast ratio",description:"The non-text visual information in the meaningful or active icon does not have a color contrast ratio of at least 4.5 to 1."}},checkpoints:[{checkpoint:"1.4.3.a",standards:["wcag2aa"],type:"best-practice",impact:2},{checkpoint:"1.4.11.a",standards:["wcag2aa"],type:"best-practice",impact:2},{checkpoint:"1.4.11.c",standards:["wcag2aa"],type:"best-practice",impact:2},{checkpoint:"en301549-9-1.4.11.c",standards:["EN-301-549"],type:"best-practice",impact:2},{checkpoint:"en301549-9-1.4.11.a",standards:["EN-301-549"],type:"best-practice",impact:2},{checkpoint:"en301549-9-1.4.3.a",standards:["EN-301-549"],type:"best-practice",impact:2},{checkpoint:"rgaa-3.3.2",standards:["RGAAv4"],type:"best-practice",impact:2}]},{id:"contrast-link-infocus-3-1",descriptions:{en:{shortText:"Large control text lacks 3:1 contrast ratio on hover or focus",description:"The contrast ratio between a control's large text and its background is not at least 3:1 on hover and/or on focus."}},checkpoints:[{checkpoint:"1.4.3.b",standards:["wcag2aa"],type:"issue",impact:3},{checkpoint:"en301549-9-1.4.3.b",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-3.2.3",standards:["RGAAv4"],type:"issue",impact:3},{checkpoint:"rgaa-3.2.4",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"contrast-link-infocus-4.5-1",descriptions:{en:{shortText:"Control text lacks 4.5:1 contrast ratio on hover or focus",description:"The contrast ratio between a control's text and its background is not at least 4.5:1 on hover and/or on focus"}},checkpoints:[{checkpoint:"1.4.3.a",standards:["wcag2aa"],type:"issue",impact:3},{checkpoint:"en301549-9-1.4.3.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-3.2.1",standards:["RGAAv4"],type:"issue",impact:3},{checkpoint:"rgaa-3.2.2",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"contrast-optional-disabled-controls",descriptions:{en:{shortText:"Not an issue: Disabled/Inactive contrast",description:"Text or images of text that are part of an inactive user interface component have no contrast requirement."}},checkpoints:[{checkpoint:"1.4.3.a",standards:["wcag2aa"],type:"issue",impact:0},{checkpoint:"1.4.3.b",standards:["wcag2aa"],type:"issue",impact:0},{checkpoint:"en301549-9-1.4.3.b",standards:["EN-301-549"],type:"issue",impact:0},{checkpoint:"en301549-9-1.4.3.a",standards:["EN-301-549"],type:"issue",impact:0}]},{id:"contrast-optional-logotype",descriptions:{en:{shortText:"Not an issue: Logotype contrast",description:"Text that is part of a logo or brand name has no minimum contrast requirement."}},checkpoints:[{checkpoint:"1.4.3.a",standards:["wcag2aa"],type:"issue",impact:0},{checkpoint:"1.4.3.b",standards:["wcag2aa"],type:"issue",impact:0},{checkpoint:"en301549-9-1.4.3.b",standards:["EN-301-549"],type:"issue",impact:0},{checkpoint:"en301549-9-1.4.3.a",standards:["EN-301-549"],type:"issue",impact:0}]},{id:"contrast-text-3-1",descriptions:{en:{shortText:"Large text content lacks 3:1 contrast ratio",description:"The contrast ratio between large text and its background is not at least 3:1."}},checkpoints:[{checkpoint:"1.4.3.b",standards:["wcag2aa"],type:"issue",impact:3},{checkpoint:"en301549-9-1.4.3.b",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-3.2.3",standards:["RGAAv4"],type:"issue",impact:3},{checkpoint:"rgaa-3.2.4",standards:["RGAAv4"],type:"issue",impact:3},{checkpoint:"rgaa-3.2.5",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"contrast-text-3-1-over-image",descriptions:{en:{shortText:"Large text over an image lacks 3:1 contrast ratio",description:"All or portions of large text over an image do not meet the minimum 3:1 contrast requirement."}},checkpoints:[{checkpoint:"1.4.3.b",standards:["wcag2aa"],type:"issue",impact:3},{checkpoint:"en301549-9-1.4.3.b",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-3.2.3",standards:["RGAAv4"],type:"issue",impact:3},{checkpoint:"rgaa-3.2.4",standards:["RGAAv4"],type:"issue",impact:3},{checkpoint:"rgaa-3.2.5",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"contrast-text-4.5-1",descriptions:{en:{shortText:"Text content lacks 4.5:1 contrast ratio",description:"The contrast ratio between text and its background is not at least 4.5:1."}},checkpoints:[{checkpoint:"1.4.3.a",standards:["wcag2aa"],type:"issue",impact:3},{checkpoint:"en301549-9-1.4.3.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-3.2.1",standards:["RGAAv4"],type:"issue",impact:3},{checkpoint:"rgaa-3.2.2",standards:["RGAAv4"],type:"issue",impact:3},{checkpoint:"rgaa-3.2.5",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"contrast-text-4.5-1-over-image",descriptions:{en:{shortText:"Text over an image lacks 4.5:1 contrast ratio",description:"All or portions of text over an image do not meet the minimum 4.5:1 contrast requirement."}},checkpoints:[{checkpoint:"1.4.3.a",standards:["wcag2aa"],type:"issue",impact:3},{checkpoint:"en301549-9-1.4.3.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-3.2.1",standards:["RGAAv4"],type:"issue",impact:3},{checkpoint:"rgaa-3.2.2",standards:["RGAAv4"],type:"issue",impact:3},{checkpoint:"rgaa-3.2.5",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"contrast-text-4.5-1-placeholder",descriptions:{en:{shortText:"Placeholder text lacks 4.5:1 contrast ratio",description:"The contrast ratio between placeholder text and its background is not at least 4.5:1."}},checkpoints:[{checkpoint:"1.4.3.a",standards:["wcag2aa"],type:"issue",impact:3},{checkpoint:"en301549-9-1.4.3.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-3.2.1",standards:["RGAAv4"],type:"issue",impact:3},{checkpoint:"rgaa-3.2.2",standards:["RGAAv4"],type:"issue",impact:3},{checkpoint:"rgaa-3.2.5",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"contrast-uic-active-3-1",descriptions:{en:{shortText:"Active user interface component lacks 3 to 1 contrast ratio",description:"The visual boundary of an active user interface component lacks 3 to 1 contrast ratio."}},checkpoints:[{checkpoint:"1.4.11.a",standards:["wcag21aa"],type:"issue",impact:3},{checkpoint:"en301549-9-1.4.11.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-3.3.1",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"contrast-uic-active-3-1-state",descriptions:{en:{shortText:"State of active component lacks 3 to 1 contrast ratio",description:"The state of an active component lacks 3 to 1 contrast ratio."}},checkpoints:[{checkpoint:"1.4.11.b",standards:["wcag21aa"],type:"issue",impact:3},{checkpoint:"en301549-9-1.4.11.b",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-3.3.1",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"contrast-uic-active-both-3-1",descriptions:{en:{shortText:"Active user interface component lacks 3 to 1 contrast with both",description:"The visual boundary of an active user interface component does not have at least a 3 to 1 luminosity contrast ratio with both the inner and outer adjacent background colors."}},checkpoints:[{checkpoint:"1.4.11.a",standards:["wcag21aa"],type:"best-practice",impact:1},{checkpoint:"en301549-9-1.4.11.a",standards:["EN-301-549"],type:"best-practice",impact:1},{checkpoint:"rgaa-3.3.1",standards:["RGAAv4"],type:"best-practice",impact:1}]},{id:"contrast-uic-active-both-3-1-state",descriptions:{en:{shortText:"State of active component lacks 3 to 1 contrast with both",description:"The visual state of an active user interface component does not have at least a 3 to 1 luminosity contrast ratio with both the inner and outer adjacent background colors."}},checkpoints:[{checkpoint:"1.4.11.b",standards:["wcag21aa"],type:"best-practice",impact:1},{checkpoint:"en301549-9-1.4.11.b",standards:["EN-301-549"],type:"best-practice",impact:1},{checkpoint:"rgaa-3.3.1",standards:["RGAAv4"],type:"best-practice",impact:1}]},{id:"contrast-uic-active-browser-default",descriptions:{en:{shortText:"Active user interface component contrast browser default",description:"An active user interface component is rendered using the browser default. The default browser rendering of this user interface component does not meet the 3 to 1 luminosity contrast ratio."}},checkpoints:[{checkpoint:"1.4.11.a",standards:["wcag21aa"],type:"best-practice",impact:2},{checkpoint:"en301549-9-1.4.11.a",standards:["EN-301-549"],type:"best-practice",impact:2},{checkpoint:"rgaa-3.3.1",standards:["RGAAv4"],type:"best-practice",impact:2}]},{id:"contrast-uic-active-browser-default-back",descriptions:{en:{shortText:"Default color of component and author background contrast",description:"An active user interface component is rendered using the browser default. The background color has been changed (is not the browser default). The color contrast between the default color of the user interface component and the author chosen background does not meet the 3 to 1 luminosity contrast ratio."}},checkpoints:[{checkpoint:"1.4.11.a",standards:["wcag21aa"],type:"best-practice",impact:2},{checkpoint:"en301549-9-1.4.11.a",standards:["EN-301-549"],type:"best-practice",impact:2},{checkpoint:"rgaa-3.3.1",standards:["RGAAv4"],type:"best-practice",impact:2}]},{id:"contrast-uic-active-browser-default-back-state",descriptions:{en:{shortText:"Default color of component state and author background contrast",description:"The visual state of an active user interface component is rendered using the browser default. The background color has been changed (is not the browser default). The color contrast between the default color of the visual state and the author chosen background does not meet the 3 to 1 luminosity contrast ratio."}},checkpoints:[{checkpoint:"1.4.11.b",standards:["wcag21aa"],type:"best-practice",impact:2},{checkpoint:"en301549-9-1.4.11.b",standards:["EN-301-549"],type:"best-practice",impact:2},{checkpoint:"rgaa-3.3.1",standards:["RGAAv4"],type:"best-practice",impact:2}]},{id:"contrast-uic-active-browser-default-state",descriptions:{en:{shortText:"State of active component contrast browser default",description:"The visual state of an active user interface component is rendered using the browser default. The default browser rendering of this visual state does not meet the 3 to 1 luminosity contrast ratio."}},checkpoints:[{checkpoint:"1.4.11.b",standards:["wcag21aa"],type:"best-practice",impact:2},{checkpoint:"en301549-9-1.4.11.b",standards:["EN-301-549"],type:"best-practice",impact:2},{checkpoint:"rgaa-3.3.1",standards:["RGAAv4"],type:"best-practice",impact:2}]},{id:"contrast-uic-active-inactive",descriptions:{en:{shortText:"Contrast between active and inactive components not 3 to 1",description:"The contrast between active components and inactive components is not at least 3 to 1."}},checkpoints:[{checkpoint:"1.4.11.a",standards:["wcag21aa"],type:"best-practice",impact:2},{checkpoint:"en301549-9-1.4.11.a",standards:["EN-301-549"],type:"best-practice",impact:2},{checkpoint:"rgaa-3.3.1",standards:["RGAAv4"],type:"best-practice",impact:2}]},{id:"contrast-uic-active-no-visual",descriptions:{en:{shortText:"Active user interface component no visual boundary",description:"An active user interface component does not have a visual boundary."}},checkpoints:[{checkpoint:"1.4.11.a",standards:["wcag21aa"],type:"best-practice",impact:1},{checkpoint:"en301549-9-1.4.11.a",standards:["EN-301-549"],type:"best-practice",impact:1},{checkpoint:"rgaa-3.3.1",standards:["RGAAv4"],type:"best-practice",impact:1}]},{id:"contrast-uic-inactive-3-1",descriptions:{en:{shortText:"Inactive user interface component lacks 3 to 1 contrast ratio",description:"The visual boundary of an INACTIVE user interface component does not have at least a 3 to 1 luminosity contrast ratio with an adjacent background."}},checkpoints:[{checkpoint:"1.4.11.a",standards:["wcag21aa"],type:"best-practice",impact:2},{checkpoint:"en301549-9-1.4.11.a",standards:["EN-301-549"],type:"best-practice",impact:2},{checkpoint:"rgaa-3.3.1",standards:["RGAAv4"],type:"best-practice",impact:2}]},{id:"contrast-uic-state-anti-aliasing",descriptions:{en:{shortText:"State of active component contrast anti-aliasing",description:"The visual state of an active user interface component does not have a 3 to 1 luminosity contrast ratio with an adjacent background color due to browser rendering, smoothing or anti-aliasing."}},checkpoints:[{checkpoint:"1.4.11.b",standards:["wcag21aa"],type:"best-practice",impact:1},{checkpoint:"en301549-9-1.4.11.b",standards:["EN-301-549"],type:"best-practice",impact:1},{checkpoint:"rgaa-3.3.1",standards:["RGAAv4"],type:"best-practice",impact:1}]},{id:"contrast-uic-states",descriptions:{en:{shortText:"Contrast between the states of a component is not 3 to 1",description:"The contrast between the visual states of the user interface component is not at least 3 to 1."}},checkpoints:[{checkpoint:"1.4.11.b",standards:["wcag21aa"],type:"best-practice",impact:2},{checkpoint:"en301549-9-1.4.11.b",standards:["EN-301-549"],type:"best-practice",impact:2},{checkpoint:"rgaa-3.3.1",standards:["RGAAv4"],type:"best-practice",impact:2}]},{id:"control-role-name-missing",descriptions:{en:{shortText:"The control is missing both a role and a name",description:"The control is missing both a role and an accessible name/label."}},checkpoints:[{checkpoint:"4.1.2.a",standards:["wcag2a"],type:"issue",impact:4},{checkpoint:"en301549-9-4.1.2.a",standards:["EN-301-549"],type:"issue",impact:4},{checkpoint:"rgaa-7.1.1",standards:["RGAAv4"],type:"issue",impact:4},{checkpoint:"rgaa-7.1.2",standards:["RGAAv4"],type:"issue",impact:4}]},{id:"custom-accordion",descriptions:{en:{shortText:"Accordion/Toggle: Accordion (toggle) is missing appropriate roles and/or attributes",description:"The element appears and functions like an accordion (show/hide toggles) but is missing required ARIA role(s) and/or attribute(s)."}},checkpoints:[{checkpoint:"4.1.2.b",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-4.1.2.b",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-7.1.2",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"custom-breadcrumb",descriptions:{en:{shortText:"Breadcrumb: Breadcrumb region is missing appropriate roles and/or attributes",description:"The breadcrumb region is missing required ARIA role(s) and/or attribute(s)."}},checkpoints:[{checkpoint:"4.1.2.b",standards:["wcag2a"],type:"issue",impact:2},{checkpoint:"en301549-9-4.1.2.b",standards:["EN-301-549"],type:"issue",impact:2},{checkpoint:"rgaa-7.1.2",standards:["RGAAv4"],type:"issue",impact:2}]},{id:"custom-carousel-current",descriptions:{en:{shortText:"Carousel: State of current carousel slide is not conveyed",description:"The state of the currently displayed carousel slide is indicated visually, but this is not conveyed to screen reader users."}},checkpoints:[{checkpoint:"4.1.2.b",standards:["wcag2a"],type:"issue",impact:2},{checkpoint:"en301549-9-4.1.2.b",standards:["EN-301-549"],type:"issue",impact:2},{checkpoint:"rgaa-7.1.2",standards:["RGAAv4"],type:"issue",impact:2}]},{id:"custom-carousel-number",descriptions:{en:{shortText:"Carousel: Number of carousel slides is apparent visually but not programmatically",description:"The total number of slides in the carousel is indicated visually, but this is not conveyed to screen readers users."}},checkpoints:[{checkpoint:"4.1.2.b",standards:["wcag2a"],type:"issue",impact:2},{checkpoint:"en301549-9-4.1.2.b",standards:["EN-301-549"],type:"issue",impact:2},{checkpoint:"rgaa-9.3.1",standards:["RGAAv4"],type:"issue",impact:2}]},{id:"custom-combobox",descriptions:{en:{shortText:"Combobox: Combobox is missing appropriate roles and/or attributes",description:"The element appears and functions like a combobox but is missing required ARIA role(s) and/or attribute(s)."}},checkpoints:[{checkpoint:"4.1.2.b",standards:["wcag2a"],type:"issue",impact:4},{checkpoint:"en301549-9-4.1.2.b",standards:["EN-301-549"],type:"issue",impact:4},{checkpoint:"rgaa-7.1.2",standards:["RGAAv4"],type:"issue",impact:4}]},{id:"custom-date-picker",descriptions:{en:{shortText:"Date Picker: Date picker is missing appropriate roles and/or attributes",description:"The element appears and functions like a date picker but is missing required ARIA role(s) and/or attribute(s)."}},checkpoints:[{checkpoint:"4.1.2.b",standards:["wcag2a"],type:"issue",impact:4},{checkpoint:"en301549-9-4.1.2.b",standards:["EN-301-549"],type:"issue",impact:4},{checkpoint:"rgaa-7.1.2",standards:["RGAAv4"],type:"issue",impact:4}]},{id:"custom-dialog",descriptions:{en:{shortText:"Dialog / Alert Dialog: Dialog is missing appropriate role and/or attributes",description:"The element appears and functions like a modal dialog but is missing required ARIA role(s) and/or attribute(s)."}},checkpoints:[{checkpoint:"4.1.2.b",standards:["wcag2a"],type:"issue",impact:2},{checkpoint:"en301549-9-4.1.2.b",standards:["EN-301-549"],type:"issue",impact:2},{checkpoint:"rgaa-7.1.2",standards:["RGAAv4"],type:"issue",impact:2}]},{id:"custom-grid",descriptions:{en:{shortText:"Grid: Grid is missing appropriate roles and/or attributes",description:"The element appears and functions like a grid widget but is missing required ARIA role(s) and/or attribute(s)."}},checkpoints:[{checkpoint:"4.1.2.b",standards:["wcag2a"],type:"issue",impact:4},{checkpoint:"en301549-9-4.1.2.b",standards:["EN-301-549"],type:"issue",impact:4},{checkpoint:"rgaa-7.1.2",standards:["RGAAv4"],type:"issue",impact:4}]},{id:"custom-listbox",descriptions:{en:{shortText:"Listbox: Listbox is missing appropriate roles and/or attributes - WARNING: VERY RARE",description:"The element appears and functions like a listbox but is missing required ARIA role(s) and/or attribute(s)."}},checkpoints:[{checkpoint:"4.1.2.b",standards:["wcag2a"],type:"issue",impact:4},{checkpoint:"en301549-9-4.1.2.b",standards:["EN-301-549"],type:"issue",impact:4},{checkpoint:"rgaa-7.1.2",standards:["RGAAv4"],type:"issue",impact:4}]},{id:"custom-navigation",descriptions:{en:{shortText:"Navigation / Menu: Site navigation or application-style menu is missing appropriate roles and/or attributes",description:"Site navigation or application-style menu is missing required roles and/or attributes."}},checkpoints:[{checkpoint:"4.1.2.b",standards:["wcag2a"],type:"issue",impact:4},{checkpoint:"en301549-9-4.1.2.b",standards:["EN-301-549"],type:"issue",impact:4},{checkpoint:"rgaa-7.1.2",standards:["RGAAv4"],type:"issue",impact:4}]},{id:"custom-not-compatible",descriptions:{en:{shortText:"Custom user interface component is not compatible with AT",description:"Custom user interface component is not compatible with AT (see issue Details for more info)."}},checkpoints:[{checkpoint:"4.1.2.c",standards:["wcag2a"],type:"issue",impact:4},{checkpoint:"en301549-9-4.1.2.c",standards:["EN-301-549"],type:"issue",impact:4}]},{id:"custom-progressbar",descriptions:{en:{shortText:"Progress bar: Progress bar is missing appropriate role and/or attributes",description:"The element appears and functions like a progressbar but is missing required ARIA role(s) and/or attribute(s)."}},checkpoints:[{checkpoint:"4.1.2.b",standards:["wcag2a"],type:"issue",impact:4},{checkpoint:"en301549-9-4.1.2.b",standards:["EN-301-549"],type:"issue",impact:4},{checkpoint:"rgaa-7.1.2",standards:["RGAAv4"],type:"issue",impact:4}]},{id:"custom-role-application",descriptions:{en:{shortText:'Application: role="application" is used inappropriately',description:'role="application" is used inappropriately.'}},checkpoints:[{checkpoint:"4.1.2.b",standards:["wcag2a"],type:"issue",impact:4},{checkpoint:"en301549-9-4.1.2.b",standards:["EN-301-549"],type:"issue",impact:4},{checkpoint:"rgaa-7.1.2",standards:["RGAAv4"],type:"issue",impact:4}]},{id:"custom-slider",descriptions:{en:{shortText:"Slider: Slider is missing appropriate role and/or attributes",description:"The element appears and functions like a slider but is missing required ARIA role(s) and/or attribute(s)."}},checkpoints:[{checkpoint:"4.1.2.b",standards:["wcag2a"],type:"issue",impact:4},{checkpoint:"en301549-9-4.1.2.b",standards:["EN-301-549"],type:"issue",impact:4},{checkpoint:"rgaa-7.1.2",standards:["RGAAv4"],type:"issue",impact:4}]},{id:"custom-switch",descriptions:{en:{shortText:"Switch: Switch is missing appropriate roles and/or attributes",description:"The element appears and functions like a switch but is missing required ARIA role(s) and/or attribute(s)."}},checkpoints:[{checkpoint:"4.1.2.b",standards:["wcag2a"],type:"issue",impact:4},{checkpoint:"en301549-9-4.1.2.b",standards:["EN-301-549"],type:"issue",impact:4},{checkpoint:"rgaa-7.1.2",standards:["RGAAv4"],type:"issue",impact:4}]},{id:"custom-tabs",descriptions:{en:{shortText:"Tabs: Tab widget is missing appropriate roles and/or attributes",description:"The element appears and functions like a tab/tabpanel interface but is missing required ARIA role(s) and/or attribute(s)."}},checkpoints:[{checkpoint:"4.1.2.b",standards:["wcag2a"],type:"issue",impact:2},{checkpoint:"en301549-9-4.1.2.b",standards:["EN-301-549"],type:"issue",impact:2},{checkpoint:"rgaa-7.1.2",standards:["RGAAv4"],type:"issue",impact:2}]},{id:"custom-toolbar",descriptions:{en:{shortText:"Toolbar: Toolbar is missing appropriate role and/or attributes",description:"The element appears and functions like a toolbar but is missing required ARIA role(s) and/or attribute(s)."}},checkpoints:[{checkpoint:"4.1.2.b",standards:["wcag2a"],type:"issue",impact:4},{checkpoint:"en301549-9-4.1.2.b",standards:["EN-301-549"],type:"issue",impact:4},{checkpoint:"rgaa-7.1.2",standards:["RGAAv4"],type:"issue",impact:4}]},{id:"custom-tooltip",descriptions:{en:{shortText:"Tooltip: Tooltip content is not accessible to screen readers",description:"Tooltip content is not accessible to screen readers."}},checkpoints:[{checkpoint:"4.1.2.b",standards:["wcag2a"],type:"issue",impact:4},{checkpoint:"en301549-9-4.1.2.b",standards:["EN-301-549"],type:"issue",impact:4},{checkpoint:"rgaa-7.1.2",standards:["RGAAv4"],type:"issue",impact:4}]},{id:"custom-treeview",descriptions:{en:{shortText:"Treeview: File system navigator missing appropriate roles and/or attributes - WARNING: VERY RARE",description:"The element appears and functions like a treeview but is missing required ARIA role(s) and/or attribute(s)."}},checkpoints:[{checkpoint:"4.1.2.b",standards:["wcag2a"],type:"issue",impact:4},{checkpoint:"en301549-9-4.1.2.b",standards:["EN-301-549"],type:"issue",impact:4},{checkpoint:"rgaa-7.1.2",standards:["RGAAv4"],type:"issue",impact:4}]},{id:"dragging-no-alternative",descriptions:{en:{shortText:"Functionality requires a dragging movement with no alternative",description:"Functionality requires a dragging movement and does not have a single-pointer, single-touch alternative."}},checkpoints:[{checkpoint:"2.5.7.a",standards:["wcag22aa"],type:"issue",impact:3},{checkpoint:"en301549-9-2.5.7.a",standards:["EN-301-549"],type:"issue",impact:3}]},{id:"dual-role",descriptions:{en:{shortText:"The element functions as if it has two roles.",description:"The element functions as if it has two roles. Elements are allowed to have only one functioning role."}},checkpoints:[{checkpoint:"4.1.2.b",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-4.1.2.b",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-7.1.1",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"focus-different-device",descriptions:{en:{shortText:"Hover indicator different than focus indicator",description:"The mouse hover indicator is different than the keyboard focus indicator."}},checkpoints:[{checkpoint:"2.4.7.a",standards:["wcag2aa"],type:"best-practice",impact:1},{checkpoint:"en301549-9-2.4.7.a",standards:["EN-301-549"],type:"best-practice",impact:1},{checkpoint:"rgaa-10.7.1",standards:["RGAAv4"],type:"best-practice",impact:1}]},{id:"focus-errors-elsewhere",descriptions:{en:{shortText:"Focus is not moved to error message or field",description:"When a form error message is returned, focus is moved somewhere other than the error message or the first field with an error."}},checkpoints:[{checkpoint:"2.4.3.a",standards:["wcag2a"],type:"best-practice",impact:3},{checkpoint:"en301549-9-2.4.3.a",standards:["EN-301-549"],type:"best-practice",impact:3},{checkpoint:"rgaa-12.8.2",standards:["RGAAv4"],type:"best-practice",impact:3}]},{id:"focus-errors-none",descriptions:{en:{shortText:"Focus does not move to error message",description:"When a form error message is returned, focus is not moved to the error message."}},checkpoints:[{checkpoint:"2.4.3.a",standards:["wcag2a"],type:"best-practice",impact:3},{checkpoint:"en301549-9-2.4.3.a",standards:["EN-301-549"],type:"best-practice",impact:3},{checkpoint:"rgaa-12.8.2",standards:["RGAAv4"],type:"best-practice",impact:3}]},{id:"focus-fully-obscured",descriptions:{en:{shortText:"Focused element is completely covered by other content",description:"The focused element is completely covered by other author-created content."}},checkpoints:[{checkpoint:"2.4.11.a",standards:["wcag22aa"],type:"issue",impact:2},{checkpoint:"en301549-9-2.4.11.a",standards:["EN-301-549"],type:"issue",impact:2}]},{id:"focus-fully-visible",descriptions:{en:{shortText:"Part of a focus indicator is hidden",description:"Part of an element's focus indicator is hidden by author-created content."}},checkpoints:[{checkpoint:"2.4.11.a",standards:["wcag22aa"],type:"best-practice",impact:1},{checkpoint:"en301549-9-2.4.11.a",standards:["EN-301-549"],type:"best-practice",impact:1}]},{id:"focus-indicator-missing",descriptions:{en:{shortText:"Focus indicator is missing",description:"The visual focus indicator is missing altogether."}},checkpoints:[{checkpoint:"2.4.7.a",standards:["wcag2aa"],type:"issue",impact:4},{checkpoint:"en301549-9-2.4.7.a",standards:["EN-301-549"],type:"issue",impact:4},{checkpoint:"rgaa-10.7.1",standards:["RGAAv4"],type:"issue",impact:4}]},{id:"focus-lost",descriptions:{en:{shortText:"Keyboard focus is lost or misplaced due to user interaction or content update",description:"Keyboard focus is lost or placed on the wrong element during user interaction, content refresh or update, or other reason."}},checkpoints:[{checkpoint:"2.4.3.a",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-2.4.3.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-12.8.2",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"focus-lost-screen-reader",descriptions:{en:{shortText:"Screen reader focus is lost or misplaced due to user interaction or content update",description:"Screen reader focus is lost or placed on the wrong element during user interaction, content refresh or update, or other reason."}},checkpoints:[{checkpoint:"1.3.2.a",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-1.3.2.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-12.8.2",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"focus-modal-moves-outside",descriptions:{en:{shortText:"Keyboard focus is not maintained in modal",description:"Keyboard focus is not maintained within the modal. It is possible to tab out of the modal."}},checkpoints:[{checkpoint:"2.4.3.a",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-2.4.3.a",standards:["EN-301-549"],type:"issue",impact:3}]},{id:"focus-modal-none",descriptions:{en:{shortText:"Keyboard focus is not placed on opened modal",description:"When the modal dialog is activated, keyboard focus is not placed on/in it."}},checkpoints:[{checkpoint:"2.4.3.a",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-2.4.3.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-12.8.2",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"focus-modal-none-screen-reader",descriptions:{en:{shortText:"Screen reader focus is not placed on opened modal",description:"When the modal dialog is activated, screen reader focus is not placed on/in it."}},checkpoints:[{checkpoint:"1.3.2.a",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-1.3.2.a",standards:["EN-301-549"],type:"issue",impact:3}]},{id:"focus-modal-not-returned",descriptions:{en:{shortText:"Modal is closed, focus is not returned to trigger",description:"When the modal dialog or similar element is closed, keyboard focus is not returned to the triggering element."}},checkpoints:[{checkpoint:"2.4.3.a",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-2.4.3.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-12.8.2",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"focus-modal-not-returned-screen-reader",descriptions:{en:{shortText:"Modal is closed, screen reader focus is not returned to trigger",description:"When the modal dialog or similar element is closed, screen reader focus is not returned to the triggering element."}},checkpoints:[{checkpoint:"1.3.2.a",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-1.3.2.a",standards:["EN-301-549"],type:"issue",impact:3}]},{id:"focus-moves-on-load",descriptions:{en:{shortText:"New window opens on page load",description:"Loading the page causes another window to open up unexpectedly and gain focus."}},checkpoints:[{checkpoint:"3.2.1.a",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-3.2.1.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-7.3.2",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"focus-not-clearly-visible",descriptions:{en:{shortText:"Focus indicator is not visible",description:"The focus indicator (e.g. border or dotted underline / background etc.) is not visible as one tabs through the page."}},checkpoints:[{checkpoint:"2.4.7.a",standards:["wcag2aa"],type:"issue",impact:3},{checkpoint:"en301549-9-2.4.7.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-10.7.1",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"focus-not-moved",descriptions:{en:{shortText:"Keyboard focus does not move to intended target",description:'Keyboard focus does not follow visual focus or move to the intended target, such as with a "return to top" link.'}},checkpoints:[{checkpoint:"2.4.3.a",standards:["wcag2a"],type:"issue",impact:2},{checkpoint:"en301549-9-2.4.3.a",standards:["EN-301-549"],type:"issue",impact:2},{checkpoint:"rgaa-12.8.2",standards:["RGAAv4"],type:"issue",impact:2}]},{id:"focus-not-moved-screen-reader",descriptions:{en:{shortText:"Screen reader focus does not move to intended target",description:'Screen reader focus does not follow visual focus or move to the intended target, such as with a "return to top" control.'}},checkpoints:[{checkpoint:"1.3.2.a",standards:["wcag2a"],type:"issue",impact:2},{checkpoint:"en301549-9-1.3.2.a",standards:["EN-301-549"],type:"issue",impact:2},{checkpoint:"rgaa-12.8.2",standards:["RGAAv4"],type:"issue",impact:2}]},{id:"focus-not-obscured-by-user",descriptions:{en:{shortText:"Focused element is covered by user-controlled content",description:"The focused element is covered by content the user has opened or expanded."}},checkpoints:[{checkpoint:"",standards:["wcag22aa"],type:"best-practice",impact:1}]},{id:"focus-not-strong",descriptions:{en:{shortText:"Focus indicator does not meet visual requirements",description:"Focus indicator does not meet minimum area, contrast, or thickness requirements."}},checkpoints:[{checkpoint:"2.4.13.a",standards:["wcag22aaa"],type:"issue",impact:2},{checkpoint:"en301549-9-2.4.13.a",standards:["EN-301-549"],type:"issue",impact:2},{checkpoint:"rgaa-10.7.1",standards:["RGAAv4"],type:"issue",impact:2}]},{id:"focus-obscured-by-cookie",descriptions:{en:{shortText:"Cookie Notice Blocking Content",description:"Cookie consent banner or notice obscures focused interactive elements on the page, preventing users from seeing the component that currently has keyboard focus."}},checkpoints:[{checkpoint:"2.4.11.a",standards:["wcag22aa"],type:"issue",impact:3}]},{id:"focus-on-hidden-item",descriptions:{en:{shortText:"Hidden or empty element receives focus",description:"Keyboard focus or touch screen swiping falls on an element that is hidden or empty."}},checkpoints:[{checkpoint:"2.4.3.a",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-2.4.3.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-10.8.1",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"focus-on-hidden-item-screen-reader",descriptions:{en:{shortText:"Hidden or empty interactive element receives screen reader focus",description:"Screen reader focus falls on an interactive element that is hidden or empty."}},checkpoints:[{checkpoint:"1.3.2.a",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-1.3.2.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-10.8.1",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"focus-order-first",descriptions:{en:{shortText:"Focus does not begin on the first element",description:"On load, programmatic focus is set to something other than the first interactive element."}},checkpoints:[{checkpoint:"2.4.3.a",standards:["wcag2a"],type:"best-practice",impact:2},{checkpoint:"en301549-9-2.4.3.a",standards:["EN-301-549"],type:"best-practice",impact:2},{checkpoint:"rgaa-10.8.1",standards:["RGAAv4"],type:"best-practice",impact:2}]},{id:"focus-submits-form",descriptions:{en:{shortText:"Form is automatically submitted when component receives focus",description:"Form is automatically submitted when a component receives focus."}},checkpoints:[{checkpoint:"3.2.1.a",standards:["wcag2a"],type:"issue",impact:4},{checkpoint:"en301549-9-3.2.1.a",standards:["EN-301-549"],type:"issue",impact:4},{checkpoint:"rgaa-7.3.2",standards:["RGAAv4"],type:"issue",impact:4}]},{id:"focus-visual-affects-keyboard",descriptions:{en:{shortText:"Keyboard focus is unexpectedly removed or redirected",description:"When a component receives keyboard focus, focus is automatically removed or redirected."}},checkpoints:[{checkpoint:"3.2.1.a",standards:["wcag2a"],type:"issue",impact:4},{checkpoint:"en301549-9-3.2.1.a",standards:["EN-301-549"],type:"issue",impact:4},{checkpoint:"rgaa-7.3.2",standards:["RGAAv4"],type:"issue",impact:4}]},{id:"focus-visual-affects-screen-reader",descriptions:{en:{shortText:"Screen reader focus is unexpectedly removed or redirected",description:"When screen reader focus falls on a component, focus is automatically removed or redirected."}},checkpoints:[{checkpoint:"3.2.1.a",standards:["wcag2a"],type:"issue",impact:4},{checkpoint:"en301549-9-3.2.1.a",standards:["EN-301-549"],type:"issue",impact:4}]},{id:"focus-window-launches",descriptions:{en:{shortText:"New window launched when component receives focus",description:"New window launched when a component receives focus."}},checkpoints:[{checkpoint:"3.2.1.a",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-3.2.1.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-7.3.2",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"form-accidental-submission-recovery",descriptions:{en:{shortText:"User cannot confirm or reverse a deletion",description:'The "Delete"/"Cancel" button immediately triggers the deletion of the legal, financial, or data transaction on the database. Users do not have the ability to recover from an accidental deletion.'}},checkpoints:[{checkpoint:"3.3.4.a",standards:["wcag2aa"],type:"issue",impact:3},{checkpoint:"en301549-9-3.3.4.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-11.12.1",standards:["RGAAv4"],type:"issue",impact:3},{checkpoint:"rgaa-11.12.2",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"form-error-field-not-identified",descriptions:{en:{shortText:"Form field with error not identified",description:"The form field with an error is not identified in text, or text alternative, or via programmatic association."}},checkpoints:[{checkpoint:"3.3.1.b",standards:["wcag2a"],type:"issue",impact:4},{checkpoint:"en301549-9-3.3.1.b",standards:["EN-301-549"],type:"issue",impact:4},{checkpoint:"rgaa-11.10.3",standards:["RGAAv4"],type:"issue",impact:4}]},{id:"form-error-format",descriptions:{en:{shortText:"Error message does not convey required format",description:"The error message does not indicate expected data format."}},checkpoints:[{checkpoint:"3.3.3.a",standards:["wcag2aa"],type:"issue",impact:3},{checkpoint:"en301549-9-3.3.3.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-11.10.5",standards:["RGAAv4"],type:"issue",impact:3},{checkpoint:"rgaa-11.10.6",standards:["RGAAv4"],type:"issue",impact:3},{checkpoint:"rgaa-11.10.7",standards:["RGAAv4"],type:"issue",impact:3},{checkpoint:"rgaa-11.11.1",standards:["RGAAv4"],type:"issue",impact:3},{checkpoint:"rgaa-11.11.2",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"form-error-not-associated",descriptions:{en:{shortText:"Error message not associated with form control",description:"Error messages are not programmatically associated with the corresponding form field."}},checkpoints:[{checkpoint:"1.3.1.a",standards:["wcag2a"],type:"best-practice",impact:3},{checkpoint:"3.3.1.b",standards:["wcag2a"],type:"best-practice",impact:3},{checkpoint:"en301549-9-3.3.1.b",standards:["EN-301-549"],type:"best-practice",impact:3},{checkpoint:"en301549-9-1.3.1.a",standards:["EN-301-549"],type:"best-practice",impact:3},{checkpoint:"rgaa-11.10.3",standards:["RGAAv4"],type:"best-practice",impact:3}]},{id:"form-error-not-auto-announced",descriptions:{en:{shortText:"Error message not automatically announced",description:"Error message is available in text but is not automatically announced by the screen reader."}},checkpoints:[{checkpoint:"3.3.1.b",standards:["wcag2a"],type:"best-practice",impact:3},{checkpoint:"en301549-9-3.3.1.b",standards:["EN-301-549"],type:"best-practice",impact:3}]},{id:"form-error-not-descriptive",descriptions:{en:{shortText:"Error message does not describe error",description:"The error message does not describe precisely what the error is or why the element failed validation."}},checkpoints:[{checkpoint:"3.3.1.b",standards:["wcag2a"],type:"best-practice",impact:3},{checkpoint:"en301549-9-3.3.1.b",standards:["EN-301-549"],type:"best-practice",impact:3},{checkpoint:"rgaa-11.11.1",standards:["RGAAv4"],type:"best-practice",impact:3}]},{id:"form-error-positioned-improperly",descriptions:{en:{shortText:"Error message not near corresponding field",description:"Error message not near the corresponding field. As a result, it is difficult to visually associate it with the field, especially if zooming or magnifying the screen."}},checkpoints:[{checkpoint:"3.3.1.b",standards:["wcag2a"],type:"best-practice",impact:3},{checkpoint:"en301549-9-3.3.1.b",standards:["EN-301-549"],type:"best-practice",impact:3}]},{id:"form-error-range",descriptions:{en:{shortText:"Error message does not convey required values",description:"The error message does not indicate expected range of data values."}},checkpoints:[{checkpoint:"3.3.3.a",standards:["wcag2aa"],type:"issue",impact:3},{checkpoint:"en301549-9-3.3.3.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-11.10.6",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"form-error-required-unclear",descriptions:{en:{shortText:"Required field not identified by label, instructions or error message",description:"The required field is not identified by any of the following means: its label or form-level instructions or an error message."}},checkpoints:[{checkpoint:"3.3.2.c",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-3.3.2.c",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-11.10.2",standards:["RGAAv4"],type:"issue",impact:3},{checkpoint:"rgaa-11.10.3",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"form-error-unhelpful",descriptions:{en:{shortText:"Error message does not suggest fix",description:"There is no suggestion for how to fix a validation failure."}},checkpoints:[{checkpoint:"3.3.3.a",standards:["wcag2aa"],type:"issue",impact:3},{checkpoint:"en301549-9-3.3.3.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-11.10.6",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"form-error-unreadable",descriptions:{en:{shortText:"Error message cannot be read by screen readers",description:"Error message cannot be read by screen readers."}},checkpoints:[{checkpoint:"3.3.1.b",standards:["wcag2a"],type:"issue",impact:4},{checkpoint:"en301549-9-3.3.1.b",standards:["EN-301-549"],type:"issue",impact:4}]},{id:"form-error-validation-not-described",descriptions:{en:{shortText:"Input error is not described in text",description:"Input validation failures are not described in text or a text alternative."}},checkpoints:[{checkpoint:"3.3.1.b",standards:["wcag2a"],type:"issue",impact:4},{checkpoint:"en301549-9-3.3.1.b",standards:["EN-301-549"],type:"issue",impact:4},{checkpoint:"rgaa-11.10.6",standards:["RGAAv4"],type:"issue",impact:4}]},{id:"form-errors-color-only",descriptions:{en:{shortText:"Color alone is used to identify error(s)",description:"Color is used as the sole method to identify error(s) on form field(s)."}},checkpoints:[{checkpoint:"1.4.1.a",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-1.4.1.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-3.1.4",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"form-group-not-labeled",descriptions:{en:{shortText:'Form Group: Section with role="group" or "radiogroup" does not have a label',description:'The group of form elements grouped using ARIA role="group" or "radiogroup" has no group-level label (similar to an HTML legend).'}},checkpoints:[{checkpoint:"4.1.2.a",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-4.1.2.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-11.5.1",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"form-implicit-submit",descriptions:{en:{shortText:"Submit button missing on form",description:"Submit button missing on a form and this makes it less obvious how to submit this form. This form can be implicitly submitted. Example of implicit submission is a search form with no submit button that can be submitted when the user types text in the search text field and then presses the enter key while focus is still on the search text field."}},checkpoints:[{checkpoint:"3.2.2.a",standards:["wcag2a"],type:"best-practice",impact:2},{checkpoint:"en301549-9-3.2.2.a",standards:["EN-301-549"],type:"best-practice",impact:2},{checkpoint:"rgaa-7.4.1",standards:["RGAAv4"],type:"best-practice",impact:2}]},{id:"form-label-missing",descriptions:{en:{shortText:"Form field: Form field is missing an accessible name",description:"The form field does not have an explicit or implicit <label> relationship, nor a title, aria-labelledby, aria-label, or placeholder attribute."}},checkpoints:[{checkpoint:"4.1.2.a",standards:["wcag2a"],type:"issue",impact:4},{checkpoint:"en301549-9-4.1.2.a",standards:["EN-301-549"],type:"issue",impact:4},{checkpoint:"rgaa-11.1.1",standards:["RGAAv4"],type:"issue",impact:4},{checkpoint:"rgaa-11.4.1",standards:["RGAAv4"],type:"issue",impact:4}]},{id:"form-review",descriptions:{en:{shortText:"User cannot review input before submission",description:"Users are not given the opportunity to review and edit information before the data is submitted."}},checkpoints:[{checkpoint:"3.3.4.a",standards:["wcag2aa"],type:"issue",impact:3},{checkpoint:"en301549-9-3.3.4.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-11.12.1",standards:["RGAAv4"],type:"issue",impact:3},{checkpoint:"rgaa-11.12.2",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"form-review-recovery",descriptions:{en:{shortText:"User cannot review or reverse a transaction",description:"User does not get an opportunity to review and confirm the transaction before committing it. Nor is the action reversible."}},checkpoints:[{checkpoint:"3.3.4.a",standards:["wcag2aa"],type:"issue",impact:3},{checkpoint:"en301549-9-3.3.4.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-11.12.1",standards:["RGAAv4"],type:"issue",impact:3},{checkpoint:"rgaa-11.12.2",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"form-submission-not-checked",descriptions:{en:{shortText:"User cannot reverse, check, or confirm a form submission",description:"Users are not given to ability to reverse, check, or confirm a form submission."}},checkpoints:[{checkpoint:"3.3.6.a",standards:["wcag2aaa","aenb-77"],type:"issue",impact:3},{checkpoint:"en301549-9-3.3.6.a",standards:["EN-301-549"],type:"issue",impact:3}]},{id:"form-title-duplicates-label",descriptions:{en:{shortText:"Title duplicates field label",description:"The title attribute duplicates the label for this form field."}},checkpoints:[{checkpoint:"4.1.2.a",standards:["wcag2a"],type:"best-practice",impact:1},{checkpoint:"en301549-9-4.1.2.a",standards:["EN-301-549"],type:"best-practice",impact:1},{checkpoint:"rgaa-7.1.1",standards:["RGAAv4"],type:"best-practice",impact:1}]},{id:"heading-empty",descriptions:{en:{shortText:"Heading tag found with no content",description:"Heading tag found with no content."}},checkpoints:[{checkpoint:"1.3.1.e",standards:["wcag2a"],type:"best-practice",impact:1},{checkpoint:"en301549-9-1.3.1.e",standards:["EN-301-549"],type:"best-practice",impact:1},{checkpoint:"rgaa-9.1.1",standards:["RGAAv4"],type:"best-practice",impact:1}]},{id:"heading-level-increase",descriptions:{en:{shortText:"Heading levels increase by more than 1",description:"Heading levels increase by more than one level per heading."}},checkpoints:[{checkpoint:"1.3.1.e",standards:["wcag2a"],type:"best-practice",impact:2},{checkpoint:"en301549-9-1.3.1.e",standards:["EN-301-549"],type:"best-practice",impact:2},{checkpoint:"rgaa-9.1.1",standards:["RGAAv4"],type:"best-practice",impact:2}]},{id:"heading-level-order",descriptions:{en:{shortText:"Heading levels are out of order",description:"Heading levels are out of order in such a way that the structure of the content is not properly conveyed."}},checkpoints:[{checkpoint:"1.3.1.e",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-1.3.1.e",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-9.1.1",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"heading-missing",descriptions:{en:{shortText:"Content is missing a section heading",description:"Content is missing a section heading."}},checkpoints:[{checkpoint:"2.4.10.a",standards:["wcag2aaa","aenb-77"],type:"issue",impact:2},{checkpoint:"en301549-9-2.4.10.a",standards:["EN-301-549"],type:"issue",impact:2},{checkpoint:"rgaa-9.1.3",standards:["RGAAv4"],type:"issue",impact:2}]},{id:"heading-multiple-h1s",descriptions:{en:{shortText:"The page has more than one H1",description:"The page has more than one H1."}},checkpoints:[{checkpoint:"1.3.1.e",standards:["wcag2a"],type:"best-practice",impact:1},{checkpoint:"en301549-9-1.3.1.e",standards:["EN-301-549"],type:"best-practice",impact:1},{checkpoint:"rgaa-9.1.1",standards:["RGAAv4"],type:"best-practice",impact:1}]},{id:"heading-no-h1",descriptions:{en:{shortText:"The page has no H1",description:"The page has no H1."}},checkpoints:[{checkpoint:"1.3.1.e",standards:["wcag2a"],type:"best-practice",impact:2},{checkpoint:"en301549-9-1.3.1.e",standards:["EN-301-549"],type:"best-practice",impact:2},{checkpoint:"rgaa-9.1.1",standards:["RGAAv4"],type:"best-practice",impact:2}]},{id:"heading-none",descriptions:{en:{shortText:"The page has no headings",description:"The page has no headings."}},checkpoints:[{checkpoint:"1.3.1.e",standards:["wcag2a"],type:"best-practice",impact:3},{checkpoint:"en301549-9-1.3.1.e",standards:["EN-301-549"],type:"best-practice",impact:3}]},{id:"heading-not-descriptive",descriptions:{en:{shortText:"Heading does not describe content",description:"The heading does not describe the topic or purpose of the content that follows it."}},checkpoints:[{checkpoint:"2.4.6.a",standards:["wcag2aa"],type:"issue",impact:2},{checkpoint:"en301549-9-2.4.6.a",standards:["EN-301-549"],type:"issue",impact:2},{checkpoint:"rgaa-9.1.2",standards:["RGAAv4"],type:"issue",impact:2}]},{id:"help-all-always-available",descriptions:{en:{shortText:"Not all pages in the set have all the same help mechanisms",description:"Some pages in the set are missing a help mechanism that is available on other pages in the set."}},checkpoints:[{checkpoint:"3.2.6.a",standards:["wcag22aa"],type:"best-practice",impact:2},{checkpoint:"en301549-9-3.2.6.a",standards:["EN-301-549"],type:"best-practice",impact:2}]},{id:"help-always-available",descriptions:{en:{shortText:"Some pages in the set do not contain any help mechanism",description:"Some pages in the set do not contain any help mechanism."}},checkpoints:[{checkpoint:"3.2.6.a",standards:["wcag22aa"],type:"best-practice",impact:2},{checkpoint:"en301549-9-3.2.6.a",standards:["EN-301-549"],type:"best-practice",impact:2}]},{id:"help-consistent-every-page",descriptions:{en:{shortText:"Pages outside the set have different help location",description:"The set of pages has consistently located help, but on other pages outside the set the help location is different."}},checkpoints:[{checkpoint:"3.2.6.a",standards:["wcag22aa"],type:"best-practice",impact:1},{checkpoint:"en301549-9-3.2.6.a",standards:["EN-301-549"],type:"best-practice",impact:1}]},{id:"help-not-consistent",descriptions:{en:{shortText:"Help mechanism is not in a consistent location",description:"Help mechanism is not in a programmatically consistent location."}},checkpoints:[{checkpoint:"3.2.6.a",standards:["wcag22aa"],type:"issue",impact:2},{checkpoint:"en301549-9-3.2.6.a",standards:["EN-301-549"],type:"issue",impact:2}]},{id:"help-time-described",descriptions:{en:{shortText:"Help availability information not provided",description:"Help is not always available and information on when help is available is not provided."}},checkpoints:[{checkpoint:"3.2.6.a",standards:["wcag22aa"],type:"best-practice",impact:2},{checkpoint:"en301549-9-3.2.6.a",standards:["EN-301-549"],type:"best-practice",impact:2}]},{id:"help-visually-consistent",descriptions:{en:{shortText:"Help programmatically same but visually different",description:"Help mechanism is in the same programmatic location, but the visual location varies from page to page."}},checkpoints:[{checkpoint:"3.2.6.a",standards:["wcag22aa"],type:"best-practice",impact:2},{checkpoint:"en301549-9-3.2.6.a",standards:["EN-301-549"],type:"best-practice",impact:2}]},{id:"html-invalid",descriptions:{en:{shortText:"HTML validation errors exist",description:"HTML validation errors exist."}},checkpoints:[{checkpoint:"4.1.1.a",standards:["wcag2a"],type:"best-practice",impact:2},{checkpoint:"en301549-9-4.1.1.a",standards:["EN-301-549"],type:"best-practice",impact:2}]},{id:"id-input-purpose-inaccurate",descriptions:{en:{shortText:"Identify input purpose not accurate",description:"Autocomplete attribute to identify the purpose of this form element is not accurate."}},checkpoints:[{checkpoint:"1.3.5.a",standards:["wcag21aa"],type:"issue",impact:3},{checkpoint:"en301549-9-1.3.5.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-11.13.1",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"id-input-purpose-missing",descriptions:{en:{shortText:"Identify input purpose missing",description:"Autocomplete attribute to identify the purpose of this form element is missing."}},checkpoints:[{checkpoint:"1.3.5.a",standards:["wcag21aa"],type:"issue",impact:3},{checkpoint:"en301549-9-1.3.5.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-11.13.1",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"image-map-equivalent",descriptions:{en:{shortText:"Image map is missing links and/or alt text",description:"A server-side image map is missing an equivalent set of text links and/or text alternative to alert the user that these links are available."}},checkpoints:[{checkpoint:"1.1.1.a",standards:["wcag2a"],type:"issue",impact:4},{checkpoint:"en301549-9-1.1.1.a",standards:["EN-301-549"],type:"issue",impact:4},{checkpoint:"rgaa-1.1.4",standards:["RGAAv4"],type:"issue",impact:4}]},{id:"image-of-text",descriptions:{en:{shortText:"Image of text is used instead of real text",description:"The image contains embedded text."}},checkpoints:[{checkpoint:"1.4.5.a",standards:["wcag2aa"],type:"issue",impact:3},{checkpoint:"en301549-9-1.4.5.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-1.8.1",standards:["RGAAv4"],type:"issue",impact:3},{checkpoint:"rgaa-1.8.2",standards:["RGAAv4"],type:"issue",impact:3},{checkpoint:"rgaa-1.8.3",standards:["RGAAv4"],type:"issue",impact:3},{checkpoint:"rgaa-1.8.4",standards:["RGAAv4"],type:"issue",impact:3},{checkpoint:"rgaa-1.8.5",standards:["RGAAv4"],type:"issue",impact:3},{checkpoint:"rgaa-1.8.6",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"inconsistent-component-id",descriptions:{en:{shortText:"Component labeling is inconsistent",description:"Components are labeled differently on different pages or screens, though they have the same function."}},checkpoints:[{checkpoint:"3.2.4.a",standards:["wcag2aa"],type:"issue",impact:3},{checkpoint:"en301549-9-3.2.4.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-11.3.1",standards:["RGAAv4"],type:"issue",impact:3},{checkpoint:"rgaa-11.3.2",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"inconsistent-form-id",descriptions:{en:{shortText:"Form control identification is inconsistent",description:"The form control is identified differently on different pages or screens, though it has the same function."}},checkpoints:[{checkpoint:"3.2.4.a",standards:["wcag2aa"],type:"issue",impact:3},{checkpoint:"en301549-9-3.2.4.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-11.3.1",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"inconsistent-link",descriptions:{en:{shortText:"Link identification is inconsistent",description:"The link/image link is identified differently on different pages, though it has the same target."}},checkpoints:[{checkpoint:"3.2.4.a",standards:["wcag2aa"],type:"issue",impact:3},{checkpoint:"en301549-9-3.2.4.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-11.3.2",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"inconsistent-nav",descriptions:{en:{shortText:"Navigation element order is inconsistent",description:"Navigational elements that occur across multiple pages or screens are not presented in the same relative order."}},checkpoints:[{checkpoint:"3.2.3.a",standards:["wcag2aa"],type:"issue",impact:3},{checkpoint:"en301549-9-3.2.3.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-12.2.1",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"info-relationship-visual-only",descriptions:{en:{shortText:"Information or relationship only presented visually",description:"Information, structure, or relationship is presented visually but is not conveyed programmatically or in text."}},checkpoints:[{checkpoint:"1.3.1.a",standards:["wcag2a"],type:"issue",impact:4},{checkpoint:"en301549-9-1.3.1.a",standards:["EN-301-549"],type:"issue",impact:4},{checkpoint:"rgaa-10.9.1",standards:["RGAAv4"],type:"issue",impact:4},{checkpoint:"rgaa-10.9.2",standards:["RGAAv4"],type:"issue",impact:4},{checkpoint:"rgaa-10.9.3",standards:["RGAAv4"],type:"issue",impact:4},{checkpoint:"rgaa-10.9.4",standards:["RGAAv4"],type:"issue",impact:4},{checkpoint:"rgaa-10.10.1",standards:["RGAAv4"],type:"issue",impact:4},{checkpoint:"rgaa-10.10.2",standards:["RGAAv4"],type:"issue",impact:4},{checkpoint:"rgaa-10.10.3",standards:["RGAAv4"],type:"issue",impact:4},{checkpoint:"rgaa-10.10.4",standards:["RGAAv4"],type:"issue",impact:4}]},{id:"information-color",descriptions:{en:{shortText:"Color alone is used to convey info",description:"Color is used to convey information that is not conveyed in any other way."}},checkpoints:[{checkpoint:"1.4.1.a",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-1.4.1.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-3.1.1",standards:["RGAAv4"],type:"issue",impact:3},{checkpoint:"rgaa-3.1.2",standards:["RGAAv4"],type:"issue",impact:3},{checkpoint:"rgaa-3.1.3",standards:["RGAAv4"],type:"issue",impact:3},{checkpoint:"rgaa-3.1.4",standards:["RGAAv4"],type:"issue",impact:3},{checkpoint:"rgaa-3.1.5",standards:["RGAAv4"],type:"issue",impact:3},{checkpoint:"rgaa-3.1.6",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"information-requires-hearing",descriptions:{en:{shortText:"Instructions rely on ability to hear",description:"Instructions are presented in a way that requires the ability to hear sound, and there is no alternate method to convey the information."}},checkpoints:[{checkpoint:"1.3.3.b",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-1.3.3.b",standards:["EN-301-549"],type:"issue",impact:3}]},{id:"information-requires-vision",descriptions:{en:{shortText:"Instructions rely on ability to see",description:"Instructions are presented in a way that requires the ability to see shape, color, size, visual location, or orientation."}},checkpoints:[{checkpoint:"1.3.3.a",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-1.3.3.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-10.9.1",standards:["RGAAv4"],type:"issue",impact:3},{checkpoint:"rgaa-10.9.2",standards:["RGAAv4"],type:"issue",impact:3},{checkpoint:"rgaa-10.9.3",standards:["RGAAv4"],type:"issue",impact:3},{checkpoint:"rgaa-10.9.4",standards:["RGAAv4"],type:"issue",impact:3},{checkpoint:"rgaa-10.10.1",standards:["RGAAv4"],type:"issue",impact:3},{checkpoint:"rgaa-10.10.2",standards:["RGAAv4"],type:"issue",impact:3},{checkpoint:"rgaa-10.10.3",standards:["RGAAv4"],type:"issue",impact:3},{checkpoint:"rgaa-10.10.4",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"input-format-clarification",descriptions:{en:{shortText:"Label does not convey required format",description:"The input requires a specific format but the label or instruction does not specify this."}},checkpoints:[{checkpoint:"3.3.2.b",standards:["wcag2a"],type:"best-practice",impact:2},{checkpoint:"en301549-9-3.3.2.b",standards:["EN-301-549"],type:"best-practice",impact:2}]},{id:"input-range-clarification",descriptions:{en:{shortText:"Label does not convey required values",description:"The input is limited to a range of values but the label or instruction does not specify this."}},checkpoints:[{checkpoint:"3.3.2.b",standards:["wcag2a"],type:"best-practice",impact:2},{checkpoint:"en301549-9-3.3.2.b",standards:["EN-301-549"],type:"best-practice",impact:2}]},{id:"instructions-not-accurate",descriptions:{en:{shortText:"Instructions are inaccurate or incomplete for assistive technology users",description:"Additional instructions are only provided for the input field to people who do not have disabilities. For a person with disabilities, the instructions are incomplete, inaccurate, or misleading."}},checkpoints:[{checkpoint:"3.3.2.b",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-3.3.2.b",standards:["EN-301-549"],type:"issue",impact:3}]},{id:"instructions-not-associated",descriptions:{en:{shortText:"Instructions/descriptions not assoc w control",description:"Additional instructions/descriptions are provided for the control, but they are not programmatically associated with the control."}},checkpoints:[{checkpoint:"1.3.1.a",standards:["wcag2a"],type:"best-practice",impact:3},{checkpoint:"3.3.2.b",standards:["wcag2a"],type:"best-practice",impact:3},{checkpoint:"en301549-9-3.3.2.b",standards:["EN-301-549"],type:"best-practice",impact:3},{checkpoint:"en301549-9-1.3.1.a",standards:["EN-301-549"],type:"best-practice",impact:3}]},{id:"instructions-not-descriptive",descriptions:{en:{shortText:"Instructions not descriptive",description:"Additional instructions are provided for the control, but they are unclear or insufficiently descriptive."}},checkpoints:[{checkpoint:"3.3.2.b",standards:["wcag2a"],type:"best-practice",impact:2},{checkpoint:"en301549-9-3.3.2.b",standards:["EN-301-549"],type:"best-practice",impact:2}]},{id:"instructions-not-included",descriptions:{en:{shortText:"Instructions missing for assistive technology users",description:"Additional instructions are needed for the input field but are not provided for people with disabilities. People without disabilities have access to additional instructions."}},checkpoints:[{checkpoint:"3.3.2.b",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-3.3.2.b",standards:["EN-301-549"],type:"issue",impact:3}]},{id:"instructions-positioned-improperly",descriptions:{en:{shortText:"Label or instruction is not near related element",description:"The label or instruction is not near its related element. As a result, it is difficult to visually associate it with the element, especially if zooming or magnifying the screen."}},checkpoints:[{checkpoint:"3.3.2.b",standards:["wcag2a"],type:"best-practice",impact:3},{checkpoint:"en301549-9-3.3.2.b",standards:["EN-301-549"],type:"best-practice",impact:3}]},{id:"keyboard-cannot-extend-session",descriptions:{en:{shortText:"Timeout mechanism is not keyboard accessible",description:"The mechanism to extend the session is not accessible by keyboard alone."}},checkpoints:[{checkpoint:"2.2.1.a",standards:["wcag2a"],type:"issue",impact:4},{checkpoint:"en301549-9-2.2.1.a",standards:["EN-301-549"],type:"issue",impact:4},{checkpoint:"rgaa-7.3.1",standards:["RGAAv4"],type:"issue",impact:4}]},{id:"keyboard-character-key-shortcuts",descriptions:{en:{shortText:"Character key shortcuts exist and cannot be modified or turned off",description:"Single character key shortcuts exist and do not have at least one of these required options: ability to turn off single character key shortcuts, ability to remap to a non-singular key shortcut, OR are only active when the appropriate user interface component has focus."}},checkpoints:[{checkpoint:"2.1.4.a",standards:["wcag21a"],type:"issue",impact:3},{checkpoint:"en301549-9-2.1.4.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-12.10.1",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"keyboard-inaccessible",descriptions:{en:{shortText:"Function cannot be performed by keyboard alone",description:"There is no way to perform the function using only the keyboard on the same screen or on a qualifying conforming alternate version."}},checkpoints:[{checkpoint:"2.1.1.a",standards:["wcag2a"],type:"issue",impact:4},{checkpoint:"en301549-9-2.1.1.a",standards:["EN-301-549"],type:"issue",impact:4},{checkpoint:"rgaa-4.11.2",standards:["RGAAv4"],type:"issue",impact:4},{checkpoint:"rgaa-4.11.3",standards:["RGAAv4"],type:"issue",impact:4},{checkpoint:"rgaa-4.12.1",standards:["RGAAv4"],type:"issue",impact:4},{checkpoint:"rgaa-4.12.2",standards:["RGAAv4"],type:"issue",impact:4},{checkpoint:"rgaa-7.3.1",standards:["RGAAv4"],type:"issue",impact:4},{checkpoint:"rgaa-12.11.1",standards:["RGAAv4"],type:"issue",impact:4}]},{id:"keyboard-inaccessible-aaa",descriptions:{en:{shortText:"Function cannot be performed by keyboard alone - no exception",description:"There is no way to perform the function using only the keyboard on the same screen or on a qualifying conforming alternate version - no exceptions."}},checkpoints:[{checkpoint:"2.1.3.a",standards:["wcag2aaa","aenb-77"],type:"issue",impact:4},{checkpoint:"en301549-9-2.1.3.a",standards:["EN-301-549"],type:"issue",impact:4}]},{id:"keyboard-inpage-link-not-accessible",descriptions:{en:{shortText:"In page links are not keyboard operable",description:"In page links are not keyboard operable."}},checkpoints:[{checkpoint:"2.1.1.a",standards:["wcag2a"],type:"issue",impact:2},{checkpoint:"en301549-9-2.1.1.a",standards:["EN-301-549"],type:"issue",impact:2},{checkpoint:"rgaa-7.3.1",standards:["RGAAv4"],type:"issue",impact:2}]},{id:"keyboard-nonstandard-no-instructions",descriptions:{en:{shortText:"No instructions for non-standard key interactions",description:"Instructions are not provided to explain the non-standard keyboard interaction used to access an element."}},checkpoints:[{checkpoint:"2.1.1.a",standards:["wcag2a"],type:"best-practice",impact:4},{checkpoint:"en301549-9-2.1.1.a",standards:["EN-301-549"],type:"best-practice",impact:4},{checkpoint:"rgaa-7.3.1",standards:["RGAAv4"],type:"best-practice",impact:4}]},{id:"keyboard-not-touch-accessible",descriptions:{en:{shortText:"Action cannot be performed with a screen reader turned on",description:"Action cannot be performed with a screen reader turned on."}},checkpoints:[{checkpoint:"2.1.1.a",standards:["wcag2a"],type:"issue",impact:4},{checkpoint:"en301549-9-2.1.1.a",standards:["EN-301-549"],type:"issue",impact:4},{checkpoint:"rgaa-7.3.1",standards:["RGAAv4"],type:"issue",impact:4}]},{id:"keyboard-trap",descriptions:{en:{shortText:"Keyboard trap",description:"There is a keyboard trap."}},checkpoints:[{checkpoint:"2.1.2.a",standards:["wcag2a"],type:"issue",impact:4},{checkpoint:"en301549-9-2.1.2.a",standards:["EN-301-549"],type:"issue",impact:4},{checkpoint:"rgaa-12.9.1",standards:["RGAAv4"],type:"issue",impact:4}]},{id:"label-group-checkboxes-not-associated",descriptions:{en:{shortText:"Group of checkboxes not associated with group label",description:"The group label is not programmatically associated with its checkboxes. The purpose of individual checkboxes in the group cannot be understood without the group label."}},checkpoints:[{checkpoint:"1.3.1.d",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-1.3.1.d",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-11.6.1",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"label-group-not-associated",descriptions:{en:{shortText:"Group of form controls not associated with group label",description:"The group of form controls is not associated with its group label. The purpose of individual controls in the group cannot be understood without the group label."}},checkpoints:[{checkpoint:"1.3.1.d",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-1.3.1.d",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-11.5.1",standards:["RGAAv4"],type:"issue",impact:3},{checkpoint:"rgaa-11.8.2",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"label-group-not-present",descriptions:{en:{shortText:"Visible group label missing",description:"No visual group label is present and the purpose of this group is not clear without a visual label."}},checkpoints:[{checkpoint:"3.3.2.a",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-3.3.2.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-11.6.1",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"label-group-radio-not-associated",descriptions:{en:{shortText:"Group of radio buttons not associated with group label",description:"The group label is not associated with its group of radio buttons. The purpose of individual radio buttons in the group cannot be understood without the group label."}},checkpoints:[{checkpoint:"1.3.1.d",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-1.3.1.d",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-11.6.1",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"label-implicit",descriptions:{en:{shortText:"Form label is implicit",description:"There is an implicit form label. The label is not explicitly attached to a specific form control through the use of the for attribute."}},checkpoints:[{checkpoint:"4.1.2.a",standards:["wcag2a"],type:"best-practice",impact:1},{checkpoint:"en301549-9-4.1.2.a",standards:["EN-301-549"],type:"best-practice",impact:1},{checkpoint:"rgaa-7.1.1",standards:["RGAAv4"],type:"best-practice",impact:1}]},{id:"label-is-missing-select",descriptions:{en:{shortText:"Select or dropdown control missing a visible label",description:"No persistent visual label is present for a select or dropdown control and the purpose of this field is not clear without a visual label."}},checkpoints:[{checkpoint:"3.3.2.a",standards:["wcag2a"],type:"issue",impact:2},{checkpoint:"en301549-9-3.3.2.a",standards:["EN-301-549"],type:"issue",impact:2},{checkpoint:"rgaa-11.8.2",standards:["RGAAv4"],type:"issue",impact:2}]},{id:"label-is-placeholder",descriptions:{en:{shortText:"Label is not persistent",description:"Label is not persistent. For example: placeholder is being used as the only visual label for a text field."}},checkpoints:[{checkpoint:"3.3.2.a",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-3.3.2.a",standards:["EN-301-549"],type:"issue",impact:3}]},{id:"label-is-placeholder-chat",descriptions:{en:{shortText:"Chat or IM input label is not persistent",description:"Chat or IM input label is not persistent."}},checkpoints:[{checkpoint:"3.3.2.a",standards:["wcag2a"],type:"issue",impact:1},{checkpoint:"en301549-9-3.3.2.a",standards:["EN-301-549"],type:"issue",impact:1}]},{id:"label-not-descriptive",descriptions:{en:{shortText:"Label does not convey purpose of control",description:"The label does not convey the purpose of the control."}},checkpoints:[{checkpoint:"2.4.6.b",standards:["wcag2aa"],type:"issue",impact:3},{checkpoint:"en301549-9-2.4.6.b",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-11.2.1",standards:["RGAAv4"],type:"issue",impact:3},{checkpoint:"rgaa-11.2.2",standards:["RGAAv4"],type:"issue",impact:3},{checkpoint:"rgaa-11.2.3",standards:["RGAAv4"],type:"issue",impact:3},{checkpoint:"rgaa-11.2.4",standards:["RGAAv4"],type:"issue",impact:3},{checkpoint:"rgaa-11.2.6",standards:["RGAAv4"],type:"issue",impact:3},{checkpoint:"rgaa-11.8.3",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"label-not-present",descriptions:{en:{shortText:"Visible label missing",description:"No visual label is present and the purpose of this field is not clear without a visual label."}},checkpoints:[{checkpoint:"3.3.2.a",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-3.3.2.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-11.2.2",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"label-orphaned",descriptions:{en:{shortText:"Form label is orphaned",description:"There is an orphaned form label. All form labels should be associated with a form element, such as <input>, <select> or <textarea> elements."}},checkpoints:[{checkpoint:"4.1.2.a",standards:["wcag2a"],type:"best-practice",impact:1},{checkpoint:"en301549-9-4.1.2.a",standards:["EN-301-549"],type:"best-practice",impact:1}]},{id:"label-position-bad",descriptions:{en:{shortText:"Text label is not properly positioned",description:"The label is not positioned properly. As a result, it is difficult to visually determine the purpose of the control, especially if zooming or magnifying the screen."}},checkpoints:[{checkpoint:"3.3.2.a",standards:["wcag2a"],type:"best-practice",impact:3},{checkpoint:"en301549-9-3.3.2.a",standards:["EN-301-549"],type:"best-practice",impact:3},{checkpoint:"rgaa-11.4.2",standards:["RGAAv4"],type:"best-practice",impact:3}]},{id:"label-programmatic-not-descriptive",descriptions:{en:{shortText:"Programmatic label does not convey purpose of control",description:"The programmatic label does not convey the purpose of the control. The programmatic label and visual label do not convey consistent information."}},checkpoints:[{checkpoint:"2.4.6.b",standards:["wcag2aa"],type:"issue",impact:3},{checkpoint:"en301549-9-2.4.6.b",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-11.7.1",standards:["RGAAv4"],type:"issue",impact:3},{checkpoint:"rgaa-11.9.1",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"label-redundant-button",descriptions:{en:{shortText:"Button has a duplicate label",description:"The button should not have a duplicate label, because the button's accessible name is already defined."}},checkpoints:[{checkpoint:"4.1.2.a",standards:["wcag2a"],type:"best-practice",impact:1},{checkpoint:"en301549-9-4.1.2.a",standards:["EN-301-549"],type:"best-practice",impact:1}]},{id:"label-select-placeholder",descriptions:{en:{shortText:"Placeholder used as label in single select",description:"Persistent placeholder label option used as label for a single select element. Label not easy to see once a selection has been made."}},checkpoints:[{checkpoint:"3.3.2.a",standards:["wcag2a"],type:"best-practice",impact:2},{checkpoint:"en301549-9-3.3.2.a",standards:["EN-301-549"],type:"best-practice",impact:2}]},{id:"label-title-only",descriptions:{en:{shortText:"Input field programmatically labeled by title or aria-describedby",description:"An input field is programmatically labeled only by a title or aria-describedby attribute."}},checkpoints:[{checkpoint:"4.1.2.a",standards:["wcag2a"],type:"best-practice",impact:1},{checkpoint:"en301549-9-4.1.2.a",standards:["EN-301-549"],type:"best-practice",impact:1}]},{id:"label-visible-not-descriptive",descriptions:{en:{shortText:"Visible label does not convey purpose of control",description:"The visible label does not convey the purpose of the control. The programmatic label and visual label do not convey consistent information."}},checkpoints:[{checkpoint:"2.4.6.b",standards:["wcag2aa"],type:"issue",impact:3},{checkpoint:"en301549-9-2.4.6.b",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-11.9.1",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"landmark-missing",descriptions:{en:{shortText:"Not all page content is contained within a landmark",description:"Not all page content is contained within a landmark."}},checkpoints:[{checkpoint:"1.3.6.a",standards:["wcag21aaa","aenb-77"],type:"issue",impact:2},{checkpoint:"en301549-9-1.3.6.a",standards:["EN-301-549"],type:"issue",impact:2},{checkpoint:"rgaa-12.6.1",standards:["RGAAv4"],type:"issue",impact:2}]},{id:"lang-change-not-marked",descriptions:{en:{shortText:"Change in language is not marked",description:"The change in language for a portion of content is not coded."}},checkpoints:[{checkpoint:"3.1.2.a",standards:["wcag2aa"],type:"issue",impact:3},{checkpoint:"en301549-9-3.1.2.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-8.7.1",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"lang-change-not-valid",descriptions:{en:{shortText:"The change in language for a portion of content is not correct",description:"The change in language for a portion of content is not correct."}},checkpoints:[{checkpoint:"3.1.2.a",standards:["wcag2aa"],type:"issue",impact:3},{checkpoint:"en301549-9-3.1.2.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-8.8.1",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"lang-invalid",descriptions:{en:{shortText:"Value of the lang attribute is not valid",description:"The value of the lang attribute used to indicate the primary language of the page is not a valid language code."}},checkpoints:[{checkpoint:"3.1.1.a",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-3.1.1.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-8.4.1",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"lang-not-accurate",descriptions:{en:{shortText:"Lang attribute for page is not primary page language",description:"The value of the lang attribute used to indicate the primary language of the page is for the wrong language."}},checkpoints:[{checkpoint:"3.1.1.a",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-3.1.1.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-8.4.1",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"lang-not-defined",descriptions:{en:{shortText:"Primary language of the page is not defined",description:"The lang attribute used to indicate the primary language of the page is missing from the HTML element."}},checkpoints:[{checkpoint:"3.1.1.a",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-3.1.1.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-8.3.1",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"legend-missing",descriptions:{en:{shortText:"<fieldset> has empty or missing <legend>",description:"The <fieldset> has an empty or missing <legend>."}},checkpoints:[{checkpoint:"1.3.1.d",standards:["wcag2a"],type:"best-practice",impact:1},{checkpoint:"en301549-9-1.3.1.d",standards:["EN-301-549"],type:"best-practice",impact:1},{checkpoint:"rgaa-11.6.1",standards:["RGAAv4"],type:"best-practice",impact:1}]},{id:"link-acts-like-button",descriptions:{en:{shortText:"Link acts like button",description:"Link acts like a button, Activating this link triggers scripted functionality but does not change browser focus or URL."}},checkpoints:[{checkpoint:"4.1.2.a",standards:["wcag2a"],type:"best-practice",impact:2},{checkpoint:"en301549-9-4.1.2.a",standards:["EN-301-549"],type:"best-practice",impact:2}]},{id:"link-insufficient-contrast",descriptions:{en:{shortText:"Link contrast is not at least 3:1 with surrounding text",description:"Link text and static text are differentiated only by color. The contrast ratio between default link text and surrounding text is not at least 3:1."}},checkpoints:[{checkpoint:"1.4.1.b",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-1.4.1.b",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-10.6.1",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"link-looks-like-button",descriptions:{en:{shortText:"Link looks like button",description:"Link looks like a button, but acts like a link (activating it only changes browser focus or URL)."}},checkpoints:[{checkpoint:"4.1.2.a",standards:["wcag2a"],type:"best-practice",impact:2},{checkpoint:"en301549-9-4.1.2.a",standards:["EN-301-549"],type:"best-practice",impact:2}]},{id:"link-missing-role",descriptions:{en:{shortText:"Link: Link does not have a role",description:"The link does not have a role."}},checkpoints:[{checkpoint:"4.1.2.a",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-4.1.2.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-7.1.1",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"link-missing-text",descriptions:{en:{shortText:"Link: Link does not have discernible link text",description:"The link is missing accessible link text. As a result its destination or purpose is not conveyed to screen reader users."}},checkpoints:[{checkpoint:"4.1.2.a",standards:["wcag2a"],type:"issue",impact:4},{checkpoint:"en301549-9-4.1.2.a",standards:["EN-301-549"],type:"issue",impact:4},{checkpoint:"rgaa-6.2.1",standards:["RGAAv4"],type:"issue",impact:4}]},{id:"link-no-mark",descriptions:{en:{shortText:"Added link indicator on hover is missing",description:"Link text lacks an additional differentiator on hover. (The contrast ratio between default link text and surrounding text is sufficient.)"}},checkpoints:[{checkpoint:"1.4.1.b",standards:["wcag2a"],type:"best-practice",impact:2},{checkpoint:"en301549-9-1.4.1.b",standards:["EN-301-549"],type:"best-practice",impact:2}]},{id:"link-purpose-unclear",descriptions:{en:{shortText:"Purpose of link is not clear in context",description:"The purpose of the link is not clear within its programmatically determined link context."}},checkpoints:[{checkpoint:"2.4.4.a",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-2.4.4.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-6.1.1",standards:["RGAAv4"],type:"issue",impact:3},{checkpoint:"rgaa-6.1.3",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"link-purpose-unclear-alone",descriptions:{en:{shortText:"Purpose of link is not clear from link text alone",description:"The purpose of the link is not clear from its programmatic link text alone."}},checkpoints:[{checkpoint:"2.4.9.a",standards:["wcag2aaa","aenb-77"],type:"issue",impact:2},{checkpoint:"en301549-9-2.4.9.a",standards:["EN-301-549"],type:"issue",impact:2},{checkpoint:"rgaa-6.1.1",standards:["RGAAv4"],type:"issue",impact:2},{checkpoint:"rgaa-6.1.3",standards:["RGAAv4"],type:"issue",impact:2}]},{id:"link-purpose-unclear-multiple",descriptions:{en:{shortText:"Multiple links have the same programmatic link text but different destinations",description:"Multiple links with identical link text but different destinations are present, and the purpose of each link is not clear within its programmatically determined link context."}},checkpoints:[{checkpoint:"2.4.4.a",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-2.4.4.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-6.1.1",standards:["RGAAv4"],type:"issue",impact:3},{checkpoint:"rgaa-6.1.3",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"link-purpose-unidentifiable-from-text",descriptions:{en:{shortText:"Link purpose not clear from link text alone",description:"The purpose of the element is not identifiable from link text alone. (AAA requirement 2.4.9)"}},checkpoints:[{checkpoint:"2.4.4.a",standards:["wcag2a"],type:"best-practice",impact:2},{checkpoint:"en301549-9-2.4.4.a",standards:["EN-301-549"],type:"best-practice",impact:2},{checkpoint:"rgaa-6.1.1",standards:["RGAAv4"],type:"best-practice",impact:2},{checkpoint:"rgaa-6.1.3",standards:["RGAAv4"],type:"best-practice",impact:2}]},{id:"link-target-not-indicated",descriptions:{en:{shortText:"Links opens new window without warning",description:"The link text does not indicate that the link opens in a new window. (AAA requirement 3.2.5)"}},checkpoints:[{checkpoint:"3.2.2.a",standards:["wcag2a"],type:"best-practice",impact:2},{checkpoint:"en301549-9-3.2.2.a",standards:["EN-301-549"],type:"best-practice",impact:2},{checkpoint:"rgaa-6.1.1",standards:["RGAAv4"],type:"best-practice",impact:2},{checkpoint:"rgaa-6.1.3",standards:["RGAAv4"],type:"best-practice",impact:2}]},{id:"modal-forces-submission",descriptions:{en:{shortText:"Method to dismiss modal without submitting data is not accessible",description:"The method to dismiss/close the modal/alert without submitting data is not keyboard accessible."}},checkpoints:[{checkpoint:"2.1.1.a",standards:["wcag2a"],type:"issue",impact:4},{checkpoint:"en301549-9-2.1.1.a",standards:["EN-301-549"],type:"issue",impact:4},{checkpoint:"rgaa-12.9.1",standards:["RGAAv4"],type:"issue",impact:4}]},{id:"modal-no-esc",descriptions:{en:{shortText:"ESC key does not close modal",description:"The modal should enable an ESC Key to dismiss/close the modal."}},checkpoints:[{checkpoint:"2.1.1.a",standards:["wcag2a"],type:"best-practice",impact:1},{checkpoint:"en301549-9-2.1.1.a",standards:["EN-301-549"],type:"best-practice",impact:1}]},{id:"modal-only-esc",descriptions:{en:{shortText:"ESC key is only way to close modal or layer",description:"The ESC key is the only way to dismiss/close the modal or layer."}},checkpoints:[{checkpoint:"2.1.1.a",standards:["wcag2a"],type:"best-practice",impact:1},{checkpoint:"en301549-9-2.1.1.a",standards:["EN-301-549"],type:"best-practice",impact:1}]},{id:"modal-unclosable",descriptions:{en:{shortText:"The modal dialog is missing a close button",description:"The modal dialog is missing a close button and there is no way to close the modal with a keyboard."}},checkpoints:[{checkpoint:"2.1.1.a",standards:["wcag2a"],type:"issue",impact:4},{checkpoint:"en301549-9-2.1.1.a",standards:["EN-301-549"],type:"issue",impact:4},{checkpoint:"rgaa-7.3.1",standards:["RGAAv4"],type:"issue",impact:4}]},{id:"motion-actuation-cannot-disable",descriptions:{en:{shortText:"Motion actuation cannot be disabled.",description:"Motion actuation cannot be disabled."}},checkpoints:[{checkpoint:"2.5.4.a",standards:["wcag21a"],type:"issue",impact:3},{checkpoint:"en301549-9-2.5.4.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-13.12.3",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"motion-actuation-disrupts-system",descriptions:{en:{shortText:"Motion actuation disrupts or disables system features",description:"Motion actuation disrupts or disables system level features."}},checkpoints:[{checkpoint:"2.5.4.a",standards:["wcag21a"],type:"issue",impact:3},{checkpoint:"en301549-9-2.5.4.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-13.12.1",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"motion-actuation-required",descriptions:{en:{shortText:"Motion actuation required",description:"Functionality can only be activated via motion actuation (such as shaking or tilting the device)."}},checkpoints:[{checkpoint:"2.5.4.a",standards:["wcag21a"],type:"issue",impact:3},{checkpoint:"en301549-9-2.5.4.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-13.12.1",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"motion-animation",descriptions:{en:{shortText:"Motion animation cannot be disabled",description:"Motion animation cannot be disabled."}},checkpoints:[{checkpoint:"2.3.3.a",standards:["wcag21aaa","aenb-77"],type:"issue",impact:2},{checkpoint:"en301549-9-2.3.3.a",standards:["EN-301-549"],type:"issue",impact:2}]},{id:"name-section",descriptions:{en:{shortText:"Accessible name not provided for content section",description:"The content section (that is controlled by an active element) does not have an accessible name."}},checkpoints:[{checkpoint:"4.1.2.a",standards:["wcag2a"],type:"best-practice",impact:2},{checkpoint:"en301549-9-4.1.2.a",standards:["EN-301-549"],type:"best-practice",impact:2},{checkpoint:"rgaa-7.1.1",standards:["RGAAv4"],type:"best-practice",impact:2}]},{id:"nav-sections-not-identified",descriptions:{en:{shortText:"Multiple ARIA navigation regions need labels",description:'Multiple sections with role="navigation" are present but they lack their individual identity / label.'}},checkpoints:[{checkpoint:"2.4.1.a",standards:["wcag2a"],type:"best-practice",impact:2},{checkpoint:"1.3.1.a",standards:["wcag2a"],type:"best-practice",impact:2},{checkpoint:"en301549-9-1.3.1.a",standards:["EN-301-549"],type:"best-practice",impact:2},{checkpoint:"en301549-9-2.4.1.a",standards:["EN-301-549"],type:"best-practice",impact:2},{checkpoint:"rgaa-12.6.1",standards:["RGAAv4"],type:"best-practice",impact:2}]},{id:"new-content-bad-location",descriptions:{en:{shortText:"Correct reading order of dynamic content not determinable",description:"The correct reading order of dynamically changed content is not programmatically determinable by screen readers."}},checkpoints:[{checkpoint:"1.3.2.a",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-1.3.2.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-10.2.1",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"new-content-modal-not-announced",descriptions:{en:{shortText:"Newly opened modal is not announced",description:"When the modal is opened, the new content within it is not announced."}},checkpoints:[{checkpoint:"1.3.2.a",standards:["wcag2a"],type:"best-practice",impact:3},{checkpoint:"en301549-9-1.3.2.a",standards:["EN-301-549"],type:"best-practice",impact:3}]},{id:"new-content-not-announced",descriptions:{en:{shortText:"New content is not announced",description:"When new content is inserted into the document, the new content is not announced."}},checkpoints:[{checkpoint:"1.3.2.a",standards:["wcag2a"],type:"best-practice",impact:3},{checkpoint:"en301549-9-1.3.2.a",standards:["EN-301-549"],type:"best-practice",impact:3}]},{id:"nonvisual-description-hard-to-find",descriptions:{en:{shortText:"Text/audio description is hard to find",description:"A text or audio description is provided, but it is difficult for a screen reader user to find."}},checkpoints:[{checkpoint:"1.2.1.b",standards:["wcag2a"],type:"best-practice",impact:2},{checkpoint:"en301549-9-1.2.1.b",standards:["EN-301-549"],type:"best-practice",impact:2}]},{id:"nonvisual-description-inadequate",descriptions:{en:{shortText:"Text/audio description is inadequate",description:"A text or audio description is provided, but it does not adequately describe the video content."}},checkpoints:[{checkpoint:"1.2.1.b",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-1.2.1.b",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-4.2.1",standards:["RGAAv4"],type:"issue",impact:3},{checkpoint:"rgaa-4.2.2",standards:["RGAAv4"],type:"issue",impact:3},{checkpoint:"rgaa-4.2.3",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"nonvisual-description-missing",descriptions:{en:{shortText:"No text or audio description available for video-only content",description:"Neither a text description nor audio description is available for video-only content."}},checkpoints:[{checkpoint:"1.2.1.b",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-1.2.1.b",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-4.1.3",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"nonvisual-description-missing-multimedia",descriptions:{en:{shortText:"No text or audio description available for multimedia content",description:"Neither a text description nor audio description is available for multimedia content."}},checkpoints:[{checkpoint:"1.2.3.a",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-1.2.3.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-4.1.3",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"optional-marked-required",descriptions:{en:{shortText:"Optional field marked as required",description:"The field is marked as required, but this is misleading because the field is in fact optional."}},checkpoints:[{checkpoint:"3.3.2.c",standards:["wcag2a"],type:"best-practice",impact:2},{checkpoint:"en301549-9-3.3.2.c",standards:["EN-301-549"],type:"best-practice",impact:2},{checkpoint:"rgaa-11.10.1",standards:["RGAAv4"],type:"best-practice",impact:2}]},{id:"orientation-content-missing",descriptions:{en:{shortText:"Content or functionality missing due to orientation",description:"The presentation of the content adjusts when the device's display orientation changes, but some functionality or content is inaccessible."}},checkpoints:[{checkpoint:"1.3.4.a",standards:["wcag21aa"],type:"issue",impact:3},{checkpoint:"en301549-9-1.3.4.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-13.9.1",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"orientation-current",descriptions:{en:{shortText:"Not presented in current display orientation",description:"When the page/app is opened, it is not presented in the device's current display orientation."}},checkpoints:[{checkpoint:"1.3.4.a",standards:["wcag21aa"],type:"issue",impact:3},{checkpoint:"en301549-9-1.3.4.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-13.9.1",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"orientation-identical-content",descriptions:{en:{shortText:"Different Content Design Based on Orientation",description:"When viewed in different orientations, the content design is different."}},checkpoints:[{checkpoint:"1.3.4.a",standards:["wcag21aa"],type:"best-practice",impact:2},{checkpoint:"en301549-9-1.3.4.a",standards:["EN-301-549"],type:"best-practice",impact:2},{checkpoint:"rgaa-13.9.1",standards:["RGAAv4"],type:"best-practice",impact:2}]},{id:"orientation-identical-size",descriptions:{en:{shortText:"Different Content Design Based on Display Size",description:"When viewed on different sized devices, the content design is different."}},checkpoints:[{checkpoint:"1.3.4.a",standards:["wcag21aa"],type:"best-practice",impact:2},{checkpoint:"en301549-9-1.3.4.a",standards:["EN-301-549"],type:"best-practice",impact:2},{checkpoint:"rgaa-13.9.1",standards:["RGAAv4"],type:"best-practice",impact:2}]},{id:"orientation-rotate",descriptions:{en:{shortText:"Does not rotate to new orientation",description:"When the device is rotated, the content does not adjust to the new display orientation."}},checkpoints:[{checkpoint:"1.3.4.a",standards:["wcag21aa"],type:"issue",impact:3},{checkpoint:"en301549-9-1.3.4.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-13.9.1",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"quotation-not-indicated",descriptions:{en:{shortText:"Quotation is missing semantics",description:"The element is a quotation, but is not marked as such."}},checkpoints:[{checkpoint:"1.3.1.a",standards:["wcag2a"],type:"issue",impact:2},{checkpoint:"en301549-9-1.3.1.a",standards:["EN-301-549"],type:"issue",impact:2},{checkpoint:"rgaa-9.4.1",standards:["RGAAv4"],type:"issue",impact:2}]},{id:"radio-missing-role-state",descriptions:{en:{shortText:"Radio button: Custom radio button does not have a role and/or state",description:"The custom radio button element is missing a role and/or selected state."}},checkpoints:[{checkpoint:"4.1.2.a",standards:["wcag2a"],type:"issue",impact:4},{checkpoint:"en301549-9-4.1.2.a",standards:["EN-301-549"],type:"issue",impact:4},{checkpoint:"rgaa-7.1.1",standards:["RGAAv4"],type:"issue",impact:4}]},{id:"reading-order-browse-outside-modal",descriptions:{en:{shortText:"Content outside modal is not hidden from screen readers",description:"Screen readers can read content outside the modal dialog."}},checkpoints:[{checkpoint:"1.3.2.a",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-1.3.2.a",standards:["EN-301-549"],type:"issue",impact:3}]},{id:"reading-order-content-mismatch",descriptions:{en:{shortText:"Static text displayed and screen reader announcement do not match",description:"Static text displayed and screen reader announcement do not match and the intended meaning of the content is changed."}},checkpoints:[{checkpoint:"1.3.2.a",standards:["wcag2a"],type:"issue",impact:4},{checkpoint:"en301549-9-1.3.2.a",standards:["EN-301-549"],type:"issue",impact:4}]},{id:"reading-order-content-skipped",descriptions:{en:{shortText:"Informative (static) content is not readable by a screen reader",description:"Informative (static) content is not readable by a screen reader."}},checkpoints:[{checkpoint:"1.3.2.a",standards:["wcag2a"],type:"issue",impact:4},{checkpoint:"en301549-9-1.3.2.a",standards:["EN-301-549"],type:"issue",impact:4}]},{id:"reading-order-footnote",descriptions:{en:{shortText:"Footnote reference is missing a link to the footnote content",description:"Footnote reference is missing a link to the footnote content."}},checkpoints:[{checkpoint:"1.3.2.a",standards:["wcag2a"],type:"best-practice",impact:2},{checkpoint:"en301549-9-1.3.2.a",standards:["EN-301-549"],type:"best-practice",impact:2}]},{id:"reading-order-footnote-return",descriptions:{en:{shortText:"Footnote link missing return-to-trigger link",description:"The footnote link takes you to the footnote at the bottom of the page but is missing a return-to-trigger link."}},checkpoints:[{checkpoint:"1.3.2.a",standards:["wcag2a"],type:"best-practice",impact:1},{checkpoint:"en301549-9-1.3.2.a",standards:["EN-301-549"],type:"best-practice",impact:1}]},{id:"reading-order-hidden-content",descriptions:{en:{shortText:"Hidden content is readable with a screen reader",description:"Content that is intended to be hidden from all users is readable with a screen reader."}},checkpoints:[{checkpoint:"1.3.2.a",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-1.3.2.a",standards:["EN-301-549"],type:"issue",impact:3}]},{id:"reading-order-layout-table-non-linear",descriptions:{en:{shortText:"Layout table reading order is not logical",description:"The reading order of the layout table does not make sense when linearized."}},checkpoints:[{checkpoint:"1.3.2.a",standards:["wcag2a"],type:"issue",impact:4},{checkpoint:"en301549-9-1.3.2.a",standards:["EN-301-549"],type:"issue",impact:4},{checkpoint:"rgaa-5.3.1",standards:["RGAAv4"],type:"issue",impact:4}]},{id:"reading-order-not-logical",descriptions:{en:{shortText:"Reading order of static content changes meaning",description:"The screen reader reading order of the content changes the intended meaning of the content."}},checkpoints:[{checkpoint:"1.3.2.a",standards:["wcag2a"],type:"issue",impact:4},{checkpoint:"en301549-9-1.3.2.a",standards:["EN-301-549"],type:"issue",impact:4}]},{id:"reading-order-visual-order-mismatch",descriptions:{en:{shortText:"Reading and visual order are not identical",description:"The reading order is not identical to the visual order."}},checkpoints:[{checkpoint:"1.3.2.a",standards:["wcag2a"],type:"best-practice",impact:3},{checkpoint:"en301549-9-1.3.2.a",standards:["EN-301-549"],type:"best-practice",impact:3}]},{id:"redundant-entry-required",descriptions:{en:{shortText:"Process requires a user to re-enter information",description:"Process requires a user to re-enter information."}},checkpoints:[{checkpoint:"3.3.7.a",standards:["wcag22aa"],type:"issue",impact:2},{checkpoint:"en301549-9-3.3.7.a",standards:["EN-301-549"],type:"issue",impact:2}]},{id:"resize-pinch-to-zoom-disabled",descriptions:{en:{shortText:"Pinch to zoom disabled",description:"The ability to pinch the screen to zoom has been disabled."}},checkpoints:[{checkpoint:"1.4.4.a",standards:["wcag2aa"],type:"issue",impact:3},{checkpoint:"en301549-9-1.4.4.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-10.4.1",standards:["RGAAv4"],type:"issue",impact:3},{checkpoint:"rgaa-10.4.2",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"resize-text-content-lost",descriptions:{en:{shortText:"Content is lost at 200% zoom",description:"Content is lost, clipped, or obscured when the page is zoomed to 200%."}},checkpoints:[{checkpoint:"1.4.4.a",standards:["wcag2aa"],type:"issue",impact:3},{checkpoint:"en301549-9-1.4.4.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-10.4.1",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"resize-text-does-not-respond",descriptions:{en:{shortText:"Text cannot be resized by 200%",description:"Text cannot be resized by 200% by browser zoom or increasing default font size."}},checkpoints:[{checkpoint:"1.4.4.a",standards:["wcag2aa"],type:"issue",impact:3},{checkpoint:"en301549-9-1.4.4.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-10.4.1",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"resize-text-function-lost",descriptions:{en:{shortText:"Functionality is lost at 200% zoom",description:"Functionality is lost when the page is zoomed to 200%."}},checkpoints:[{checkpoint:"1.4.4.a",standards:["wcag2aa"],type:"issue",impact:3},{checkpoint:"en301549-9-1.4.4.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-10.4.1",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"resize-text-only",descriptions:{en:{shortText:"Content is lost when only the text is zoomed",description:"Content is lost, clipped, or obscured when only the text is zoomed to 200%."}},checkpoints:[{checkpoint:"1.4.4.a",standards:["wcag2aa"],type:"best-practice",impact:2},{checkpoint:"en301549-9-1.4.4.a",standards:["EN-301-549"],type:"best-practice",impact:2},{checkpoint:"rgaa-10.4.1",standards:["RGAAv4"],type:"best-practice",impact:2}]},{id:"select-missing-role-state",descriptions:{en:{shortText:"Select: Custom select does not have a role and/or state",description:"The custom select element is missing required roles and/or states or properties."}},checkpoints:[{checkpoint:"4.1.2.a",standards:["wcag2a"],type:"issue",impact:4},{checkpoint:"en301549-9-4.1.2.a",standards:["EN-301-549"],type:"issue",impact:4},{checkpoint:"rgaa-7.1.1",standards:["RGAAv4"],type:"issue",impact:4}]},{id:"semantic-data-table",descriptions:{en:{shortText:"Content should be in a data table but is not",description:"The content visually appears to be a data table but is not marked up as one."}},checkpoints:[{checkpoint:"1.3.1.b",standards:["wcag2a"],type:"issue",impact:4},{checkpoint:"en301549-9-1.3.1.b",standards:["EN-301-549"],type:"issue",impact:4}]},{id:"semantic-data-table-headers",descriptions:{en:{shortText:"Data table has missing or incomplete header cell markup",description:"The data table has missing or incomplete header cell markup."}},checkpoints:[{checkpoint:"1.3.1.b",standards:["wcag2a"],type:"issue",impact:4},{checkpoint:"en301549-9-1.3.1.b",standards:["EN-301-549"],type:"issue",impact:4},{checkpoint:"rgaa-5.7.1",standards:["RGAAv4"],type:"issue",impact:4},{checkpoint:"rgaa-5.7.2",standards:["RGAAv4"],type:"issue",impact:4}]},{id:"semantic-del-ins-missing",descriptions:{en:{shortText:"Deleted or inserted text is not identified for screen readers",description:"Text that is shown visually as being deleted or inserted is not identified for screen readers either programmatically or in text."}},checkpoints:[{checkpoint:"1.3.1.a",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-1.3.1.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-10.1.2",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"semantic-del-ins-plus-text",descriptions:{en:{shortText:"Use of DEL or INS elements is not supported by all screen readers",description:"Use of DEL or INS elements is not supported by all screen readers."}},checkpoints:[{checkpoint:"1.3.1.a",standards:["wcag2a"],type:"best-practice",impact:2},{checkpoint:"en301549-9-1.3.1.a",standards:["EN-301-549"],type:"best-practice",impact:2},{checkpoint:"rgaa-10.1.2",standards:["RGAAv4"],type:"best-practice",impact:2}]},{id:"semantic-description-list",descriptions:{en:{shortText:"Description list not marked up properly",description:"The description list is not marked up properly."}},checkpoints:[{checkpoint:"1.3.1.f",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-1.3.1.f",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-9.3.3",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"semantic-heading",descriptions:{en:{shortText:"Visual heading text is not marked as heading",description:"Text appears and functions like a section heading but is not marked up as such."}},checkpoints:[{checkpoint:"1.3.1.e",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-1.3.1.e",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-9.1.3",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"semantic-heading-misused",descriptions:{en:{shortText:"Text should not be marked as a heading",description:"Text that does not serve as a section heading is inappropriately coded as a heading."}},checkpoints:[{checkpoint:"1.3.1.e",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-1.3.1.e",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-9.1.3",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"semantic-hidden",descriptions:{en:{shortText:'aria-hidden="true" is used incorrectly',description:'aria-hidden="true" is used on informative content making it inaccessible to assistive technology.'}},checkpoints:[{checkpoint:"1.3.2.a",standards:["wcag2a"],type:"issue",impact:4},{checkpoint:"en301549-9-1.3.2.a",standards:["EN-301-549"],type:"issue",impact:4}]},{id:"semantic-incorrect",descriptions:{en:{shortText:"Incorrect semantic markup",description:"Incorrect semantic markup is used."}},checkpoints:[{checkpoint:"1.3.1.a",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-1.3.1.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-8.2.1",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"semantic-list",descriptions:{en:{shortText:"Visual list is not marked up as list",description:"Content appears like a list but is not marked up as such."}},checkpoints:[{checkpoint:"1.3.1.f",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-1.3.1.f",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-9.3.1",standards:["RGAAv4"],type:"issue",impact:3},{checkpoint:"rgaa-9.3.2",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"semantic-list-nested",descriptions:{en:{shortText:"Nested list is not marked properly",description:"The nested list is not marked properly."}},checkpoints:[{checkpoint:"1.3.1.f",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-1.3.1.f",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-9.3.1",standards:["RGAAv4"],type:"issue",impact:3},{checkpoint:"rgaa-9.3.2",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"semantic-list-or-item",descriptions:{en:{shortText:"List or list item is not marked up properly",description:"The list or list item is not marked up properly."}},checkpoints:[{checkpoint:"1.3.1.f",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-1.3.1.f",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-9.3.1",standards:["RGAAv4"],type:"issue",impact:3},{checkpoint:"rgaa-9.3.2",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"semantic-list-unallowed-children",descriptions:{en:{shortText:"List element has direct children that are not allowed inside <ul> or <ol> elements",description:"List element has direct children that are not allowed inside <ul> or <ol> elements. Lists must only directly contain <li>, <script>, or <template> elements."}},checkpoints:[{checkpoint:"1.3.1.f",standards:["wcag2a"],type:"issue",impact:2},{checkpoint:"en301549-9-1.3.1.f",standards:["EN-301-549"],type:"issue",impact:2},{checkpoint:"rgaa-9.3.1",standards:["RGAAv4"],type:"issue",impact:2},{checkpoint:"rgaa-9.3.2",standards:["RGAAv4"],type:"issue",impact:2}]},{id:"semantic-list-used-for-presentation",descriptions:{en:{shortText:"Content is not a list but is marked as such",description:"Content is not a list but it is marked as such."}},checkpoints:[{checkpoint:"1.3.1.f",standards:["wcag2a"],type:"issue",impact:2},{checkpoint:"en301549-9-1.3.1.f",standards:["EN-301-549"],type:"issue",impact:2},{checkpoint:"rgaa-9.3.1",standards:["RGAAv4"],type:"issue",impact:2},{checkpoint:"rgaa-9.3.2",standards:["RGAAv4"],type:"issue",impact:2}]},{id:"semantic-markup-used-for-presentation",descriptions:{en:{shortText:"Element inappropriately uses semantic markup",description:"Semantic markup has been used inappropriately and misrepresents the meaning, structure, or relationships of the content."}},checkpoints:[{checkpoint:"1.3.1.a",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-1.3.1.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-8.9.1",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"semantic-nav",descriptions:{en:{shortText:"Group of navigation links missing semantics",description:"A visual group of navigation links is not marked up semantically to convey their relationship. Some possible solutions include using list(s), role of navigation, nav element, headings, menu or menubar."}},checkpoints:[{checkpoint:"1.3.1.a",standards:["wcag2a"],type:"issue",impact:2},{checkpoint:"en301549-9-1.3.1.a",standards:["EN-301-549"],type:"issue",impact:2}]},{id:"semantic-role-presentation",descriptions:{en:{shortText:'Role="presentation" or "none" is used incorrectly',description:'role="presentation" or "none" is used on content that conveys semantic information, so the semantic information is not conveyed.'}},checkpoints:[{checkpoint:"1.3.1.a",standards:["wcag2a"],type:"issue",impact:4},{checkpoint:"en301549-9-1.3.1.a",standards:["EN-301-549"],type:"issue",impact:4},{checkpoint:"rgaa-8.9.1",standards:["RGAAv4"],type:"issue",impact:4}]},{id:"semantic-strong-or-emphasis-not-used",descriptions:{en:{shortText:"B or I used instead of STRONG or EM",description:"B or I used instead of STRONG or EM."}},checkpoints:[{checkpoint:"1.3.1.a",standards:["wcag2a"],type:"best-practice",impact:1},{checkpoint:"en301549-9-1.3.1.a",standards:["EN-301-549"],type:"best-practice",impact:1},{checkpoint:"rgaa-10.1.2",standards:["RGAAv4"],type:"best-practice",impact:1}]},{id:"speech-accessible-name-interspersed",descriptions:{en:{shortText:"Accessible name has interspersed words",description:"Accessible name contains the visible label text, but one or more other words is interspersed in the label."}},checkpoints:[{checkpoint:"2.5.3.a",standards:["wcag21a"],type:"issue",impact:3},{checkpoint:"en301549-9-2.5.3.a",standards:["EN-301-549"],type:"issue",impact:3}]},{id:"speech-accessible-name-mismatch",descriptions:{en:{shortText:"Accessible name does not contain visible label",description:"Accessible name does not contain the visible label text."}},checkpoints:[{checkpoint:"2.5.3.a",standards:["wcag21a"],type:"issue",impact:3},{checkpoint:"en301549-9-2.5.3.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-6.1.5",standards:["RGAAv4"],type:"issue",impact:3},{checkpoint:"rgaa-11.2.5",standards:["RGAAv4"],type:"issue",impact:3},{checkpoint:"rgaa-11.9.2",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"speech-accessible-name-missing",descriptions:{en:{shortText:"Accessible name missing",description:"The visible label is not in the accessible name because the label is not associated with the control."}},checkpoints:[{checkpoint:"2.5.3.a",standards:["wcag21a"],type:"issue",impact:3},{checkpoint:"en301549-9-2.5.3.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-11.2.5",standards:["RGAAv4"],type:"issue",impact:3},{checkpoint:"rgaa-11.9.2",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"speech-accessible-name-order",descriptions:{en:{shortText:"Accessible name not same order as visible label",description:"Accessible name contains the visible label text, but the words of the visible label are not in the same order as they are in the accessible name."}},checkpoints:[{checkpoint:"2.5.3.a",standards:["wcag21a"],type:"issue",impact:3},{checkpoint:"en301549-9-2.5.3.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-11.2.5",standards:["RGAAv4"],type:"issue",impact:3},{checkpoint:"rgaa-11.9.2",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"speech-accessible-name-other-words-before",descriptions:{en:{shortText:"Accessible name other words before",description:"Accessible name contains the visible label text, but one or more other words comes before the visible label text."}},checkpoints:[{checkpoint:"2.5.3.a",standards:["wcag21a"],type:"best-practice",impact:2},{checkpoint:"en301549-9-2.5.3.a",standards:["EN-301-549"],type:"best-practice",impact:2}]},{id:"state-aria-expanded-missing-incorrect",descriptions:{en:{shortText:"State: Expand/collapse state of the element is missing or incorrect",description:"The expand/collapse state of a toggle-type element is missing or is used incorrectly."}},checkpoints:[{checkpoint:"4.1.2.a",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-4.1.2.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-7.1.1",standards:["RGAAv4"],type:"issue",impact:3},{checkpoint:"rgaa-7.1.2",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"state-color-only",descriptions:{en:{shortText:"Color alone is used to visually convey the state of a control",description:"A change in color is used to visually convey the state of a control, and the contrast difference between the states is less than 3:1."}},checkpoints:[{checkpoint:"1.4.1.a",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-1.4.1.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-3.1.4",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"state-selected-missing-incorrect",descriptions:{en:{shortText:"State: Selected state of the element is missing or incorrect",description:"The selected state of an element is not conveyed to screen reader users."}},checkpoints:[{checkpoint:"4.1.2.a",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-4.1.2.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-7.1.1",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"state-table-sort",descriptions:{en:{shortText:"State: Table sort state is missing or incorrect",description:"The sorted state (ascending/descending) of table columns is missing or incorrect."}},checkpoints:[{checkpoint:"4.1.2.a",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-4.1.2.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-7.1.1",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"static-focus",descriptions:{en:{shortText:"Static element receives focus",description:"A static (non-interactive) element receives tab focus. This may cause confusion and/or too many keystrokes to navigate the page."}},checkpoints:[{checkpoint:"2.4.3.a",standards:["wcag2a"],type:"best-practice",impact:2},{checkpoint:"en301549-9-2.4.3.a",standards:["EN-301-549"],type:"best-practice",impact:2},{checkpoint:"rgaa-12.8.1",standards:["RGAAv4"],type:"best-practice",impact:2}]},{id:"status-msg-not-auto-announced",descriptions:{en:{shortText:"Status message not automatically announced",description:"Status message is not automatically announced by the screen reader."}},checkpoints:[{checkpoint:"4.1.3.a",standards:["wcag21aa"],type:"issue",impact:3},{checkpoint:"en301549-9-4.1.3.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-7.5.1",standards:["RGAAv4"],type:"issue",impact:3},{checkpoint:"rgaa-7.5.2",standards:["RGAAv4"],type:"issue",impact:3},{checkpoint:"rgaa-7.5.3",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"structure-confusing-skiplink",descriptions:{en:{shortText:"Skip link is not appropriate",description:"There is no repetitive block of content/links on this page. The presence of the skip link is therefore confusing."}},checkpoints:[{checkpoint:"2.4.1.a",standards:["wcag2a"],type:"best-practice",impact:1},{checkpoint:"en301549-9-2.4.1.a",standards:["EN-301-549"],type:"best-practice",impact:1},{checkpoint:"rgaa-12.7.1",standards:["RGAAv4"],type:"best-practice",impact:1}]},{id:"structure-dom-visual-mismatch",descriptions:{en:{shortText:"DOM order does not match visual order",description:"The DOM order does not match the visual order."}},checkpoints:[{checkpoint:"2.4.3.a",standards:["wcag2a"],type:"best-practice",impact:2},{checkpoint:"en301549-9-2.4.3.a",standards:["EN-301-549"],type:"best-practice",impact:2}]},{id:"structure-duplicate-ids",descriptions:{en:{shortText:"Page contains duplicate IDs",description:"The page contains duplicate id values."}},checkpoints:[{checkpoint:"4.1.1.a",standards:["wcag2a"],type:"best-practice",impact:2},{checkpoint:"en301549-9-4.1.1.a",standards:["EN-301-549"],type:"best-practice",impact:2}]},{id:"structure-finding-pages-difficult",descriptions:{en:{shortText:"Fewer than two ways provided to find other pages",description:"Fewer than two ways to find other pages on the site are provided."}},checkpoints:[{checkpoint:"2.4.5.a",standards:["wcag2aa"],type:"issue",impact:2},{checkpoint:"en301549-9-2.4.5.a",standards:["EN-301-549"],type:"issue",impact:2},{checkpoint:"rgaa-12.1.1",standards:["RGAAv4"],type:"issue",impact:2}]},{id:"structure-major-problems",descriptions:{en:{shortText:"Page is missing skip link, headings or landmarks",description:"The page does not have at least one of: a skip link, proper heading structure, HTML5 sectioning elements, or ARIA landmarks."}},checkpoints:[{checkpoint:"2.4.1.a",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-2.4.1.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-12.6.1",standards:["RGAAv4"],type:"issue",impact:3},{checkpoint:"rgaa-9.1.3",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"structure-no-nav-bypass-skiplink",descriptions:{en:{shortText:"User cannot skip navigation links",description:"There is no skip link to bypass the navigation links and there are at least 4 links in the top navigation."}},checkpoints:[{checkpoint:"2.4.1.a",standards:["wcag2a"],type:"best-practice",impact:2},{checkpoint:"en301549-9-2.4.1.a",standards:["EN-301-549"],type:"best-practice",impact:2},{checkpoint:"rgaa-12.7.1",standards:["RGAAv4"],type:"best-practice",impact:2}]},{id:"structure-skiplink-broken",descriptions:{en:{shortText:"Skip link is broken",description:"The skip link provided does not function as expected / is broken."}},checkpoints:[{checkpoint:"2.4.1.a",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-2.4.1.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-12.7.2",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"structure-skiplink-invisible",descriptions:{en:{shortText:"Skip link is not visible on focus",description:"The skip link does not become visible when it receives focus. Sighted keyboard-only users are unable to use the link."}},checkpoints:[{checkpoint:"2.4.1.a",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-2.4.1.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-12.7.2",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"structure-skiplink-not-first",descriptions:{en:{shortText:"Skip link is not first link",description:"The skip link to the main content is not the first link on the page."}},checkpoints:[{checkpoint:"2.4.1.a",standards:["wcag2a"],type:"best-practice",impact:1},{checkpoint:"en301549-9-2.4.1.a",standards:["EN-301-549"],type:"best-practice",impact:1},{checkpoint:"rgaa-12.7.1",standards:["RGAAv4"],type:"best-practice",impact:1}]},{id:"structure-skiplink-webkit-incompatible",descriptions:{en:{shortText:"Skip link does not work in webkit",description:"The skip nav link does not work in webkit browsers."}},checkpoints:[{checkpoint:"2.4.1.a",standards:["wcag2a"],type:"best-practice",impact:1},{checkpoint:"en301549-9-2.4.1.a",standards:["EN-301-549"],type:"best-practice",impact:1},{checkpoint:"rgaa-12.7.2",standards:["RGAAv4"],type:"best-practice",impact:1}]},{id:"tab-order-bad-index",descriptions:{en:{shortText:"Use of positive tabindex value is not logical",description:"The use of positive tabindex value(s) is not logical and has created a tab order that does not preserve the meaning of the content."}},checkpoints:[{checkpoint:"2.4.3.a",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-2.4.3.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-12.8.1",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"tab-order-illogical",descriptions:{en:{shortText:"Keyboard focus order is not logical",description:"Keyboard focus order is not logical in such a way that it affects the meaning or operability of the content."}},checkpoints:[{checkpoint:"2.4.3.a",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-2.4.3.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-12.8.1",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"table-caption-not-associated",descriptions:{en:{shortText:"Visual caption is not marked with <caption>",description:"The visual caption above the table is not programmatically associated with the table."}},checkpoints:[{checkpoint:"1.3.1.b",standards:["wcag2a"],type:"best-practice",impact:1},{checkpoint:"en301549-9-1.3.1.b",standards:["EN-301-549"],type:"best-practice",impact:1}]},{id:"table-complex-association-incorrect",descriptions:{en:{shortText:"Complex table headers-id association is incorrect",description:"The headers + id association is not correct."}},checkpoints:[{checkpoint:"1.3.1.b",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-1.3.1.b",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-5.7.4",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"table-complex-multiple-associations",descriptions:{en:{shortText:"Both <th>/scope and headers-id are used",description:"Both <th> with scope attributes and headers + id association are used. Choose one method to associate the header cells with the data cells."}},checkpoints:[{checkpoint:"1.3.1.b",standards:["wcag2a"],type:"best-practice",impact:1},{checkpoint:"en301549-9-1.3.1.b",standards:["EN-301-549"],type:"best-practice",impact:1},{checkpoint:"rgaa-5.7.4",standards:["RGAAv4"],type:"best-practice",impact:1}]},{id:"table-complex-no-header-associations",descriptions:{en:{shortText:"Complex table is missing headers-id association",description:"A table is complex and does not use the headers + id method to mark up column and row header cells."}},checkpoints:[{checkpoint:"1.3.1.b",standards:["wcag2a"],type:"issue",impact:4},{checkpoint:"en301549-9-1.3.1.b",standards:["EN-301-549"],type:"issue",impact:4},{checkpoint:"rgaa-5.6.4",standards:["RGAAv4"],type:"issue",impact:4},{checkpoint:"rgaa-5.7.4",standards:["RGAAv4"],type:"issue",impact:4}]},{id:"table-complex-simplify",descriptions:{en:{shortText:"Simplify complex table",description:"The table is complex and should be broken into separate simple tables."}},checkpoints:[{checkpoint:"1.3.1.b",standards:["wcag2a"],type:"best-practice",impact:2},{checkpoint:"en301549-9-1.3.1.b",standards:["EN-301-549"],type:"best-practice",impact:2}]},{id:"table-data-headers-blank",descriptions:{en:{shortText:"Not an issue: <th> cell is blank",description:"A table is permitted to have blank <th> cells."}},checkpoints:[{checkpoint:"1.3.1.b",standards:["wcag2a"],type:"issue",impact:0},{checkpoint:"en301549-9-1.3.1.b",standards:["EN-301-549"],type:"issue",impact:0}]},{id:"table-data-headers-captiony",descriptions:{en:{shortText:"First row of data table is really a caption",description:"The first row of the table acts more like a caption for the table than an actual header row."}},checkpoints:[{checkpoint:"1.3.1.b",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-1.3.1.b",standards:["EN-301-549"],type:"issue",impact:3}]},{id:"table-data-multiple-combined",descriptions:{en:{shortText:"More than one table element used to create a single table",description:"More than one table element is used to create a single table so header and data cell association is not correct and table navigation is broken."}},checkpoints:[{checkpoint:"1.3.1.b",standards:["wcag2a"],type:"issue",impact:4},{checkpoint:"en301549-9-1.3.1.b",standards:["EN-301-549"],type:"issue",impact:4}]},{id:"table-data-nested",descriptions:{en:{shortText:"Data tables are nested",description:"There are nested data tables."}},checkpoints:[{checkpoint:"1.3.1.b",standards:["wcag2a"],type:"best-practice",impact:2},{checkpoint:"en301549-9-1.3.1.b",standards:["EN-301-549"],type:"best-practice",impact:2}]},{id:"table-data-not-header",descriptions:{en:{shortText:"Data cell is marked as a header cell",description:"A data cell is inappropriately marked as a table header cell."}},checkpoints:[{checkpoint:"1.3.1.b",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-1.3.1.b",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-5.6.3",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"table-data-summary-caption",descriptions:{en:{shortText:"Summary and <caption> are identical",description:"The summary attribute and <caption> element should not be identical."}},checkpoints:[{checkpoint:"1.3.1.b",standards:["wcag2a"],type:"best-practice",impact:1},{checkpoint:"en301549-9-1.3.1.b",standards:["EN-301-549"],type:"best-practice",impact:1}]},{id:"table-layout-header-markup",descriptions:{en:{shortText:"Layout table uses data table structural markup",description:"Layout table uses data table markup: <th> or <caption> elements or summary, headers, or scope attributes."}},checkpoints:[{checkpoint:"1.3.1.b",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-1.3.1.b",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-5.8.1",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"table-layout-improper-role",descriptions:{en:{shortText:"Layout table conveys table semantics",description:'A layout table is missing role="presentation" or "none" on the <table> element.'}},checkpoints:[{checkpoint:"1.3.1.b",standards:["wcag2a"],type:"best-practice",impact:2},{checkpoint:"en301549-9-1.3.1.b",standards:["EN-301-549"],type:"best-practice",impact:2},{checkpoint:"rgaa-5.8.1",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"table-layout-use-css",descriptions:{en:{shortText:"Layout table is used instead of CSS",description:"A layout table is used to arrange content on the page rather than CSS."}},checkpoints:[{checkpoint:"1.3.1.b",standards:["wcag2a"],type:"best-practice",impact:1},{checkpoint:"en301549-9-1.3.1.b",standards:["EN-301-549"],type:"best-practice",impact:1}]},{id:"table-name-value-pairs",descriptions:{en:{shortText:"Data table for name value pairs",description:"Name value pairs are present and are not inside a data table."}},checkpoints:[{checkpoint:"1.3.1.b",standards:["wcag2a"],type:"best-practice",impact:2},{checkpoint:"en301549-9-1.3.1.b",standards:["EN-301-549"],type:"best-practice",impact:2}]},{id:"table-simple-headers-unscoped",descriptions:{en:{shortText:"Scope attribute is missing",description:"The table has both row and column headers but is missing the scope attribute."}},checkpoints:[{checkpoint:"1.3.1.b",standards:["wcag2a"],type:"best-practice",impact:1},{checkpoint:"en301549-9-1.3.1.b",standards:["EN-301-549"],type:"best-practice",impact:1},{checkpoint:"rgaa-5.6.1",standards:["RGAAv4"],type:"issue",impact:1},{checkpoint:"rgaa-5.6.2",standards:["RGAAv4"],type:"issue",impact:1}]},{id:"table-simple-scope-incorrect",descriptions:{en:{shortText:"Scope attribute is incorrect",description:"The table uses the scope attribute incorrectly."}},checkpoints:[{checkpoint:"1.3.1.b",standards:["wcag2a"],type:"issue",impact:4},{checkpoint:"en301549-9-1.3.1.b",standards:["EN-301-549"],type:"issue",impact:4},{checkpoint:"rgaa-5.7.2",standards:["RGAAv4"],type:"issue",impact:4}]},{id:"table-simple-scope-invalid",descriptions:{en:{shortText:"Scope attribute is invalid",description:"The scope attribute value is not a valid value. Valid values are row, col, rowgroup, or colgroup."}},checkpoints:[{checkpoint:"1.3.1.b",standards:["wcag2a"],type:"issue",impact:4},{checkpoint:"en301549-9-1.3.1.b",standards:["EN-301-549"],type:"issue",impact:4},{checkpoint:"rgaa-5.7.2",standards:["RGAAv4"],type:"issue",impact:4}]},{id:"table-simple-scope-on-td",descriptions:{en:{shortText:"Scope is used on <td> element",description:"The scope attribute is used on <td> elements. This is obsolete. Use a <th> element instead."}},checkpoints:[{checkpoint:"1.3.1.b",standards:["wcag2a"],type:"issue",impact:2},{checkpoint:"en301549-9-1.3.1.b",standards:["EN-301-549"],type:"issue",impact:2},{checkpoint:"rgaa-5.6.3",standards:["RGAAv4"],type:"issue",impact:2}]},{id:"target-size-enhanced",descriptions:{en:{shortText:"Target is not 44x44 px in size or spacing",description:"Target is not at least 44x44 px in size or spacing."}},checkpoints:[{checkpoint:"2.5.8.a",standards:["wcag22aa"],type:"best-practice",impact:2},{checkpoint:"en301549-9-2.5.8.a",standards:["EN-301-549"],type:"best-practice",impact:2}]},{id:"target-size-small",descriptions:{en:{shortText:"Target does not meet minimum size or spacing",description:"Target does not meet minimum 24 by 24 px size or spacing."}},checkpoints:[{checkpoint:"2.5.8.a",standards:["wcag22aa"],type:"issue",impact:3},{checkpoint:"en301549-9-2.5.8.a",standards:["EN-301-549"],type:"issue",impact:3}]},{id:"text-alternative-inadequate",descriptions:{en:{shortText:"Text description is incorrect or inadequate",description:"The text description provided is not correct or is inadequate."}},checkpoints:[{checkpoint:"1.2.3.a",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-1.2.3.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-1.3.1",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"text-spacing-cut-off",descriptions:{en:{shortText:"Text spacing content cut off",description:"When text spacing is adjusted, some content cannot be seen because it is cut off."}},checkpoints:[{checkpoint:"1.4.12.a",standards:["wcag21aa"],type:"issue",impact:3},{checkpoint:"en301549-9-1.4.12.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-10.12.1",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"text-spacing-not-adjusted",descriptions:{en:{shortText:"Text spacing not adjusted",description:"The spacing between letters, words, lines of text and/or paragraphs cannot be adjusted."}},checkpoints:[{checkpoint:"1.4.12.a",standards:["wcag21aa"],type:"issue",impact:3},{checkpoint:"en301549-9-1.4.12.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-10.12.1",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"text-spacing-overlap",descriptions:{en:{shortText:"Text spacing content overlaps",description:"When text spacing is adjusted, some content is unclear because it overlaps with other content."}},checkpoints:[{checkpoint:"1.4.12.a",standards:["wcag21aa"],type:"issue",impact:3},{checkpoint:"en301549-9-1.4.12.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-10.12.1",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"text-transcript-hard-to-find",descriptions:{en:{shortText:"Transcript is hard to find",description:"A text transcript is provided but it is difficult to locate."}},checkpoints:[{checkpoint:"1.2.1.a",standards:["wcag2a"],type:"best-practice",impact:2},{checkpoint:"1.2.3.a",standards:["wcag2a"],type:"best-practice",impact:2},{checkpoint:"en301549-9-1.2.3.a",standards:["EN-301-549"],type:"best-practice",impact:2},{checkpoint:"en301549-9-1.2.1.a",standards:["EN-301-549"],type:"best-practice",impact:2}]},{id:"text-transcript-inadequate",descriptions:{en:{shortText:"Transcript is incorrect or inadequate",description:"A text transcript is provided, but it is incorrect or inadequate."}},checkpoints:[{checkpoint:"1.2.1.a",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-1.2.1.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-4.1.2",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"text-transcript-incomplete",descriptions:{en:{shortText:"Transcript does not contain all dialogue",description:"A text transcript is provided but some of the dialogue is missing."}},checkpoints:[{checkpoint:"1.2.1.a",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-1.2.1.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-4.1.2",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"text-transcript-missing",descriptions:{en:{shortText:"Transcript is not provided",description:"No text transcript is provided."}},checkpoints:[{checkpoint:"1.2.1.a",standards:["wcag2a"],type:"issue",impact:4},{checkpoint:"en301549-9-1.2.1.a",standards:["EN-301-549"],type:"issue",impact:4},{checkpoint:"rgaa-4.1.1",standards:["RGAAv4"],type:"issue",impact:4}]},{id:"text-transcript-undescribed-effects",descriptions:{en:{shortText:"Transcript does not describe important sounds",description:"A text transcript is provided but it doesn't describe all important sound effects."}},checkpoints:[{checkpoint:"1.2.1.a",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-1.2.1.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-4.1.2",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"text-transcript-unidentified-speakers",descriptions:{en:{shortText:"Transcript does not identify all speakers",description:"A text transcript is provided but it doesn't identify all the speakers."}},checkpoints:[{checkpoint:"1.2.1.a",standards:["wcag2a"],type:"issue",impact:2},{checkpoint:"en301549-9-1.2.1.a",standards:["EN-301-549"],type:"issue",impact:2},{checkpoint:"rgaa-4.1.2",standards:["RGAAv4"],type:"issue",impact:2}]},{id:"timeout-extension-grace",descriptions:{en:{shortText:"User is not given 20 secs to extend timeout",description:'The content time out warning does not give the user at least 20 seconds to extend the session with a simple action (for example, "press the spacebar").'}},checkpoints:[{checkpoint:"2.2.1.a",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-2.2.1.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-13.1.3",standards:["RGAAv4"],type:"issue",impact:4}]},{id:"timeout-no-control-toast",descriptions:{en:{shortText:"Timed Toast Without User Control",description:"Toast notifications automatically disappear after a fixed time period without user control, preventing users from reading or acting on the information at their own pace."}},checkpoints:[{checkpoint:"2.2.1.a",standards:["wcag2a"],type:"issue",impact:4},{checkpoint:"rgaa-13.1.3",standards:["RGAAv4"],type:"issue",impact:4}]},{id:"timeout-no-warning",descriptions:{en:{shortText:"User is not warned of timeout",description:"Content times out without providing any warning to the user."}},checkpoints:[{checkpoint:"2.2.1.a",standards:["wcag2a"],type:"issue",impact:4},{checkpoint:"en301549-9-2.2.1.a",standards:["EN-301-549"],type:"issue",impact:4},{checkpoint:"rgaa-13.1.4",standards:["RGAAv4"],type:"issue",impact:4}]},{id:"timeout-not-announced",descriptions:{en:{shortText:"Screen reader user is not warned of timeout",description:"Screen reader users are not made aware of the presence of the time out warning."}},checkpoints:[{checkpoint:"2.2.1.a",standards:["wcag2a"],type:"issue",impact:4},{checkpoint:"en301549-9-2.2.1.a",standards:["EN-301-549"],type:"issue",impact:4}]},{id:"timeout-not-extensible",descriptions:{en:{shortText:"User cannot turn off, adjust or extend time",description:"The timeout warning does not provide a way to turn off the time limit or to adjust or extend the limit at least 10 times."}},checkpoints:[{checkpoint:"2.2.1.a",standards:["wcag2a"],type:"issue",impact:4},{checkpoint:"en301549-9-2.2.1.a",standards:["EN-301-549"],type:"issue",impact:4},{checkpoint:"rgaa-13.1.3",standards:["RGAAv4"],type:"issue",impact:4}]},{id:"timeout-screenreader",descriptions:{en:{shortText:"Timeout mechanism is not screen reader accessible",description:"The mechanism to extend the session is not accessible by a screen reader."}},checkpoints:[{checkpoint:"2.2.1.a",standards:["wcag2a"],type:"issue",impact:4},{checkpoint:"en301549-9-2.2.1.a",standards:["EN-301-549"],type:"issue",impact:4},{checkpoint:"rgaa-13.1.4",standards:["RGAAv4"],type:"issue",impact:4}]},{id:"title-empty",descriptions:{en:{shortText:"Page <title> element is empty",description:"The <title> element on this page is empty."}},checkpoints:[{checkpoint:"2.4.2.a",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-2.4.2.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-8.5.1",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"title-iframe-duplicate",descriptions:{en:{shortText:"iframe title is not unique",description:"The iframe's title is not unique - another iframe on the same page has the same title."}},checkpoints:[{checkpoint:"2.4.6.b",standards:["wcag2a"],type:"issue",impact:2},{checkpoint:"en301549-9-2.4.6.b",standards:["EN-301-549"],type:"issue",impact:2},{checkpoint:"rgaa-2.2.1",standards:["RGAAv4"],type:"issue",impact:2}]},{id:"title-iframe-missing",descriptions:{en:{shortText:"iframe: iframe does not have a title",description:"The iframe is missing a title."}},checkpoints:[{checkpoint:"4.1.2.a",standards:["wcag2a"],type:"issue",impact:2},{checkpoint:"en301549-9-4.1.2.a",standards:["EN-301-549"],type:"issue",impact:2},{checkpoint:"rgaa-2.1.1",standards:["RGAAv4"],type:"issue",impact:2}]},{id:"title-iframe-not-meaningful",descriptions:{en:{shortText:"title for iframe is not meaningful",description:"The title for the iframe is not meaningful."}},checkpoints:[{checkpoint:"2.4.6.b",standards:["wcag2a"],type:"issue",impact:2},{checkpoint:"en301549-9-2.4.6.b",standards:["EN-301-549"],type:"issue",impact:2},{checkpoint:"rgaa-2.2.1",standards:["RGAAv4"],type:"issue",impact:2}]},{id:"title-missing",descriptions:{en:{shortText:"Page is missing a <title> element",description:"This page is missing a <title> element."}},checkpoints:[{checkpoint:"2.4.2.a",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-2.4.2.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-8.5.1",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"title-not-meaningful",descriptions:{en:{shortText:"Page <title> element does not identify purpose of page",description:"The <title> element on this page does not identify the contents or purpose of the page."}},checkpoints:[{checkpoint:"2.4.2.a",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-2.4.2.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-8.6.1",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"title-not-unique",descriptions:{en:{shortText:"Page <title> is not unique",description:"The <title> element on this page is not unique within the website or cohesive context of a website."}},checkpoints:[{checkpoint:"2.4.2.a",standards:["wcag2a"],type:"best-practice",impact:2},{checkpoint:"en301549-9-2.4.2.a",standards:["EN-301-549"],type:"best-practice",impact:2},{checkpoint:"rgaa-8.6.1",standards:["RGAAv4"],type:"best-practice",impact:2}]},{id:"toast-dismiss-on-scroll",descriptions:{en:{shortText:"Toast Dismisses on Scroll or Focus Change",description:"Toast notifications automatically disappear when the user scrolls or changes focus, preventing users from reading or acting on the information at their own pace."}},checkpoints:[{checkpoint:"2.2.1.a",standards:["wcag2a"],type:"best-practice",impact:1},{checkpoint:"rgaa-13.1.3",standards:["RGAAv4"],type:"best-practice",impact:1}]},{id:"touch-area-spacing",descriptions:{en:{shortText:"Inactive space between elements too small",description:"There are less than six pixels between a touch target area and an adjacent touch target."}},checkpoints:[{checkpoint:"2.5.5.a",standards:["wcag21aaa"],type:"best-practice",impact:1},{checkpoint:"en301549-9-2.5.5.a",standards:["EN-301-549"],type:"best-practice",impact:1}]},{id:"touch-down-event",descriptions:{en:{shortText:"Irreversible action occurs on down event",description:"Control submits an irreversible action on the down event."}},checkpoints:[{checkpoint:"2.5.2.a",standards:["wcag21a"],type:"issue",impact:3},{checkpoint:"en301549-9-2.5.2.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-13.11.1",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"touch-element-grouped",descriptions:{en:{shortText:"Adjacent touch elements are redundant",description:"Adjacent actionable touch elements that go to the same screen or have the same action are not grouped into one touch zone."}},checkpoints:[{checkpoint:"2.5.5.a",standards:["wcag21aaa"],type:"best-practice",impact:2},{checkpoint:"en301549-9-2.5.5.a",standards:["EN-301-549"],type:"best-practice",impact:2}]},{id:"touch-path-based-gesture-required",descriptions:{en:{shortText:"Path-based gesture required",description:"Functionality (excluding operating system, user agent or assistive technology functions) relies on path-based gestures."}},checkpoints:[{checkpoint:"2.5.1.a",standards:["wcag21a"],type:"issue",impact:3},{checkpoint:"en301549-9-2.5.1.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-13.10.2",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"touch-single-point-action-not-avail",descriptions:{en:{shortText:"Single-pointer action not available ",description:"Functionality (excluding operating system, user agent or assistive technology functions) requires multi-point gestures."}},checkpoints:[{checkpoint:"2.5.1.a",standards:["wcag21a"],type:"issue",impact:3},{checkpoint:"en301549-9-2.5.1.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-13.10.1",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"touch-size-small",descriptions:{en:{shortText:"Touch target size less than 44px",description:"The touch target size of an actionable element is less than 44px in width and/or height."}},checkpoints:[{checkpoint:"2.5.5.a",standards:["wcag21aaa","aenb-77"],type:"issue",impact:2},{checkpoint:"en301549-9-2.5.5.a",standards:["EN-301-549"],type:"issue",impact:2}]},{id:"unexpected-change-on-focus",descriptions:{en:{shortText:"There is a substantial, unannounced context change on focus",description:"When a component receives keyboard focus there is a significant change of content in the page (above the user's point of regard) that changes the meaning of the page."}},checkpoints:[{checkpoint:"3.2.1.a",standards:["wcag2a"],type:"issue",impact:4},{checkpoint:"en301549-9-3.2.1.a",standards:["EN-301-549"],type:"issue",impact:4},{checkpoint:"rgaa-7.3.2",standards:["RGAAv4"],type:"issue",impact:4}]},{id:"unexpected-change-on-focus-screen-reader",descriptions:{en:{shortText:"There is a substantial, unannounced context change on screen reader focus",description:"When a component receives screen reader focus there is a significant change of content in the page (above the user's point of regard) that changes the meaning of the page."}},checkpoints:[{checkpoint:"3.2.1.a",standards:["wcag2a"],type:"issue",impact:4},{checkpoint:"en301549-9-3.2.1.a",standards:["EN-301-549"],type:"issue",impact:4}]},{id:"unexpected-change-on-interaction",descriptions:{en:{shortText:"Form field causes unexpected change",description:"A change of context occurs without warning when the user changes the setting of a user interface control."}},checkpoints:[{checkpoint:"3.2.2.a",standards:["wcag2a"],type:"issue",impact:4},{checkpoint:"en301549-9-3.2.2.a",standards:["EN-301-549"],type:"issue",impact:4},{checkpoint:"rgaa-7.4.1",standards:["RGAAv4"],type:"issue",impact:4},{checkpoint:"rgaa-13.2.1",standards:["RGAAv4"],type:"issue",impact:4}]},{id:"unexpected-change-select",descriptions:{en:{shortText:"Arrow keys activate dropdown menu options",description:"A change of context occurs without warning while a user is using the keyboard to navigate a dropdown control, before actually selecting an option."}},checkpoints:[{checkpoint:"3.2.2.a",standards:["wcag2a"],type:"issue",impact:4},{checkpoint:"en301549-9-3.2.2.a",standards:["EN-301-549"],type:"issue",impact:4},{checkpoint:"rgaa-7.4.1",standards:["RGAAv4"],type:"issue",impact:4}]},{id:"unexpected-window-launch",descriptions:{en:{shortText:"New window opens automatically without warning",description:"A window is automatically launched without warning when the user inputs a value in a text field or selects a checkbox or radio button."}},checkpoints:[{checkpoint:"3.2.2.a",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-3.2.2.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-7.4.1",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"user-agent-semantic-del-ins",descriptions:{en:{shortText:"USER AGENT: Use of DEL or INS element is not supported by all screen readers",description:"USER AGENT: Use of DEL or INS element is not supported by all screen readers."}},checkpoints:[{checkpoint:"1.3.1.a",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-1.3.1.a",standards:["EN-301-549"],type:"issue",impact:3}]},{id:"video-transcript-missing",descriptions:{en:{shortText:"Video transcript missing",description:"The video is missing a full text transcript."}},checkpoints:[{checkpoint:"1.2.2.a",standards:["wcag2a"],type:"best-practice",impact:3},{checkpoint:"en301549-9-1.2.2.a",standards:["EN-301-549"],type:"best-practice",impact:3},{checkpoint:"rgaa-1.2.1",standards:["RGAAv4"],type:"best-practice",impact:3}]}]])}),Z=a.cw(function(e,t){function n(e){const t=`${e}-start`,a=`${e}-end`,n=()=>{performance.clearMarks(t),performance.clearMarks(a),performance.clearMeasures(e)};return{start:()=>{n(),performance.mark(t)},end:()=>performance.mark(a),clear:n,measure:()=>(performance.measure(e,t,a),performance.getEntriesByName(e,"measure")[0])}}a.d(t,{A:()=>n})}),X=a.cw(function(e,t){const n=["organization","enterpriseId","keycloakId","userId"];a.d(t,["l",0,async e=>{const{enableOffline:t,user:a,session:i}=await browser.storage.local.get(["enableOffline","user","session"]);return!t&&(!(e=>n.some(t=>!(null==e||!e[t])))(e)||((e,t)=>!(null==e||!e.id||null==t||!t.refresh_expires_at)&&t.refresh_expires_at>(0,ne().Q)(new Date))(a,i))}])}),Q=a.cw(function(e,t){a.d(t,["Aw",0,"trial_payment_failed","Ew",0,"paid_payment_failed","Yw",0,"free_payment_failed","cT",0,"trial_ended","rD",0,"trialing"])}),ee=a.cw(function(e,t){It();const n=[{name:"Developer",label:It().Ay`Developer`},{name:"Tester",label:It().Ay`Tester`},{name:"Designer",label:It().Ay`Designer`},{name:"Accessibility Specialist",label:It().Ay`Accessibility Specialist`},{name:"Manager",label:It().Ay`Manager`},{name:"Other",label:It().Ay`Other`}];a.d(t,["A",0,n])}),te=a.cw(function(e,t){a.d(t,{N:()=>n});class n extends Error{constructor(e,t,a){super(a??`axe API ${t} returned ${e}`),this.name="AxeApiError",this.status=e,this.endpoint=t}}}),ae=a.cw(function(e,t){let n,i;const o=e=>{n=e,i=void 0};a.d(t,["IK",0,e=>{var t;n?e(n):null===(t=i)||void 0===t||t.then(()=>{n&&e(n)})},"f2",0,e=>{const t=e.catch(()=>{});return i=t,t.then(e=>{i===t&&o(e)})}])}),ne=a.cw(function(e,t){a.d(t,["Q",0,e=>Math.floor(new Date(e).getTime()/1e3)])}),ie=a.cw(function(e,t){Na();const n=async(e=!0,t)=>{if(e)try{await Na().debugger.detach(...void 0!==t?[t]:[])}catch(e){(0,me().vV)({originalError:e,message:"Error detaching debugger"})}};a.d(t,["A",0,n])}),oe=a.cw(function(e,t){const n=/^wcag\d{1,2}a{1,3}$/,i=(e,t)=>{var a;return null===(a=e.checkpoints.find(e=>e.standards.find(t)))||void 0===a?void 0:a.standards},o={"keyboard-inaccessible":"wcag211a","alt-text-essential-image-text":"wcag111b","alt-text-missing":"wcag111b"};a.d(t,["Q",0,(e,t=J().j)=>{var a,s;const r=Array.isArray(t)?t.find(t=>t.id===e):t;if(null==r||null===(a=r.checkpoints)||void 0===a||!a.length)return[];if(r.checkpoints.some(e=>"best-practice"===e.type))return["best-practice"];const c=i(r,e=>n.test(e)),l=i(r,e=>"EN-301-549"===e),d=(null===(s=i(r,e=>e.toLowerCase().includes("rgaa")))||void 0===s?void 0:s.length)&&"RGAAv4";return[null==c?void 0:c[0],null==l?void 0:l[0],d,...(u=r,p=e,u.checkpoints.map(e=>{return e.checkpoint?e.standards.find(e=>n.test(e))?(t=e.checkpoint)?`wcag${t.replace(/\./g,"")}`:"":e.standards.find(e=>"EN-301-549"===e)?(e=>{const t=e.replace("en301549-9-","").replace(/\.[a-z]$/,"");return e?`EN-9.${t}`:""})(e.checkpoint):e.standards.find(e=>"rgaa"===e)?(e=>e?e.toUpperCase():"")(e.checkpoint):"":"";var t}).filter(e=>e&&(!o[p]||o[p]===e)))].filter(Boolean);var u,p},"q",0,(e,t=J().j)=>t.find(t=>t.id===e)])}),se=a.cw(function(e,t){let n;async function i(){return(await o()).distinct_id}a.d(t,{A:()=>i}),I();const o=async()=>{if(n)return n;const{axeServerURL:e,session:t}=await browser.storage.local.get(["axeServerURL","session"]);return n=await(0,I().getDistinctIdCookie)({host:"default"===e?"http://localhost:1234":e,origin:globalThis.location.origin,token:null==t?void 0:t.access_token}),n};a.d(t,["S",0,o])}),re=a.cw(function(e,t){function n(e,t){return!(!e.fingerprints||!t.fingerprints)&&(0!==e.fingerprints.length&&0!==t.fingerprints.length&&(e.fingerprints.length===t.fingerprints.length&&e.fingerprints.every((e,a)=>{var n;return e===(null===(n=t.fingerprints)||void 0===n?void 0:n[a])})))}a.d(t,{B:()=>n})}),ce=a.cw(function(e,t){function n(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),a.push.apply(a,n)}return a}function i(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?n(Object(a),!0).forEach(function(t){o(e,t,a[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):n(Object(a)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))})}return e}function o(e,t,a){return(t=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var a=e[Symbol.toPrimitive];if(void 0!==a){var n=a.call(e,t||"default");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}a.d(t,{Ay:()=>r}),Dt(),x(),H();const s={[x().ProductSlugs.axeDevToolsExtension]:{ufaStateLimit:100}};async function r(e){var t;if("http://localhost:1234"===e)return{billingServiceEnabled:!0,isOnPrem:!1,productInfo:s,isJazzbandEnabled:!0,mlServiceEnabled:!0,screenshotsEnabled:!0,mlService:{llmHubEnabled:!0},llmHub:{isEnabled:!0}};const a=await fetch(`${e}/api/internal/server-info`),n=async()=>(await Promise.all([(0,H().x)("keyboard_ml_v1",!0),(0,H().x)("ie_ml_v1",!0),(0,H().x)("igt_table_ml_v1",!0)])).includes(!0),o=async(e={})=>{var t,a;return{mlServiceEnabled:"boolean"==typeof e.mlServiceEnabled?e.mlServiceEnabled:await n(),screenshotsEnabled:"boolean"==typeof e.screenshotsEnabled?e.screenshotsEnabled:await(0,H().x)("screenshots_v1",!0),mlService:{llmHubEnabled:"boolean"==typeof(null===(t=e.mlService)||void 0===t?void 0:t.llmHubEnabled)&&e.mlService.llmHubEnabled},llmHub:{isEnabled:"boolean"!=typeof(null===(a=e.llmHub)||void 0===a?void 0:a.isEnabled)||e.llmHub.isEnabled}}};if(a.ok&&(null===(t=a.headers.get("Content-Type"))||void 0===t||!t.includes("application/json")))return i({billingServiceEnabled:!1,isOnPrem:!0,productInfo:s,isJazzbandEnabled:!1},await o());if(!a.ok)return{billingServiceEnabled:!0,isOnPrem:!1,productInfo:s,isJazzbandEnabled:!0,mlServiceEnabled:!0,screenshotsEnabled:!0,mlService:{llmHubEnabled:!0},llmHub:{isEnabled:!0}};const{billingServiceEnabled:r,isOnPrem:c,productInfo:l,isJazzbandEnabled:d,mlServiceEnabled:u,screenshotsEnabled:p,mlService:h,llmHub:m}=await a.json();return i({billingServiceEnabled:"boolean"==typeof r&&r,isJazzbandEnabled:"boolean"==typeof d&&d,isOnPrem:"boolean"!=typeof c||c,productInfo:on()()(s,l||{})},await o({mlServiceEnabled:u,screenshotsEnabled:p,mlService:h,llmHub:m}))}}),le=a.cw(function(e,t){async function n(){const{axeServerURL:e}=await browser.storage.local.get("axeServerURL");return e&&"default"!==e?e:"http://localhost:1234"}a.d(t,{A:()=>n})}),de=a.cw(function(e,t){ye();const n=e=>{const t=globalThis.__tabbers||(globalThis.__tabbers={});if(!t[e]){const a=new(ye().A)(e);t[e]=a}return t[e]};a.d(t,["A",0,n])}),ue=a.cw(function(e,t){const n=(e,t)=>{const a=(0,ne().Q)(new Date);if(!t)return!1;return(!(null!=e&&e.expires_at)||(null==e?void 0:e.expires_at)<a)&&t>a};a.d(t,["A",0,n])}),pe=a.cw(function(e,t){function n(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),a.push.apply(a,n)}return a}function i(e,t,a){return(t=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var a=e[Symbol.toPrimitive];if(void 0!==a){var n=a.call(e,t||"default");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function o(e,t,a){var o;return function(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?n(Object(a),!0).forEach(function(t){i(e,t,a[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):n(Object(a)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))})}return e}({description:e.description,help:e.help,help_url:e.helpUrl,impact:e.impact,rule:e.id,summary:t.failureSummary||"",source:t.html,selector:t.target||[],is_manual:!1,variant:null!==(o=e.tags)&&void 0!==o&&o.includes("best-practice")?"best-practice":"violation",needs_review:!1,tags:e.tags,remediation:{any:t.any,all:t.all,none:t.none}},a)}a.d(t,{d:()=>o})}),he=a.cw(function(e,t){const{FIREFOX:n}={FIREFOX:"false"};let i;a.d(t,["a",0,async()=>{if("true"!==n)return i??(i=(await a.e(413).then(()=>a(833))).datadogLogs),i}])}),me=a.cw(function(e,t){function n(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),a.push.apply(a,n)}return a}function i(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?n(Object(a),!0).forEach(function(t){o(e,t,a[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):n(Object(a)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))})}return e}function o(e,t,a){return(t=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var a=e[Symbol.toPrimitive];if(void 0!==a){var n=a.call(e,t||"default");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}a.d(t,["vV",0,({originalError:e,message:t,level:a="error",additionalContext:n={},isSerialized:o=!1})=>{if(o)return void(0,ae().IK)(o=>o.logger[a](t,i(i({},e),n)));const s=(e=>e instanceof Error?e:new Error("Unknown error"+(e?`: ${e}`:"")))(e),r={error:s.message,stack:s.stack,original_error:e};(0,ae().IK)(e=>e.logger[a](t,i(i({},r),n)))}])}),ge=a.cw(function(e,t){a.d(t,{A:()=>i}),It(),Ra();const n=It().Ay`Your session has expired. Please log back in.`;function i(e,t,a=n){const i=t&&"object"==typeof t&&"message"in t&&"access denied"===t.message;Ra().yS.send(Ra()._O.devtools,"app:notification",{type:"caution",text:i?n:a},{tabId:e}),i&&Ra().yS.send(Ra()._O.devtools,"app:logout",null,{tabId:e})}}),fe=a.cw(function(e,t){St();const n=Qa()()("request-interception"),i=["get","post","put","delete"],o=function(){const e=new Map(i.map(e=>[e,[]]));for(const t of i)this[t]=(a,n)=>{if(i.includes(t)){const i=e.get(t);e.set(t,[...i,{pattern:a,handler:n}])}return this};return this.intercept=(t,a,o)=>{const s=t.toLowerCase();if(!i.includes(s))return!1;for(const{pattern:t,handler:i}of e.get(s)){const e=new URLPattern({pathname:t}),[r,c]=a.split("?"),l=e.exec(r,"http://localhost:1234");if(l){const e=l.pathname.groups,a=Object.fromEntries(new URLSearchParams(c));return n(`${s} ${t}`,{endpoint:r,params:e,query:a,body:o}),i(o,{endpoint:r,params:e,query:a})}}},this};a.d(t,["A",0,o])}),be=a.cw(function(e,t){function n(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),a.push.apply(a,n)}return a}function i(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?n(Object(a),!0).forEach(function(t){o(e,t,a[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):n(Object(a)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))})}return e}function o(e,t,a){return(t=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var a=e[Symbol.toPrimitive];if(void 0!==a){var n=a.call(e,t||"default");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}a.d(t,{$:()=>l});const s=/^data:image\/[a-z0-9.+-]+;base64,/i,r=e=>"object"==typeof e&&null!==e&&!Array.isArray(e),c=e=>"string"==typeof e&&s.test(e);function l(e){let t=0,a=0;const n=e=>{if(c(e))return t+=1,a+=e.length,"";if(Array.isArray(e)){let t=e;for(let a=0;a<e.length;a+=1){const i=n(e[a]);i!==e[a]&&(t===e&&(t=e.slice()),t[a]=i)}return t}if(r(e)){let t=e;for(const a in e){if(!Object.prototype.hasOwnProperty.call(e,a))continue;const o=n(e[a]);o!==e[a]&&(t===e&&(t=i({},e)),t[a]=o)}return t}return e};return{value:n(e),strippedCount:t,strippedBytes:a}}}),ve=a.cw(function(e,t){function n(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),a.push.apply(a,n)}return a}function i(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?n(Object(a),!0).forEach(function(t){o(e,t,a[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):n(Object(a)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))})}return e}function o(e,t,a){return(t=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var a=e[Symbol.toPrimitive];if(void 0!==a){var n=a.call(e,t||"default");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}x(),Ra(),Pe(),ee(),ce();const s=()=>Math.floor(Date.now()/1e3);let r;const c=(e,t)=>{r||(r=new BroadcastChannel("auth")),r.postMessage&&r.postMessage({topic:e,message:t}),Ra().yS.send(Ra()._O.background,e,t)};let l=null;const d=e=>{const t=i(i({},e),{},{expires_at:s()+e.expires_in,refresh_expires_at:s()+e.refresh_expires_in});c("auth:session",t),(e=>{l&&p(),e&&(l=setTimeout(()=>{u()},1e3*(e.refresh_expires_at-s())))})(t),browser.storage.local.set({session:t})},u=async()=>{const e=["sso-config","session","user"];try{const[{"sso-config":t,session:a,user:n},{proExpiry:i}]=await Promise.all([browser.storage.local.get(e),browser.storage.sync.get("proExpiry")]);await fetch(t.logoutUrl,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:encodeURI(`client_id=${t.publicClientId}&refresh_token=${a.refresh_token}`)});const o=(0,ue().A)(null,i);o||e.push("cachedUserEmail"),await browser.storage.local.remove(e);const s={};null!=n&&n.company&&(s.cachedUserCompany=n.company),null!=n&&n.email&&o&&(s.cachedUserEmail=n.email),Object.keys(s).length&&await browser.storage.local.set(s),c("auth:logout"),p(),Ra().yS.send(Ra()._O.background,"extension:logout")}catch(e){const{message:t}=e;c("auth:error",t)}},p=()=>{clearTimeout(l),l=null};Ra().yS.listen("app:logout",u),a.d(t,["Gm",0,e=>{e instanceof URL||(e=new URL(e));const t=e.searchParams.get("code"),a=e.hash?new URLSearchParams(e.hash.substr(1)).get("code"):null;return t||a||null},"M$",0,async()=>{const e=await(0,le().A)(),t=await fetch(`${e}/api/sso-config`);if(!t.ok)throw new Error(`Unable to get SSO config (${t.statusCode})`);const{url:a,realm:n,publicClientId:i}=await t.json();return{url:a,realm:n,publicClientId:i,openIdConnectUrl:`${a}/auth/realms/${n}/protocol/openid-connect`}},"X4",0,async()=>{const{session:e,"sso-config":t}=await browser.storage.local.get();if(!e)return;const a={grant_type:"refresh_token",refresh_token:e.refresh_token,client_id:t.publicClientId},n=await fetch(t.tokenUrl,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:encodeURI(Object.entries(a).map(([e,t])=>`${e}=${t}`).join("&"))});if(401===n.status||400===n.status)return void u();200!==n.status&&c("auth:error","Unexpected error");const i=await n.json();return d(i),i},"ZG",0,c])}),ye=a.cw(function(e,t){function n(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),a.push.apply(a,n)}return a}function i(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?n(Object(a),!0).forEach(function(t){o(e,t,a[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):n(Object(a)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))})}return e}function o(e,t,a){return(t=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var a=e[Symbol.toPrimitive];if(void 0!==a){var n=a.call(e,t||"default");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}async function s(e,t={}){return Na().debugger.sendCommand(this,e,t)}a.d(t,{A:()=>c}),Na(),ie();const r=async e=>{try{await Na().debugger.attach(e)}catch(e){if(Na().debugger.failedToAttach()){if(e instanceof Error)throw e;const t=(null==e?void 0:e.message)||"Failed to attach debugger";throw new Error(t)}}return Promise.resolve(s.bind({tabId:e}))};class c{constructor(e){this.tabId=e}async setup(){this.command=await r(this.tabId),await this.command("Input.enable")}async start(){await this.setup(),await this.fireTab()}stop(){(0,ie().A)(!0,this.tabId)}async fireKey(e,t,a={},n=t){if("function"==typeof this.command){const o=(a.alt?1:0)|(a.ctrl?2:0)|(a.meta?4:0)|(a.shift?8:0),s=i({windowsVirtualKeyCode:e,code:n,key:t},0!==o&&{modifiers:o});await this.command("Input.dispatchKeyEvent",i({type:"keyDown"},s)),await this.command("Input.dispatchKeyEvent",i({type:"keyUp"},s))}}async fireTab(){await this.fireKey(9,"Tab")}async fireEscape(){await this.setup(),await this.fireKey(27,"Escape"),this.stop()}async fireKeys(e,t=200){for(const a of e)await new Promise(e=>setTimeout(e,t)),await this.fireKey(a.windowsVirtualKeyCode,a.key,a.modifiers,a.code)}}}),we=a.cw(function(e,t){Ra(),ye();a.d(t,["C",0,()=>{let e;Ra().yS.listen("modal:tabber-init",async({tabId:t})=>{e&&e.stop(),e=new(ye().A)(t);try{await e.start()}catch{Ra().yS.send(Ra()._O.content,"attach:failed",{},{tabId:t})}}),Ra().yS.listen("modal:fire-tab",()=>{e&&e.fireTab()}),Ra().yS.listen("modal:tabber-stop",()=>{e&&(e.stop(),e=null)}),Ra().yS.listen("modal:fire-escape",async({tabId:t})=>(e&&e.stop(),e=new(ye().A)(t),await e.fireEscape(),!0))}])}),ke=a.cw(function(e,t){te(),It(),p(),ve(),fe(),V(),Ma(),Y();const n=["issues","manifests"],i=["issues","manifests"];function o(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),a.push.apply(a,n)}return a}function s(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?o(Object(a),!0).forEach(function(t){r(e,t,a[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):o(Object(a)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))})}return e}function r(e,t,a){return(t=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var a=e[Symbol.toPrimitive];if(void 0!==a){var n=a.call(e,t||"default");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function c(e,t){if(null==e)return{};var a,n,i=function(e,t){if(null==e)return{};var a={};for(var n in e)if({}.hasOwnProperty.call(e,n)){if(-1!==t.indexOf(n))continue;a[n]=e[n]}return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n<o.length;n++)a=o[n],-1===t.indexOf(a)&&{}.propertyIsEnumerable.call(e,a)&&(i[a]=e[a])}return i}const l=new(Ma().eu),d=new(V().A),u=async(e,{query:t})=>{var a;const i=new URLPattern({pathname:"/api/tests/:testId"}),o=await d.get(),r=[],l=(null===(a=t.tags)||void 0===a?void 0:a.split(","))||[];for(const[e,t]of Object.entries(o))if(i.test(e,"http://localhost:1234")){const{issues:e,manifests:a}=t,i=c(t,n),o=p().manifestUtils.getCurrentManifestIds(p().manifestUtils.getManifestRerunGroups(a||[])),d=e.filter(e=>!e.manifest_id||o.has(e.manifest_id)),u=l.length?d.filter(e=>!!e.tags.find(e=>l.includes(e))):d;r.push(s({best_practice_count:d.filter(e=>{var t;return null===(t=e.tags)||void 0===t?void 0:t.includes("best-practice")}).length,needs_review_count:u.filter(e=>!!e.needs_review).length,violation_count:u.filter(e=>"violation"===e.variant).length},i))}const u=Number(t.offset)||0,h=Number(t.limit)||25;return r.sort((e,t)=>-e.updated_at.localeCompare(t.updated_at)).slice(u,u+h)},h=new(fe().A);h.post("/api/tests",async e=>{const t=(0,La().A)();return await d.set(s({id:t,updated_at:(new Date).toISOString(),created_at:(new Date).toISOString(),issues:[],manifests:[]},e),`/api/tests/${t}`)}).put("/api/tests/:testId",async(e,{params:t})=>{const a=`/api/tests/${t.testId}`,n=await d.update(s(s({},e),{},{updated_at:(new Date).toISOString()}),a),{issues:o,manifests:r}=n;return c(n,i)}).post("/api/tests/:testId/issues",async(e,{params:t})=>{const{manifestGuideName:a,manifestId:n,test_name:i,violations:o}=e,r=`/api/tests/${t.testId}`,c=await d.get(r),l=new Date,u=[];for(const e of o){var p,h;u.push(s(s({},e),{},{id:(0,La().A)(),created_at:l.toISOString(),test_id:t.testId,test_name:i||c.name,test_url:e.test_url||c.url,manifest_id:n,manifest_scope:(null===(p=e.stepScope)||void 0===p?void 0:p.name)||null,manifest_index:(null===(h=e.stepScope)||void 0===h?void 0:h.index)||null,manifest_key:e.stepName,manifest_guide:a}))}return c.issues=[...u,...(null==c?void 0:c.issues)??[]],await d.update(c,r),c.issues}).put("/api/tests/:testId/issues/:issueId",async(e,{params:t})=>{const a=`/api/tests/${t.testId}`,n=await d.get(a);let i={};const o=null==n?void 0:n.issues.map(a=>a.id!==t.issueId?a:(i=s(s({},a),e),i));return await d.set(s(s({},n),{},{issues:o}),a),i}).delete("/api/tests/:testId/issues",async(e,{params:t,query:a})=>{const n=`/api/tests/${t.testId}`,i=await d.get(n),o=(null==i?void 0:i.issues.filter(e=>Object.entries(a).every(([t,a])=>{const n="true"===a||"false"===a?JSON.parse(a):a;return e[t]!==n})))||[];await d.set(s(s({},i),{},{issues:o}),n)}).post("/api/tests/:testId/manifests",async(e,{params:t})=>{const a=`/api/tests/${t.testId}`,n=await d.get(a),i={id:(0,La().A)(),test_id:t.testId,guide:e.guide||e.name,created_at:(new Date).toISOString()};return(n.manifests||[]).push(i),await d.set(n,a),i}).get("/api/tests/:testId/manifests/:manifestId",async(e,{params:t})=>{const a=await d.get(`/api/tests/${t.testId}`);return(null==a?void 0:a.manifests.find(e=>e.id===t.manifestId))||{}}).get("/api/tests/:testId/issues",async(e,{params:t})=>{const a=await d.get(`/api/tests/${t.testId}`);return(null==a?void 0:a.issues)||[]}).get("/api/tests/:testId/manifests",async(e,{params:t})=>{var a;const n=await d.get(`/api/tests/${t.testId}`);return(null==n||null===(a=n.manifests)||void 0===a?void 0:a.reduce((e,t)=>{if(t.guide){const a=[...e[t.guide]||[],t];e[t.guide]=a}return e},{}))||{}}).put("/api/tests/:testId/manifests/:manifestId",async(e,{params:t})=>{const a=`/api/tests/${t.testId}`,n=await d.get(a);let i={};const o=null==n?void 0:n.manifests.map(a=>a.id!==t.manifestId?a:(i=s(s(s({},a),{},{updated_at:(new Date).toISOString()},"data"in e&&e.data?{body:e.data}:{}),"name"in e&&e.name?{name:e.name}:{}),i));return await d.set(s(s({},n),{},{manifests:o}),a),i}).delete("/api/tests/:testId/manifests/:manifestId",async(e,{params:t})=>await l.runExclusive(async()=>{const e=`/api/tests/${t.testId}`,a=await d.get(e),n=(null==a?void 0:a.manifests)||[],i=n.find(({id:e})=>e===t.manifestId);let o=new Set([t.manifestId]);if(i){const e=p().manifestUtils.getManifestRerunGroups(n),t=p().manifestUtils.getManifestsToDelete(i,e);o=new Set(t.map(e=>e.id))}const r=null==a?void 0:a.issues.filter(e=>!e.manifest_id||!o.has(e.manifest_id)),c=null==a?void 0:a.manifests.filter(({id:e})=>!o.has(e));await d.set(s(s({},a),{},{issues:r||[],manifests:c||[]}),e)})).get("/api/users/:id/tests",u).get("/api/axe-devtools-pro/scans",u).post("/api/analytics",()=>{}).put("*",async(e,{endpoint:t})=>d.set(e,t)).post("*",async(e,{endpoint:t})=>d.update(e,t)).get("*",async(e,{endpoint:t})=>d.get(t)).delete("*",async(e,{endpoint:t})=>{const a=await d.get();delete a[t],await d.set(a)});const m=async(e,t,a,n,i)=>{const{axeServerURL:o,session:r,apiKey:c}=await browser.storage.local.get();if(!(c||null!=r&&r.access_token))throw new Error(It().Ay`You are not logged in and you need to be logged in to perform this action`);let l;if(!c&&r.expires_at<Math.floor(Date.now()/1e3)-6e4)try{l=(await(0,ve().X4)()).access_token}catch{}const d="default"!==o?o:"http://localhost:1234",u=c?{"x-api-key":c}:{Authorization:`Bearer ${l||r.access_token}`},p=await fetch(`${d}${t}`,{method:e,headers:s(s({},a),u),body:n,signal:i});if(401===p.status)throw new Error("access denied");return p},g=async(e,t,a,{jsonResponse:n=!0,signal:i}={})=>{const{enableOffline:o}=await browser.storage.local.get("enableOffline");if(o)try{return await h.intercept(e,t,a)}catch(e){throw console.error(e),e}let r=a;const c=await(0,Y().Q)(t);c&&a&&"object"==typeof a&&(r=s(s({},a),{},{model_details:c}));const l=await m(e,t,s({"Content-Type":"application/json"},n?{Accept:"application/json"}:{}),JSON.stringify(r),i);if(204!==l.status){if(!l.ok)throw new(te().N)(l.status,t);return n?l.json():l.text()}};const f={delete:function(e,t,a){return g("DELETE",e,t,a)},get:function(e,t){return g("GET",e,void 0,t)},post:function(e,t,a){return g("POST",e,t,a)},put:function(e,t,a){return g("PUT",e,t,a)},stream:{post:function(e,t,a){return m("POST",e,t,a)},get:function(e,t,a){return m("GET",e,t,a)}}};a.d(t,["A",0,f])}),Ae=a.cw(function(e,t){a.d(t,{A:()=>i}),Ra(),St(),Na(),ie();const n=Qa()()("background:dom");function i(){Ra().yS.listen("dom:get-active-element-shadow-root-type",async({shouldDetachAfterProcess:e=!1,tabId:t})=>{try{await Na().debugger.attach(t)}catch{if(Na().debugger.failedToAttach())return null}let a=null;try{const{result:{objectId:e}}=await Na().debugger.sendCommand({tabId:t},"Runtime.evaluate",{expression:"\n /**\n * From: https://stackoverflow.com/a/61167135\n *\n * Return the active element of a page, regardless of shadow root or iframe window.\n * @returns {HTMLElement}\n */\n (function getActiveElement(element = document.activeElement) {\n const shadowRoot = element.shadowRoot\n const contentDocument = element.contentDocument\n\n if (shadowRoot && shadowRoot.activeElement) {\n return getActiveElement(shadowRoot.activeElement)\n }\n\n if (contentDocument && contentDocument.activeElement) {\n return getActiveElement(contentDocument.activeElement)\n }\n\n return element\n })()\n "});if(e){var i;const{node:o}=await Na().debugger.sendCommand({tabId:t},"DOM.describeNode",{objectId:e,pierce:!0});null!=o&&null!==(i=o.shadowRoots)&&void 0!==i&&i.length?a=o.shadowRoots[0].shadowRootType:n("Active element does not have a shadow root")}else n("Unable to retrieve the active element RemoteObjectId")}catch(e){n(`An error occurred while trying to retrieve the active element shadow type: ${e}`)}finally{await(0,ie().A)(e,t)}return n(`Active element shadowRootType: ${a}`),a})}}),Ee=a.cw(function(e,t){a.d(t,{A:()=>l}),It(),Ra(),ge();const n=["tabId"],i=["tool","username","startedFrom"];function o(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),a.push.apply(a,n)}return a}function s(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?o(Object(a),!0).forEach(function(t){r(e,t,a[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):o(Object(a)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))})}return e}function r(e,t,a){return(t=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var a=e[Symbol.toPrimitive];if(void 0!==a){var n=a.call(e,t||"default");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function c(e,t){if(null==e)return{};var a,n,i=function(e,t){if(null==e)return{};var a={};for(var n in e)if({}.hasOwnProperty.call(e,n)){if(-1!==t.indexOf(n))continue;a[n]=e[n]}return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n<o.length;n++)a=o[n],-1===t.indexOf(a)&&{}.propertyIsEnumerable.call(e,a)&&(i[a]=e[a])}return i}function l(){Ra().yS.listen("guided:start",async({message:e})=>{const{tabId:t}=e,a=c(e,n);try{const{tool:e,username:n,startedFrom:o="record"}=a,s=c(a,i),{testUrl:r}=s;Ra().yS.send(Ra()._O.devtools,"guide:start-guided",{tool:e,testUrl:r,username:n,resume:!1,startedFrom:o,manifest:s},{tabId:t})}catch(e){(0,ge().A)(t,e,It().Ay`There was a problem starting your ${"Intelligent Guided Test"}.`)}}),Ra().yS.listen("guided:resume",async({message:e})=>{e.test_id&&Ra().yS.send(Ra()._O.devtools,"guide:start-guided",{tool:e.guide,ensureTestTab:!0,testUrl:e.body.metadata.url,username:e.body.metadata.username,resume:!0,rerun:!!e.body.__rerunFromManifestId,manifest:s({id:e.id,testId:e.test_id,testName:e.testName,testUrl:e.testUrl},e.body)},{tabId:e.tabId})}),Ra().yS.listen("guided:rerun",async({message:e})=>{e.test_id&&Ra().yS.send(Ra()._O.devtools,"guide:start-guided",{tool:e.guide,ensureTestTab:!0,testUrl:e.body.metadata.url,username:e.body.metadata.username,rerun:!0,manifest:s({id:e.id,testId:e.test_id,testName:e.testName,testUrl:e.testUrl},e.body)},{tabId:e.tabId})}),Ra().yS.listen("guided:save-and-quit",({message:e})=>{Ra().yS.send(Ra()._O.devtools,"guided:save-and-quit",{},{tabId:e.tabId})})}}),Se=a.cw(function(e,t){St(),It(),de(),Ra(),Ie(),xe(),Ee(),we(),Ae(),Te(),ke(),te(),L(),H(),ge(),Ba(),Pe(),q();const a=["testName","testPageTitle","hideNotification","colorContrastResolverSuccessful","integrationTestId","serverVersion","ignoredIssues","source"];function n(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),a.push.apply(a,n)}return a}function i(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?n(Object(a),!0).forEach(function(t){o(e,t,a[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):n(Object(a)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))})}return e}function o(e,t,a){return(t=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var a=e[Symbol.toPrimitive];if(void 0!==a){var n=a.call(e,t||"default");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}const s=Qa()()("screenshots");Ra().yS.listen("needs-review:yes",async({message:e,tabId:t})=>{try{await ke().A.put(`/api/tests/${e.testId}/issues/${e.issueId}`,{needs_review:!1})}catch(e){(0,ge().A)(t,e,It().Ay`There was a problem updating your reviewed issue.`)}}),Ra().yS.listen("needs-review:no",async({message:e,tabId:t})=>{try{await ke().A.delete(`/api/tests/${e.testId}/issues?id=${e.issueId}`)}catch(e){(0,ge().A)(t,e,It().Ay`There was a problem removing your reviewed your issue.`)}}),Ra().yS.listen("hubspot-user-analytics",({message:e})=>{const{event:t,value:a,update_behavior:n}=e;ke().A.post("/api/analytics",{event_name:t,event_value:a,update_behavior:n})}),Ra().yS.listen("auth:session",async({message:e})=>{await browser.storage.local.set({session:e})}),Ra().yS.listen("auth:logout",async()=>{await browser.storage.local.remove("session")}),Ra().yS.listen("save-screenshot",async({tabId:e,message:t})=>{let{screenshot:a,isFullPage:n=!1,bucketPrefix:i,skipDerivatives:o}=t;if(a)try{if(/data:image\/\w+;base64,/.test(a)){const[,e]=a.split(",");a=e}const{url:t}=await browser.tabs.get(e),s=new URLSearchParams({url:t,browser_version:navigator.userAgent,extension_version:Ba().rE,is_full_page:n});i&&s.set("bucket_prefix",i),o&&s.set("skip_derivatives","true");const r=await ke().A.stream.post(`/api/screenshots?${s}`,{Accept:"application/json","Content-Type":"image/png"},a);return(await r.json()).key}catch{return void Ra().yS.send(Ra()._O.devtools,"app:notification",{type:"caution",text:It().Ay`There was a problem saving your screenshot. Please try again.`},{tabId:e})}}),Ra().yS.listen("get-screenshot-features",async({message:e})=>{const{screenshotId:t,vnodes:a,zoom:n,category:i,coordinateOffset:o}=e;try{return await ke().A.post(`/api/screenshots/${t}/features?category=${i}`,{vnodes:a.map(({vnodeId:e,role:t,box:a,tightBox:n,tagName:i,states:o})=>({vnodeId:e,role:t,box:a,tightBox:n,tagName:i,states:o})),zoom:n,coordinateOffset:o})}catch(e){return{features:[],error:{message:(null==e?void 0:e.message)||"Failed to retrieve screenshot features",stack:(null==e?void 0:e.stack)||""}}}}),Ra().yS.listen("save-results",async({tabId:e,message:t})=>{const{testName:n,testPageTitle:o,hideNotification:s,colorContrastResolverSuccessful:r,integrationTestId:c,serverVersion:l,ignoredIssues:d,source:u}=t,p=function(e,t){if(null==e)return{};var a,n,i=function(e,t){if(null==e)return{};var a={};for(var n in e)if({}.hasOwnProperty.call(e,n)){if(-1!==t.indexOf(n))continue;a[n]=e[n]}return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n<o.length;n++)a=o[n],-1===t.indexOf(a)&&{}.propertyIsEnumerable.call(e,a)&&(i[a]=e[a])}return i}(t,a);try{const t=await Ra().yS.send(Ra()._O.content,"request-axe-results",p,{tabId:e});if(t.error)throw new Error(`request-axe-results error: ${t.error.message}`);const{results:a,pageTitle:h,stars:m,metadata:g}=t,{url:f}=a,{id:b}=await ke().A.post("/api/tests",{url:f,source:u}),v=await(0,H().x)("issue_ignore_v2",!1)?await(0,L().i)(i(i({},a),{},{ignoredIssues:d,url:f})):(0,L().T)(a),[y,w]=await Promise.all([ke().A.put(`/api/tests/${b}`,i(i(i({name:n||h||f},void 0!==c?{integration_test_id:c}:{}),{},{metadata:i(i({},g),{},{axeVersion:p.axeVersion,color_contrast_resolver_successful:r})},(0,q().M)(l)?{test_page_title:o||h}:{}),{},{stars:m})),ke().A.post(`/api/tests/${b}/issues`,{test_name:n,violations:v,event:"auto"})]);return s||Ra().yS.send(Ra()._O.devtools,"app:notification",{type:"confirmation",text:It().Ay`Your test has been saved.`},{tabId:e}),{record:y,issues:w,manifests:{}}}catch(t){const a=t instanceof te().N&&402===t.status;return Ra().yS.send(Ra()._O.devtools,"app:notification",{type:"caution",text:It().Ay`There was a problem saving your test. Please try again.`},{tabId:e}),i({record:{},issues:[],manifests:{}},a&&{subscriptionMissing:!0})}}),(0,Ae().A)(),(0,Ie().A)(),(0,xe().A)(),(0,Ee().A)(),(0,we().C)(),(0,Te().A)(),Ra().yS.listen("resave-automatic-tests",async({tabId:e,message:t})=>{const{testId:a,axeResults:n,metadata:o}=t;try{await ke().A.delete(`/api/tests/${a}/issues?is_manual=false`),await ke().A.post(`/api/tests/${a}/issues`,{violations:(0,L().T)(n),event:"auto"});const e=await ke().A.put(`/api/tests/${a}`,{metadata:i(i({},o),{},{axeVersion:n.axeVersion,color_contrast_resolver_successful:!1})});return{updatedIssues:await ke().A.get(`/api/tests/${a}/issues`),auto_tests_at:(new Date).toISOString(),updated_at:e.updated_at}}catch{return Ra().yS.send(Ra()._O.devtools,"app:notification",{type:"caution",text:It().Ay`There was a problem saving your automated results. Your test record was not updated, please try again.`},{tabId:e}),{}}});Ra().yS.listen("forms:ml",async({tabId:e,message:t})=>{const{url:a,form:n,screenshot:i}=t,{session:o,axeSettings:s,policySettings:r}=await browser.storage.local.get(["session","axeSettings","policySettings"]);if(!(r.DisableAllScreenshots||"boolean"!=typeof r.EnableMachineLearning?s.enableMachineLearning:r.EnableMachineLearning)||!o||!i)return[];const c=await Ra().yS.send(Ra()._O.content,"forms:get-descendant-elements",{vnodeId:n.vnodeId},{tabId:e}),[,l]=i.split("base64,"),d=(0,Z().A)("formsML");d.start();const u=await(async(e,t)=>{const a=Symbol("Timed out"),n=await Promise.race([e,new Promise(e=>setTimeout(()=>e(a),4e3))]);return n===a?(t(),null):n})((async()=>{try{return(await ke().A.post("/api/ml/form-fields",{url:a,image:l,vdom:c})).fields}catch{return[]}})(),()=>Pe().YD());return d.end(),Pe().Tp(d.measure().duration),u||[]}),Ra().yS.listen("automatic-color-contrast",async({message:e})=>{const{imageWithText:t,imageWithoutText:a,expectedTextColor:n}=e;if(t&&s.enabled){(new Image).src=`data:image/png;base64,${t}`}if(a&&s.enabled){(new Image).src=`data:image/png;base64,${a}`}return await ke().A.post("/api/automatic-color-contrast",{imageWithText:t,imageWithoutText:a,expectedTextColor:n})}),Ra().yS.listen("tab-record:start",async({tabId:e})=>{await Ra().yS.send(Ra()._O.content,"tab-record:initial-focus",null,{tabId:e});const t=(0,de().A)(e);try{await t.start()}catch{Ra().yS.send(Ra()._O.content,"attach:failed",{},{tabId:e})}}),Ra().yS.listen("tab-record:fire-tab",async({tabId:e})=>new Promise(t=>{setTimeout(()=>{var a;null===(a=(0,de().A)(e))||void 0===a||a.fireTab(),t()},200)})),Ra().yS.listen("tab-record:stop",({tabId:e})=>{var t;null===(t=(0,de().A)(e))||void 0===t||t.stop(),delete globalThis.__tabbers[e]}),browser.tabs.onUpdated.addListener((e,t)=>{const{status:a}=t;"complete"===a&&Ra().yS.send(Ra()._O.devtools,"page:navigation",t,{tabId:e})})}),Te=a.cw(function(e,t){function n(){Ra().yS.listen("tab-record:new-window-listener:attach",({tabId:e})=>{const t=()=>{browser.tabs.onCreated.removeListener(a),Ra().yS.unlisten("tab-record:new-window-listener:detach",t)},a=()=>{Ra().yS.send(Ra()._O.content,"tab-record:new-window:launched",null,{tabId:e})};t(),browser.tabs.onCreated.addListener(a),Ra().yS.listen("tab-record:new-window-listener:detach",t)})}a.d(t,{A:()=>n}),Ra()}),xe=a.cw(function(e,t){a.d(t,{A:()=>p}),Ra(),St(),It(),xt(),ke(),Me(),Pe(),Re();const n=["id","testId","testName","name","showNotificationOnFailure","createIssuesOnManifestComplete"],i=["testId"];function o(e,t){if(null==e)return{};var a,n,i=function(e,t){if(null==e)return{};var a={};for(var n in e)if({}.hasOwnProperty.call(e,n)){if(-1!==t.indexOf(n))continue;a[n]=e[n]}return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n<o.length;n++)a=o[n],-1===t.indexOf(a)&&{}.propertyIsEnumerable.call(e,a)&&(i[a]=e[a])}return i}function s(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),a.push.apply(a,n)}return a}function r(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?s(Object(a),!0).forEach(function(t){c(e,t,a[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):s(Object(a)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))})}return e}function c(e,t,a){return(t=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var a=e[Symbol.toPrimitive];if(void 0!==a){var n=a.call(e,t||"default");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}const l=(0,Re().Ay)(),d=Qa()()("manifests"),u=(e,t=!1)=>{const{ISSUES_URL:a}={ISSUES_URL:"https://docs.deque.com/issue-help/1.0.0/en"};return r(r({},e),{},{help_url:`${a}/${e.rule}`,description:e.description||e.summary,variant:t?"best-practice":"violation",tags:e.tags||(0,oe().Q)(e.id)})};function p(){Ra().yS.listen("manifest:new",async({message:{testId:e,tool:t}})=>{if(!e||!t)return{};try{return await ke().A.post(`/api/tests/${e}/manifests`,{name:t})}catch{return{}}}),Ra().yS.listen("manifest:update",async({message:e={},tabId:t})=>{const{id:a,testId:i,testName:s,name:c,showNotificationOnFailure:p=!1,createIssuesOnManifestComplete:h=!1}=e,m=o(e,n);if(!i)return{};let g=m;const{metadata:f={}}=m,b=f.type||f.tool;try{const e=l.find(({name:e})=>e===b);if(b&&e){const{vitals:t}=Ti()()(e,"config",[]);g=r(r({},m),{},{metadata:r(r({},f),{},{tree:(0,Me().A)(t,m)})})}const{value:t,strippedCount:n,strippedBytes:o}=(0,be().$)(g);n&&d("stripped %d inline screenshot(s), %d bytes, from the %s manifest payload",n,o,b);const p=(0,Z().A)("saveIGT");p.start();const v=await ke().A.put(`/api/tests/${i}/manifests/${a}`,{data:t,name:c});let y;p.end(),Pe().OO(p.measure().duration,b),h&&m.metadata.complete&&m.metadata.issues&&(y=ke().A.post(`/api/tests/${i}/issues`,{manifestId:a,manifestGuideName:b,test_name:s,violations:m.metadata.issues.map(e=>{const t=(0,oe().q)(e.id);if(!t)return u(e);const a=Array.isArray(t.checkpoints)&&!!t.checkpoints.find(e=>"best-practice"===e.type);return u(e,a)})}));const[w]=await Promise.all([v,y]);return w}catch(e){d("failed to save the %s manifest: %o",b,e),p&&Ra().yS.send(Ra()._O.devtools,"app:notification",{type:"caution",text:It().Ay`There was an issue updating your test. Please try again.`},{tabId:t})}}),Ra().yS.listen("manifests:get",async({message:e})=>{if(!e)return[];try{return await ke().A.get(`/api/tests/${e}/manifests`)}catch{return[]}}),Ra().yS.listen("manifest:delete",async({message:e,tabId:t})=>{const{testId:a}=e,n=o(e,i);if(a)try{await ke().A.delete(`/api/tests/${a}/manifests/${n.id}`)}catch{return void Ra().yS.send(Ra()._O.devtools,"app:notification",{type:"caution",text:It().Ay`Unable to delete`},{tabId:t})}})}}),Ie=a.cw(function(e,t){function n(){Ra().yS.listen("record:get",async({message:e,tabId:t})=>{if(!e)return{};try{const[t,a]=await Promise.all([ke().A.get(`/api/tests/${e}`),ke().A.get(`/api/tests/${e}/issues`)]);return{record:t,issues:a}}catch(e){return(0,ge().A)(t,e,It().Ay`There was a problem loading your test.`),{record:{},issues:[],error:!0}}}),Ra().yS.listen("records:get",async({message:e,tabId:t})=>{const{userId:a,tags:n,limit:i,offset:o,includeNeedsReview:s=!0,includeBestPractice:r=!0,serverAllowsUfa:c=!1}=e;try{const e=new URLSearchParams({limit:i,offset:o,needs_review:s,best_practice:r});return Array.isArray(n)&&n.length&&e.set("tags",n.join(",")),await ke().A.get(c?`/api/axe-devtools-pro/scans?${e}`:`/api/users/${a}/tests?${e}`)}catch(e){return(0,ge().A)(t,e,It().Ay`There was a problem loading your tests.`),[]}}),Ra().yS.listen("record:update",async({message:e,tabId:t})=>{try{return await ke().A.put(`/api/tests/${e.id}`,e)}catch(e){return(0,ge().A)(t,e,It().Ay`There was a problem updating your test.`),{}}}),Ra().yS.listen("record-issue:update",async({message:e,tabId:t})=>{try{return await ke().A.put(`/api/tests/${e.testId}/issues/${e.id}`,e)}catch(e){return(0,ge().A)(t,e,It().Ay`There was a problem updating your issue.`),{}}}),Ra().yS.listen("record-issue:new",async({message:{issue:e,hideNotification:t=!1},tabId:a})=>{try{return await ke().A.post(`/api/tests/${e.test_id}/issues`,{violations:[e]})}catch(e){return t||(0,ge().A)(a,e,It().Ay`There was a problem creating your issue.`),{}}}),Ra().yS.listen("record:delete",async({message:{testId:e,hideNotification:t=!1},tabId:a})=>{try{await ke().A.delete(`/api/tests/${e}`),t||Ra().yS.send(Ra()._O.devtools,"app:notification",{text:It().Ay`Your test was successfully deleted.`},{tabId:a})}catch(e){(0,ge().A)(a,e,It().Ay`There was a problem deleting your test.`)}})}a.d(t,{A:()=>n}),Ra(),It(),ke(),ge()}),Re=a.cw(function(e,t){De(),U();const n=[U().UG,U().QK,U().YS,U().tp,U().zC,U().QJ,U().uO],i=["table","keyboard","aria-modal","interactive-elements","structure","page-info","buttons-and-links","lists","images","headings","forms"],o=(e,t)=>i.indexOf(e.name)-i.indexOf(t.name),s=(e="en")=>[...Object.entries(De().A).filter(e=>!!e[1].steps).map(([t,a])=>{const n=a.locale[e][t],i=null==n?void 0:n.deprecation,o=a.config||{};return(({tips:e=[]},t)=>{e.forEach(e=>{e.text=t.tips[e.id]})})(o,n),{name:t,heading:n.name,description:i||n.description,config:o,version:1}}),...n.map(({name:e,displayName:t,description:a,config:n})=>({name:e,heading:t,description:a,config:n,version:2}))].sort(o);a.d(t,["Ay",0,s])}),De=a.cw(function(e,t){Ne();const n=["id","descriptions"];function i(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),a.push.apply(a,n)}return a}function o(e,t,a){return(t=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var a=e[Symbol.toPrimitive];if(void 0!==a){var n=a.call(e,t||"default");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}const s=Object.keys(Ne().A).reduce((e,t)=>{const a=t.split(".");return e.hasOwnProperty(a[0])||(e[a[0]]={}),e[a[0]][a[1]]=Ne().A[t],e},{}),r=J().j.reduce((e,t)=>{const{id:a,descriptions:s}=t,r=function(e,t){if(null==e)return{};var a,n,i=function(e,t){if(null==e)return{};var a={};for(var n in e)if({}.hasOwnProperty.call(e,n)){if(-1!==t.indexOf(n))continue;a[n]=e[n]}return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n<o.length;n++)a=o[n],-1===t.indexOf(a)&&{}.propertyIsEnumerable.call(e,a)&&(i[a]=e[a])}return i}(t,n);return e[a]=function(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?i(Object(a),!0).forEach(function(t){o(e,t,a[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):i(Object(a)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))})}return e}({},r),e},{}),c=Object.keys(Ce().A).reduce((e,t)=>(e[t]={},e[t].steps=Ce().A[t],e[t].locale=s[t],e[t].config=Ce().A[t][0].config,e),{impacts:r});a.d(t,["A",0,c])}),Ce=a.cw(function(e,t){const n=[{config:{deprecated:!0}}],i={"buttons-and-links":n,headings:n,lists:n,"page-info":n};a.d(t,["A",0,i])}),Ne=a.cw(function(e,t){Va(),Wa(),Ha(),Ka();const n={"buttons-and-links.en":Va(),"headings.en":Wa(),"lists.en":Ha(),"page-info.en":Ka()};a.d(t,["A",0,n])}),Me=a.cw(function(e,t){a.d(t,{A:()=>o}),xt();const n=(e,t)=>t.reduce((e,t)=>e.find(e=>e.vnodeId===t.vnodeId)?e:[...e,t],[...e]),i=e=>e.reduce((e,t)=>t.vnodes?[...e,...t.vnodes]:[...e,t],e);function o(e=[],t){const a=Ti()()(t,"metadata.scope",{});return e.reduce((e,a)=>{const o=t[a];return o?o.hasOwnProperty("vnodeId")?n(e,[o]):Array.isArray(o)?n(e,i(o)):e:e},a?[a]:[]).filter(e=>"number"==typeof e.vnodeId)}}),Pe=a.cw(function(e,t){Ua(),Ba(),Ra(),Oe(),se();const n=["event"];function i(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),a.push.apply(a,n)}return a}function o(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?i(Object(a),!0).forEach(function(t){s(e,t,a[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):i(Object(a)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))})}return e}function s(e,t,a){return(t=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var a=e[Symbol.toPrimitive];if(void 0!==a){var n=a.call(e,t||"default");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}const{AMPLITUDE_API_KEY:r,DATADOG_CLIENT_TOKEN:c,NODE_ENV:l}={NODE_ENV:"production",AMPLITUDE_API_KEY:"5faf82a87f563be7741eca93a9cdef37",DATADOG_CLIENT_TOKEN:""};let d;try{var u;const e=O();d=null!==(u=e.default)&&void 0!==u&&u.getInstance?e.default.getInstance():e.getInstance()}catch{}const p=()=>!!d&&!0,h="enterpriseId",m="conversion:install",g="conversion:uninstall",f="user:login",b="user:open",v="analysis:analyze",y="record:delete",w="record:rename",k="analysis:complete",A="analysis:ai:request:fail",E="analysis:userCorrection",S="issues:export",T="issue:inspected",x="issue:relatedInspected",I="issue:toggleHighlight",R="issue:moreInfo",D="ml:suggestedInteractiveElement",C="ml:suggestedInteractiveElementRejected",N="ml:missedInteractiveElement",M="ml:suggestedRole",P="ml:suggestedRoleAccepted",$="ml:suggestedRoleRejected",_="ml:suggestedTableHeader",z="ml:suggestedTableHeaderRejected",F="performance:keyboardEscapeTrap",G="performance:tabstopAnalysis",q="performance:interactiveElementsAnalysis",L="performance:modalIgtFocusRestoration",j="performance:modalIgtDismissibility",U="performance:formsML",V="performance:formsTimeoutML",W="performance:saveIGT",H="conversion:click:scanPart",K="conversion:click:saveTest",Y="conversion:click:export",J="conversion:click:shareIssue",Z="analysis:startUFA",ee=(e=[],t)=>e.filter(({impact:e})=>e===t).reduce((e,{nodes:t})=>e+((null==t?void 0:t.length)||1),0),te=e=>{try{const t=new URL(e);return"localhost"===t.hostname||!!t.port||"file://"===t.origin}catch{return!1}},ne=e=>{if(void 0===e)return;const t=Array.from(new Set(e.map(e=>e.rule||e.id))),a={failedRuleCount:t.length,failedRuleNames:t,criticalIssueCount:ee(e,"critical"),seriousIssueCount:ee(e,"serious"),moderateIssueCount:ee(e,"moderate"),minorIssueCount:ee(e,"minor")};if(e.length&&Array.isArray(e[0].nodes)){const t=e.reduce((e,t)=>e+t.nodes.length,0);a.failedItemCount=t}return a},ie=async(e,{overrideProductInfo:t=!1}={})=>{const a=await(0,Oe().O)(),i=t?e.productName:a.productName,s=t?e.productComponent:a.productComponent,r=o(o({},e),{},{productName:i,productComponent:s}),c=!await(0,X().l)(r);if(p())try{let{event:e}=r,t=function(e,t){if(null==e)return{};var a,n,i=function(e,t){if(null==e)return{};var a={};for(var n in e)if({}.hasOwnProperty.call(e,n)){if(-1!==t.indexOf(n))continue;a[n]=e[n]}return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n<o.length;n++)a=o[n],-1===t.indexOf(a)&&{}.propertyIsEnumerable.call(e,a)&&(i[a]=e[a])}return i}(r,n);we(e,t)}catch(e){B().R8("Analytics Data Error",{error:e.message,stack:e.stack})}if(c)B().Rm("Usage event suppressed, attribution has no verifiable session",{event:r.event});else try{a.postEvent(r)}catch(e){B().R8("Usage Data Error",{error:e.message,stack:e.stack})}},oe=e=>{let t="anonymous";switch(null==e?void 0:e.status){case Q().rD:t="trial";break;case"paid":case Q().Ew:case Q().cT:case Q().Aw:case"free":case Q().Yw:t=e.status}return t},re=async(e=[])=>{var t;let a,n,i,s;if("devtools"in browser)try{({contentType:a,title:n,url:i,scoped:s}=await Ra().yS.send(Ra()._O.content,"get-document-metadata"))}catch(e){(0,me().vV)({message:"Unable to get document metadata",originalError:e})}const{usageOrganization:r,usageDepartment:c,usageApplication:l,user:d,cachedUserCompany:u,axeSettings:p,userJobRole:h,cachedUserEmail:m}=await browser.storage.local.get(["usageOrganization","usageDepartment","usageApplication","user","cachedUserCompany","axeSettings","userJobRole","cachedUserEmail"]),g=!(!d||!d.id);return{distinctId:await(0,se().A)(),organization:r||((null==d?void 0:d.company)||u||""),department:c||"",application:l||"",userStatus:oe(d),loggedIn:g,devInstance:te(i),keycloakId:d&&d.id,userId:d&&d.username||m,userJobRole:h||"Anonymous",enterpriseId:null==d||null===(t=d.enterprise)||void 0===t?void 0:t.id,productName:"axe-pro",productComponent:"extension",productComponentVersion:Ba().rE,applicationProperties:o({engineVersion:Ua().rE,scoped:s,target:i,targetMedium:a,targetState:n,experimental:!1,rulesetName:(null==p?void 0:p.ruleset)||"all",bestPractices:!!p&&!!p.enableBestPractices},ne(e))}},ce=e=>async function(t,a){const n=await re(t);if(!a)return ie(o(o({},n),{},{event:e}));ie(o(o({},n),{},{event:e,applicationProperties:o(o({},n.applicationProperties),a)}))},le=e=>t=>ce(e)(void 0,t),de=(ce("issue:viewed"),le(T),le(x),le(I),le(R),ce(y),ce(w),ce(m)),ue=(ce(g),ce(f),ce(b),async(e,t={})=>{const a=await re();ie(o(o({},a),{},{event:e,applicationProperties:t}))}),pe=(e,t="interactive-elements")=>a=>ce(e)(void 0,o({eventTool:t},a)),ge=(pe(D),pe(C),pe(N),pe(M),pe(P),pe($),pe(A));pe(E),pe(_,"table"),pe(z,"table"),ce(H),ce(K),ce(Y),ce(J),ce(Z);let fe=!1,be=!1;const ve=async()=>{if(fe||!p())return;const e=await(0,se().A)();d.init(r,void 0,{deviceId:e,includeUtm:!0,saveParamsReferrerOncePerSession:!1,includeGclid:!0,includeReferrer:!0,secureCookie:!0,sameSiteCookie:"Lax"}),fe=!0},ye=async()=>{if(!(void 0!==globalThis.document&&void 0!==globalThis.XMLHttpRequest))return;if(be)return!0;const e=(async e=>{let t;const a=new Promise(e=>{t=setTimeout(()=>e(void 0),1e4)});try{return await Promise.race([e,a])}finally{clearTimeout(t)}})((0,he().a)()).then(e=>{if(e)return e.init({clientToken:c,site:"datadoghq.com",service:"axe-extension",env:l,version:Ba().rE,beforeSend:e=>{var t;if(0===(null==e||null===(t=e.http)||void 0===t?void 0:t.status_code))return!1}}),be=!0,e});await(0,ae().f2)(e)},we=async(e,t={})=>{if(!p())return;await(async()=>{await Promise.all([ve(),ye()])})();let a={};switch(e){case v:a={analyze:1};break;case k:a={complete:1};break;case S:a={export:1}}await(async(e={})=>{var t;if(!p())return;const{user:a,userJobRole:n="",usageOrganization:i="",cachedUserCompany:s,axeSettings:r,highlightTheme:c,theme:l,locale:u,policySettings:m,axeServerURL:g,firstView:f,exportFormat:b}=await browser.storage.local.get(["user","userJobRole","usageOrganization","cachedUserCompany","axeSettings","highlightTheme","theme","locale","policySettings","axeServerURL","firstView","exportFormat"]);d.setUserId(a&&a.id);const v=a&&a.id,y=null==a||null===(t=a.enterprise)||void 0===t?void 0:t.id,w=(new d.Identify).set("role",n).set("userStatus",oe(a)).set("loggedIn",v).set("axeSettings",o(o({highlightTheme:c,theme:l,locale:u,axeServerURL:g},r),{},{ruleset:(null==r?void 0:r.ruleset)||"all"})).set("policySettings",m).set("firstView",f).set("exportSchema",b||"devtools");y&&w.set(h,y);for(const[t,a]of Object.entries(e))isNaN(a)?w.set(t,a):w.add(t,a);d.identify(w),d.setGroup("organization",i||(null==a?void 0:a.company)||s)})(a);const{devInstance:n,productName:i,productComponent:s,productComponentVersion:r,engineVersion:c,enterpriseId:l,applicationProperties:u}=t,m=o(o({devInstance:n,productName:i,productComponent:s,productComponentVersion:r,engineVersion:c},l?{[h]:l}:{}),u);d.logEvent(e,m)};a.d(t,["A2",0,e=>ue(j,{duration:e}),"AL",0,e=>ue(q,{duration:e}),"OO",0,(e,t)=>ue(W,{duration:e,eventTool:t}),"Ql",0,e=>ue(L,{duration:e}),"T_",0,ye,"Tp",0,e=>ue(U,{duration:e}),"UU",0,e=>ue(G,{duration:e}),"YD",0,()=>ue(V),"YG",0,(e,t={})=>{e?(0,ae().IK)(a=>a.logger.error(e,t)):(0,ae().IK)(e=>e.logger.error("Unknown exception"))},"aW",0,e=>ue(F,{duration:e}),"ai",0,async e=>{var t;const{hasSentInstallEvent:a}=await browser.storage.sync.get(["hasSentInstallEvent"]);if(a)return;await browser.storage.sync.set({hasSentInstallEvent:!0});const n=null===(t=await(0,se().S)())||void 0===t?void 0:t.data,i=n?{original_landing_page:n.original_landing_page,original_utm_source:n.original_utm_source}:null;i&&p()&&d.setUserProperties(i),de([],o(o({},e),i))},"iE",0,ge,"rO",0,async e=>{(await(0,Oe().O)()).enableTracking(e&&!0)}])}),Oe=a.cw(function(e,t){P();const n={chrome:"extension-chrome",firefox:"extension-firefox",edge:"extension-edge"};let i,o;a.d(t,["O",0,async(e=!1,t)=>{let{usageServerURL:a}=await browser.storage.local.get("usageServerURL");return!e&&i&&a===o||(o=a,"default"===a&&(a="https://usage.dequelabs.com"),i=new(P().Ay)("axe-devtools-html",n[t||(0,j().fx)()]),i.url(a)),i}])}),$e=()=>a(1629),_e=()=>a(3855),ze=()=>a(6380),Fe=a.cw(function(e,t){var n,i,o=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),s=(n=["",""],i=["",""],Object.freeze(Object.defineProperties(n,{raw:{value:Object.freeze(i)}})));var r=function(){function e(){for(var t=this,a=arguments.length,n=Array(a),i=0;i<a;i++)n[i]=arguments[i];return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.tag=function(e){for(var a=arguments.length,n=Array(a>1?a-1:0),i=1;i<a;i++)n[i-1]=arguments[i];return"function"==typeof e?t.interimTag.bind(t,e):"string"==typeof e?t.transformEndResult(e):(e=e.map(t.transformString.bind(t)),t.transformEndResult(e.reduce(t.processSubstitutions.bind(t,n))))},n.length>0&&Array.isArray(n[0])&&(n=n[0]),this.transformers=n.map(function(e){return"function"==typeof e?e():e}),this.tag}return o(e,[{key:"interimTag",value:function(e,t){for(var a=arguments.length,n=Array(a>2?a-2:0),i=2;i<a;i++)n[i-2]=arguments[i];return this.tag(s,e.apply(void 0,[t].concat(n)))}},{key:"processSubstitutions",value:function(e,t,a){var n=this.transformSubstitution(e.shift(),t);return"".concat(t,n,a)}},{key:"transformString",value:function(e){return this.transformers.reduce(function(e,t){return t.onString?t.onString(e):e},e)}},{key:"transformSubstitution",value:function(e,t){return this.transformers.reduce(function(e,a){return a.onSubstitution?a.onSubstitution(e,t):e},e)}},{key:"transformEndResult",value:function(e){return this.transformers.reduce(function(e,t){return t.onEndResult?t.onEndResult(e):e},e)}}]),e}();const c=r;a.d(t,["A",0,c])}),Ge=a.cw(function(e,t){a.d(t,{A:()=>Fe().A}),Fe()}),qe=a.cw(function(e,t){Ke()}),Le=a.cw(function(e,t){Ge();new(Fe().A)((0,Je().A)({separator:","}),wt().A,Et().A)}),je=a.cw(function(e,t){Le()}),Ue=a.cw(function(e,t){Ge();new(Fe().A)((0,Je().A)({separator:",",conjunction:"and"}),wt().A,Et().A)}),Be=a.cw(function(e,t){Ue()}),Ve=a.cw(function(e,t){Ge();new(Fe().A)((0,Je().A)({separator:",",conjunction:"or"}),wt().A,Et().A)}),We=a.cw(function(e,t){Ve()}),He=a.cw(function(e,t){Ge();const n=new(Fe().A)((0,bt().A)("\n"),ut().A,Je().A,wt().A,Et().A);a.d(t,["A",0,n])}),Ke=a.cw(function(e,t){a.d(t,{A:()=>He().A}),He()}),Ye=a.cw(function(e,t){a.d(t,{html:()=>Ke().A}),Ge(),je(),Be(),We(),Ke(),qe(),ft(),mt(),Qe(),lt(),tt(),ot(),nt(),Ze(),rt(),vt(),kt()}),Je=a.cw(function(e,t){var n={separator:"",conjunction:"",serial:!1};const i=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:n;return{onSubstitution:function(t,a){if(Array.isArray(t)){var n=t.length,i=e.separator,o=e.conjunction,s=e.serial,r=a.match(/(\n?[^\S\n]+)$/);if(t=r?t.join(i+r[1]):t.join(i+" "),o&&n>1){var c=t.lastIndexOf(i);t=t.slice(0,c)+(s?i:"")+" "+o+t.slice(c+1)}}return t}}};a.d(t,["A",0,i])}),Ze=a.cw(function(e,t){Xe()}),Xe=a.cw(function(e,t){Ge();new(Fe().A)(Je().A,wt().A,Et().A)}),Qe=a.cw(function(e,t){et()}),et=a.cw(function(e,t){Ge();new(Fe().A)((0,pt().A)(/(?:\n(?:\s*))+/g," "),Et().A)}),tt=a.cw(function(e,t){at()}),at=a.cw(function(e,t){Ge();new(Fe().A)((0,Je().A)({separator:","}),(0,pt().A)(/(?:\s+)/g," "),Et().A)}),nt=a.cw(function(e,t){it()}),it=a.cw(function(e,t){Ge();new(Fe().A)((0,Je().A)({separator:",",conjunction:"and"}),(0,pt().A)(/(?:\s+)/g," "),Et().A)}),ot=a.cw(function(e,t){st()}),st=a.cw(function(e,t){Ge();new(Fe().A)((0,Je().A)({separator:",",conjunction:"or"}),(0,pt().A)(/(?:\s+)/g," "),Et().A)}),rt=a.cw(function(e,t){ct()}),ct=a.cw(function(e,t){Ge();new(Fe().A)(Je().A,(0,pt().A)(/(?:\s+)/g," "),Et().A)}),lt=a.cw(function(e,t){dt()}),dt=a.cw(function(e,t){Ge();new(Fe().A)((0,pt().A)(/(?:\n\s*)/g,""),Et().A)}),ut=a.cw(function(e,t){var n=function(e){return null!=e&&!Number.isNaN(e)&&"boolean"!=typeof e};const i=function(){return{onSubstitution:function(e){return Array.isArray(e)?e.filter(n):n(e)?e:""}}};a.d(t,["A",0,i])}),pt=a.cw(function(e,t){const n=function(e,t){return{onEndResult:function(a){if(null==e||null==t)throw new Error("replaceResultTransformer requires at least 2 arguments.");return a.replace(e,t)}}};a.d(t,["A",0,n])}),ht=a.cw(function(e,t){const n=function(e,t){return{onSubstitution:function(a,n){if(null==e||null==t)throw new Error("replaceSubstitutionTransformer requires at least 2 arguments.");return null==a?a:a.toString().replace(e,t)}}};a.d(t,["A",0,n])}),mt=a.cw(function(e,t){gt()}),gt=a.cw(function(e,t){Ge();new(Fe().A)((0,bt().A)("\n"),Je().A,wt().A,Et().A,(0,ht().A)(/&/g,"&amp;"),(0,ht().A)(/</g,"&lt;"),(0,ht().A)(/>/g,"&gt;"),(0,ht().A)(/"/g,"&quot;"),(0,ht().A)(/'/g,"&#x27;"),(0,ht().A)(/`/g,"&#x60;"))}),ft=a.cw(function(e,t){Ke()}),bt=a.cw(function(e,t){const n=function(e){return{onSubstitution:function(t,a){if(null==e||"string"!=typeof e)throw new Error("You need to specify a string character to split by.");return"string"==typeof t&&t.includes(e)&&(t=t.split(e)),t}}};a.d(t,["A",0,n])}),vt=a.cw(function(e,t){yt()}),yt=a.cw(function(e,t){Ge();new(Fe().A)(wt().A,Et().A)}),wt=a.cw(function(e,t){const n=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"initial";return{onEndResult:function(t){if("initial"===e){var a=t.match(/^[^\S\n]*(?=\S)/gm),n=a&&Math.min.apply(Math,function(e){if(Array.isArray(e)){for(var t=0,a=Array(e.length);t<e.length;t++)a[t]=e[t];return a}return Array.from(e)}(a.map(function(e){return e.length})));if(n){var i=new RegExp("^.{"+n+"}","gm");return t.replace(i,"")}return t}if("all"===e)return t.replace(/^[^\S\n]+/gm,"");throw new Error("Unknown type: "+e)}}};a.d(t,["A",0,n])}),kt=a.cw(function(e,t){At()}),At=a.cw(function(e,t){Ge();new(Fe().A)((0,wt().A)("all"),Et().A)}),Et=a.cw(function(e,t){const n=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return{onEndResult:function(t){if(""===e)return t.trim();if("start"===(e=e.toLowerCase())||"left"===e)return t.replace(/^\s*/,"");if("end"===e||"right"===e)return t.replace(/\s*$/,"");throw new Error("Side not supported: "+e)}}};a.d(t,["A",0,n])}),St=()=>a(5226),Tt=()=>a(5796),xt=()=>a(9681),It=a.cw(function(e,t){var a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},n=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}();function i(e){if(Array.isArray(e)){for(var t=0,a=Array(e.length);t<e.length;t++)a[t]=e[t];return a}return Array.from(e)}var o=/^:([a-z])(\(([^)]+)\))?/,s="numeric",r="long",c="2-digit",l="string",d="decimal",u="currency",p="percent",h={weekday:void 0,era:void 0,year:void 0,month:r,day:s,hour:void 0,minute:void 0,second:void 0,timeZoneName:void 0},m={weekday:void 0,era:void 0,year:s,month:r,day:void 0,hour:void 0,minute:void 0,second:void 0,timeZoneName:void 0},g={d:{weekday:void 0,era:void 0,year:s,month:s,day:s,hour:void 0,minute:void 0,second:void 0,timeZoneName:void 0},D:{weekday:r,era:void 0,year:s,month:r,day:s,hour:void 0,minute:void 0,second:void 0,timeZoneName:void 0},f:{weekday:r,era:void 0,year:s,month:r,day:s,hour:s,minute:c,second:void 0,timeZoneName:void 0},F:{weekday:r,era:void 0,year:s,month:r,day:s,hour:s,minute:c,second:c,timeZoneName:void 0},g:{weekday:void 0,era:void 0,year:s,month:s,day:s,hour:s,minute:c,second:void 0,timeZoneName:void 0},G:{weekday:void 0,era:void 0,year:s,month:s,day:s,hour:s,minute:c,second:c,timeZoneName:void 0},m:h,M:h,t:{weekday:void 0,era:void 0,year:void 0,month:void 0,day:void 0,hour:s,minute:c,second:void 0,timeZoneName:void 0},T:{weekday:void 0,era:void 0,year:void 0,month:void 0,day:void 0,hour:s,minute:c,second:c,timeZoneName:void 0},y:m,Y:m},f=function(){function e(){var t=this;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.defaultConfig={locales:void 0,translations:{},number:{currency:"USD"},date:{},string:{}},this.configs={"":this.defaultConfig},this.translationCache={},this.keyCache={},this.typeInfoCache={},this._localizers={s:function(e,a,n){var i=void 0;return n&&null!==(i=t._runCustomFormatters(e,l,n,a))?i:a?a.toLocaleString(e.locales):String(a)},n:function(e,n,i){if("number"!=typeof n)throw Error("value is not a number. type: "+(void 0===n?"undefined":a(n)));if(i){var o=parseInt(i);if(!isNaN(o))return n.toLocaleString(e.locales,Object.assign({},e.number,{style:d,minimumFractionDigits:o,maximumFractionDigits:o}));var s;if(null!==(s=t._runCustomFormatters(e,"number",i,n)))return s}return n.toLocaleString(e.locales,Object.assign({},e.number,{style:d,minimumFractionDigits:0,maximumFractionDigits:3}))},t:function(e,a,n){if(!(a instanceof Date))throw Error("value is not a Date. type: "+a.constructor.name);if(n){switch(n.toUpperCase()){case"R":return a.toUTCString();case"O":return a.toISOString()}var i=g[n];if(i)return a.toLocaleString(e.locales,Object.assign({},e.date,i));var o=t._runCustomFormatters(e,"date",n,a);if(null!==o)return o}return a.toLocaleString(e.locales,Object.assign({},e.date))},c:function(e,t,n){if("number"!=typeof t)throw Error("value is not a number. type: "+(void 0===t?"undefined":a(t)));return t.toLocaleString(e.locales,n?Object.assign({},e.number,{style:u,currency:n}):Object.assign({},e.number,{style:u}))},p:function(e,t,n){if("number"!=typeof t)throw Error("value is not a number. type: "+(void 0===t?"undefined":a(t)));return t.toLocaleString(e.locales,n?Object.assign({},e.number,{style:p,minimumFractionDigits:n}):Object.assign({},e.number,{style:p}))}},this.i18n=this.i18n.bind(this),this.translate=this.translate.bind(this),this.i18nConfig=this.i18nConfig.bind(this),this._localize=this._localize.bind(this),this._extractTypeInfo=this._extractTypeInfo.bind(this)}return n(e,[{key:"i18nConfig",value:function(e){var t=e.locales,a=e.translations,n=e.group,i=e.number,o=e.date,s=e.standardFormatters;this.translationCache={};var r=this.configs[n||""]||this.defaultConfig;this.configs[n||""]=Object.assign({},r,{locales:t||r.locales,translations:a||r.translations,number:i||r.number,date:o||r.date,standardFormatters:s||r.standardFormatters})}},{key:"i18n",value:function(e,t,a){for(var n=this,o=this._buildKey(a),s=this._getCachedTranslation(e,t,o),r=s.configGroup,c=s.translatedKey,l=a.slice(1).map(this._extractTypeInfo),d=arguments.length,u=Array(d>3?d-3:0),p=3;p<d;p++)u[p-3]=arguments[p];var h=u.map(function(e,t){return n._localize(r,e,l[t])});return this._buildMessage.apply(this,[c].concat(i(h)))}},{key:"translate",value:function(e,t,a){var n=this;null==a?a="":"string"!=typeof a&&(a=String(a));for(var o=this._getCachedTranslation(e,t,a),s=o.configGroup,r=o.translatedKey,c=arguments.length,l=Array(c>3?c-3:0),d=3;d<c;d++)l[d-3]=arguments[d];var u=l.map(function(e){return e instanceof Object&&e.constructor===Object?n._localize(s,e.value||"",{type:e.formatter||"s",options:e.format}):n._localize(s,e,{type:"s",options:""})});return this._buildMessage.apply(this,[r].concat(i(u)))}},{key:"_getCachedTranslation",value:function(e,t,a){var n=[e||"",t||"",a].join(),i=this.translationCache[n],o=this.configs[t||""]||this.defaultConfig;if(i)return{configGroup:o,translatedKey:i};var s=this._getTranslation(e,o,a);return this.translationCache[n]=s,{configGroup:o,translatedKey:s}}},{key:"_getTranslation",value:function(e,t,n){var i=t.translations,o=void 0,s=void 0;return(void 0===e?"undefined":a(e))===l&&(s=e),s&&(o=i[s])instanceof Object&&(o=o[n]),o||(o="string"==typeof i[n]&&i[n]||n),o}},{key:"_runCustomFormatters",value:function(e,t,a,n){var i=null;if(e.standardFormatters){var o=e.standardFormatters[t];if(o){var s=o[a];s&&(i=s(e.locales,e[t],n))}}return i}},{key:"_extractTypeInfo",value:function(e){var t=this.typeInfoCache[e];if(t)return t;var a=o.exec(e);return t=a?{type:a[1],options:a[3]}:{type:"s",options:""},this.typeInfoCache[e]=t,t}},{key:"_localize",value:function(e,t,a){var n=a.type,i=a.options,o=this._localizers[n];if(o)return o(e,t,i);throw new Error("Type '"+n+"' is not supported. Supported types are: "+Object.keys(this._localizers).join())}},{key:"_buildKey",value:function(e){var t=e.join(),a=this.keyCache[t];if(a)return a;var n=function(e){return e.replace(o,"")},i=n(e[e.length-1]),s=e.slice(0,-1).reduceRight(function(e,t,a){return n(t)+"${"+a+"}"+e},i).replace(/\r\n/g,"\n");return this.keyCache[t]=s,s}},{key:"_buildMessage",value:function(e){for(var t=arguments.length,a=Array(t>1?t-1:0),n=1;n<t;n++)a[n-1]=arguments[n];return e.replace(/\${(\d)}/g,function(e,t){return a[Number(t)]})}}]),e}(),b=new f,v=b.i18nConfig,y=function(e){for(var t=arguments.length,a=Array(t>1?t-1:0),n=1;n<t;n++)a[n-1]=arguments[n];if("string"==typeof e){if(a.length&&"string"==typeof a[0]){var i=function(t){for(var n=arguments.length,i=Array(n>1?n-1:0),o=1;o<n;o++)i[o-1]=arguments[o];return b.i18n.apply(b,[e,a[0],t].concat(i))};return i.translate=function(t){for(var n=arguments.length,i=Array(n>1?n-1:0),o=1;o<n;o++)i[o-1]=arguments[o];return b.translate.apply(b,[e,a[0],t].concat(i))},i}var o=function(t){for(var a=arguments.length,n=Array(a>1?a-1:0),i=1;i<a;i++)n[i-1]=arguments[i];return b.i18n.apply(b,[e,null,t].concat(n))};return o.translate=function(t){for(var a=arguments.length,n=Array(a>1?a-1:0),i=1;i<a;i++)n[i-1]=arguments[i];return b.translate.apply(b,[e,null,t].concat(n))},o}return b.i18n.apply(b,[null,null,e].concat(a))};y.translate=function(e){for(var t=arguments.length,a=Array(t>1?t-1:0),n=1;n<t;n++)a[n-1]=arguments[n];return b.translate.apply(b,[null,null,e].concat(a))};var w=function(e,t){return function(a){return a.prototype.i18n=function(a){for(var n=arguments.length,i=Array(n>1?n-1:0),o=1;o<n;o++)i[o-1]=arguments[o];return y(e,t).apply(void 0,[a].concat(i))},a.prototype.i18n.translate=function(a){for(var n=arguments.length,i=Array(n>1?n-1:0),o=1;o<n;o++)i[o-1]=arguments[o];return b.translate.apply(b,[e,t,a].concat(i))},a}};"undefined"!=typeof window&&(window.i18n=y,window.i18nConfig=v,window.i18nGroup=w),t.Ay=y,t.X0=v}),Rt=()=>a(7910),Dt=()=>a(8422),Ct=()=>a(5649),Nt=()=>a(1636),Mt=a.cw(function(e,t){var a=Symbol.for("react.element"),n=Symbol.for("react.portal"),i=Symbol.for("react.fragment"),o=Symbol.for("react.strict_mode"),s=Symbol.for("react.profiler"),r=Symbol.for("react.provider"),c=Symbol.for("react.context"),l=Symbol.for("react.forward_ref"),d=Symbol.for("react.suspense"),u=Symbol.for("react.memo"),p=Symbol.for("react.lazy"),h=Symbol.iterator;var m={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},g=Object.assign,f={};function b(e,t,a){this.props=e,this.context=t,this.refs=f,this.updater=a||m}function v(){}function y(e,t,a){this.props=e,this.context=t,this.refs=f,this.updater=a||m}b.prototype.isReactComponent={},b.prototype.setState=function(e,t){if("object"!=typeof e&&"function"!=typeof e&&null!=e)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState")},b.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")},v.prototype=b.prototype;var w=y.prototype=new v;w.constructor=y,g(w,b.prototype),w.isPureReactComponent=!0;var k=Array.isArray,A=Object.prototype.hasOwnProperty,E={current:null},S={key:!0,ref:!0,__self:!0,__source:!0};function T(e,t,n){var i,o={},s=null,r=null;if(null!=t)for(i in void 0!==t.ref&&t.ref,void 0!==t.key&&""+t.key,t)A.call(t,i)&&!S.hasOwnProperty(i)&&(o[i]=t[i]);var c=arguments.length-2;if(1===c)o.children=n;else if(1<c){for(var l=Array(c),d=0;d<c;d++)l[d]=arguments[d+2];o.children=l}if(e&&e.defaultProps)for(i in e.defaultProps)void 0===o[i]&&(o[i]=c[i]);return{$$typeof:a,type:e,key:s,ref:r,props:o,_owner:E.current}}function x(e){return"object"==typeof e&&null!==e&&e.$$typeof===a}var I=/\/+/g;function R(e,t){return"object"==typeof e&&null!==e&&null!=e.key?function(e){var t={"=":"=0",":":"=2"};return"$"+e.replace(/[=:]/g,function(e){return t[e]})}(""+e.key):t.toString(36)}function D(e,t,i,o,s){var r=typeof e;"undefined"!==r&&"boolean"!==r||null;var c=!1;if(null===e)0;else switch(r){case"string":case"number":0;break;case"object":switch(e.$$typeof){case a:case n:0}}if(c)return s(e),""===o?"."+R(c,0):o,k(s)?(null!=e&&e.replace(I,"$&/")+"/",D(s,t,i,"",function(e){return e})):null!=s&&(x(s)&&function(e,t){return{$$typeof:a,type:e.type,key:t,ref:e.ref,props:e.props,_owner:e._owner}}(s,i+(!s.key||c&&c.key===s.key?"":(""+s.key).replace(I,"$&/")+"/")+e),t.push(s)),1;if(k(e))for(var l=0;l<e.length;l++){var d=o+R(e[l],l);D(r,t,i,d,s)}else if(function(e){return null===e||"object"!=typeof e?null:"function"==typeof(h&&e[h]||e["@@iterator"])?e:null}(e),"function"==typeof d)for(d.call(e),0;!e.next().done;)D(r.value,t,i,o+R(r,l++),s);else if("object"===r)throw String(e),Error("Objects are not valid as a React child (found: "+("[object Object]"===t?"object with keys {"+Object.keys(e).join(", ")+"}":t)+"). If you meant to render a collection of children, use an array instead.");return c}function C(e,t,a){if(null==e)return e;var n=[],i=0;return D(e,n,"","",function(e){return t.call(a,e,i++)}),n}function N(e){if(-1===e._status){var t=e._result;t().then(function(t){0!==e._status&&-1!==e._status||(e._status=1,e._result=t)},function(t){0!==e._status&&-1!==e._status||(e._status=2,e._result=t)}),-1===e._status&&(e._status=0,e._result=t)}if(1===e._status)return e._result.default;throw e._result}var M={current:null},P={transition:null};function O(){throw Error("act(...) is not supported in production builds of React.")}}),Pt=a.cw(function(e,t){Mt()}),Ot=a.cw(function(e,t){const a=Symbol("SemVer ANY");class n{static get ANY(){return a}constructor(e,t){if(t=i(t),e instanceof n){if(e.loose===!!t.loose)return e;e=e.value}e=e.trim().split(/\s+/).join(" "),c("comparator",e,t),this.options=t,this.loose=!!t.loose,this.parse(e),this.semver===a?this.value="":this.value=this.operator+this.semver.version,c("comp",this)}parse(e){const t=this.options.loose?o[s.COMPARATORLOOSE]:o[s.COMPARATOR],n=e.match(t);if(!n)throw new TypeError(`Invalid comparator: ${e}`);this.operator=void 0!==n[1]?n[1]:"","="===this.operator&&(this.operator=""),n[2]?this.semver=new l(n[2],this.options.loose):this.semver=a}toString(){return this.value}test(e){if(c("Comparator.test",e,this.options.loose),this.semver===a||e===a)return!0;if("string"==typeof e)try{e=new l(e,this.options)}catch(e){return!1}return r(e,this.operator,this.semver,this.options)}intersects(e,t){if(!(e instanceof n))throw new TypeError("a Comparator is required");return""===this.operator?""===this.value||new d(e.value,t).test(this.value):""===e.operator?""===e.value||new d(this.value,t).test(e.semver):(!(t=i(t)).includePrerelease||"<0.0.0-0"!==this.value&&"<0.0.0-0"!==e.value)&&(!(!t.includePrerelease&&(this.value.startsWith("<0.0.0")||e.value.startsWith("<0.0.0")))&&(!(!this.operator.startsWith(">")||!e.operator.startsWith(">"))||(!(!this.operator.startsWith("<")||!e.operator.startsWith("<"))||(!(this.semver.version!==e.semver.version||!this.operator.includes("=")||!e.operator.includes("="))||(!!(r(this.semver,"<",e.semver,t)&&this.operator.startsWith(">")&&e.operator.startsWith("<"))||!!(r(this.semver,">",e.semver,t)&&this.operator.startsWith("<")&&e.operator.startsWith(">")))))))}}e.exports=n;const i=ha(),{safeRe:o,t:s}=ma(),r=Ft(),c=da(),l=_t(),d=$t()}),$t=a.cw(function(e,t){const a=/\s+/g;class n{constructor(e,t){if(t=o(t),e instanceof n)return e.loose===!!t.loose&&e.includePrerelease===!!t.includePrerelease?e:new n(e.raw,t);if(e instanceof s)return this.raw=e.value,this.set=[[e]],this.formatted=void 0,this;if(this.options=t,this.loose=!!t.loose,this.includePrerelease=!!t.includePrerelease,this.raw=e.trim().replace(a," "),this.set=this.raw.split("||").map(e=>this.parseRange(e.trim())).filter(e=>e.length),!this.set.length)throw new TypeError(`Invalid SemVer Range: ${this.raw}`);if(this.set.length>1){const e=this.set[0];if(this.set=this.set.filter(e=>!v(e[0])),0===this.set.length)this.set=[e];else if(this.set.length>1)for(const e of this.set)if(1===e.length&&y(e[0])){this.set=[e];break}}this.formatted=void 0}get range(){if(void 0===this.formatted){this.formatted="";for(let e=0;e<this.set.length;e++){e>0&&(this.formatted+="||");const t=this.set[e];for(let e=0;e<t.length;e++)e>0&&(this.formatted+=" "),this.formatted+=t[e].toString().trim()}}return this.formatted}format(){return this.range}toString(){return this.range}parseRange(e){e=e.replace(b,"");const t=((this.options.includePrerelease&&g)|(this.options.loose&&f))+":"+e,a=i.get(t);if(a)return a;const n=this.options.loose,o=n?l[u.HYPHENRANGELOOSE]:l[u.HYPHENRANGE];e=e.replace(o,N(this.options.includePrerelease)),r("hyphen replace",e),e=e.replace(l[u.COMPARATORTRIM],p),r("comparator trim",e),e=e.replace(l[u.TILDETRIM],h),r("tilde trim",e),e=e.replace(l[u.CARETTRIM],m),r("caret trim",e);let c=e.split(" ").map(e=>k(e,this.options)).join(" ").split(/\s+/).map(e=>C(e,this.options));n&&(c=c.filter(e=>(r("loose invalid filter",e,this.options),!!e.match(l[u.COMPARATORLOOSE])))),r("range list",c);const d=new Map,y=c.map(e=>new s(e,this.options));for(const e of y){if(v(e))return[e];d.set(e.value,e)}d.size>1&&d.has("")&&d.delete("");const w=[...d.values()];return i.set(t,w),w}intersects(e,t){if(!(e instanceof n))throw new TypeError("a Range is required");return this.set.some(a=>w(a,t)&&e.set.some(e=>w(e,t)&&a.every(a=>e.every(e=>a.intersects(e,t)))))}test(e){if(!e)return!1;if("string"==typeof e)try{e=new c(e,this.options)}catch(e){return!1}for(let t=0;t<this.set.length;t++)if(M(this.set[t],e,this.options))return!0;return!1}}e.exports=n;const i=new(pa()),o=ha(),s=Ot(),r=da(),c=_t(),{safeRe:l,src:d,t:u,comparatorTrimReplace:p,tildeTrimReplace:h,caretTrimReplace:m}=ma(),{FLAG_INCLUDE_PRERELEASE:g,FLAG_LOOSE:f}=la(),b=new RegExp(d[u.BUILD],"g"),v=e=>"<0.0.0-0"===e.value,y=e=>""===e.value,w=(e,t)=>{let a=!0;const n=e.slice();let i=n.pop();for(;a&&n.length;)a=n.every(e=>i.intersects(e,t)),i=n.pop();return a},k=(e,t)=>(e=e.replace(l[u.BUILD],""),r("comp",e,t),e=T(e,t),r("caret",e),e=E(e,t),r("tildes",e),e=I(e,t),r("xrange",e),e=D(e,t),r("stars",e),e),A=e=>!e||"x"===e.toLowerCase()||"*"===e,E=(e,t)=>e.trim().split(/\s+/).map(e=>S(e,t)).join(" "),S=(e,t)=>{const a=t.loose?l[u.TILDELOOSE]:l[u.TILDE],n=t.includePrerelease?"-0":"";return e.replace(a,(t,a,i,o,s)=>{let c;return r("tilde",e,t,a,i,o,s),A(a)?c="":A(i)?c=`>=${a}.0.0${n} <${+a+1}.0.0-0`:A(o)?c=`>=${a}.${i}.0${n} <${a}.${+i+1}.0-0`:s?(r("replaceTilde pr",s),c=`>=${a}.${i}.${o}-${s} <${a}.${+i+1}.0-0`):c=`>=${a}.${i}.${o} <${a}.${+i+1}.0-0`,r("tilde return",c),c})},T=(e,t)=>e.trim().split(/\s+/).map(e=>x(e,t)).join(" "),x=(e,t)=>{r("caret",e,t);const a=t.loose?l[u.CARETLOOSE]:l[u.CARET],n=t.includePrerelease?"-0":"";return e.replace(a,(t,a,i,o,s)=>{let c;return r("caret",e,t,a,i,o,s),A(a)?c="":A(i)?c=`>=${a}.0.0${n} <${+a+1}.0.0-0`:A(o)?c="0"===a?`>=${a}.${i}.0${n} <${a}.${+i+1}.0-0`:`>=${a}.${i}.0${n} <${+a+1}.0.0-0`:s?(r("replaceCaret pr",s),c="0"===a?"0"===i?`>=${a}.${i}.${o}-${s} <${a}.${i}.${+o+1}-0`:`>=${a}.${i}.${o}-${s} <${a}.${+i+1}.0-0`:`>=${a}.${i}.${o}-${s} <${+a+1}.0.0-0`):(r("no pr"),c="0"===a?"0"===i?`>=${a}.${i}.${o} <${a}.${i}.${+o+1}-0`:`>=${a}.${i}.${o} <${a}.${+i+1}.0-0`:`>=${a}.${i}.${o} <${+a+1}.0.0-0`),r("caret return",c),c})},I=(e,t)=>(r("replaceXRanges",e,t),e.split(/\s+/).map(e=>R(e,t)).join(" ")),R=(e,t)=>{e=e.trim();const a=t.loose?l[u.XRANGELOOSE]:l[u.XRANGE];return e.replace(a,(a,n,i,o,s,c)=>{if(r("xRange",e,a,n,i,o,s,c),((e,t,a)=>A(e)&&!A(t)||A(t)&&a&&!A(a))(i,o,s))return e;const l=A(i),d=l||A(o),u=d||A(s),p=u;return"="===n&&p&&(n=""),c=t.includePrerelease?"-0":"",l?a=">"===n||"<"===n?"<0.0.0-0":"*":n&&p?(d&&(o=0),s=0,">"===n?(n=">=",d?(i=+i+1,o=0,s=0):(o=+o+1,s=0)):"<="===n&&(n="<",d?i=+i+1:o=+o+1),"<"===n&&(c="-0"),a=`${n+i}.${o}.${s}${c}`):d?a=`>=${i}.0.0${c} <${+i+1}.0.0-0`:u&&(a=`>=${i}.${o}.0${c} <${i}.${+o+1}.0-0`),r("xRange return",a),a})},D=(e,t)=>(r("replaceStars",e,t),e.trim().replace(l[u.STAR],"")),C=(e,t)=>(r("replaceGTE0",e,t),e.trim().replace(l[t.includePrerelease?u.GTE0PRE:u.GTE0],"")),N=e=>(t,a,n,i,o,s,r,c,l,d,u,p)=>`${a=A(n)?"":A(i)?`>=${n}.0.0${e?"-0":""}`:A(o)?`>=${n}.${i}.0${e?"-0":""}`:s?`>=${a}`:`>=${a}${e?"-0":""}`} ${c=A(l)?"":A(d)?`<${+l+1}.0.0-0`:A(u)?`<${l}.${+d+1}.0-0`:p?`<=${l}.${d}.${u}-${p}`:e?`<${l}.${d}.${+u+1}-0`:`<=${c}`}`.trim(),M=(e,t,a)=>{for(let a=0;a<e.length;a++)if(!e[a].test(t))return!1;if(t.prerelease.length&&!a.includePrerelease){for(let a=0;a<e.length;a++)if(r(e[a].semver),e[a].semver!==s.ANY&&e[a].semver.prerelease.length>0){const n=e[a].semver;if(n.major===t.major&&n.minor===t.minor&&n.patch===t.patch)return!0}return!1}return!0}}),_t=a.cw(function(e,t){const a=da(),{MAX_LENGTH:n,MAX_SAFE_INTEGER:i}=la(),{safeRe:o,t:s}=ma(),r=ha(),{compareIdentifiers:c}=ua();class l{constructor(e,t){if(t=r(t),e instanceof l){if(e.loose===!!t.loose&&e.includePrerelease===!!t.includePrerelease)return e;e=e.version}else if("string"!=typeof e)throw new TypeError(`Invalid version. Must be a string. Got type "${typeof e}".`);if(e.length>n)throw new TypeError(`version is longer than ${n} characters`);a("SemVer",e,t),this.options=t,this.loose=!!t.loose,this.includePrerelease=!!t.includePrerelease;const c=e.trim().match(t.loose?o[s.LOOSE]:o[s.FULL]);if(!c)throw new TypeError(`Invalid Version: ${e}`);if(this.raw=e,this.major=+c[1],this.minor=+c[2],this.patch=+c[3],this.major>i||this.major<0)throw new TypeError("Invalid major version");if(this.minor>i||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>i||this.patch<0)throw new TypeError("Invalid patch version");c[4]?this.prerelease=c[4].split(".").map(e=>{if(/^[0-9]+$/.test(e)){const t=+e;if(t>=0&&t<i)return t}return e}):this.prerelease=[],this.build=c[5]?c[5].split("."):[],this.format()}format(){return this.version=`${this.major}.${this.minor}.${this.patch}`,this.prerelease.length&&(this.version+=`-${this.prerelease.join(".")}`),this.version}toString(){return this.version}compare(e){if(a("SemVer.compare",this.version,this.options,e),!(e instanceof l)){if("string"==typeof e&&e===this.version)return 0;e=new l(e,this.options)}return e.version===this.version?0:this.compareMain(e)||this.comparePre(e)}compareMain(e){return e instanceof l||(e=new l(e,this.options)),this.major<e.major?-1:this.major>e.major?1:this.minor<e.minor?-1:this.minor>e.minor?1:this.patch<e.patch?-1:this.patch>e.patch?1:0}comparePre(e){if(e instanceof l||(e=new l(e,this.options)),this.prerelease.length&&!e.prerelease.length)return-1;if(!this.prerelease.length&&e.prerelease.length)return 1;if(!this.prerelease.length&&!e.prerelease.length)return 0;let t=0;do{const n=this.prerelease[t],i=e.prerelease[t];if(a("prerelease compare",t,n,i),void 0===n&&void 0===i)return 0;if(void 0===i)return 1;if(void 0===n)return-1;if(n!==i)return c(n,i)}while(++t)}compareBuild(e){e instanceof l||(e=new l(e,this.options));let t=0;do{const n=this.build[t],i=e.build[t];if(a("build compare",t,n,i),void 0===n&&void 0===i)return 0;if(void 0===i)return 1;if(void 0===n)return-1;if(n!==i)return c(n,i)}while(++t)}inc(e,t,a){if(e.startsWith("pre")){if(!t&&!1===a)throw new Error("invalid increment argument: identifier is empty");if(t){const e=`-${t}`.match(this.options.loose?o[s.PRERELEASELOOSE]:o[s.PRERELEASE]);if(!e||e[1]!==t)throw new Error(`invalid identifier: ${t}`)}}switch(e){case"premajor":this.prerelease.length=0,this.patch=0,this.minor=0,this.major++,this.inc("pre",t,a);break;case"preminor":this.prerelease.length=0,this.patch=0,this.minor++,this.inc("pre",t,a);break;case"prepatch":this.prerelease.length=0,this.inc("patch",t,a),this.inc("pre",t,a);break;case"prerelease":0===this.prerelease.length&&this.inc("patch",t,a),this.inc("pre",t,a);break;case"release":if(0===this.prerelease.length)throw new Error(`version ${this.raw} is not a prerelease`);this.prerelease.length=0;break;case"major":0===this.minor&&0===this.patch&&0!==this.prerelease.length||this.major++,this.minor=0,this.patch=0,this.prerelease=[];break;case"minor":0===this.patch&&0!==this.prerelease.length||this.minor++,this.patch=0,this.prerelease=[];break;case"patch":0===this.prerelease.length&&this.patch++,this.prerelease=[];break;case"pre":{const e=Number(a)?1:0;if(0===this.prerelease.length)this.prerelease=[e];else{let n=this.prerelease.length;for(;--n>=0;)"number"==typeof this.prerelease[n]&&(this.prerelease[n]++,n=-2);if(-1===n){if(t===this.prerelease.join(".")&&!1===a)throw new Error("invalid increment argument: identifier already exists");this.prerelease.push(e)}}if(t){let n=[t,e];if(!1===a&&(n=[t]),((e,t)=>{const a=t.split(".");if(a.length>e.length)return!1;for(let t=0;t<a.length;t++)if(0!==c(e[t],a[t]))return!1;return!0})(this.prerelease,t)){const e=this.prerelease[t.split(".").length];isNaN(e)&&(this.prerelease=n)}else this.prerelease=n}break}default:throw new Error(`invalid increment argument: ${e}`)}return this.raw=this.format(),this.build.length&&(this.raw+=`+${this.build.join(".")}`),this}}e.exports=l}),zt=a.cw(function(e,t){const a=Qt();e.exports=(e,t)=>{const n=a(e.trim().replace(/^[=v]+/,""),t);return n?n.version:null}}),Ft=a.cw(function(e,t){const a=Bt(),n=Xt(),i=Vt(),o=Wt(),s=Kt(),r=Yt();e.exports=(e,t,c,l)=>{switch(t){case"===":return"object"==typeof e&&(e=e.version),"object"==typeof c&&(c=c.version),e===c;case"!==":return"object"==typeof e&&(e=e.version),"object"==typeof c&&(c=c.version),e!==c;case"":case"=":case"==":return a(e,c,l);case"!=":return n(e,c,l);case">":return i(e,c,l);case">=":return o(e,c,l);case"<":return s(e,c,l);case"<=":return r(e,c,l);default:throw new TypeError(`Invalid operator: ${t}`)}}}),Gt=a.cw(function(e,t){const a=_t(),n=Qt(),{safeRe:i,t:o}=ma();e.exports=(e,t)=>{if(e instanceof a)return e;if("number"==typeof e&&(e=String(e)),"string"!=typeof e)return null;let s=null;if((t=t||{}).rtl){const a=t.includePrerelease?i[o.COERCERTLFULL]:i[o.COERCERTL];let n;for(;(n=a.exec(e))&&(!s||s.index+s[0].length!==e.length);)s&&n.index+n[0].length===s.index+s[0].length||(s=n),a.lastIndex=n.index+n[1].length+n[2].length;a.lastIndex=-1}else s=e.match(t.includePrerelease?i[o.COERCEFULL]:i[o.COERCE]);if(null===s)return null;const r=s[2],c=s[3]||"0",l=s[4]||"0",d=t.includePrerelease&&s[5]?`-${s[5]}`:"",u=t.includePrerelease&&s[6]?`+${s[6]}`:"";return n(`${r}.${c}.${l}${d}${u}`,t)}}),qt=a.cw(function(e,t){const a=_t();e.exports=(e,t,n)=>{const i=new a(e,n),o=new a(t,n);return i.compare(o)||i.compareBuild(o)}}),Lt=a.cw(function(e,t){const a=jt();e.exports=(e,t)=>a(e,t,!0)}),jt=a.cw(function(e,t){const a=_t();e.exports=(e,t,n)=>new a(e,n).compare(new a(t,n))}),Ut=a.cw(function(e,t){const a=Qt();e.exports=(e,t)=>{const n=a(e,null,!0),i=a(t,null,!0),o=n.compare(i);if(0===o)return null;const s=o>0,r=s?n:i,c=s?i:n,l=!!r.prerelease.length;if(!!c.prerelease.length&&!l){if(!c.patch&&!c.minor)return"major";if(0===c.compareMain(r))return c.minor&&!c.patch?"minor":"patch"}const d=l?"pre":"";return n.major!==i.major?d+"major":n.minor!==i.minor?d+"minor":n.patch!==i.patch?d+"patch":"prerelease"}}),Bt=a.cw(function(e,t){const a=jt();e.exports=(e,t,n)=>0===a(e,t,n)}),Vt=a.cw(function(e,t){const a=jt();e.exports=(e,t,n)=>a(e,t,n)>0}),Wt=a.cw(function(e,t){const a=jt();e.exports=(e,t,n)=>a(e,t,n)>=0}),Ht=a.cw(function(e,t){const a=_t();e.exports=(e,t,n,i,o)=>{"string"==typeof n&&(o=i,i=n,n=void 0);try{return new a(e instanceof a?e.version:e,n).inc(t,i,o).version}catch(e){return null}}}),Kt=a.cw(function(e,t){const a=jt();e.exports=(e,t,n)=>a(e,t,n)<0}),Yt=a.cw(function(e,t){const a=jt();e.exports=(e,t,n)=>a(e,t,n)<=0}),Jt=a.cw(function(e,t){const a=_t();e.exports=(e,t)=>new a(e,t).major}),Zt=a.cw(function(e,t){const a=_t();e.exports=(e,t)=>new a(e,t).minor}),Xt=a.cw(function(e,t){const a=jt();e.exports=(e,t,n)=>0!==a(e,t,n)}),Qt=a.cw(function(e,t){const a=_t();e.exports=(e,t,n=!1)=>{if(e instanceof a)return e;try{return new a(e,t)}catch(e){if(!n)return null;throw e}}}),ea=a.cw(function(e,t){const a=_t();e.exports=(e,t)=>new a(e,t).patch}),ta=a.cw(function(e,t){const a=Qt();e.exports=(e,t)=>{const n=a(e,t);return n&&n.prerelease.length?n.prerelease:null}}),aa=a.cw(function(e,t){const a=jt();e.exports=(e,t,n)=>a(t,e,n)}),na=a.cw(function(e,t){const a=qt();e.exports=(e,t)=>e.sort((e,n)=>a(n,e,t))}),ia=a.cw(function(e,t){const a=$t();e.exports=(e,t,n)=>{try{t=new a(t,n)}catch(e){return!1}return t.test(e)}}),oa=a.cw(function(e,t){const a=qt();e.exports=(e,t)=>e.sort((e,n)=>a(e,n,t))}),sa=a.cw(function(e,t){const a=Qt(),n=la(),i=_t(),o=(e,t)=>{const n=e instanceof i?e.version:e;return a(n,t)},s=(e,t)=>{if(r(t))return e.version;switch(e.prerelease=[],t){case"major":e.minor=0,e.patch=0;break;case"minor":e.patch=0}return e.format()},r=e=>e.startsWith("pre");e.exports=(e,t,a)=>{if(!n.RELEASE_TYPES.includes(t))return null;const i=o(e,a);return i&&s(i,t)}}),ra=a.cw(function(e,t){const a=Qt();e.exports=(e,t)=>{const n=a(e,t);return n?n.version:null}}),ca=a.cw(function(e,t){const a=ma(),n=la(),i=(_t(),ua()),o=(Qt(),ra(),zt(),Ht(),Ut(),Jt(),Zt(),ea(),ta(),jt(),aa(),Lt(),qt(),oa(),na(),Vt(),Kt(),Bt(),Xt(),Wt());Yt(),Ft(),Gt(),sa(),Ot(),$t(),ia(),Sa(),va(),ya(),wa(),Ta(),ka(),ga(),ba(),fa(),Aa(),Ea();e.exports={RO:o,...void a.re,...void a.src,...void a.t,...void n.SEMVER_SPEC_VERSION,...void n.RELEASE_TYPES,...void i.compareIdentifiers,...void i.rcompareIdentifiers}}),la=a.cw(function(e,t){const a=Number.MAX_SAFE_INTEGER||9007199254740991;e.exports={MAX_LENGTH:256,MAX_SAFE_COMPONENT_LENGTH:16,MAX_SAFE_BUILD_LENGTH:250,MAX_SAFE_INTEGER:a,RELEASE_TYPES:["major","premajor","minor","preminor","patch","prepatch","prerelease"],SEMVER_SPEC_VERSION:"2.0.0",FLAG_INCLUDE_PRERELEASE:1,FLAG_LOOSE:2}}),da=()=>a(2122),ua=a.cw(function(e,t){const a=/^[0-9]+$/,n=(e,t)=>{if("number"==typeof e&&"number"==typeof t)return e===t?0:e<t?-1:1;const n=a.test(e),i=a.test(t);return n&&i&&(e=+e,t=+t),e===t?0:n&&!i?-1:i&&!n?1:e<t?-1:1};e.exports={compareIdentifiers:n,rcompareIdentifiers:(e,t)=>n(t,e)}}),pa=()=>a(2852),ha=()=>a(837),ma=a.cw(function(e,t){const{MAX_SAFE_COMPONENT_LENGTH:a,MAX_SAFE_BUILD_LENGTH:n,MAX_LENGTH:i}=la(),o=da(),s=(t=e.exports={}).re=[],r=t.safeRe=[],c=t.src=[],l=t.safeSrc=[],d=t.t={};let u=0;const p="[a-zA-Z0-9-]",h=[["\\s",1],["\\d",i],[p,n]],m=(e,t,a)=>{const n=(e=>{for(const[t,a]of h)e=e.split(`${t}*`).join(`${t}{0,${a}}`).split(`${t}+`).join(`${t}{1,${a}}`);return e})(t),i=u++;o(e,i,t),d[e]=i,c[i]=t,l[i]=n,s[i]=new RegExp(t,a?"g":void 0),r[i]=new RegExp(n,a?"g":void 0)};m("NUMERICIDENTIFIER","0|[1-9]\\d*"),m("NUMERICIDENTIFIERLOOSE","\\d+"),m("NONNUMERICIDENTIFIER",`\\d*[a-zA-Z-]${p}*`),m("MAINVERSION",`(${c[d.NUMERICIDENTIFIER]})\\.(${c[d.NUMERICIDENTIFIER]})\\.(${c[d.NUMERICIDENTIFIER]})`),m("MAINVERSIONLOOSE",`(${c[d.NUMERICIDENTIFIERLOOSE]})\\.(${c[d.NUMERICIDENTIFIERLOOSE]})\\.(${c[d.NUMERICIDENTIFIERLOOSE]})`),m("PRERELEASEIDENTIFIER",`(?:${c[d.NONNUMERICIDENTIFIER]}|${c[d.NUMERICIDENTIFIER]})`),m("PRERELEASEIDENTIFIERLOOSE",`(?:${c[d.NONNUMERICIDENTIFIER]}|${c[d.NUMERICIDENTIFIERLOOSE]})`),m("PRERELEASE",`(?:-(${c[d.PRERELEASEIDENTIFIER]}(?:\\.${c[d.PRERELEASEIDENTIFIER]})*))`),m("PRERELEASELOOSE",`(?:-?(${c[d.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${c[d.PRERELEASEIDENTIFIERLOOSE]})*))`),m("BUILDIDENTIFIER",`${p}+`),m("BUILD",`(?:\\+(${c[d.BUILDIDENTIFIER]}(?:\\.${c[d.BUILDIDENTIFIER]})*))`),m("FULLPLAIN",`v?${c[d.MAINVERSION]}${c[d.PRERELEASE]}?${c[d.BUILD]}?`),m("FULL",`^${c[d.FULLPLAIN]}$`),m("LOOSEPLAIN",`[v=\\s]*${c[d.MAINVERSIONLOOSE]}${c[d.PRERELEASELOOSE]}?${c[d.BUILD]}?`),m("LOOSE",`^${c[d.LOOSEPLAIN]}$`),m("GTLT","((?:<|>)?=?)"),m("XRANGEIDENTIFIERLOOSE",`${c[d.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`),m("XRANGEIDENTIFIER",`${c[d.NUMERICIDENTIFIER]}|x|X|\\*`),m("XRANGEPLAIN",`[v=\\s]*(${c[d.XRANGEIDENTIFIER]})(?:\\.(${c[d.XRANGEIDENTIFIER]})(?:\\.(${c[d.XRANGEIDENTIFIER]})(?:${c[d.PRERELEASE]})?${c[d.BUILD]}?)?)?`),m("XRANGEPLAINLOOSE",`[v=\\s]*(${c[d.XRANGEIDENTIFIERLOOSE]})(?:\\.(${c[d.XRANGEIDENTIFIERLOOSE]})(?:\\.(${c[d.XRANGEIDENTIFIERLOOSE]})(?:${c[d.PRERELEASELOOSE]})?${c[d.BUILD]}?)?)?`),m("XRANGE",`^${c[d.GTLT]}\\s*${c[d.XRANGEPLAIN]}$`),m("XRANGELOOSE",`^${c[d.GTLT]}\\s*${c[d.XRANGEPLAINLOOSE]}$`),m("COERCEPLAIN",`(^|[^\\d])(\\d{1,${a}})(?:\\.(\\d{1,${a}}))?(?:\\.(\\d{1,${a}}))?`),m("COERCE",`${c[d.COERCEPLAIN]}(?:$|[^\\d])`),m("COERCEFULL",c[d.COERCEPLAIN]+`(?:${c[d.PRERELEASE]})?`+`(?:${c[d.BUILD]})?(?:$|[^\\d])`),m("COERCERTL",c[d.COERCE],!0),m("COERCERTLFULL",c[d.COERCEFULL],!0),m("LONETILDE","(?:~>?)"),m("TILDETRIM",`(\\s*)${c[d.LONETILDE]}\\s+`,!0),t.tildeTrimReplace="$1~",m("TILDE",`^${c[d.LONETILDE]}${c[d.XRANGEPLAIN]}$`),m("TILDELOOSE",`^${c[d.LONETILDE]}${c[d.XRANGEPLAINLOOSE]}$`),m("LONECARET","(?:\\^)"),m("CARETTRIM",`(\\s*)${c[d.LONECARET]}\\s+`,!0),t.caretTrimReplace="$1^",m("CARET",`^${c[d.LONECARET]}${c[d.XRANGEPLAIN]}$`),m("CARETLOOSE",`^${c[d.LONECARET]}${c[d.XRANGEPLAINLOOSE]}$`),m("COMPARATORLOOSE",`^${c[d.GTLT]}\\s*(${c[d.LOOSEPLAIN]})$|^$`),m("COMPARATOR",`^${c[d.GTLT]}\\s*(${c[d.FULLPLAIN]})$|^$`),m("COMPARATORTRIM",`(\\s*)${c[d.GTLT]}\\s*(${c[d.LOOSEPLAIN]}|${c[d.XRANGEPLAIN]})`,!0),t.comparatorTrimReplace="$1$2$3",m("HYPHENRANGE",`^\\s*(${c[d.XRANGEPLAIN]})\\s+-\\s+(${c[d.XRANGEPLAIN]})\\s*$`),m("HYPHENRANGELOOSE",`^\\s*(${c[d.XRANGEPLAINLOOSE]})\\s+-\\s+(${c[d.XRANGEPLAINLOOSE]})\\s*$`),m("STAR","(<|>)?=?\\s*\\*"),m("GTE0","^\\s*>=\\s*0\\.0\\.0\\s*$"),m("GTE0PRE","^\\s*>=\\s*0\\.0\\.0-0\\s*$")}),ga=a.cw(function(e,t){const a=ka();e.exports=(e,t,n)=>a(e,t,">",n)}),fa=a.cw(function(e,t){const a=$t();e.exports=(e,t,n)=>(e=new a(e,n),t=new a(t,n),e.intersects(t,n))}),ba=a.cw(function(e,t){const a=ka();e.exports=(e,t,n)=>a(e,t,"<",n)}),va=a.cw(function(e,t){const a=_t(),n=$t();e.exports=(e,t,i)=>{let o=null,s=null,r=null;try{r=new n(t,i)}catch(e){return null}return e.forEach(e=>{r.test(e)&&(o&&-1!==s.compare(e)||(o=e,s=new a(o,i)))}),o}}),ya=a.cw(function(e,t){const a=_t(),n=$t();e.exports=(e,t,i)=>{let o=null,s=null,r=null;try{r=new n(t,i)}catch(e){return null}return e.forEach(e=>{r.test(e)&&(o&&1!==s.compare(e)||(o=e,s=new a(o,i)))}),o}}),wa=a.cw(function(e,t){const a=_t(),n=$t(),i=Vt();e.exports=(e,t)=>{e=new n(e,t);let o=new a("0.0.0");if(e.test(o))return o;if(o=new a("0.0.0-0"),e.test(o))return o;o=null;for(let t=0;t<e.set.length;++t){const n=e.set[t];let s=null;n.forEach(e=>{const t=new a(e.semver.version);switch(e.operator){case">":0===t.prerelease.length?t.patch++:t.prerelease.push(0),t.raw=t.format();case"":case">=":s&&!i(t,s)||(s=t);break;case"<":case"<=":break;default:throw new Error(`Unexpected operation: ${e.operator}`)}}),!s||o&&!i(o,s)||(o=s)}return o&&e.test(o)?o:null}}),ka=a.cw(function(e,t){const a=_t(),n=Ot(),{ANY:i}=n,o=$t(),s=ia(),r=Vt(),c=Kt(),l=Yt(),d=Wt();e.exports=(e,t,u,p)=>{let h,m,g,f,b;switch(e=new a(e,p),t=new o(t,p),u){case">":h=r,m=l,g=c,f=">",b=">=";break;case"<":h=c,m=d,g=r,f="<",b="<=";break;default:throw new TypeError('Must provide a hilo val of "<" or ">"')}if(s(e,t,p))return!1;for(let a=0;a<t.set.length;++a){const o=t.set[a];let s=null,r=null;if(o.forEach(e=>{e.semver===i&&(e=new n(">=0.0.0")),s=s||e,r=r||e,h(e.semver,s.semver,p)?s=e:g(e.semver,r.semver,p)&&(r=e)}),s.operator===f||s.operator===b)return!1;if((!r.operator||r.operator===f)&&m(e,r.semver))return!1;if(r.operator===b&&g(e,r.semver))return!1}return!0}}),Aa=a.cw(function(e,t){const a=ia(),n=jt();e.exports=(e,t,i)=>{const o=[];let s=null,r=null;const c=e.sort((e,t)=>n(e,t,i));for(const e of c){a(e,t,i)?(r=e,s||(s=e)):(r&&o.push([s,r]),r=null,s=null)}s&&o.push([s,null]);const l=[];for(const[e,t]of o)e===t?l.push(e):t||e!==c[0]?t?e===c[0]?l.push(`<=${t}`):l.push(`${e} - ${t}`):l.push(`>=${e}`):l.push("*");const d=l.join(" || "),u="string"==typeof t.raw?t.raw:String(t);return d.length<u.length?d:t}}),Ea=a.cw(function(e,t){const a=$t(),n=Ot(),{ANY:i}=n,o=ia(),s=jt(),r=[new n(">=0.0.0-0")],c=[new n(">=0.0.0")],l=(e,t,a)=>{if(e===t)return!0;if(1===e.length&&e[0].semver===i){if(1===t.length&&t[0].semver===i)return!0;e=a.includePrerelease?r:c}if(1===t.length&&t[0].semver===i){if(a.includePrerelease)return!0;t=c}const n=new Set;let l,p,h,m,g,f,b;for(const t of e)">"===t.operator||">="===t.operator?l=d(l,t,a):"<"===t.operator||"<="===t.operator?p=u(p,t,a):n.add(t.semver);if(n.size>1)return null;if(l&&p){if(h=s(l.semver,p.semver,a),h>0)return null;if(0===h&&(">="!==l.operator||"<="!==p.operator))return null}for(const e of n){if(l&&!o(e,String(l),a))return null;if(p&&!o(e,String(p),a))return null;for(const n of t)if(!o(e,String(n),a))return!1;return!0}let v=!(!p||a.includePrerelease||!p.semver.prerelease.length)&&p.semver,y=!(!l||a.includePrerelease||!l.semver.prerelease.length)&&l.semver;v&&1===v.prerelease.length&&"<"===p.operator&&0===v.prerelease[0]&&(v=!1);for(const e of t){if(b=b||">"===e.operator||">="===e.operator,f=f||"<"===e.operator||"<="===e.operator,l)if(y&&e.semver.prerelease&&e.semver.prerelease.length&&e.semver.major===y.major&&e.semver.minor===y.minor&&e.semver.patch===y.patch&&(y=!1),">"===e.operator||">="===e.operator){if(m=d(l,e,a),m===e&&m!==l)return!1}else if(">="===l.operator&&!e.test(l.semver))return!1;if(p)if(v&&e.semver.prerelease&&e.semver.prerelease.length&&e.semver.major===v.major&&e.semver.minor===v.minor&&e.semver.patch===v.patch&&(v=!1),"<"===e.operator||"<="===e.operator){if(g=u(p,e,a),g===e&&g!==p)return!1}else if("<="===p.operator&&!e.test(p.semver))return!1;if(!e.operator&&(p||l)&&0!==h)return!1}return!(l&&f&&!p&&0!==h)&&(!(p&&b&&!l&&0!==h)&&(!y&&!v))},d=(e,t,a)=>{if(!e)return t;const n=s(e.semver,t.semver,a);return n>0?e:n<0||">"===t.operator&&">="===e.operator?t:e},u=(e,t,a)=>{if(!e)return t;const n=s(e.semver,t.semver,a);return n<0?e:n>0||"<"===t.operator&&"<="===e.operator?t:e};e.exports=(e,t,n={})=>{if(e===t)return!0;e=new a(e,n),t=new a(t,n);let i=!1;e:for(const a of e.set){for(const e of t.set){const t=l(a,e,n);if(i=i||null!==t,t)continue e}if(i)return!1}return!0}}),Sa=a.cw(function(e,t){const a=$t();e.exports=(e,t)=>new a(e,t).set.map(e=>e.map(e=>e.value).join(" ").trim().split(" "))}),Ta=a.cw(function(e,t){const a=$t();e.exports=(e,t)=>{try{return new a(e,t).range||"*"}catch(e){return null}}}),xa=()=>a(9065),Ia=()=>a(1835),Ra=a.cw(function(e,t){t._O=t.yS=void 0;var a=Da(),n=o(Ca()),i=o(St());function o(e){return e&&e.__esModule?e:{default:e}}const{background:s,devtools:r,content:c}=n.default,l=Object.values(n.default),d=(0,i.default)("bridge"),u=(0,i.default)("bridge:message"),p=(0,i.default)("bridge:response");t.yS=new class{constructor(){if(!l.includes(a.browser.context||""))throw new Error(`Unable to initialize web-extension bridge. Unsupported context: ${a.browser.context}`);this.messageListeners=new Map,this.attachListener()}get context(){return a.browser.context}attachListener=()=>{const{browserListener:e}=this;a.browser.hasListener(e)||(d("web-extension bridge initialized with context %s",a.browser.context),a.browser.addListener(e))};browserListener=(e,t)=>{const{origin:n,context:i,topic:o,message:l,options:d={}}=e,{tab:u,frameId:p}=t,h=u&&-1!==u.id?u.id:null==d?void 0:d.tabId;if(!n)return;if(a.browser.context===s&&i===c){const{frameId:e,allFrames:t}=d;return this.send(i,o,l,{tabId:(null==d?void 0:d.tabId)||h,frameId:e,allFrames:t})}const m=a.browser.context!==r||a.browser.tabId===h;if(i!==a.browser.context||!m)return;const g=this.getListeners(o),f=e=>{console.error(e)};try{for(const e of g){const t=e({context:i,topic:o,message:l,origin:n,tabId:h,frameId:p});if(!e.isGlobal&&void 0!==t)return Promise.resolve(t).catch(f)}}catch(e){f(e)}};async send(e,t,i,{tabId:o,frameId:s=0,allFrames:d=!1}={}){if(!a.browser.context)return;if(!e||!l.includes(e))throw new Error(`Cannot send web-extension bridge message without a valid destination context: ['${l.join("', '")}'].`);let h;o||a.browser.context!==r||(o=a.browser.tabId),h=a.browser.context===r?`${a.browser.context}:${o}`:a.browser.context;let m=e;[a.browser.context,e].includes(c)&&o&&(m+=`:${o}`),u(`[${t}] ${h} → ${m}: %O`,void 0!==i?i:"");const g={origin:h,context:e,topic:t,message:i,options:e===c?{tabId:o,frameId:s,allFrames:d}:{tabId:o}},f=e===n.default.content?{tabId:o,frameId:s,allFrames:d}:void 0;let b=null;try{b=await a.browser.sendMessage(g,f)}catch(e){let t;if(e instanceof Error&&(t=e.message),"Could not establish connection. Receiving end does not exist."!==t)throw e}return null!==b&&p(`[${t}] ${m} → ${h}: %O`,b),b}getListeners(e){const{messageListeners:t}=this;return e&&"*"!==e?[...t.get(e)||[],...t.get("*")||[]]:t.get("*")||[]}listen(e,t){if("function"==typeof e&&(t=e,e="*"),"function"!=typeof t)return;const{messageListeners:a}=this,n=a.get(e)||[];"*"===e&&(t.isGlobal=!0),n.length?a.set(e,[...n,t]):a.set(e,[t])}unlisten(e,t){if("function"==typeof e&&(t=e,e="*"),"function"!=typeof t)return;const{messageListeners:a}=this,n=(a.get(e)||[]).filter(e=>e!==t);n.length?a.set(e,n):a.delete(e)}},t._O=n.default}),Da=a.cw(function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.browser=void 0;var a,n=(a=Ca())&&a.__esModule?a:{default:a};const i=e=>void 0!==globalThis.browser&&e in globalThis.browser;t.browser={hasApi:i,get tabId(){var e;return(null===(e=globalThis.browser)||void 0===e||null===(e=e.devtools)||void 0===e?void 0:e.inspectedWindow.tabId)??null},get context(){return i("devtools")?n.default.devtools:i("tabs")?n.default.background:i("extension")?n.default.content:null},addListener(e){globalThis.browser.runtime.onMessage.addListener(e)},hasListener:e=>globalThis.browser.runtime.onMessage.hasListener(e),removeListener(e){globalThis.browser.runtime.onMessage.removeListener(e)},async sendMessage(e,t={}){if(void 0===globalThis.browser)throw new Error("Cannot send bridge message in a non-browser context.");const{tabId:a,frameId:n,allFrames:i}=t;return a&&globalThis.browser.tabs&&"function"==typeof globalThis.browser.tabs.sendMessage?globalThis.browser.tabs.sendMessage(a,e,{frameId:i?void 0:n}):globalThis.browser.runtime.sendMessage(e)}}}),Ca=a.cw(function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;t.default={background:"background",devtools:"devtools",content:"content-script"}}),Na=()=>a(8023),Ma=a.cw(function(e,t){a.d(t,{eu:()=>c});new Error("timeout while waiting for mutex to become available"),new Error("mutex already locked");const n=new Error("request for lock canceled");var i=function(e,t,a,n){return new(a||(a=Promise))(function(i,o){function s(e){try{c(n.next(e))}catch(e){o(e)}}function r(e){try{c(n.throw(e))}catch(e){o(e)}}function c(e){var t;e.done?i(e.value):(t=e.value,t instanceof a?t:new a(function(e){e(t)})).then(s,r)}c((n=n.apply(e,t||[])).next())})};class o{constructor(e,t=n){this._value=e,this._cancelError=t,this._queue=[],this._weightedWaiters=[]}acquire(e=1,t=0){if(e<=0)throw new Error(`invalid weight ${e}: must be positive`);return new Promise((a,n)=>{const i={resolve:a,reject:n,weight:e,priority:t},o=s(this._queue,e=>t<=e.priority);-1===o&&e<=this._value?this._dispatchItem(i):this._queue.splice(o+1,0,i)})}runExclusive(e){return i(this,arguments,void 0,function*(e,t=1,a=0){const[n,i]=yield this.acquire(t,a);try{return yield e(n)}finally{i()}})}waitForUnlock(e=1,t=0){if(e<=0)throw new Error(`invalid weight ${e}: must be positive`);return this._couldLockImmediately(e,t)?Promise.resolve():new Promise(a=>{this._weightedWaiters[e-1]||(this._weightedWaiters[e-1]=[]),function(e,t){const a=s(e,e=>t.priority<=e.priority);e.splice(a+1,0,t)}(this._weightedWaiters[e-1],{resolve:a,priority:t})})}isLocked(){return this._value<=0}getValue(){return this._value}setValue(e){this._value=e,this._dispatchQueue()}release(e=1){if(e<=0)throw new Error(`invalid weight ${e}: must be positive`);this._value+=e,this._dispatchQueue()}cancel(){this._queue.forEach(e=>e.reject(this._cancelError)),this._queue=[]}_dispatchQueue(){for(this._drainUnlockWaiters();this._queue.length>0&&this._queue[0].weight<=this._value;)this._dispatchItem(this._queue.shift()),this._drainUnlockWaiters()}_dispatchItem(e){const t=this._value;this._value-=e.weight,e.resolve([t,this._newReleaser(e.weight)])}_newReleaser(e){let t=!1;return()=>{t||(t=!0,this.release(e))}}_drainUnlockWaiters(){if(0===this._queue.length)for(let e=this._value;e>0;e--){const t=this._weightedWaiters[e-1];t&&(t.forEach(e=>e.resolve()),this._weightedWaiters[e-1]=[])}else{const e=this._queue[0].priority;for(let t=this._value;t>0;t--){const a=this._weightedWaiters[t-1];if(!a)continue;const n=a.findIndex(t=>t.priority<=e);(-1===n?a:a.splice(0,n)).forEach(e=>e.resolve())}}}_couldLockImmediately(e,t){return(0===this._queue.length||this._queue[0].priority<t)&&e<=this._value}}function s(e,t){for(let a=e.length-1;a>=0;a--)if(t(e[a]))return a;return-1}var r=function(e,t,a,n){return new(a||(a=Promise))(function(i,o){function s(e){try{c(n.next(e))}catch(e){o(e)}}function r(e){try{c(n.throw(e))}catch(e){o(e)}}function c(e){var t;e.done?i(e.value):(t=e.value,t instanceof a?t:new a(function(e){e(t)})).then(s,r)}c((n=n.apply(e,t||[])).next())})};class c{constructor(e){this._semaphore=new o(1,e)}acquire(){return r(this,arguments,void 0,function*(e=0){const[,t]=yield this._semaphore.acquire(1,e);return t})}runExclusive(e,t=0){return this._semaphore.runExclusive(()=>e(),1,t)}isLocked(){return this._semaphore.isLocked()}waitForUnlock(e=0){return this._semaphore.waitForUnlock(1,e)}release(){this._semaphore.isLocked()&&this._semaphore.release()}cancel(){return this._semaphore.cancel()}}}),Pa=a.cw(function(e,t){a.d(t,{A:()=>c});const n="%[a-f0-9]{2}",i=new RegExp("("+n+")|([^%]+?)","gi"),o=new RegExp("("+n+")+","gi");function s(e,t){try{return[decodeURIComponent(e.join(""))]}catch{}if(1===e.length)return e;t=t||1;const a=e.slice(0,t),n=e.slice(t);return Array.prototype.concat.call([],s(a),s(n))}function r(e){try{return decodeURIComponent(e)}catch{let t=e.match(i)||[];for(let a=1;a<t.length;a++)t=(e=s(t,a).join("")).match(i)||[];return e}}function c(e){if("string"!=typeof e)throw new TypeError("Expected `encodedURI` to be of type `string`, got `"+typeof e+"`");try{return decodeURIComponent(e)}catch{return function(e){const t={"%FE%FF":"��","%FF%FE":"��"};let a=o.exec(e);for(;a;){try{t[a[0]]=decodeURIComponent(a[0])}catch{const e=r(a[0]);e!==a[0]&&(t[a[0]]=e)}a=o.exec(e)}t["%C2"]="�";const n=Object.keys(t);for(const a of n)e=e.replace(new RegExp(a,"g"),t[a]);return e}(e)}}}),Oa=a.cw(function(e,t){function n(e,t){const a={};if(Array.isArray(t))for(const n of t){const t=Object.getOwnPropertyDescriptor(e,n);t?.enumerable&&Object.defineProperty(a,n,t)}else for(const n of Reflect.ownKeys(e)){const i=Object.getOwnPropertyDescriptor(e,n);if(i.enumerable){t(n,e[n],e)&&Object.defineProperty(a,n,i)}}return a}a.d(t,{b:()=>n})}),$a=a.cw(function(e,t){a.r(t),a.d(t,{exclude:()=>v,extract:()=>p,parse:()=>h,parseUrl:()=>g,pick:()=>b,stringify:()=>m,stringifyUrl:()=>f}),Pa();const n=e=>null==e,i=e=>encodeURIComponent(e).replace(/[!'()*]/g,e=>`%${e.charCodeAt(0).toString(16).toUpperCase()}`),o=Symbol("encodeFragmentIdentifier");function s(e){if("string"!=typeof e||1!==e.length)throw new TypeError("arrayFormatSeparator must be single character string")}function r(e,t){return t.encode?t.strict?i(e):encodeURIComponent(e):e}function c(e,t){return t.decode?(0,Pa().A)(e):e}function l(e){return Array.isArray(e)?e.sort():"object"==typeof e?l(Object.keys(e)).sort((e,t)=>Number(e)-Number(t)).map(t=>e[t]):e}function d(e){const t=e.indexOf("#");return-1!==t&&(e=e.slice(0,t)),e}function u(e,t){return t.parseNumbers&&!Number.isNaN(Number(e))&&"string"==typeof e&&""!==e.trim()?e=Number(e):!t.parseBooleans||null===e||"true"!==e.toLowerCase()&&"false"!==e.toLowerCase()||(e="true"===e.toLowerCase()),e}function p(e){const t=(e=d(e)).indexOf("?");return-1===t?"":e.slice(t+1)}function h(e,t){s((t={decode:!0,sort:!0,arrayFormat:"none",arrayFormatSeparator:",",parseNumbers:!1,parseBooleans:!1,...t}).arrayFormatSeparator);const a=function(e){let t;switch(e.arrayFormat){case"index":return(e,a,n)=>{t=/\[(\d*)]$/.exec(e),e=e.replace(/\[\d*]$/,""),t?(void 0===n[e]&&(n[e]={}),n[e][t[1]]=a):n[e]=a};case"bracket":return(e,a,n)=>{t=/(\[])$/.exec(e),e=e.replace(/\[]$/,""),t?void 0!==n[e]?n[e]=[...n[e],a]:n[e]=[a]:n[e]=a};case"colon-list-separator":return(e,a,n)=>{t=/(:list)$/.exec(e),e=e.replace(/:list$/,""),t?void 0!==n[e]?n[e]=[...n[e],a]:n[e]=[a]:n[e]=a};case"comma":case"separator":return(t,a,n)=>{const i="string"==typeof a&&a.includes(e.arrayFormatSeparator),o="string"==typeof a&&!i&&c(a,e).includes(e.arrayFormatSeparator);a=o?c(a,e):a;const s=i||o?a.split(e.arrayFormatSeparator).map(t=>c(t,e)):null===a?a:c(a,e);n[t]=s};case"bracket-separator":return(t,a,n)=>{const i=/(\[])$/.test(t);if(t=t.replace(/\[]$/,""),!i)return void(n[t]=a?c(a,e):a);const o=null===a?[]:a.split(e.arrayFormatSeparator).map(t=>c(t,e));void 0!==n[t]?n[t]=[...n[t],...o]:n[t]=o};default:return(e,t,a)=>{void 0!==a[e]?a[e]=[...[a[e]].flat(),t]:a[e]=t}}}(t),n=Object.create(null);if("string"!=typeof e)return n;if(!(e=e.trim().replace(/^[?#&]/,"")))return n;for(const i of e.split("&")){if(""===i)continue;const e=t.decode?i.replace(/\+/g," "):i;let[o,s]=(0,Fa().A)(e,"=");void 0===o&&(o=e),s=void 0===s?null:["comma","separator","bracket-separator"].includes(t.arrayFormat)?s:c(s,t),a(c(o,t),s,n)}for(const[e,a]of Object.entries(n))if("object"==typeof a&&null!==a)for(const[e,n]of Object.entries(a))a[e]=u(n,t);else n[e]=u(a,t);return!1===t.sort?n:(!0===t.sort?Object.keys(n).sort():Object.keys(n).sort(t.sort)).reduce((e,t)=>{const a=n[t];return Boolean(a)&&"object"==typeof a&&!Array.isArray(a)?e[t]=l(a):e[t]=a,e},Object.create(null))}function m(e,t){if(!e)return"";s((t={encode:!0,strict:!0,arrayFormat:"none",arrayFormatSeparator:",",...t}).arrayFormatSeparator);const a=a=>t.skipNull&&n(e[a])||t.skipEmptyString&&""===e[a],i=function(e){switch(e.arrayFormat){case"index":return t=>(a,n)=>{const i=a.length;return void 0===n||e.skipNull&&null===n||e.skipEmptyString&&""===n?a:null===n?[...a,[r(t,e),"[",i,"]"].join("")]:[...a,[r(t,e),"[",r(i,e),"]=",r(n,e)].join("")]};case"bracket":return t=>(a,n)=>void 0===n||e.skipNull&&null===n||e.skipEmptyString&&""===n?a:null===n?[...a,[r(t,e),"[]"].join("")]:[...a,[r(t,e),"[]=",r(n,e)].join("")];case"colon-list-separator":return t=>(a,n)=>void 0===n||e.skipNull&&null===n||e.skipEmptyString&&""===n?a:null===n?[...a,[r(t,e),":list="].join("")]:[...a,[r(t,e),":list=",r(n,e)].join("")];case"comma":case"separator":case"bracket-separator":{const t="bracket-separator"===e.arrayFormat?"[]=":"=";return a=>(n,i)=>void 0===i||e.skipNull&&null===i||e.skipEmptyString&&""===i?n:(i=null===i?"":i,0===n.length?[[r(a,e),t,r(i,e)].join("")]:[[n,r(i,e)].join(e.arrayFormatSeparator)])}default:return t=>(a,n)=>void 0===n||e.skipNull&&null===n||e.skipEmptyString&&""===n?a:null===n?[...a,r(t,e)]:[...a,[r(t,e),"=",r(n,e)].join("")]}}(t),o={};for(const[t,n]of Object.entries(e))a(t)||(o[t]=n);const c=Object.keys(o);return!1!==t.sort&&c.sort(t.sort),c.map(a=>{const n=e[a];return void 0===n?"":null===n?r(a,t):Array.isArray(n)?0===n.length&&"bracket-separator"===t.arrayFormat?r(a,t)+"[]":n.reduce(i(a),[]).join("&"):r(a,t)+"="+r(n,t)}).filter(e=>e.length>0).join("&")}function g(e,t){t={decode:!0,...t};let[a,n]=(0,Fa().A)(e,"#");return void 0===a&&(a=e),{url:a?.split("?")?.[0]??"",query:h(p(e),t),...t&&t.parseFragmentIdentifier&&n?{fragmentIdentifier:c(n,t)}:{}}}function f(e,t){t={encode:!0,strict:!0,[o]:!0,...t};const a=d(e.url).split("?")[0]||"";let n=m({...h(p(e.url),{sort:!1}),...e.query},t);n&&(n=`?${n}`);let i=function(e){let t="";const a=e.indexOf("#");return-1!==a&&(t=e.slice(a)),t}(e.url);if(e.fragmentIdentifier){const n=new URL(a);n.hash=e.fragmentIdentifier,i=t[o]?n.hash:`#${e.fragmentIdentifier}`}return`${a}${n}${i}`}function b(e,t,a){a={parseFragmentIdentifier:!0,[o]:!1,...a};const{url:n,query:i,fragmentIdentifier:s}=g(e,a);return f({url:n,query:(0,Oa().b)(i,t),fragmentIdentifier:s},a)}function v(e,t,a){return b(e,Array.isArray(t)?e=>!t.includes(e):(e,a)=>!t(e,a),a)}}),_a={};a.r(_a),a.d(_a,{exclude:()=>$a().exclude,extract:()=>$a().extract,parse:()=>$a().parse,parseUrl:()=>$a().parseUrl,pick:()=>$a().pick,stringify:()=>$a().stringify,stringifyUrl:()=>$a().stringifyUrl});var za=a.cw(function(e,t){a.d(t,{A:()=>_a}),$a()}),Fa=a.cw(function(e,t){function n(e,t){if("string"!=typeof e||"string"!=typeof t)throw new TypeError("Expected the arguments to be of type `string`");if(""===e||""===t)return[];const a=e.indexOf(t);return-1===a?[]:[e.slice(0,a),e.slice(a+t.length)]}a.d(t,{A:()=>n})}),Ga=a.cw(function(e,t){a.d(t,{A:()=>i});const n=new Uint8Array(16);function i(){return crypto.getRandomValues(n)}}),qa=a.cw(function(e,t){a.d(t,{k:()=>i});const n=[];for(let e=0;e<256;++e)n.push((e+256).toString(16).slice(1));function i(e,t=0){return(n[e[t+0]]+n[e[t+1]]+n[e[t+2]]+n[e[t+3]]+"-"+n[e[t+4]]+n[e[t+5]]+"-"+n[e[t+6]]+n[e[t+7]]+"-"+n[e[t+8]]+n[e[t+9]]+"-"+n[e[t+10]]+n[e[t+11]]+n[e[t+12]]+n[e[t+13]]+n[e[t+14]]+n[e[t+15]]).toLowerCase()}}),La=a.cw(function(e,t){const n=function(e,t,a){return t||e||!crypto.randomUUID?function(e,t,a){e=e||{};const n=e.random??e.rng?.()??(0,Ga().A)();if(n.length<16)throw new Error("Random bytes length must be >= 16");if(n[6]=15&n[6]|64,n[8]=63&n[8]|128,t){if((a=a||0)<0||a+16>t.length)throw new RangeError(`UUID byte range ${a}:${a+15} is out of buffer bounds`);for(let e=0;e<16;++e)t[a+e]=n[e];return t}return(0,qa().k)(n)}(e,t,a):crypto.randomUUID()};a.d(t,["A",0,n])}),ja=()=>a(686),Ua=a.cw(function(e,t){e.exports={rE:"4.13.0"}}),Ba=a.cw(function(e,t){const a=JSON.parse('{"rE":"4.136.2-next.ab554f21"}');e.exports=a}),Va=a.cw(function(e,t){const a=JSON.parse('{"buttons-and-links":{"name":"Buttons and links","deprecation":"This guided test has been replaced by the \'Interactive Elements\' test.","description":"The buttons and links tests will walk you through testing buttons and links.","action":{"test":"Test buttons and links"},"progress":{"missing":"Missing","accuracy":"Accuracy"}}}');e.exports=a}),Wa=a.cw(function(e,t){const a=JSON.parse('{"headings":{"name":"Headings","deprecation":"This guided test has been replaced by the \'Structure\' test.","description":"The headings tests will walk you through testing headings (h1-h6 and the \'heading\' role).","action":{"test":"Test Headings"}}}');e.exports=a}),Ha=a.cw(function(e,t){const a=JSON.parse('{"lists":{"name":"Lists","deprecation":"This guided test has been replaced by the \'Structure\' test.","description":"The lists tests will walk you through testing lists (ul, ol, and dl).","action":{"test":"Test lists"},"progress":{"missing":"Missing","accuracy":"Accuracy"}}}');e.exports=a}),Ka=a.cw(function(e,t){const a=JSON.parse('{"page-info":{"name":"Page information","deprecation":"This guided test has been replaced by the \'Structure\' test.","description":"The page info tests will walk you through testing the page\'s title and primary language.","action":{"test":"Test Page information"}}}');e.exports=a});function Ya(){return Ya.c||(Ya.c=a.t(F(),2))}function Ja(){return Ja.c||(Ja.c=a.n($()))}$();var Za=a(763),Xa=a.n(Za);function Qa(){return Qa.c||(Qa.c=a.n(St()))}Ra();var en=a(1419);function tn(){return tn.c||(tn.c=a.n(_e()))}function an(){return an.c||(an.c=a.n(t()))}se(),Pe(),It(),ee();const nn=e=>{try{const t=new URL(e);return e.replace(t.hash,"")}catch{return e}};function on(){return on.c||(on.c=a.n(Dt()))}function sn(){return sn.c||(sn.c=a.t(ja(),2))}H(),ce(),ve(),te(),ke(),ge();const rn=()=>It().Ay`There was a problem saving your results. Please try again.`,cn=()=>It().Ay`There was a problem fetching your results. Please try again.`;function ln(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),a.push.apply(a,n)}return a}function dn(e,t,a){return(t=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var a=e[Symbol.toPrimitive];if(void 0!==a){var n=a.call(e,t||"default");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}const un=It().Ay`There was a problem analyzing your interactive elements. Please try again.`;function pn(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),a.push.apply(a,n)}return a}function hn(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?pn(Object(a),!0).forEach(function(t){mn(e,t,a[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):pn(Object(a)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))})}return e}function mn(e,t,a){return(t=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var a=e[Symbol.toPrimitive];if(void 0!==a){var n=a.call(e,t||"default");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}Na(),de();const gn={Escape:{windowsVirtualKeyCode:27,key:"Escape",code:"Escape"},Tab:{windowsVirtualKeyCode:9,key:"Tab",code:"Tab"},Enter:{windowsVirtualKeyCode:13,key:"Enter",code:"Enter"},Space:{windowsVirtualKeyCode:32,key:" ",code:"Space"},ArrowUp:{windowsVirtualKeyCode:38,key:"ArrowUp",code:"ArrowUp"},ArrowDown:{windowsVirtualKeyCode:40,key:"ArrowDown",code:"ArrowDown"},ArrowLeft:{windowsVirtualKeyCode:37,key:"ArrowLeft",code:"ArrowLeft"},ArrowRight:{windowsVirtualKeyCode:39,key:"ArrowRight",code:"ArrowRight"},Delete:{windowsVirtualKeyCode:46,key:"Delete",code:"Delete"},Backspace:{windowsVirtualKeyCode:8,key:"Backspace",code:"Backspace"},F1:{windowsVirtualKeyCode:112,key:"F1",code:"F1"},F2:{windowsVirtualKeyCode:113,key:"F2",code:"F2"},F3:{windowsVirtualKeyCode:114,key:"F3",code:"F3"},F4:{windowsVirtualKeyCode:115,key:"F4",code:"F4"},F5:{windowsVirtualKeyCode:116,key:"F5",code:"F5"},F6:{windowsVirtualKeyCode:117,key:"F6",code:"F6"},F7:{windowsVirtualKeyCode:118,key:"F7",code:"F7"},F8:{windowsVirtualKeyCode:119,key:"F8",code:"F8"},F9:{windowsVirtualKeyCode:120,key:"F9",code:"F9"},F10:{windowsVirtualKeyCode:121,key:"F10",code:"F10"},F11:{windowsVirtualKeyCode:122,key:"F11",code:"F11"},F12:{windowsVirtualKeyCode:123,key:"F12",code:"F12"},PageUp:{windowsVirtualKeyCode:33,key:"PageUp",code:"PageUp"},PageDown:{windowsVirtualKeyCode:34,key:"PageDown",code:"PageDown"},Home:{windowsVirtualKeyCode:36,key:"Home",code:"Home"},End:{windowsVirtualKeyCode:35,key:"End",code:"End"},Meta:{windowsVirtualKeyCode:91,key:"Meta",code:"MetaLeft"},a:{windowsVirtualKeyCode:65,key:"a",code:"KeyA"},b:{windowsVirtualKeyCode:66,key:"b",code:"KeyB"},c:{windowsVirtualKeyCode:67,key:"c",code:"KeyC"},d:{windowsVirtualKeyCode:68,key:"d",code:"KeyD"},e:{windowsVirtualKeyCode:69,key:"e",code:"KeyE"},f:{windowsVirtualKeyCode:70,key:"f",code:"KeyF"},g:{windowsVirtualKeyCode:71,key:"g",code:"KeyG"},h:{windowsVirtualKeyCode:72,key:"h",code:"KeyH"},i:{windowsVirtualKeyCode:73,key:"i",code:"KeyI"},j:{windowsVirtualKeyCode:74,key:"j",code:"KeyJ"},k:{windowsVirtualKeyCode:75,key:"k",code:"KeyK"},l:{windowsVirtualKeyCode:76,key:"l",code:"KeyL"},m:{windowsVirtualKeyCode:77,key:"m",code:"KeyM"},n:{windowsVirtualKeyCode:78,key:"n",code:"KeyN"},o:{windowsVirtualKeyCode:79,key:"o",code:"KeyO"},p:{windowsVirtualKeyCode:80,key:"p",code:"KeyP"},q:{windowsVirtualKeyCode:81,key:"q",code:"KeyQ"},r:{windowsVirtualKeyCode:82,key:"r",code:"KeyR"},s:{windowsVirtualKeyCode:83,key:"s",code:"KeyS"},t:{windowsVirtualKeyCode:84,key:"t",code:"KeyT"},u:{windowsVirtualKeyCode:85,key:"u",code:"KeyU"},v:{windowsVirtualKeyCode:86,key:"v",code:"KeyV"},w:{windowsVirtualKeyCode:87,key:"w",code:"KeyW"},x:{windowsVirtualKeyCode:88,key:"x",code:"KeyX"},y:{windowsVirtualKeyCode:89,key:"y",code:"KeyY"},z:{windowsVirtualKeyCode:90,key:"z",code:"KeyZ"},0:{windowsVirtualKeyCode:48,key:"0",code:"Digit0"},1:{windowsVirtualKeyCode:49,key:"1",code:"Digit1"},2:{windowsVirtualKeyCode:50,key:"2",code:"Digit2"},3:{windowsVirtualKeyCode:51,key:"3",code:"Digit3"},4:{windowsVirtualKeyCode:52,key:"4",code:"Digit4"},5:{windowsVirtualKeyCode:53,key:"5",code:"Digit5"},6:{windowsVirtualKeyCode:54,key:"6",code:"Digit6"},7:{windowsVirtualKeyCode:55,key:"7",code:"Digit7"},8:{windowsVirtualKeyCode:56,key:"8",code:"Digit8"},9:{windowsVirtualKeyCode:57,key:"9",code:"Digit9"},"/":{windowsVirtualKeyCode:191,key:"/",code:"Slash"},",":{windowsVirtualKeyCode:188,key:",",code:"Comma"},".":{windowsVirtualKeyCode:190,key:".",code:"Period"},";":{windowsVirtualKeyCode:186,key:";",code:"Semicolon"},"-":{windowsVirtualKeyCode:189,key:"-",code:"Minus"},"=":{windowsVirtualKeyCode:187,key:"=",code:"Equal"},"?":{windowsVirtualKeyCode:191,key:"?",code:"Slash",shift:!0},":":{windowsVirtualKeyCode:186,key:":",code:"Semicolon",shift:!0},"+":{windowsVirtualKeyCode:187,key:"+",code:"Equal",shift:!0}},fn=new Set(["Ctrl","Shift","Alt","Cmd","Option"]);function bn(e){const{modifiers:t,baseKey:a}=function(e){const t=e.trim().split("+"),a=new Set;let n="";for(const e of t)fn.has(e)?a.add(e):n=e;return""===n&&(n="+"),{modifiers:a,baseKey:n}}(e),n=gn[a]??gn[a.toLowerCase()];if(!n)return[];const i=t.has("Shift")||!0===n.shift,o=t.has("Ctrl")||i||t.has("Alt")||t.has("Option")||t.has("Cmd"),s=i&&/^[a-z]$/.test(n.key)?n.key.toUpperCase():n.key;return[hn({windowsVirtualKeyCode:n.windowsVirtualKeyCode,key:s,code:n.code},o&&{modifiers:{ctrl:t.has("Ctrl"),shift:i,alt:t.has("Alt")||t.has("Option"),meta:t.has("Cmd")}})]}function vn(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),a.push.apply(a,n)}return a}function yn(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?vn(Object(a),!0).forEach(function(t){wn(e,t,a[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):vn(Object(a)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))})}return e}function wn(e,t,a){return(t=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var a=e[Symbol.toPrimitive];if(void 0!==a){var n=a.call(e,t||"default");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}const kn=[{windowsVirtualKeyCode:27,key:"Escape",code:"Escape"}],An=(e,t,a)=>{Ra().yS.send(Ra()._O.devtools,"keyboard:auto-escape-trap:complete",yn({result:e},a&&{subscriptionMissing:!0}),{tabId:t})};function En({tabId:e,error:t,vnodeId:a,screenshotId:n,manifestId:i,trapErrorMessage:o,isReplay:s}){(0,ge().A)(e,t,o),Pe().iE({eventTool:"keyboard",type:"general",vnodeId:a,screenshotId:n,manifestId:i});const r=yn({escapedToNewVnode:!1,tabbingComplete:!1,isLastAttempt:!0,aiResult:null,succeededAIStrategy:[]},s&&{isReplay:!0});An(r,e)}const Sn=async({tabId:e,keys:t,manifest:a,keyboardTrapVnode:n,isLastAttempt:i=!1})=>(Ra().yS.send(Ra()._O.content,"igt:keyboard:tab-record-start",yn(yn({},a),{},{isKeyboardTrapEscape:!0,keyboardTrapVnode:n,isAutoEscape:!0,isLastAttempt:i}),{tabId:e}),await(async(e,t)=>{if(0===t.length)return;const a=(0,de().A)(e);await a.setup(),await a.fireKeys(t),a.stop()})(e,t),await new Promise(e=>setTimeout(e,500)),(async e=>{const t=new Promise(e=>{const t=setTimeout(()=>{Ra().yS.unlisten("tab-record:trap-escape-done",a),e({escapedToNewVnode:!1,tabbingComplete:!1})},3e4);function a({message:n}){clearTimeout(t),Ra().yS.unlisten("tab-record:trap-escape-done",a),e(n)}Ra().yS.listen("tab-record:trap-escape-done",a)});return"number"==typeof e?Ra().yS.send(Ra()._O.content,"tab-record:finalize-escape-trap",null,{tabId:e}):Ra().yS.send(Ra()._O.content,"tab-record:finalize-escape-trap"),t})(e));async function Tn(e,t){const{tabId:a,screenshotId:n,manifest:i,keyboardTrapVnode:o,trapErrorMessage:s,elementScreenshotKey:r,elementBoxInScreenshot:c}=e,{onAbortControllerCreated:l,onComplete:d}=t,u=(0,Z().A)("aiKeyboardTrap");let p=null;try{const e=await Sn({tabId:a,keys:kn,manifest:i,keyboardTrapVnode:o});if(e.escapedToNewVnode)return void An(yn(yn({},e),{},{aiResult:null,succeededAIStrategy:kn.map(e=>e.key)}),a);u.start(),p=new AbortController,l(p);const t=r&&c?{page_screenshot_uuid:n,bounding_box:o.box,elementScreenshotKey:r,elementBoxInScreenshot:c}:{page_screenshot_uuid:n,bounding_box:o.box},s=await ke().A.post("/api/ml/keyboard-igt/identify-keyboard-trap",t,{signal:p.signal});if("error"in s){Pe().iE({eventTool:"keyboard",type:"general",vnodeId:o.vnodeId,screenshotId:n,manifestId:i.id});const t=yn(yn({},e),{},{aiResult:s,isLastAttempt:!0,succeededAIStrategy:[]});return void An(t,a)}u.end(),Pe().aW(u.measure().duration);const d=s.keyboard_trap_instructions.steps;let h=e;for(let e=0;e<d.length;e++){const t=d[e],n=e===d.length-1,r=t.actions.flatMap(e=>{const t=Math.max(e.repeat_count??1,1);return Array(t).fill(e.key)}),c=r.flatMap(e=>bn(e));if(h=await Sn({tabId:a,keys:c,manifest:i,keyboardTrapVnode:o,isLastAttempt:n}),h.escapedToNewVnode)return void An(yn(yn({},h),{},{aiResult:s,succeededAIStrategy:r}),a)}const m=yn(yn({},h),{},{aiResult:s,isLastAttempt:!0,succeededAIStrategy:[]});An(m,a)}catch(e){var h;if(null!==(h=p)&&void 0!==h&&h.signal.aborted)return;const t=e instanceof te().N&&402===e.status;(0,ge().A)(a,e,s),Pe().iE({eventTool:"keyboard",type:"general",vnodeId:o.vnodeId,screenshotId:n,manifestId:i.id});An({escapedToNewVnode:!1,tabbingComplete:!1,isLastAttempt:!0,aiResult:null,succeededAIStrategy:[]},a,t)}finally{d()}}function xn(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),a.push.apply(a,n)}return a}function In(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?xn(Object(a),!0).forEach(function(t){Rn(e,t,a[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):xn(Object(a)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))})}return e}function Rn(e,t,a){return(t=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var a=e[Symbol.toPrimitive];if(void 0!==a){var n=a.call(e,t||"default");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}const Dn=It().Ay`There was a problem escaping your keyboard trap. Please try again.`,Cn=It().Ay`There was a problem analyzing your tabstops. Please try again.`;const Nn=["manifestId","page_screenshot_uuid"];function Mn(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),a.push.apply(a,n)}return a}function Pn(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?Mn(Object(a),!0).forEach(function(t){On(e,t,a[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):Mn(Object(a)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))})}return e}function On(e,t,a){return(t=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var a=e[Symbol.toPrimitive];if(void 0!==a){var n=a.call(e,t||"default");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function $n(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),a.push.apply(a,n)}return a}function _n(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?$n(Object(a),!0).forEach(function(t){zn(e,t,a[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):$n(Object(a)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))})}return e}function zn(e,t,a){return(t=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var a=e[Symbol.toPrimitive];if(void 0!==a){var n=a.call(e,t||"default");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}const Fn=It().Ay`There was a problem analyzing your headings. Please try again.`,Gn=It().Ay`There was a problem analyzing your lists. Please try again.`,qn=It().Ay`There was a problem analyzing your application elements. Please try again.`,Ln=It().Ay`There was a problem analyzing your frame titles. Please try again.`,jn=It().Ay`There was a problem analyzing your page title. Please try again.`;const Un=["manifestId","full_page_screenshot_uuid"];function Bn(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),a.push.apply(a,n)}return a}function Vn(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?Bn(Object(a),!0).forEach(function(t){Wn(e,t,a[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):Bn(Object(a)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))})}return e}function Wn(e,t,a){return(t=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var a=e[Symbol.toPrimitive];if(void 0!==a){var n=a.call(e,t||"default");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}const Hn=It().Ay`There was a problem analyzing focus restoration for your modal.`,Kn={results:{error:!0}};const Yn=["manifestId"];function Jn(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),a.push.apply(a,n)}return a}function Zn(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?Jn(Object(a),!0).forEach(function(t){Xn(e,t,a[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):Jn(Object(a)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))})}return e}function Xn(e,t,a){return(t=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var a=e[Symbol.toPrimitive];if(void 0!==a){var n=a.call(e,t||"default");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}const Qn=It().Ay`There was a problem analyzing dismissibility for your modal.`,ei={results:{error:!0}},ti=e=>{if(!e||"object"!=typeof e)return!1;const t=e;return"number"==typeof t.top&&"number"==typeof t.left&&"number"==typeof t.right&&"number"==typeof t.bottom};const ai=["manifestId"];const ni=It().Ay`There was a problem analyzing your table. Please try again.`,ii={error:!0};const oi=()=>{Ra().yS.listen("server-version:get",async()=>{try{const{version:e}=await ke().A.get("/healthcheck");return e}catch{return null}})};var si=a(6999);const ri=["hideNotification","enterpriseId","connectionId","event"];const ci=e=>{if(e.length<=200)return[e];const t=[];for(let a=0;a<e.length;a+=200)t.push(e.slice(a,a+200));return t};const li="gather-internals.js",di=[{type:"iframe",exclude:!1}],ui=new Map,pi=new Set;let hi=0,mi=null;async function gi(e,t,a){await new Promise(n=>{const i=t?{tabId:e,sessionId:t}:{tabId:e};chrome.debugger.sendCommand(i,"Runtime.evaluate",{expression:a},()=>{chrome.runtime.lastError,n()})})}function fi(e,t,a){const n="undefined"!=typeof crypto&&"function"==typeof crypto.randomUUID?crypto.randomUUID():`axe-internals-${Math.random().toString(36).slice(2)}-${Date.now()}`,i=async function(e,t,a){const n=`document.dispatchEvent(new CustomEvent('axe-set-frame-uuid', { detail: { uuid: ${JSON.stringify(a)} } }))`;await gi(e,t,n)}(t,a,n).catch(()=>{}),o=(async()=>{const e=await(mi||(mi=(async()=>{const e=browser.runtime.getURL(li),t=await fetch(e);if(!t.ok)throw new Error(`Failed to load ${li}: ${t.status}`);return await t.text()})().catch(e=>{throw mi=null,e})),mi);return await i,async function(e,t,a){try{var n;const i=`JSON.stringify((function(){try{return ${a}}catch(e){return []}})())`,o=t?{tabId:e,sessionId:t}:{tabId:e},s=await new Promise((e,t)=>{chrome.debugger.sendCommand(o,"Runtime.evaluate",{expression:i,returnByValue:!0,awaitPromise:!0},a=>{const n=chrome.runtime.lastError;n?t(new Error(n.message)):e(a)})});if(s.exceptionDetails)return[];const r=null===(n=s.result)||void 0===n?void 0:n.value;if("string"!=typeof r)return[];const c=JSON.parse(r);return Array.isArray(c)?c:[]}catch{return[]}}(t,a,e)})().catch(()=>[]);return e.sessions.set(n,{sessionId:a,dispatched:i,gather:o}),setTimeout(()=>{const t=e.sessions.get(n);t&&t.gather===o&&e.sessions.delete(n)},3e4),n}async function bi(e,t,a={}){await new Promise(n=>{chrome.debugger.sendCommand(e,t,a,()=>{chrome.runtime.lastError,n()})})}const vi=new Map;async function yi(e){const t=vi.get(e);if(t)return t;const a=async function(e){const t=++hi;ui.has(e)&&await wi(e);const a=await async function(e){try{return await Na().debugger.attach(e),pi.add(e),!0}catch(e){const t="object"==typeof e&&null!==e&&"message"in e?String(e.message??""):"";return/already attached/i.test(t)}}(e);if(!a)return{ok:!1,epoch:t};const n={attached:!0,epoch:t,sessions:new Map,onEvent:()=>{}};n.onEvent=(t,a,i)=>{if(t.tabId===e)if("Target.attachedToTarget"===a){var o;const t=i;if("iframe"!==(null===(o=t.targetInfo)||void 0===o?void 0:o.type))return;fi(n,e,t.sessionId)}else if("Target.detachedFromTarget"===a){const e=i;for(const[t,a]of n.sessions)a.sessionId===e.sessionId&&n.sessions.delete(t)}},chrome.debugger.onEvent.addListener(n.onEvent),ui.set(e,n);const i=fi(n,e,null),o=n.sessions.get(i);await bi({tabId:e},"Target.setAutoAttach",{autoAttach:!0,waitForDebuggerOnStart:!1,flatten:!0,filter:di}),o&&await o.dispatched;if(ui.get(e)!==n)return{ok:!1,epoch:t};return{ok:!0,epoch:t}}(e).finally(()=>{vi.get(e)===a&&vi.delete(e)});return vi.set(e,a),a}async function wi(e,t){const a=ui.get(e);a&&("number"==typeof t&&a.epoch!==t||(ui.delete(e),chrome.debugger.onEvent.removeListener(a.onEvent),a.attached&&await Promise.all(Array.from(a.sessions.values()).map(t=>async function(e,t){await gi(e,t,"document.dispatchEvent(new CustomEvent('axe-clear-frame-uuid'))")}(e,t.sessionId))),a.sessions.clear(),a.attached&&void 0===ui.get(e)&&(pi.has(e)?await async function(e){pi.delete(e),await Na().debugger.detach(e).catch(()=>{})}(e):await async function(e){await bi({tabId:e},"Target.setAutoAttach",{autoAttach:!1,waitForDebuggerOnStart:!1,flatten:!0})}(e))))}let ki=!1,Ai=null,Ei=null;function Si(){var e,t;ki||(ki=!0,Ai=e=>{wi(e)},null===(e=browser.tabs)||void 0===e||null===(e=e.onRemoved)||void 0===e||e.addListener(Ai),Ei=e=>{if("number"==typeof e.tabId){pi.delete(e.tabId);const t=ui.get(e.tabId);t&&(t.attached=!1,wi(e.tabId))}},null===(t=chrome.debugger)||void 0===t||null===(t=t.onDetach)||void 0===t||t.addListener(Ei)),Ra().yS.listen("internals:prepare",async({message:e,tabId:t})=>{const a="number"==typeof t?t:null==e?void 0:e.tabId;if("number"!=typeof a)return{ok:!1,epoch:0};if("number"==typeof t&&"number"==typeof(null==e?void 0:e.tabId)&&e.tabId!==t)return{ok:!1,epoch:0};try{return await yi(a)}catch{return{ok:!1,epoch:0}}}),Ra().yS.listen("internals:gather",async({message:e,tabId:t,frameId:a})=>"number"==typeof t&&"number"==typeof a&&null!=e&&e.uuid?async function(e,t,a){const n=ui.get(e);if(!n)return[];const i=n.sessions.get(t);if(!i)return[];if(void 0===i.claimedByFrameId)i.claimedByFrameId=a;else if(i.claimedByFrameId!==a)return[];const o=await i.gather;return Array.isArray(o)?o:[]}(t,e.uuid,a):[]),Ra().yS.listen("internals:teardown",async({message:e,tabId:t})=>{const a="number"==typeof t?t:null==e?void 0:e.tabId;"number"==typeof a&&("number"==typeof t&&"number"==typeof(null==e?void 0:e.tabId)&&e.tabId!==t||await wi(a,null==e?void 0:e.epoch))})}function Ti(){return Ti.c||(Ti.c=a.n(xt()))}const{NODE_ENV:xi,IS_AXE_PRO:Ii,AXE_PRO_URL:Ri}={NODE_ENV:"production",IS_AXE_PRO:"true",AXE_PRO_URL:"http://localhost:1234"},Di="true"===Ii;Ra().yS.listen("identify-content-frame",({frameId:e})=>e),void 0!==globalThis.document&&void 0!==globalThis.XMLHttpRequest&&(0,Pe().T_)(),browser.tabs.onUpdated.addListener((e,t,{url:a,title:n})=>{(t.url||t.title)&&Ra().yS.send(Ra()._O.devtools,"page-info:change",{url:nn(a),title:n},{tabId:e})}),Ra().yS.listen("get-distinct-id",async()=>await(0,se().A)());if(Ra().yS.listen("auth:login",()=>browser.storage.local.remove("cachedDistinctId")),Ra().yS.listen("devtools:open",async({tabId:e})=>{if(!function(e){return"number"==typeof e&&e>=0}(e))return;const{url:t,title:a}=await browser.tabs.get(e);Ra().yS.send(Ra()._O.devtools,"page-info:init",{url:t,title:a},{tabId:e})}),"production"===xi||"test"===xi){const e=Xa()(Ri);browser.runtime.onInstalled.addListener(async({reason:t})=>{if("install"===t){const{name:t,installType:a,version:n}=await browser.management.getSelf();console.log('[%s @ %s] installed with "%s".',t,n,a);if(!["chromepuppeteer","playwright"].some(e=>navigator.userAgent.toLowerCase().includes(e))&&((0,Pe().ai)({enterpriseInstall:["admin","other"].includes(a)}),Di)){const t=await browser.storage.managed.get();if(null!=t&&t.OfflineLicenseKey)return;browser.tabs.create({active:!0,url:`${e}/install-success`})}}else"update"===t&&Ra().yS.send(Ra()._O.devtools,"extension:update")}),Di&&browser.runtime.setUninstallURL(`${e}/uninstalled`)}var Ci;Ra().yS.listen("get-send-metrics",async()=>{const e=Date.now();let{shouldSendMetrics:t,shouldSendMetricsDeadline:a=0}=await browser.storage.local.get(["shouldSendMetrics","shouldSendMetricsDeadline"]);if(void 0!==t||e<a)return t;try{let{axeServerURL:a}=await browser.storage.local.get("axeServerURL");const n=await fetch(`${"default"===a?Ri:a}/api/extension/collect-user-data`,{redirect:"follow"});return t=await n.json(),browser.storage.local.set({shouldSendMetrics:t,shouldSendMetricsDeadline:e+3600}),(0,Pe().rO)(t),t}catch{return!1}}),Ra().yS.listen("i18n:apply",async({message:{locale:e}})=>{"en"===e?It().X0({locales:"en",translations:{}}):It().X0({locales:e,translations:si[e]||{}})}),oi(),"function"==typeof(null===(Ci=globalThis.chrome)||void 0===Ci||null===(Ci=Ci.debugger)||void 0===Ci?void 0:Ci.sendCommand)&&Si(),Di&&(Ra().yS.listen("user-flow-analysis:save-results",async({message:{id:e,results:t,extensionVersion:a},tabId:n})=>{try{return await ke().A.put(`/api/axe-devtools-pro/user-flows/${e}/results`,{results:t,axe_extension_version:a},{jsonResponse:!1})}catch(e){return(0,ge().A)(n,e,rn()),null}}),Ra().yS.listen("user-flow-analysis:create",async({message:e,tabId:t})=>{try{return await ke().A.post("/api/axe-devtools-pro/user-flows",e)}catch(e){return(0,ge().A)(t,e,rn()),null}}),Ra().yS.listen("user-flow-analysis:get",async({message:{id:e},tabId:t})=>{try{return await ke().A.get(`/api/axe-devtools-pro/user-flows/${e}`)}catch(e){return(0,ge().A)(t,e,cn()),null}}),Ra().yS.listen("user-flow-analysis:get-results",async({message:{id:e},tabId:t})=>{try{return await ke().A.get(`/api/axe-devtools-pro/user-flows/${e}/results`)}catch(e){return(0,ge().A)(t,e,cn()),null}}),Ra().yS.listen("user-flow-analysis:update",async({message:e,tabId:t})=>{try{return await ke().A.put(`/api/axe-devtools-pro/user-flows/${e.id}`,e)}catch(e){return(0,ge().A)(t,e,rn()),null}}),Ra().yS.listen("user-flow-analysis:delete",async({message:{id:e},tabId:t})=>{try{return await ke().A.delete(`/api/axe-devtools-pro/user-flows/${e}`),!0}catch(e){return(0,ge().A)(t,e,It().Ay`Failed to delete user flow. Please try again.`),null}}),Ra().yS.listen("user-flow-analysis:upsert-page-state",async({message:{userFlowId:e,pageStateId:t,pageStateName:a},tabId:n})=>{try{return await ke().A.put(`/api/axe-devtools-pro/user-flows/${e}/page-state-metadata/${t}`,{page_state_name:a})}catch(e){return(0,ge().A)(n,e,It().Ay`Failed to update or insert page state. Please try again.`),null}}),Ra().yS.listen("user-flow-analysis:get-page-state-metadata",async({message:{id:e},tabId:t})=>{try{return await ke().A.get(`/api/axe-devtools-pro/user-flows/${e}/page-state-metadata`)}catch(e){return(0,ge().A)(t,e,It().Ay`Failed to fetch page state. Please try again.`),null}}),function(){let e=null;Ra().yS.listen("ai-analysis:cancel",()=>{e&&e.abort()}),Ra().yS.listen("analyze-interactive-elements",async({message:t,tabId:a})=>{const n=(0,Z().A)("ieAutomation"),{screenshotId:i,vnodes:o,manifestId:s,lean:r}=t;try{n.start(),e=new AbortController;const t=await ke().A.post("/api/ml/evaluate-interactive-elements"+(!0===r?"?lean=true":""),{screenshotId:i,vnodes:o},{signal:e.signal});n.end(),Pe().AL(n.measure().duration);for(const e of t)"errorMessage"in e?Pe().iE({type:"general",vnodeId:e.vnodeId,screenshotId:i,manifestId:s}):("string"==typeof e.visibility&&"fully_visible"!==e.visibility&&Pe().iE({type:"visibility",vnodeId:e.vnodeId,screenshotId:i,manifestId:s}),e.voting_metadata&&!e.voting_metadata.consensus_reached&&Pe().iE({type:"nonConsensus",vnodeId:e.vnodeId,screenshotId:i,manifestId:s}));Ra().yS.send(Ra()._O.devtools,"analyze-interactive-elements:complete",{results:t},{tabId:a})}catch(t){var c;if(null!==(c=e)&&void 0!==c&&c.signal.aborted)return;const n=t instanceof te().N&&402===t.status;(0,ge().A)(a,t,un),Pe().iE({type:"general",vnodeId:null,screenshotId:i,manifestId:s}),Ra().yS.send(Ra()._O.devtools,"analyze-interactive-elements:complete",function(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?ln(Object(a),!0).forEach(function(t){dn(e,t,a[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):ln(Object(a)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))})}return e}({results:[]},n&&{subscriptionMissing:!0}),{tabId:a})}finally{e=null}})}(),function(){let e=null,t=null;const a={onAbortControllerCreated:t=>{e=t},onComplete:()=>{e=null}};Ra().yS.listen("ai-analysis:cancel",()=>{e&&e.abort(),t&&t.abort()}),Ra().yS.listen("keyboard:replay-escape-strategy",async({message:e,tabId:t})=>{const{manifest:n,keyboardTrap:i,screenshotId:o,keyboardTrapVnode:s,elementScreenshotKey:r,elementBoxInScreenshot:c}=e,l=i.vnode;try{var d;if("number"!=typeof t)throw new Error("Tab ID is required");if(null===(d=i.succeededAIStrategy)||void 0===d||!d.length)throw new Error("Succeeded AI strategy is required");const e=i.succeededAIStrategy.flatMap(e=>bn(e)),u=await Sn({tabId:t,keys:e,manifest:n,keyboardTrapVnode:l});if(u.escapedToNewVnode){const e=In(In({},u),{},{aiResult:null,isLastAttempt:!0,isReplay:!0,succeededAIStrategy:i.succeededAIStrategy});return void An(e,t)}await Tn({tabId:t,screenshotId:o,manifest:n,keyboardTrapVnode:s,trapErrorMessage:Dn,elementScreenshotKey:r,elementBoxInScreenshot:c},a)}catch(e){if("number"!=typeof t)return void En({tabId:t,error:e instanceof Error?e:new Error(String(e)),vnodeId:l.vnodeId,screenshotId:o,manifestId:n.id,trapErrorMessage:Dn,isReplay:!0});await Tn({tabId:t,screenshotId:o,manifest:n,keyboardTrapVnode:s,trapErrorMessage:Dn,elementScreenshotKey:r,elementBoxInScreenshot:c},a)}}),Ra().yS.listen("keyboard:auto-escape-trap",async({message:e,tabId:t})=>{const{screenshotId:n,manifest:i,keyboardTrapVnode:o,elementScreenshotKey:s,elementBoxInScreenshot:r}=e;"number"==typeof t?await Tn({tabId:t,screenshotId:n,manifest:i,keyboardTrapVnode:o,trapErrorMessage:Dn,elementScreenshotKey:s,elementBoxInScreenshot:r},a):En({tabId:t,error:new Error("Tab ID is required"),vnodeId:o.vnodeId,screenshotId:n,manifestId:i.id,trapErrorMessage:Dn})}),Ra().yS.listen("keyboard:analyze-tabstops",async({message:e,tabId:a})=>{const n=(0,Z().A)("aiAnalyzeTabstops"),{page_screenshot_uuid:i,sagemaker_tabstops:o,manifestId:s}=e;if(o.length)try{n.start(),t=new AbortController;const e=await ke().A.post("/api/ml/keyboard-igt/validate-sagemaker-tabstops",{page_screenshot_uuid:i,sagemaker_tabstops:o},{signal:t.signal});if(n.end(),"error"in e)return Pe().iE({eventTool:"keyboard",type:"general",vnodeId:null,screenshotId:i,manifestId:s}),void Ra().yS.send(Ra()._O.devtools,"keyboard:analyze-tabstops:complete",{results:e},{tabId:a});Pe().UU(n.measure().duration),Ra().yS.send(Ra()._O.devtools,"keyboard:analyze-tabstops:complete",{results:e.results},{tabId:a})}catch(e){var r;if(n.end(),null!==(r=t)&&void 0!==r&&r.signal.aborted)return;const o=e instanceof te().N&&402===e.status;(0,ge().A)(a,e,Cn),Pe().iE({eventTool:"keyboard",type:"general",vnodeId:null,screenshotId:i,manifestId:s}),Ra().yS.send(Ra()._O.devtools,"keyboard:analyze-tabstops:complete",In({results:[]},o&&{subscriptionMissing:!0}),{tabId:a})}finally{t=null}else Ra().yS.send(Ra()._O.devtools,"keyboard:analyze-tabstops:complete",{results:[]},{tabId:a})})}(),function(){let e=null;Ra().yS.listen("ai-analysis:cancel",()=>{e&&e.abort()}),Ra().yS.listen("analyze-images",async({message:t,tabId:a})=>{const{manifestId:n,page_screenshot_uuid:i}=t,o=function(e,t){if(null==e)return{};var a,n,i=function(e,t){if(null==e)return{};var a={};for(var n in e)if({}.hasOwnProperty.call(e,n)){if(-1!==t.indexOf(n))continue;a[n]=e[n]}return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n<o.length;n++)a=o[n],-1===t.indexOf(a)&&{}.propertyIsEnumerable.call(e,a)&&(i[a]=e[a])}return i}(t,Nn);try{e=new AbortController;const t=await ke().A.post("/api/ml/evaluate-images",Pn(Pn({},o),{},{page_screenshot_uuid:i}),{signal:e.signal});e=null;for(const[e,a]of Object.entries(t.results))"error"in a&&(0,Pe().iE)({type:"general",vnodeId:e,screenshotId:i,manifestId:n});Ra().yS.send(Ra()._O.devtools,"analyze-images:complete",{results:t},{tabId:a})}catch(t){var s;if(null!==(s=e)&&void 0!==s&&s.signal.aborted)return void(e=null);(0,ge().A)(a,t,It().Ay`There was a problem analyzing your images. Please try again.`),(0,Pe().iE)({type:"general",vnodeId:null,screenshotId:i,manifestId:n}),Ra().yS.send(Ra()._O.devtools,"analyze-images:complete",{results:{results:{}}},{tabId:a})}})}(),function(){let e=null;Ra().yS.listen("ai-analysis:cancel",()=>{e&&e.abort()}),Ra().yS.listen("structure:analyze-application-elements",async({message:t,tabId:a})=>{const{manifestId:n,page_screenshot_uuid:i,candidates:o}=t;if(o.length&&i)try{e=new AbortController;const t=await ke().A.post("/api/ml/structure-igt/application-evaluator/evaluate",{page_screenshot_uuid:i,candidates:o},{signal:e.signal});Ra().yS.send(Ra()._O.devtools,"structure:analyze-application-elements:complete",{results:t.evaluations??[]},{tabId:a})}catch(t){var s;if(null!==(s=e)&&void 0!==s&&s.signal.aborted)return;(0,ge().A)(a,t,qn),Pe().iE({eventTool:"structure",type:"general",vnodeId:null,screenshotId:i,manifestId:n}),Ra().yS.send(Ra()._O.devtools,"structure:analyze-application-elements:complete",{results:[]},{tabId:a})}finally{e=null}else Ra().yS.send(Ra()._O.devtools,"structure:analyze-application-elements:complete",{results:[]},{tabId:a})}),Ra().yS.listen("structure:analyze-lists",async({message:t,tabId:a})=>{const{manifestId:n,page_screenshot_uuid:i,lists:o}=t;if(o.length&&i)try{e=new AbortController;const t=await ke().A.post("/api/ml/structure-igt/list-markup-analyzer/analyze",{page_screenshot_uuid:i,lists:o},{signal:e.signal});Ra().yS.send(Ra()._O.devtools,"structure:analyze-lists:complete",{results:t.results??[]},{tabId:a})}catch(t){var s;if(null!==(s=e)&&void 0!==s&&s.signal.aborted)return;(0,ge().A)(a,t,Gn),Pe().iE({eventTool:"structure",type:"general",vnodeId:null,screenshotId:i,manifestId:n}),Ra().yS.send(Ra()._O.devtools,"structure:analyze-lists:complete",{results:[]},{tabId:a})}finally{e=null}else Ra().yS.send(Ra()._O.devtools,"structure:analyze-lists:complete",{results:[]},{tabId:a})}),Ra().yS.listen("structure:analyze-frame-titles",async({message:t,tabId:a})=>{const{manifestId:n,page_screenshot_uuid:i,zoom_level:o,frames:s}=t;if(!s.length||!i)return void Ra().yS.send(Ra()._O.devtools,"structure:analyze-frame-titles:complete",{results:[]},{tabId:a});const r={frames:s.map(e=>_n(_n({page_screenshot_uuid:i,frame_title:e.frame_title,frame_source:e.frame_source,frame_bounding_box:e.frame_bounding_box},void 0!==o?{zoom_level:o}:{}),e.elementScreenshotKey&&e.elementBoxInScreenshot?{elementScreenshotKey:e.elementScreenshotKey,elementBoxInScreenshot:e.elementBoxInScreenshot}:{}))};try{e=new AbortController;const t=await ke().A.post("/api/ml/structure-igt/frame-title-analyzer/analyze",r,{signal:e.signal});if(!Array.isArray(t)||t.length!==s.length)throw new Error(`frame-title-analyzer response length mismatch: expected ${s.length}, got ${Array.isArray(t)?t.length:typeof t}`);const n=t.map((e,t)=>"error"in e?{vnodeId:s[t].id,error_message:e.error}:_n({id:s[t].id},e));Ra().yS.send(Ra()._O.devtools,"structure:analyze-frame-titles:complete",{results:n},{tabId:a})}catch(t){var c;if(null!==(c=e)&&void 0!==c&&c.signal.aborted)return;(0,ge().A)(a,t,Ln),Pe().iE({eventTool:"structure",type:"general",vnodeId:null,screenshotId:i,manifestId:n}),Ra().yS.send(Ra()._O.devtools,"structure:analyze-frame-titles:complete",{results:[]},{tabId:a})}finally{e=null}}),Ra().yS.listen("structure:analyze-document-title",async({message:t,tabId:a})=>{const{manifestId:n,page_title:i,page_screenshot_uuid:o,title_element_markup:s,heading_ancestry:r}=t;if(i&&o)try{e=new AbortController;const t=await ke().A.post("/api/ml/structure-igt/page-title-analyzer/analyze",_n(_n({page_title:i,page_screenshot_uuid:o},s?{title_element_markup:s}:{}),null!=r&&r.length?{heading_ancestry:r}:{}),{signal:e.signal});"error"in t?(Pe().iE({eventTool:"structure",type:"general",vnodeId:null,screenshotId:o,manifestId:n}),Ra().yS.send(Ra()._O.devtools,"structure:analyze-document-title:complete",{results:[]},{tabId:a})):Ra().yS.send(Ra()._O.devtools,"structure:analyze-document-title:complete",{results:[t]},{tabId:a})}catch(t){var c;if(null!==(c=e)&&void 0!==c&&c.signal.aborted)return;(0,ge().A)(a,t,jn),Pe().iE({eventTool:"structure",type:"general",vnodeId:null,screenshotId:o,manifestId:n}),Ra().yS.send(Ra()._O.devtools,"structure:analyze-document-title:complete",{results:[]},{tabId:a})}finally{e=null}else Ra().yS.send(Ra()._O.devtools,"structure:analyze-document-title:complete",{results:[]},{tabId:a})}),Ra().yS.listen("structure:analyze-languages",async({message:e,tabId:t})=>{const{langElements:a,htmlLangElement:n}=e,i=[...n?[n]:[],...a];await new Promise(e=>setTimeout(e,100)),Ra().yS.send(Ra()._O.devtools,"structure:analyze-languages:complete",{results:i},{tabId:t})}),Ra().yS.listen("structure:analyze-headings",async({message:t,tabId:a})=>{const{manifestId:n,page_screenshot_uuid:i,headings_to_validate:o}=t;if(o.length&&i)try{e=new AbortController;const t=await ke().A.post("/api/ml/structure-igt/heading-detection/validate-semantic-headings",{page_screenshot_uuid:i,headings_to_validate:o},{signal:e.signal});Ra().yS.send(Ra()._O.devtools,"structure:analyze-headings:complete",{results:t.validations},{tabId:a})}catch(t){var s;if(null!==(s=e)&&void 0!==s&&s.signal.aborted)return;(0,ge().A)(a,t,Fn),Pe().iE({eventTool:"structure",type:"general",vnodeId:null,screenshotId:i,manifestId:n}),Ra().yS.send(Ra()._O.devtools,"structure:analyze-headings:complete",{results:[]},{tabId:a})}finally{e=null}else Ra().yS.send(Ra()._O.devtools,"structure:analyze-headings:complete",{results:[]},{tabId:a})})}(),function(){let e=null;Ra().yS.listen("ai-analysis:cancel",()=>{e&&e.abort()}),Ra().yS.listen("analyze-modal-focus-restoration:signal-error",({message:e,tabId:t})=>{const{manifestId:a,screenshotId:n}=e??{};if(a){const e={type:"general",vnodeId:null,screenshotId:n??"",manifestId:a};Pe().iE(e)}Ra().yS.send(Ra()._O.devtools,"analyze-modal-focus-restoration:complete",Kn,{tabId:t})}),Ra().yS.listen("analyze-modal-focus-restoration",async({message:t,tabId:a})=>{const n=(0,Z().A)("modalIgtFocusRestoration"),{manifestId:i,full_page_screenshot_uuid:o}=t,s=function(e,t){if(null==e)return{};var a,n,i=function(e,t){if(null==e)return{};var a={};for(var n in e)if({}.hasOwnProperty.call(e,n)){if(-1!==t.indexOf(n))continue;a[n]=e[n]}return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n<o.length;n++)a=o[n],-1===t.indexOf(a)&&{}.propertyIsEnumerable.call(e,a)&&(i[a]=e[a])}return i}(t,Un);try{n.start(),e=new AbortController;const t=Vn({full_page_screenshot_uuid:o},s),r=await ke().A.post("/api/ml/modal-igt/analyze-focus-restoration",t,{signal:e.signal});if(n.end(),!(e=>{if(!e||"object"!=typeof e)return!1;const t=e;return!("boolean"!=typeof t.focus_returns_to_logical_place||void 0!==t.scratch_pad&&"string"!=typeof t.scratch_pad||void 0!==t.expected_focus_target&&"string"!=typeof t.expected_focus_target)})(r)){const e={type:"general",vnodeId:null,screenshotId:o,manifestId:i};return Pe().iE(e),void Ra().yS.send(Ra()._O.devtools,"analyze-modal-focus-restoration:complete",Kn,{tabId:a})}const c={results:{focus_returns_to_logical_place:r.focus_returns_to_logical_place,scratch_pad:r.scratch_pad??"",expected_focus_target:r.expected_focus_target??""}};Pe().Ql(n.measure().duration),Ra().yS.send(Ra()._O.devtools,"analyze-modal-focus-restoration:complete",c,{tabId:a})}catch(t){var r;if(null!==(r=e)&&void 0!==r&&r.signal.aborted)return;const n=t instanceof te().N&&402===t.status;(0,ge().A)(a,t,Hn);const s={type:"general",vnodeId:null,screenshotId:o,manifestId:i};Pe().iE(s),Ra().yS.send(Ra()._O.devtools,"analyze-modal-focus-restoration:complete",Vn(Vn({},Kn),n&&{subscriptionMissing:!0}),{tabId:a})}finally{e=null}})}(),function(){let e=null;Ra().yS.listen("ai-analysis:cancel",()=>{e&&e.abort()}),Ra().yS.listen("analyze-modal-dismissibility:signal-error",({message:e,tabId:t})=>{const{manifestId:a,screenshotId:n}=e??{};if(a){const e={type:"general",vnodeId:null,screenshotId:n??"",manifestId:a};Pe().iE(e)}Ra().yS.send(Ra()._O.devtools,"analyze-modal-dismissibility:complete",ei,{tabId:t})}),Ra().yS.listen("analyze-modal-dismissibility",async({message:t,tabId:a})=>{const n=(0,Z().A)("modalIgtDismissibility"),{manifestId:i}=t,o=function(e,t){if(null==e)return{};var a,n,i=function(e,t){if(null==e)return{};var a={};for(var n in e)if({}.hasOwnProperty.call(e,n)){if(-1!==t.indexOf(n))continue;a[n]=e[n]}return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n<o.length;n++)a=o[n],-1===t.indexOf(a)&&{}.propertyIsEnumerable.call(e,a)&&(i[a]=e[a])}return i}(t,Yn);try{n.start(),e=new AbortController;const t=await ke().A.post("/api/ml/modal-igt/assess-modal-dismissibility",o,{signal:e.signal});if(n.end(),!(e=>{if(!e||"object"!=typeof e)return!1;const t=e;return"boolean"==typeof t.is_dismissible&&Array.isArray(t.bounding_boxes)&&t.bounding_boxes.every(ti)&&(void 0===t.scratch_pad||"string"==typeof t.scratch_pad)})(t)){const e={type:"general",vnodeId:null,screenshotId:o.full_page_screenshot_uuid,manifestId:i};return Pe().iE(e),void Ra().yS.send(Ra()._O.devtools,"analyze-modal-dismissibility:complete",ei,{tabId:a})}const s={results:{is_dismissible:t.is_dismissible,bounding_boxes:t.bounding_boxes,scratch_pad:t.scratch_pad??""}};Pe().A2(n.measure().duration),Ra().yS.send(Ra()._O.devtools,"analyze-modal-dismissibility:complete",s,{tabId:a})}catch(t){var s;if(null!==(s=e)&&void 0!==s&&s.signal.aborted)return;const n=t instanceof te().N&&402===t.status;(0,ge().A)(a,t,Qn);const r={type:"general",vnodeId:null,screenshotId:o.full_page_screenshot_uuid,manifestId:i};Pe().iE(r),Ra().yS.send(Ra()._O.devtools,"analyze-modal-dismissibility:complete",Zn(Zn({},ei),n&&{subscriptionMissing:!0}),{tabId:a})}finally{e=null}})}(),function(){let e=null;Ra().yS.listen("ai-analysis:cancel",()=>{e&&e.abort()}),Ra().yS.listen("analyze-table",async({message:t,tabId:a})=>{const{manifestId:n}=t,i=function(e,t){if(null==e)return{};var a,n,i=function(e,t){if(null==e)return{};var a={};for(var n in e)if({}.hasOwnProperty.call(e,n)){if(-1!==t.indexOf(n))continue;a[n]=e[n]}return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n<o.length;n++)a=o[n],-1===t.indexOf(a)&&{}.propertyIsEnumerable.call(e,a)&&(i[a]=e[a])}return i}(t,ai),o=()=>{const e={type:"general",vnodeId:null,screenshotId:"",manifestId:n};Pe().iE(e)};try{e=new AbortController;const t=await ke().A.post("/api/ml/table-igt/analyze",i,{signal:e.signal});if(!function(e){if(!e||"object"!=typeof e||"error"in e)return!1;const t=e;return"string"==typeof t.summary&&("layout"===t.type?null===t.cells:"data"===t.type&&Array.isArray(t.cells))}(t)){o();const e=function(e){if(!e||"object"!=typeof e||!("error"in e)||!("error_type"in e))return;const{error_type:t}=e;return"string"==typeof t?t:void 0}(t);return e?{error:!0,errorType:e}:ii}return t}catch(t){var s;return null!==(s=e)&&void 0!==s&&s.signal.aborted||((0,ge().A)(a,t,ni),o()),ii}finally{e=null}})}(),Ra().yS.listen("connections:fetch",async({tabId:e,message:{enterpriseId:t}})=>{try{return await ke().A.get(`/api/integrations/enterprises/${t}/connections`)}catch(t){return(0,ge().A)(e,t,It().Ay`Failed to fetch connections.`),null}}),Ra().yS.listen("connections:share",async e=>{let{message:{hideNotification:t,enterpriseId:a,connectionId:n,event:i},tabId:o}=e,s=function(e,t){if(null==e)return{};var a,n,i=function(e,t){if(null==e)return{};var a={};for(var n in e)if({}.hasOwnProperty.call(e,n)){if(-1!==t.indexOf(n))continue;a[n]=e[n]}return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n<o.length;n++)a=o[n],-1===t.indexOf(a)&&{}.propertyIsEnumerable.call(e,a)&&(i[a]=e[a])}return i}(e.message,ri);try{return await ke().A.post(`/api/integrations/enterprises/${a}/connections/${n}/webhooks/${i}/trigger`,s)}catch(e){return t||(0,ge().A)(o,e,It().Ay`Failed to share test.`),null}}),function({getServerUrl:e=le().A,getServerInfo:t=ce().Ay}={}){Ra().yS.listen("ai-credits:has-sufficient-balance",async({tabId:a})=>{try{const{isOnPrem:a}=await t(await e());if(a)return!0;const n=await ke().A.get("/api/ai-tokens/balance"),i=n.limits.find(e=>e.id===n.default_metric_limit_id);return!!i&&n.metric_value<i.limit_value}catch(e){return(0,ge().A)(a,e,It().Ay`Failed to fetch ai credit balance.`),!1}})}(),Ra().yS.listen("element-signals:lookup",async({message:e})=>{const{kind:t,host:a,items:n}=e;try{const e=await async function(e,t,a){const n=[];for(const i of ci(a)){const a=i.map(e=>({idx:e.idx,fingerprint:e.fingerprint,fingerprint_version:1,image_hash:e.imageHash,image_hash_version:1})),o=await ke().A.post("/api/element-signals/lookup",{kind:e,host:t,items:a});n.push(...(null==o?void 0:o.matches)??[])}return n}(t,a,n);return{matches:e}}catch(e){return(0,me().vV)({originalError:e,message:"element-signals lookup failed"}),{matches:[]}}}),Ra().yS.listen("element-signals:record",({message:e})=>{const{kind:t,host:a,entries:n}=e;(async function(e,t,a){for(const n of ci(a)){const a=n.map(e=>({fingerprint:e.fingerprint,fingerprint_version:1,image_hash:e.imageHash,image_hash_version:1,vitals:e.vitals,payload:e.payload}));await ke().A.post("/api/element-signals",{kind:e,host:t,entries:a})}})(t,a,n).catch(e=>{(0,me().vV)({originalError:e,message:"element-signals record failed"})})}),Ra().yS.listen("element-signals:restore",async({message:e})=>{const{kind:t,host:a,items:n}=e;try{return await async function(e,t,a){for(const n of ci(a)){const a=n.map(e=>({fingerprint:e.fingerprint,fingerprint_version:1,image_hash:e.imageHash,image_hash_version:1,vitals:e.vitals}));await ke().A.post("/api/element-signals/restore",{kind:e,host:t,items:a})}}(t,a,n),{ok:!0}}catch(e){return(0,me().vV)({originalError:e,message:"element-signals restore failed"}),{ok:!1}}}),Ra().yS.listen("get-inspected-tab-url",async({tabId:e})=>{if("number"!=typeof e)return"";try{const t=await browser.tabs.get(e);return(null==t?void 0:t.url)??""}catch(e){return(0,me().vV)({originalError:e,message:"get-inspected-tab-url failed"}),""}}),Se(),Ra().yS.listen("navigate",async({tabId:e,message:t})=>browser.tabs.update(e,{url:t})),Ra().yS.listen("get-auth-code",async({message:{loginUrl:e}})=>{try{const t=await fetch(e);return Ja()()(t.ok),(0,ve().Gm)(t.url)}catch(e){(0,Pe().YG)("Unable to fetch auth code",{exception:e})}}),Ra().yS.listen("get-sso-config",async({message:e})=>{const t=await(0,le().A)(),{socialProvider:a,redirectPath:n}=e;try{const{url:e,realm:i,publicClientId:o,openIdConnectUrl:s}=await(0,ve().M$)(),r=new URL(`${t}${n||""}`),c=new URL(`${s}/auth`);r.searchParams.set("fromextension","true"),a&&r.searchParams.set("socialProvider",a),c.searchParams.set("redirect_uri",r.href),c.searchParams.set("client_id",o),c.searchParams.set("response_type","code"),c.searchParams.set("response_mode","query"),c.searchParams.set("scope","openid");const l={authUrl:e,realm:i,publicClientId:o,redirectUrl:r.href,loginUrl:c.href,logoutUrl:`${s}/logout`,tokenUrl:`${s}/token`};return await browser.storage.local.set({"sso-config":l}),l}catch{return{error:!0}}}),Ra().yS.listen("get-session",async({message:e})=>{const{tokenUrl:t,code:a,publicClientId:n,redirectUri:i}=e,o=new FormData;o.append("code",a),o.append("grant_type","authorization_code"),o.append("client_id",n),o.append("redirect_uri",i);const s=new URLSearchParams(o).toString();return(await fetch(t,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:s})).json()}),Ra().yS.listen("get-session-user",async({message:e})=>{const{access_token:t}=e,{axeServerURL:a}=await browser.storage.local.get("axeServerURL"),n=await fetch(`${"default"===a?Ri:a}/api/logged-in`,{headers:{Authorization:`Bearer ${t}`}}),i=await n.json(),o=i&&i.roles&&i.roles.find(e=>ee().A.map(e=>e.name).includes(e));return o&&browser.storage.local.set({userJobRole:o}),i}),Ra().yS.listen("app:logout",async()=>{(await browser.tabs.query({})).forEach(({id:e})=>{Ra().yS.send(Ra()._O.devtools,"app:logout",null,{tabId:e})})}),Ra().yS.listen("extension:logout",async()=>{(await browser.tabs.query({})).forEach(({id:e})=>{Ra().yS.send(Ra()._O.content,"extension:logout",null,{tabId:e})})}),Ra().yS.listen("guided:cross-origin-feature",async()=>(0,H().x)("cross_origin_partial_page_scan"))),Ra().yS.listen("internals:feature-enabled",async()=>(0,H().x)("element_internals_v1")),Ra().yS.listen("analyze:scoped",async()=>{const{enableOffline:e,sentAnalyticsScoped:t,axeServerURL:a,session:n={}}=await browser.storage.local.get(["enableOffline","sentAnalyticsScoped","axeServerURL","session"]);if(t||e)return;const i="default"===a?Ri:a;try{(await fetch(`${i}/api/analytics`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${n.access_token}`},body:JSON.stringify({event_name:"axe_first_scoped_test_date"})})).ok&&browser.storage.local.set({sentAnalyticsScoped:!0})}catch{}}),Ra().yS.listen("app:plan:change",()=>{(0,ve().ZG)("app:plan:get")}),Ra().yS.listen("run-advanced-rules",async({message:{advancedRuleInput:e,screenshotId:t},tabId:a})=>{try{return await ke().A.post("/api/axe-devtools-pro/advanced-rules",{advancedRuleInput:e,screenshotId:t,timeout:6e4})}catch(e){(0,ge().A)(a,e,It().Ay`There was a problem running advanced rules. Please try again.`)}});new en.BackgroundRecorder({bridge:Ra().yS,debugger:browser.debugger,runtime:browser.runtime})})()})();
29
+ `};const n=a(i()),o=Ye(),s=e=>String(e).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&apos;")}),l=a.cw(function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,{baseScreenshotURL:t}={}){const o=(new Date).toISOString();return JSON.stringify(e.map(e=>({ruleId:e.rule,description:e.description,help:e.helpText,helpUrl:e.helpUrl,impact:e.impact,needsReview:!!e.isNeedsReview,isManual:e.isManual,selector:e.selector,summary:e.summary,source:e.source,tags:(0,i.getIssueTags)(e),igt:(0,n.getIgtName)(e.igtTool),testName:e.testName,shareURL:e.shareURL,createdAt:e.createdAt||o,testUrl:e.testUrl,testPageTitle:e.testPageTitle,foundBy:e.foundBy,axeVersion:e.axeVersion,screenshotURL:(0,a.getScreenshotUrl)(t,e.screenshotId,e.boundingBox),relatedNodes:e.relatedNodes||[]}))).replace(/\\n/g,"\\\\n")};const a=y(),n=k(),i=E()}),d=a.cw(function(e,t){t.jsonUFA=void 0;const a=y();t.jsonUFA=(e,t,n)=>{const i=(e=>{const t={};return e.forEach(e=>{const a=e.id;t[a]?t[a].count+=e.uniques.length:t[a]={count:e.uniques.length,mode:"automated"}}),Object.entries(t).map(([e,{count:t,mode:a}])=>({name:e,count:t,mode:a}))})(t.results),o=e.created_at?new Date(e.created_at).toISOString():null,s=e.updated_at?new Date(e.updated_at).toISOString():null,r=e.axe_core_version,c=!1,l=!1,d={url:t.pageStateResults.length?t.pageStateResults[0].url:"",extensionVersion:e.data_source_version||"",axeVersion:r,standard:n.standard,testingStartDate:o,testingEndDate:s,bestPracticesEnabled:c,experimentalEnabled:l,issueSummary:{critical:t.overview.numIssueSeverity.critical.totalCurrent,minor:t.overview.numIssueSeverity.minor.totalCurrent,moderate:t.overview.numIssueSeverity.moderate.totalCurrent,serious:t.overview.numIssueSeverity.serious.totalCurrent,needsReview:0,bestPractices:0},remainingTestingSummary:{run:!1},igtSummary:void 0,failedRules:i,needsReview:[],source:n.source,testDetails:{testId:e.id,testName:e.name||"",createdBy:n.createdBy||null,axeVersion:r||"",engine:n.engine,standard:n.standard,startDate:o,endDate:s,bestPracticesEnabled:c,experimentalEnabled:l,integrationTestId:n.integrationTestId||null},allIssues:t.pageStateResults.map(t=>t.result.map(t=>t.uniques.map(i=>({issueId:null,ruleId:t.id,description:t.description,help:t.help,helpUrl:t.helpUrl,impact:t.impact,needsReview:!1,isManual:!1,isAdvanced:t.tags?.includes("advanced")||!1,summary:t.description,source:i.html,selector:i.target,tags:t.tags,testName:e.name,shareURL:null,createdAt:new Date(i.created_at).toISOString(),isExperimental:!1,foundBy:e.user_email||void 0,testUrl:i.url,axeVersion:r,testPageTitle:i.page_state||void 0,integrationUrl:null,screenshotURL:(0,a.getScreenshotUrl)(n.baseScreenshotURL,i.screenshot_id,i.advanced?.visibleBoundingRect)})))).flat(3)};return JSON.stringify(d).replace(/\\n/g,"\\\\n")}}),u=a.cw(function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,o,s,r="string"){const c=(0,n.getIssueSummary)(o),l=(0,n.getIgtSummary)(e,t,o),d=(0,n.getIssueRules)(o),u=(0,n.getIssueRules)(o,!0),p=s.startDate?new Date(s.startDate).toISOString():null,h=s.endDate?new Date(s.endDate).toISOString():null,m=e.metadata.axeVersion,g=s.bestPracticesEnabled,f=s.experimentalEnabled,b={url:e.url,extensionVersion:s.extensionVersion,axeVersion:m,standard:s.standard,testingStartDate:p,testingEndDate:h,bestPracticesEnabled:g,experimentalEnabled:f,issueSummary:c,remainingTestingSummary:{run:!!e.manual_tests_completed_at},igtSummary:l,failedRules:d,needsReview:u,source:s.source,testDetails:{testId:e.id,testName:e.name||"",axeVersion:m,engine:s.engine,standard:s.standard,createdBy:s.createdBy||null,startDate:p,endDate:h,bestPracticesEnabled:g,experimentalEnabled:f,integrationTestId:s.integrationTestId||null},allIssues:o.map(t=>({...(0,a.mapAxeExtensionIssueToUniversalIssue)(t),appIdentifier:t.appIdentifier,screenTitle:t.screenTitle,foundBy:t.foundBy||s.foundBy,testUrl:t.testUrl||e.url,analyzedValues:t.analyzedValues,axeVersion:t.axeVersion||m,testPageTitle:t.testPageTitle||e.test_page_title,screenshotURL:(0,i.getScreenshotUrl)(s.baseScreenshotURL,t.screenshotId,t.boundingBox),relatedNodes:t.relatedNodes||[]}))};if("json"===r)return b;return JSON.stringify(b).replace(/\\n/g,"\\\\n")};const a=E(),n=T(),i=y()}),p=a.cw(function(e,t){var a,n=this&&this.__createBinding||(Object.create?function(e,t,a,n){void 0===n&&(n=a);var i=Object.getOwnPropertyDescriptor(t,a);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[a]}}),Object.defineProperty(e,n,i)}:function(e,t,a,n){void 0===n&&(n=a),e[n]=t[a]}),i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),s=this&&this.__importStar||(a=function(e){return a=Object.getOwnPropertyNames||function(e){var t=[];for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[t.length]=a);return t},a(e)},function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var o=a(e),s=0;s<o.length;s++)"default"!==o[s]&&n(t,e,o[s]);return i(t,e),t}),r=this&&this.__exportStar||function(e,t){for(var a in e)"default"===a||Object.prototype.hasOwnProperty.call(t,a)||n(t,e,a)},c=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.userFlowExport=t.universalExport=t.mapIssueToSavedIssue=t.mapDedupedResultsToUniversalIssue=t.mapDedupedPageStatesToUniversalIssue=t.mapAxeResultsToIssues=t.mapAxeExtensionIssueToUniversalIssue=t.manifestUtils=t.jUnitXmlExport=t.jsonUniversal=t.getIssuesWithUniversalMatches=t.getIgtName=t.getFriendlyFilename=t.filterUserFlowResults=t.filterUniversalIssues=t.filterIssuesByConfig=t.filterIssues=t.exportIssues=t.buildPageStateKey=void 0;const l=o();Object.defineProperty(t,"exportIssues",{enumerable:!0,get:function(){return l.exportIssues}}),Object.defineProperty(t,"jUnitXmlExport",{enumerable:!0,get:function(){return l.jUnitXmlExport}}),Object.defineProperty(t,"universalExport",{enumerable:!0,get:function(){return l.universalExport}}),Object.defineProperty(t,"userFlowExport",{enumerable:!0,get:function(){return l.userFlowExport}});const d=c(u());t.jsonUniversal=d.default;const p=m();Object.defineProperty(t,"buildPageStateKey",{enumerable:!0,get:function(){return p.buildPageStateKey}});const y=g();Object.defineProperty(t,"filterIssuesByConfig",{enumerable:!0,get:function(){return y.filterIssuesByConfig}});const T=c(f());t.filterUniversalIssues=T.default;const x=c(b());t.filterUserFlowResults=x.default;const I=v();Object.defineProperty(t,"getFriendlyFilename",{enumerable:!0,get:function(){return I.getFriendlyFilename}});const R=w();Object.defineProperty(t,"getIssuesWithUniversalMatches",{enumerable:!0,get:function(){return R.getIssuesWithUniversalMatches}});const D=k();Object.defineProperty(t,"getIgtName",{enumerable:!0,get:function(){return D.getIgtName}});const C=c(A());Object.defineProperty(t,"filterIssues",{enumerable:!0,get:function(){return C.default}});const N=E();Object.defineProperty(t,"mapAxeExtensionIssueToUniversalIssue",{enumerable:!0,get:function(){return N.mapAxeExtensionIssueToUniversalIssue}}),Object.defineProperty(t,"mapAxeResultsToIssues",{enumerable:!0,get:function(){return N.mapAxeResultsToIssues}}),Object.defineProperty(t,"mapDedupedPageStatesToUniversalIssue",{enumerable:!0,get:function(){return N.mapDedupedPageStatesToUniversalIssue}}),Object.defineProperty(t,"mapDedupedResultsToUniversalIssue",{enumerable:!0,get:function(){return N.mapDedupedResultsToUniversalIssue}}),Object.defineProperty(t,"mapIssueToSavedIssue",{enumerable:!0,get:function(){return N.mapIssueToSavedIssue}});const M=s(S());t.manifestUtils=M,r(h(),t)}),h=a.cw(function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.impactValues=t.igtValues=t.guidedToolsInOrder=t.configAdvancedRulesValues=t.configBestPracticesValues=t.configNeedsReviewValues=t.deprecatedIgtTools=void 0,t.deprecatedIgtTools=["page-info","buttons-and-links","lists","headings"],t.configNeedsReviewValues=["enabled","disabled","exclude"],t.configBestPracticesValues=["enabled","disabled"],t.configAdvancedRulesValues=["enabled","disabled"],t.guidedToolsInOrder=["table","keyboard","aria-modal","interactive-elements","structure","page-info","buttons-and-links","lists","images","headings","forms"],t.igtValues=[...t.guidedToolsInOrder,"all"],t.impactValues=["critical","serious","moderate","minor"]}),m=a.cw(function(e,t){t.buildPageStateKey=void 0;t.buildPageStateKey=e=>`${new Date(e.created_at).getTime()}-${e.url}`}),g=a.cw(function(e,t){t.isBestPracticeIssue=void 0,t.filterIssuesByConfig=function(e,n){const i=({tags:e=[]})=>"all"===n.configAccessibilityStandard||!!e.filter(e=>a.rulesets[n.configAccessibilityStandard].tags.includes(e)).length,o="enabled"===n.configBestPractices,s="enabled"===n.configAdvancedRules,r="disabled"===n.configNeedsReview,c=n.configAccessibilityStandard;return e.filter(e=>{const a=(0,t.isBestPracticeIssue)(e,{accessibilityStandard:c||"wcag22aaa"});return(o||!a)&&(s||!e.isAdvanced)&&(!r||!e.isNeedsReview)&&(!(c&&!a)||i(e)||!(!c||"TTv5"!==c||!e.isManual)||i(e))})};const a=i(),n=E();t.isBestPracticeIssue=(e,t={accessibilityStandard:"wcag22aaa"})=>"best-practice"===(0,a.getIssueType)((0,n.getIssueTags)(e),t)}),f=a.cw(function(e,t){var a=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){const a=[],i=[];return e.forEach(e=>{const s=(0,o.isBestPracticeIssue)({tags:e.tags,rule:e.ruleId},{accessibilityStandard:t.configAccessibilityStandard});if("disabled"===t.configBestPractices&&s)return;if("disabled"===t.configNeedsReview&&e.needsReview)return;if(t.manifestId&&e.manifestId!==t.manifestId)return;const r=e.tags?.find(e=>n.default[t.configAccessibilityStandard].tags.includes(e)),c="TTv5"===t.configAccessibilityStandard&&e.isManual;if(!s&&!r&&!c)return;if(t.pageStateKey&&e.pageStateKey!==t.pageStateKey)return;if(t.newIssues&&!e.isNewIssue)return;const l=()=>{"exclude"===t.configNeedsReview&&e.needsReview||i.push(e),a.push(e)};if(!t.automatic||e.isManual||e.isAdvanced)if(t.advanced&&!e.isManual&&e.isAdvanced){if("exclude"===t.configNeedsReview&&e.needsReview)return;l()}else t.manual&&e.isManual&&!e.igtId?l():(t.manifestId||!e.igtId||"all"!==t.igt&&e.igtId!==t.igt)&&(!t.impact.includes(e.impact)||e.needsReview)?(t.bestPractices&&s||t.needsReview&&e.needsReview)&&l():l();else l()}),{totalIssues:i,filteredIssues:a}};const n=a(i()),o=g()}),b=a.cw(function(e,t){var a=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){const a=e.pageStateResults.map(e=>({...e,result:s(e.result,t)})),n=s(e.results,t);let i=0,o=0;const r={totalCurrent:0},c={critical:{...r},serious:{...r},moderate:{...r},minor:{...r}};for(const e of n){const t=e.impact,a=e.uniques.length;o+=e.uniques.filter(e=>e.isNewIssue).length,c[t].totalCurrent+=a,i+=a}return{overview:{currUniqueIssues:i,newIssues:o,numIssueSeverity:c},pageStateResults:a,results:n}};const n=a(i()),o=g();const s=(e,t)=>{const a=[];return e.forEach(e=>{const i=(0,o.isBestPracticeIssue)({tags:e.tags,rule:e.id},{accessibilityStandard:t.configAccessibilityStandard});if("disabled"===t.configBestPractices&&i)return;const s="all"===t.configAccessibilityStandard||e.tags?.find(e=>n.default[t.configAccessibilityStandard].tags.includes(e));if(!i&&!s)return;if(t.pageStateKey&&e.pageStateId!==t.pageStateKey)return;const r=()=>{a.push(e)};(t.impact.includes(e.impact)||t.bestPractices&&i||t.automatic)&&r()}),a}}),v=a.cw(function(e,t){var a=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.getFriendlyFilename=function(e,t){let a;try{a=new URL(e).host}catch{}const o=(new Date).toISOString().substring(0,10);return`${[a,t].filter(Boolean).map(e=>(0,n.default)(e)).join("-").substring(0,i)}-${o}`};const n=a(xa()),i=64}),y=a.cw(function(e,t){t.getScreenshotUrl=void 0;t.getScreenshotUrl=(e,t,a)=>{if(!e||!t)return null;const n=new URL(`${e}/api/screenshots/${t}`);if((e=>{if("object"!=typeof e||null===e)return!1;const t=e;return["x","y","width","height"].every(e=>"number"==typeof t[e]&&Number.isFinite(t[e]))})(a)){const{x:e,y:t,width:i,height:o}=a;n.searchParams.set("boundingBox",JSON.stringify({x:e,y:t,width:i,height:o}))}return n.toString()}}),w=a.cw(function(e,t){t.getIssuesWithUniversalMatches=void 0;t.getIssuesWithUniversalMatches=(e,t)=>{const a=t.reduce((e,{issueId:t})=>(null!=t&&(e[t]=t),e),{});return e.filter(e=>!!a[e.id])}}),k=a.cw(function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.getIgtName=t.igtNameMap=void 0,t.igtNameMap={table:"Table",keyboard:"Keyboard","aria-modal":"Modal Dialog","interactive-elements":"Interactive Elements",structure:"Structure","page-info":"Page Information","buttons-and-links":"Buttons and Links",lists:"Lists",images:"Images",headings:"Headings",forms:"Forms"};t.getIgtName=e=>e?t.igtNameMap[e]:"",t.default=t.igtNameMap}),A=()=>a(9139),E=a.cw(function(e,t){var a=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.mapDedupedPageStatesToUniversalIssue=t.mapDedupedResultsToUniversalIssue=t.mapAxeExtensionIssueToUniversalIssue=void 0,t.mapAxeResultsToIssues=function(e){const t=(t,a)=>t.map(t=>t.nodes.map(n=>({rule:t.id,description:t.description,helpText:t.help,helpUrl:t.helpUrl,impact:t.impact,potentialImpact:a?.isNeedsReview?t.impact:null,selector:n.target,source:n.html,summary:n.failureSummary,tags:t.tags,isBestPractice:t.tags.includes("best-practice"),isNeedsReview:!1,isManual:!1,isAdvanced:t.tags.includes("advanced"),remediation:{any:n.any,all:n.all,none:n.none},createdAt:e.timestamp,...a}))).flat();return[...t(e.violations),...t(e.incomplete,{isNeedsReview:!0,impact:null})]},t.getIssueTags=u,t.mapIssueToSavedIssue=function(e,t={}){const a=u(e);return{rule:e.rule,description:e.description,helpText:e.help,helpUrl:e.help_url,impact:e.needs_review?null:e.impact,potentialImpact:e.needs_review?e.impact:null,selector:e.selector,source:e.source,summary:e.summary,tags:a,isBestPractice:"best-practice"===e.variant||a.includes("best-practice"),isAdvanced:a.includes("advanced"),isNeedsReview:e.needs_review,isManual:e.is_manual,id:e.id,testId:e.test_id,testName:e.test_name,testUrl:e.test_url,foundBy:e.found_by,createdAt:e.created_at,updatedAt:e.updated_at,remediation:e.remediation,igtTool:e.manifest_guide,sharedWith:e.shared_with,screenshotId:e.screenshot_id,boundingBox:e.bounding_box,manifestId:e.manifest_id,integrationUrl:e.integration_url,isIgnored:e.is_ignored,ignoreReason:e.ignore_reason,ignoreNotes:e.ignore_notes,fingerprints:e.fingerprints??[],...t}};const n=a(sn()),i=a(G()),o=m(),s=k(),r=/^wcag\d{1,2}a{1,3}$/,c=e=>e.find(e=>e.standards.find(e=>r.test(e)))?.standards||[],l={"keyboard-inaccessible":"wcag211a","alt-text-essential-image-text":"wcag111b","alt-text-missing":"wcag111b"},d=(e,t)=>e.map(e=>{return e.checkpoint&&e.standards.find(e=>r.test(e))?(t=e.checkpoint)?`wcag${t.replace(/\./g,"")}`:"":"";var t}).filter(Boolean).filter(e=>!l[t]||l[t]===e);function u({rule:e,tags:t}){if(Array.isArray(t))return t;const a=i.default.getRules().find(t=>t.ruleId===e);if(a?.tags?.length)return a.tags;const o=n.default.find(({id:t})=>t===e);return o?[...c(o.data),...d(o.data,e)]:[]}t.mapAxeExtensionIssueToUniversalIssue=e=>{const t=(new Date).toISOString(),a=u(e),n=(0,s.getIgtName)(e.igtTool);return{issueId:e.id||null,ruleId:e.rule,description:e.description,help:e.helpText,helpUrl:e.helpUrl,impact:e.impact,needsReview:e.isNeedsReview,isManual:e.isManual,isAdvanced:e.tags?.includes("advanced")||!1,selector:e.selector,summary:e.summary,source:e.source,tags:a,igt:n,testName:e.testName,shareURL:e.shareURL||null,createdAt:e.createdAt?new Date(e.createdAt).toISOString():t,isExperimental:a.includes("experimental"),foundBy:e.foundBy,manifestId:e.manifestId,integrationUrl:e.integrationUrl||null,igtId:e.igtTool,groupId:e.testId,isIgnored:e.isIgnored??!1,ignoreReason:e.ignoreReason||null,ignoreNotes:e.ignoreNotes||null,fingerprints:e.fingerprints??[],remediation:e.remediation||null}};const p=(e,t)=>{const{id:a,impact:n,tags:i,description:o,help:s,helpUrl:r,duplicates:c}=e;return{issueId:null,ruleId:a,description:o,help:s,helpUrl:r,impact:n,needsReview:!1,isExperimental:!1,isManual:!1,isAdvanced:!1,summary:t.failureSummary,shareURL:null,selector:t.target,source:t.html,tags:i,createdAt:new Date(t.created_at).toISOString(),screenshotId:t.screenshot_id||null,boundingBox:t.advanced?.visibleBoundingRect??null,testUrl:t.url,testPageTitle:t.page_state||"",duplicates:c,integrationUrl:null}};t.mapDedupedResultsToUniversalIssue=e=>e.flatMap(e=>e.uniques.map(t=>p(e,t)));t.mapDedupedPageStatesToUniversalIssue=e=>e.flatMap(e=>e.result.flatMap(t=>t.uniques.map(a=>({...p(t,a),pageStateKey:(0,o.buildPageStateKey)(e),isNewIssue:a.isNewIssue,groupId:(0,o.buildPageStateKey)(e)}))))}),S=()=>a(5670),T=a.cw(function(e,t){var a,n=this&&this.__createBinding||(Object.create?function(e,t,a,n){void 0===n&&(n=a);var i=Object.getOwnPropertyDescriptor(t,a);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[a]}}),Object.defineProperty(e,n,i)}:function(e,t,a,n){void 0===n&&(n=a),e[n]=t[a]}),i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),o=this&&this.__importStar||(a=function(e){return a=Object.getOwnPropertyNames||function(e){var t=[];for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[t.length]=a);return t},a(e)},function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var o=a(e),s=0;s<o.length;s++)"default"!==o[s]&&n(t,e,o[s]);return i(t,e),t});Object.defineProperty(t,"__esModule",{value:!0}),t.getIssueSummary=t.getIssueRules=t.getIgtSummary=void 0;const s=h(),r=o(k());t.getIgtSummary=(e,a,n)=>{if(!a||!Object.keys(a).length)return[];return Object.keys(r.default).filter(e=>!s.deprecatedIgtTools.includes(e)).flatMap(i=>{const o=a[i],s={tool:(0,r.getIgtName)(i),skipped:!!e.skipped_guides?.includes(i)};return o?.length?o.map(e=>{const a={...s,name:e.name||null,run:!!e.body?.metadata?.complete};if(a.run){const i=n.filter(t=>t.manifestId===e.id);a.issues=(0,t.getIssueSummary)(i,!0),a.duration=e.body?.metadata?.duration}return a}):{...s,name:null,run:!1}})};t.getIssueRules=(e,t=!1)=>{const a={};e.forEach(e=>{if(t&&!e.isNeedsReview)return;const n=e.rule;a[n]?a[n].count++:(a[n]={},a[n].count=1,a[n].mode=e.isManual?"manual":"automated")});const n=[];for(const e in a)n.push({name:e,count:a[e].count,mode:a[e].mode});return n};t.getIssueSummary=(e,t=!1)=>{const a={};return a.critical=e.filter(e=>"critical"===e.impact).length||0,a.serious=e.filter(e=>"serious"===e.impact).length||0,a.moderate=e.filter(e=>"moderate"===e.impact).length||0,a.minor=e.filter(e=>"minor"===e.impact).length||0,t||(a.bestPractices=e.filter(e=>e.isBestPractice).length||0,a.needsReview=e.filter(e=>e.isNeedsReview).length||0),a}}),x=a.cw(function(e,t){var n,i=this&&this.__createBinding||(Object.create?function(e,t,a,n){void 0===n&&(n=a);var i=Object.getOwnPropertyDescriptor(t,a);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[a]}}),Object.defineProperty(e,n,i)}:function(e,t,a,n){void 0===n&&(n=a),e[n]=t[a]}),o=this&&this.__exportStar||function(e,t){for(var a in e)"default"===a||Object.prototype.hasOwnProperty.call(t,a)||i(t,e,a)};Object.defineProperty(t,"__esModule",{value:!0}),t.MetricActionNames=t.MetricPeriodId=t.listEnterpriseProductAccess=t.listUserProductAccess=t.getPrioritySubscription=t.getControllingProductSubscription=t.isPriceTaxable=t.getPriceFromSubscription=t.getTrialEligibility=t.canUserStartTrial=t.getProductSubscription=t.getAllUserSubscriptions=t.listProductAccess=t.PRODUCT_BUNDLES=t.ProductSlugs=void 0,o(a(2891),t),function(e){e.advancedRules="advanced-rules",e.axeDevToolsHTML="axe-devtools-html",e.axeDevToolsMobile="axe-devtools-mobile",e.axeDevToolsExtension="axe-devtools-pro",e.axeDevToolsWatcher="axe-devtools-watcher",e.axeLinter="axe-devtools-linter",e.axeReports="axe-reports",e.axeMonitor="axe-monitor",e.axeAuditor="axe-auditor",e.dequeUniversity="deque-university",e.axeSpider="axe-spider",e.jiraIntegration="jira-integration",e.jiraOnPremIntegration="jira-on-prem-integration",e.jiraDirectCloudIntegration="jira-direct-cloud-integration",e.axeAuditorIntegration="axe-auditor-integration",e.customIntegration="custom-integration",e.axeAssistantSlack="axe-assistant-slack",e.axeAssistantTeams="axe-assistant-teams",e.scimService="scim-service",e.axeMCPServer="axe-mcp-server"}(n||(t.ProductSlugs=n={}));const s="none",r={[n.advancedRules]:s,[n.axeDevToolsHTML]:s,[n.axeDevToolsMobile]:s,[n.axeDevToolsExtension]:s,[n.axeDevToolsWatcher]:s,[n.axeLinter]:s,[n.axeReports]:s,[n.axeMonitor]:s,[n.axeAuditor]:s,[n.dequeUniversity]:s,[n.axeSpider]:s,[n.jiraIntegration]:s,[n.jiraOnPremIntegration]:s,[n.jiraDirectCloudIntegration]:s,[n.axeAuditorIntegration]:s,[n.customIntegration]:s,[n.axeAssistantSlack]:s,[n.axeAssistantTeams]:s,[n.scimService]:s,[n.axeMCPServer]:s},c={none:1,free:2,free_payment_failed:3,trial_ended:4,trial_payment_failed:5,paid_payment_failed:6,trialing:7,paid:8};t.PRODUCT_BUNDLES={[n.axeDevToolsExtension]:[n.axeDevToolsHTML],[n.axeMCPServer]:[n.axeDevToolsHTML]};t.listProductAccess=e=>{if(!Array.isArray(e))throw new TypeError("`subscriptions` must be an array");const a={...r};for(const t of e){const e=t.purchase_state,n=t.product_slug,i=a[n];i?c[e]>c[i]&&(a[n]=e):a[n]=e}for(const[e,n]of Object.entries(t.PRODUCT_BUNDLES)){const t=e;for(const e of n){const n=a[e];n!==s&&(a[t]=l([a[t],n]))}}return a};const l=e=>e.filter(e=>Boolean(e)).reduce((e,t)=>c[t]>c[e]?t:e,s);t.getAllUserSubscriptions=(e,t="all")=>"all"===t?[...e.subscriptions,...e.enterprises.flatMap(e=>e.subscriptions)]:[...e.subscriptions,...e.enterprises[0]?.subscriptions||[]],t.getProductSubscription=function(e,a){return(0,t.getPrioritySubscription)(e,void 0,a)};t.canUserStartTrial=({user:e,productSlug:a,enterprise:n,isEnterpriseAdmin:i=!1})=>{if(n){return"none"===(0,t.listProductAccess)(n.subscriptions)[a]&&i}return"none"===(0,t.listProductAccess)(e.subscriptions)[a]};t.getTrialEligibility=({user:e,product:a,enterprise:n,isEnterpriseAdmin:i=!1})=>{if(n&&!i)return{canStartTrial:!1,isRestart:!1};const o=a.slug;let s;if(s=n?(0,t.getControllingProductSubscription)({entity:n,productSlug:o}):(0,t.getControllingProductSubscription)({entity:e,productSlug:o}),null===s)return{canStartTrial:!0,isRestart:!1};if(s.stripe_id)return{canStartTrial:!1,isRestart:!1};const r=s.purchase_state;if("paid"!==r&&!s.trial_expires)return{canStartTrial:!0,isRestart:!1};if("trialing"!==r&&"paid"!==r&&null!==s.trial_expires&&null!==a.reactivate_trial_cutoff){const e=new Date(s.trial_expires)<new Date(a.reactivate_trial_cutoff);return{canStartTrial:e,isRestart:e}}return{canStartTrial:!1,isRestart:!1}};t.getPriceFromSubscription=e=>e.items.data[0].price;t.isPriceTaxable=e=>!(!e.metadata.taxable||"true"!==e.metadata.taxable);t.getControllingProductSubscription=({entity:e,productSlug:a,favoredProduct:n,includeEnterprises:i="all"})=>{const o=e=>e.length?(0,t.getPrioritySubscription)(e,n,a):null;if("keycloak_id"in e){const t=e.enterprises.length>0;let a=[];return t&&(a="all"===i?e.enterprises.flatMap(e=>e.subscriptions):"active-only"===i?e.enterprises[0].subscriptions:e.enterprises.find(e=>e.id===i)?.subscriptions||[]),o(t?a:e.subscriptions)}return o(e.subscriptions)};t.getPrioritySubscription=(e,a,i=n.axeDevToolsExtension)=>{const o=t.PRODUCT_BUNDLES[i];return e.filter(e=>e.product_slug===i||o?.includes(e.product_slug)).sort((e,t)=>{const n=c[e.purchase_state],o=c[t.purchase_state];return n!==o?o-n:e.product_slug===(a??i)?-1:t.product_slug===(a??i)?1:0})[0]??null};const d=(e,a="all")=>{const i=structuredClone(r);for(const o of Object.values(n)){const n=(0,t.getControllingProductSubscription)({entity:e,productSlug:o,includeEnterprises:a});n&&(i[o]=n.purchase_state)}return i};t.listUserProductAccess=(e,t="all")=>d(e,t);var u,p;t.listEnterpriseProductAccess=e=>d(e),function(e){e.calendarMonthly="calendar-monthly",e.calendarAnnual="calendar-annual",e.billingMonthly="billing-monthly"}(u||(t.MetricPeriodId=u={})),function(e){e.sendIssue="send issue"}(p||(t.MetricActionNames=p={}))}),I=a.cw(function(e,t){var n,i=this&&this.__awaiter||function(e,t,a,n){return new(a||(a=Promise))(function(i,o){function s(e){try{c(n.next(e))}catch(e){o(e)}}function r(e){try{c(n.throw(e))}catch(e){o(e)}}function c(e){var t;e.done?i(e.value):(t=e.value,t instanceof a?t:new a(function(e){e(t)})).then(s,r)}c((n=n.apply(e,t||[])).next())})},o=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.setDistinctIdCookie=t.getDistinctIdCookie=void 0;const s=o(Tt()),r=o(a(6103)),c=o(R()),l="https://axe.deque.com",d=null===(n=globalThis.location)||void 0===n?void 0:n.origin,u="distinct_id",p=new r.default;t.getDistinctIdCookie=(...e)=>i(void 0,[...e],void 0,function*(e={}){const a=!!e.token,{key:n=u,host:i=l,origin:o=d}=e,r=(yield p.get(n))||{},h=r.distinct_id,m=r.keycloak_id,g=(yield(0,c.default)({method:"GET",host:i,origin:o,token:e.token}))||{},f=g.distinct_id,b=g.keycloak_id;if(h&&h===f&&m&&m===b&&(0,s.default)(g.data,r.data))return r;const v={distinct_id:""};return f||h?f?b?h&&f!==h&&b!==m?(yield p.set(n,g),g):(v.distinct_id=f,v.keycloak_id=b,v.data=Object.assign(Object.assign({},r.data),g.data),(0,s.default)(v.data,g.data)?(yield p.set(n,v),v):(0,t.setDistinctIdCookie)(v,e)):a?(v.distinct_id=f,v.data=h!==f?g.data:Object.assign(Object.assign({},r.data),g.data),(0,t.setDistinctIdCookie)(v,e)):h?h!==f?(yield p.set(n,g),g):m?(v.keycloak_id=m,v.distinct_id=h,v.data=Object.assign(Object.assign({},r.data),g.data),(0,t.setDistinctIdCookie)(v,e)):(v.distinct_id=f,v.data=Object.assign(Object.assign({},r.data),g.data),(0,s.default)(v.data,g.data)?(yield p.set(n,v),v):(0,t.setDistinctIdCookie)(v,e)):(v.distinct_id=f,v.data=Object.assign(Object.assign({},r.data),g.data),(0,s.default)(v.data,g.data)?(yield p.set(n,v),v):(0,t.setDistinctIdCookie)(v,e)):(b&&b!==m?(v.distinct_id=crypto.randomUUID(),v.keycloak_id=b,v.data=g.data):(v.distinct_id=h,v.keycloak_id=m,v.data=Object.assign(Object.assign({},r.data),g.data)),(0,t.setDistinctIdCookie)(v,e)):(v.distinct_id=crypto.randomUUID(),v.keycloak_id=b||m,v.data=b!==m&&m?g.data:Object.assign(Object.assign({},r.data),g.data),(0,t.setDistinctIdCookie)(v,e))});t.default=(...e)=>i(void 0,[...e],void 0,function*(e={}){return(yield(0,t.getDistinctIdCookie)(e)).distinct_id});t.setDistinctIdCookie=(e,...t)=>i(void 0,[e,...t],void 0,function*(e,{key:t=u,host:a=l,origin:n=d,token:i}={}){return yield p.set(t,e),yield(0,c.default)({method:"POST",host:a,origin:n,token:i,payload:e}),e})}),R=()=>a(7867),D=a.cw(function(e,t){var a=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.asyncIterableToArray=void 0,t.arrayToAsyncIterable=i,t.mapAsyncIterable=async function*(e,t){for await(const a of e)yield t(a)},t.sortAsyncIterable=async function(e,a){const n=await(0,t.asyncIterableToArray)(e);return n.sort(a),i(n)},t.parallelMapAsyncIterable=async function*(e,t,{queueLimit:a}){(0,n.default)(a>0,"queueLimit must be greater than 0");const i=[];for await(const n of e)if(i.push(t(n)),i.length>=a){const e=i.shift();yield await e}for(;i.length>0;){const e=i.shift();yield await e}},t.parallelFlatMapAsyncIterable=async function*(e,t,{queueLimit:a}){(0,n.default)(a>0,"queueLimit must be greater than 0");const i=[];for await(const n of e)if(i.push(t(n)),i.length>=a){const e=i.shift(),t=await e;for(const e of t)yield e}for(;i.length>0;){const e=i.shift(),t=await e;for(const e of t)yield e}},t.batchAsyncIterable=async function*(e,t){(0,n.default)(t>0,"batchSize must be greater than 0");const a=[];for await(const n of e)a.push(n),a.length>=t&&(yield[...a],a.length=0);a.length&&(yield[...a])};const n=a($());async function*i(e){for(const t of e)yield t}t.asyncIterableToArray=async e=>{const t=[];for await(const a of e)t.push(a);return t}}),C=a.cw(function(e,t){var n=this&&this.__createBinding||(Object.create?function(e,t,a,n){void 0===n&&(n=a);var i=Object.getOwnPropertyDescriptor(t,a);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[a]}}),Object.defineProperty(e,n,i)}:function(e,t,a,n){void 0===n&&(n=a),e[n]=t[a]}),i=this&&this.__exportStar||function(e,t){for(var a in e)"default"===a||Object.prototype.hasOwnProperty.call(t,a)||n(t,e,a)},o=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.decodeURI=t.encodeURI=t.hashSettings=t.a11yThresholdResults=void 0;const s=o(a(3394));t.a11yThresholdResults=s.default;const r=o(a(9464));t.hashSettings=r.default;const c=M();Object.defineProperty(t,"encodeURI",{enumerable:!0,get:function(){return c.encodeURI}}),Object.defineProperty(t,"decodeURI",{enumerable:!0,get:function(){return c.decodeURI}}),i(a(7169),t),i(D(),t),i(a(6264),t),i(N(),t),i(a(4447),t)}),N=a.cw(function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.getProductSlugsForProjectType=t.PROJECT_TYPE_TO_PRODUCT_SLUGS=t.isValidProjectType=t.ALL_PROJECT_TYPES=t.MOBILE_PROJECT_TYPES=t.WEB_PROJECT_TYPES=t.ProjectType=void 0;const a=x();var n;!function(e){e.Watcher="axe-devtools-watcher",e.Html="axe-devtools-html",e.Mobile="axe-devtools-mobile",e.MobileAnalyzer="axe-devtools-mobile-analyzer"}(n||(t.ProjectType=n={})),t.WEB_PROJECT_TYPES=[n.Watcher,n.Html],t.MOBILE_PROJECT_TYPES=[n.Mobile,n.MobileAnalyzer],t.ALL_PROJECT_TYPES=[...t.WEB_PROJECT_TYPES,...t.MOBILE_PROJECT_TYPES];t.isValidProjectType=e=>t.ALL_PROJECT_TYPES.includes(e.trim()),t.PROJECT_TYPE_TO_PRODUCT_SLUGS={[n.Watcher]:[a.ProductSlugs.axeDevToolsWatcher,a.ProductSlugs.axeDevToolsHTML],[n.Html]:[a.ProductSlugs.axeDevToolsWatcher,a.ProductSlugs.axeDevToolsHTML],[n.Mobile]:[a.ProductSlugs.axeDevToolsMobile],[n.MobileAnalyzer]:[a.ProductSlugs.axeDevToolsMobile]};t.getProductSlugsForProjectType=e=>{if(!e)return null;const a=e.trim();return(0,t.isValidProjectType)(a)?t.PROJECT_TYPE_TO_PRODUCT_SLUGS[a]:null}}),M=a.cw(function(e,t){var a=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.decodeURI=t.encodeURI=void 0;const n=a($e()),i=n.default.createInstance();t.encodeURI=e=>e.includes("%")?"b:"+i.encodeStr(e):encodeURIComponent(e);t.decodeURI=e=>{if(e.startsWith("b:")){const t=e.slice(2);return i.decodeStr(t)}return decodeURIComponent(e)}}),P=a.cw(function(e,t){const a=[{key:"devInstance",suffix:"DEV_INSTANCE",override:!0},{key:"loggedIn",suffix:"LOGGED_IN",override:!1}],n=[{key:"keycloakId",suffix:"KEYCLOAK_ID",override:!1},{key:"userId",suffix:"USER_ID",override:!1},{key:"organization",suffix:"ORGANIZATION",override:!0},{key:"department",suffix:"DEPARTMENT",override:!0},{key:"application",suffix:"APPLICATION",override:!1},{key:"sessionId",suffix:"SESSION_ID",override:!1},{key:"userStatus",suffix:"USER_STATUS",override:!1},{key:"userJobRole",suffix:"USER_JOB_ROLE",override:!1}],i=["userJobRole","applicationProperties","distinctId","keycloakId","loggedIn","userStatus"];function o(e){return{NODE_ENV:"production",EDGE:"false",FIREFOX:"false",IS_AXE_PRO:"true",MANIFEST_VERSION:3,E2E:!1,HOT_RELOAD:"false",HOT_RELOAD_PORT:"8098",DOCS_SITE_URL:"https://docs.deque.com/devtools-for-web",ISSUES_URL:"https://docs.deque.com/issue-help/1.0.0/en",AXE_CONFIG_URL:"https://docs.deque.com/devtools-server/4.0.0/en/axe-configuration",MANUAL_ISSUE_URL:"https://docs.deque.com/devtools-for-web/4/en/devtools-manual-issue",WHATS_LEFT_TO_TEST_URL:"https://docs.deque.com/devtools-for-web/4/en/devtools-whatslefttotest",USER_FLOW_URL:"https://docs.deque.com/devtools-for-web/4/en/user-flow-analysis",AXE_PRO_TRIAL_PATH:"/axe-devtools-pro/trial",ENV:"local",AXE_PRO_URL:"http://localhost:1234",USAGE_SERVICE_URL:"https://usage.dequelabs.com",AMPLITUDE_API_KEY:"5faf82a87f563be7741eca93a9cdef37",DOCS_SITE_HOST:"https://docs.dequelabs.com",DATADOG_CLIENT_TOKEN:""}[e]||null}async function s(e,t,a){if(!function(e){if("object"!=typeof e||null===e)return!1;const t=e;if("ECONNREFUSED"===t.code)return!0;const{cause:a}=t;return"object"==typeof a&&null!==a&&"ECONNREFUSED"===a.code}(a))return;const n=new URL(e);if("https:"===n.protocol){n.protocol="http:";try{const e=await r(n.href,t);await(e.body?.cancel())}catch{}}}async function r(e,t){return fetch(e,{method:"POST",credentials:"omit",headers:{"Content-Type":"application/json",Accept:"application/json, text/plain, */*"},body:JSON.stringify(t),signal:AbortSignal.timeout(1e4)})}t.Ay=class{productName;productComponent;productComponentVersion;myUrl;myTrackUsage;myDistinctId;enableTrackingFromEnv;urlFromEnv;didFromEnv;constructor(e,t,a){this.productName=e,this.productComponent=t,this.productComponentVersion=a;const n=o("AXE_TRACK_USAGE");this.myTrackUsage="true"===n,this.enableTrackingFromEnv=null!==n;const i=o("AXE_METRICS_URL");this.myUrl=i||"https://usage.deque.com",this.urlFromEnv=null!==i,o("AXE_DISTINCT_ID"),this.didFromEnv=!1}distinctId(e){return e&&(this.myDistinctId=e),this.myDistinctId}enableTracking(e){return void 0!==e&&(this.myTrackUsage=e),this.myTrackUsage}url(e){return void 0!==e&&(this.myUrl=e),this.myUrl}prepareEventData(e){if(!this.myTrackUsage)return null;let t="v1";for(const a of i)if(Object.prototype.hasOwnProperty.call(e,a)){t="v2";break}const s={dateTime:new Date,productComponent:this.productComponent,productName:this.productName,version:t};return"v2"===t&&(s.productComponentVersion=this.productComponentVersion,function(e){for(const{key:t,suffix:n,override:i}of a){if(t in e&&!i)continue;const a=o(`AXE_${n}`);null!==a&&(e[t]="true"===a)}for(const{key:t,suffix:a,override:i}of n){if(t in e&&!i)continue;const n=o(`AXE_${a}`);null!==n&&(e[t]=n)}}(e)),{...s,...e}}postEvent(e){const t=this.prepareEventData(e);if(!t)return;const a=`${this.myUrl}/${t.version}/event`;r(a,t).then(e=>e.body?.cancel()).catch(e=>{s(a,t,e)})}async postEventAsync(e){const t=this.prepareEventData(e);if(!t)return;const a=`${this.myUrl}/${t.version}/event`;try{const e=await r(a,t);await(e.body?.cancel())}catch(e){await s(a,t,e)}}}}),O=a.cw(function(i,o){function s(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),a.push.apply(a,n)}return a}function r(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?s(Object(a),!0).forEach(function(t){p(e,t,a[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):s(Object(a)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))})}return e}function c(e){return c="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},c(e)}function l(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function d(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,b(n.key),n)}}function u(e,t,a){return t&&d(e.prototype,t),a&&d(e,a),Object.defineProperty(e,"prototype",{writable:!1}),e}function p(e,t,a){return(t=b(t))in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function h(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=a){var n,i,o,s,r=[],c=!0,l=!1;try{if(o=(a=a.call(e)).next,0===t){if(Object(a)!==a)return;c=!1}else for(;!(c=(n=o.call(a)).done)&&(r.push(n.value),r.length!==t);c=!0);}catch(e){l=!0,i=e}finally{try{if(!c&&null!=a.return&&(s=a.return(),Object(s)!==s))return}finally{if(l)throw i}}return r}}(e,t)||g(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function m(e){return function(e){if(Array.isArray(e))return f(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||g(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function g(e,t){if(e){if("string"==typeof e)return f(e,t);var a=Object.prototype.toString.call(e).slice(8,-1);return"Object"===a&&e.constructor&&(a=e.constructor.name),"Map"===a||"Set"===a?Array.from(e):"Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?f(e,t):void 0}}function f(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,n=new Array(t);a<t;a++)n[a]=e[a];return n}function b(e){var t=function(e,t){if("object"!=typeof e||null===e)return e;var a=e[Symbol.toPrimitive];if(void 0!==a){var n=a.call(e,t||"default");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:String(t)}a.r(o),a.d(o,{default:()=>zt}),_e(),za(),t(),e();var v="$default_instance",y=2,w=4096,k=1e3,A="$identify",E="$groupidentify",S="api.amplitude.com",T="api.eu.amplitude.com",x="regionconfig.amplitude.com",I="regionconfig.eu.amplitude.com",R=0,D=1,C=2,N=3,M=4,P=5,O=6,$=7,_="amp_cookie_test",z="amp",F="",G="cookies",q="none",L="localStorage",j="sessionStorage",U="revenue_amount",B="$productId",V="$quantity",W="$price",H="$revenueType",K="amp_device_id",Y="amp_referrer",J="referrer",Z="referring_domain",X="utm_source",Q="utm_medium",ee="utm_campaign",te="utm_term",ae="utm_content",ne="[Amplitude] Attribution Captured",ie="http",oe="beacon",se=function(e){for(var t="",a=0;a<e.length;a++){var n=e.charCodeAt(a);n<128?t+=String.fromCharCode(n):n>127&&n<2048?(t+=String.fromCharCode(n>>6|192),t+=String.fromCharCode(63&n|128)):(t+=String.fromCharCode(n>>12|224),t+=String.fromCharCode(n>>6&63|128),t+=String.fromCharCode(63&n|128))}return t},re=function(e){for(var t="",a=0,n=0,i=0,o=0;a<e.length;)(n=e.charCodeAt(a))<128?(t+=String.fromCharCode(n),a++):n>191&&n<224?(i=e.charCodeAt(a+1),t+=String.fromCharCode((31&n)<<6|63&i),a+=2):(i=e.charCodeAt(a+1),o=e.charCodeAt(a+2),t+=String.fromCharCode((15&n)<<12|(63&i)<<6|63&o),a+=3);return t},ce="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof self?self:"undefined"!=typeof globalThis?globalThis:void 0,le={_keyStr:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",encode:function(e){try{if(ce.btoa&&ce.atob)return ce.btoa(unescape(encodeURIComponent(e)))}catch(e){}return le._encode(e)},_encode:function(e){var t,a,n,i,o,s,r,c="",l=0;for(e=se(e);l<e.length;)i=(t=e.charCodeAt(l++))>>2,o=(3&t)<<4|(a=e.charCodeAt(l++))>>4,s=(15&a)<<2|(n=e.charCodeAt(l++))>>6,r=63&n,isNaN(a)?s=r=64:isNaN(n)&&(r=64),c=c+le._keyStr.charAt(i)+le._keyStr.charAt(o)+le._keyStr.charAt(s)+le._keyStr.charAt(r);return c},decode:function(e){try{if(ce.btoa&&ce.atob)return decodeURIComponent(escape(ce.atob(e)))}catch(e){}return le._decode(e)},_decode:function(e){var t,a,n,i,o,s,r="",c=0;for(e=e.replace(/[^A-Za-z0-9+/=]/g,"");c<e.length;)t=le._keyStr.indexOf(e.charAt(c++))<<2|(i=le._keyStr.indexOf(e.charAt(c++)))>>4,a=(15&i)<<4|(o=le._keyStr.indexOf(e.charAt(c++)))>>2,n=(3&o)<<6|(s=le._keyStr.indexOf(e.charAt(c++))),r+=String.fromCharCode(t),64!==o&&(r+=String.fromCharCode(a)),64!==s&&(r+=String.fromCharCode(n));return r=re(r)}},de=Object.prototype.toString;function ue(e){switch(de.call(e)){case"[object Date]":return"date";case"[object RegExp]":return"regexp";case"[object Arguments]":return"arguments";case"[object Array]":return"array";case"[object Error]":return"error"}return null===e?"null":void 0===e?"undefined":e!=e?"nan":e&&1===e.nodeType?"element":"undefined"!=typeof Buffer&&"function"==typeof Buffer.isBuffer&&Buffer.isBuffer(e)?"buffer":c(e=e.valueOf?e.valueOf():Object.prototype.valueOf.apply(e))}var pe,he={DISABLE:0,ERROR:1,WARN:2,INFO:3},me=he.WARN,ge={error:function(e){me>=he.ERROR&&fe(e)},warn:function(e){me>=he.WARN&&fe(e)},info:function(e){me>=he.INFO&&fe(e)}},fe=function(e){try{console.log("[Amplitude] "+e)}catch(e){}},be=function(e){return"string"===ue(e)&&e.length>w?e.substring(0,w):e},ve=function(e,t,a){return ue(e)===a||(ge.error("Invalid "+t+" input type. Expected "+a+" but received "+ue(e)),!1)},ye=function(e){var t=ue(e);if("object"!==t)return ge.error("Error: invalid properties format. Expecting Javascript object, received "+t+", ignoring"),{};if(Object.keys(e).length>k)return ge.error("Error: too many properties (more than 1000), ignoring"),{};var a={};for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){var i=n,o=ue(i);"string"!==o&&(i=String(i),ge.warn("WARNING: Non-string property key, received type "+o+', coercing to string "'+i+'"'));var s=ke(i,e[n]);null!==s&&(a[i]=s)}return a},we=["nan","function","arguments","regexp","element"],ke=function e(t,a){var n=ue(a);if(-1!==we.indexOf(n))ge.warn('WARNING: Property key "'+t+'" with invalid value type '+n+", ignoring"),a=null;else if("undefined"===n)a=null;else if("error"===n)a=String(a),ge.warn('WARNING: Property key "'+t+'" with value type error, coercing to '+a);else if("array"===n){for(var i=[],o=0;o<a.length;o++){var s=a[o],r=ue(s);"array"!==r?"object"===r?i.push(ye(s)):i.push(e(t,s)):ge.warn("WARNING: Cannot have "+r+" nested in an array property value, skipping")}a=i}else"object"===n&&(a=ye(a));return a},Ae=function(e,t){var a=ue(t);if("string"===a)return t;if("date"===a||"number"===a||"boolean"===a)return t=String(t),ge.warn("WARNING: Non-string groupName, received type "+a+', coercing to string "'+t+'"'),t;if("array"===a){for(var n=[],i=0;i<t.length;i++){var o=t[i],s=ue(o);"array"!==s&&"object"!==s?"string"===s?n.push(o):"date"!==s&&"number"!==s&&"boolean"!==s||(o=String(o),ge.warn("WARNING: Non-string groupName, received type "+s+', coercing to string "'+o+'"'),n.push(o)):ge.warn("WARNING: Skipping nested "+s+" in array groupName")}return n}ge.warn("WARNING: Non-string groupName, received type "+a+". Please use strings or array of strings for groupName")},Ee=function(e){Object.prototype.hasOwnProperty.call(he,e)&&(me=he[e])},Se=ge,Te=function(e){return!e||0===e.length},xe=function(){return"undefined"!=typeof WorkerGlobalScope},Ie=function(e,t){e=e.replace(/[[]/,"\\[").replace(/[\]]/,"\\]");var a=new RegExp("[\\?&]"+e+"=([^&#]*)").exec(t);return null===a?void 0:decodeURIComponent(a[1].replace(/\+/g," "))},Re=function e(t){if("array"===ue(t))for(var a=0;a<t.length;a++)t[a]=e(t[a]);else if("object"===ue(t))for(var n in t)n in t&&(t[n]=e(t[n]));else t=be(t);return t},De=function(e){var t=ue(e);if("object"!==t)return ge.error("Error: invalid groups format. Expecting Javascript object, received "+t+", ignoring"),{};var a={};for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){var i=n,o=ue(i);"string"!==o&&(i=String(i),ge.warn("WARNING: Non-string groupType, received type "+o+', coercing to string "'+i+'"'));var s=Ae(i,e[n]);null!==s&&(a[i]=s)}return a},Ce=ve,Ne=ye,Me=function(e){return!!ve(e,"deviceId","string")&&(!(e.indexOf(".")>=0)||(ge.error("Device IDs may not contain '.' characters. Value will be ignored: \"".concat(e,'"')),!1))},Pe=function(e){return!!ve(e,"transport","string")&&(e!==ie&&e!==oe?(ge.error("transport value must be one of '".concat(oe,"' or '").concat(ie,"'")),!1):!(e!==ie&&"undefined"!=typeof navigator&&!navigator.sendBeacon)||(ge.error("browser does not support sendBeacon, so transport must be HTTP"),!1))},Oe=function(e){return!!(ve(e,"sessionId","number")&&new Date(e).getTime()>0)||(ge.error("sessionId value must in milliseconds since epoch (Unix Timestamp)"),!1)},$e=function(){return ce.location},ze=function(e){var t=ce.location?ce.location.hostname:"";if(e){if("undefined"!=typeof document){var a=document.createElement("a");return a.href=e,a.hostname||t}if("function"==typeof URL)return new URL(e).hostname||t}return t},Fe=function(e){try{for(var t=document.cookie.split(";"),a=null,n=0;n<t.length;n++){for(var i=t[n];" "===i.charAt(0);)i=i.substring(1,i.length);if(0===i.indexOf(e)){a=i.substring(e.length,i.length);break}}return a}catch(e){return null}},Ge=function(e,t,a){var n=null!==t?a.expirationDays:-1;if(n){var i=new Date;i.setTime(i.getTime()+24*n*60*60*1e3),n=i}var o=e+"="+t;n&&(o+="; expires="+n.toUTCString()),o+="; path=/",a.domain&&(o+="; domain="+a.domain),a.secure&&(o+="; Secure"),a.sameSite&&(o+="; SameSite="+a.sameSite),document.cookie=o},qe=function(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",a=t.split(".")[M];return a&&(e=parseInt(a,32)),e||(Se.warn("unable to parse malformed cookie: ".concat(t)),0)},Le=Ge,je=Fe,Ue=function(e){try{var t,a=document.cookie.split(";").map(function(e){return e.trimStart()}),n=[],i=function(e,t){var a="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!a){if(Array.isArray(e)||(a=g(e))||t&&e&&"number"==typeof e.length){a&&(e=a);var n=0,i=function(){};return{s:i,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,s=!0,r=!1;return{s:function(){a=a.call(e)},n:function(){var e=a.next();return s=e.done,e},e:function(e){r=!0,o=e},f:function(){try{s||null==a.return||a.return()}finally{if(r)throw o}}}}(a);try{for(i.s();!(t=i.n()).done;){for(var o=t.value;" "===o.charAt(0);)o=o.substring(1);0===o.indexOf(e)&&n.push(o.substring(e.length))}}catch(e){i.e(e)}finally{i.f()}return n}catch(e){return[]}},Be=function(e){return m(e).sort(function(e,t){var a=qe(e);return qe(t)-a})},Ve=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=_;if("undefined"==typeof document)return!1;var a=!1;try{var n=String(Date.now());Ge(t,n,e),Se.info("Testing if cookies available"),a=Fe(t+"=")===n}catch(e){Se.warn('Error thrown when checking for cookies. Reason: "'.concat(e,'"'))}finally{Se.info("Cleaning up cookies availability test"),Ge(t,null,e)}return a},We=function(){for(var e=crypto.getRandomValues(new Uint8Array(22)),t="",a=0;a<22;++a)t+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_".charAt(e[a]%64);return t},He=function(e){var t=ze(e).split("."),a=[],n="_tldtest_"+We();if(xe())return"";for(var i=t.length-2;i>=0;--i)a.push(t.slice(i).join("."));for(var o=0;o<a.length;++o){var s=a[o],r={domain:"."+s};if(Le(n,1,r),je(n))return Le(n,null,r),s}return""},Ke={expirationDays:void 0,domain:void 0},Ye=function(e){var t="";return Ke.domain&&(t="."===Ke.domain.charAt(0)?Ke.domain.substring(1):Ke.domain),e+t},Je=function(e){var t=Ye(e)+"=",a=je(t);try{if(a)return JSON.parse(le.decode(a))}catch(e){return null}return null},Ze=function(e,t){try{return Le(Ye(e),le.encode(JSON.stringify(t)),Ke),!0}catch(e){return!1}},Xe=function(e){try{return Le(Ye(e),null,Ke),!0}catch(e){return!1}},Qe={reset:function(){Ke={expirationDays:void 0,domain:void 0}},options:function(e){if(0===arguments.length)return Ke;e=e||{},Ke.expirationDays=e.expirationDays,Ke.secure=e.secure,Ke.sameSite=e.sameSite;var t=Te(e.domain)?"."+He($e().href):e.domain,a=Math.random();Ke.domain=t,Ze("amplitude_test",a);var n=Je("amplitude_test");return n&&n===a||(t=null),Xe("amplitude_test"),Ke.domain=t,Ke},get:Je,set:Ze,remove:Xe,setRaw:function(e,t){try{return Le(Ye(e),t,Ke),!0}catch(e){return!1}},getRaw:function(e){var t=Ye(e)+"=";return je(t)}},et=function(){function e(){l(this,e),this.map=new Map,this.length=0}return u(e,[{key:"key",value:function(e){var t=Array.from(this.map.keys())[e];return this.map.get(t)}},{key:"getItem",value:function(e){return this.map.get(e)}},{key:"setItem",value:function(e,t){this.map.has(e)||(this.length+=1),this.map.set(e,t)}},{key:"removeItem",value:function(e){this.map.has(e)&&(this.length-=1,this.map.delete(e))}},{key:"clear",value:function(){this.map.clear(),this.length=0}}]),e}();if(function(){var e,t=new Date;try{return ce.localStorage.setItem(t,t),e=ce.localStorage.getItem(t)===String(t),ce.localStorage.removeItem(t),e}catch(e){}return!1}())pe=ce.localStorage;else if(void 0!==ce&&ce.globalStorage)try{pe=ce.globalStorage[ce.location.hostname]}catch(e){}else if("undefined"!=typeof document){var tt=document.createElement("div"),at="localStorage";tt.style.display="none",document.getElementsByTagName("head")[0].appendChild(tt),tt.addBehavior&&(tt.addBehavior("#default#userdata"),pe={length:0,setItem:function(e,t){tt.load(at),tt.getAttribute(e)||this.length++,tt.setAttribute(e,t),tt.save(at)},getItem:function(e){return tt.load(at),tt.getAttribute(e)},removeItem:function(e){tt.load(at),tt.getAttribute(e)&&this.length--,tt.removeAttribute(e),tt.save(at)},clear:function(){tt.load(at);for(var e,t=0;e=tt.XMLDocument.documentElement.attributes[t++];)tt.removeAttribute(e.name);tt.save(at),this.length=0},key:function(e){return tt.load(at),tt.XMLDocument.documentElement.attributes[e]}},tt.load(at),pe.length=tt.XMLDocument.documentElement.attributes.length)}else xe()&&(pe=new et);pe||(pe={length:0,setItem:function(e,t){},getItem:function(e){},removeItem:function(e){},clear:function(){},key:function(e){}});var nt,it=pe,ot=function(){this.storage=null};ot.prototype.getStorage=function(e){if(null!==this.storage)return this.storage;if(!e&&Ve())this.storage=Qe;else{var t="amp_cookiestore_";this.storage={_options:{expirationDays:void 0,domain:void 0,secure:!1},reset:function(){this._options={expirationDays:void 0,domain:void 0,secure:!1}},options:function(e){return 0===arguments.length?this._options:(e=e||{},this._options.expirationDays=e.expirationDays||this._options.expirationDays,this._options.domain=e.domain||this._options.domain||ce&&ce.location&&ce.location.hostname,this._options.secure=e.secure||!1)},get:function(e){try{return JSON.parse(it.getItem(t+e))}catch(e){}return null},set:function(e,a){try{return it.setItem(t+e,JSON.stringify(a)),!0}catch(e){}return!1},remove:function(e){try{it.removeItem(t+e)}catch(e){return!1}}}}return this.storage};var st=(p(nt={},G,!0),p(nt,q,!0),p(nt,L,!0),p(nt,j,!0),nt),rt=function(){function e(t){var a=t.storageKey,n=t.disableCookies,i=t.domain,o=t.secure,s=t.sameSite,r=t.expirationDays,c=t.storage;l(this,e),this.storageKey=a,this.domain=i,this.secure=o,this.sameSite=s,this.expirationDays=r,this.cookieDomain="";var d=$e()?$e().href:void 0,u=n?"":He(d);if(this.cookieDomain=i||(u?"."+u:null),st[c])this.storage=c;else{var p=n||!Ve({domain:this.cookieDomain,secure:this.secure,sameSite:this.sameSite,expirationDays:this.expirationDays});this.storage=p?L:G}}return u(e,[{key:"getCookieStorageKey",value:function(){if(!this.domain)return this.storageKey;var e="."===this.domain.charAt(0)?this.domain.substring(1):this.domain;return"".concat(this.storageKey).concat(e?"_".concat(e):"")}},{key:"save",value:function(e){var t=e.deviceId,a=e.userId,n=e.optOut,i=e.sessionId,o=e.lastEventTime,s=e.eventId,r=e.identifyId,c=e.sequenceNumber;if(this.storage!==q){var l=[t,le.encode(a||""),n?"1":"",i?i.toString(32):"0",o?o.toString(32):"0",s?s.toString(32):"0",r?r.toString(32):"0",c?c.toString(32):"0"].join(".");switch(this.storage){case j:ce.sessionStorage&&ce.sessionStorage.setItem(this.storageKey,l);break;case L:it.setItem(this.storageKey,l);break;case G:this.saveCookie(l)}}}},{key:"saveCookie",value:function(e){Le(this.getCookieStorageKey(),e,{domain:this.cookieDomain,secure:this.secure,sameSite:this.sameSite,expirationDays:this.expirationDays})}},{key:"load",value:function(){var e,t=this;if(this.storage===G){var a=this.getCookieStorageKey()+"=",n=Ue(a);if(0===n.length||1===n.length)e=n[0];else{var i=Be(n)[0];n.forEach(function(){return Le(t.getCookieStorageKey(),null,{})}),this.saveCookie(i),e=je(a)}}if(e||(e=it.getItem(this.storageKey)),!e)try{e=ce.sessionStorage&&ce.sessionStorage.getItem(this.storageKey)}catch(e){Se.info('window.sessionStorage unavailable. Reason: "'.concat(e,'"'))}if(!e)return null;var o=e.split("."),s=null;if(o[D])try{s=le.decode(o[D])}catch(e){s=null}return{deviceId:o[R],userId:s,optOut:"1"===o[C],sessionId:parseInt(o[N],32),lastEventTime:parseInt(o[M],32),eventId:parseInt(o[P],32),identifyId:parseInt(o[O],32),sequenceNumber:parseInt(o[$],32)}}},{key:"clear",value:function(){var e;if(this.storage===G&&(e=je(this.getCookieStorageKey()+"="),Le(this.getCookieStorageKey(),null,{domain:this.cookieDomain,secure:this.secure,sameSite:this.sameSite,expirationDays:0})),e||(e=it.getItem(this.storageKey),it.clear()),!e)try{e=ce.sessionStorage&&ce.sessionStorage.getItem(this.storageKey),ce.sessionStorage.clear()}catch(e){Se.info('window.sessionStorage unavailable. Reason: "'.concat(e,'"'))}return!!e}}]),e}(),ct="$clearAll",lt=function(){this.userPropertiesOperations={},this.properties=[]};lt.prototype.add=function(e,t){return"number"===ue(t)||"string"===ue(t)?this._addOperation("$add",e,t):Se.error("Unsupported type for value: "+ue(t)+", expecting number or string"),this},lt.prototype.append=function(e,t){return this._addOperation("$append",e,t),this},lt.prototype.clearAll=function(){return Object.keys(this.userPropertiesOperations).length>0?(Object.prototype.hasOwnProperty.call(this.userPropertiesOperations,ct)||Se.error("Need to send $clearAll on its own Identify object without any other operations, skipping $clearAll"),this):(this.userPropertiesOperations[ct]="-",this)},lt.prototype.prepend=function(e,t){return this._addOperation("$prepend",e,t),this},lt.prototype.set=function(e,t){return this._addOperation("$set",e,t),this},lt.prototype.setOnce=function(e,t){return this._addOperation("$setOnce",e,t),this},lt.prototype.unset=function(e){return this._addOperation("$unset",e,"-"),this},lt.prototype.preInsert=function(e,t){return this._addOperation("$preInsert",e,t),this},lt.prototype.postInsert=function(e,t){return this._addOperation("$postInsert",e,t),this},lt.prototype.remove=function(e,t){return this._addOperation("$remove",e,t),this},lt.prototype._addOperation=function(e,t,a){Object.prototype.hasOwnProperty.call(this.userPropertiesOperations,ct)?Se.error("This identify already contains a $clearAll operation, skipping operation "+e):-1===this.properties.indexOf(t)?(Object.prototype.hasOwnProperty.call(this.userPropertiesOperations,e)||(this.userPropertiesOperations[e]={}),this.userPropertiesOperations[e][t]=a,this.properties.push(t)):Se.error('User property "'+t+'" already used in this identify, skipping operation '+e)};var dt=function(e,t,a){this.url=e,this.data=t||{},this.headers=a};dt.prototype.send=function(e){if(!!ce.XDomainRequest){var t=new ce.XDomainRequest;t.open("POST",this.url,!0),t.onload=function(){e(200,t.responseText)},t.onerror=function(){"Request Entity Too Large"===t.responseText?e(413,t.responseText):e(500,t.responseText)},t.ontimeout=function(){},t.onprogress=function(){},t.send($a().stringify(this.data))}else if("undefined"!=typeof XMLHttpRequest){var a=new XMLHttpRequest;a.open("POST",this.url,!0),a.onreadystatechange=function(){4===a.readyState&&e(a.status,a.responseText)},function(e,t){for(var a in t)("Cross-Origin-Resource-Policy"!==a||t[a])&&e.setRequestHeader(a,t[a])}(a,this.headers),a.send($a().stringify(this.data))}else{var n=void 0;fetch(this.url,{method:"POST",headers:this.headers,body:$a().stringify(this.data)}).then(function(e){return n=e.status,e.text()}).then(function(t){e(n,t)})}};var ut=function(){this._price=null,this._productId=null,this._quantity=1,this._revenueType=null,this._properties=null};ut.prototype.setProductId=function(e){return"string"!==ue(e)?Se.error("Unsupported type for productId: "+ue(e)+", expecting string"):Te(e)?Se.error("Invalid empty productId"):this._productId=e,this},ut.prototype.setQuantity=function(e){return"number"!==ue(e)?Se.error("Unsupported type for quantity: "+ue(e)+", expecting number"):this._quantity=parseInt(e),this},ut.prototype.setPrice=function(e){return"number"!==ue(e)?Se.error("Unsupported type for price: "+ue(e)+", expecting number"):this._price=e,this},ut.prototype.setRevenueType=function(e){return"string"!==ue(e)?Se.error("Unsupported type for revenueType: "+ue(e)+", expecting string"):this._revenueType=e,this},ut.prototype.setEventProperties=function(e){return"object"!==ue(e)?Se.error("Unsupported type for eventProperties: "+ue(e)+", expecting object"):this._properties=Ne(e),this},ut.prototype._isValidRevenue=function(){return"number"===ue(this._price)||(Se.error("Invalid revenue, need to set price field"),!1)},ut.prototype._toJSONObject=function(){var e="object"===ue(this._properties)?this._properties:{};return null!==this._productId&&(e[B]=this._productId),null!==this._quantity&&(e[V]=this._quantity),null!==this._price&&(e[W]=this._price),null!==this._revenueType&&(e[H]=this._revenueType),e};var pt=m(Array(256).keys()).map(function(e){return e.toString(16).padStart(2,"0")}),ht="US",mt="EU",gt=function(e){var t=S;switch(e){case mt:t=T;break;case ht:t=S}return t},ft="8.21.10",bt={apiEndpoint:S,batchEvents:!1,cookieExpiration:365,cookieName:"amplitude_id",sameSiteCookie:"Lax",cookieForceUpgrade:!1,deferInitialization:!1,disableCookies:!1,deviceIdFromUrlParam:!1,domain:"",eventUploadPeriodMillis:3e4,eventUploadThreshold:30,forceHttps:!0,includeFbclid:!1,includeGclid:!1,includeReferrer:!1,includeUtm:!1,ingestionMetadata:{sourceName:"",sourceVersion:""},language:function(){return"undefined"!=typeof navigator&&(navigator.languages&&navigator.languages[0]||navigator.language||navigator.userLanguage)||""}(),library:{name:"amplitude-js",version:ft},logLevel:"WARN",logAttributionCapturedEvent:!1,optOut:!1,onError:function(){},onExitPage:function(){},onNewSessionStart:function(){},plan:{branch:"",source:"",version:"",versionId:""},platform:"Web",savedMaxCount:1e3,saveEvents:!0,saveParamsReferrerOncePerSession:!0,secureCookie:!1,sessionTimeout:18e5,storage:F,trackingOptions:{city:!0,country:!0,carrier:!0,device_manufacturer:!0,device_model:!0,dma:!0,ip_address:!0,language:!0,os_name:!0,os_version:!0,platform:!0,region:!0,version_name:!0},transport:ie,unsetParamsReferrerOnNewSession:!1,unsentKey:"amplitude_unsent",unsentIdentifyKey:"amplitude_unsent_identify",uploadBatchSize:100,headers:{"Content-Type":"application/x-www-form-urlencoded; charset=UTF-8","Cross-Origin-Resource-Policy":"cross-origin"},serverZone:ht,useDynamicConfig:!1,serverZoneBasedApi:!1,sessionId:null,partnerId:""},vt=new(function(){function e(){return l(this,e),e.instance||(this.ingestionEndpoint=S,e.instance=this),e.instance}return u(e,[{key:"refresh",value:function(e,t,a){var n="https";t||"https:"===ce.location.protocol||(n="http");var i=n+"://"+function(e){var t=x;switch(e){case mt:t=I;break;case ht:t=x}return t}(e),o=this;if(!!ce.XDomainRequest){var s=new ce.XDomainRequest;s.open("GET",i,!0),s.onload=function(){var e=JSON.parse(s.responseText);o.ingestionEndpoint=e.ingestionEndpoint,a&&a()},s.onerror=function(){},s.ontimeout=function(){},s.onprogress=function(){},s.send()}else{var r=new XMLHttpRequest;r.open("GET",i,!0),r.onreadystatechange=function(){if(4===r.readyState&&200===r.status){var e=JSON.parse(r.responseText);o.ingestionEndpoint=e.ingestionEndpoint,a&&a()}},r.send()}}}]),e}()),yt=function(e){(0,n().OL)()||xe()||Se.warn("amplitude-js will not work in a non-browser environment. If you are planning to add Amplitude to a node environment, please use @amplitude/node"),this._instanceName=Te(e)?v:e.toLowerCase(),this._unsentEvents=[],this._unsentIdentifys=[],this.options=r(r({},bt),{},{headers:r({},bt.headers),ingestionMetadata:r({},bt.ingestionMetadata),library:r({},bt.library),plan:r({},bt.plan),trackingOptions:r({},bt.trackingOptions)}),this._q=[],this._sending=!1,this._updateScheduled=!1,this._onInitCallbacks=[],this._onNewSessionStartCallbacks=[],this._eventId=0,this._identifyId=0,this._lastEventTime=null,this._newSession=!1,this._sequenceNumber=0,this._sessionId=null,this._isInitialized=!1,this._connector=null,this._userAgent="undefined"!=typeof navigator&&navigator&&navigator.userAgent||null,this._ua=new(an()())(this._userAgent).getResult()};yt.prototype.Identify=lt,yt.prototype.Revenue=ut,yt.prototype.init=function(t,a,i,o){var s=this;if("string"!==ue(t)||Te(t))Se.error("Invalid apiKey. Please re-initialize with a valid apiKey");else try{this._connector=e().i.getInstance(this._instanceName),kt(this.options,i),((0,n().OL)()||xe())&&void 0!==ce.Prototype&&Array.prototype.toJSON&&((0,n().LD)(),Se.warn("Prototype.js injected Array.prototype.toJSON. Deleting Array.prototype.toJSON to prevent double-stringify")),this.options.cookieName!==bt.cookieName&&Se.warn("The cookieName option is deprecated. We will be ignoring it for newer cookies"),this.options.serverZoneBasedApi&&(this.options.apiEndpoint=gt(this.options.serverZone)),this._refreshDynamicConfig(),this.options.apiKey=t,this._storageSuffix="_"+t+(this._instanceName===v?"":"_"+this._instanceName),this._storageSuffixV5=t.slice(0,6),this._oldCookiename=this.options.cookieName+this._storageSuffix,this._unsentKey=this.options.unsentKey+this._storageSuffix,this._unsentIdentifyKey=this.options.unsentIdentifyKey+this._storageSuffix,this._cookieName=z+"_"+this._storageSuffixV5,this.cookieStorage=(new ot).getStorage(this.options.disableCookies),this.cookieStorage.options({expirationDays:this.options.cookieExpiration,domain:this.options.domain,secure:this.options.secureCookie,sameSite:this.options.sameSiteCookie}),this._metadataStorage=new rt({storageKey:this._cookieName,disableCookies:this.options.disableCookies,expirationDays:this.options.cookieExpiration,domain:this.options.domain,secure:this.options.secureCookie,sameSite:this.options.sameSiteCookie,storage:this.options.storage});var r=!!this.cookieStorage.get(this._oldCookiename),c=!!this._metadataStorage.load();this._useOldCookie=!c&&r&&!this.options.cookieForceUpgrade;var l=c||r;if(this.options.deferInitialization&&!l)return void this._deferInitialization(t,a,i,o);this.options.domain=this.cookieStorage.options().domain,"string"===ue(this.options.logLevel)&&Ee(this.options.logLevel);var d=Nt(this);this._apiPropertiesTrackingOptions=Object.keys(d).length>0?{tracking_options:d}:{},this.options.cookieForceUpgrade&&r&&(c||Et(this),this.cookieStorage.remove(this._oldCookiename)),At(this),this._pendingReadStorage=!0;this.options.saveEvents&&(this._unsentEvents=this._loadSavedUnsentEvents(this.options.unsentKey).map(function(e){return{event:e}}).concat(this._unsentEvents),this._unsentIdentifys=this._loadSavedUnsentEvents(this.options.unsentIdentifyKey).map(function(e){return{event:e}}).concat(this._unsentIdentifys)),i&&i.onNewSessionStart&&this.onNewSessionStart(this.options.onNewSessionStart),function(e){i&&i.deviceId&&!Me(i.deviceId)&&(Se.error('Invalid device ID rejected. Randomly generated UUID will be used instead of "'.concat(i.deviceId,'"')),delete i.deviceId),s.options.deviceId=s._getInitialDeviceId(i&&i.deviceId,e),s.options.userId="string"===ue(a)&&!Te(a)&&a||"number"===ue(a)&&a.toString()||s.options.userId||null;var t=(new Date).getTime(),n=!s._sessionId||!s._lastEventTime||t-s._lastEventTime>s.options.sessionTimeout||s.options.sessionId;n&&(s.options.unsetParamsReferrerOnNewSession&&s._unsetUTMParams(),s._newSession=!0,s._sessionId=s.options.sessionId||t,s.options.sessionId=void 0,s.options.saveParamsReferrerOncePerSession&&s._trackParamsAndReferrer()),s.options.saveParamsReferrerOncePerSession||s._trackParamsAndReferrer(),s.options.saveEvents&&(wt(s._unsentEvents),wt(s._unsentIdentifys)),s._lastEventTime=t,Tt(s),s._pendingReadStorage=!1,s._sendEventsIfReady();for(var o=0;o<s._onInitCallbacks.length;o++)s._onInitCallbacks[o](s);s._onInitCallbacks=[],s._isInitialized=!0,n&&s._runNewSessionStartCallbacks()}(),this.runQueuedFunctions(),"function"===ue(o)&&o(this);var u=this.options.onExitPage;if("function"===ue(u)&&ce.addEventListener&&!this.pageHandlersAdded){this.pageHandlersAdded=!0;ce.addEventListener("pagehide",function(){var e;e=s.options.transport,s.setTransport(oe),u(),s.setTransport(e)},!1)}this._connector.eventBridge.setEventReceiver(function(e){s._logEvent(e.eventType,e.eventProperties,e.userProperties)});var p=this._connector.identityStore.editIdentity();this.options.deviceId&&p.setDeviceId(this.options.deviceId),this.options.userId&&p.setUserId(this.options.userId),p.commit()}catch(e){Se.error(e),i&&"function"===ue(i.onError)&&i.onError(e)}},yt.prototype._runNewSessionStartCallbacks=function(){for(var e=0;e<this._onNewSessionStartCallbacks.length;e++)this._onNewSessionStartCallbacks[e](this)},yt.prototype.deleteLowerLevelDomainCookies=function(){var e=ze(),t=this.options.domain&&"."===this.options.domain[0]?this.options.domain.slice(1):this.options.domain;if(t&&xe()&&e!==t&&new RegExp(t+"$").test(e)){for(var a=e.split("."),n=t.split("."),i=a.length;i>n.length;--i){var o=a.slice(a.length-i).join(".");Le(this._cookieName,null,{domain:"."+o})}Le(this._cookieName,null,{})}},yt.prototype._getInitialDeviceId=function(e,t){if(e)return e;if(this.options.deviceIdFromUrlParam){var a=this._getDeviceIdFromUrlParam(this._getUrlParams());if(a)return a}return this.options.deviceId?this.options.deviceId:t||We()};var wt=function(e){for(var t=0;t<e.length;t++){var a=e[t].event.user_properties,n=e[t].event.event_properties,i=e[t].event.groups;e[t].event.user_properties=Ne(a),e[t].event.event_properties=Ne(n),e[t].event.groups=De(i)}};yt.prototype._trackParamsAndReferrer=function(){var e,t,a,n;if(this.options.includeUtm&&(e=this._initUtmData()),this.options.includeReferrer&&(t=this._saveReferrer(this._getReferrer())),this.options.includeGclid&&(a=this._saveGclid(this._getUrlParams())),this.options.includeFbclid&&(n=this._saveFbclid(this._getUrlParams())),this.options.logAttributionCapturedEvent){var i=r(r(r(r({},e),t),a),n);Object.keys(i).length>0&&this.logEvent(ne,i)}};var kt=function e(t,a){if("object"===ue(a)){var n=new Set(["headers"]),i=new Set(["eventUploadPeriodMillis"]),o=function(n){if(Object.prototype.hasOwnProperty.call(t,n)){var o=a[n],s=ue(t[n]);("transport"!==n||Pe(o))&&("sessionId"!==n||null===o?Ce(o,n+" option",s)&&("boolean"===s?t[n]=!!o:"string"===s&&!Te(o)||"number"===s&&(o>0||0===o&&i.has(n))||"function"===s?t[n]=o:"object"===s&&e(t[n],o)):t[n]=Oe(o)?o:null)}};for(var s in a)n.has(s)?t[s]=r(r({},t[s]),a[s]):Object.prototype.hasOwnProperty.call(a,s)&&o(s)}};yt.prototype.runQueuedFunctions=function(){var e=this._q;this._q=[];for(var t=0;t<e.length;t++){var a=this[e[t][0]];"function"===ue(a)&&a.apply(this,e[t].slice(1))}},yt.prototype._apiKeySet=function(e){return!Te(this.options.apiKey)||(Se.error("Invalid apiKey. Please set a valid apiKey with init() before calling "+e),!1)},yt.prototype._loadSavedUnsentEvents=function(e){var t=this._getFromStorage(it,e),a=this._parseSavedUnsentEventsString(t,e);return this._setInStorage(it,e,JSON.stringify(a)),a},yt.prototype._parseSavedUnsentEventsString=function(e,t){if(Te(e))return[];if("string"===ue(e))try{var a=JSON.parse(e);if("array"===ue(a))return a}catch(e){}return Se.error("Unable to load "+t+" events. Restart with a new empty queue."),[]},yt.prototype.isNewSession=function(){return this._newSession},yt.prototype.onInit=function(e){this._isInitialized?e(this):this._onInitCallbacks.push(e)},yt.prototype.onNewSessionStart=function(e){this._onNewSessionStartCallbacks.push(e)},yt.prototype.getSessionId=function(){return this._sessionId},yt.prototype.nextEventId=function(){return this._eventId++,this._eventId},yt.prototype.nextIdentifyId=function(){return this._identifyId++,this._identifyId},yt.prototype.nextSequenceNumber=function(){return this._sequenceNumber++,this._sequenceNumber},yt.prototype._unsentCount=function(){return this._unsentEvents.length+this._unsentIdentifys.length},yt.prototype._sendEventsIfReady=function(){return 0!==this._unsentCount()&&(this.options.batchEvents?this._unsentCount()>=this.options.eventUploadThreshold||this.options.transport===oe?(this.sendEvents(),!0):(this._updateScheduled||(this._updateScheduled=!0,setTimeout(function(){this._updateScheduled=!1,this.sendEvents()}.bind(this),this.options.eventUploadPeriodMillis)),!1):(this.sendEvents(),!0))},yt.prototype.clearStorage=function(){return this._metadataStorage.clear()},yt.prototype._getFromStorage=function(e,t){return e.getItem(t+this._storageSuffix)},yt.prototype._setInStorage=function(e,t,a){e.setItem(t+this._storageSuffix,a)};var At=function(e){if(e._useOldCookie){var t=e.cookieStorage.get(e._oldCookiename);"object"!==ue(t)||St(e,t)}else{var a=e._metadataStorage.load();"object"===ue(a)&&St(e,a)}},Et=function(e){var t=e.cookieStorage.get(e._oldCookiename);"object"===ue(t)&&(St(e,t),Tt(e))},St=function(e,t){t.deviceId&&(e.options.deviceId=t.deviceId),t.userId&&(e.options.userId=t.userId),null!==t.optOut&&void 0!==t.optOut&&!1!==t.optOut&&(e.options.optOut=t.optOut),t.sessionId&&(e._sessionId=parseInt(t.sessionId,10)),t.lastEventTime&&(e._lastEventTime=parseInt(t.lastEventTime,10)),t.eventId&&(e._eventId=parseInt(t.eventId,10)),t.identifyId&&(e._identifyId=parseInt(t.identifyId,10)),t.sequenceNumber&&(e._sequenceNumber=parseInt(t.sequenceNumber,10))},Tt=function(e){var t={deviceId:e.options.deviceId,userId:e.options.userId,optOut:e.options.optOut,sessionId:e._sessionId,lastEventTime:e._lastEventTime,eventId:e._eventId,identifyId:e._identifyId,sequenceNumber:e._sequenceNumber};e._useOldCookie?e.cookieStorage.set(e.options.cookieName+e._storageSuffix,t):e._metadataStorage.save(t)};yt.prototype._initUtmData=function(e,t){e=e||this._getUrlParams(),t=t||this.cookieStorage.get("__utmz");var a,n,i,o,s,r,c,l,d,u,p,h=(n=e,i=(a=t)?"?"+a.split(".").slice(-1)[0].replace(/\|/g,"&"):"",o=function(e,t,a,n){return Ie(e,t)||Ie(a,n)},s=o(X,n,"utmcsr",i),r=o(Q,n,"utmcmd",i),c=o(ee,n,"utmccn",i),l=o(te,n,"utmctr",i),d=o(ae,n,"utmcct",i),u={},(p=function(e,t){Te(t)||(u[e]=t)})(X,s),p(Q,r),p(ee,c),p(te,l),p(ae,d),u);return xt(this,h),h},yt.prototype._unsetUTMParams=function(){var e=new lt;e.unset(J),e.unset(Z),e.unset(X),e.unset(Q),e.unset(ee),e.unset(te),e.unset(ae),this.identify(e)};var xt=function(e,t){if("object"===ue(t)&&0!==Object.keys(t).length){var a=new lt;for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(a.setOnce("initial_"+n,t[n]),a.set(n,t[n]));e.identify(a)}};yt.prototype._getReferrer=function(){var e=this._getReferrerFromUrlParam(this._getUrlParams());return e||("undefined"!=typeof document?document.referrer:"")},yt.prototype._getUrlParams=function(){return ce.location.search},yt.prototype._saveGclid=function(e){var t=Ie("gclid",e);if(!Te(t)){var a={gclid:t};return xt(this,a),a}},yt.prototype._saveFbclid=function(e){var t=Ie("fbclid",e);if(!Te(t)){var a={fbclid:t};return xt(this,a),a}},yt.prototype._getDeviceIdFromUrlParam=function(e){return Ie(K,e)},yt.prototype._getReferrerFromUrlParam=function(e){return Ie(Y,e)},yt.prototype._getReferringDomain=function(e){if(Te(e))return null;var t=e.split("/");return t.length>=3?t[2]:null},yt.prototype._saveReferrer=function(e){if(!Te(e)){var t={referrer:e,referring_domain:this._getReferringDomain(e)};return xt(this,t),t}},yt.prototype.saveEvents=function(){try{var e=JSON.stringify(this._unsentEvents.map(function(e){return e.event}));this._setInStorage(it,this.options.unsentKey,e)}catch(e){}try{var t=JSON.stringify(this._unsentIdentifys.map(function(e){return e.event}));this._setInStorage(it,this.options.unsentIdentifyKey,t)}catch(e){}},yt.prototype.setDomain=function(e){if(this._shouldDeferCall())return this._q.push(["setDomain"].concat(Array.prototype.slice.call(arguments,0)));if(Ce(e,"domain","string"))try{this.cookieStorage.options({expirationDays:this.options.cookieExpiration,secure:this.options.secureCookie,domain:e,sameSite:this.options.sameSiteCookie}),this.options.domain=this.cookieStorage.options().domain,At(this),Tt(this)}catch(e){Se.error(e)}},yt.prototype.setUserId=function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(Ce(t,"startNewSession","boolean")){if(this._shouldDeferCall())return this._q.push(["setUserId"].concat(Array.prototype.slice.call(arguments,0)));try{this.options.userId=null!=e&&""+e||null,t&&(this.options.unsetParamsReferrerOnNewSession&&this._unsetUTMParams(),this._newSession=!0,this._sessionId=(new Date).getTime(),this._runNewSessionStartCallbacks(),this.options.saveParamsReferrerOncePerSession&&this._trackParamsAndReferrer()),Tt(this),this._connector&&this._connector.identityStore.editIdentity().setUserId(this.options.userId).commit()}catch(e){Se.error(e)}}},yt.prototype.setGroup=function(e,t){if(this._shouldDeferCall())return this._q.push(["setGroup"].concat(Array.prototype.slice.call(arguments,0)));if(this._apiKeySet("setGroup()")&&Ce(e,"groupType","string")&&!Te(e)){var a={};a[e]=t;var n=(new lt).set(e,t);this._logEvent(A,null,null,n.userPropertiesOperations,a,null,null,null)}},yt.prototype.setOptOut=function(e){if(this._shouldDeferCall())return this._q.push(["setOptOut"].concat(Array.prototype.slice.call(arguments,0)));if(Ce(e,"enable","boolean"))try{this.options.optOut=e,Tt(this)}catch(e){Se.error(e)}},yt.prototype.setSessionId=function(e){if(Ce(e,"sessionId","number"))try{this._sessionId=e,Tt(this)}catch(e){Se.error(e)}},yt.prototype.resetSessionId=function(){this.setSessionId((new Date).getTime())},yt.prototype.regenerateDeviceId=function(){if(this._shouldDeferCall())return this._q.push(["regenerateDeviceId"].concat(Array.prototype.slice.call(arguments,0)));this.setDeviceId(We())},yt.prototype.setDeviceId=function(e){if(this._shouldDeferCall())return this._q.push(["setDeviceId"].concat(Array.prototype.slice.call(arguments,0)));if(Me(e))try{Te(e)||(this.options.deviceId=""+e,Tt(this),this._connector&&this._connector.identityStore.editIdentity().setDeviceId(this.options.deviceId).commit())}catch(e){Se.error(e)}},yt.prototype.setTransport=function(e){if(this._shouldDeferCall())return this._q.push(["setTransport"].concat(Array.prototype.slice.call(arguments,0)));Pe(e)&&(this.options.transport=e)},yt.prototype.setUserProperties=function(e){if(this._shouldDeferCall())return this._q.push(["setUserProperties"].concat(Array.prototype.slice.call(arguments,0)));if(this._apiKeySet("setUserProperties()")&&Ce(e,"userProperties","object")){var t=Re(Ne(e));if(0!==Object.keys(t).length){var a=new lt;for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&a.set(n,t[n]);this.identify(a)}}},yt.prototype.clearUserProperties=function(){if(this._shouldDeferCall())return this._q.push(["clearUserProperties"].concat(Array.prototype.slice.call(arguments,0)));if(this._apiKeySet("clearUserProperties()")){var e=new lt;e.clearAll(),this.identify(e)}};var It=function(e,t){for(var a=0;a<t._q.length;a++){var n=e[t._q[a][0]];"function"===ue(n)&&n.apply(e,t._q[a].slice(1))}return e};yt.prototype.identify=function(e,t,a,n){if(this._shouldDeferCall())return this._q.push(["identify"].concat(Array.prototype.slice.call(arguments,0)));if(this._apiKeySet("identify()"))if("object"===ue(e)&&Object.prototype.hasOwnProperty.call(e,"_q")&&(e=It(new lt,e)),e instanceof lt){if(Object.keys(e.userPropertiesOperations).length>0)return this._logEvent(A,null,null,e.userPropertiesOperations,null,null,null,t,a,n);Pt(t,a,0,"No request sent",{reason:"No user property operations"})}else Se.error("Invalid identify input type. Expected Identify object but saw "+ue(e)),Pt(t,a,0,"No request sent",{reason:"Invalid identify input type"});else Pt(t,a,0,"No request sent",{reason:"API key is not set"})},yt.prototype.groupIdentify=function(e,t,a,n,i,o){if(this._shouldDeferCall())return this._q.push(["groupIdentify"].concat(Array.prototype.slice.call(arguments,0)));if(this._apiKeySet("groupIdentify()"))if(Ce(e,"group_type","string")&&!Te(e))if(null!=t)if("object"===ue(a)&&Object.prototype.hasOwnProperty.call(a,"_q")&&(a=It(new lt,a)),a instanceof lt){if(Object.keys(a.userPropertiesOperations).length>0)return this._logEvent(E,null,null,null,p({},e,t),a.userPropertiesOperations,null,n,i,o);Pt(n,i,0,"No request sent",{reason:"No group property operations"})}else Se.error("Invalid identify input type. Expected Identify object but saw "+ue(a)),Pt(n,i,0,"No request sent",{reason:"Invalid identify input type"});else Pt(n,i,0,"No request sent",{reason:"Invalid group name"});else Pt(n,i,0,"No request sent",{reason:"Invalid group type"});else Pt(n,i,0,"No request sent",{reason:"API key is not set"})},yt.prototype.setVersionName=function(e){if(this._shouldDeferCall())return this._q.push(["setVersionName"].concat(Array.prototype.slice.call(arguments,0)));Ce(e,"versionName","string")&&(this.options.versionName=e)},yt.prototype._logEvent=function(e,t,a,n,i,o,s,c,l,d){var u;if(At(this),e)if(this.options.optOut)Pt(c,l,0,"No request sent",{reason:"optOut is set to true"});else try{var p;p=e===A||e===E?this.nextIdentifyId():this.nextEventId();var g=this.nextSequenceNumber(),f="number"===ue(s)?s:(new Date).getTime();d?this._sessionId=-1:(!this._sessionId||!this._lastEventTime||f-this._lastEventTime>this.options.sessionTimeout)&&(this._sessionId=f,this._runNewSessionStartCallbacks()),this._lastEventTime=f,Tt(this);var b=this._ua.browser.name,v=this._ua.browser.major,y=this._ua.device.model||this._ua.os.name,w=this._ua.device.vendor;n=n||{};var k=r({},this._apiPropertiesTrackingOptions);a=r(r({},a||{}),k),t=t||{},i=i||{},o=o||{};var S={device_id:this.options.deviceId,user_id:this.options.userId,timestamp:f,event_id:p,session_id:this._sessionId||-1,event_type:e,version_name:this.options.versionName||null,platform:Ct(this,"platform")?this.options.platform:null,os_name:Ct(this,"os_name")&&b||null,os_version:Ct(this,"os_version")&&v||null,device_model:Ct(this,"device_model")&&y||null,device_manufacturer:Ct(this,"device_manufacturer")&&w||null,language:Ct(this,"language")?this.options.language:null,api_properties:a,event_properties:Re(Ne(t)),user_properties:Re(Ne(n)),uuid:(u=crypto.getRandomValues(new Uint8Array(16)),u[6]=15&u[6]|64,u[8]=63&u[8]|128,m(u.entries()).map(function(e){var t=h(e,2),a=t[0],n=t[1];return[4,6,8,10].includes(a)?"-".concat(pt[n]):pt[n]}).join("")),library:this.options.library,sequence_number:g,groups:Re(De(i)),group_properties:Re(Ne(o)),user_agent:this._userAgent,partner_id:this.options.partnerId||null};return Rt(this)&&(S.plan={branch:this.options.plan.branch||void 0,source:this.options.plan.source||void 0,version:this.options.plan.version||void 0,versionId:this.options.plan.versionId||void 0}),Dt(this)&&(S.ingestion_metadata={source_name:this.options.ingestionMetadata.sourceName||void 0,source_version:this.options.ingestionMetadata.sourceVersion||void 0}),e===A||e===E?(this._unsentIdentifys.push({event:S,callback:c,errorCallback:l}),this._limitEventsQueued(this._unsentIdentifys)):(this._unsentEvents.push({event:S,callback:c,errorCallback:l}),this._limitEventsQueued(this._unsentEvents)),this.options.saveEvents&&this.saveEvents(),this._sendEventsIfReady(),e===A&&this._connector&&this._connector.identityStore.editIdentity().updateUserProperties(Re(Ne(n))).commit(),p}catch(e){Se.error(e)}else Pt(c,l,0,"No request sent",{reason:"Missing eventType"})};var Rt=function(e){return e.options.plan&&(e.options.plan.source||e.options.plan.branch||e.options.plan.version||e.options.plan.versionId)},Dt=function(e){return e.options.ingestionMetadata&&(e.options.ingestionMetadata.sourceName||e.options.ingestionMetadata.sourceVersion)},Ct=function(e,t){return!!e.options.trackingOptions[t]},Nt=function(e){for(var t=["city","country","dma","ip_address","region"],a={},n=0;n<t.length;n++){var i=t[n];Ct(e,i)||(a[i]=!1)}return a};yt.prototype._limitEventsQueued=function(e){e.length>this.options.savedMaxCount&&e.splice(0,e.length-this.options.savedMaxCount).forEach(function(e){Pt(e.callback,e.errorCallback,0,"No request sent",{reason:"Event dropped because options.savedMaxCount exceeded. User may be offline or have a content blocker"})})},yt.prototype.logEvent=function(e,t,a,n){var i=arguments.length>4&&void 0!==arguments[4]&&arguments[4];return this._shouldDeferCall()?this._q.push(["logEvent"].concat(Array.prototype.slice.call(arguments,0))):this.logEventWithTimestamp(e,t,null,a,n,i)},yt.prototype.logEventWithTimestamp=function(e,t,a,n,i){var o=arguments.length>5&&void 0!==arguments[5]&&arguments[5];return this._shouldDeferCall()?this._q.push(["logEventWithTimestamp"].concat(Array.prototype.slice.call(arguments,0))):this._apiKeySet("logEvent()")?Ce(e,"eventType","string")?Te(e)?(Pt(n,i,0,"No request sent",{reason:"Missing eventType"}),-1):(Ce(o,"outOfSession","boolean")||Pt(n,i,0,"No request sent",{reason:"Invalid outOfSession value"}),this._logEvent(e,t,null,null,null,null,a,n,i,o)):(Pt(n,i,0,"No request sent",{reason:"Invalid type for eventType"}),-1):(Pt(n,i,0,"No request sent",{reason:"API key not set"}),-1)},yt.prototype.logEventWithGroups=function(e,t,a,n,i){var o=arguments.length>5&&void 0!==arguments[5]&&arguments[5];return this._shouldDeferCall()?this._q.push(["logEventWithGroups"].concat(Array.prototype.slice.call(arguments,0))):this._apiKeySet("logEventWithGroups()")?Ce(e,"eventType","string")?(Ce(o,"outOfSession","boolean")||Pt(event.callback,event.errorCallback,0,"No request sent",{reason:"Invalid outOfSession value"}),this._logEvent(e,t,null,null,a,null,null,n,i,o)):(Pt(event.callback,event.errorCallback,0,"No request sent",{reason:"Invalid type for eventType"}),-1):(Pt(event.callback,event.errorCallback,0,"No request sent",{reason:"API key not set"}),-1)};var Mt=function(e){return!isNaN(parseFloat(e))&&isFinite(e)},Pt=function(e,t,a,n,i){"function"===ue(e)&&e(a,n,i),"function"===ue(t)&&t(a,n,i)};yt.prototype.logRevenueV2=function(e){if(this._shouldDeferCall())return this._q.push(["logRevenueV2"].concat(Array.prototype.slice.call(arguments,0)));if(this._apiKeySet("logRevenueV2()"))if("object"===ue(e)&&Object.prototype.hasOwnProperty.call(e,"_q")&&(e=It(new ut,e)),e instanceof ut){if(e&&e._isValidRevenue())return this.logEvent(U,e._toJSONObject())}else Se.error("Invalid revenue input type. Expected Revenue object but saw "+ue(e))},yt.prototype.logRevenue=function(e,t,a){return this._shouldDeferCall()?this._q.push(["logRevenue"].concat(Array.prototype.slice.call(arguments,0))):this._apiKeySet("logRevenue()")&&Mt(e)&&(void 0===t||Mt(t))?this._logEvent(U,{},{productId:a,special:"revenue_amount",quantity:t||1,price:e},null,null,null,null,null):-1},yt.prototype._logErrorsOnEvents=function(e,t,a,n){for(var i=["_unsentEvents","_unsentIdentifys"],o=0;o<i.length;o++)for(var s=i[o],r="_unsentEvents"===s?e:t,c=0;c<this[s].length;c++){var l=this[s][c];l.event.event_id<=r&&l.errorCallback&&l.errorCallback(a,n)}},yt.prototype.removeEvents=function(e,t,a,n){Ot(this,"_unsentEvents",e,a,n),Ot(this,"_unsentIdentifys",t,a,n)};var Ot=function(e,t,a,n,i){if(!(a<0)){for(var o=[],s=0;s<e[t].length;s++){var r=e[t][s];r.event.event_id>a?o.push(r):r.callback&&r.callback(n,i)}e[t]=o}};yt.prototype.sendEvents=function(){if(this._apiKeySet("sendEvents()")){if(this.options.optOut)this.removeEvents(1/0,1/0,0,"No request sent",{reason:"Opt out is set to true"});else if(0!==this._unsentCount()){if(this.options.transport!==oe){if(this._sending)return;this._sending=!0}var e=(this.options.forceHttps||"https:"===ce.location.protocol?"https":"http")+"://"+this.options.apiEndpoint,t=Math.min(this._unsentCount(),this.options.uploadBatchSize),a=this._mergeEventsAndIdentifys(t),n=a.maxEventId,i=a.maxIdentifyId,o=JSON.stringify(a.eventsToSend.map(function(e){return e.event})),s=(new Date).getTime(),r={client:this.options.apiKey,e:o,v:y,upload_time:s,checksum:tn()()(y+this.options.apiKey+o+s)};if(this.options.transport!==oe||"undefined"==typeof navigator){var c=this;try{new dt(e,r,this.options.headers).send(function(e,a){c._sending=!1;try{200===e?(c.removeEvents(n,i,e,a),c.options.saveEvents&&c.saveEvents(),c._sendEventsIfReady()):(c._logErrorsOnEvents(n,i,e,a),413===e&&(1===c.options.uploadBatchSize&&c.removeEvents(n,i,e,a),c.options.uploadBatchSize=Math.ceil(t/2),c.sendEvents()))}catch(e){}})}catch(e){var l="Request failed to send";Se.error(l),c._logErrorsOnEvents(n,i,0,l),c.removeEvents(n,i,0,l,{reason:e.message})}}else{navigator.sendBeacon(e,new URLSearchParams(r))?(this.removeEvents(n,i,200,"success"),this.options.saveEvents&&this.saveEvents()):this._logErrorsOnEvents(n,i,0,"")}}}else this.removeEvents(1/0,1/0,0,"No request sent",{reason:"API key not set"})},yt.prototype._mergeEventsAndIdentifys=function(e){for(var t=[],a=0,n=-1,i=0,o=-1;t.length<e;){var s=void 0,r=i>=this._unsentIdentifys.length,c=a>=this._unsentEvents.length;if(c&&r){Se.error("Merging Events and Identifys, less events and identifys than expected");break}r?n=(s=this._unsentEvents[a++]).event.event_id:c?o=(s=this._unsentIdentifys[i++]).event.event_id:!("sequence_number"in this._unsentEvents[a].event)||this._unsentEvents[a].event.sequence_number<this._unsentIdentifys[i].event.sequence_number?n=(s=this._unsentEvents[a++]).event.event_id:o=(s=this._unsentIdentifys[i++]).event.event_id,t.push(s)}return{eventsToSend:t,maxEventId:n,maxIdentifyId:o}},yt.prototype.setGlobalUserProperties=function(e){this.setUserProperties(e)},yt.prototype.__VERSION__=function(){return this.options.library.version},yt.prototype.setLibrary=function(e,t){null!=e&&(this.options.library.name=e),null!=t&&(this.options.library.version=t)},yt.prototype._shouldDeferCall=function(){return this._pendingReadStorage||this._initializationDeferred},yt.prototype._deferInitialization=function(){this._initializationDeferred=!0,this._q.push(["init"].concat(Array.prototype.slice.call(arguments,0)))},yt.prototype.enableTracking=function(){this._initializationDeferred=!1,Tt(this),this.runQueuedFunctions()},yt.prototype._refreshDynamicConfig=function(){this.options.useDynamicConfig&&vt.refresh(this.options.serverZone,this.options.forceHttps,function(){this.options.apiEndpoint=vt.ingestionEndpoint}.bind(this))},yt.prototype.getDeviceId=function(){return this.options.deviceId},yt.prototype.getUserId=function(){return this.options.userId},yt.prototype.setMinTimeBetweenSessionsMillis=function(e){if(Ce(e,"timeInMillis","number")){if(this._shouldDeferCall())return this._q.push(["setMinTimeBetweenSessionsMillis"].concat(Array.prototype.slice.call(arguments,0)));try{this.options.sessionTimeout=e}catch(e){Se.error(e)}}},yt.prototype.setEventUploadThreshold=function(e){if(Ce(e,"eventUploadThreshold","number")){if(this._shouldDeferCall())return this._q.push(["setEventUploadThreshold"].concat(Array.prototype.slice.call(arguments,0)));try{this.options.eventUploadThreshold=e}catch(e){Se.error(e)}}},yt.prototype.setUseDynamicConfig=function(e){if(Ce(e,"useDynamicConfig","boolean")){if(this._shouldDeferCall())return this._q.push(["setUseDynamicConfig"].concat(Array.prototype.slice.call(arguments,0)));try{this.options.useDynamicConfig=e,this._refreshDynamicConfig()}catch(e){Se.error(e)}}},yt.prototype.setServerZone=function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if((e===mt||e===ht)&&Ce(t,"serverZoneBasedApi","boolean")){if(this._shouldDeferCall())return this._q.push(["setServerZone"].concat(Array.prototype.slice.call(arguments,0)));try{this.options.serverZone=e,this.options.serverZoneBasedApi=t,t&&(this.options.apiEndpoint=gt(this.options.serverZone))}catch(e){Se.error(e)}}},yt.prototype.setServerUrl=function(e){if(Ce(e,"serverUrl","string")){if(this._shouldDeferCall())return this._q.push(["setServerUrl"].concat(Array.prototype.slice.call(arguments,0)));try{this.options.apiEndpoint=e}catch(e){Se.error(e)}}};var $t=function(){this.options=r({},bt),this._q=[],this._instances={}};$t.prototype.Identify=lt,$t.prototype.Revenue=ut,$t.prototype.getInstance=function(e){e=Te(e)?v:e.toLowerCase();var t=this._instances[e];return void 0===t&&(t=new yt(e),this._instances[e]=t),t},$t.prototype.init=function(e,t,a,n){this.getInstance().init(e,t,a,function(e){this.options=e.options,"function"===ue(n)&&n(e)}.bind(this))},$t.prototype.isNewSession=function(){return this.getInstance().isNewSession()},$t.prototype.getSessionId=function(){return this.getInstance().getSessionId()},$t.prototype.nextEventId=function(){return this.getInstance().nextEventId()},$t.prototype.nextIdentifyId=function(){return this.getInstance().nextIdentifyId()},$t.prototype.nextSequenceNumber=function(){return this.getInstance().nextSequenceNumber()},$t.prototype.saveEvents=function(){this.getInstance().saveEvents()},$t.prototype.setDomain=function(e){this.getInstance().setDomain(e)},$t.prototype.setUserId=function(e){this.getInstance().setUserId(e)},$t.prototype.setGroup=function(e,t){this.getInstance().setGroup(e,t)},$t.prototype.setOptOut=function(e){this.getInstance().setOptOut(e)},$t.prototype.regenerateDeviceId=function(){this.getInstance().regenerateDeviceId()},$t.prototype.setDeviceId=function(e){this.getInstance().setDeviceId(e)},$t.prototype.setUserProperties=function(e){this.getInstance().setUserProperties(e)},$t.prototype.clearUserProperties=function(){this.getInstance().clearUserProperties()},$t.prototype.identify=function(e,t){this.getInstance().identify(e,t)},$t.prototype.setVersionName=function(e){this.getInstance().setVersionName(e)},$t.prototype.logEvent=function(e,t,a){return this.getInstance().logEvent(e,t,a)},$t.prototype.logEventWithGroups=function(e,t,a,n){return this.getInstance().logEventWithGroups(e,t,a,n)},$t.prototype.logRevenueV2=function(e){return this.getInstance().logRevenueV2(e)},$t.prototype.logRevenue=function(e,t,a){return this.getInstance().logRevenue(e,t,a)},$t.prototype.removeEvents=function(e,t){this.getInstance().removeEvents(e,t)},$t.prototype.sendEvents=function(e){this.getInstance().sendEvents(e)},$t.prototype.setGlobalUserProperties=function(e){this.getInstance().setUserProperties(e)},$t.prototype.__VERSION__=ft;var _t=void 0!==ce&&ce.amplitude||{},zt=new $t;for(var Ft in zt._q=_t._q||[],_t._iq)Object.prototype.hasOwnProperty.call(_t._iq,Ft)&&(zt.getInstance(Ft)._q=_t._iq[Ft]._q||[])}),$=a.cw(function(e,t){function a(e){return a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},a(e)}function n(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,o(n.key),n)}}function i(e,t,a){return t&&n(e.prototype,t),a&&n(e,a),Object.defineProperty(e,"prototype",{writable:!1}),e}function o(e){var t=function(e,t){if("object"!==a(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var i=n.call(e,t||"default");if("object"!==a(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===a(t)?t:String(t)}var s,r,c=z().codes,l=c.ERR_AMBIGUOUS_ARGUMENT,d=c.ERR_INVALID_ARG_TYPE,u=c.ERR_INVALID_ARG_VALUE,p=c.ERR_INVALID_RETURN_VALUE,h=c.ERR_MISSING_ARGS,m=_(),g=Ia().inspect,f=Ia().types,b=f.isPromise,v=f.isRegExp,y=Nt()(),w=Ct()(),k=ze()("RegExp.prototype.test");new Map;function A(){var e=Ya();s=e.isDeepEqual,r=e.isDeepStrictEqual}var E=!1,S=e.exports=R,T={};function x(e){if(e.message instanceof Error)throw e.message;throw new m(e)}function I(e,t,a,n){if(!a){var i=!1;if(0===t)i=!0,n="No value argument passed to `assert.ok()`";else if(n instanceof Error)throw n;var o=new m({actual:a,expected:!0,message:n,operator:"==",stackStartFn:e});throw o.generatedMessage=i,o}}function R(){for(var e=arguments.length,t=new Array(e),a=0;a<e;a++)t[a]=arguments[a];I.apply(void 0,[R,t.length].concat(t))}S.fail=function e(t,a,n,i,o){var s,r=arguments.length;if(0===r)s="Failed";else if(1===r)n=t,t=void 0;else{if(!1===E)E=!0,console.warn.bind(console)("assert.fail() with more than one argument is deprecated. Please use assert.strictEqual() instead or only pass a message.","DeprecationWarning","DEP0094");2===r&&(i="!=")}if(n instanceof Error)throw n;var c={actual:t,expected:a,operator:void 0===i?"fail":i,stackStartFn:o||e};void 0!==n&&(c.message=n);var l=new m(c);throw s&&(l.message=s,l.generatedMessage=!0),l},S.AssertionError=m,S.ok=R,S.equal=function e(t,a,n){if(arguments.length<2)throw new h("actual","expected");t!=a&&x({actual:t,expected:a,message:n,operator:"==",stackStartFn:e})},S.notEqual=function e(t,a,n){if(arguments.length<2)throw new h("actual","expected");t==a&&x({actual:t,expected:a,message:n,operator:"!=",stackStartFn:e})},S.deepEqual=function e(t,a,n){if(arguments.length<2)throw new h("actual","expected");void 0===s&&A(),s(t,a)||x({actual:t,expected:a,message:n,operator:"deepEqual",stackStartFn:e})},S.notDeepEqual=function e(t,a,n){if(arguments.length<2)throw new h("actual","expected");void 0===s&&A(),s(t,a)&&x({actual:t,expected:a,message:n,operator:"notDeepEqual",stackStartFn:e})},S.deepStrictEqual=function e(t,a,n){if(arguments.length<2)throw new h("actual","expected");void 0===s&&A(),r(t,a)||x({actual:t,expected:a,message:n,operator:"deepStrictEqual",stackStartFn:e})},S.notDeepStrictEqual=function e(t,a,n){if(arguments.length<2)throw new h("actual","expected");void 0===s&&A();r(t,a)&&x({actual:t,expected:a,message:n,operator:"notDeepStrictEqual",stackStartFn:e})},S.strictEqual=function e(t,a,n){if(arguments.length<2)throw new h("actual","expected");w(t,a)||x({actual:t,expected:a,message:n,operator:"strictEqual",stackStartFn:e})},S.notStrictEqual=function e(t,a,n){if(arguments.length<2)throw new h("actual","expected");w(t,a)&&x({actual:t,expected:a,message:n,operator:"notStrictEqual",stackStartFn:e})};var D=i(function e(t,a,n){var i=this;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),a.forEach(function(e){e in t&&(void 0!==n&&"string"==typeof n[e]&&v(t[e])&&k(t[e],n[e])?i[e]=n[e]:i[e]=t[e])})});function C(e,t,n,i){if("function"!=typeof t){if(v(t))return k(t,e);if(2===arguments.length)throw new d("expected",["Function","RegExp"],t);if("object"!==a(e)||null===e){var o=new m({actual:e,expected:t,message:n,operator:"deepStrictEqual",stackStartFn:i});throw o.operator=i.name,o}var c=Object.keys(t);if(t instanceof Error)c.push("name","message");else if(0===c.length)throw new u("error",t,"may not be an empty object");return void 0===s&&A(),c.forEach(function(a){"string"==typeof e[a]&&v(t[a])&&k(t[a],e[a])||function(e,t,a,n,i,o){if(!(a in e)||!r(e[a],t[a])){if(!n){var s=new D(e,i),c=new D(t,i,e),l=new m({actual:s,expected:c,operator:"deepStrictEqual",stackStartFn:o});throw l.actual=e,l.expected=t,l.operator=o.name,l}x({actual:e,expected:t,message:n,operator:o.name,stackStartFn:o})}}(e,t,a,n,c,i)}),!0}return void 0!==t.prototype&&e instanceof t||!Error.isPrototypeOf(t)&&!0===t.call({},e)}function N(e){if("function"!=typeof e)throw new d("fn","Function",e);try{e()}catch(e){return e}return T}function M(e){return b(e)||null!==e&&"object"===a(e)&&"function"==typeof e.then&&"function"==typeof e.catch}function P(e){return Promise.resolve().then(function(){var t;if("function"==typeof e){if(!M(t=e()))throw new p("instance of Promise","promiseFn",t)}else{if(!M(e))throw new d("promiseFn",["Function","Promise"],e);t=e}return Promise.resolve().then(function(){return t}).then(function(){return T}).catch(function(e){return e})})}function O(e,t,n,i){if("string"==typeof n){if(4===arguments.length)throw new d("error",["Object","Error","Function","RegExp"],n);if("object"===a(t)&&null!==t){if(t.message===n)throw new l("error/message",'The error message "'.concat(t.message,'" is identical to the message.'))}else if(t===n)throw new l("error/message",'The error "'.concat(t,'" is identical to the message.'));i=n,n=void 0}else if(null!=n&&"object"!==a(n)&&"function"!=typeof n)throw new d("error",["Object","Error","Function","RegExp"],n);if(t===T){var o="";n&&n.name&&(o+=" (".concat(n.name,")")),o+=i?": ".concat(i):".";var s="rejects"===e.name?"rejection":"exception";x({actual:void 0,expected:n,operator:e.name,message:"Missing expected ".concat(s).concat(o),stackStartFn:e})}if(n&&!C(t,n,i,e))throw t}function $(e,t,a,n){if(t!==T){if("string"==typeof a&&(n=a,a=void 0),!a||C(t,a)){var i=n?": ".concat(n):".",o="doesNotReject"===e.name?"rejection":"exception";x({actual:t,expected:a,operator:e.name,message:"Got unwanted ".concat(o).concat(i,"\n")+'Actual message: "'.concat(t&&t.message,'"'),stackStartFn:e})}throw t}}function F(e,t,n,i,o){if(!v(t))throw new d("regexp","RegExp",t);var s="match"===o;if("string"!=typeof e||k(t,e)!==s){if(n instanceof Error)throw n;var r=!n;n=n||("string"!=typeof e?'The "string" argument must be of type string. Received type '+"".concat(a(e)," (").concat(g(e),")"):(s?"The input did not match the regular expression ":"The input was expected to not match the regular expression ")+"".concat(g(t),". Input:\n\n").concat(g(e),"\n"));var c=new m({actual:e,expected:t,message:n,operator:o,stackStartFn:i});throw c.generatedMessage=r,c}}function G(){for(var e=arguments.length,t=new Array(e),a=0;a<e;a++)t[a]=arguments[a];I.apply(void 0,[G,t.length].concat(t))}S.throws=function e(t){for(var a=arguments.length,n=new Array(a>1?a-1:0),i=1;i<a;i++)n[i-1]=arguments[i];O.apply(void 0,[e,N(t)].concat(n))},S.rejects=function e(t){for(var a=arguments.length,n=new Array(a>1?a-1:0),i=1;i<a;i++)n[i-1]=arguments[i];return P(t).then(function(t){return O.apply(void 0,[e,t].concat(n))})},S.doesNotThrow=function e(t){for(var a=arguments.length,n=new Array(a>1?a-1:0),i=1;i<a;i++)n[i-1]=arguments[i];$.apply(void 0,[e,N(t)].concat(n))},S.doesNotReject=function e(t){for(var a=arguments.length,n=new Array(a>1?a-1:0),i=1;i<a;i++)n[i-1]=arguments[i];return P(t).then(function(t){return $.apply(void 0,[e,t].concat(n))})},S.ifError=function e(t){if(null!=t){var n="ifError got unwanted exception: ";"object"===a(t)&&"string"==typeof t.message?0===t.message.length&&t.constructor?n+=t.constructor.name:n+=t.message:n+=g(t);var i=new m({actual:t,expected:null,operator:"ifError",message:n,stackStartFn:e}),o=t.stack;if("string"==typeof o){var s=o.split("\n");s.shift();for(var r=i.stack.split("\n"),c=0;c<s.length;c++){var l=r.indexOf(s[c]);if(-1!==l){r=r.slice(0,l);break}}i.stack="".concat(r.join("\n"),"\n").concat(s.join("\n"))}throw i}},S.match=function e(t,a,n){F(t,a,n,e,"match")},S.doesNotMatch=function e(t,a,n){F(t,a,n,e,"doesNotMatch")},S.strict=y(G,S,{equal:S.strictEqual,deepEqual:S.deepStrictEqual,notEqual:S.notStrictEqual,notDeepEqual:S.notDeepStrictEqual}),S.strict.strict=S.strict}),_=a.cw(function(e,t){function a(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),a.push.apply(a,n)}return a}function n(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?a(Object(n),!0).forEach(function(t){i(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):a(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function i(e,t,a){return(t=s(t))in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function o(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,s(n.key),n)}}function s(e){var t=function(e,t){if("object"!==m(e)||null===e)return e;var a=e[Symbol.toPrimitive];if(void 0!==a){var n=a.call(e,t||"default");if("object"!==m(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===m(t)?t:String(t)}function r(e,t){if(t&&("object"===m(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return c(e)}function c(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function l(e){var t="function"==typeof Map?new Map:void 0;return l=function(e){if(null===e||(a=e,-1===Function.toString.call(a).indexOf("[native code]")))return e;var a;if("function"!=typeof e)throw new TypeError("Super expression must either be null or a function");if(void 0!==t){if(t.has(e))return t.get(e);t.set(e,n)}function n(){return d(e,arguments,h(this).constructor)}return n.prototype=Object.create(e.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}}),p(n,e)},l(e)}function d(e,t,a){return d=u()?Reflect.construct.bind():function(e,t,a){var n=[null];n.push.apply(n,t);var i=new(Function.bind.apply(e,n));return a&&p(i,a.prototype),i},d.apply(null,arguments)}function u(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}function p(e,t){return p=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},p(e,t)}function h(e){return h=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},h(e)}function m(e){return m="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},m(e)}var g=Ia().inspect,f=z().codes.ERR_INVALID_ARG_TYPE;function b(e,t,a){return(void 0===a||a>e.length)&&(a=e.length),e.substring(a-t.length,a)===t}var v="",y="",w="",k="",A={deepStrictEqual:"Expected values to be strictly deep-equal:",strictEqual:"Expected values to be strictly equal:",strictEqualObject:'Expected "actual" to be reference-equal to "expected":',deepEqual:"Expected values to be loosely deep-equal:",equal:"Expected values to be loosely equal:",notDeepStrictEqual:'Expected "actual" not to be strictly deep-equal to:',notStrictEqual:'Expected "actual" to be strictly unequal to:',notStrictEqualObject:'Expected "actual" not to be reference-equal to "expected":',notDeepEqual:'Expected "actual" not to be loosely deep-equal to:',notEqual:'Expected "actual" to be loosely unequal to:',notIdentical:"Values identical but not reference-equal:"};function E(e){var t=Object.keys(e),a=Object.create(Object.getPrototypeOf(e));return t.forEach(function(t){a[t]=e[t]}),Object.defineProperty(a,"message",{value:e.message}),a}function S(e){return g(e,{compact:!1,customInspect:!1,depth:1e3,maxArrayLength:1/0,showHidden:!1,breakLength:1/0,showProxy:!1,sorted:!0,getters:!0})}function T(e,t,a){var n="",i="",o=0,s="",r=!1,c=S(e),l=c.split("\n"),d=S(t).split("\n"),u=0,p="";if("strictEqual"===a&&"object"===m(e)&&"object"===m(t)&&null!==e&&null!==t&&(a="strictEqualObject"),1===l.length&&1===d.length&&l[0]!==d[0]){var h=l[0].length+d[0].length;if(h<=10){if(!("object"===m(e)&&null!==e||"object"===m(t)&&null!==t||0===e&&0===t))return"".concat(A[a],"\n\n")+"".concat(l[0]," !== ").concat(d[0],"\n")}else if("strictEqualObject"!==a){if(h<80){for(;l[0][u]===d[0][u];)u++;u>2&&(p="\n ".concat(function(e,t){if(t=Math.floor(t),0==e.length||0==t)return"";var a=e.length*t;for(t=Math.floor(Math.log(t)/Math.log(2));t;)e+=e,t--;return e+e.substring(0,a-e.length)}(" ",u),"^"),u=0)}}}for(var g=l[l.length-1],f=d[d.length-1];g===f&&(u++<2?s="\n ".concat(g).concat(s):n=g,l.pop(),d.pop(),0!==l.length&&0!==d.length);)g=l[l.length-1],f=d[d.length-1];var E=Math.max(l.length,d.length);if(0===E){var T=c.split("\n");if(T.length>30)for(T[26]="".concat(v,"...").concat(k);T.length>27;)T.pop();return"".concat(A.notIdentical,"\n\n").concat(T.join("\n"),"\n")}u>3&&(s="\n".concat(v,"...").concat(k).concat(s),r=!0),""!==n&&(s="\n ".concat(n).concat(s),n="");var x=0,I=A[a]+"\n".concat(y,"+ actual").concat(k," ").concat(w,"- expected").concat(k),R=" ".concat(v,"...").concat(k," Lines skipped");for(u=0;u<E;u++){var D=u-o;if(l.length<u+1)D>1&&u>2&&(D>4?(i+="\n".concat(v,"...").concat(k),r=!0):D>3&&(i+="\n ".concat(d[u-2]),x++),i+="\n ".concat(d[u-1]),x++),o=u,n+="\n".concat(w,"-").concat(k," ").concat(d[u]),x++;else if(d.length<u+1)D>1&&u>2&&(D>4?(i+="\n".concat(v,"...").concat(k),r=!0):D>3&&(i+="\n ".concat(l[u-2]),x++),i+="\n ".concat(l[u-1]),x++),o=u,i+="\n".concat(y,"+").concat(k," ").concat(l[u]),x++;else{var C=d[u],N=l[u],M=N!==C&&(!b(N,",")||N.slice(0,-1)!==C);M&&b(C,",")&&C.slice(0,-1)===N&&(M=!1,N+=","),M?(D>1&&u>2&&(D>4?(i+="\n".concat(v,"...").concat(k),r=!0):D>3&&(i+="\n ".concat(l[u-2]),x++),i+="\n ".concat(l[u-1]),x++),o=u,i+="\n".concat(y,"+").concat(k," ").concat(N),n+="\n".concat(w,"-").concat(k," ").concat(C),x+=2):(i+=n,n="",1!==D&&0!==u||(i+="\n ".concat(N),x++))}if(x>20&&u<E-2)return"".concat(I).concat(R,"\n").concat(i,"\n").concat(v,"...").concat(k).concat(n,"\n")+"".concat(v,"...").concat(k)}return"".concat(I).concat(r?R:"","\n").concat(i).concat(n).concat(s).concat(p)}var x=function(e,t){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&p(e,t)}(y,e);var a,i,s,l,d,b=(a=y,i=u(),function(){var e,t=h(a);if(i){var n=h(this).constructor;e=Reflect.construct(t,arguments,n)}else e=t.apply(this,arguments);return r(this,e)});function y(e){var t;if(function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,y),"object"!==m(e)||null===e)throw new f("options","Object",e);var a=e.message,n=e.operator,i=e.stackStartFn,o=e.actual,s=e.expected,l=Error.stackTraceLimit;if(Error.stackTraceLimit=0,null!=a)t=b.call(this,String(a));else if("object"===m(o)&&null!==o&&"object"===m(s)&&null!==s&&"stack"in o&&o instanceof Error&&"stack"in s&&s instanceof Error&&(o=E(o),s=E(s)),"deepStrictEqual"===n||"strictEqual"===n)t=b.call(this,T(o,s,n));else if("notDeepStrictEqual"===n||"notStrictEqual"===n){var d=A[n],u=S(o).split("\n");if("notStrictEqual"===n&&"object"===m(o)&&null!==o&&(d=A.notStrictEqualObject),u.length>30)for(u[26]="".concat(v,"...").concat(k);u.length>27;)u.pop();t=1===u.length?b.call(this,"".concat(d," ").concat(u[0])):b.call(this,"".concat(d,"\n\n").concat(u.join("\n"),"\n"))}else{var p=S(o),h="",g=A[n];"notDeepEqual"===n||"notEqual"===n?(p="".concat(A[n],"\n\n").concat(p)).length>1024&&(p="".concat(p.slice(0,1021),"...")):(h="".concat(S(s)),p.length>512&&(p="".concat(p.slice(0,509),"...")),h.length>512&&(h="".concat(h.slice(0,509),"...")),"deepEqual"===n||"equal"===n?p="".concat(g,"\n\n").concat(p,"\n\nshould equal\n\n"):h=" ".concat(n," ").concat(h)),t=b.call(this,"".concat(p).concat(h))}return Error.stackTraceLimit=l,t.generatedMessage=!a,Object.defineProperty(c(t),"name",{value:"AssertionError [ERR_ASSERTION]",enumerable:!1,writable:!0,configurable:!0}),t.code="ERR_ASSERTION",t.actual=o,t.expected=s,t.operator=n,Error.captureStackTrace&&Error.captureStackTrace(c(t),i),t.stack,t.name="AssertionError",r(t)}return s=y,(l=[{key:"toString",value:function(){return"".concat(this.name," [").concat(this.code,"]: ").concat(this.message)}},{key:t,value:function(e,t){return g(this,n(n({},t),{},{customInspect:!1,depth:0}))}}])&&o(s.prototype,l),d&&o(s,d),Object.defineProperty(s,"prototype",{writable:!1}),y}(l(Error),g.custom);e.exports=x}),z=a.cw(function(e,t){function a(e){return a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},a(e)}function n(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,i(n.key),n)}}function i(e){var t=function(e,t){if("object"!==a(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var i=n.call(e,t||"default");if("object"!==a(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===a(t)?t:String(t)}function o(e,t){return o=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},o(e,t)}function s(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}();return function(){var n,i=r(e);if(t){var o=r(this).constructor;n=Reflect.construct(i,arguments,o)}else n=i.apply(this,arguments);return function(e,t){if(t&&("object"===a(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(this,n)}}function r(e){return r=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},r(e)}var c,l,d={};function u(e,t,a){a||(a=Error);var i=function(a){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&o(e,t)}(d,a);var i,r,c,l=s(d);function d(a,n,i){var o;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,d),o=l.call(this,function(e,a,n){return"string"==typeof t?t:t(e,a,n)}(a,n,i)),o.code=e,o}return i=d,r&&n(i.prototype,r),c&&n(i,c),Object.defineProperty(i,"prototype",{writable:!1}),i}(a);d[e]=i}function p(e,t){if(Array.isArray(e)){var a=e.length;return e=e.map(function(e){return String(e)}),a>2?"one of ".concat(t," ").concat(e.slice(0,a-1).join(", "),", or ")+e[a-1]:2===a?"one of ".concat(t," ").concat(e[0]," or ").concat(e[1]):"of ".concat(t," ").concat(e[0])}return"of ".concat(t," ").concat(String(e))}u("ERR_AMBIGUOUS_ARGUMENT",'The "%s" argument is ambiguous. %s',TypeError),u("ERR_INVALID_ARG_TYPE",function(e,t,n){var i,o,s,r;if(void 0===c&&(c=$()),c("string"==typeof e,"'name' must be a string"),"string"==typeof t&&(o="not ",t.substr(!s||s<0?0:+s,o.length)===o)?(i="must not be",t=t.replace(/^not /,"")):i="must be",function(e,t,a){return(void 0===a||a>e.length)&&(a=e.length),e.substring(a-t.length,a)===t}(e," argument"))r="The ".concat(e," ").concat(i," ").concat(p(t,"type"));else{var l=function(e,t,a){return"number"!=typeof a&&(a=0),!(a+t.length>e.length)&&-1!==e.indexOf(t,a)}(e,".")?"property":"argument";r='The "'.concat(e,'" ').concat(l," ").concat(i," ").concat(p(t,"type"))}return r+=". Received type ".concat(a(n))},TypeError),u("ERR_INVALID_ARG_VALUE",function(e,t){var a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"is invalid";void 0===l&&(l=Ia());var n=l.inspect(t);return n.length>128&&(n="".concat(n.slice(0,128),"...")),"The argument '".concat(e,"' ").concat(a,". Received ").concat(n)},TypeError,RangeError),u("ERR_INVALID_RETURN_VALUE",function(e,t,n){var i;return i=n&&n.constructor&&n.constructor.name?"instance of ".concat(n.constructor.name):"type ".concat(a(n)),"Expected ".concat(e,' to be returned from the "').concat(t,'"')+" function but got ".concat(i,".")},TypeError),u("ERR_MISSING_ARGS",function(){for(var e=arguments.length,t=new Array(e),a=0;a<e;a++)t[a]=arguments[a];void 0===c&&(c=$()),c(t.length>0,"At least one arg needs to be specified");var n="The ",i=t.length;switch(t=t.map(function(e){return'"'.concat(e,'"')}),i){case 1:n+="".concat(t[0]," argument");break;case 2:n+="".concat(t[0]," and ").concat(t[1]," arguments");break;default:n+=t.slice(0,i-1).join(", "),n+=", and ".concat(t[i-1]," arguments")}return"".concat(n," must be specified")},TypeError),e.exports.codes=d}),F=()=>a(7392),G=()=>a(8883),q=a.cw(function(e,t){ca();a.d(t,["M",0,e=>!!e&&(0,ca().RO)(e,"4.147.0")])}),L=a.cw(function(e,t){function n(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),a.push.apply(a,n)}return a}function i(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?n(Object(a),!0).forEach(function(t){o(e,t,a[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):n(Object(a)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))})}return e}function o(e,t,a){return(t=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var a=e[Symbol.toPrimitive];if(void 0!==a){var n=a.call(e,t||"default");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}C();const s=(e,t)=>{const a=e.filter(e=>!!e.impact),n=[],o=t.selectorMap;for(const e of a)n.push(...e.nodes.map(a=>{var n;const s=i(i({},t),{},{boundingBox:o[JSON.stringify(a.target)]||(null===(n=a.advanced)||void 0===n?void 0:n.visibleBoundingRect)});return delete s.selectorMap,(0,pe().d)(e,a,s)}));return n},r=(e,t)=>{const a=e.filter(e=>!!e.impact),n=t.selectorMap;return a.flatMap(e=>e.nodes.map(a=>((e,a)=>{var o;const s=JSON.stringify(a.target),r=n[s]||(null===(o=a.advanced)||void 0===o?void 0:o.visibleBoundingRect),c=i(i({},t),{},{boundingBox:r});return delete c.selectorMap,{mappedIssue:(0,pe().d)(e,a,c),axeIssue:e,node:a}})(e,a)))};a.d(t,["T",0,({violations:e=[],bestPractices:t=[],incomplete:a=[],selectorMap:n={},screenshotId:o})=>{const r={selectorMap:n,screenshotId:o};return[...s(e,r),...s(t,i(i({},r),{},{variant:"best-practice"})),...s(a,i(i({},r),{},{needs_review:!0}))]},"i",0,async({violations:e=[],bestPractices:t=[],incomplete:a=[],selectorMap:n={},screenshotId:o,ignoredIssues:s=[],url:c})=>{const l={selectorMap:n,screenshotId:o},d=[...r(e,l),...r(t,i(i({},l),{},{variant:"best-practice"})),...r(a,i(i({},l),{},{needs_review:!0}))],u=await Promise.all(d.map(async({mappedIssue:e,axeIssue:t,node:a})=>{let n=e;const o=await C().createFingerprintsAsync({ruleId:t.id,node:a,url:c});n=i(i({},n),{},{fingerprints:o});const r=((e,t)=>t.find(t=>(0,re().B)(e,t)))(n,s);return r?((e,t)=>i(i({},e),{},{is_ignored:!0,ignore_reason:t.ignoreReason||null,ignore_notes:t.ignoreNotes||null}))(n,r):n}));return u}])}),j=a.cw(function(e,t){a.d(t,["fx",0,()=>"chrome"])}),U=a.cw(function(e,t){It();const n={name:"interactive-elements",displayName:()=>It().Ay`Interactive Elements`,description:()=>It().Ay`The Interactive Elements tool will guide you through testing interactive elements' accessible names, roles, and states.`,config:{vitals:["interactives"],elementSelector:!0,"takes-screenshots":!0,aiAssist:{featureFlag:{id:"igt_automation_interactive_elements_v2",defaultValue:!1},splashText:()=>It().Ay`Rather than manually assessing each element's name, role and states, AI can automate it for you and you can then review.`},mlToolEnabled:!0}},i={name:"images",displayName:()=>It().Ay`Images`,description:()=>It().Ay`The images tests will walk you through testing images (img tags, the 'img' role, css background images, icons and more!).`,config:{vitals:["images"],elementSelector:!0,"takes-screenshots":!0,tips:[{id:"images-sight-required",text:()=>It().Ay`Vision is needed to perform the entirety of this test accurately.`}],aiAssist:{featureFlag:{id:"automated_images_igt_v1",defaultValue:!1},splashText:()=>It().Ay`Rather than manually assessing each image's meaning and any applicable alternative text, AI can automate it for you, and you can then review.`},mlToolEnabled:{featureFlag:{id:"automated_images_igt_v1",defaultValue:!1}}}},o={name:"structure",displayName:()=>It().Ay`Structure`,description:()=>It().Ay`The structure tool will guide you through testing the page's structure.`,config:{vitals:["headings"],elementSelector:!0,"takes-screenshots":!0,aiAssist:{featureFlag:{id:"automated_structure_igt_v1_0_1",defaultValue:!0},splashText:()=>It().Ay`Rather than manually assessing components of the structure of the page, like headings, lists and languages used, AI can automate it for you, and you can then review.`},mlToolEnabled:!0}},s="automated_modal_igt_v1",r={name:"aria-modal",displayName:()=>It().Ay`Modal Dialog`,description:()=>It().Ay`The Modal Dialog tool will guide you through testing a single modal or alert dialog.`,config:{vitals:[],elementSelector:!0,"takes-screenshots":!0,rerun:{featureFlag:{id:"modal_igt_replay",defaultValue:!0},replayText:()=>It().Ay`Quickly retest your modal for accessibility by automatically using your previous intelligent guided test answers.`,hubspotEvent:"axe_first_igt_aria_modal_replay_date"},aiAssist:{featureFlag:{id:s,defaultValue:!1},splashText:()=>It().Ay`Rather than manually assessing your modal dialogs, AI can automate it for you, and you can then review.`},mlToolEnabled:{featureFlag:{id:s,defaultValue:!1}}}},c={name:"table",displayName:()=>It().Ay`Table`,description:()=>It().Ay`The table tool will guide you through testing a table.`,config:{vitals:["tables","table","data-cells"],elementSelector:!0,"takes-screenshots":!0,maintainDebuggerSession:!0,aiAssist:{featureFlag:{id:"PRERELEASE_automated_table_igt_DO_NOT_TURN_ON",defaultValue:!1},splashText:()=>It().Ay`Rather than manually assessing each data cell and its headers, AI can automate it for you, and you can then review.`},mlToolEnabled:!0}},l={name:"keyboard",displayName:()=>It().Ay`Keyboard`,description:()=>It().Ay`The keyboard tests will perform a series of tab order and focus indication checks.`,config:{vitals:["focused-element","missing","select-missing","skipped","tabStops"],elementSelector:!0,"takes-screenshots":!0,rerun:{featureFlag:{id:"igt_keyboard_replay_v1",defaultValue:!1},replayText:()=>It().Ay`Quickly retest keyboard for accessibility by automatically using your previous intelligent guided test answers.`,hubspotEvent:"axe_first_igt_keyboard_replay_date"},aiAssist:{featureFlag:{id:"automated_keyboard_igt_v1",defaultValue:!1},splashText:()=>It().Ay`Rather than manually identifying missing tab stops and the purpose of each tab stop, AI can automate it for you, and you can then review.`},mlToolEnabled:!0}},d={name:"forms",displayName:()=>It().Ay`Forms`,description:()=>It().Ay`Test forms to ensure users can fill them out accurately and submit them.`,config:{vitals:["forms","inputs","groups"],elementSelector:!0,"takes-screenshots":!0,tips:[{id:"images-sight-required",text:()=>It().Ay`Vision is needed to perform the entirety of this test accurately.`}],rerun:{featureFlag:{id:"forms_igt_replay_v1",defaultValue:!1},replayText:()=>It().Ay`Quickly retest your forms for accessibility by automatically using your previous intelligent guided test answers.`,hubspotEvent:"axe_first_igt_forms_replay_date"},mlToolEnabled:!0}};a.d(t,["QJ",0,l,"QK",0,o,"UG",0,n,"YS",0,r,"tp",0,c,"uO",0,d,"zC",0,i])}),B=a.cw(function(e,t){console;a.d(t,["R8",0,(...e)=>{},"Rm",0,(...e)=>{}])}),V=a.cw(function(e,t){function n(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),a.push.apply(a,n)}return a}function i(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?n(Object(a),!0).forEach(function(t){o(e,t,a[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):n(Object(a)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))})}return e}function o(e,t,a){return(t=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var a=e[Symbol.toPrimitive];if(void 0!==a){var n=a.call(e,t||"default");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}Ma();const s="appData",r=new(Ma().eu);const c=class{constructor(){this.set=async(e,t)=>this.setAppData(e,t,!1),this.update=async(e,t)=>this.setAppData(e,t,!0)}async setAppData(e,t,a){return await r.runExclusive(async()=>{let{[s]:n={}}=await browser.storage.local.get(s);return t?n[t]=a?i(i({},n[t]),e):e:n=e,await browser.storage.local.set({[s]:n}),t?n[t]:n})}async get(e){return await r.runExclusive(async()=>{const{[s]:t={}}=await browser.storage.local.get(s);return e?t[e]:t})}async clear(){await browser.storage.local.remove(s)}};a.d(t,["A",0,c])}),W=a.cw(function(e,t){a.d(t,{K:()=>r}),$();const n=new Map;let i=null;const o=async e=>{i||(i=fetch(`${e}/api/internal/features`).then(e=>(Ja()()(e.ok,`Feature flag API responded with ${e.status}`),e.json())).catch(e=>{if(i=null,!(e instanceof TypeError&&"Failed to fetch"===e.message))throw e;return Promise.resolve(null)}));const t=await i,a=(null==t?void 0:t.features)??null;return n.set(e,a),i=null,a};async function s(){try{const e=await browser.storage.local.get();await Promise.all(Object.keys(e).filter(e=>e.startsWith("feature:")).map(e=>browser.storage.local.remove(e)))}catch(e){(0,me().vV)({message:"Failed to clear feature flags from local storage",originalError:e})}}async function r(){return{async variation(e,t){const a=`feature:${e}`,i=t??!1;try{const t=await(0,le().A)();let r=n.get(t);r||(n.clear(),r=await o(t),null!==r&&await s());const c=(r??[]).find(({id:t})=>t===e),{[a]:l}=await browser.storage.local.get(a),d=c?c.state:"boolean"!=typeof l?i:l;return await browser.storage.local.set({[a]:d}),d}catch{}const r=await browser.storage.local.get(a);return r&&Object.prototype.hasOwnProperty.call(r,a)?!!r[a]:i},clearCache(){n.clear(),s(),i=null}}}}),H=a.cw(function(e,t){async function n(e,t=!1){return(await(0,W().K)()).variation(e,t)}a.d(t,{x:()=>n}),Pt(),W()}),K=a.cw(function(e,t){const n="gemini-2.5-flash",i=[{label:"GPT-4.1 nano",details:{provider:"openai",name:"gpt-4.1-nano",context_window:1047567,has_image_input:!0,max_patches:1536}},{label:"GPT-4.1 mini",details:{provider:"openai",name:"gpt-4.1-mini",context_window:1047567,has_image_input:!0,max_patches:1536}},{label:"GPT-4.1",details:{provider:"openai",name:"gpt-4.1",context_window:1047567,has_image_input:!0}},{label:"GPT-5 mini",details:{provider:"openai",name:"gpt-5-mini",context_window:4e5,has_image_input:!0}},{label:"GPT-5 nano",details:{provider:"openai",name:"gpt-5-nano",context_window:4e5,has_image_input:!0}},{label:"GPT-5.2",details:{provider:"openai",name:"gpt-5.2",context_window:4e5,has_image_input:!0}},{label:"GPT-5.4 mini",details:{provider:"openai",name:"gpt-5.4-mini",context_window:4e5,has_image_input:!0}},{label:"GPT-5.4 nano",details:{provider:"openai",name:"gpt-5.4-nano",context_window:4e5,has_image_input:!0}},{label:"o1-mini",details:{provider:"openai",name:"o1-mini",context_window:128e3,has_image_input:!0}},{label:"Gemini 2.0 Flash",details:{provider:"google",name:"gemini-2.0-flash",context_window:1e6,has_image_input:!0}},{label:"Gemini 2.5 Flash",details:{provider:"google",name:n,context_window:1e6,has_image_input:!0,supports_thinking_budget:!0}},{label:"Gemini 2.5 Flash Lite",details:{provider:"google",name:"gemini-2.5-flash-lite-preview-09-2025",context_window:1e6,has_image_input:!0,supports_thinking_budget:!0}},{label:"Gemini 3.1 Flash Lite",details:{provider:"google",name:"gemini-3.1-flash-lite",context_window:1e6,has_image_input:!0,supports_thinking_budget:!0,fixed_temperature:1}},{label:"Gemini 3 Flash (Preview)",details:{provider:"google",name:"gemini-3-flash-preview",context_window:1e6,has_image_input:!0,supports_thinking_budget:!0,fixed_temperature:1}},{label:"Gemini 3.1 Pro (Preview)",details:{provider:"google",name:"gemini-3.1-pro-preview",context_window:1e6,has_image_input:!0,supports_thinking_budget:!0,fixed_temperature:1}},{label:"Gemini 3.5 Flash",details:{provider:"google",name:"gemini-3.5-flash",context_window:1e6,has_image_input:!0,supports_thinking_budget:!0,fixed_temperature:1}},{label:"Gemini 3.5 Flash Lite",details:{provider:"google",name:"gemini-3.5-flash-lite",context_window:1e6,has_image_input:!0,thinking_level:"minimal",fixed_temperature:1}},{label:"Gemini 3.7 Flash",details:{provider:"google",name:"gemini-3.7-flash",context_window:1e6,has_image_input:!0,thinking_level:"medium",fixed_temperature:1}},{label:"Claude Haiku 4.5 (Bedrock)",details:{provider:"bedrock",name:"us.anthropic.claude-haiku-4-5-20251001-v1:0",context_window:2e5,has_image_input:!0}},{label:"Claude Sonnet 4.5 (Bedrock)",details:{provider:"bedrock",name:"us.anthropic.claude-sonnet-4-5-20250929-v1:0",context_window:2e5,has_image_input:!0}},{label:"Claude Opus 4.5 (Bedrock)",details:{provider:"bedrock",name:"us.anthropic.claude-opus-4-5-20251101-v1:0",context_window:2e5,has_image_input:!0}},{label:"Amazon Nova Lite",details:{provider:"bedrock",name:"us.amazon.nova-lite-v1:0",context_window:3e5,has_image_input:!0}},{label:"Amazon Nova Pro",details:{provider:"bedrock",name:"us.amazon.nova-pro-v1:0",context_window:3e5,has_image_input:!0}},{label:"Amazon Nova Premier",details:{provider:"bedrock",name:"us.amazon.nova-premier-v1:0",context_window:1e6,has_image_input:!0}},{label:"Llama 3.2 11B Vision",details:{provider:"bedrock",name:"us.meta.llama3-2-11b-instruct-v1:0",context_window:128e3,has_image_input:!0}},{label:"Llama 3.2 90B Vision",details:{provider:"bedrock",name:"us.meta.llama3-2-90b-instruct-v1:0",context_window:128e3,has_image_input:!0}},{label:"Llama 4 Scout",details:{provider:"bedrock",name:"us.meta.llama4-scout-17b-instruct-v1:0",context_window:1e7,has_image_input:!0}},{label:"Llama 4 Maverick",details:{provider:"bedrock",name:"us.meta.llama4-maverick-17b-instruct-v1:0",context_window:1e6,has_image_input:!0}},{label:"Gemma 3 4B",details:{provider:"bedrock",name:"google.gemma-3-4b-it",context_window:128e3,has_image_input:!0}},{label:"Gemma 3 12B",details:{provider:"bedrock",name:"google.gemma-3-12b-it",context_window:128e3,has_image_input:!0}},{label:"Gemma 3 27B",details:{provider:"bedrock",name:"google.gemma-3-27b-it",context_window:128e3,has_image_input:!0}}];a.d(t,["c1",0,"internal_llm_selection","pT",0,n,"sT",0,i,"tT",0,"igtSelectedModelDetails"])}),Y=a.cw(function(e,t){a.d(t,{Q:()=>i}),H();const n=["/api/ml/keyboard-igt/","/api/ml/modal-igt/","/api/ml/structure-igt/","/api/ml/evaluate-images","/api/ml/evaluate-interactive-elements"];async function i(e){var t;if(!function(e){return n.some(t=>e.startsWith(t))}(e))return;if(!await(0,H().x)(K().c1))return;const a=(await browser.storage.local.get(K().tT))[K().tT];return function(e){if("object"!=typeof e||null===e)return!1;const t=e;return"string"==typeof t.provider&&"string"==typeof t.name&&"number"==typeof t.context_window&&"boolean"==typeof t.has_image_input}(a)&&a.name!==K().pT?null===(t=K().sT.find(e=>e.details.name===a.name))||void 0===t?void 0:t.details:void 0}}),J=a.cw(function(e,t){a.d(t,["j",0,[{id:"alt-text-area-missing",descriptions:{en:{shortText:"<area> alt text is missing",description:"An <area> element has no text alternative."}},checkpoints:[{checkpoint:"4.1.2.a",standards:["wcag2a"],type:"issue",impact:4},{checkpoint:"en301549-9-4.1.2.a",standards:["EN-301-549"],type:"issue",impact:4},{checkpoint:"rgaa-1.1.2",standards:["RGAAv4"],type:"issue",impact:4}]},{id:"alt-text-complex-missing",descriptions:{en:{shortText:"Short and detailed text alternatives missing for complex image",description:"The complex image is missing both short and detailed text alternatives."}},checkpoints:[{checkpoint:"1.1.1.c",standards:["wcag2a"],type:"issue",impact:4},{checkpoint:"en301549-9-1.1.1.c",standards:["EN-301-549"],type:"issue",impact:4},{checkpoint:"rgaa-1.6.1",standards:["RGAAv4"],type:"issue",impact:4}]},{id:"alt-text-decorative-inappropriate",descriptions:{en:{shortText:"The decorative image is not hidden from screen readers",description:"The decorative image is not hidden from screen readers."}},checkpoints:[{checkpoint:"1.1.1.d",standards:["wcag2a"],type:"issue",impact:2},{checkpoint:"en301549-9-1.1.1.d",standards:["EN-301-549"],type:"issue",impact:2},{checkpoint:"rgaa-1.2.1",standards:["RGAAv4"],type:"issue",impact:2},{checkpoint:"rgaa-1.2.2",standards:["RGAAv4"],type:"issue",impact:2},{checkpoint:"rgaa-1.2.3",standards:["RGAAv4"],type:"issue",impact:2},{checkpoint:"rgaa-1.2.4",standards:["RGAAv4"],type:"issue",impact:2},{checkpoint:"rgaa-1.2.5",standards:["RGAAv4"],type:"issue",impact:2},{checkpoint:"rgaa-1.2.6",standards:["RGAAv4"],type:"issue",impact:2}]},{id:"alt-text-different",descriptions:{en:{shortText:"Text alternative does not present same info as image",description:"The text alternative does not present the same information as the image."}},checkpoints:[{checkpoint:"1.1.1.b",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-1.1.1.b",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-1.9.1",standards:["RGAAv4"],type:"issue",impact:3},{checkpoint:"rgaa-1.9.3",standards:["RGAAv4"],type:"issue",impact:3},{checkpoint:"rgaa-1.9.4",standards:["RGAAv4"],type:"issue",impact:3},{checkpoint:"rgaa-1.9.5",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"alt-text-dynamic-image-inconsistent",descriptions:{en:{shortText:"Text alternative does not match dynamically changing informative image",description:"The image is changing dynamically but the text alternative doesn't correspond to the informative image displayed."}},checkpoints:[{checkpoint:"1.1.1.b",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-1.1.1.b",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-1.3.1",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"alt-text-dynamic-image-inconsistent-active",descriptions:{en:{shortText:"Text alternative does not match dynamically changing active image",description:"The image is changing dynamically but the text alternative doesn't correspond to the active image displayed."}},checkpoints:[{checkpoint:"1.1.1.a",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-1.1.1.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-1.3.4",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"alt-text-essential-image-text",descriptions:{en:{shortText:"Text alternative does not include essential text in the informative image",description:"The text alternative does not contain the essential text in the informative image, and therefore does not present the same information as the image."}},checkpoints:[{checkpoint:"1.1.1.b",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-1.1.1.b",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-1.3.1",standards:["RGAAv4"],type:"issue",impact:3},{checkpoint:"rgaa-1.3.4",standards:["RGAAv4"],type:"issue",impact:3},{checkpoint:"rgaa-1.3.5",standards:["RGAAv4"],type:"issue",impact:3},{checkpoint:"rgaa-1.3.6",standards:["RGAAv4"],type:"issue",impact:3},{checkpoint:"rgaa-1.3.7",standards:["RGAAv4"],type:"issue",impact:3},{checkpoint:"rgaa-1.3.8",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"alt-text-essential-image-text-active",descriptions:{en:{shortText:"Text alternative does not include essential text in the active image",description:"The text alternative does not contain the essential text in the active image, and therefore does not present the same information as the image."}},checkpoints:[{checkpoint:"1.1.1.a",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-1.1.1.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-1.3.2",standards:["RGAAv4"],type:"issue",impact:3},{checkpoint:"rgaa-1.3.3",standards:["RGAAv4"],type:"issue",impact:3},{checkpoint:"rgaa-6.1.2",standards:["RGAAv4"],type:"issue",impact:3},{checkpoint:"rgaa-6.1.4",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"alt-text-image-map-nonunique",descriptions:{en:{shortText:"Non-unique text alternative for image map areas",description:"The text alternative for each area of the image map is not unique."}},checkpoints:[{checkpoint:"2.4.4.a",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-2.4.4.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-1.1.4",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"alt-text-image-text-mismatch",descriptions:{en:{shortText:"Alt text does not match text in image",description:"The text alternative does not exactly match text that is embedded in the image."}},checkpoints:[{checkpoint:"1.1.1.a",standards:["wcag2a"],type:"best-practice",impact:1},{checkpoint:"1.1.1.b",standards:["wcag2a"],type:"best-practice",impact:1},{checkpoint:"1.1.1.h",standards:["wcag2a"],type:"best-practice",impact:1},{checkpoint:"en301549-9-1.1.1.h",standards:["EN-301-549"],type:"best-practice",impact:1},{checkpoint:"en301549-9-1.1.1.b",standards:["EN-301-549"],type:"best-practice",impact:1},{checkpoint:"en301549-9-1.1.1.a",standards:["EN-301-549"],type:"best-practice",impact:1},{checkpoint:"rgaa-1.3.1",standards:["RGAAv4"],type:"best-practice",impact:1}]},{id:"alt-text-inappropriate",descriptions:{en:{shortText:"Text alternative is not appropriate",description:"The text alternative is not appropriate."}},checkpoints:[{checkpoint:"1.1.1.h",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-1.1.1.h",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-1.9.1",standards:["RGAAv4"],type:"issue",impact:3},{checkpoint:"rgaa-1.9.3",standards:["RGAAv4"],type:"issue",impact:3},{checkpoint:"rgaa-1.9.4",standards:["RGAAv4"],type:"issue",impact:3},{checkpoint:"rgaa-1.9.5",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"alt-text-inappropriate-captcha",descriptions:{en:{shortText:"Text alternative for CAPTCHA is not appropriate",description:"The text alternative for the CAPTCHA image does not describe its purpose."}},checkpoints:[{checkpoint:"1.1.1.g",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-1.1.1.g",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-1.4.2",standards:["RGAAv4"],type:"issue",impact:3},{checkpoint:"rgaa-1.4.3",standards:["RGAAv4"],type:"issue",impact:3},{checkpoint:"rgaa-1.4.4",standards:["RGAAv4"],type:"issue",impact:3},{checkpoint:"rgaa-1.4.5",standards:["RGAAv4"],type:"issue",impact:3},{checkpoint:"rgaa-1.4.6",standards:["RGAAv4"],type:"issue",impact:3},{checkpoint:"rgaa-1.4.7",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"alt-text-inconsistent",descriptions:{en:{shortText:"Text alternative does not serve same purpose as image",description:"The text alternative does not serve the same purpose as the image."}},checkpoints:[{checkpoint:"1.1.1.a",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-1.1.1.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-1.9.1",standards:["RGAAv4"],type:"issue",impact:3},{checkpoint:"rgaa-1.9.3",standards:["RGAAv4"],type:"issue",impact:3},{checkpoint:"rgaa-1.9.4",standards:["RGAAv4"],type:"issue",impact:3},{checkpoint:"rgaa-1.9.5",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"alt-text-longdesc-inadequate",descriptions:{en:{shortText:"Detailed alternative description not adequate",description:"The detailed textual description of the complex image is not adequate to convey its full meaning."}},checkpoints:[{checkpoint:"1.1.1.c",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-1.1.1.c",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-1.7.1",standards:["RGAAv4"],type:"issue",impact:3},{checkpoint:"rgaa-1.7.2",standards:["RGAAv4"],type:"issue",impact:3},{checkpoint:"rgaa-1.7.3",standards:["RGAAv4"],type:"issue",impact:3},{checkpoint:"rgaa-1.7.4",standards:["RGAAv4"],type:"issue",impact:3},{checkpoint:"rgaa-1.7.5",standards:["RGAAv4"],type:"issue",impact:3},{checkpoint:"rgaa-1.7.6",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"alt-text-longdesc-missing",descriptions:{en:{shortText:"Detailed alternative description is missing",description:"The detailed textual description of the complex image is missing."}},checkpoints:[{checkpoint:"1.1.1.c",standards:["wcag2a"],type:"issue",impact:4},{checkpoint:"en301549-9-1.1.1.c",standards:["EN-301-549"],type:"issue",impact:4},{checkpoint:"rgaa-1.6.1",standards:["RGAAv4"],type:"issue",impact:4},{checkpoint:"rgaa-1.6.2",standards:["RGAAv4"],type:"issue",impact:4},{checkpoint:"rgaa-1.6.3",standards:["RGAAv4"],type:"issue",impact:4},{checkpoint:"rgaa-1.6.5",standards:["RGAAv4"],type:"issue",impact:4},{checkpoint:"rgaa-1.6.6",standards:["RGAAv4"],type:"issue",impact:4},{checkpoint:"rgaa-1.6.7",standards:["RGAAv4"],type:"issue",impact:4},{checkpoint:"rgaa-1.6.8",standards:["RGAAv4"],type:"issue",impact:4},{checkpoint:"rgaa-1.6.10",standards:["RGAAv4"],type:"issue",impact:4}]},{id:"alt-text-missing",descriptions:{en:{shortText:"Text alternative for the informative image is missing",description:"The text alternative for the informative image is missing."}},checkpoints:[{checkpoint:"1.1.1.b",standards:["wcag2a"],type:"issue",impact:4},{checkpoint:"en301549-9-1.1.1.b",standards:["EN-301-549"],type:"issue",impact:4},{checkpoint:"rgaa-1.1.1",standards:["RGAAv4"],type:"issue",impact:4},{checkpoint:"rgaa-1.1.5",standards:["RGAAv4"],type:"issue",impact:4},{checkpoint:"rgaa-1.1.8",standards:["RGAAv4"],type:"issue",impact:4}]},{id:"alt-text-missing-active",descriptions:{en:{shortText:"Text alternative for the active image missing",description:"The text alternative for the active image is missing."}},checkpoints:[{checkpoint:"1.1.1.a",standards:["wcag2a"],type:"issue",impact:4},{checkpoint:"en301549-9-1.1.1.a",standards:["EN-301-549"],type:"issue",impact:4},{checkpoint:"rgaa-1.1.6",standards:["RGAAv4"],type:"issue",impact:4},{checkpoint:"rgaa-1.1.7",standards:["RGAAv4"],type:"issue",impact:4}]},{id:"alt-text-missing-captcha",descriptions:{en:{shortText:"CAPTCHA is missing text alternative",description:"The text alternative for the CAPTCHA image is missing."}},checkpoints:[{checkpoint:"1.1.1.g",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-1.1.1.g",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-1.4.1",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"alt-text-missing-media-file",descriptions:{en:{shortText:"Media file is missing text alternative",description:"There is no text alternative to describe the media file."}},checkpoints:[{checkpoint:"1.1.1.h",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-1.1.1.h",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-4.7.1",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"alt-text-redundancy",descriptions:{en:{shortText:"Alt text duplicates adjacent text",description:"The text alternative duplicates the adjacent text."}},checkpoints:[{checkpoint:"1.1.1.d",standards:["wcag2a"],type:"best-practice",impact:1},{checkpoint:"en301549-9-1.1.1.d",standards:["EN-301-549"],type:"best-practice",impact:1}]},{id:"alt-text-redundancy-adjacent-link",descriptions:{en:{shortText:"Alt text duplicates adjacent link text",description:"The text alternative duplicates the adjacent link text for the same resource/destination."}},checkpoints:[{checkpoint:"1.1.1.a",standards:["wcag2a"],type:"best-practice",impact:1},{checkpoint:"1.1.1.d",standards:["wcag2a"],type:"best-practice",impact:1},{checkpoint:"en301549-9-1.1.1.d",standards:["EN-301-549"],type:"best-practice",impact:1},{checkpoint:"en301549-9-1.1.1.a",standards:["EN-301-549"],type:"best-practice",impact:1}]},{id:"alt-text-redundancy-link-text",descriptions:{en:{shortText:"Alt text duplicates text of link or button",description:"The text alternative duplicates the text content of the link or button it is inside, and therefore should be null."}},checkpoints:[{checkpoint:"1.1.1.a",standards:["wcag2a"],type:"best-practice",impact:1},{checkpoint:"1.1.1.d",standards:["wcag2a"],type:"best-practice",impact:1},{checkpoint:"en301549-9-1.1.1.d",standards:["EN-301-549"],type:"best-practice",impact:1},{checkpoint:"en301549-9-1.1.1.a",standards:["EN-301-549"],type:"best-practice",impact:1}]},{id:"alt-text-short-text-missing",descriptions:{en:{shortText:"Short text alternative is missing",description:"A short text alternative for a complex image is missing."}},checkpoints:[{checkpoint:"1.1.1.c",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-1.1.1.c",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-1.1.1",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"alt-text-short-text-not-meaningful",descriptions:{en:{shortText:"Short text alternative is not appropriate",description:"The short text alternative for the complex image is not appropriate or meaningful."}},checkpoints:[{checkpoint:"1.1.1.c",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-1.1.1.c",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-1.3.1",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"alt-text-too-long",descriptions:{en:{shortText:"Alt text is greater than 150 chars",description:"The text alternative is greater than 150 characters."}},checkpoints:[{checkpoint:"1.1.1.a",standards:["wcag2a"],type:"best-practice",impact:1},{checkpoint:"1.1.1.b",standards:["wcag2a"],type:"best-practice",impact:1},{checkpoint:"1.1.1.c",standards:["wcag2a"],type:"best-practice",impact:1},{checkpoint:"1.1.1.g",standards:["wcag2a"],type:"best-practice",impact:1},{checkpoint:"1.1.1.h",standards:["wcag2a"],type:"best-practice",impact:1},{checkpoint:"en301549-9-1.1.1.h",standards:["EN-301-549"],type:"best-practice",impact:1},{checkpoint:"en301549-9-1.1.1.g",standards:["EN-301-549"],type:"best-practice",impact:1},{checkpoint:"en301549-9-1.1.1.c",standards:["EN-301-549"],type:"best-practice",impact:1},{checkpoint:"en301549-9-1.1.1.b",standards:["EN-301-549"],type:"best-practice",impact:1},{checkpoint:"en301549-9-1.1.1.a",standards:["EN-301-549"],type:"best-practice",impact:1}]},{id:"alt-text-trademark",descriptions:{en:{shortText:"Alt text does not reference trademark",description:"The text alternative does not include text to represent the trademark, service mark, registered trademark or copyright symbol that is embedded in the image."}},checkpoints:[{checkpoint:"1.1.1.a",standards:["wcag2a"],type:"best-practice",impact:1},{checkpoint:"1.1.1.b",standards:["wcag2a"],type:"best-practice",impact:1},{checkpoint:"1.1.1.c",standards:["wcag2a"],type:"best-practice",impact:1},{checkpoint:"1.1.1.g",standards:["wcag2a"],type:"best-practice",impact:1},{checkpoint:"1.1.1.h",standards:["wcag2a"],type:"best-practice",impact:1},{checkpoint:"en301549-9-1.1.1.h",standards:["EN-301-549"],type:"best-practice",impact:1},{checkpoint:"en301549-9-1.1.1.g",standards:["EN-301-549"],type:"best-practice",impact:1},{checkpoint:"en301549-9-1.1.1.c",standards:["EN-301-549"],type:"best-practice",impact:1},{checkpoint:"en301549-9-1.1.1.b",standards:["EN-301-549"],type:"best-practice",impact:1},{checkpoint:"en301549-9-1.1.1.a",standards:["EN-301-549"],type:"best-practice",impact:1}]},{id:"alt-text-verbose",descriptions:{en:{shortText:"Alt text is too verbose",description:"The text alternative should succinctly describe the content without being too verbose."}},checkpoints:[{checkpoint:"1.1.1.a",standards:["wcag2a"],type:"best-practice",impact:1},{checkpoint:"1.1.1.b",standards:["wcag2a"],type:"best-practice",impact:1},{checkpoint:"1.1.1.c",standards:["wcag2a"],type:"best-practice",impact:1},{checkpoint:"1.1.1.g",standards:["wcag2a"],type:"best-practice",impact:1},{checkpoint:"1.1.1.h",standards:["wcag2a"],type:"best-practice",impact:1},{checkpoint:"en301549-9-1.1.1.h",standards:["EN-301-549"],type:"best-practice",impact:1},{checkpoint:"en301549-9-1.1.1.g",standards:["EN-301-549"],type:"best-practice",impact:1},{checkpoint:"en301549-9-1.1.1.c",standards:["EN-301-549"],type:"best-practice",impact:1},{checkpoint:"en301549-9-1.1.1.b",standards:["EN-301-549"],type:"best-practice",impact:1},{checkpoint:"en301549-9-1.1.1.a",standards:["EN-301-549"],type:"best-practice",impact:1}]},{id:"aria-attribute-invalid",descriptions:{en:{shortText:"States/Properties: Invalid ARIA attribute",description:"The element has an invalid ARIA attribute (a misspelled attribute or one that does not exist)."}},checkpoints:[{checkpoint:"4.1.2.b",standards:["wcag2a"],type:"issue",impact:4},{checkpoint:"en301549-9-4.1.2.b",standards:["EN-301-549"],type:"issue",impact:4}]},{id:"aria-attribute-missing",descriptions:{en:{shortText:"States/Properties: Required ARIA attribute missing",description:"The element is missing an ARIA attribute that is required for its role."}},checkpoints:[{checkpoint:"4.1.2.b",standards:["wcag2a"],type:"issue",impact:4},{checkpoint:"en301549-9-4.1.2.b",standards:["EN-301-549"],type:"issue",impact:4}]},{id:"aria-attribute-value-invalid",descriptions:{en:{shortText:"States/Properties: Invalid ARIA attribute value",description:"The element's ARIA attribute has an invalid value (a misspelled value or one that is not valid for the attribute)."}},checkpoints:[{checkpoint:"4.1.2.b",standards:["wcag2a"],type:"issue",impact:4},{checkpoint:"en301549-9-4.1.2.b",standards:["EN-301-549"],type:"issue",impact:4}]},{id:"aria-custom-button-spacebar",descriptions:{en:{shortText:"Custom ARIA button does not activate with spacebar",description:"An element that visually appears like a button and has an ARIA role of button does not function the same as a native button because only the enter key activates it, not the spacebar."}},checkpoints:[{checkpoint:"4.1.2.b",standards:["wcag2a"],type:"best-practice",impact:3},{checkpoint:"en301549-9-4.1.2.b",standards:["EN-301-549"],type:"best-practice",impact:3},{checkpoint:"rgaa-7.3.1",standards:["RGAAv4"],type:"best-practice",impact:3}]},{id:"aria-invalid-missing",descriptions:{en:{shortText:"Field with data entry error missing aria-invalid",description:'The field has a data entry error but is missing aria-invalid="true"'}},checkpoints:[{checkpoint:"3.3.1.b",standards:["wcag2a"],type:"best-practice",impact:2},{checkpoint:"en301549-9-3.3.1.b",standards:["EN-301-549"],type:"best-practice",impact:2},{checkpoint:"rgaa-11.10.4",standards:["RGAAv4"],type:"best-practice",impact:2}]},{id:"aria-landmark-not-used",descriptions:{en:{shortText:"Missing ARIA landmarks",description:"ARIA landmarks are not used to define the sections of the page."}},checkpoints:[{checkpoint:"2.4.1.a",standards:["wcag2a"],type:"best-practice",impact:2},{checkpoint:"en301549-9-2.4.1.a",standards:["EN-301-549"],type:"best-practice",impact:2},{checkpoint:"rgaa-12.6.1",standards:["RGAAv4"],type:"best-practice",impact:2}]},{id:"aria-landmark-outside",descriptions:{en:{shortText:"Element not within ARIA landmark",description:"ARIA landmarks are not used to define every section of the page. The element is not within an ARIA landmark."}},checkpoints:[{checkpoint:"2.4.1.a",standards:["wcag2a"],type:"best-practice",impact:2},{checkpoint:"en301549-9-2.4.1.a",standards:["EN-301-549"],type:"best-practice",impact:2},{checkpoint:"rgaa-12.6.1",standards:["RGAAv4"],type:"best-practice",impact:2}]},{id:"aria-name-missing-incorrect",descriptions:{en:{shortText:"Name: The element's name is missing or incorrect",description:"The element's accessible name is missing or is not appropriate for the element's purpose."}},checkpoints:[{checkpoint:"4.1.2.b",standards:["wcag2a"],type:"issue",impact:4},{checkpoint:"en301549-9-4.1.2.b",standards:["EN-301-549"],type:"issue",impact:4},{checkpoint:"rgaa-7.1.1",standards:["RGAAv4"],type:"issue",impact:4},{checkpoint:"rgaa-7.1.2",standards:["RGAAv4"],type:"issue",impact:4}]},{id:"aria-not-used",descriptions:{en:{shortText:"Missing ARIA on dynamic widget",description:"ARIA is not used to indicate Name, Role, Value and State on a dynamic widget. (It does work with keyboard alone, and screen readers. Name, Role, State and Value are provided via HTML.)"}},checkpoints:[{checkpoint:"4.1.2.a",standards:["wcag2a"],type:"best-practice",impact:2},{checkpoint:"4.1.2.b",standards:["wcag2a"],type:"best-practice",impact:2},{checkpoint:"en301549-9-4.1.2.b",standards:["EN-301-549"],type:"best-practice",impact:2},{checkpoint:"en301549-9-4.1.2.a",standards:["EN-301-549"],type:"best-practice",impact:2}]},{id:"aria-region-not-labeled",descriptions:{en:{shortText:"Missing label on region landmark",description:'The section with generic role="region" is not labelled.'}},checkpoints:[{checkpoint:"4.1.2.a",standards:["wcag2a"],type:"best-practice",impact:2},{checkpoint:"en301549-9-4.1.2.a",standards:["EN-301-549"],type:"best-practice",impact:2},{checkpoint:"rgaa-7.1.3",standards:["RGAAv4"],type:"best-practice",impact:2}]},{id:"aria-required-child-missing",descriptions:{en:{shortText:"Role: Required ARIA child role missing",description:"The element's ARIA role requires that other elements with specific roles be contained within it. At least one child role is missing."}},checkpoints:[{checkpoint:"4.1.2.b",standards:["wcag2a"],type:"issue",impact:4},{checkpoint:"en301549-9-4.1.2.b",standards:["EN-301-549"],type:"issue",impact:4},{checkpoint:"rgaa-7.1.3",standards:["RGAAv4"],type:"issue",impact:4}]},{id:"aria-required-missing",descriptions:{en:{shortText:"Required field missing aria-required",description:'The field is required but is missing aria-required="true"'}},checkpoints:[{checkpoint:"3.3.2.c",standards:["wcag2a"],type:"best-practice",impact:2},{checkpoint:"en301549-9-3.3.2.c",standards:["EN-301-549"],type:"best-practice",impact:2},{checkpoint:"rgaa-11.10.4",standards:["RGAAv4"],type:"issue",impact:2}]},{id:"aria-required-parent-missing",descriptions:{en:{shortText:"Role: Required ARIA parent role missing",description:"The element's ARIA role requires that it be contained inside a parent element with a specific role. The parent role is missing."}},checkpoints:[{checkpoint:"4.1.2.b",standards:["wcag2a"],type:"issue",impact:4},{checkpoint:"en301549-9-4.1.2.b",standards:["EN-301-549"],type:"issue",impact:4},{checkpoint:"rgaa-7.1.3",standards:["RGAAv4"],type:"issue",impact:4}]},{id:"aria-role-invalid",descriptions:{en:{shortText:"Role: Invalid ARIA role value",description:"The element's role attribute has an invalid value (a misspelled value or one that does not exist)."}},checkpoints:[{checkpoint:"4.1.2.b",standards:["wcag2a"],type:"issue",impact:4},{checkpoint:"en301549-9-4.1.2.b",standards:["EN-301-549"],type:"issue",impact:4},{checkpoint:"rgaa-7.1.2",standards:["RGAAv4"],type:"issue",impact:4}]},{id:"aria-role-missing",descriptions:{en:{shortText:"Role: The element's role is missing or incorrect",description:"The element's role is missing or is not appropriate for the element's function."}},checkpoints:[{checkpoint:"4.1.2.b",standards:["wcag2a"],type:"issue",impact:4},{checkpoint:"en301549-9-4.1.2.b",standards:["EN-301-549"],type:"issue",impact:4},{checkpoint:"rgaa-4.13.1",standards:["RGAAv4"],type:"issue",impact:4},{checkpoint:"rgaa-7.1.1",standards:["RGAAv4"],type:"issue",impact:4},{checkpoint:"rgaa-7.1.2",standards:["RGAAv4"],type:"issue",impact:4},{checkpoint:"rgaa-7.1.3",standards:["RGAAv4"],type:"issue",impact:4}]},{id:"aria-state-property-missing",descriptions:{en:{shortText:"States/Properties: The element has missing or incorrect states or properties",description:"The element has missing or incorrect states or properties that are necessary for screen reader users to interact with or understand the content conveyed by the element."}},checkpoints:[{checkpoint:"4.1.2.b",standards:["wcag2a"],type:"issue",impact:4},{checkpoint:"en301549-9-4.1.2.b",standards:["EN-301-549"],type:"issue",impact:4},{checkpoint:"rgaa-7.1.1",standards:["RGAAv4"],type:"issue",impact:4}]},{id:"asterisk-instruction-missing",descriptions:{en:{shortText:"Instruction to describe meaning of * is missing",description:'Asterisks are used to indicate required form fields, but an instruction like "Fields marked with * are required." is missing.'}},checkpoints:[{checkpoint:"3.3.2.c",standards:["wcag2a"],type:"best-practice",impact:2},{checkpoint:"en301549-9-3.3.2.c",standards:["EN-301-549"],type:"best-practice",impact:2},{checkpoint:"rgaa-11.10.4",standards:["RGAAv4"],type:"best-practice",impact:2}]},{id:"audio-autoplay",descriptions:{en:{shortText:"Missing stop/pause mechanism for auto-playing audio",description:"Audio starts playing automatically, lasts more than 3 seconds, and does not have an accessible mechanism to stop, pause, mute or adjust the volume of the audio."}},checkpoints:[{checkpoint:"1.4.2.a",standards:["wcag2a"],type:"issue",impact:4},{checkpoint:"en301549-9-1.4.2.a",standards:["EN-301-549"],type:"issue",impact:4},{checkpoint:"rgaa-4.10.1",standards:["RGAAv4"],type:"issue",impact:4}]},{id:"audio-description-hard-to-find",descriptions:{en:{shortText:"Audio description is hard to find",description:"An audio described version of the video is provided but it is difficult to locate."}},checkpoints:[{checkpoint:"1.2.3.a",standards:["wcag2a"],type:"best-practice",impact:2},{checkpoint:"1.2.5.a",standards:["wcag2aa"],type:"best-practice",impact:2},{checkpoint:"en301549-9-1.2.5.a",standards:["EN-301-549"],type:"best-practice",impact:2},{checkpoint:"en301549-9-1.2.3.a",standards:["EN-301-549"],type:"best-practice",impact:2}]},{id:"audio-description-inadequate",descriptions:{en:{shortText:"Audio description is incorrect or inadequate",description:"The audio description provided is not correct or is inadequate."}},checkpoints:[{checkpoint:"1.2.3.a",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-1.2.3.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-4.6.1",standards:["RGAAv4"],type:"issue",impact:3},{checkpoint:"rgaa-4.6.2",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"audio-description-inadequate-aa",descriptions:{en:{shortText:"Audio description is incorrect or inadequate",description:"The audio description provided is not correct or is inadequate."}},checkpoints:[{checkpoint:"1.2.5.a",standards:["wcag2aa"],type:"issue",impact:3},{checkpoint:"en301549-9-1.2.5.a",standards:["EN-301-549"],type:"issue",impact:3}]},{id:"audio-description-missing",descriptions:{en:{shortText:"Audio description is not available",description:"An audio description is not provided."}},checkpoints:[{checkpoint:"1.2.5.a",standards:["wcag2aa"],type:"issue",impact:4},{checkpoint:"en301549-9-1.2.5.a",standards:["EN-301-549"],type:"issue",impact:4},{checkpoint:"rgaa-4.1.2",standards:["RGAAv4"],type:"issue",impact:4},{checkpoint:"rgaa-4.1.3",standards:["RGAAv4"],type:"issue",impact:4},{checkpoint:"rgaa-4.5.1",standards:["RGAAv4"],type:"issue",impact:4},{checkpoint:"rgaa-4.5.2",standards:["RGAAv4"],type:"issue",impact:4}]},{id:"auth-requires-cognitive-function",descriptions:{en:{shortText:"Authentication requires a non-exempted cognitive function test",description:"Authentication process requires the completion of a non-exempted cognitive function test and no mechanism is available to assist the user in completing the cognitive function test."}},checkpoints:[{checkpoint:"3.3.8.a",standards:["wcag22aa"],type:"issue",impact:4},{checkpoint:"en301549-9-3.3.8.a",standards:["EN-301-549"],type:"issue",impact:4}]},{id:"auth-show-password",descriptions:{en:{shortText:"Unable to show/hide password",description:"User is unable to show/hide password typed into a password field."}},checkpoints:[{checkpoint:"3.3.7.a",standards:["wcag22aa"],type:"best-practice",impact:2},{checkpoint:"en301549-9-3.3.7.a",standards:["EN-301-549"],type:"best-practice",impact:2}]},{id:"button-acts-like-link",descriptions:{en:{shortText:"Button acts like link",description:"Button acts like a link, Activating this button only changes browser focus or URL. Buttons should activate scripted functionality."}},checkpoints:[{checkpoint:"4.1.2.a",standards:["wcag2a"],type:"best-practice",impact:2},{checkpoint:"en301549-9-4.1.2.a",standards:["EN-301-549"],type:"best-practice",impact:2}]},{id:"button-link-nested",descriptions:{en:{shortText:"Anchor or button nested inside other anchor or button",description:"Nesting an anchor or button inside another anchor or button fails validation and may cause troubles for keyboard and screen reader users."}},checkpoints:[{checkpoint:"4.1.2.a",standards:["wcag2a"],type:"issue",impact:2},{checkpoint:"en301549-9-4.1.2.a",standards:["EN-301-549"],type:"issue",impact:2}]},{id:"button-looks-like-link",descriptions:{en:{shortText:"Button looks like link",description:"Button looks like a link, but activating this element triggers scripted functionality without changing browser focus or URL."}},checkpoints:[{checkpoint:"4.1.2.a",standards:["wcag2a"],type:"best-practice",impact:2},{checkpoint:"en301549-9-4.1.2.a",standards:["EN-301-549"],type:"best-practice",impact:2}]},{id:"button-missing-role",descriptions:{en:{shortText:"Button: Button does not have a role",description:"The button does not have a role."}},checkpoints:[{checkpoint:"4.1.2.a",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-4.1.2.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-7.1.1",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"button-name-inaccessible",descriptions:{en:{shortText:"Button: Button does not have a name",description:"The button is missing an accessible name/label. As a result its functionality or purpose is not conveyed to screen reader users."}},checkpoints:[{checkpoint:"4.1.2.a",standards:["wcag2a"],type:"issue",impact:4},{checkpoint:"en301549-9-4.1.2.a",standards:["EN-301-549"],type:"issue",impact:4},{checkpoint:"rgaa-1.1.3",standards:["RGAAv4"],type:"issue",impact:4}]},{id:"button-role-name-missing",descriptions:{en:{shortText:"Button: Button is missing both a role and a name",description:"The button is missing both a role and an accessible name/label."}},checkpoints:[{checkpoint:"4.1.2.a",standards:["wcag2a"],type:"issue",impact:4},{checkpoint:"en301549-9-4.1.2.a",standards:["EN-301-549"],type:"issue",impact:4},{checkpoint:"rgaa-7.1.1",standards:["RGAAv4"],type:"issue",impact:4}]},{id:"button-state-disabled",descriptions:{en:{shortText:"State: The disabled state of an element is not conveyed",description:"The disabled state of an element is not conveyed to screen reader users."}},checkpoints:[{checkpoint:"4.1.2.a",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-4.1.2.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-7.1.1",standards:["RGAAv4"],type:"issue",impact:3},{checkpoint:"rgaa-7.1.2",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"button-state-pressed",descriptions:{en:{shortText:"Button: Button pressed state is not conveyed",description:"The pressed state of a button is not conveyed to screen reader users."}},checkpoints:[{checkpoint:"4.1.2.a",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-4.1.2.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-7.1.1",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"button-value-text-mismatch",descriptions:{en:{shortText:"Button's programmatic name and visible text label not identical",description:"The button has a very minor mismatch between its programmatic name and the visual text label. While not identical, the programmatic name does convey the purpose of the button."}},checkpoints:[{checkpoint:"2.4.6.b",standards:["wcag2a"],type:"best-practice",impact:1},{checkpoint:"en301549-9-2.4.6.b",standards:["EN-301-549"],type:"best-practice",impact:1},{checkpoint:"rgaa-11.2.5",standards:["RGAAv4"],type:"best-practice",impact:1}]},{id:"buttons-confusing",descriptions:{en:{shortText:"Controls have same name but different actions",description:"Multiple controls have the same labels/names but perform different actions. This is not conveyed via text associated with individual controls."}},checkpoints:[{checkpoint:"2.4.6.b",standards:["wcag2aa"],type:"issue",impact:3},{checkpoint:"en301549-9-2.4.6.b",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-11.2.6",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"captcha-requires-vision",descriptions:{en:{shortText:"CAPTCHA task has only one option",description:"There is only one option for the CAPTCHA task and it requires vision to complete it successfully."}},checkpoints:[{checkpoint:"1.1.1.g",standards:["wcag2a"],type:"issue",impact:4},{checkpoint:"en301549-9-1.1.1.g",standards:["EN-301-549"],type:"issue",impact:4},{checkpoint:"rgaa-1.5.1",standards:["RGAAv4"],type:"issue",impact:4},{checkpoint:"rgaa-1.5.2",standards:["RGAAv4"],type:"issue",impact:4}]},{id:"captions-inadequate",descriptions:{en:{shortText:"Captions for recorded media are incorrect or inadequate",description:"Captions are provided for recorded media, but they are incorrect or inadequate."}},checkpoints:[{checkpoint:"1.2.2.a",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-1.2.2.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-4.4.1",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"captions-inadequate-live",descriptions:{en:{shortText:"Captions for live media are incorrect or inadequate",description:"Captions are provided for live media, but they are incorrect or inadequate."}},checkpoints:[{checkpoint:"1.2.4.a",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-1.2.4.a",standards:["EN-301-549"],type:"issue",impact:3}]},{id:"captions-incomplete",descriptions:{en:{shortText:"Captions for recorded media do not contain all dialogue",description:"Captions are provided for recorded media, but some of the dialogue is missing."}},checkpoints:[{checkpoint:"1.2.2.a",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-1.2.2.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-4.4.1",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"captions-incomplete-live",descriptions:{en:{shortText:"Captions for live media do not contain all dialogue",description:"Captions are provided for live media, but some of the dialogue is missing."}},checkpoints:[{checkpoint:"1.2.4.a",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-1.2.4.a",standards:["EN-301-549"],type:"issue",impact:3}]},{id:"captions-missing",descriptions:{en:{shortText:"Captions are not available for recorded multimedia",description:"Captions are not provided for the recorded multimedia content."}},checkpoints:[{checkpoint:"1.2.2.a",standards:["wcag2a"],type:"issue",impact:4},{checkpoint:"en301549-9-1.2.2.a",standards:["EN-301-549"],type:"issue",impact:4},{checkpoint:"rgaa-4.3.1",standards:["RGAAv4"],type:"issue",impact:4}]},{id:"captions-missing-live",descriptions:{en:{shortText:"Captions are not available for live multimedia",description:"Captions are not provided for the live multimedia content."}},checkpoints:[{checkpoint:"1.2.4.a",standards:["wcag2a"],type:"issue",impact:4},{checkpoint:"en301549-9-1.2.4.a",standards:["EN-301-549"],type:"issue",impact:4}]},{id:"captions-not-clearly-visible",descriptions:{en:{shortText:"Caption text for recorded multimedia has inadequate contrast",description:"Captions are provided for recorded multimedia, but they are difficult to read due to poor contrast between the captions and their background."}},checkpoints:[{checkpoint:"1.2.2.a",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-1.2.2.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-4.4.1",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"captions-not-clearly-visible-live",descriptions:{en:{shortText:"Caption text for live multimedia has inadequate contrast",description:"Captions are provided for live multimedia, but they are difficult to read due to poor contrast between the captions and their background."}},checkpoints:[{checkpoint:"1.2.4.a",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-1.2.4.a",standards:["EN-301-549"],type:"issue",impact:3}]},{id:"captions-not-synchronized",descriptions:{en:{shortText:"Captions for recorded multimedia are not synchronized",description:"Captions are provided for recorded multimedia, but they are not synchronized with the multimedia."}},checkpoints:[{checkpoint:"1.2.2.a",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-1.2.2.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-4.4.1",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"captions-not-synchronized-live",descriptions:{en:{shortText:"Captions for live multimedia are not synchronized",description:"Captions are provided for live multimedia, but they are not synchronized with the multimedia."}},checkpoints:[{checkpoint:"1.2.4.a",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-1.2.4.a",standards:["EN-301-549"],type:"issue",impact:3}]},{id:"captions-undescribed-effects",descriptions:{en:{shortText:"Captions for recorded multimedia do not describe important sounds",description:"Captions are provided for recorded multimedia, but they do not describe all important sound effects."}},checkpoints:[{checkpoint:"1.2.2.a",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-1.2.2.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-4.4.1",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"captions-undescribed-effects-live",descriptions:{en:{shortText:"Captions for live multimedia do not describe important sounds",description:"Captions are provided for live multimedia, but they do not describe all important sound effects."}},checkpoints:[{checkpoint:"1.2.4.a",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-1.2.4.a",standards:["EN-301-549"],type:"issue",impact:3}]},{id:"captions-unidentified-speakers",descriptions:{en:{shortText:"Captions for recorded multimedia do not identify all speakers",description:"Captions are provided for recorded multimedia, but they do not identify all the speakers."}},checkpoints:[{checkpoint:"1.2.2.a",standards:["wcag2a"],type:"issue",impact:2},{checkpoint:"en301549-9-1.2.2.a",standards:["EN-301-549"],type:"issue",impact:2},{checkpoint:"rgaa-4.4.1",standards:["RGAAv4"],type:"issue",impact:2}]},{id:"captions-unidentified-speakers-live",descriptions:{en:{shortText:"Captions for live multimedia do not identify all speakers",description:"Captions are provided for live multimedia, but they do not identify all the speakers."}},checkpoints:[{checkpoint:"1.2.4.a",standards:["wcag2a"],type:"issue",impact:2},{checkpoint:"en301549-9-1.2.4.a",standards:["EN-301-549"],type:"issue",impact:2}]},{id:"change-of-context-not-requested",descriptions:{en:{shortText:"A change of context not requested",description:"A change of context occurs without the user initiating it."}},checkpoints:[{checkpoint:"3.2.5.a",standards:["wcag2aaa","aenb-77"],type:"issue",impact:2},{checkpoint:"en301549-9-3.2.5.a",standards:["EN-301-549"],type:"issue",impact:2},{checkpoint:"rgaa-4.7.1",standards:["RGAAv4"],type:"issue",impact:2},{checkpoint:"rgaa-13.2.1",standards:["RGAAv4"],type:"issue",impact:2}]},{id:"checkbox-missing-role-state",descriptions:{en:{shortText:"Checkbox: Custom checkbox does not have a role and/or state",description:"The custom checkbox element is missing a role and/or checked state."}},checkpoints:[{checkpoint:"4.1.2.a",standards:["wcag2a"],type:"issue",impact:4},{checkpoint:"en301549-9-4.1.2.a",standards:["EN-301-549"],type:"issue",impact:4},{checkpoint:"rgaa-11.1.1",standards:["RGAAv4"],type:"issue",impact:4}]},{id:"content-auto-play",descriptions:{en:{shortText:"Auto-playing media or animation has no mechanism to pause, stop, or hide",description:"Auto-playing media or animation has no mechanism to pause, stop, or hide the content."}},checkpoints:[{checkpoint:"2.2.2.a",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-2.2.2.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-13.8.1",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"content-blink",descriptions:{en:{shortText:"Blinking content is present",description:"The element uses a BLINK element or text-decoration: blink."}},checkpoints:[{checkpoint:"2.2.2.a",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-2.2.2.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-13.8.2",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"content-carousel-unstoppable",descriptions:{en:{shortText:"Carousel has no stop/pause mechanism",description:"The carousel does not have a mechanism to pause, stop, or control the changing content."}},checkpoints:[{checkpoint:"2.2.2.b",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-2.2.2.b",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-13.8.1",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"content-disappears",descriptions:{en:{shortText:"Content visually appears and disappears with no ability to adjust timing",description:"Content visually appears for a short time and then disappears. The user has no way to adjust when the content visually appears or disappears. Examples of content include error messages, success messages, and updating headlines."}},checkpoints:[{checkpoint:"2.2.1.a",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-2.2.1.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-13.1.4",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"content-does-not-remain-visible",descriptions:{en:{shortText:"Content does not remain visible",description:"Additional content does not remain visible until dismissed or invalid."}},checkpoints:[{checkpoint:"1.4.13.a",standards:["wcag21aa"],type:"issue",impact:3},{checkpoint:"en301549-9-1.4.13.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-10.13.3",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"content-flashing",descriptions:{en:{shortText:"Flashing content is present",description:"The element flashes more than 3 times per second, but is small enough or dim enough that it probably will not cause seizures."}},checkpoints:[{checkpoint:"2.3.1.a",standards:["wcag2a"],type:"best-practice",impact:3},{checkpoint:"en301549-9-2.3.1.a",standards:["EN-301-549"],type:"best-practice",impact:3},{checkpoint:"rgaa-13.7.1",standards:["RGAAv4"],type:"best-practice",impact:3}]},{id:"content-flashing-big",descriptions:{en:{shortText:"Large flashing content is present",description:"Content flashes more than 3 times per second and exceeds 25% of 10 degrees of visual field in area."}},checkpoints:[{checkpoint:"2.3.1.a",standards:["wcag2a"],type:"issue",impact:5},{checkpoint:"en301549-9-2.3.1.a",standards:["EN-301-549"],type:"issue",impact:5},{checkpoint:"rgaa-13.7.1",standards:["RGAAv4"],type:"issue",impact:5},{checkpoint:"rgaa-13.7.2",standards:["RGAAv4"],type:"issue",impact:5},{checkpoint:"rgaa-13.7.3",standards:["RGAAv4"],type:"issue",impact:5}]},{id:"content-flashing-no-exception",descriptions:{en:{shortText:"Content flashes more than 3 times per second below threshold",description:"Content flashes more than 3 times per second but is below threshold."}},checkpoints:[{checkpoint:"2.3.2.a",standards:["wcag2aaa","aenb-77"],type:"issue",impact:2},{checkpoint:"en301549-9-2.3.2.a",standards:["EN-301-549"],type:"issue",impact:2},{checkpoint:"rgaa-13.7.1",standards:["RGAAv4"],type:"issue",impact:2},{checkpoint:"rgaa-13.7.2",standards:["RGAAv4"],type:"issue",impact:2},{checkpoint:"rgaa-13.7.3",standards:["RGAAv4"],type:"issue",impact:2}]},{id:"content-horizontal-scroll",descriptions:{en:{shortText:"Content does not reflow to fit 320px width equivalent",description:"Content does not reflow to fit horizontally within the viewport when the page is adjusted to an equivalent width of 320px."}},checkpoints:[{checkpoint:"1.4.10.a",standards:["wcag21aa"],type:"issue",impact:3},{checkpoint:"en301549-9-1.4.10.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-10.11.1",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"content-hover-disappears",descriptions:{en:{shortText:"Hover content disappearing",description:"Additional content that becomes available on hover does not allow the user to move the pointer over that same additional content without the additional content disappearing."}},checkpoints:[{checkpoint:"1.4.13.a",standards:["wcag21aa"],type:"issue",impact:3},{checkpoint:"en301549-9-1.4.13.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-10.13.2",standards:["RGAAv4"],type:"issue",impact:2}]},{id:"content-marquee",descriptions:{en:{shortText:"Marquee element is present",description:"A MARQUEE element is present."}},checkpoints:[{checkpoint:"2.2.2.a",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-2.2.2.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-13.8.1",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"content-motion-uninterruptible",descriptions:{en:{shortText:"Moving/blinking content has no pause/stop mechanism",description:"Moving or blinking content that lasts more than 5 seconds does not have a mechanism to pause, stop or hide it."}},checkpoints:[{checkpoint:"2.2.2.a",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-2.2.2.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-13.12.3",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"content-not-dismissible",descriptions:{en:{shortText:"Additional content not dismissible",description:"Failure to make additional content dismissible without moving pointer hover or keyboard focus."}},checkpoints:[{checkpoint:"1.4.13.a",standards:["wcag21aa"],type:"issue",impact:3},{checkpoint:"en301549-9-1.4.13.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-10.13.1",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"content-reflow-content-lost",descriptions:{en:{shortText:"Info or functionality is lost due to overlapping content at 320px equivalent",description:"Information or functionality is lost due to overlapping content when the page is adjusted to an equivalent width of 320px."}},checkpoints:[{checkpoint:"1.4.10.a",standards:["wcag21aa"],type:"issue",impact:3},{checkpoint:"en301549-9-1.4.10.a",standards:["EN-301-549"],type:"issue",impact:3}]},{id:"content-reflow-content-missing",descriptions:{en:{shortText:"Info or functionality is unavailable at 320px width equivalent",description:"Information or functionality is unavailable when the page is adjusted to an equivalent width of 320px."}},checkpoints:[{checkpoint:"1.4.10.a",standards:["wcag21aa"],type:"issue",impact:3},{checkpoint:"en301549-9-1.4.10.a",standards:["EN-301-549"],type:"issue",impact:3}]},{id:"content-restricts-input-mechanisms",descriptions:{en:{shortText:"Content restricts input modalities.",description:"Content restricts input modalities."}},checkpoints:[{checkpoint:"2.5.6.a",standards:["wcag21aaa","aenb-77"],type:"issue",impact:2},{checkpoint:"en301549-9-2.5.6.a",standards:["EN-301-549"],type:"issue",impact:2}]},{id:"content-too-wide",descriptions:{en:{shortText:"Content requires excessive horizontal scrolling when enlarged",description:"Viewing all the content requires horizontal scrolling when the page content is resized to 200%."}},checkpoints:[{checkpoint:"1.4.4.a",standards:["wcag2aa"],type:"best-practice",impact:2},{checkpoint:"en301549-9-1.4.4.a",standards:["EN-301-549"],type:"best-practice",impact:2}]},{id:"content-updates-uninterruptible",descriptions:{en:{shortText:"No control mechanism provided for automatically updating content",description:"Automatically updating content does not have a mechanism to pause, stop, hide, or control the timing of the updates."}},checkpoints:[{checkpoint:"2.2.2.b",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-2.2.2.b",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-13.1.1",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"contextual-help-not-present",descriptions:{en:{shortText:"Input is missing context-sensitive help",description:"Input is missing context-sensitive help."}},checkpoints:[{checkpoint:"3.3.5.a",standards:["wcag2aaa","aenb-77"],type:"issue",impact:2},{checkpoint:"en301549-9-3.3.5.a",standards:["EN-301-549"],type:"issue",impact:2}]},{id:"contrast-focus-3-1",descriptions:{en:{shortText:"Visual focus lacks 3 to 1 contrast ratio",description:"The visual focus indicator does not have a color contrast ratio of at least 3 to 1."}},checkpoints:[{checkpoint:"1.4.3.b",standards:["wcag2aa"],type:"best-practice",impact:2},{checkpoint:"2.4.7.a",standards:["wcag2aa"],type:"best-practice",impact:2},{checkpoint:"en301549-9-2.4.7.a",standards:["EN-301-549"],type:"best-practice",impact:2},{checkpoint:"en301549-9-1.4.3.b",standards:["EN-301-549"],type:"best-practice",impact:2},{checkpoint:"rgaa-3.3.1",standards:["RGAAv4"],type:"best-practice",impact:2}]},{id:"contrast-focus-4.5-1",descriptions:{en:{shortText:"Visual focus lacks 4.5 to 1 contrast ratio",description:"The visual focus indicator does not have a color contrast ratio of at least 4.5 to 1."}},checkpoints:[{checkpoint:"1.4.3.a",standards:["wcag2aa"],type:"best-practice",impact:2},{checkpoint:"2.4.7.a",standards:["wcag2aa"],type:"best-practice",impact:2},{checkpoint:"1.4.11.b",standards:["wcag2aa"],type:"best-practice",impact:2},{checkpoint:"en301549-9-1.4.11.b",standards:["EN-301-549"],type:"best-practice",impact:2},{checkpoint:"en301549-9-2.4.7.a",standards:["EN-301-549"],type:"best-practice",impact:2},{checkpoint:"en301549-9-1.4.3.a",standards:["EN-301-549"],type:"best-practice",impact:2},{checkpoint:"rgaa-3.3.1",standards:["RGAAv4"],type:"best-practice",impact:2}]},{id:"contrast-focus-indicator",descriptions:{en:{shortText:"Focus indicator lacks 3 to 1 contrast ratio",description:"Focus indicator lacks 3 to 1 contrast ratio."}},checkpoints:[{checkpoint:"1.4.11.b",standards:["wcag21aa"],type:"issue",impact:3},{checkpoint:"en301549-9-1.4.11.b",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-3.3.1",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"contrast-graphical-objects-3-1",descriptions:{en:{shortText:"Graphical object lacks 3 to 1 contrast ratio",description:"Parts of graphics (required to understand the content) do not have a contrast ratio of 3 to 1 against adjacent color(s)."}},checkpoints:[{checkpoint:"1.4.11.c",standards:["wcag21aa"],type:"issue",impact:3},{checkpoint:"en301549-9-1.4.11.c",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-3.3.2",standards:["RGAAv4"],type:"issue",impact:3},{checkpoint:"rgaa-3.3.3",standards:["RGAAv4"],type:"issue",impact:3},{checkpoint:"rgaa-3.3.4",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"contrast-graphical-objects-3-1-plus-text",descriptions:{en:{shortText:"Graphical object with text lacks 3 to 1 contrast ratio",description:"A graphical object has visible text that conveys the same information as the graphical object. The graphical object (non-text) does not have at least a 3 to 1 color contrast ratio."}},checkpoints:[{checkpoint:"1.4.11.c",standards:["wcag21aa"],type:"best-practice",impact:2},{checkpoint:"en301549-9-1.4.11.c",standards:["EN-301-549"],type:"best-practice",impact:2},{checkpoint:"rgaa-3.3.2",standards:["RGAAv4"],type:"best-practice",impact:2}]},{id:"contrast-graphical-objects-anti-aliasing",descriptions:{en:{shortText:"Graphical object contrast anti-aliasing",description:"A graphical object does not have a 3 to 1 luminosity contrast ratio with an adjacent background color due to browser rendering, smoothing or anti-aliasing."}},checkpoints:[{checkpoint:"1.4.11.c",standards:["wcag21aa"],type:"best-practice",impact:1},{checkpoint:"en301549-9-1.4.11.c",standards:["EN-301-549"],type:"best-practice",impact:1},{checkpoint:"rgaa-3.3.2",standards:["RGAAv4"],type:"best-practice",impact:1}]},{id:"contrast-graphical-objects-both-3-1",descriptions:{en:{shortText:"Graphical object lacks 3 to 1 contrast with both",description:"A graphical object does not have at least a 3 to 1 luminosity contrast ratio with both the inner and outer adjacent background colors."}},checkpoints:[{checkpoint:"1.4.11.c",standards:["wcag21aa"],type:"best-practice",impact:2},{checkpoint:"en301549-9-1.4.11.c",standards:["EN-301-549"],type:"best-practice",impact:2},{checkpoint:"rgaa-3.3.2",standards:["RGAAv4"],type:"best-practice",impact:2}]},{id:"contrast-graphical-objects-flag",descriptions:{en:{shortText:"Flag graphical object lacks 3 to 1 contrast",description:"A flag (like for state, country, or organization) that is part of a graphical object does not have a 3 to 1 luminosity contrast ratio."}},checkpoints:[{checkpoint:"1.4.11.c",standards:["wcag21aa"],type:"best-practice",impact:1},{checkpoint:"en301549-9-1.4.11.c",standards:["EN-301-549"],type:"best-practice",impact:1},{checkpoint:"rgaa-3.3.2",standards:["RGAAv4"],type:"best-practice",impact:1}]},{id:"contrast-graphical-objects-icon-3-1",descriptions:{en:{shortText:"An icon lacks 3 to 1 contrast ratio",description:"Parts of an icon (with no text) do not have a contrast ratio of 3 to 1 against adjacent color(s). These icon parts are required for understanding."}},checkpoints:[{checkpoint:"1.4.11.c",standards:["wcag21aa"],type:"issue",impact:3},{checkpoint:"en301549-9-1.4.11.c",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-3.3.2",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"contrast-graphical-objects-line-cross",descriptions:{en:{shortText:"Crossing data lines lack 3 to 1 contrast",description:"A line chart has different color data lines. Each data line has a symbol at each data point so it does not rely on color alone. When two of the data lines cross, that intersection does not have a 3 to 1 luminosity contrast ratio."}},checkpoints:[{checkpoint:"1.4.11.c",standards:["wcag21aa"],type:"best-practice",impact:2},{checkpoint:"en301549-9-1.4.11.c",standards:["EN-301-549"],type:"best-practice",impact:2},{checkpoint:"rgaa-3.3.2",standards:["RGAAv4"],type:"best-practice",impact:2}]},{id:"contrast-graphical-objects-logo",descriptions:{en:{shortText:"Logo graphical object lacks 3 to 1 contrast",description:"A graphical object that is part of a logo does not have a 3 to 1 luminosity contrast ratio."}},checkpoints:[{checkpoint:"1.4.11.c",standards:["wcag21aa"],type:"best-practice",impact:2},{checkpoint:"en301549-9-1.4.11.c",standards:["EN-301-549"],type:"best-practice",impact:2},{checkpoint:"rgaa-3.3.2",standards:["RGAAv4"],type:"best-practice",impact:2}]},{id:"contrast-icon-3-1",descriptions:{en:{shortText:"Active icon lacks 3 to 1 contrast ratio",description:"The non-text visual information in the meaningful or active icon does not have a color contrast ratio of at least 3 to 1."}},checkpoints:[{checkpoint:"1.4.3.b",standards:["wcag2aa"],type:"best-practice",impact:2},{checkpoint:"1.4.3.a",standards:["wcag2aa"],type:"best-practice",impact:2},{checkpoint:"en301549-9-1.4.3.a",standards:["EN-301-549"],type:"best-practice",impact:2},{checkpoint:"en301549-9-1.4.3.b",standards:["EN-301-549"],type:"best-practice",impact:2},{checkpoint:"rgaa-3.3.2",standards:["RGAAv4"],type:"best-practice",impact:2}]},{id:"contrast-icon-4.5-1",descriptions:{en:{shortText:"Active icon lacks 4.5 to 1 contrast ratio",description:"The non-text visual information in the meaningful or active icon does not have a color contrast ratio of at least 4.5 to 1."}},checkpoints:[{checkpoint:"1.4.3.a",standards:["wcag2aa"],type:"best-practice",impact:2},{checkpoint:"1.4.11.a",standards:["wcag2aa"],type:"best-practice",impact:2},{checkpoint:"1.4.11.c",standards:["wcag2aa"],type:"best-practice",impact:2},{checkpoint:"en301549-9-1.4.11.c",standards:["EN-301-549"],type:"best-practice",impact:2},{checkpoint:"en301549-9-1.4.11.a",standards:["EN-301-549"],type:"best-practice",impact:2},{checkpoint:"en301549-9-1.4.3.a",standards:["EN-301-549"],type:"best-practice",impact:2},{checkpoint:"rgaa-3.3.2",standards:["RGAAv4"],type:"best-practice",impact:2}]},{id:"contrast-link-infocus-3-1",descriptions:{en:{shortText:"Large control text lacks 3:1 contrast ratio on hover or focus",description:"The contrast ratio between a control's large text and its background is not at least 3:1 on hover and/or on focus."}},checkpoints:[{checkpoint:"1.4.3.b",standards:["wcag2aa"],type:"issue",impact:3},{checkpoint:"en301549-9-1.4.3.b",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-3.2.3",standards:["RGAAv4"],type:"issue",impact:3},{checkpoint:"rgaa-3.2.4",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"contrast-link-infocus-4.5-1",descriptions:{en:{shortText:"Control text lacks 4.5:1 contrast ratio on hover or focus",description:"The contrast ratio between a control's text and its background is not at least 4.5:1 on hover and/or on focus"}},checkpoints:[{checkpoint:"1.4.3.a",standards:["wcag2aa"],type:"issue",impact:3},{checkpoint:"en301549-9-1.4.3.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-3.2.1",standards:["RGAAv4"],type:"issue",impact:3},{checkpoint:"rgaa-3.2.2",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"contrast-optional-disabled-controls",descriptions:{en:{shortText:"Not an issue: Disabled/Inactive contrast",description:"Text or images of text that are part of an inactive user interface component have no contrast requirement."}},checkpoints:[{checkpoint:"1.4.3.a",standards:["wcag2aa"],type:"issue",impact:0},{checkpoint:"1.4.3.b",standards:["wcag2aa"],type:"issue",impact:0},{checkpoint:"en301549-9-1.4.3.b",standards:["EN-301-549"],type:"issue",impact:0},{checkpoint:"en301549-9-1.4.3.a",standards:["EN-301-549"],type:"issue",impact:0}]},{id:"contrast-optional-logotype",descriptions:{en:{shortText:"Not an issue: Logotype contrast",description:"Text that is part of a logo or brand name has no minimum contrast requirement."}},checkpoints:[{checkpoint:"1.4.3.a",standards:["wcag2aa"],type:"issue",impact:0},{checkpoint:"1.4.3.b",standards:["wcag2aa"],type:"issue",impact:0},{checkpoint:"en301549-9-1.4.3.b",standards:["EN-301-549"],type:"issue",impact:0},{checkpoint:"en301549-9-1.4.3.a",standards:["EN-301-549"],type:"issue",impact:0}]},{id:"contrast-text-3-1",descriptions:{en:{shortText:"Large text content lacks 3:1 contrast ratio",description:"The contrast ratio between large text and its background is not at least 3:1."}},checkpoints:[{checkpoint:"1.4.3.b",standards:["wcag2aa"],type:"issue",impact:3},{checkpoint:"en301549-9-1.4.3.b",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-3.2.3",standards:["RGAAv4"],type:"issue",impact:3},{checkpoint:"rgaa-3.2.4",standards:["RGAAv4"],type:"issue",impact:3},{checkpoint:"rgaa-3.2.5",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"contrast-text-3-1-over-image",descriptions:{en:{shortText:"Large text over an image lacks 3:1 contrast ratio",description:"All or portions of large text over an image do not meet the minimum 3:1 contrast requirement."}},checkpoints:[{checkpoint:"1.4.3.b",standards:["wcag2aa"],type:"issue",impact:3},{checkpoint:"en301549-9-1.4.3.b",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-3.2.3",standards:["RGAAv4"],type:"issue",impact:3},{checkpoint:"rgaa-3.2.4",standards:["RGAAv4"],type:"issue",impact:3},{checkpoint:"rgaa-3.2.5",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"contrast-text-4.5-1",descriptions:{en:{shortText:"Text content lacks 4.5:1 contrast ratio",description:"The contrast ratio between text and its background is not at least 4.5:1."}},checkpoints:[{checkpoint:"1.4.3.a",standards:["wcag2aa"],type:"issue",impact:3},{checkpoint:"en301549-9-1.4.3.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-3.2.1",standards:["RGAAv4"],type:"issue",impact:3},{checkpoint:"rgaa-3.2.2",standards:["RGAAv4"],type:"issue",impact:3},{checkpoint:"rgaa-3.2.5",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"contrast-text-4.5-1-over-image",descriptions:{en:{shortText:"Text over an image lacks 4.5:1 contrast ratio",description:"All or portions of text over an image do not meet the minimum 4.5:1 contrast requirement."}},checkpoints:[{checkpoint:"1.4.3.a",standards:["wcag2aa"],type:"issue",impact:3},{checkpoint:"en301549-9-1.4.3.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-3.2.1",standards:["RGAAv4"],type:"issue",impact:3},{checkpoint:"rgaa-3.2.2",standards:["RGAAv4"],type:"issue",impact:3},{checkpoint:"rgaa-3.2.5",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"contrast-text-4.5-1-placeholder",descriptions:{en:{shortText:"Placeholder text lacks 4.5:1 contrast ratio",description:"The contrast ratio between placeholder text and its background is not at least 4.5:1."}},checkpoints:[{checkpoint:"1.4.3.a",standards:["wcag2aa"],type:"issue",impact:3},{checkpoint:"en301549-9-1.4.3.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-3.2.1",standards:["RGAAv4"],type:"issue",impact:3},{checkpoint:"rgaa-3.2.2",standards:["RGAAv4"],type:"issue",impact:3},{checkpoint:"rgaa-3.2.5",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"contrast-uic-active-3-1",descriptions:{en:{shortText:"Active user interface component lacks 3 to 1 contrast ratio",description:"The visual boundary of an active user interface component lacks 3 to 1 contrast ratio."}},checkpoints:[{checkpoint:"1.4.11.a",standards:["wcag21aa"],type:"issue",impact:3},{checkpoint:"en301549-9-1.4.11.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-3.3.1",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"contrast-uic-active-3-1-state",descriptions:{en:{shortText:"State of active component lacks 3 to 1 contrast ratio",description:"The state of an active component lacks 3 to 1 contrast ratio."}},checkpoints:[{checkpoint:"1.4.11.b",standards:["wcag21aa"],type:"issue",impact:3},{checkpoint:"en301549-9-1.4.11.b",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-3.3.1",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"contrast-uic-active-both-3-1",descriptions:{en:{shortText:"Active user interface component lacks 3 to 1 contrast with both",description:"The visual boundary of an active user interface component does not have at least a 3 to 1 luminosity contrast ratio with both the inner and outer adjacent background colors."}},checkpoints:[{checkpoint:"1.4.11.a",standards:["wcag21aa"],type:"best-practice",impact:1},{checkpoint:"en301549-9-1.4.11.a",standards:["EN-301-549"],type:"best-practice",impact:1},{checkpoint:"rgaa-3.3.1",standards:["RGAAv4"],type:"best-practice",impact:1}]},{id:"contrast-uic-active-both-3-1-state",descriptions:{en:{shortText:"State of active component lacks 3 to 1 contrast with both",description:"The visual state of an active user interface component does not have at least a 3 to 1 luminosity contrast ratio with both the inner and outer adjacent background colors."}},checkpoints:[{checkpoint:"1.4.11.b",standards:["wcag21aa"],type:"best-practice",impact:1},{checkpoint:"en301549-9-1.4.11.b",standards:["EN-301-549"],type:"best-practice",impact:1},{checkpoint:"rgaa-3.3.1",standards:["RGAAv4"],type:"best-practice",impact:1}]},{id:"contrast-uic-active-browser-default",descriptions:{en:{shortText:"Active user interface component contrast browser default",description:"An active user interface component is rendered using the browser default. The default browser rendering of this user interface component does not meet the 3 to 1 luminosity contrast ratio."}},checkpoints:[{checkpoint:"1.4.11.a",standards:["wcag21aa"],type:"best-practice",impact:2},{checkpoint:"en301549-9-1.4.11.a",standards:["EN-301-549"],type:"best-practice",impact:2},{checkpoint:"rgaa-3.3.1",standards:["RGAAv4"],type:"best-practice",impact:2}]},{id:"contrast-uic-active-browser-default-back",descriptions:{en:{shortText:"Default color of component and author background contrast",description:"An active user interface component is rendered using the browser default. The background color has been changed (is not the browser default). The color contrast between the default color of the user interface component and the author chosen background does not meet the 3 to 1 luminosity contrast ratio."}},checkpoints:[{checkpoint:"1.4.11.a",standards:["wcag21aa"],type:"best-practice",impact:2},{checkpoint:"en301549-9-1.4.11.a",standards:["EN-301-549"],type:"best-practice",impact:2},{checkpoint:"rgaa-3.3.1",standards:["RGAAv4"],type:"best-practice",impact:2}]},{id:"contrast-uic-active-browser-default-back-state",descriptions:{en:{shortText:"Default color of component state and author background contrast",description:"The visual state of an active user interface component is rendered using the browser default. The background color has been changed (is not the browser default). The color contrast between the default color of the visual state and the author chosen background does not meet the 3 to 1 luminosity contrast ratio."}},checkpoints:[{checkpoint:"1.4.11.b",standards:["wcag21aa"],type:"best-practice",impact:2},{checkpoint:"en301549-9-1.4.11.b",standards:["EN-301-549"],type:"best-practice",impact:2},{checkpoint:"rgaa-3.3.1",standards:["RGAAv4"],type:"best-practice",impact:2}]},{id:"contrast-uic-active-browser-default-state",descriptions:{en:{shortText:"State of active component contrast browser default",description:"The visual state of an active user interface component is rendered using the browser default. The default browser rendering of this visual state does not meet the 3 to 1 luminosity contrast ratio."}},checkpoints:[{checkpoint:"1.4.11.b",standards:["wcag21aa"],type:"best-practice",impact:2},{checkpoint:"en301549-9-1.4.11.b",standards:["EN-301-549"],type:"best-practice",impact:2},{checkpoint:"rgaa-3.3.1",standards:["RGAAv4"],type:"best-practice",impact:2}]},{id:"contrast-uic-active-inactive",descriptions:{en:{shortText:"Contrast between active and inactive components not 3 to 1",description:"The contrast between active components and inactive components is not at least 3 to 1."}},checkpoints:[{checkpoint:"1.4.11.a",standards:["wcag21aa"],type:"best-practice",impact:2},{checkpoint:"en301549-9-1.4.11.a",standards:["EN-301-549"],type:"best-practice",impact:2},{checkpoint:"rgaa-3.3.1",standards:["RGAAv4"],type:"best-practice",impact:2}]},{id:"contrast-uic-active-no-visual",descriptions:{en:{shortText:"Active user interface component no visual boundary",description:"An active user interface component does not have a visual boundary."}},checkpoints:[{checkpoint:"1.4.11.a",standards:["wcag21aa"],type:"best-practice",impact:1},{checkpoint:"en301549-9-1.4.11.a",standards:["EN-301-549"],type:"best-practice",impact:1},{checkpoint:"rgaa-3.3.1",standards:["RGAAv4"],type:"best-practice",impact:1}]},{id:"contrast-uic-inactive-3-1",descriptions:{en:{shortText:"Inactive user interface component lacks 3 to 1 contrast ratio",description:"The visual boundary of an INACTIVE user interface component does not have at least a 3 to 1 luminosity contrast ratio with an adjacent background."}},checkpoints:[{checkpoint:"1.4.11.a",standards:["wcag21aa"],type:"best-practice",impact:2},{checkpoint:"en301549-9-1.4.11.a",standards:["EN-301-549"],type:"best-practice",impact:2},{checkpoint:"rgaa-3.3.1",standards:["RGAAv4"],type:"best-practice",impact:2}]},{id:"contrast-uic-state-anti-aliasing",descriptions:{en:{shortText:"State of active component contrast anti-aliasing",description:"The visual state of an active user interface component does not have a 3 to 1 luminosity contrast ratio with an adjacent background color due to browser rendering, smoothing or anti-aliasing."}},checkpoints:[{checkpoint:"1.4.11.b",standards:["wcag21aa"],type:"best-practice",impact:1},{checkpoint:"en301549-9-1.4.11.b",standards:["EN-301-549"],type:"best-practice",impact:1},{checkpoint:"rgaa-3.3.1",standards:["RGAAv4"],type:"best-practice",impact:1}]},{id:"contrast-uic-states",descriptions:{en:{shortText:"Contrast between the states of a component is not 3 to 1",description:"The contrast between the visual states of the user interface component is not at least 3 to 1."}},checkpoints:[{checkpoint:"1.4.11.b",standards:["wcag21aa"],type:"best-practice",impact:2},{checkpoint:"en301549-9-1.4.11.b",standards:["EN-301-549"],type:"best-practice",impact:2},{checkpoint:"rgaa-3.3.1",standards:["RGAAv4"],type:"best-practice",impact:2}]},{id:"control-role-name-missing",descriptions:{en:{shortText:"The control is missing both a role and a name",description:"The control is missing both a role and an accessible name/label."}},checkpoints:[{checkpoint:"4.1.2.a",standards:["wcag2a"],type:"issue",impact:4},{checkpoint:"en301549-9-4.1.2.a",standards:["EN-301-549"],type:"issue",impact:4},{checkpoint:"rgaa-7.1.1",standards:["RGAAv4"],type:"issue",impact:4},{checkpoint:"rgaa-7.1.2",standards:["RGAAv4"],type:"issue",impact:4}]},{id:"custom-accordion",descriptions:{en:{shortText:"Accordion/Toggle: Accordion (toggle) is missing appropriate roles and/or attributes",description:"The element appears and functions like an accordion (show/hide toggles) but is missing required ARIA role(s) and/or attribute(s)."}},checkpoints:[{checkpoint:"4.1.2.b",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-4.1.2.b",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-7.1.2",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"custom-breadcrumb",descriptions:{en:{shortText:"Breadcrumb: Breadcrumb region is missing appropriate roles and/or attributes",description:"The breadcrumb region is missing required ARIA role(s) and/or attribute(s)."}},checkpoints:[{checkpoint:"4.1.2.b",standards:["wcag2a"],type:"issue",impact:2},{checkpoint:"en301549-9-4.1.2.b",standards:["EN-301-549"],type:"issue",impact:2},{checkpoint:"rgaa-7.1.2",standards:["RGAAv4"],type:"issue",impact:2}]},{id:"custom-carousel-current",descriptions:{en:{shortText:"Carousel: State of current carousel slide is not conveyed",description:"The state of the currently displayed carousel slide is indicated visually, but this is not conveyed to screen reader users."}},checkpoints:[{checkpoint:"4.1.2.b",standards:["wcag2a"],type:"issue",impact:2},{checkpoint:"en301549-9-4.1.2.b",standards:["EN-301-549"],type:"issue",impact:2},{checkpoint:"rgaa-7.1.2",standards:["RGAAv4"],type:"issue",impact:2}]},{id:"custom-carousel-number",descriptions:{en:{shortText:"Carousel: Number of carousel slides is apparent visually but not programmatically",description:"The total number of slides in the carousel is indicated visually, but this is not conveyed to screen readers users."}},checkpoints:[{checkpoint:"4.1.2.b",standards:["wcag2a"],type:"issue",impact:2},{checkpoint:"en301549-9-4.1.2.b",standards:["EN-301-549"],type:"issue",impact:2},{checkpoint:"rgaa-9.3.1",standards:["RGAAv4"],type:"issue",impact:2}]},{id:"custom-combobox",descriptions:{en:{shortText:"Combobox: Combobox is missing appropriate roles and/or attributes",description:"The element appears and functions like a combobox but is missing required ARIA role(s) and/or attribute(s)."}},checkpoints:[{checkpoint:"4.1.2.b",standards:["wcag2a"],type:"issue",impact:4},{checkpoint:"en301549-9-4.1.2.b",standards:["EN-301-549"],type:"issue",impact:4},{checkpoint:"rgaa-7.1.2",standards:["RGAAv4"],type:"issue",impact:4}]},{id:"custom-date-picker",descriptions:{en:{shortText:"Date Picker: Date picker is missing appropriate roles and/or attributes",description:"The element appears and functions like a date picker but is missing required ARIA role(s) and/or attribute(s)."}},checkpoints:[{checkpoint:"4.1.2.b",standards:["wcag2a"],type:"issue",impact:4},{checkpoint:"en301549-9-4.1.2.b",standards:["EN-301-549"],type:"issue",impact:4},{checkpoint:"rgaa-7.1.2",standards:["RGAAv4"],type:"issue",impact:4}]},{id:"custom-dialog",descriptions:{en:{shortText:"Dialog / Alert Dialog: Dialog is missing appropriate role and/or attributes",description:"The element appears and functions like a modal dialog but is missing required ARIA role(s) and/or attribute(s)."}},checkpoints:[{checkpoint:"4.1.2.b",standards:["wcag2a"],type:"issue",impact:2},{checkpoint:"en301549-9-4.1.2.b",standards:["EN-301-549"],type:"issue",impact:2},{checkpoint:"rgaa-7.1.2",standards:["RGAAv4"],type:"issue",impact:2}]},{id:"custom-grid",descriptions:{en:{shortText:"Grid: Grid is missing appropriate roles and/or attributes",description:"The element appears and functions like a grid widget but is missing required ARIA role(s) and/or attribute(s)."}},checkpoints:[{checkpoint:"4.1.2.b",standards:["wcag2a"],type:"issue",impact:4},{checkpoint:"en301549-9-4.1.2.b",standards:["EN-301-549"],type:"issue",impact:4},{checkpoint:"rgaa-7.1.2",standards:["RGAAv4"],type:"issue",impact:4}]},{id:"custom-listbox",descriptions:{en:{shortText:"Listbox: Listbox is missing appropriate roles and/or attributes - WARNING: VERY RARE",description:"The element appears and functions like a listbox but is missing required ARIA role(s) and/or attribute(s)."}},checkpoints:[{checkpoint:"4.1.2.b",standards:["wcag2a"],type:"issue",impact:4},{checkpoint:"en301549-9-4.1.2.b",standards:["EN-301-549"],type:"issue",impact:4},{checkpoint:"rgaa-7.1.2",standards:["RGAAv4"],type:"issue",impact:4}]},{id:"custom-navigation",descriptions:{en:{shortText:"Navigation / Menu: Site navigation or application-style menu is missing appropriate roles and/or attributes",description:"Site navigation or application-style menu is missing required roles and/or attributes."}},checkpoints:[{checkpoint:"4.1.2.b",standards:["wcag2a"],type:"issue",impact:4},{checkpoint:"en301549-9-4.1.2.b",standards:["EN-301-549"],type:"issue",impact:4},{checkpoint:"rgaa-7.1.2",standards:["RGAAv4"],type:"issue",impact:4}]},{id:"custom-not-compatible",descriptions:{en:{shortText:"Custom user interface component is not compatible with AT",description:"Custom user interface component is not compatible with AT (see issue Details for more info)."}},checkpoints:[{checkpoint:"4.1.2.c",standards:["wcag2a"],type:"issue",impact:4},{checkpoint:"en301549-9-4.1.2.c",standards:["EN-301-549"],type:"issue",impact:4}]},{id:"custom-progressbar",descriptions:{en:{shortText:"Progress bar: Progress bar is missing appropriate role and/or attributes",description:"The element appears and functions like a progressbar but is missing required ARIA role(s) and/or attribute(s)."}},checkpoints:[{checkpoint:"4.1.2.b",standards:["wcag2a"],type:"issue",impact:4},{checkpoint:"en301549-9-4.1.2.b",standards:["EN-301-549"],type:"issue",impact:4},{checkpoint:"rgaa-7.1.2",standards:["RGAAv4"],type:"issue",impact:4}]},{id:"custom-role-application",descriptions:{en:{shortText:'Application: role="application" is used inappropriately',description:'role="application" is used inappropriately.'}},checkpoints:[{checkpoint:"4.1.2.b",standards:["wcag2a"],type:"issue",impact:4},{checkpoint:"en301549-9-4.1.2.b",standards:["EN-301-549"],type:"issue",impact:4},{checkpoint:"rgaa-7.1.2",standards:["RGAAv4"],type:"issue",impact:4}]},{id:"custom-slider",descriptions:{en:{shortText:"Slider: Slider is missing appropriate role and/or attributes",description:"The element appears and functions like a slider but is missing required ARIA role(s) and/or attribute(s)."}},checkpoints:[{checkpoint:"4.1.2.b",standards:["wcag2a"],type:"issue",impact:4},{checkpoint:"en301549-9-4.1.2.b",standards:["EN-301-549"],type:"issue",impact:4},{checkpoint:"rgaa-7.1.2",standards:["RGAAv4"],type:"issue",impact:4}]},{id:"custom-switch",descriptions:{en:{shortText:"Switch: Switch is missing appropriate roles and/or attributes",description:"The element appears and functions like a switch but is missing required ARIA role(s) and/or attribute(s)."}},checkpoints:[{checkpoint:"4.1.2.b",standards:["wcag2a"],type:"issue",impact:4},{checkpoint:"en301549-9-4.1.2.b",standards:["EN-301-549"],type:"issue",impact:4},{checkpoint:"rgaa-7.1.2",standards:["RGAAv4"],type:"issue",impact:4}]},{id:"custom-tabs",descriptions:{en:{shortText:"Tabs: Tab widget is missing appropriate roles and/or attributes",description:"The element appears and functions like a tab/tabpanel interface but is missing required ARIA role(s) and/or attribute(s)."}},checkpoints:[{checkpoint:"4.1.2.b",standards:["wcag2a"],type:"issue",impact:2},{checkpoint:"en301549-9-4.1.2.b",standards:["EN-301-549"],type:"issue",impact:2},{checkpoint:"rgaa-7.1.2",standards:["RGAAv4"],type:"issue",impact:2}]},{id:"custom-toolbar",descriptions:{en:{shortText:"Toolbar: Toolbar is missing appropriate role and/or attributes",description:"The element appears and functions like a toolbar but is missing required ARIA role(s) and/or attribute(s)."}},checkpoints:[{checkpoint:"4.1.2.b",standards:["wcag2a"],type:"issue",impact:4},{checkpoint:"en301549-9-4.1.2.b",standards:["EN-301-549"],type:"issue",impact:4},{checkpoint:"rgaa-7.1.2",standards:["RGAAv4"],type:"issue",impact:4}]},{id:"custom-tooltip",descriptions:{en:{shortText:"Tooltip: Tooltip content is not accessible to screen readers",description:"Tooltip content is not accessible to screen readers."}},checkpoints:[{checkpoint:"4.1.2.b",standards:["wcag2a"],type:"issue",impact:4},{checkpoint:"en301549-9-4.1.2.b",standards:["EN-301-549"],type:"issue",impact:4},{checkpoint:"rgaa-7.1.2",standards:["RGAAv4"],type:"issue",impact:4}]},{id:"custom-treeview",descriptions:{en:{shortText:"Treeview: File system navigator missing appropriate roles and/or attributes - WARNING: VERY RARE",description:"The element appears and functions like a treeview but is missing required ARIA role(s) and/or attribute(s)."}},checkpoints:[{checkpoint:"4.1.2.b",standards:["wcag2a"],type:"issue",impact:4},{checkpoint:"en301549-9-4.1.2.b",standards:["EN-301-549"],type:"issue",impact:4},{checkpoint:"rgaa-7.1.2",standards:["RGAAv4"],type:"issue",impact:4}]},{id:"dragging-no-alternative",descriptions:{en:{shortText:"Functionality requires a dragging movement with no alternative",description:"Functionality requires a dragging movement and does not have a single-pointer, single-touch alternative."}},checkpoints:[{checkpoint:"2.5.7.a",standards:["wcag22aa"],type:"issue",impact:3},{checkpoint:"en301549-9-2.5.7.a",standards:["EN-301-549"],type:"issue",impact:3}]},{id:"dual-role",descriptions:{en:{shortText:"The element functions as if it has two roles.",description:"The element functions as if it has two roles. Elements are allowed to have only one functioning role."}},checkpoints:[{checkpoint:"4.1.2.b",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-4.1.2.b",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-7.1.1",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"focus-different-device",descriptions:{en:{shortText:"Hover indicator different than focus indicator",description:"The mouse hover indicator is different than the keyboard focus indicator."}},checkpoints:[{checkpoint:"2.4.7.a",standards:["wcag2aa"],type:"best-practice",impact:1},{checkpoint:"en301549-9-2.4.7.a",standards:["EN-301-549"],type:"best-practice",impact:1},{checkpoint:"rgaa-10.7.1",standards:["RGAAv4"],type:"best-practice",impact:1}]},{id:"focus-errors-elsewhere",descriptions:{en:{shortText:"Focus is not moved to error message or field",description:"When a form error message is returned, focus is moved somewhere other than the error message or the first field with an error."}},checkpoints:[{checkpoint:"2.4.3.a",standards:["wcag2a"],type:"best-practice",impact:3},{checkpoint:"en301549-9-2.4.3.a",standards:["EN-301-549"],type:"best-practice",impact:3},{checkpoint:"rgaa-12.8.2",standards:["RGAAv4"],type:"best-practice",impact:3}]},{id:"focus-errors-none",descriptions:{en:{shortText:"Focus does not move to error message",description:"When a form error message is returned, focus is not moved to the error message."}},checkpoints:[{checkpoint:"2.4.3.a",standards:["wcag2a"],type:"best-practice",impact:3},{checkpoint:"en301549-9-2.4.3.a",standards:["EN-301-549"],type:"best-practice",impact:3},{checkpoint:"rgaa-12.8.2",standards:["RGAAv4"],type:"best-practice",impact:3}]},{id:"focus-fully-obscured",descriptions:{en:{shortText:"Focused element is completely covered by other content",description:"The focused element is completely covered by other author-created content."}},checkpoints:[{checkpoint:"2.4.11.a",standards:["wcag22aa"],type:"issue",impact:2},{checkpoint:"en301549-9-2.4.11.a",standards:["EN-301-549"],type:"issue",impact:2}]},{id:"focus-fully-visible",descriptions:{en:{shortText:"Part of a focus indicator is hidden",description:"Part of an element's focus indicator is hidden by author-created content."}},checkpoints:[{checkpoint:"2.4.11.a",standards:["wcag22aa"],type:"best-practice",impact:1},{checkpoint:"en301549-9-2.4.11.a",standards:["EN-301-549"],type:"best-practice",impact:1}]},{id:"focus-indicator-missing",descriptions:{en:{shortText:"Focus indicator is missing",description:"The visual focus indicator is missing altogether."}},checkpoints:[{checkpoint:"2.4.7.a",standards:["wcag2aa"],type:"issue",impact:4},{checkpoint:"en301549-9-2.4.7.a",standards:["EN-301-549"],type:"issue",impact:4},{checkpoint:"rgaa-10.7.1",standards:["RGAAv4"],type:"issue",impact:4}]},{id:"focus-lost",descriptions:{en:{shortText:"Keyboard focus is lost or misplaced due to user interaction or content update",description:"Keyboard focus is lost or placed on the wrong element during user interaction, content refresh or update, or other reason."}},checkpoints:[{checkpoint:"2.4.3.a",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-2.4.3.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-12.8.2",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"focus-lost-screen-reader",descriptions:{en:{shortText:"Screen reader focus is lost or misplaced due to user interaction or content update",description:"Screen reader focus is lost or placed on the wrong element during user interaction, content refresh or update, or other reason."}},checkpoints:[{checkpoint:"1.3.2.a",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-1.3.2.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-12.8.2",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"focus-modal-moves-outside",descriptions:{en:{shortText:"Keyboard focus is not maintained in modal",description:"Keyboard focus is not maintained within the modal. It is possible to tab out of the modal."}},checkpoints:[{checkpoint:"2.4.3.a",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-2.4.3.a",standards:["EN-301-549"],type:"issue",impact:3}]},{id:"focus-modal-none",descriptions:{en:{shortText:"Keyboard focus is not placed on opened modal",description:"When the modal dialog is activated, keyboard focus is not placed on/in it."}},checkpoints:[{checkpoint:"2.4.3.a",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-2.4.3.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-12.8.2",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"focus-modal-none-screen-reader",descriptions:{en:{shortText:"Screen reader focus is not placed on opened modal",description:"When the modal dialog is activated, screen reader focus is not placed on/in it."}},checkpoints:[{checkpoint:"1.3.2.a",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-1.3.2.a",standards:["EN-301-549"],type:"issue",impact:3}]},{id:"focus-modal-not-returned",descriptions:{en:{shortText:"Modal is closed, focus is not returned to trigger",description:"When the modal dialog or similar element is closed, keyboard focus is not returned to the triggering element."}},checkpoints:[{checkpoint:"2.4.3.a",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-2.4.3.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-12.8.2",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"focus-modal-not-returned-screen-reader",descriptions:{en:{shortText:"Modal is closed, screen reader focus is not returned to trigger",description:"When the modal dialog or similar element is closed, screen reader focus is not returned to the triggering element."}},checkpoints:[{checkpoint:"1.3.2.a",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-1.3.2.a",standards:["EN-301-549"],type:"issue",impact:3}]},{id:"focus-moves-on-load",descriptions:{en:{shortText:"New window opens on page load",description:"Loading the page causes another window to open up unexpectedly and gain focus."}},checkpoints:[{checkpoint:"3.2.1.a",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-3.2.1.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-7.3.2",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"focus-not-clearly-visible",descriptions:{en:{shortText:"Focus indicator is not visible",description:"The focus indicator (e.g. border or dotted underline / background etc.) is not visible as one tabs through the page."}},checkpoints:[{checkpoint:"2.4.7.a",standards:["wcag2aa"],type:"issue",impact:3},{checkpoint:"en301549-9-2.4.7.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-10.7.1",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"focus-not-moved",descriptions:{en:{shortText:"Keyboard focus does not move to intended target",description:'Keyboard focus does not follow visual focus or move to the intended target, such as with a "return to top" link.'}},checkpoints:[{checkpoint:"2.4.3.a",standards:["wcag2a"],type:"issue",impact:2},{checkpoint:"en301549-9-2.4.3.a",standards:["EN-301-549"],type:"issue",impact:2},{checkpoint:"rgaa-12.8.2",standards:["RGAAv4"],type:"issue",impact:2}]},{id:"focus-not-moved-screen-reader",descriptions:{en:{shortText:"Screen reader focus does not move to intended target",description:'Screen reader focus does not follow visual focus or move to the intended target, such as with a "return to top" control.'}},checkpoints:[{checkpoint:"1.3.2.a",standards:["wcag2a"],type:"issue",impact:2},{checkpoint:"en301549-9-1.3.2.a",standards:["EN-301-549"],type:"issue",impact:2},{checkpoint:"rgaa-12.8.2",standards:["RGAAv4"],type:"issue",impact:2}]},{id:"focus-not-obscured-by-user",descriptions:{en:{shortText:"Focused element is covered by user-controlled content",description:"The focused element is covered by content the user has opened or expanded."}},checkpoints:[{checkpoint:"",standards:["wcag22aa"],type:"best-practice",impact:1}]},{id:"focus-not-strong",descriptions:{en:{shortText:"Focus indicator does not meet visual requirements",description:"Focus indicator does not meet minimum area, contrast, or thickness requirements."}},checkpoints:[{checkpoint:"2.4.13.a",standards:["wcag22aaa"],type:"issue",impact:2},{checkpoint:"en301549-9-2.4.13.a",standards:["EN-301-549"],type:"issue",impact:2},{checkpoint:"rgaa-10.7.1",standards:["RGAAv4"],type:"issue",impact:2}]},{id:"focus-obscured-by-cookie",descriptions:{en:{shortText:"Cookie Notice Blocking Content",description:"Cookie consent banner or notice obscures focused interactive elements on the page, preventing users from seeing the component that currently has keyboard focus."}},checkpoints:[{checkpoint:"2.4.11.a",standards:["wcag22aa"],type:"issue",impact:3}]},{id:"focus-on-hidden-item",descriptions:{en:{shortText:"Hidden or empty element receives focus",description:"Keyboard focus or touch screen swiping falls on an element that is hidden or empty."}},checkpoints:[{checkpoint:"2.4.3.a",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-2.4.3.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-10.8.1",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"focus-on-hidden-item-screen-reader",descriptions:{en:{shortText:"Hidden or empty interactive element receives screen reader focus",description:"Screen reader focus falls on an interactive element that is hidden or empty."}},checkpoints:[{checkpoint:"1.3.2.a",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-1.3.2.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-10.8.1",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"focus-order-first",descriptions:{en:{shortText:"Focus does not begin on the first element",description:"On load, programmatic focus is set to something other than the first interactive element."}},checkpoints:[{checkpoint:"2.4.3.a",standards:["wcag2a"],type:"best-practice",impact:2},{checkpoint:"en301549-9-2.4.3.a",standards:["EN-301-549"],type:"best-practice",impact:2},{checkpoint:"rgaa-10.8.1",standards:["RGAAv4"],type:"best-practice",impact:2}]},{id:"focus-submits-form",descriptions:{en:{shortText:"Form is automatically submitted when component receives focus",description:"Form is automatically submitted when a component receives focus."}},checkpoints:[{checkpoint:"3.2.1.a",standards:["wcag2a"],type:"issue",impact:4},{checkpoint:"en301549-9-3.2.1.a",standards:["EN-301-549"],type:"issue",impact:4},{checkpoint:"rgaa-7.3.2",standards:["RGAAv4"],type:"issue",impact:4}]},{id:"focus-visual-affects-keyboard",descriptions:{en:{shortText:"Keyboard focus is unexpectedly removed or redirected",description:"When a component receives keyboard focus, focus is automatically removed or redirected."}},checkpoints:[{checkpoint:"3.2.1.a",standards:["wcag2a"],type:"issue",impact:4},{checkpoint:"en301549-9-3.2.1.a",standards:["EN-301-549"],type:"issue",impact:4},{checkpoint:"rgaa-7.3.2",standards:["RGAAv4"],type:"issue",impact:4}]},{id:"focus-visual-affects-screen-reader",descriptions:{en:{shortText:"Screen reader focus is unexpectedly removed or redirected",description:"When screen reader focus falls on a component, focus is automatically removed or redirected."}},checkpoints:[{checkpoint:"3.2.1.a",standards:["wcag2a"],type:"issue",impact:4},{checkpoint:"en301549-9-3.2.1.a",standards:["EN-301-549"],type:"issue",impact:4}]},{id:"focus-window-launches",descriptions:{en:{shortText:"New window launched when component receives focus",description:"New window launched when a component receives focus."}},checkpoints:[{checkpoint:"3.2.1.a",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-3.2.1.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-7.3.2",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"form-accidental-submission-recovery",descriptions:{en:{shortText:"User cannot confirm or reverse a deletion",description:'The "Delete"/"Cancel" button immediately triggers the deletion of the legal, financial, or data transaction on the database. Users do not have the ability to recover from an accidental deletion.'}},checkpoints:[{checkpoint:"3.3.4.a",standards:["wcag2aa"],type:"issue",impact:3},{checkpoint:"en301549-9-3.3.4.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-11.12.1",standards:["RGAAv4"],type:"issue",impact:3},{checkpoint:"rgaa-11.12.2",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"form-error-field-not-identified",descriptions:{en:{shortText:"Form field with error not identified",description:"The form field with an error is not identified in text, or text alternative, or via programmatic association."}},checkpoints:[{checkpoint:"3.3.1.b",standards:["wcag2a"],type:"issue",impact:4},{checkpoint:"en301549-9-3.3.1.b",standards:["EN-301-549"],type:"issue",impact:4},{checkpoint:"rgaa-11.10.3",standards:["RGAAv4"],type:"issue",impact:4}]},{id:"form-error-format",descriptions:{en:{shortText:"Error message does not convey required format",description:"The error message does not indicate expected data format."}},checkpoints:[{checkpoint:"3.3.3.a",standards:["wcag2aa"],type:"issue",impact:3},{checkpoint:"en301549-9-3.3.3.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-11.10.5",standards:["RGAAv4"],type:"issue",impact:3},{checkpoint:"rgaa-11.10.6",standards:["RGAAv4"],type:"issue",impact:3},{checkpoint:"rgaa-11.10.7",standards:["RGAAv4"],type:"issue",impact:3},{checkpoint:"rgaa-11.11.1",standards:["RGAAv4"],type:"issue",impact:3},{checkpoint:"rgaa-11.11.2",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"form-error-not-associated",descriptions:{en:{shortText:"Error message not associated with form control",description:"Error messages are not programmatically associated with the corresponding form field."}},checkpoints:[{checkpoint:"1.3.1.a",standards:["wcag2a"],type:"best-practice",impact:3},{checkpoint:"3.3.1.b",standards:["wcag2a"],type:"best-practice",impact:3},{checkpoint:"en301549-9-3.3.1.b",standards:["EN-301-549"],type:"best-practice",impact:3},{checkpoint:"en301549-9-1.3.1.a",standards:["EN-301-549"],type:"best-practice",impact:3},{checkpoint:"rgaa-11.10.3",standards:["RGAAv4"],type:"best-practice",impact:3}]},{id:"form-error-not-auto-announced",descriptions:{en:{shortText:"Error message not automatically announced",description:"Error message is available in text but is not automatically announced by the screen reader."}},checkpoints:[{checkpoint:"3.3.1.b",standards:["wcag2a"],type:"best-practice",impact:3},{checkpoint:"en301549-9-3.3.1.b",standards:["EN-301-549"],type:"best-practice",impact:3}]},{id:"form-error-not-descriptive",descriptions:{en:{shortText:"Error message does not describe error",description:"The error message does not describe precisely what the error is or why the element failed validation."}},checkpoints:[{checkpoint:"3.3.1.b",standards:["wcag2a"],type:"best-practice",impact:3},{checkpoint:"en301549-9-3.3.1.b",standards:["EN-301-549"],type:"best-practice",impact:3},{checkpoint:"rgaa-11.11.1",standards:["RGAAv4"],type:"best-practice",impact:3}]},{id:"form-error-positioned-improperly",descriptions:{en:{shortText:"Error message not near corresponding field",description:"Error message not near the corresponding field. As a result, it is difficult to visually associate it with the field, especially if zooming or magnifying the screen."}},checkpoints:[{checkpoint:"3.3.1.b",standards:["wcag2a"],type:"best-practice",impact:3},{checkpoint:"en301549-9-3.3.1.b",standards:["EN-301-549"],type:"best-practice",impact:3}]},{id:"form-error-range",descriptions:{en:{shortText:"Error message does not convey required values",description:"The error message does not indicate expected range of data values."}},checkpoints:[{checkpoint:"3.3.3.a",standards:["wcag2aa"],type:"issue",impact:3},{checkpoint:"en301549-9-3.3.3.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-11.10.6",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"form-error-required-unclear",descriptions:{en:{shortText:"Required field not identified by label, instructions or error message",description:"The required field is not identified by any of the following means: its label or form-level instructions or an error message."}},checkpoints:[{checkpoint:"3.3.2.c",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-3.3.2.c",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-11.10.2",standards:["RGAAv4"],type:"issue",impact:3},{checkpoint:"rgaa-11.10.3",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"form-error-unhelpful",descriptions:{en:{shortText:"Error message does not suggest fix",description:"There is no suggestion for how to fix a validation failure."}},checkpoints:[{checkpoint:"3.3.3.a",standards:["wcag2aa"],type:"issue",impact:3},{checkpoint:"en301549-9-3.3.3.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-11.10.6",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"form-error-unreadable",descriptions:{en:{shortText:"Error message cannot be read by screen readers",description:"Error message cannot be read by screen readers."}},checkpoints:[{checkpoint:"3.3.1.b",standards:["wcag2a"],type:"issue",impact:4},{checkpoint:"en301549-9-3.3.1.b",standards:["EN-301-549"],type:"issue",impact:4}]},{id:"form-error-validation-not-described",descriptions:{en:{shortText:"Input error is not described in text",description:"Input validation failures are not described in text or a text alternative."}},checkpoints:[{checkpoint:"3.3.1.b",standards:["wcag2a"],type:"issue",impact:4},{checkpoint:"en301549-9-3.3.1.b",standards:["EN-301-549"],type:"issue",impact:4},{checkpoint:"rgaa-11.10.6",standards:["RGAAv4"],type:"issue",impact:4}]},{id:"form-errors-color-only",descriptions:{en:{shortText:"Color alone is used to identify error(s)",description:"Color is used as the sole method to identify error(s) on form field(s)."}},checkpoints:[{checkpoint:"1.4.1.a",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-1.4.1.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-3.1.4",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"form-group-not-labeled",descriptions:{en:{shortText:'Form Group: Section with role="group" or "radiogroup" does not have a label',description:'The group of form elements grouped using ARIA role="group" or "radiogroup" has no group-level label (similar to an HTML legend).'}},checkpoints:[{checkpoint:"4.1.2.a",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-4.1.2.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-11.5.1",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"form-implicit-submit",descriptions:{en:{shortText:"Submit button missing on form",description:"Submit button missing on a form and this makes it less obvious how to submit this form. This form can be implicitly submitted. Example of implicit submission is a search form with no submit button that can be submitted when the user types text in the search text field and then presses the enter key while focus is still on the search text field."}},checkpoints:[{checkpoint:"3.2.2.a",standards:["wcag2a"],type:"best-practice",impact:2},{checkpoint:"en301549-9-3.2.2.a",standards:["EN-301-549"],type:"best-practice",impact:2},{checkpoint:"rgaa-7.4.1",standards:["RGAAv4"],type:"best-practice",impact:2}]},{id:"form-label-missing",descriptions:{en:{shortText:"Form field: Form field is missing an accessible name",description:"The form field does not have an explicit or implicit <label> relationship, nor a title, aria-labelledby, aria-label, or placeholder attribute."}},checkpoints:[{checkpoint:"4.1.2.a",standards:["wcag2a"],type:"issue",impact:4},{checkpoint:"en301549-9-4.1.2.a",standards:["EN-301-549"],type:"issue",impact:4},{checkpoint:"rgaa-11.1.1",standards:["RGAAv4"],type:"issue",impact:4},{checkpoint:"rgaa-11.4.1",standards:["RGAAv4"],type:"issue",impact:4}]},{id:"form-review",descriptions:{en:{shortText:"User cannot review input before submission",description:"Users are not given the opportunity to review and edit information before the data is submitted."}},checkpoints:[{checkpoint:"3.3.4.a",standards:["wcag2aa"],type:"issue",impact:3},{checkpoint:"en301549-9-3.3.4.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-11.12.1",standards:["RGAAv4"],type:"issue",impact:3},{checkpoint:"rgaa-11.12.2",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"form-review-recovery",descriptions:{en:{shortText:"User cannot review or reverse a transaction",description:"User does not get an opportunity to review and confirm the transaction before committing it. Nor is the action reversible."}},checkpoints:[{checkpoint:"3.3.4.a",standards:["wcag2aa"],type:"issue",impact:3},{checkpoint:"en301549-9-3.3.4.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-11.12.1",standards:["RGAAv4"],type:"issue",impact:3},{checkpoint:"rgaa-11.12.2",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"form-submission-not-checked",descriptions:{en:{shortText:"User cannot reverse, check, or confirm a form submission",description:"Users are not given to ability to reverse, check, or confirm a form submission."}},checkpoints:[{checkpoint:"3.3.6.a",standards:["wcag2aaa","aenb-77"],type:"issue",impact:3},{checkpoint:"en301549-9-3.3.6.a",standards:["EN-301-549"],type:"issue",impact:3}]},{id:"form-title-duplicates-label",descriptions:{en:{shortText:"Title duplicates field label",description:"The title attribute duplicates the label for this form field."}},checkpoints:[{checkpoint:"4.1.2.a",standards:["wcag2a"],type:"best-practice",impact:1},{checkpoint:"en301549-9-4.1.2.a",standards:["EN-301-549"],type:"best-practice",impact:1},{checkpoint:"rgaa-7.1.1",standards:["RGAAv4"],type:"best-practice",impact:1}]},{id:"heading-empty",descriptions:{en:{shortText:"Heading tag found with no content",description:"Heading tag found with no content."}},checkpoints:[{checkpoint:"1.3.1.e",standards:["wcag2a"],type:"best-practice",impact:1},{checkpoint:"en301549-9-1.3.1.e",standards:["EN-301-549"],type:"best-practice",impact:1},{checkpoint:"rgaa-9.1.1",standards:["RGAAv4"],type:"best-practice",impact:1}]},{id:"heading-level-increase",descriptions:{en:{shortText:"Heading levels increase by more than 1",description:"Heading levels increase by more than one level per heading."}},checkpoints:[{checkpoint:"1.3.1.e",standards:["wcag2a"],type:"best-practice",impact:2},{checkpoint:"en301549-9-1.3.1.e",standards:["EN-301-549"],type:"best-practice",impact:2},{checkpoint:"rgaa-9.1.1",standards:["RGAAv4"],type:"best-practice",impact:2}]},{id:"heading-level-order",descriptions:{en:{shortText:"Heading levels are out of order",description:"Heading levels are out of order in such a way that the structure of the content is not properly conveyed."}},checkpoints:[{checkpoint:"1.3.1.e",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-1.3.1.e",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-9.1.1",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"heading-missing",descriptions:{en:{shortText:"Content is missing a section heading",description:"Content is missing a section heading."}},checkpoints:[{checkpoint:"2.4.10.a",standards:["wcag2aaa","aenb-77"],type:"issue",impact:2},{checkpoint:"en301549-9-2.4.10.a",standards:["EN-301-549"],type:"issue",impact:2},{checkpoint:"rgaa-9.1.3",standards:["RGAAv4"],type:"issue",impact:2}]},{id:"heading-multiple-h1s",descriptions:{en:{shortText:"The page has more than one H1",description:"The page has more than one H1."}},checkpoints:[{checkpoint:"1.3.1.e",standards:["wcag2a"],type:"best-practice",impact:1},{checkpoint:"en301549-9-1.3.1.e",standards:["EN-301-549"],type:"best-practice",impact:1},{checkpoint:"rgaa-9.1.1",standards:["RGAAv4"],type:"best-practice",impact:1}]},{id:"heading-no-h1",descriptions:{en:{shortText:"The page has no H1",description:"The page has no H1."}},checkpoints:[{checkpoint:"1.3.1.e",standards:["wcag2a"],type:"best-practice",impact:2},{checkpoint:"en301549-9-1.3.1.e",standards:["EN-301-549"],type:"best-practice",impact:2},{checkpoint:"rgaa-9.1.1",standards:["RGAAv4"],type:"best-practice",impact:2}]},{id:"heading-none",descriptions:{en:{shortText:"The page has no headings",description:"The page has no headings."}},checkpoints:[{checkpoint:"1.3.1.e",standards:["wcag2a"],type:"best-practice",impact:3},{checkpoint:"en301549-9-1.3.1.e",standards:["EN-301-549"],type:"best-practice",impact:3}]},{id:"heading-not-descriptive",descriptions:{en:{shortText:"Heading does not describe content",description:"The heading does not describe the topic or purpose of the content that follows it."}},checkpoints:[{checkpoint:"2.4.6.a",standards:["wcag2aa"],type:"issue",impact:2},{checkpoint:"en301549-9-2.4.6.a",standards:["EN-301-549"],type:"issue",impact:2},{checkpoint:"rgaa-9.1.2",standards:["RGAAv4"],type:"issue",impact:2}]},{id:"help-all-always-available",descriptions:{en:{shortText:"Not all pages in the set have all the same help mechanisms",description:"Some pages in the set are missing a help mechanism that is available on other pages in the set."}},checkpoints:[{checkpoint:"3.2.6.a",standards:["wcag22aa"],type:"best-practice",impact:2},{checkpoint:"en301549-9-3.2.6.a",standards:["EN-301-549"],type:"best-practice",impact:2}]},{id:"help-always-available",descriptions:{en:{shortText:"Some pages in the set do not contain any help mechanism",description:"Some pages in the set do not contain any help mechanism."}},checkpoints:[{checkpoint:"3.2.6.a",standards:["wcag22aa"],type:"best-practice",impact:2},{checkpoint:"en301549-9-3.2.6.a",standards:["EN-301-549"],type:"best-practice",impact:2}]},{id:"help-consistent-every-page",descriptions:{en:{shortText:"Pages outside the set have different help location",description:"The set of pages has consistently located help, but on other pages outside the set the help location is different."}},checkpoints:[{checkpoint:"3.2.6.a",standards:["wcag22aa"],type:"best-practice",impact:1},{checkpoint:"en301549-9-3.2.6.a",standards:["EN-301-549"],type:"best-practice",impact:1}]},{id:"help-not-consistent",descriptions:{en:{shortText:"Help mechanism is not in a consistent location",description:"Help mechanism is not in a programmatically consistent location."}},checkpoints:[{checkpoint:"3.2.6.a",standards:["wcag22aa"],type:"issue",impact:2},{checkpoint:"en301549-9-3.2.6.a",standards:["EN-301-549"],type:"issue",impact:2}]},{id:"help-time-described",descriptions:{en:{shortText:"Help availability information not provided",description:"Help is not always available and information on when help is available is not provided."}},checkpoints:[{checkpoint:"3.2.6.a",standards:["wcag22aa"],type:"best-practice",impact:2},{checkpoint:"en301549-9-3.2.6.a",standards:["EN-301-549"],type:"best-practice",impact:2}]},{id:"help-visually-consistent",descriptions:{en:{shortText:"Help programmatically same but visually different",description:"Help mechanism is in the same programmatic location, but the visual location varies from page to page."}},checkpoints:[{checkpoint:"3.2.6.a",standards:["wcag22aa"],type:"best-practice",impact:2},{checkpoint:"en301549-9-3.2.6.a",standards:["EN-301-549"],type:"best-practice",impact:2}]},{id:"html-invalid",descriptions:{en:{shortText:"HTML validation errors exist",description:"HTML validation errors exist."}},checkpoints:[{checkpoint:"4.1.1.a",standards:["wcag2a"],type:"best-practice",impact:2},{checkpoint:"en301549-9-4.1.1.a",standards:["EN-301-549"],type:"best-practice",impact:2}]},{id:"id-input-purpose-inaccurate",descriptions:{en:{shortText:"Identify input purpose not accurate",description:"Autocomplete attribute to identify the purpose of this form element is not accurate."}},checkpoints:[{checkpoint:"1.3.5.a",standards:["wcag21aa"],type:"issue",impact:3},{checkpoint:"en301549-9-1.3.5.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-11.13.1",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"id-input-purpose-missing",descriptions:{en:{shortText:"Identify input purpose missing",description:"Autocomplete attribute to identify the purpose of this form element is missing."}},checkpoints:[{checkpoint:"1.3.5.a",standards:["wcag21aa"],type:"issue",impact:3},{checkpoint:"en301549-9-1.3.5.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-11.13.1",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"image-map-equivalent",descriptions:{en:{shortText:"Image map is missing links and/or alt text",description:"A server-side image map is missing an equivalent set of text links and/or text alternative to alert the user that these links are available."}},checkpoints:[{checkpoint:"1.1.1.a",standards:["wcag2a"],type:"issue",impact:4},{checkpoint:"en301549-9-1.1.1.a",standards:["EN-301-549"],type:"issue",impact:4},{checkpoint:"rgaa-1.1.4",standards:["RGAAv4"],type:"issue",impact:4}]},{id:"image-of-text",descriptions:{en:{shortText:"Image of text is used instead of real text",description:"The image contains embedded text."}},checkpoints:[{checkpoint:"1.4.5.a",standards:["wcag2aa"],type:"issue",impact:3},{checkpoint:"en301549-9-1.4.5.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-1.8.1",standards:["RGAAv4"],type:"issue",impact:3},{checkpoint:"rgaa-1.8.2",standards:["RGAAv4"],type:"issue",impact:3},{checkpoint:"rgaa-1.8.3",standards:["RGAAv4"],type:"issue",impact:3},{checkpoint:"rgaa-1.8.4",standards:["RGAAv4"],type:"issue",impact:3},{checkpoint:"rgaa-1.8.5",standards:["RGAAv4"],type:"issue",impact:3},{checkpoint:"rgaa-1.8.6",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"inconsistent-component-id",descriptions:{en:{shortText:"Component labeling is inconsistent",description:"Components are labeled differently on different pages or screens, though they have the same function."}},checkpoints:[{checkpoint:"3.2.4.a",standards:["wcag2aa"],type:"issue",impact:3},{checkpoint:"en301549-9-3.2.4.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-11.3.1",standards:["RGAAv4"],type:"issue",impact:3},{checkpoint:"rgaa-11.3.2",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"inconsistent-form-id",descriptions:{en:{shortText:"Form control identification is inconsistent",description:"The form control is identified differently on different pages or screens, though it has the same function."}},checkpoints:[{checkpoint:"3.2.4.a",standards:["wcag2aa"],type:"issue",impact:3},{checkpoint:"en301549-9-3.2.4.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-11.3.1",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"inconsistent-link",descriptions:{en:{shortText:"Link identification is inconsistent",description:"The link/image link is identified differently on different pages, though it has the same target."}},checkpoints:[{checkpoint:"3.2.4.a",standards:["wcag2aa"],type:"issue",impact:3},{checkpoint:"en301549-9-3.2.4.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-11.3.2",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"inconsistent-nav",descriptions:{en:{shortText:"Navigation element order is inconsistent",description:"Navigational elements that occur across multiple pages or screens are not presented in the same relative order."}},checkpoints:[{checkpoint:"3.2.3.a",standards:["wcag2aa"],type:"issue",impact:3},{checkpoint:"en301549-9-3.2.3.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-12.2.1",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"info-relationship-visual-only",descriptions:{en:{shortText:"Information or relationship only presented visually",description:"Information, structure, or relationship is presented visually but is not conveyed programmatically or in text."}},checkpoints:[{checkpoint:"1.3.1.a",standards:["wcag2a"],type:"issue",impact:4},{checkpoint:"en301549-9-1.3.1.a",standards:["EN-301-549"],type:"issue",impact:4},{checkpoint:"rgaa-10.9.1",standards:["RGAAv4"],type:"issue",impact:4},{checkpoint:"rgaa-10.9.2",standards:["RGAAv4"],type:"issue",impact:4},{checkpoint:"rgaa-10.9.3",standards:["RGAAv4"],type:"issue",impact:4},{checkpoint:"rgaa-10.9.4",standards:["RGAAv4"],type:"issue",impact:4},{checkpoint:"rgaa-10.10.1",standards:["RGAAv4"],type:"issue",impact:4},{checkpoint:"rgaa-10.10.2",standards:["RGAAv4"],type:"issue",impact:4},{checkpoint:"rgaa-10.10.3",standards:["RGAAv4"],type:"issue",impact:4},{checkpoint:"rgaa-10.10.4",standards:["RGAAv4"],type:"issue",impact:4}]},{id:"information-color",descriptions:{en:{shortText:"Color alone is used to convey info",description:"Color is used to convey information that is not conveyed in any other way."}},checkpoints:[{checkpoint:"1.4.1.a",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-1.4.1.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-3.1.1",standards:["RGAAv4"],type:"issue",impact:3},{checkpoint:"rgaa-3.1.2",standards:["RGAAv4"],type:"issue",impact:3},{checkpoint:"rgaa-3.1.3",standards:["RGAAv4"],type:"issue",impact:3},{checkpoint:"rgaa-3.1.4",standards:["RGAAv4"],type:"issue",impact:3},{checkpoint:"rgaa-3.1.5",standards:["RGAAv4"],type:"issue",impact:3},{checkpoint:"rgaa-3.1.6",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"information-requires-hearing",descriptions:{en:{shortText:"Instructions rely on ability to hear",description:"Instructions are presented in a way that requires the ability to hear sound, and there is no alternate method to convey the information."}},checkpoints:[{checkpoint:"1.3.3.b",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-1.3.3.b",standards:["EN-301-549"],type:"issue",impact:3}]},{id:"information-requires-vision",descriptions:{en:{shortText:"Instructions rely on ability to see",description:"Instructions are presented in a way that requires the ability to see shape, color, size, visual location, or orientation."}},checkpoints:[{checkpoint:"1.3.3.a",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-1.3.3.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-10.9.1",standards:["RGAAv4"],type:"issue",impact:3},{checkpoint:"rgaa-10.9.2",standards:["RGAAv4"],type:"issue",impact:3},{checkpoint:"rgaa-10.9.3",standards:["RGAAv4"],type:"issue",impact:3},{checkpoint:"rgaa-10.9.4",standards:["RGAAv4"],type:"issue",impact:3},{checkpoint:"rgaa-10.10.1",standards:["RGAAv4"],type:"issue",impact:3},{checkpoint:"rgaa-10.10.2",standards:["RGAAv4"],type:"issue",impact:3},{checkpoint:"rgaa-10.10.3",standards:["RGAAv4"],type:"issue",impact:3},{checkpoint:"rgaa-10.10.4",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"input-format-clarification",descriptions:{en:{shortText:"Label does not convey required format",description:"The input requires a specific format but the label or instruction does not specify this."}},checkpoints:[{checkpoint:"3.3.2.b",standards:["wcag2a"],type:"best-practice",impact:2},{checkpoint:"en301549-9-3.3.2.b",standards:["EN-301-549"],type:"best-practice",impact:2}]},{id:"input-range-clarification",descriptions:{en:{shortText:"Label does not convey required values",description:"The input is limited to a range of values but the label or instruction does not specify this."}},checkpoints:[{checkpoint:"3.3.2.b",standards:["wcag2a"],type:"best-practice",impact:2},{checkpoint:"en301549-9-3.3.2.b",standards:["EN-301-549"],type:"best-practice",impact:2}]},{id:"instructions-not-accurate",descriptions:{en:{shortText:"Instructions are inaccurate or incomplete for assistive technology users",description:"Additional instructions are only provided for the input field to people who do not have disabilities. For a person with disabilities, the instructions are incomplete, inaccurate, or misleading."}},checkpoints:[{checkpoint:"3.3.2.b",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-3.3.2.b",standards:["EN-301-549"],type:"issue",impact:3}]},{id:"instructions-not-associated",descriptions:{en:{shortText:"Instructions/descriptions not assoc w control",description:"Additional instructions/descriptions are provided for the control, but they are not programmatically associated with the control."}},checkpoints:[{checkpoint:"1.3.1.a",standards:["wcag2a"],type:"best-practice",impact:3},{checkpoint:"3.3.2.b",standards:["wcag2a"],type:"best-practice",impact:3},{checkpoint:"en301549-9-3.3.2.b",standards:["EN-301-549"],type:"best-practice",impact:3},{checkpoint:"en301549-9-1.3.1.a",standards:["EN-301-549"],type:"best-practice",impact:3}]},{id:"instructions-not-descriptive",descriptions:{en:{shortText:"Instructions not descriptive",description:"Additional instructions are provided for the control, but they are unclear or insufficiently descriptive."}},checkpoints:[{checkpoint:"3.3.2.b",standards:["wcag2a"],type:"best-practice",impact:2},{checkpoint:"en301549-9-3.3.2.b",standards:["EN-301-549"],type:"best-practice",impact:2}]},{id:"instructions-not-included",descriptions:{en:{shortText:"Instructions missing for assistive technology users",description:"Additional instructions are needed for the input field but are not provided for people with disabilities. People without disabilities have access to additional instructions."}},checkpoints:[{checkpoint:"3.3.2.b",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-3.3.2.b",standards:["EN-301-549"],type:"issue",impact:3}]},{id:"instructions-positioned-improperly",descriptions:{en:{shortText:"Label or instruction is not near related element",description:"The label or instruction is not near its related element. As a result, it is difficult to visually associate it with the element, especially if zooming or magnifying the screen."}},checkpoints:[{checkpoint:"3.3.2.b",standards:["wcag2a"],type:"best-practice",impact:3},{checkpoint:"en301549-9-3.3.2.b",standards:["EN-301-549"],type:"best-practice",impact:3}]},{id:"keyboard-cannot-extend-session",descriptions:{en:{shortText:"Timeout mechanism is not keyboard accessible",description:"The mechanism to extend the session is not accessible by keyboard alone."}},checkpoints:[{checkpoint:"2.2.1.a",standards:["wcag2a"],type:"issue",impact:4},{checkpoint:"en301549-9-2.2.1.a",standards:["EN-301-549"],type:"issue",impact:4},{checkpoint:"rgaa-7.3.1",standards:["RGAAv4"],type:"issue",impact:4}]},{id:"keyboard-character-key-shortcuts",descriptions:{en:{shortText:"Character key shortcuts exist and cannot be modified or turned off",description:"Single character key shortcuts exist and do not have at least one of these required options: ability to turn off single character key shortcuts, ability to remap to a non-singular key shortcut, OR are only active when the appropriate user interface component has focus."}},checkpoints:[{checkpoint:"2.1.4.a",standards:["wcag21a"],type:"issue",impact:3},{checkpoint:"en301549-9-2.1.4.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-12.10.1",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"keyboard-inaccessible",descriptions:{en:{shortText:"Function cannot be performed by keyboard alone",description:"There is no way to perform the function using only the keyboard on the same screen or on a qualifying conforming alternate version."}},checkpoints:[{checkpoint:"2.1.1.a",standards:["wcag2a"],type:"issue",impact:4},{checkpoint:"en301549-9-2.1.1.a",standards:["EN-301-549"],type:"issue",impact:4},{checkpoint:"rgaa-4.11.2",standards:["RGAAv4"],type:"issue",impact:4},{checkpoint:"rgaa-4.11.3",standards:["RGAAv4"],type:"issue",impact:4},{checkpoint:"rgaa-4.12.1",standards:["RGAAv4"],type:"issue",impact:4},{checkpoint:"rgaa-4.12.2",standards:["RGAAv4"],type:"issue",impact:4},{checkpoint:"rgaa-7.3.1",standards:["RGAAv4"],type:"issue",impact:4},{checkpoint:"rgaa-12.11.1",standards:["RGAAv4"],type:"issue",impact:4}]},{id:"keyboard-inaccessible-aaa",descriptions:{en:{shortText:"Function cannot be performed by keyboard alone - no exception",description:"There is no way to perform the function using only the keyboard on the same screen or on a qualifying conforming alternate version - no exceptions."}},checkpoints:[{checkpoint:"2.1.3.a",standards:["wcag2aaa","aenb-77"],type:"issue",impact:4},{checkpoint:"en301549-9-2.1.3.a",standards:["EN-301-549"],type:"issue",impact:4}]},{id:"keyboard-inpage-link-not-accessible",descriptions:{en:{shortText:"In page links are not keyboard operable",description:"In page links are not keyboard operable."}},checkpoints:[{checkpoint:"2.1.1.a",standards:["wcag2a"],type:"issue",impact:2},{checkpoint:"en301549-9-2.1.1.a",standards:["EN-301-549"],type:"issue",impact:2},{checkpoint:"rgaa-7.3.1",standards:["RGAAv4"],type:"issue",impact:2}]},{id:"keyboard-nonstandard-no-instructions",descriptions:{en:{shortText:"No instructions for non-standard key interactions",description:"Instructions are not provided to explain the non-standard keyboard interaction used to access an element."}},checkpoints:[{checkpoint:"2.1.1.a",standards:["wcag2a"],type:"best-practice",impact:4},{checkpoint:"en301549-9-2.1.1.a",standards:["EN-301-549"],type:"best-practice",impact:4},{checkpoint:"rgaa-7.3.1",standards:["RGAAv4"],type:"best-practice",impact:4}]},{id:"keyboard-not-touch-accessible",descriptions:{en:{shortText:"Action cannot be performed with a screen reader turned on",description:"Action cannot be performed with a screen reader turned on."}},checkpoints:[{checkpoint:"2.1.1.a",standards:["wcag2a"],type:"issue",impact:4},{checkpoint:"en301549-9-2.1.1.a",standards:["EN-301-549"],type:"issue",impact:4},{checkpoint:"rgaa-7.3.1",standards:["RGAAv4"],type:"issue",impact:4}]},{id:"keyboard-trap",descriptions:{en:{shortText:"Keyboard trap",description:"There is a keyboard trap."}},checkpoints:[{checkpoint:"2.1.2.a",standards:["wcag2a"],type:"issue",impact:4},{checkpoint:"en301549-9-2.1.2.a",standards:["EN-301-549"],type:"issue",impact:4},{checkpoint:"rgaa-12.9.1",standards:["RGAAv4"],type:"issue",impact:4}]},{id:"label-group-checkboxes-not-associated",descriptions:{en:{shortText:"Group of checkboxes not associated with group label",description:"The group label is not programmatically associated with its checkboxes. The purpose of individual checkboxes in the group cannot be understood without the group label."}},checkpoints:[{checkpoint:"1.3.1.d",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-1.3.1.d",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-11.6.1",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"label-group-not-associated",descriptions:{en:{shortText:"Group of form controls not associated with group label",description:"The group of form controls is not associated with its group label. The purpose of individual controls in the group cannot be understood without the group label."}},checkpoints:[{checkpoint:"1.3.1.d",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-1.3.1.d",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-11.5.1",standards:["RGAAv4"],type:"issue",impact:3},{checkpoint:"rgaa-11.8.2",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"label-group-not-present",descriptions:{en:{shortText:"Visible group label missing",description:"No visual group label is present and the purpose of this group is not clear without a visual label."}},checkpoints:[{checkpoint:"3.3.2.a",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-3.3.2.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-11.6.1",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"label-group-radio-not-associated",descriptions:{en:{shortText:"Group of radio buttons not associated with group label",description:"The group label is not associated with its group of radio buttons. The purpose of individual radio buttons in the group cannot be understood without the group label."}},checkpoints:[{checkpoint:"1.3.1.d",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-1.3.1.d",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-11.6.1",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"label-implicit",descriptions:{en:{shortText:"Form label is implicit",description:"There is an implicit form label. The label is not explicitly attached to a specific form control through the use of the for attribute."}},checkpoints:[{checkpoint:"4.1.2.a",standards:["wcag2a"],type:"best-practice",impact:1},{checkpoint:"en301549-9-4.1.2.a",standards:["EN-301-549"],type:"best-practice",impact:1},{checkpoint:"rgaa-7.1.1",standards:["RGAAv4"],type:"best-practice",impact:1}]},{id:"label-is-missing-select",descriptions:{en:{shortText:"Select or dropdown control missing a visible label",description:"No persistent visual label is present for a select or dropdown control and the purpose of this field is not clear without a visual label."}},checkpoints:[{checkpoint:"3.3.2.a",standards:["wcag2a"],type:"issue",impact:2},{checkpoint:"en301549-9-3.3.2.a",standards:["EN-301-549"],type:"issue",impact:2},{checkpoint:"rgaa-11.8.2",standards:["RGAAv4"],type:"issue",impact:2}]},{id:"label-is-placeholder",descriptions:{en:{shortText:"Label is not persistent",description:"Label is not persistent. For example: placeholder is being used as the only visual label for a text field."}},checkpoints:[{checkpoint:"3.3.2.a",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-3.3.2.a",standards:["EN-301-549"],type:"issue",impact:3}]},{id:"label-is-placeholder-chat",descriptions:{en:{shortText:"Chat or IM input label is not persistent",description:"Chat or IM input label is not persistent."}},checkpoints:[{checkpoint:"3.3.2.a",standards:["wcag2a"],type:"issue",impact:1},{checkpoint:"en301549-9-3.3.2.a",standards:["EN-301-549"],type:"issue",impact:1}]},{id:"label-not-descriptive",descriptions:{en:{shortText:"Label does not convey purpose of control",description:"The label does not convey the purpose of the control."}},checkpoints:[{checkpoint:"2.4.6.b",standards:["wcag2aa"],type:"issue",impact:3},{checkpoint:"en301549-9-2.4.6.b",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-11.2.1",standards:["RGAAv4"],type:"issue",impact:3},{checkpoint:"rgaa-11.2.2",standards:["RGAAv4"],type:"issue",impact:3},{checkpoint:"rgaa-11.2.3",standards:["RGAAv4"],type:"issue",impact:3},{checkpoint:"rgaa-11.2.4",standards:["RGAAv4"],type:"issue",impact:3},{checkpoint:"rgaa-11.2.6",standards:["RGAAv4"],type:"issue",impact:3},{checkpoint:"rgaa-11.8.3",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"label-not-present",descriptions:{en:{shortText:"Visible label missing",description:"No visual label is present and the purpose of this field is not clear without a visual label."}},checkpoints:[{checkpoint:"3.3.2.a",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-3.3.2.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-11.2.2",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"label-orphaned",descriptions:{en:{shortText:"Form label is orphaned",description:"There is an orphaned form label. All form labels should be associated with a form element, such as <input>, <select> or <textarea> elements."}},checkpoints:[{checkpoint:"4.1.2.a",standards:["wcag2a"],type:"best-practice",impact:1},{checkpoint:"en301549-9-4.1.2.a",standards:["EN-301-549"],type:"best-practice",impact:1}]},{id:"label-position-bad",descriptions:{en:{shortText:"Text label is not properly positioned",description:"The label is not positioned properly. As a result, it is difficult to visually determine the purpose of the control, especially if zooming or magnifying the screen."}},checkpoints:[{checkpoint:"3.3.2.a",standards:["wcag2a"],type:"best-practice",impact:3},{checkpoint:"en301549-9-3.3.2.a",standards:["EN-301-549"],type:"best-practice",impact:3},{checkpoint:"rgaa-11.4.2",standards:["RGAAv4"],type:"best-practice",impact:3}]},{id:"label-programmatic-not-descriptive",descriptions:{en:{shortText:"Programmatic label does not convey purpose of control",description:"The programmatic label does not convey the purpose of the control. The programmatic label and visual label do not convey consistent information."}},checkpoints:[{checkpoint:"2.4.6.b",standards:["wcag2aa"],type:"issue",impact:3},{checkpoint:"en301549-9-2.4.6.b",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-11.7.1",standards:["RGAAv4"],type:"issue",impact:3},{checkpoint:"rgaa-11.9.1",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"label-redundant-button",descriptions:{en:{shortText:"Button has a duplicate label",description:"The button should not have a duplicate label, because the button's accessible name is already defined."}},checkpoints:[{checkpoint:"4.1.2.a",standards:["wcag2a"],type:"best-practice",impact:1},{checkpoint:"en301549-9-4.1.2.a",standards:["EN-301-549"],type:"best-practice",impact:1}]},{id:"label-select-placeholder",descriptions:{en:{shortText:"Placeholder used as label in single select",description:"Persistent placeholder label option used as label for a single select element. Label not easy to see once a selection has been made."}},checkpoints:[{checkpoint:"3.3.2.a",standards:["wcag2a"],type:"best-practice",impact:2},{checkpoint:"en301549-9-3.3.2.a",standards:["EN-301-549"],type:"best-practice",impact:2}]},{id:"label-title-only",descriptions:{en:{shortText:"Input field programmatically labeled by title or aria-describedby",description:"An input field is programmatically labeled only by a title or aria-describedby attribute."}},checkpoints:[{checkpoint:"4.1.2.a",standards:["wcag2a"],type:"best-practice",impact:1},{checkpoint:"en301549-9-4.1.2.a",standards:["EN-301-549"],type:"best-practice",impact:1}]},{id:"label-visible-not-descriptive",descriptions:{en:{shortText:"Visible label does not convey purpose of control",description:"The visible label does not convey the purpose of the control. The programmatic label and visual label do not convey consistent information."}},checkpoints:[{checkpoint:"2.4.6.b",standards:["wcag2aa"],type:"issue",impact:3},{checkpoint:"en301549-9-2.4.6.b",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-11.9.1",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"landmark-missing",descriptions:{en:{shortText:"Not all page content is contained within a landmark",description:"Not all page content is contained within a landmark."}},checkpoints:[{checkpoint:"1.3.6.a",standards:["wcag21aaa","aenb-77"],type:"issue",impact:2},{checkpoint:"en301549-9-1.3.6.a",standards:["EN-301-549"],type:"issue",impact:2},{checkpoint:"rgaa-12.6.1",standards:["RGAAv4"],type:"issue",impact:2}]},{id:"lang-change-not-marked",descriptions:{en:{shortText:"Change in language is not marked",description:"The change in language for a portion of content is not coded."}},checkpoints:[{checkpoint:"3.1.2.a",standards:["wcag2aa"],type:"issue",impact:3},{checkpoint:"en301549-9-3.1.2.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-8.7.1",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"lang-change-not-valid",descriptions:{en:{shortText:"The change in language for a portion of content is not correct",description:"The change in language for a portion of content is not correct."}},checkpoints:[{checkpoint:"3.1.2.a",standards:["wcag2aa"],type:"issue",impact:3},{checkpoint:"en301549-9-3.1.2.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-8.8.1",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"lang-invalid",descriptions:{en:{shortText:"Value of the lang attribute is not valid",description:"The value of the lang attribute used to indicate the primary language of the page is not a valid language code."}},checkpoints:[{checkpoint:"3.1.1.a",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-3.1.1.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-8.4.1",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"lang-not-accurate",descriptions:{en:{shortText:"Lang attribute for page is not primary page language",description:"The value of the lang attribute used to indicate the primary language of the page is for the wrong language."}},checkpoints:[{checkpoint:"3.1.1.a",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-3.1.1.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-8.4.1",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"lang-not-defined",descriptions:{en:{shortText:"Primary language of the page is not defined",description:"The lang attribute used to indicate the primary language of the page is missing from the HTML element."}},checkpoints:[{checkpoint:"3.1.1.a",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-3.1.1.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-8.3.1",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"legend-missing",descriptions:{en:{shortText:"<fieldset> has empty or missing <legend>",description:"The <fieldset> has an empty or missing <legend>."}},checkpoints:[{checkpoint:"1.3.1.d",standards:["wcag2a"],type:"best-practice",impact:1},{checkpoint:"en301549-9-1.3.1.d",standards:["EN-301-549"],type:"best-practice",impact:1},{checkpoint:"rgaa-11.6.1",standards:["RGAAv4"],type:"best-practice",impact:1}]},{id:"link-acts-like-button",descriptions:{en:{shortText:"Link acts like button",description:"Link acts like a button, Activating this link triggers scripted functionality but does not change browser focus or URL."}},checkpoints:[{checkpoint:"4.1.2.a",standards:["wcag2a"],type:"best-practice",impact:2},{checkpoint:"en301549-9-4.1.2.a",standards:["EN-301-549"],type:"best-practice",impact:2}]},{id:"link-insufficient-contrast",descriptions:{en:{shortText:"Link contrast is not at least 3:1 with surrounding text",description:"Link text and static text are differentiated only by color. The contrast ratio between default link text and surrounding text is not at least 3:1."}},checkpoints:[{checkpoint:"1.4.1.b",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-1.4.1.b",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-10.6.1",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"link-looks-like-button",descriptions:{en:{shortText:"Link looks like button",description:"Link looks like a button, but acts like a link (activating it only changes browser focus or URL)."}},checkpoints:[{checkpoint:"4.1.2.a",standards:["wcag2a"],type:"best-practice",impact:2},{checkpoint:"en301549-9-4.1.2.a",standards:["EN-301-549"],type:"best-practice",impact:2}]},{id:"link-missing-role",descriptions:{en:{shortText:"Link: Link does not have a role",description:"The link does not have a role."}},checkpoints:[{checkpoint:"4.1.2.a",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-4.1.2.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-7.1.1",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"link-missing-text",descriptions:{en:{shortText:"Link: Link does not have discernible link text",description:"The link is missing accessible link text. As a result its destination or purpose is not conveyed to screen reader users."}},checkpoints:[{checkpoint:"4.1.2.a",standards:["wcag2a"],type:"issue",impact:4},{checkpoint:"en301549-9-4.1.2.a",standards:["EN-301-549"],type:"issue",impact:4},{checkpoint:"rgaa-6.2.1",standards:["RGAAv4"],type:"issue",impact:4}]},{id:"link-no-mark",descriptions:{en:{shortText:"Added link indicator on hover is missing",description:"Link text lacks an additional differentiator on hover. (The contrast ratio between default link text and surrounding text is sufficient.)"}},checkpoints:[{checkpoint:"1.4.1.b",standards:["wcag2a"],type:"best-practice",impact:2},{checkpoint:"en301549-9-1.4.1.b",standards:["EN-301-549"],type:"best-practice",impact:2}]},{id:"link-purpose-unclear",descriptions:{en:{shortText:"Purpose of link is not clear in context",description:"The purpose of the link is not clear within its programmatically determined link context."}},checkpoints:[{checkpoint:"2.4.4.a",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-2.4.4.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-6.1.1",standards:["RGAAv4"],type:"issue",impact:3},{checkpoint:"rgaa-6.1.3",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"link-purpose-unclear-alone",descriptions:{en:{shortText:"Purpose of link is not clear from link text alone",description:"The purpose of the link is not clear from its programmatic link text alone."}},checkpoints:[{checkpoint:"2.4.9.a",standards:["wcag2aaa","aenb-77"],type:"issue",impact:2},{checkpoint:"en301549-9-2.4.9.a",standards:["EN-301-549"],type:"issue",impact:2},{checkpoint:"rgaa-6.1.1",standards:["RGAAv4"],type:"issue",impact:2},{checkpoint:"rgaa-6.1.3",standards:["RGAAv4"],type:"issue",impact:2}]},{id:"link-purpose-unclear-multiple",descriptions:{en:{shortText:"Multiple links have the same programmatic link text but different destinations",description:"Multiple links with identical link text but different destinations are present, and the purpose of each link is not clear within its programmatically determined link context."}},checkpoints:[{checkpoint:"2.4.4.a",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-2.4.4.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-6.1.1",standards:["RGAAv4"],type:"issue",impact:3},{checkpoint:"rgaa-6.1.3",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"link-purpose-unidentifiable-from-text",descriptions:{en:{shortText:"Link purpose not clear from link text alone",description:"The purpose of the element is not identifiable from link text alone. (AAA requirement 2.4.9)"}},checkpoints:[{checkpoint:"2.4.4.a",standards:["wcag2a"],type:"best-practice",impact:2},{checkpoint:"en301549-9-2.4.4.a",standards:["EN-301-549"],type:"best-practice",impact:2},{checkpoint:"rgaa-6.1.1",standards:["RGAAv4"],type:"best-practice",impact:2},{checkpoint:"rgaa-6.1.3",standards:["RGAAv4"],type:"best-practice",impact:2}]},{id:"link-target-not-indicated",descriptions:{en:{shortText:"Links opens new window without warning",description:"The link text does not indicate that the link opens in a new window. (AAA requirement 3.2.5)"}},checkpoints:[{checkpoint:"3.2.2.a",standards:["wcag2a"],type:"best-practice",impact:2},{checkpoint:"en301549-9-3.2.2.a",standards:["EN-301-549"],type:"best-practice",impact:2},{checkpoint:"rgaa-6.1.1",standards:["RGAAv4"],type:"best-practice",impact:2},{checkpoint:"rgaa-6.1.3",standards:["RGAAv4"],type:"best-practice",impact:2}]},{id:"modal-forces-submission",descriptions:{en:{shortText:"Method to dismiss modal without submitting data is not accessible",description:"The method to dismiss/close the modal/alert without submitting data is not keyboard accessible."}},checkpoints:[{checkpoint:"2.1.1.a",standards:["wcag2a"],type:"issue",impact:4},{checkpoint:"en301549-9-2.1.1.a",standards:["EN-301-549"],type:"issue",impact:4},{checkpoint:"rgaa-12.9.1",standards:["RGAAv4"],type:"issue",impact:4}]},{id:"modal-no-esc",descriptions:{en:{shortText:"ESC key does not close modal",description:"The modal should enable an ESC Key to dismiss/close the modal."}},checkpoints:[{checkpoint:"2.1.1.a",standards:["wcag2a"],type:"best-practice",impact:1},{checkpoint:"en301549-9-2.1.1.a",standards:["EN-301-549"],type:"best-practice",impact:1}]},{id:"modal-only-esc",descriptions:{en:{shortText:"ESC key is only way to close modal or layer",description:"The ESC key is the only way to dismiss/close the modal or layer."}},checkpoints:[{checkpoint:"2.1.1.a",standards:["wcag2a"],type:"best-practice",impact:1},{checkpoint:"en301549-9-2.1.1.a",standards:["EN-301-549"],type:"best-practice",impact:1}]},{id:"modal-unclosable",descriptions:{en:{shortText:"The modal dialog is missing a close button",description:"The modal dialog is missing a close button and there is no way to close the modal with a keyboard."}},checkpoints:[{checkpoint:"2.1.1.a",standards:["wcag2a"],type:"issue",impact:4},{checkpoint:"en301549-9-2.1.1.a",standards:["EN-301-549"],type:"issue",impact:4},{checkpoint:"rgaa-7.3.1",standards:["RGAAv4"],type:"issue",impact:4}]},{id:"motion-actuation-cannot-disable",descriptions:{en:{shortText:"Motion actuation cannot be disabled.",description:"Motion actuation cannot be disabled."}},checkpoints:[{checkpoint:"2.5.4.a",standards:["wcag21a"],type:"issue",impact:3},{checkpoint:"en301549-9-2.5.4.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-13.12.3",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"motion-actuation-disrupts-system",descriptions:{en:{shortText:"Motion actuation disrupts or disables system features",description:"Motion actuation disrupts or disables system level features."}},checkpoints:[{checkpoint:"2.5.4.a",standards:["wcag21a"],type:"issue",impact:3},{checkpoint:"en301549-9-2.5.4.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-13.12.1",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"motion-actuation-required",descriptions:{en:{shortText:"Motion actuation required",description:"Functionality can only be activated via motion actuation (such as shaking or tilting the device)."}},checkpoints:[{checkpoint:"2.5.4.a",standards:["wcag21a"],type:"issue",impact:3},{checkpoint:"en301549-9-2.5.4.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-13.12.1",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"motion-animation",descriptions:{en:{shortText:"Motion animation cannot be disabled",description:"Motion animation cannot be disabled."}},checkpoints:[{checkpoint:"2.3.3.a",standards:["wcag21aaa","aenb-77"],type:"issue",impact:2},{checkpoint:"en301549-9-2.3.3.a",standards:["EN-301-549"],type:"issue",impact:2}]},{id:"name-section",descriptions:{en:{shortText:"Accessible name not provided for content section",description:"The content section (that is controlled by an active element) does not have an accessible name."}},checkpoints:[{checkpoint:"4.1.2.a",standards:["wcag2a"],type:"best-practice",impact:2},{checkpoint:"en301549-9-4.1.2.a",standards:["EN-301-549"],type:"best-practice",impact:2},{checkpoint:"rgaa-7.1.1",standards:["RGAAv4"],type:"best-practice",impact:2}]},{id:"nav-sections-not-identified",descriptions:{en:{shortText:"Multiple ARIA navigation regions need labels",description:'Multiple sections with role="navigation" are present but they lack their individual identity / label.'}},checkpoints:[{checkpoint:"2.4.1.a",standards:["wcag2a"],type:"best-practice",impact:2},{checkpoint:"1.3.1.a",standards:["wcag2a"],type:"best-practice",impact:2},{checkpoint:"en301549-9-1.3.1.a",standards:["EN-301-549"],type:"best-practice",impact:2},{checkpoint:"en301549-9-2.4.1.a",standards:["EN-301-549"],type:"best-practice",impact:2},{checkpoint:"rgaa-12.6.1",standards:["RGAAv4"],type:"best-practice",impact:2}]},{id:"new-content-bad-location",descriptions:{en:{shortText:"Correct reading order of dynamic content not determinable",description:"The correct reading order of dynamically changed content is not programmatically determinable by screen readers."}},checkpoints:[{checkpoint:"1.3.2.a",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-1.3.2.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-10.2.1",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"new-content-modal-not-announced",descriptions:{en:{shortText:"Newly opened modal is not announced",description:"When the modal is opened, the new content within it is not announced."}},checkpoints:[{checkpoint:"1.3.2.a",standards:["wcag2a"],type:"best-practice",impact:3},{checkpoint:"en301549-9-1.3.2.a",standards:["EN-301-549"],type:"best-practice",impact:3}]},{id:"new-content-not-announced",descriptions:{en:{shortText:"New content is not announced",description:"When new content is inserted into the document, the new content is not announced."}},checkpoints:[{checkpoint:"1.3.2.a",standards:["wcag2a"],type:"best-practice",impact:3},{checkpoint:"en301549-9-1.3.2.a",standards:["EN-301-549"],type:"best-practice",impact:3}]},{id:"nonvisual-description-hard-to-find",descriptions:{en:{shortText:"Text/audio description is hard to find",description:"A text or audio description is provided, but it is difficult for a screen reader user to find."}},checkpoints:[{checkpoint:"1.2.1.b",standards:["wcag2a"],type:"best-practice",impact:2},{checkpoint:"en301549-9-1.2.1.b",standards:["EN-301-549"],type:"best-practice",impact:2}]},{id:"nonvisual-description-inadequate",descriptions:{en:{shortText:"Text/audio description is inadequate",description:"A text or audio description is provided, but it does not adequately describe the video content."}},checkpoints:[{checkpoint:"1.2.1.b",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-1.2.1.b",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-4.2.1",standards:["RGAAv4"],type:"issue",impact:3},{checkpoint:"rgaa-4.2.2",standards:["RGAAv4"],type:"issue",impact:3},{checkpoint:"rgaa-4.2.3",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"nonvisual-description-missing",descriptions:{en:{shortText:"No text or audio description available for video-only content",description:"Neither a text description nor audio description is available for video-only content."}},checkpoints:[{checkpoint:"1.2.1.b",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-1.2.1.b",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-4.1.3",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"nonvisual-description-missing-multimedia",descriptions:{en:{shortText:"No text or audio description available for multimedia content",description:"Neither a text description nor audio description is available for multimedia content."}},checkpoints:[{checkpoint:"1.2.3.a",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-1.2.3.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-4.1.3",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"optional-marked-required",descriptions:{en:{shortText:"Optional field marked as required",description:"The field is marked as required, but this is misleading because the field is in fact optional."}},checkpoints:[{checkpoint:"3.3.2.c",standards:["wcag2a"],type:"best-practice",impact:2},{checkpoint:"en301549-9-3.3.2.c",standards:["EN-301-549"],type:"best-practice",impact:2},{checkpoint:"rgaa-11.10.1",standards:["RGAAv4"],type:"best-practice",impact:2}]},{id:"orientation-content-missing",descriptions:{en:{shortText:"Content or functionality missing due to orientation",description:"The presentation of the content adjusts when the device's display orientation changes, but some functionality or content is inaccessible."}},checkpoints:[{checkpoint:"1.3.4.a",standards:["wcag21aa"],type:"issue",impact:3},{checkpoint:"en301549-9-1.3.4.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-13.9.1",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"orientation-current",descriptions:{en:{shortText:"Not presented in current display orientation",description:"When the page/app is opened, it is not presented in the device's current display orientation."}},checkpoints:[{checkpoint:"1.3.4.a",standards:["wcag21aa"],type:"issue",impact:3},{checkpoint:"en301549-9-1.3.4.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-13.9.1",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"orientation-identical-content",descriptions:{en:{shortText:"Different Content Design Based on Orientation",description:"When viewed in different orientations, the content design is different."}},checkpoints:[{checkpoint:"1.3.4.a",standards:["wcag21aa"],type:"best-practice",impact:2},{checkpoint:"en301549-9-1.3.4.a",standards:["EN-301-549"],type:"best-practice",impact:2},{checkpoint:"rgaa-13.9.1",standards:["RGAAv4"],type:"best-practice",impact:2}]},{id:"orientation-identical-size",descriptions:{en:{shortText:"Different Content Design Based on Display Size",description:"When viewed on different sized devices, the content design is different."}},checkpoints:[{checkpoint:"1.3.4.a",standards:["wcag21aa"],type:"best-practice",impact:2},{checkpoint:"en301549-9-1.3.4.a",standards:["EN-301-549"],type:"best-practice",impact:2},{checkpoint:"rgaa-13.9.1",standards:["RGAAv4"],type:"best-practice",impact:2}]},{id:"orientation-rotate",descriptions:{en:{shortText:"Does not rotate to new orientation",description:"When the device is rotated, the content does not adjust to the new display orientation."}},checkpoints:[{checkpoint:"1.3.4.a",standards:["wcag21aa"],type:"issue",impact:3},{checkpoint:"en301549-9-1.3.4.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-13.9.1",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"quotation-not-indicated",descriptions:{en:{shortText:"Quotation is missing semantics",description:"The element is a quotation, but is not marked as such."}},checkpoints:[{checkpoint:"1.3.1.a",standards:["wcag2a"],type:"issue",impact:2},{checkpoint:"en301549-9-1.3.1.a",standards:["EN-301-549"],type:"issue",impact:2},{checkpoint:"rgaa-9.4.1",standards:["RGAAv4"],type:"issue",impact:2}]},{id:"radio-missing-role-state",descriptions:{en:{shortText:"Radio button: Custom radio button does not have a role and/or state",description:"The custom radio button element is missing a role and/or selected state."}},checkpoints:[{checkpoint:"4.1.2.a",standards:["wcag2a"],type:"issue",impact:4},{checkpoint:"en301549-9-4.1.2.a",standards:["EN-301-549"],type:"issue",impact:4},{checkpoint:"rgaa-7.1.1",standards:["RGAAv4"],type:"issue",impact:4}]},{id:"reading-order-browse-outside-modal",descriptions:{en:{shortText:"Content outside modal is not hidden from screen readers",description:"Screen readers can read content outside the modal dialog."}},checkpoints:[{checkpoint:"1.3.2.a",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-1.3.2.a",standards:["EN-301-549"],type:"issue",impact:3}]},{id:"reading-order-content-mismatch",descriptions:{en:{shortText:"Static text displayed and screen reader announcement do not match",description:"Static text displayed and screen reader announcement do not match and the intended meaning of the content is changed."}},checkpoints:[{checkpoint:"1.3.2.a",standards:["wcag2a"],type:"issue",impact:4},{checkpoint:"en301549-9-1.3.2.a",standards:["EN-301-549"],type:"issue",impact:4}]},{id:"reading-order-content-skipped",descriptions:{en:{shortText:"Informative (static) content is not readable by a screen reader",description:"Informative (static) content is not readable by a screen reader."}},checkpoints:[{checkpoint:"1.3.2.a",standards:["wcag2a"],type:"issue",impact:4},{checkpoint:"en301549-9-1.3.2.a",standards:["EN-301-549"],type:"issue",impact:4}]},{id:"reading-order-footnote",descriptions:{en:{shortText:"Footnote reference is missing a link to the footnote content",description:"Footnote reference is missing a link to the footnote content."}},checkpoints:[{checkpoint:"1.3.2.a",standards:["wcag2a"],type:"best-practice",impact:2},{checkpoint:"en301549-9-1.3.2.a",standards:["EN-301-549"],type:"best-practice",impact:2}]},{id:"reading-order-footnote-return",descriptions:{en:{shortText:"Footnote link missing return-to-trigger link",description:"The footnote link takes you to the footnote at the bottom of the page but is missing a return-to-trigger link."}},checkpoints:[{checkpoint:"1.3.2.a",standards:["wcag2a"],type:"best-practice",impact:1},{checkpoint:"en301549-9-1.3.2.a",standards:["EN-301-549"],type:"best-practice",impact:1}]},{id:"reading-order-hidden-content",descriptions:{en:{shortText:"Hidden content is readable with a screen reader",description:"Content that is intended to be hidden from all users is readable with a screen reader."}},checkpoints:[{checkpoint:"1.3.2.a",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-1.3.2.a",standards:["EN-301-549"],type:"issue",impact:3}]},{id:"reading-order-layout-table-non-linear",descriptions:{en:{shortText:"Layout table reading order is not logical",description:"The reading order of the layout table does not make sense when linearized."}},checkpoints:[{checkpoint:"1.3.2.a",standards:["wcag2a"],type:"issue",impact:4},{checkpoint:"en301549-9-1.3.2.a",standards:["EN-301-549"],type:"issue",impact:4},{checkpoint:"rgaa-5.3.1",standards:["RGAAv4"],type:"issue",impact:4}]},{id:"reading-order-not-logical",descriptions:{en:{shortText:"Reading order of static content changes meaning",description:"The screen reader reading order of the content changes the intended meaning of the content."}},checkpoints:[{checkpoint:"1.3.2.a",standards:["wcag2a"],type:"issue",impact:4},{checkpoint:"en301549-9-1.3.2.a",standards:["EN-301-549"],type:"issue",impact:4}]},{id:"reading-order-visual-order-mismatch",descriptions:{en:{shortText:"Reading and visual order are not identical",description:"The reading order is not identical to the visual order."}},checkpoints:[{checkpoint:"1.3.2.a",standards:["wcag2a"],type:"best-practice",impact:3},{checkpoint:"en301549-9-1.3.2.a",standards:["EN-301-549"],type:"best-practice",impact:3}]},{id:"redundant-entry-required",descriptions:{en:{shortText:"Process requires a user to re-enter information",description:"Process requires a user to re-enter information."}},checkpoints:[{checkpoint:"3.3.7.a",standards:["wcag22aa"],type:"issue",impact:2},{checkpoint:"en301549-9-3.3.7.a",standards:["EN-301-549"],type:"issue",impact:2}]},{id:"resize-pinch-to-zoom-disabled",descriptions:{en:{shortText:"Pinch to zoom disabled",description:"The ability to pinch the screen to zoom has been disabled."}},checkpoints:[{checkpoint:"1.4.4.a",standards:["wcag2aa"],type:"issue",impact:3},{checkpoint:"en301549-9-1.4.4.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-10.4.1",standards:["RGAAv4"],type:"issue",impact:3},{checkpoint:"rgaa-10.4.2",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"resize-text-content-lost",descriptions:{en:{shortText:"Content is lost at 200% zoom",description:"Content is lost, clipped, or obscured when the page is zoomed to 200%."}},checkpoints:[{checkpoint:"1.4.4.a",standards:["wcag2aa"],type:"issue",impact:3},{checkpoint:"en301549-9-1.4.4.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-10.4.1",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"resize-text-does-not-respond",descriptions:{en:{shortText:"Text cannot be resized by 200%",description:"Text cannot be resized by 200% by browser zoom or increasing default font size."}},checkpoints:[{checkpoint:"1.4.4.a",standards:["wcag2aa"],type:"issue",impact:3},{checkpoint:"en301549-9-1.4.4.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-10.4.1",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"resize-text-function-lost",descriptions:{en:{shortText:"Functionality is lost at 200% zoom",description:"Functionality is lost when the page is zoomed to 200%."}},checkpoints:[{checkpoint:"1.4.4.a",standards:["wcag2aa"],type:"issue",impact:3},{checkpoint:"en301549-9-1.4.4.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-10.4.1",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"resize-text-only",descriptions:{en:{shortText:"Content is lost when only the text is zoomed",description:"Content is lost, clipped, or obscured when only the text is zoomed to 200%."}},checkpoints:[{checkpoint:"1.4.4.a",standards:["wcag2aa"],type:"best-practice",impact:2},{checkpoint:"en301549-9-1.4.4.a",standards:["EN-301-549"],type:"best-practice",impact:2},{checkpoint:"rgaa-10.4.1",standards:["RGAAv4"],type:"best-practice",impact:2}]},{id:"select-missing-role-state",descriptions:{en:{shortText:"Select: Custom select does not have a role and/or state",description:"The custom select element is missing required roles and/or states or properties."}},checkpoints:[{checkpoint:"4.1.2.a",standards:["wcag2a"],type:"issue",impact:4},{checkpoint:"en301549-9-4.1.2.a",standards:["EN-301-549"],type:"issue",impact:4},{checkpoint:"rgaa-7.1.1",standards:["RGAAv4"],type:"issue",impact:4}]},{id:"semantic-data-table",descriptions:{en:{shortText:"Content should be in a data table but is not",description:"The content visually appears to be a data table but is not marked up as one."}},checkpoints:[{checkpoint:"1.3.1.b",standards:["wcag2a"],type:"issue",impact:4},{checkpoint:"en301549-9-1.3.1.b",standards:["EN-301-549"],type:"issue",impact:4}]},{id:"semantic-data-table-headers",descriptions:{en:{shortText:"Data table has missing or incomplete header cell markup",description:"The data table has missing or incomplete header cell markup."}},checkpoints:[{checkpoint:"1.3.1.b",standards:["wcag2a"],type:"issue",impact:4},{checkpoint:"en301549-9-1.3.1.b",standards:["EN-301-549"],type:"issue",impact:4},{checkpoint:"rgaa-5.7.1",standards:["RGAAv4"],type:"issue",impact:4},{checkpoint:"rgaa-5.7.2",standards:["RGAAv4"],type:"issue",impact:4}]},{id:"semantic-del-ins-missing",descriptions:{en:{shortText:"Deleted or inserted text is not identified for screen readers",description:"Text that is shown visually as being deleted or inserted is not identified for screen readers either programmatically or in text."}},checkpoints:[{checkpoint:"1.3.1.a",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-1.3.1.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-10.1.2",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"semantic-del-ins-plus-text",descriptions:{en:{shortText:"Use of DEL or INS elements is not supported by all screen readers",description:"Use of DEL or INS elements is not supported by all screen readers."}},checkpoints:[{checkpoint:"1.3.1.a",standards:["wcag2a"],type:"best-practice",impact:2},{checkpoint:"en301549-9-1.3.1.a",standards:["EN-301-549"],type:"best-practice",impact:2},{checkpoint:"rgaa-10.1.2",standards:["RGAAv4"],type:"best-practice",impact:2}]},{id:"semantic-description-list",descriptions:{en:{shortText:"Description list not marked up properly",description:"The description list is not marked up properly."}},checkpoints:[{checkpoint:"1.3.1.f",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-1.3.1.f",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-9.3.3",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"semantic-heading",descriptions:{en:{shortText:"Visual heading text is not marked as heading",description:"Text appears and functions like a section heading but is not marked up as such."}},checkpoints:[{checkpoint:"1.3.1.e",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-1.3.1.e",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-9.1.3",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"semantic-heading-misused",descriptions:{en:{shortText:"Text should not be marked as a heading",description:"Text that does not serve as a section heading is inappropriately coded as a heading."}},checkpoints:[{checkpoint:"1.3.1.e",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-1.3.1.e",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-9.1.3",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"semantic-hidden",descriptions:{en:{shortText:'aria-hidden="true" is used incorrectly',description:'aria-hidden="true" is used on informative content making it inaccessible to assistive technology.'}},checkpoints:[{checkpoint:"1.3.2.a",standards:["wcag2a"],type:"issue",impact:4},{checkpoint:"en301549-9-1.3.2.a",standards:["EN-301-549"],type:"issue",impact:4}]},{id:"semantic-incorrect",descriptions:{en:{shortText:"Incorrect semantic markup",description:"Incorrect semantic markup is used."}},checkpoints:[{checkpoint:"1.3.1.a",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-1.3.1.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-8.2.1",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"semantic-list",descriptions:{en:{shortText:"Visual list is not marked up as list",description:"Content appears like a list but is not marked up as such."}},checkpoints:[{checkpoint:"1.3.1.f",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-1.3.1.f",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-9.3.1",standards:["RGAAv4"],type:"issue",impact:3},{checkpoint:"rgaa-9.3.2",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"semantic-list-nested",descriptions:{en:{shortText:"Nested list is not marked properly",description:"The nested list is not marked properly."}},checkpoints:[{checkpoint:"1.3.1.f",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-1.3.1.f",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-9.3.1",standards:["RGAAv4"],type:"issue",impact:3},{checkpoint:"rgaa-9.3.2",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"semantic-list-or-item",descriptions:{en:{shortText:"List or list item is not marked up properly",description:"The list or list item is not marked up properly."}},checkpoints:[{checkpoint:"1.3.1.f",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-1.3.1.f",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-9.3.1",standards:["RGAAv4"],type:"issue",impact:3},{checkpoint:"rgaa-9.3.2",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"semantic-list-unallowed-children",descriptions:{en:{shortText:"List element has direct children that are not allowed inside <ul> or <ol> elements",description:"List element has direct children that are not allowed inside <ul> or <ol> elements. Lists must only directly contain <li>, <script>, or <template> elements."}},checkpoints:[{checkpoint:"1.3.1.f",standards:["wcag2a"],type:"issue",impact:2},{checkpoint:"en301549-9-1.3.1.f",standards:["EN-301-549"],type:"issue",impact:2},{checkpoint:"rgaa-9.3.1",standards:["RGAAv4"],type:"issue",impact:2},{checkpoint:"rgaa-9.3.2",standards:["RGAAv4"],type:"issue",impact:2}]},{id:"semantic-list-used-for-presentation",descriptions:{en:{shortText:"Content is not a list but is marked as such",description:"Content is not a list but it is marked as such."}},checkpoints:[{checkpoint:"1.3.1.f",standards:["wcag2a"],type:"issue",impact:2},{checkpoint:"en301549-9-1.3.1.f",standards:["EN-301-549"],type:"issue",impact:2},{checkpoint:"rgaa-9.3.1",standards:["RGAAv4"],type:"issue",impact:2},{checkpoint:"rgaa-9.3.2",standards:["RGAAv4"],type:"issue",impact:2}]},{id:"semantic-markup-used-for-presentation",descriptions:{en:{shortText:"Element inappropriately uses semantic markup",description:"Semantic markup has been used inappropriately and misrepresents the meaning, structure, or relationships of the content."}},checkpoints:[{checkpoint:"1.3.1.a",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-1.3.1.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-8.9.1",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"semantic-nav",descriptions:{en:{shortText:"Group of navigation links missing semantics",description:"A visual group of navigation links is not marked up semantically to convey their relationship. Some possible solutions include using list(s), role of navigation, nav element, headings, menu or menubar."}},checkpoints:[{checkpoint:"1.3.1.a",standards:["wcag2a"],type:"issue",impact:2},{checkpoint:"en301549-9-1.3.1.a",standards:["EN-301-549"],type:"issue",impact:2}]},{id:"semantic-role-presentation",descriptions:{en:{shortText:'Role="presentation" or "none" is used incorrectly',description:'role="presentation" or "none" is used on content that conveys semantic information, so the semantic information is not conveyed.'}},checkpoints:[{checkpoint:"1.3.1.a",standards:["wcag2a"],type:"issue",impact:4},{checkpoint:"en301549-9-1.3.1.a",standards:["EN-301-549"],type:"issue",impact:4},{checkpoint:"rgaa-8.9.1",standards:["RGAAv4"],type:"issue",impact:4}]},{id:"semantic-strong-or-emphasis-not-used",descriptions:{en:{shortText:"B or I used instead of STRONG or EM",description:"B or I used instead of STRONG or EM."}},checkpoints:[{checkpoint:"1.3.1.a",standards:["wcag2a"],type:"best-practice",impact:1},{checkpoint:"en301549-9-1.3.1.a",standards:["EN-301-549"],type:"best-practice",impact:1},{checkpoint:"rgaa-10.1.2",standards:["RGAAv4"],type:"best-practice",impact:1}]},{id:"speech-accessible-name-interspersed",descriptions:{en:{shortText:"Accessible name has interspersed words",description:"Accessible name contains the visible label text, but one or more other words is interspersed in the label."}},checkpoints:[{checkpoint:"2.5.3.a",standards:["wcag21a"],type:"issue",impact:3},{checkpoint:"en301549-9-2.5.3.a",standards:["EN-301-549"],type:"issue",impact:3}]},{id:"speech-accessible-name-mismatch",descriptions:{en:{shortText:"Accessible name does not contain visible label",description:"Accessible name does not contain the visible label text."}},checkpoints:[{checkpoint:"2.5.3.a",standards:["wcag21a"],type:"issue",impact:3},{checkpoint:"en301549-9-2.5.3.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-6.1.5",standards:["RGAAv4"],type:"issue",impact:3},{checkpoint:"rgaa-11.2.5",standards:["RGAAv4"],type:"issue",impact:3},{checkpoint:"rgaa-11.9.2",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"speech-accessible-name-missing",descriptions:{en:{shortText:"Accessible name missing",description:"The visible label is not in the accessible name because the label is not associated with the control."}},checkpoints:[{checkpoint:"2.5.3.a",standards:["wcag21a"],type:"issue",impact:3},{checkpoint:"en301549-9-2.5.3.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-11.2.5",standards:["RGAAv4"],type:"issue",impact:3},{checkpoint:"rgaa-11.9.2",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"speech-accessible-name-order",descriptions:{en:{shortText:"Accessible name not same order as visible label",description:"Accessible name contains the visible label text, but the words of the visible label are not in the same order as they are in the accessible name."}},checkpoints:[{checkpoint:"2.5.3.a",standards:["wcag21a"],type:"issue",impact:3},{checkpoint:"en301549-9-2.5.3.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-11.2.5",standards:["RGAAv4"],type:"issue",impact:3},{checkpoint:"rgaa-11.9.2",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"speech-accessible-name-other-words-before",descriptions:{en:{shortText:"Accessible name other words before",description:"Accessible name contains the visible label text, but one or more other words comes before the visible label text."}},checkpoints:[{checkpoint:"2.5.3.a",standards:["wcag21a"],type:"best-practice",impact:2},{checkpoint:"en301549-9-2.5.3.a",standards:["EN-301-549"],type:"best-practice",impact:2}]},{id:"state-aria-expanded-missing-incorrect",descriptions:{en:{shortText:"State: Expand/collapse state of the element is missing or incorrect",description:"The expand/collapse state of a toggle-type element is missing or is used incorrectly."}},checkpoints:[{checkpoint:"4.1.2.a",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-4.1.2.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-7.1.1",standards:["RGAAv4"],type:"issue",impact:3},{checkpoint:"rgaa-7.1.2",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"state-color-only",descriptions:{en:{shortText:"Color alone is used to visually convey the state of a control",description:"A change in color is used to visually convey the state of a control, and the contrast difference between the states is less than 3:1."}},checkpoints:[{checkpoint:"1.4.1.a",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-1.4.1.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-3.1.4",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"state-selected-missing-incorrect",descriptions:{en:{shortText:"State: Selected state of the element is missing or incorrect",description:"The selected state of an element is not conveyed to screen reader users."}},checkpoints:[{checkpoint:"4.1.2.a",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-4.1.2.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-7.1.1",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"state-table-sort",descriptions:{en:{shortText:"State: Table sort state is missing or incorrect",description:"The sorted state (ascending/descending) of table columns is missing or incorrect."}},checkpoints:[{checkpoint:"4.1.2.a",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-4.1.2.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-7.1.1",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"static-focus",descriptions:{en:{shortText:"Static element receives focus",description:"A static (non-interactive) element receives tab focus. This may cause confusion and/or too many keystrokes to navigate the page."}},checkpoints:[{checkpoint:"2.4.3.a",standards:["wcag2a"],type:"best-practice",impact:2},{checkpoint:"en301549-9-2.4.3.a",standards:["EN-301-549"],type:"best-practice",impact:2},{checkpoint:"rgaa-12.8.1",standards:["RGAAv4"],type:"best-practice",impact:2}]},{id:"status-msg-not-auto-announced",descriptions:{en:{shortText:"Status message not automatically announced",description:"Status message is not automatically announced by the screen reader."}},checkpoints:[{checkpoint:"4.1.3.a",standards:["wcag21aa"],type:"issue",impact:3},{checkpoint:"en301549-9-4.1.3.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-7.5.1",standards:["RGAAv4"],type:"issue",impact:3},{checkpoint:"rgaa-7.5.2",standards:["RGAAv4"],type:"issue",impact:3},{checkpoint:"rgaa-7.5.3",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"structure-confusing-skiplink",descriptions:{en:{shortText:"Skip link is not appropriate",description:"There is no repetitive block of content/links on this page. The presence of the skip link is therefore confusing."}},checkpoints:[{checkpoint:"2.4.1.a",standards:["wcag2a"],type:"best-practice",impact:1},{checkpoint:"en301549-9-2.4.1.a",standards:["EN-301-549"],type:"best-practice",impact:1},{checkpoint:"rgaa-12.7.1",standards:["RGAAv4"],type:"best-practice",impact:1}]},{id:"structure-dom-visual-mismatch",descriptions:{en:{shortText:"DOM order does not match visual order",description:"The DOM order does not match the visual order."}},checkpoints:[{checkpoint:"2.4.3.a",standards:["wcag2a"],type:"best-practice",impact:2},{checkpoint:"en301549-9-2.4.3.a",standards:["EN-301-549"],type:"best-practice",impact:2}]},{id:"structure-duplicate-ids",descriptions:{en:{shortText:"Page contains duplicate IDs",description:"The page contains duplicate id values."}},checkpoints:[{checkpoint:"4.1.1.a",standards:["wcag2a"],type:"best-practice",impact:2},{checkpoint:"en301549-9-4.1.1.a",standards:["EN-301-549"],type:"best-practice",impact:2}]},{id:"structure-finding-pages-difficult",descriptions:{en:{shortText:"Fewer than two ways provided to find other pages",description:"Fewer than two ways to find other pages on the site are provided."}},checkpoints:[{checkpoint:"2.4.5.a",standards:["wcag2aa"],type:"issue",impact:2},{checkpoint:"en301549-9-2.4.5.a",standards:["EN-301-549"],type:"issue",impact:2},{checkpoint:"rgaa-12.1.1",standards:["RGAAv4"],type:"issue",impact:2}]},{id:"structure-major-problems",descriptions:{en:{shortText:"Page is missing skip link, headings or landmarks",description:"The page does not have at least one of: a skip link, proper heading structure, HTML5 sectioning elements, or ARIA landmarks."}},checkpoints:[{checkpoint:"2.4.1.a",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-2.4.1.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-12.6.1",standards:["RGAAv4"],type:"issue",impact:3},{checkpoint:"rgaa-9.1.3",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"structure-no-nav-bypass-skiplink",descriptions:{en:{shortText:"User cannot skip navigation links",description:"There is no skip link to bypass the navigation links and there are at least 4 links in the top navigation."}},checkpoints:[{checkpoint:"2.4.1.a",standards:["wcag2a"],type:"best-practice",impact:2},{checkpoint:"en301549-9-2.4.1.a",standards:["EN-301-549"],type:"best-practice",impact:2},{checkpoint:"rgaa-12.7.1",standards:["RGAAv4"],type:"best-practice",impact:2}]},{id:"structure-skiplink-broken",descriptions:{en:{shortText:"Skip link is broken",description:"The skip link provided does not function as expected / is broken."}},checkpoints:[{checkpoint:"2.4.1.a",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-2.4.1.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-12.7.2",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"structure-skiplink-invisible",descriptions:{en:{shortText:"Skip link is not visible on focus",description:"The skip link does not become visible when it receives focus. Sighted keyboard-only users are unable to use the link."}},checkpoints:[{checkpoint:"2.4.1.a",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-2.4.1.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-12.7.2",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"structure-skiplink-not-first",descriptions:{en:{shortText:"Skip link is not first link",description:"The skip link to the main content is not the first link on the page."}},checkpoints:[{checkpoint:"2.4.1.a",standards:["wcag2a"],type:"best-practice",impact:1},{checkpoint:"en301549-9-2.4.1.a",standards:["EN-301-549"],type:"best-practice",impact:1},{checkpoint:"rgaa-12.7.1",standards:["RGAAv4"],type:"best-practice",impact:1}]},{id:"structure-skiplink-webkit-incompatible",descriptions:{en:{shortText:"Skip link does not work in webkit",description:"The skip nav link does not work in webkit browsers."}},checkpoints:[{checkpoint:"2.4.1.a",standards:["wcag2a"],type:"best-practice",impact:1},{checkpoint:"en301549-9-2.4.1.a",standards:["EN-301-549"],type:"best-practice",impact:1},{checkpoint:"rgaa-12.7.2",standards:["RGAAv4"],type:"best-practice",impact:1}]},{id:"tab-order-bad-index",descriptions:{en:{shortText:"Use of positive tabindex value is not logical",description:"The use of positive tabindex value(s) is not logical and has created a tab order that does not preserve the meaning of the content."}},checkpoints:[{checkpoint:"2.4.3.a",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-2.4.3.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-12.8.1",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"tab-order-illogical",descriptions:{en:{shortText:"Keyboard focus order is not logical",description:"Keyboard focus order is not logical in such a way that it affects the meaning or operability of the content."}},checkpoints:[{checkpoint:"2.4.3.a",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-2.4.3.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-12.8.1",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"table-caption-not-associated",descriptions:{en:{shortText:"Visual caption is not marked with <caption>",description:"The visual caption above the table is not programmatically associated with the table."}},checkpoints:[{checkpoint:"1.3.1.b",standards:["wcag2a"],type:"best-practice",impact:1},{checkpoint:"en301549-9-1.3.1.b",standards:["EN-301-549"],type:"best-practice",impact:1}]},{id:"table-complex-association-incorrect",descriptions:{en:{shortText:"Complex table headers-id association is incorrect",description:"The headers + id association is not correct."}},checkpoints:[{checkpoint:"1.3.1.b",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-1.3.1.b",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-5.7.4",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"table-complex-multiple-associations",descriptions:{en:{shortText:"Both <th>/scope and headers-id are used",description:"Both <th> with scope attributes and headers + id association are used. Choose one method to associate the header cells with the data cells."}},checkpoints:[{checkpoint:"1.3.1.b",standards:["wcag2a"],type:"best-practice",impact:1},{checkpoint:"en301549-9-1.3.1.b",standards:["EN-301-549"],type:"best-practice",impact:1},{checkpoint:"rgaa-5.7.4",standards:["RGAAv4"],type:"best-practice",impact:1}]},{id:"table-complex-no-header-associations",descriptions:{en:{shortText:"Complex table is missing headers-id association",description:"A table is complex and does not use the headers + id method to mark up column and row header cells."}},checkpoints:[{checkpoint:"1.3.1.b",standards:["wcag2a"],type:"issue",impact:4},{checkpoint:"en301549-9-1.3.1.b",standards:["EN-301-549"],type:"issue",impact:4},{checkpoint:"rgaa-5.6.4",standards:["RGAAv4"],type:"issue",impact:4},{checkpoint:"rgaa-5.7.4",standards:["RGAAv4"],type:"issue",impact:4}]},{id:"table-complex-simplify",descriptions:{en:{shortText:"Simplify complex table",description:"The table is complex and should be broken into separate simple tables."}},checkpoints:[{checkpoint:"1.3.1.b",standards:["wcag2a"],type:"best-practice",impact:2},{checkpoint:"en301549-9-1.3.1.b",standards:["EN-301-549"],type:"best-practice",impact:2}]},{id:"table-data-headers-blank",descriptions:{en:{shortText:"Not an issue: <th> cell is blank",description:"A table is permitted to have blank <th> cells."}},checkpoints:[{checkpoint:"1.3.1.b",standards:["wcag2a"],type:"issue",impact:0},{checkpoint:"en301549-9-1.3.1.b",standards:["EN-301-549"],type:"issue",impact:0}]},{id:"table-data-headers-captiony",descriptions:{en:{shortText:"First row of data table is really a caption",description:"The first row of the table acts more like a caption for the table than an actual header row."}},checkpoints:[{checkpoint:"1.3.1.b",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-1.3.1.b",standards:["EN-301-549"],type:"issue",impact:3}]},{id:"table-data-multiple-combined",descriptions:{en:{shortText:"More than one table element used to create a single table",description:"More than one table element is used to create a single table so header and data cell association is not correct and table navigation is broken."}},checkpoints:[{checkpoint:"1.3.1.b",standards:["wcag2a"],type:"issue",impact:4},{checkpoint:"en301549-9-1.3.1.b",standards:["EN-301-549"],type:"issue",impact:4}]},{id:"table-data-nested",descriptions:{en:{shortText:"Data tables are nested",description:"There are nested data tables."}},checkpoints:[{checkpoint:"1.3.1.b",standards:["wcag2a"],type:"best-practice",impact:2},{checkpoint:"en301549-9-1.3.1.b",standards:["EN-301-549"],type:"best-practice",impact:2}]},{id:"table-data-not-header",descriptions:{en:{shortText:"Data cell is marked as a header cell",description:"A data cell is inappropriately marked as a table header cell."}},checkpoints:[{checkpoint:"1.3.1.b",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-1.3.1.b",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-5.6.3",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"table-data-summary-caption",descriptions:{en:{shortText:"Summary and <caption> are identical",description:"The summary attribute and <caption> element should not be identical."}},checkpoints:[{checkpoint:"1.3.1.b",standards:["wcag2a"],type:"best-practice",impact:1},{checkpoint:"en301549-9-1.3.1.b",standards:["EN-301-549"],type:"best-practice",impact:1}]},{id:"table-layout-header-markup",descriptions:{en:{shortText:"Layout table uses data table structural markup",description:"Layout table uses data table markup: <th> or <caption> elements or summary, headers, or scope attributes."}},checkpoints:[{checkpoint:"1.3.1.b",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-1.3.1.b",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-5.8.1",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"table-layout-improper-role",descriptions:{en:{shortText:"Layout table conveys table semantics",description:'A layout table is missing role="presentation" or "none" on the <table> element.'}},checkpoints:[{checkpoint:"1.3.1.b",standards:["wcag2a"],type:"best-practice",impact:2},{checkpoint:"en301549-9-1.3.1.b",standards:["EN-301-549"],type:"best-practice",impact:2},{checkpoint:"rgaa-5.8.1",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"table-layout-use-css",descriptions:{en:{shortText:"Layout table is used instead of CSS",description:"A layout table is used to arrange content on the page rather than CSS."}},checkpoints:[{checkpoint:"1.3.1.b",standards:["wcag2a"],type:"best-practice",impact:1},{checkpoint:"en301549-9-1.3.1.b",standards:["EN-301-549"],type:"best-practice",impact:1}]},{id:"table-name-value-pairs",descriptions:{en:{shortText:"Data table for name value pairs",description:"Name value pairs are present and are not inside a data table."}},checkpoints:[{checkpoint:"1.3.1.b",standards:["wcag2a"],type:"best-practice",impact:2},{checkpoint:"en301549-9-1.3.1.b",standards:["EN-301-549"],type:"best-practice",impact:2}]},{id:"table-simple-headers-unscoped",descriptions:{en:{shortText:"Scope attribute is missing",description:"The table has both row and column headers but is missing the scope attribute."}},checkpoints:[{checkpoint:"1.3.1.b",standards:["wcag2a"],type:"best-practice",impact:1},{checkpoint:"en301549-9-1.3.1.b",standards:["EN-301-549"],type:"best-practice",impact:1},{checkpoint:"rgaa-5.6.1",standards:["RGAAv4"],type:"issue",impact:1},{checkpoint:"rgaa-5.6.2",standards:["RGAAv4"],type:"issue",impact:1}]},{id:"table-simple-scope-incorrect",descriptions:{en:{shortText:"Scope attribute is incorrect",description:"The table uses the scope attribute incorrectly."}},checkpoints:[{checkpoint:"1.3.1.b",standards:["wcag2a"],type:"issue",impact:4},{checkpoint:"en301549-9-1.3.1.b",standards:["EN-301-549"],type:"issue",impact:4},{checkpoint:"rgaa-5.7.2",standards:["RGAAv4"],type:"issue",impact:4}]},{id:"table-simple-scope-invalid",descriptions:{en:{shortText:"Scope attribute is invalid",description:"The scope attribute value is not a valid value. Valid values are row, col, rowgroup, or colgroup."}},checkpoints:[{checkpoint:"1.3.1.b",standards:["wcag2a"],type:"issue",impact:4},{checkpoint:"en301549-9-1.3.1.b",standards:["EN-301-549"],type:"issue",impact:4},{checkpoint:"rgaa-5.7.2",standards:["RGAAv4"],type:"issue",impact:4}]},{id:"table-simple-scope-on-td",descriptions:{en:{shortText:"Scope is used on <td> element",description:"The scope attribute is used on <td> elements. This is obsolete. Use a <th> element instead."}},checkpoints:[{checkpoint:"1.3.1.b",standards:["wcag2a"],type:"issue",impact:2},{checkpoint:"en301549-9-1.3.1.b",standards:["EN-301-549"],type:"issue",impact:2},{checkpoint:"rgaa-5.6.3",standards:["RGAAv4"],type:"issue",impact:2}]},{id:"target-size-enhanced",descriptions:{en:{shortText:"Target is not 44x44 px in size or spacing",description:"Target is not at least 44x44 px in size or spacing."}},checkpoints:[{checkpoint:"2.5.8.a",standards:["wcag22aa"],type:"best-practice",impact:2},{checkpoint:"en301549-9-2.5.8.a",standards:["EN-301-549"],type:"best-practice",impact:2}]},{id:"target-size-small",descriptions:{en:{shortText:"Target does not meet minimum size or spacing",description:"Target does not meet minimum 24 by 24 px size or spacing."}},checkpoints:[{checkpoint:"2.5.8.a",standards:["wcag22aa"],type:"issue",impact:3},{checkpoint:"en301549-9-2.5.8.a",standards:["EN-301-549"],type:"issue",impact:3}]},{id:"text-alternative-inadequate",descriptions:{en:{shortText:"Text description is incorrect or inadequate",description:"The text description provided is not correct or is inadequate."}},checkpoints:[{checkpoint:"1.2.3.a",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-1.2.3.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-1.3.1",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"text-spacing-cut-off",descriptions:{en:{shortText:"Text spacing content cut off",description:"When text spacing is adjusted, some content cannot be seen because it is cut off."}},checkpoints:[{checkpoint:"1.4.12.a",standards:["wcag21aa"],type:"issue",impact:3},{checkpoint:"en301549-9-1.4.12.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-10.12.1",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"text-spacing-not-adjusted",descriptions:{en:{shortText:"Text spacing not adjusted",description:"The spacing between letters, words, lines of text and/or paragraphs cannot be adjusted."}},checkpoints:[{checkpoint:"1.4.12.a",standards:["wcag21aa"],type:"issue",impact:3},{checkpoint:"en301549-9-1.4.12.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-10.12.1",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"text-spacing-overlap",descriptions:{en:{shortText:"Text spacing content overlaps",description:"When text spacing is adjusted, some content is unclear because it overlaps with other content."}},checkpoints:[{checkpoint:"1.4.12.a",standards:["wcag21aa"],type:"issue",impact:3},{checkpoint:"en301549-9-1.4.12.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-10.12.1",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"text-transcript-hard-to-find",descriptions:{en:{shortText:"Transcript is hard to find",description:"A text transcript is provided but it is difficult to locate."}},checkpoints:[{checkpoint:"1.2.1.a",standards:["wcag2a"],type:"best-practice",impact:2},{checkpoint:"1.2.3.a",standards:["wcag2a"],type:"best-practice",impact:2},{checkpoint:"en301549-9-1.2.3.a",standards:["EN-301-549"],type:"best-practice",impact:2},{checkpoint:"en301549-9-1.2.1.a",standards:["EN-301-549"],type:"best-practice",impact:2}]},{id:"text-transcript-inadequate",descriptions:{en:{shortText:"Transcript is incorrect or inadequate",description:"A text transcript is provided, but it is incorrect or inadequate."}},checkpoints:[{checkpoint:"1.2.1.a",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-1.2.1.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-4.1.2",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"text-transcript-incomplete",descriptions:{en:{shortText:"Transcript does not contain all dialogue",description:"A text transcript is provided but some of the dialogue is missing."}},checkpoints:[{checkpoint:"1.2.1.a",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-1.2.1.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-4.1.2",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"text-transcript-missing",descriptions:{en:{shortText:"Transcript is not provided",description:"No text transcript is provided."}},checkpoints:[{checkpoint:"1.2.1.a",standards:["wcag2a"],type:"issue",impact:4},{checkpoint:"en301549-9-1.2.1.a",standards:["EN-301-549"],type:"issue",impact:4},{checkpoint:"rgaa-4.1.1",standards:["RGAAv4"],type:"issue",impact:4}]},{id:"text-transcript-undescribed-effects",descriptions:{en:{shortText:"Transcript does not describe important sounds",description:"A text transcript is provided but it doesn't describe all important sound effects."}},checkpoints:[{checkpoint:"1.2.1.a",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-1.2.1.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-4.1.2",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"text-transcript-unidentified-speakers",descriptions:{en:{shortText:"Transcript does not identify all speakers",description:"A text transcript is provided but it doesn't identify all the speakers."}},checkpoints:[{checkpoint:"1.2.1.a",standards:["wcag2a"],type:"issue",impact:2},{checkpoint:"en301549-9-1.2.1.a",standards:["EN-301-549"],type:"issue",impact:2},{checkpoint:"rgaa-4.1.2",standards:["RGAAv4"],type:"issue",impact:2}]},{id:"timeout-extension-grace",descriptions:{en:{shortText:"User is not given 20 secs to extend timeout",description:'The content time out warning does not give the user at least 20 seconds to extend the session with a simple action (for example, "press the spacebar").'}},checkpoints:[{checkpoint:"2.2.1.a",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-2.2.1.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-13.1.3",standards:["RGAAv4"],type:"issue",impact:4}]},{id:"timeout-no-control-toast",descriptions:{en:{shortText:"Timed Toast Without User Control",description:"Toast notifications automatically disappear after a fixed time period without user control, preventing users from reading or acting on the information at their own pace."}},checkpoints:[{checkpoint:"2.2.1.a",standards:["wcag2a"],type:"issue",impact:4},{checkpoint:"rgaa-13.1.3",standards:["RGAAv4"],type:"issue",impact:4}]},{id:"timeout-no-warning",descriptions:{en:{shortText:"User is not warned of timeout",description:"Content times out without providing any warning to the user."}},checkpoints:[{checkpoint:"2.2.1.a",standards:["wcag2a"],type:"issue",impact:4},{checkpoint:"en301549-9-2.2.1.a",standards:["EN-301-549"],type:"issue",impact:4},{checkpoint:"rgaa-13.1.4",standards:["RGAAv4"],type:"issue",impact:4}]},{id:"timeout-not-announced",descriptions:{en:{shortText:"Screen reader user is not warned of timeout",description:"Screen reader users are not made aware of the presence of the time out warning."}},checkpoints:[{checkpoint:"2.2.1.a",standards:["wcag2a"],type:"issue",impact:4},{checkpoint:"en301549-9-2.2.1.a",standards:["EN-301-549"],type:"issue",impact:4}]},{id:"timeout-not-extensible",descriptions:{en:{shortText:"User cannot turn off, adjust or extend time",description:"The timeout warning does not provide a way to turn off the time limit or to adjust or extend the limit at least 10 times."}},checkpoints:[{checkpoint:"2.2.1.a",standards:["wcag2a"],type:"issue",impact:4},{checkpoint:"en301549-9-2.2.1.a",standards:["EN-301-549"],type:"issue",impact:4},{checkpoint:"rgaa-13.1.3",standards:["RGAAv4"],type:"issue",impact:4}]},{id:"timeout-screenreader",descriptions:{en:{shortText:"Timeout mechanism is not screen reader accessible",description:"The mechanism to extend the session is not accessible by a screen reader."}},checkpoints:[{checkpoint:"2.2.1.a",standards:["wcag2a"],type:"issue",impact:4},{checkpoint:"en301549-9-2.2.1.a",standards:["EN-301-549"],type:"issue",impact:4},{checkpoint:"rgaa-13.1.4",standards:["RGAAv4"],type:"issue",impact:4}]},{id:"title-empty",descriptions:{en:{shortText:"Page <title> element is empty",description:"The <title> element on this page is empty."}},checkpoints:[{checkpoint:"2.4.2.a",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-2.4.2.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-8.5.1",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"title-iframe-duplicate",descriptions:{en:{shortText:"iframe title is not unique",description:"The iframe's title is not unique - another iframe on the same page has the same title."}},checkpoints:[{checkpoint:"2.4.6.b",standards:["wcag2a"],type:"issue",impact:2},{checkpoint:"en301549-9-2.4.6.b",standards:["EN-301-549"],type:"issue",impact:2},{checkpoint:"rgaa-2.2.1",standards:["RGAAv4"],type:"issue",impact:2}]},{id:"title-iframe-missing",descriptions:{en:{shortText:"iframe: iframe does not have a title",description:"The iframe is missing a title."}},checkpoints:[{checkpoint:"4.1.2.a",standards:["wcag2a"],type:"issue",impact:2},{checkpoint:"en301549-9-4.1.2.a",standards:["EN-301-549"],type:"issue",impact:2},{checkpoint:"rgaa-2.1.1",standards:["RGAAv4"],type:"issue",impact:2}]},{id:"title-iframe-not-meaningful",descriptions:{en:{shortText:"title for iframe is not meaningful",description:"The title for the iframe is not meaningful."}},checkpoints:[{checkpoint:"2.4.6.b",standards:["wcag2a"],type:"issue",impact:2},{checkpoint:"en301549-9-2.4.6.b",standards:["EN-301-549"],type:"issue",impact:2},{checkpoint:"rgaa-2.2.1",standards:["RGAAv4"],type:"issue",impact:2}]},{id:"title-missing",descriptions:{en:{shortText:"Page is missing a <title> element",description:"This page is missing a <title> element."}},checkpoints:[{checkpoint:"2.4.2.a",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-2.4.2.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-8.5.1",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"title-not-meaningful",descriptions:{en:{shortText:"Page <title> element does not identify purpose of page",description:"The <title> element on this page does not identify the contents or purpose of the page."}},checkpoints:[{checkpoint:"2.4.2.a",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-2.4.2.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-8.6.1",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"title-not-unique",descriptions:{en:{shortText:"Page <title> is not unique",description:"The <title> element on this page is not unique within the website or cohesive context of a website."}},checkpoints:[{checkpoint:"2.4.2.a",standards:["wcag2a"],type:"best-practice",impact:2},{checkpoint:"en301549-9-2.4.2.a",standards:["EN-301-549"],type:"best-practice",impact:2},{checkpoint:"rgaa-8.6.1",standards:["RGAAv4"],type:"best-practice",impact:2}]},{id:"toast-dismiss-on-scroll",descriptions:{en:{shortText:"Toast Dismisses on Scroll or Focus Change",description:"Toast notifications automatically disappear when the user scrolls or changes focus, preventing users from reading or acting on the information at their own pace."}},checkpoints:[{checkpoint:"2.2.1.a",standards:["wcag2a"],type:"best-practice",impact:1},{checkpoint:"rgaa-13.1.3",standards:["RGAAv4"],type:"best-practice",impact:1}]},{id:"touch-area-spacing",descriptions:{en:{shortText:"Inactive space between elements too small",description:"There are less than six pixels between a touch target area and an adjacent touch target."}},checkpoints:[{checkpoint:"2.5.5.a",standards:["wcag21aaa"],type:"best-practice",impact:1},{checkpoint:"en301549-9-2.5.5.a",standards:["EN-301-549"],type:"best-practice",impact:1}]},{id:"touch-down-event",descriptions:{en:{shortText:"Irreversible action occurs on down event",description:"Control submits an irreversible action on the down event."}},checkpoints:[{checkpoint:"2.5.2.a",standards:["wcag21a"],type:"issue",impact:3},{checkpoint:"en301549-9-2.5.2.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-13.11.1",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"touch-element-grouped",descriptions:{en:{shortText:"Adjacent touch elements are redundant",description:"Adjacent actionable touch elements that go to the same screen or have the same action are not grouped into one touch zone."}},checkpoints:[{checkpoint:"2.5.5.a",standards:["wcag21aaa"],type:"best-practice",impact:2},{checkpoint:"en301549-9-2.5.5.a",standards:["EN-301-549"],type:"best-practice",impact:2}]},{id:"touch-path-based-gesture-required",descriptions:{en:{shortText:"Path-based gesture required",description:"Functionality (excluding operating system, user agent or assistive technology functions) relies on path-based gestures."}},checkpoints:[{checkpoint:"2.5.1.a",standards:["wcag21a"],type:"issue",impact:3},{checkpoint:"en301549-9-2.5.1.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-13.10.2",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"touch-single-point-action-not-avail",descriptions:{en:{shortText:"Single-pointer action not available ",description:"Functionality (excluding operating system, user agent or assistive technology functions) requires multi-point gestures."}},checkpoints:[{checkpoint:"2.5.1.a",standards:["wcag21a"],type:"issue",impact:3},{checkpoint:"en301549-9-2.5.1.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-13.10.1",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"touch-size-small",descriptions:{en:{shortText:"Touch target size less than 44px",description:"The touch target size of an actionable element is less than 44px in width and/or height."}},checkpoints:[{checkpoint:"2.5.5.a",standards:["wcag21aaa","aenb-77"],type:"issue",impact:2},{checkpoint:"en301549-9-2.5.5.a",standards:["EN-301-549"],type:"issue",impact:2}]},{id:"unexpected-change-on-focus",descriptions:{en:{shortText:"There is a substantial, unannounced context change on focus",description:"When a component receives keyboard focus there is a significant change of content in the page (above the user's point of regard) that changes the meaning of the page."}},checkpoints:[{checkpoint:"3.2.1.a",standards:["wcag2a"],type:"issue",impact:4},{checkpoint:"en301549-9-3.2.1.a",standards:["EN-301-549"],type:"issue",impact:4},{checkpoint:"rgaa-7.3.2",standards:["RGAAv4"],type:"issue",impact:4}]},{id:"unexpected-change-on-focus-screen-reader",descriptions:{en:{shortText:"There is a substantial, unannounced context change on screen reader focus",description:"When a component receives screen reader focus there is a significant change of content in the page (above the user's point of regard) that changes the meaning of the page."}},checkpoints:[{checkpoint:"3.2.1.a",standards:["wcag2a"],type:"issue",impact:4},{checkpoint:"en301549-9-3.2.1.a",standards:["EN-301-549"],type:"issue",impact:4}]},{id:"unexpected-change-on-interaction",descriptions:{en:{shortText:"Form field causes unexpected change",description:"A change of context occurs without warning when the user changes the setting of a user interface control."}},checkpoints:[{checkpoint:"3.2.2.a",standards:["wcag2a"],type:"issue",impact:4},{checkpoint:"en301549-9-3.2.2.a",standards:["EN-301-549"],type:"issue",impact:4},{checkpoint:"rgaa-7.4.1",standards:["RGAAv4"],type:"issue",impact:4},{checkpoint:"rgaa-13.2.1",standards:["RGAAv4"],type:"issue",impact:4}]},{id:"unexpected-change-select",descriptions:{en:{shortText:"Arrow keys activate dropdown menu options",description:"A change of context occurs without warning while a user is using the keyboard to navigate a dropdown control, before actually selecting an option."}},checkpoints:[{checkpoint:"3.2.2.a",standards:["wcag2a"],type:"issue",impact:4},{checkpoint:"en301549-9-3.2.2.a",standards:["EN-301-549"],type:"issue",impact:4},{checkpoint:"rgaa-7.4.1",standards:["RGAAv4"],type:"issue",impact:4}]},{id:"unexpected-window-launch",descriptions:{en:{shortText:"New window opens automatically without warning",description:"A window is automatically launched without warning when the user inputs a value in a text field or selects a checkbox or radio button."}},checkpoints:[{checkpoint:"3.2.2.a",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-3.2.2.a",standards:["EN-301-549"],type:"issue",impact:3},{checkpoint:"rgaa-7.4.1",standards:["RGAAv4"],type:"issue",impact:3}]},{id:"user-agent-semantic-del-ins",descriptions:{en:{shortText:"USER AGENT: Use of DEL or INS element is not supported by all screen readers",description:"USER AGENT: Use of DEL or INS element is not supported by all screen readers."}},checkpoints:[{checkpoint:"1.3.1.a",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"en301549-9-1.3.1.a",standards:["EN-301-549"],type:"issue",impact:3}]},{id:"video-transcript-missing",descriptions:{en:{shortText:"Video transcript missing",description:"The video is missing a full text transcript."}},checkpoints:[{checkpoint:"1.2.2.a",standards:["wcag2a"],type:"best-practice",impact:3},{checkpoint:"en301549-9-1.2.2.a",standards:["EN-301-549"],type:"best-practice",impact:3},{checkpoint:"rgaa-1.2.1",standards:["RGAAv4"],type:"best-practice",impact:3}]}]])}),Z=a.cw(function(e,t){function n(e){const t=`${e}-start`,a=`${e}-end`,n=()=>{performance.clearMarks(t),performance.clearMarks(a),performance.clearMeasures(e)};return{start:()=>{n(),performance.mark(t)},end:()=>performance.mark(a),clear:n,measure:()=>(performance.measure(e,t,a),performance.getEntriesByName(e,"measure")[0])}}a.d(t,{A:()=>n})}),X=a.cw(function(e,t){const n=["organization","enterpriseId","keycloakId","userId"];a.d(t,["l",0,async e=>{const{enableOffline:t,user:a,session:i}=await browser.storage.local.get(["enableOffline","user","session"]);return!t&&(!(e=>n.some(t=>!(null==e||!e[t])))(e)||((e,t)=>!(null==e||!e.id||null==t||!t.refresh_expires_at)&&t.refresh_expires_at>(0,ne().Q)(new Date))(a,i))}])}),Q=a.cw(function(e,t){a.d(t,["Aw",0,"trial_payment_failed","Ew",0,"paid_payment_failed","Yw",0,"free_payment_failed","cT",0,"trial_ended","rD",0,"trialing"])}),ee=a.cw(function(e,t){It();const n=[{name:"Developer",label:It().Ay`Developer`},{name:"Tester",label:It().Ay`Tester`},{name:"Designer",label:It().Ay`Designer`},{name:"Accessibility Specialist",label:It().Ay`Accessibility Specialist`},{name:"Manager",label:It().Ay`Manager`},{name:"Other",label:It().Ay`Other`}];a.d(t,["A",0,n])}),te=a.cw(function(e,t){a.d(t,{N:()=>n});class n extends Error{constructor(e,t,a){super(a??`axe API ${t} returned ${e}`),this.name="AxeApiError",this.status=e,this.endpoint=t}}}),ae=a.cw(function(e,t){let n,i;const o=e=>{n=e,i=void 0};a.d(t,["IK",0,e=>{var t;n?e(n):null===(t=i)||void 0===t||t.then(()=>{n&&e(n)})},"f2",0,e=>{const t=e.catch(()=>{});return i=t,t.then(e=>{i===t&&o(e)})}])}),ne=a.cw(function(e,t){a.d(t,["Q",0,e=>Math.floor(new Date(e).getTime()/1e3)])}),ie=a.cw(function(e,t){Na();const n=async(e=!0,t)=>{if(e)try{await Na().debugger.detach(...void 0!==t?[t]:[])}catch(e){(0,me().vV)({originalError:e,message:"Error detaching debugger"})}};a.d(t,["A",0,n])}),oe=a.cw(function(e,t){const n=/^wcag\d{1,2}a{1,3}$/,i=(e,t)=>{var a;return null===(a=e.checkpoints.find(e=>e.standards.find(t)))||void 0===a?void 0:a.standards},o={"keyboard-inaccessible":"wcag211a","alt-text-essential-image-text":"wcag111b","alt-text-missing":"wcag111b"};a.d(t,["Q",0,(e,t=J().j)=>{var a,s;const r=Array.isArray(t)?t.find(t=>t.id===e):t;if(null==r||null===(a=r.checkpoints)||void 0===a||!a.length)return[];if(r.checkpoints.some(e=>"best-practice"===e.type))return["best-practice"];const c=i(r,e=>n.test(e)),l=i(r,e=>"EN-301-549"===e),d=(null===(s=i(r,e=>e.toLowerCase().includes("rgaa")))||void 0===s?void 0:s.length)&&"RGAAv4";return[null==c?void 0:c[0],null==l?void 0:l[0],d,...(u=r,p=e,u.checkpoints.map(e=>{return e.checkpoint?e.standards.find(e=>n.test(e))?(t=e.checkpoint)?`wcag${t.replace(/\./g,"")}`:"":e.standards.find(e=>"EN-301-549"===e)?(e=>{const t=e.replace("en301549-9-","").replace(/\.[a-z]$/,"");return e?`EN-9.${t}`:""})(e.checkpoint):e.standards.find(e=>"rgaa"===e)?(e=>e?e.toUpperCase():"")(e.checkpoint):"":"";var t}).filter(e=>e&&(!o[p]||o[p]===e)))].filter(Boolean);var u,p},"q",0,(e,t=J().j)=>t.find(t=>t.id===e)])}),se=a.cw(function(e,t){let n;async function i(){return(await o()).distinct_id}a.d(t,{A:()=>i}),I();const o=async()=>{if(n)return n;const{axeServerURL:e,session:t}=await browser.storage.local.get(["axeServerURL","session"]);return n=await(0,I().getDistinctIdCookie)({host:"default"===e?"http://localhost:1234":e,origin:globalThis.location.origin,token:null==t?void 0:t.access_token}),n};a.d(t,["S",0,o])}),re=a.cw(function(e,t){function n(e,t){return!(!e.fingerprints||!t.fingerprints)&&(0!==e.fingerprints.length&&0!==t.fingerprints.length&&(e.fingerprints.length===t.fingerprints.length&&e.fingerprints.every((e,a)=>{var n;return e===(null===(n=t.fingerprints)||void 0===n?void 0:n[a])})))}a.d(t,{B:()=>n})}),ce=a.cw(function(e,t){function n(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),a.push.apply(a,n)}return a}function i(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?n(Object(a),!0).forEach(function(t){o(e,t,a[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):n(Object(a)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))})}return e}function o(e,t,a){return(t=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var a=e[Symbol.toPrimitive];if(void 0!==a){var n=a.call(e,t||"default");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}a.d(t,{Ay:()=>r}),Dt(),x(),H();const s={[x().ProductSlugs.axeDevToolsExtension]:{ufaStateLimit:100}};async function r(e){var t;if("http://localhost:1234"===e)return{billingServiceEnabled:!0,isOnPrem:!1,productInfo:s,isJazzbandEnabled:!0,mlServiceEnabled:!0,screenshotsEnabled:!0,mlService:{llmHubEnabled:!0},llmHub:{isEnabled:!0}};const a=await fetch(`${e}/api/internal/server-info`),n=async()=>(await Promise.all([(0,H().x)("keyboard_ml_v1",!0),(0,H().x)("ie_ml_v1",!0),(0,H().x)("igt_table_ml_v1",!0)])).includes(!0),o=async(e={})=>{var t,a;return{mlServiceEnabled:"boolean"==typeof e.mlServiceEnabled?e.mlServiceEnabled:await n(),screenshotsEnabled:"boolean"==typeof e.screenshotsEnabled?e.screenshotsEnabled:await(0,H().x)("screenshots_v1",!0),mlService:{llmHubEnabled:"boolean"==typeof(null===(t=e.mlService)||void 0===t?void 0:t.llmHubEnabled)&&e.mlService.llmHubEnabled},llmHub:{isEnabled:"boolean"!=typeof(null===(a=e.llmHub)||void 0===a?void 0:a.isEnabled)||e.llmHub.isEnabled}}};if(a.ok&&(null===(t=a.headers.get("Content-Type"))||void 0===t||!t.includes("application/json")))return i({billingServiceEnabled:!1,isOnPrem:!0,productInfo:s,isJazzbandEnabled:!1},await o());if(!a.ok)return{billingServiceEnabled:!0,isOnPrem:!1,productInfo:s,isJazzbandEnabled:!0,mlServiceEnabled:!0,screenshotsEnabled:!0,mlService:{llmHubEnabled:!0},llmHub:{isEnabled:!0}};const{billingServiceEnabled:r,isOnPrem:c,productInfo:l,isJazzbandEnabled:d,mlServiceEnabled:u,screenshotsEnabled:p,mlService:h,llmHub:m}=await a.json();return i({billingServiceEnabled:"boolean"==typeof r&&r,isJazzbandEnabled:"boolean"==typeof d&&d,isOnPrem:"boolean"!=typeof c||c,productInfo:on()()(s,l||{})},await o({mlServiceEnabled:u,screenshotsEnabled:p,mlService:h,llmHub:m}))}}),le=a.cw(function(e,t){async function n(){const{axeServerURL:e}=await browser.storage.local.get("axeServerURL");return e&&"default"!==e?e:"http://localhost:1234"}a.d(t,{A:()=>n})}),de=a.cw(function(e,t){ye();const n=e=>{const t=globalThis.__tabbers||(globalThis.__tabbers={});if(!t[e]){const a=new(ye().A)(e);t[e]=a}return t[e]};a.d(t,["A",0,n])}),ue=a.cw(function(e,t){const n=(e,t)=>{const a=(0,ne().Q)(new Date);if(!t)return!1;return(!(null!=e&&e.expires_at)||(null==e?void 0:e.expires_at)<a)&&t>a};a.d(t,["A",0,n])}),pe=a.cw(function(e,t){function n(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),a.push.apply(a,n)}return a}function i(e,t,a){return(t=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var a=e[Symbol.toPrimitive];if(void 0!==a){var n=a.call(e,t||"default");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function o(e,t,a){var o;return function(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?n(Object(a),!0).forEach(function(t){i(e,t,a[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):n(Object(a)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))})}return e}({description:e.description,help:e.help,help_url:e.helpUrl,impact:e.impact,rule:e.id,summary:t.failureSummary||"",source:t.html,selector:t.target||[],is_manual:!1,variant:null!==(o=e.tags)&&void 0!==o&&o.includes("best-practice")?"best-practice":"violation",needs_review:!1,tags:e.tags,remediation:{any:t.any,all:t.all,none:t.none}},a)}a.d(t,{d:()=>o})}),he=a.cw(function(e,t){const{FIREFOX:n}={FIREFOX:"false"};let i;a.d(t,["a",0,async()=>{if("true"!==n)return i??(i=(await a.e(413).then(()=>a(833))).datadogLogs),i}])}),me=a.cw(function(e,t){function n(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),a.push.apply(a,n)}return a}function i(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?n(Object(a),!0).forEach(function(t){o(e,t,a[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):n(Object(a)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))})}return e}function o(e,t,a){return(t=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var a=e[Symbol.toPrimitive];if(void 0!==a){var n=a.call(e,t||"default");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}a.d(t,["vV",0,({originalError:e,message:t,level:a="error",additionalContext:n={},isSerialized:o=!1})=>{if(o)return void(0,ae().IK)(o=>o.logger[a](t,i(i({},e),n)));const s=(e=>e instanceof Error?e:new Error("Unknown error"+(e?`: ${e}`:"")))(e),r={error:s.message,stack:s.stack,original_error:e};(0,ae().IK)(e=>e.logger[a](t,i(i({},r),n)))}])}),ge=a.cw(function(e,t){a.d(t,{A:()=>i}),It(),Ra();const n=It().Ay`Your session has expired. Please log back in.`;function i(e,t,a=n){const i=t&&"object"==typeof t&&"message"in t&&"access denied"===t.message;Ra().yS.send(Ra()._O.devtools,"app:notification",{type:"caution",text:i?n:a},{tabId:e}),i&&Ra().yS.send(Ra()._O.devtools,"app:logout",null,{tabId:e})}}),fe=a.cw(function(e,t){St();const n=Qa()()("request-interception"),i=["get","post","put","delete"],o=function(){const e=new Map(i.map(e=>[e,[]]));for(const t of i)this[t]=(a,n)=>{if(i.includes(t)){const i=e.get(t);e.set(t,[...i,{pattern:a,handler:n}])}return this};return this.intercept=(t,a,o)=>{const s=t.toLowerCase();if(!i.includes(s))return!1;for(const{pattern:t,handler:i}of e.get(s)){const e=new URLPattern({pathname:t}),[r,c]=a.split("?"),l=e.exec(r,"http://localhost:1234");if(l){const e=l.pathname.groups,a=Object.fromEntries(new URLSearchParams(c));return n(`${s} ${t}`,{endpoint:r,params:e,query:a,body:o}),i(o,{endpoint:r,params:e,query:a})}}},this};a.d(t,["A",0,o])}),be=a.cw(function(e,t){function n(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),a.push.apply(a,n)}return a}function i(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?n(Object(a),!0).forEach(function(t){o(e,t,a[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):n(Object(a)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))})}return e}function o(e,t,a){return(t=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var a=e[Symbol.toPrimitive];if(void 0!==a){var n=a.call(e,t||"default");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}a.d(t,{$:()=>l});const s=/^data:image\/[a-z0-9.+-]+;base64,/i,r=e=>"object"==typeof e&&null!==e&&!Array.isArray(e),c=e=>"string"==typeof e&&s.test(e);function l(e){let t=0,a=0;const n=e=>{if(c(e))return t+=1,a+=e.length,"";if(Array.isArray(e)){let t=e;for(let a=0;a<e.length;a+=1){const i=n(e[a]);i!==e[a]&&(t===e&&(t=e.slice()),t[a]=i)}return t}if(r(e)){let t=e;for(const a in e){if(!Object.prototype.hasOwnProperty.call(e,a))continue;const o=n(e[a]);o!==e[a]&&(t===e&&(t=i({},e)),t[a]=o)}return t}return e};return{value:n(e),strippedCount:t,strippedBytes:a}}}),ve=a.cw(function(e,t){function n(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),a.push.apply(a,n)}return a}function i(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?n(Object(a),!0).forEach(function(t){o(e,t,a[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):n(Object(a)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))})}return e}function o(e,t,a){return(t=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var a=e[Symbol.toPrimitive];if(void 0!==a){var n=a.call(e,t||"default");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}x(),Ra(),Pe(),ee(),ce();const s=()=>Math.floor(Date.now()/1e3);let r;const c=(e,t)=>{r||(r=new BroadcastChannel("auth")),r.postMessage&&r.postMessage({topic:e,message:t}),Ra().yS.send(Ra()._O.background,e,t)};let l=null;const d=e=>{const t=i(i({},e),{},{expires_at:s()+e.expires_in,refresh_expires_at:s()+e.refresh_expires_in});c("auth:session",t),(e=>{l&&p(),e&&(l=setTimeout(()=>{u()},1e3*(e.refresh_expires_at-s())))})(t),browser.storage.local.set({session:t})},u=async()=>{const e=["sso-config","session","user"];try{const[{"sso-config":t,session:a,user:n},{proExpiry:i}]=await Promise.all([browser.storage.local.get(e),browser.storage.sync.get("proExpiry")]);await fetch(t.logoutUrl,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:encodeURI(`client_id=${t.publicClientId}&refresh_token=${a.refresh_token}`)});const o=(0,ue().A)(null,i);o||e.push("cachedUserEmail"),await browser.storage.local.remove(e);const s={};null!=n&&n.company&&(s.cachedUserCompany=n.company),null!=n&&n.email&&o&&(s.cachedUserEmail=n.email),Object.keys(s).length&&await browser.storage.local.set(s),c("auth:logout"),p(),Ra().yS.send(Ra()._O.background,"extension:logout")}catch(e){const{message:t}=e;c("auth:error",t)}},p=()=>{clearTimeout(l),l=null};Ra().yS.listen("app:logout",u),a.d(t,["Gm",0,e=>{e instanceof URL||(e=new URL(e));const t=e.searchParams.get("code"),a=e.hash?new URLSearchParams(e.hash.substr(1)).get("code"):null;return t||a||null},"M$",0,async()=>{const e=await(0,le().A)(),t=await fetch(`${e}/api/sso-config`);if(!t.ok)throw new Error(`Unable to get SSO config (${t.statusCode})`);const{url:a,realm:n,publicClientId:i}=await t.json();return{url:a,realm:n,publicClientId:i,openIdConnectUrl:`${a}/auth/realms/${n}/protocol/openid-connect`}},"X4",0,async()=>{const{session:e,"sso-config":t}=await browser.storage.local.get();if(!e)return;const a={grant_type:"refresh_token",refresh_token:e.refresh_token,client_id:t.publicClientId},n=await fetch(t.tokenUrl,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:encodeURI(Object.entries(a).map(([e,t])=>`${e}=${t}`).join("&"))});if(401===n.status||400===n.status)return void u();200!==n.status&&c("auth:error","Unexpected error");const i=await n.json();return d(i),i},"ZG",0,c])}),ye=a.cw(function(e,t){function n(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),a.push.apply(a,n)}return a}function i(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?n(Object(a),!0).forEach(function(t){o(e,t,a[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):n(Object(a)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))})}return e}function o(e,t,a){return(t=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var a=e[Symbol.toPrimitive];if(void 0!==a){var n=a.call(e,t||"default");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}async function s(e,t={}){return Na().debugger.sendCommand(this,e,t)}a.d(t,{A:()=>c}),Na(),ie();const r=async e=>{try{await Na().debugger.attach(e)}catch(e){if(Na().debugger.failedToAttach()){if(e instanceof Error)throw e;const t=(null==e?void 0:e.message)||"Failed to attach debugger";throw new Error(t)}}return Promise.resolve(s.bind({tabId:e}))};class c{constructor(e){this.tabId=e}async setup(){this.command=await r(this.tabId),await this.command("Input.enable")}async start(){await this.setup(),await this.fireTab()}stop(){(0,ie().A)(!0,this.tabId)}async fireKey(e,t,a={},n=t){if("function"==typeof this.command){const o=(a.alt?1:0)|(a.ctrl?2:0)|(a.meta?4:0)|(a.shift?8:0),s=i({windowsVirtualKeyCode:e,code:n,key:t},0!==o&&{modifiers:o});await this.command("Input.dispatchKeyEvent",i({type:"keyDown"},s)),await this.command("Input.dispatchKeyEvent",i({type:"keyUp"},s))}}async fireTab(){await this.fireKey(9,"Tab")}async fireEscape(){await this.setup(),await this.fireKey(27,"Escape"),this.stop()}async fireKeys(e,t=200){for(const a of e)await new Promise(e=>setTimeout(e,t)),await this.fireKey(a.windowsVirtualKeyCode,a.key,a.modifiers,a.code)}}}),we=a.cw(function(e,t){Ra(),ye();a.d(t,["C",0,()=>{let e;Ra().yS.listen("modal:tabber-init",async({tabId:t})=>{e&&e.stop(),e=new(ye().A)(t);try{await e.start()}catch{Ra().yS.send(Ra()._O.content,"attach:failed",{},{tabId:t})}}),Ra().yS.listen("modal:fire-tab",()=>{e&&e.fireTab()}),Ra().yS.listen("modal:tabber-stop",()=>{e&&(e.stop(),e=null)}),Ra().yS.listen("modal:fire-escape",async({tabId:t})=>(e&&e.stop(),e=new(ye().A)(t),await e.fireEscape(),!0))}])}),ke=a.cw(function(e,t){te(),It(),p(),ve(),fe(),V(),Ma(),Y();const n=["issues","manifests"],i=["issues","manifests"];function o(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),a.push.apply(a,n)}return a}function s(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?o(Object(a),!0).forEach(function(t){r(e,t,a[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):o(Object(a)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))})}return e}function r(e,t,a){return(t=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var a=e[Symbol.toPrimitive];if(void 0!==a){var n=a.call(e,t||"default");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function c(e,t){if(null==e)return{};var a,n,i=function(e,t){if(null==e)return{};var a={};for(var n in e)if({}.hasOwnProperty.call(e,n)){if(-1!==t.indexOf(n))continue;a[n]=e[n]}return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n<o.length;n++)a=o[n],-1===t.indexOf(a)&&{}.propertyIsEnumerable.call(e,a)&&(i[a]=e[a])}return i}const l=new(Ma().eu),d=new(V().A),u=async(e,{query:t})=>{var a;const i=new URLPattern({pathname:"/api/tests/:testId"}),o=await d.get(),r=[],l=(null===(a=t.tags)||void 0===a?void 0:a.split(","))||[];for(const[e,t]of Object.entries(o))if(i.test(e,"http://localhost:1234")){const{issues:e,manifests:a}=t,i=c(t,n),o=p().manifestUtils.getCurrentManifestIds(p().manifestUtils.getManifestRerunGroups(a||[])),d=e.filter(e=>!e.manifest_id||o.has(e.manifest_id)),u=l.length?d.filter(e=>!!e.tags.find(e=>l.includes(e))):d;r.push(s({best_practice_count:d.filter(e=>{var t;return null===(t=e.tags)||void 0===t?void 0:t.includes("best-practice")}).length,needs_review_count:u.filter(e=>!!e.needs_review).length,violation_count:u.filter(e=>"violation"===e.variant).length},i))}const u=Number(t.offset)||0,h=Number(t.limit)||25;return r.sort((e,t)=>-e.updated_at.localeCompare(t.updated_at)).slice(u,u+h)},h=new(fe().A);h.post("/api/tests",async e=>{const t=(0,La().A)();return await d.set(s({id:t,updated_at:(new Date).toISOString(),created_at:(new Date).toISOString(),issues:[],manifests:[]},e),`/api/tests/${t}`)}).put("/api/tests/:testId",async(e,{params:t})=>{const a=`/api/tests/${t.testId}`,n=await d.update(s(s({},e),{},{updated_at:(new Date).toISOString()}),a),{issues:o,manifests:r}=n;return c(n,i)}).post("/api/tests/:testId/issues",async(e,{params:t})=>{const{manifestGuideName:a,manifestId:n,test_name:i,violations:o}=e,r=`/api/tests/${t.testId}`,c=await d.get(r),l=new Date,u=[];for(const e of o){var p,h;u.push(s(s({},e),{},{id:(0,La().A)(),created_at:l.toISOString(),test_id:t.testId,test_name:i||c.name,test_url:e.test_url||c.url,manifest_id:n,manifest_scope:(null===(p=e.stepScope)||void 0===p?void 0:p.name)||null,manifest_index:(null===(h=e.stepScope)||void 0===h?void 0:h.index)||null,manifest_key:e.stepName,manifest_guide:a}))}return c.issues=[...u,...(null==c?void 0:c.issues)??[]],await d.update(c,r),c.issues}).put("/api/tests/:testId/issues/:issueId",async(e,{params:t})=>{const a=`/api/tests/${t.testId}`,n=await d.get(a);let i={};const o=null==n?void 0:n.issues.map(a=>a.id!==t.issueId?a:(i=s(s({},a),e),i));return await d.set(s(s({},n),{},{issues:o}),a),i}).delete("/api/tests/:testId/issues",async(e,{params:t,query:a})=>{const n=`/api/tests/${t.testId}`,i=await d.get(n),o=(null==i?void 0:i.issues.filter(e=>Object.entries(a).every(([t,a])=>{const n="true"===a||"false"===a?JSON.parse(a):a;return e[t]!==n})))||[];await d.set(s(s({},i),{},{issues:o}),n)}).post("/api/tests/:testId/manifests",async(e,{params:t})=>{const a=`/api/tests/${t.testId}`,n=await d.get(a),i={id:(0,La().A)(),test_id:t.testId,guide:e.guide||e.name,created_at:(new Date).toISOString()};return(n.manifests||[]).push(i),await d.set(n,a),i}).get("/api/tests/:testId/manifests/:manifestId",async(e,{params:t})=>{const a=await d.get(`/api/tests/${t.testId}`);return(null==a?void 0:a.manifests.find(e=>e.id===t.manifestId))||{}}).get("/api/tests/:testId/issues",async(e,{params:t})=>{const a=await d.get(`/api/tests/${t.testId}`);return(null==a?void 0:a.issues)||[]}).get("/api/tests/:testId/manifests",async(e,{params:t})=>{var a;const n=await d.get(`/api/tests/${t.testId}`);return(null==n||null===(a=n.manifests)||void 0===a?void 0:a.reduce((e,t)=>{if(t.guide){const a=[...e[t.guide]||[],t];e[t.guide]=a}return e},{}))||{}}).put("/api/tests/:testId/manifests/:manifestId",async(e,{params:t})=>{const a=`/api/tests/${t.testId}`,n=await d.get(a);let i={};const o=null==n?void 0:n.manifests.map(a=>a.id!==t.manifestId?a:(i=s(s(s({},a),{},{updated_at:(new Date).toISOString()},"data"in e&&e.data?{body:e.data}:{}),"name"in e&&e.name?{name:e.name}:{}),i));return await d.set(s(s({},n),{},{manifests:o}),a),i}).delete("/api/tests/:testId/manifests/:manifestId",async(e,{params:t})=>await l.runExclusive(async()=>{const e=`/api/tests/${t.testId}`,a=await d.get(e),n=(null==a?void 0:a.manifests)||[],i=n.find(({id:e})=>e===t.manifestId);let o=new Set([t.manifestId]);if(i){const e=p().manifestUtils.getManifestRerunGroups(n),t=p().manifestUtils.getManifestsToDelete(i,e);o=new Set(t.map(e=>e.id))}const r=null==a?void 0:a.issues.filter(e=>!e.manifest_id||!o.has(e.manifest_id)),c=null==a?void 0:a.manifests.filter(({id:e})=>!o.has(e));await d.set(s(s({},a),{},{issues:r||[],manifests:c||[]}),e)})).get("/api/users/:id/tests",u).get("/api/axe-devtools-pro/scans",u).post("/api/analytics",()=>{}).put("*",async(e,{endpoint:t})=>d.set(e,t)).post("*",async(e,{endpoint:t})=>d.update(e,t)).get("*",async(e,{endpoint:t})=>d.get(t)).delete("*",async(e,{endpoint:t})=>{const a=await d.get();delete a[t],await d.set(a)});const m=async(e,t,a,n,i)=>{const{axeServerURL:o,session:r,apiKey:c}=await browser.storage.local.get();if(!(c||null!=r&&r.access_token))throw new Error(It().Ay`You are not logged in and you need to be logged in to perform this action`);let l;if(!c&&r.expires_at<Math.floor(Date.now()/1e3)-6e4)try{l=(await(0,ve().X4)()).access_token}catch{}const d="default"!==o?o:"http://localhost:1234",u=c?{"x-api-key":c}:{Authorization:`Bearer ${l||r.access_token}`},p=await fetch(`${d}${t}`,{method:e,headers:s(s({},a),u),body:n,signal:i});if(401===p.status)throw new Error("access denied");return p},g=async(e,t,a,{jsonResponse:n=!0,signal:i}={})=>{const{enableOffline:o}=await browser.storage.local.get("enableOffline");if(o)try{return await h.intercept(e,t,a)}catch(e){throw console.error(e),e}let r=a;const c=await(0,Y().Q)(t);c&&a&&"object"==typeof a&&(r=s(s({},a),{},{model_details:c}));const l=await m(e,t,s({"Content-Type":"application/json"},n?{Accept:"application/json"}:{}),JSON.stringify(r),i);if(204!==l.status){if(!l.ok)throw new(te().N)(l.status,t);return n?l.json():l.text()}};const f={delete:function(e,t,a){return g("DELETE",e,t,a)},get:function(e,t){return g("GET",e,void 0,t)},post:function(e,t,a){return g("POST",e,t,a)},put:function(e,t,a){return g("PUT",e,t,a)},stream:{post:function(e,t,a){return m("POST",e,t,a)},get:function(e,t,a){return m("GET",e,t,a)}}};a.d(t,["A",0,f])}),Ae=a.cw(function(e,t){a.d(t,{A:()=>i}),Ra(),St(),Na(),ie();const n=Qa()()("background:dom");function i(){Ra().yS.listen("dom:get-active-element-shadow-root-type",async({shouldDetachAfterProcess:e=!1,tabId:t})=>{try{await Na().debugger.attach(t)}catch{if(Na().debugger.failedToAttach())return null}let a=null;try{const{result:{objectId:e}}=await Na().debugger.sendCommand({tabId:t},"Runtime.evaluate",{expression:"\n /**\n * From: https://stackoverflow.com/a/61167135\n *\n * Return the active element of a page, regardless of shadow root or iframe window.\n * @returns {HTMLElement}\n */\n (function getActiveElement(element = document.activeElement) {\n const shadowRoot = element.shadowRoot\n const contentDocument = element.contentDocument\n\n if (shadowRoot && shadowRoot.activeElement) {\n return getActiveElement(shadowRoot.activeElement)\n }\n\n if (contentDocument && contentDocument.activeElement) {\n return getActiveElement(contentDocument.activeElement)\n }\n\n return element\n })()\n "});if(e){var i;const{node:o}=await Na().debugger.sendCommand({tabId:t},"DOM.describeNode",{objectId:e,pierce:!0});null!=o&&null!==(i=o.shadowRoots)&&void 0!==i&&i.length?a=o.shadowRoots[0].shadowRootType:n("Active element does not have a shadow root")}else n("Unable to retrieve the active element RemoteObjectId")}catch(e){n(`An error occurred while trying to retrieve the active element shadow type: ${e}`)}finally{await(0,ie().A)(e,t)}return n(`Active element shadowRootType: ${a}`),a})}}),Ee=a.cw(function(e,t){a.d(t,{A:()=>l}),It(),Ra(),ge();const n=["tabId"],i=["tool","username","startedFrom"];function o(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),a.push.apply(a,n)}return a}function s(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?o(Object(a),!0).forEach(function(t){r(e,t,a[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):o(Object(a)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))})}return e}function r(e,t,a){return(t=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var a=e[Symbol.toPrimitive];if(void 0!==a){var n=a.call(e,t||"default");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function c(e,t){if(null==e)return{};var a,n,i=function(e,t){if(null==e)return{};var a={};for(var n in e)if({}.hasOwnProperty.call(e,n)){if(-1!==t.indexOf(n))continue;a[n]=e[n]}return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n<o.length;n++)a=o[n],-1===t.indexOf(a)&&{}.propertyIsEnumerable.call(e,a)&&(i[a]=e[a])}return i}function l(){Ra().yS.listen("guided:start",async({message:e})=>{const{tabId:t}=e,a=c(e,n);try{const{tool:e,username:n,startedFrom:o="record"}=a,s=c(a,i),{testUrl:r}=s;Ra().yS.send(Ra()._O.devtools,"guide:start-guided",{tool:e,testUrl:r,username:n,resume:!1,startedFrom:o,manifest:s},{tabId:t})}catch(e){(0,ge().A)(t,e,It().Ay`There was a problem starting your ${"Intelligent Guided Test"}.`)}}),Ra().yS.listen("guided:resume",async({message:e})=>{e.test_id&&Ra().yS.send(Ra()._O.devtools,"guide:start-guided",{tool:e.guide,ensureTestTab:!0,testUrl:e.body.metadata.url,username:e.body.metadata.username,resume:!0,rerun:!!e.body.__rerunFromManifestId,manifest:s({id:e.id,testId:e.test_id,testName:e.testName,testUrl:e.testUrl},e.body)},{tabId:e.tabId})}),Ra().yS.listen("guided:rerun",async({message:e})=>{e.test_id&&Ra().yS.send(Ra()._O.devtools,"guide:start-guided",{tool:e.guide,ensureTestTab:!0,testUrl:e.body.metadata.url,username:e.body.metadata.username,rerun:!0,manifest:s({id:e.id,testId:e.test_id,testName:e.testName,testUrl:e.testUrl},e.body)},{tabId:e.tabId})}),Ra().yS.listen("guided:save-and-quit",({message:e})=>{Ra().yS.send(Ra()._O.devtools,"guided:save-and-quit",{},{tabId:e.tabId})})}}),Se=a.cw(function(e,t){St(),It(),de(),Ra(),Ie(),xe(),Ee(),we(),Ae(),Te(),ke(),te(),L(),H(),ge(),Ba(),Pe(),q();const a=["testName","testPageTitle","hideNotification","colorContrastResolverSuccessful","integrationTestId","serverVersion","ignoredIssues","source"];function n(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),a.push.apply(a,n)}return a}function i(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?n(Object(a),!0).forEach(function(t){o(e,t,a[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):n(Object(a)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))})}return e}function o(e,t,a){return(t=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var a=e[Symbol.toPrimitive];if(void 0!==a){var n=a.call(e,t||"default");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}const s=Qa()()("screenshots");Ra().yS.listen("needs-review:yes",async({message:e,tabId:t})=>{try{await ke().A.put(`/api/tests/${e.testId}/issues/${e.issueId}`,{needs_review:!1})}catch(e){(0,ge().A)(t,e,It().Ay`There was a problem updating your reviewed issue.`)}}),Ra().yS.listen("needs-review:no",async({message:e,tabId:t})=>{try{await ke().A.delete(`/api/tests/${e.testId}/issues?id=${e.issueId}`)}catch(e){(0,ge().A)(t,e,It().Ay`There was a problem removing your reviewed your issue.`)}}),Ra().yS.listen("hubspot-user-analytics",({message:e})=>{const{event:t,value:a,update_behavior:n}=e;ke().A.post("/api/analytics",{event_name:t,event_value:a,update_behavior:n})}),Ra().yS.listen("auth:session",async({message:e})=>{await browser.storage.local.set({session:e})}),Ra().yS.listen("auth:logout",async()=>{await browser.storage.local.remove("session")}),Ra().yS.listen("save-screenshot",async({tabId:e,message:t})=>{let{screenshot:a,isFullPage:n=!1,bucketPrefix:i,skipDerivatives:o}=t;if(a)try{if(/data:image\/\w+;base64,/.test(a)){const[,e]=a.split(",");a=e}const{url:t}=await browser.tabs.get(e),s=new URLSearchParams({url:t,browser_version:navigator.userAgent,extension_version:Ba().rE,is_full_page:n});i&&s.set("bucket_prefix",i),o&&s.set("skip_derivatives","true");const r=await ke().A.stream.post(`/api/screenshots?${s}`,{Accept:"application/json","Content-Type":"image/png"},a);return(await r.json()).key}catch{return void Ra().yS.send(Ra()._O.devtools,"app:notification",{type:"caution",text:It().Ay`There was a problem saving your screenshot. Please try again.`},{tabId:e})}}),Ra().yS.listen("get-screenshot-features",async({message:e})=>{const{screenshotId:t,vnodes:a,zoom:n,category:i,coordinateOffset:o}=e;try{return await ke().A.post(`/api/screenshots/${t}/features?category=${i}`,{vnodes:a.map(({vnodeId:e,role:t,box:a,tightBox:n,tagName:i,states:o})=>({vnodeId:e,role:t,box:a,tightBox:n,tagName:i,states:o})),zoom:n,coordinateOffset:o})}catch(e){return{features:[],error:{message:(null==e?void 0:e.message)||"Failed to retrieve screenshot features",stack:(null==e?void 0:e.stack)||""}}}}),Ra().yS.listen("save-results",async({tabId:e,message:t})=>{const{testName:n,testPageTitle:o,hideNotification:s,colorContrastResolverSuccessful:r,integrationTestId:c,serverVersion:l,ignoredIssues:d,source:u}=t,p=function(e,t){if(null==e)return{};var a,n,i=function(e,t){if(null==e)return{};var a={};for(var n in e)if({}.hasOwnProperty.call(e,n)){if(-1!==t.indexOf(n))continue;a[n]=e[n]}return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n<o.length;n++)a=o[n],-1===t.indexOf(a)&&{}.propertyIsEnumerable.call(e,a)&&(i[a]=e[a])}return i}(t,a);try{const t=await Ra().yS.send(Ra()._O.content,"request-axe-results",p,{tabId:e});if(t.error)throw new Error(`request-axe-results error: ${t.error.message}`);const{results:a,pageTitle:h,stars:m,metadata:g}=t,{url:f}=a,{id:b}=await ke().A.post("/api/tests",{url:f,source:u}),v=await(0,H().x)("issue_ignore_v2",!1)?await(0,L().i)(i(i({},a),{},{ignoredIssues:d,url:f})):(0,L().T)(a),[y,w]=await Promise.all([ke().A.put(`/api/tests/${b}`,i(i(i({name:n||h||f},void 0!==c?{integration_test_id:c}:{}),{},{metadata:i(i({},g),{},{axeVersion:p.axeVersion,color_contrast_resolver_successful:r})},(0,q().M)(l)?{test_page_title:o||h}:{}),{},{stars:m})),ke().A.post(`/api/tests/${b}/issues`,{test_name:n,violations:v,event:"auto"})]);return s||Ra().yS.send(Ra()._O.devtools,"app:notification",{type:"confirmation",text:It().Ay`Your test has been saved.`},{tabId:e}),{record:y,issues:w,manifests:{}}}catch(t){const a=t instanceof te().N&&402===t.status;return Ra().yS.send(Ra()._O.devtools,"app:notification",{type:"caution",text:It().Ay`There was a problem saving your test. Please try again.`},{tabId:e}),i({record:{},issues:[],manifests:{}},a&&{subscriptionMissing:!0})}}),(0,Ae().A)(),(0,Ie().A)(),(0,xe().A)(),(0,Ee().A)(),(0,we().C)(),(0,Te().A)(),Ra().yS.listen("resave-automatic-tests",async({tabId:e,message:t})=>{const{testId:a,axeResults:n,metadata:o}=t;try{await ke().A.delete(`/api/tests/${a}/issues?is_manual=false`),await ke().A.post(`/api/tests/${a}/issues`,{violations:(0,L().T)(n),event:"auto"});const e=await ke().A.put(`/api/tests/${a}`,{metadata:i(i({},o),{},{axeVersion:n.axeVersion,color_contrast_resolver_successful:!1})});return{updatedIssues:await ke().A.get(`/api/tests/${a}/issues`),auto_tests_at:(new Date).toISOString(),updated_at:e.updated_at}}catch{return Ra().yS.send(Ra()._O.devtools,"app:notification",{type:"caution",text:It().Ay`There was a problem saving your automated results. Your test record was not updated, please try again.`},{tabId:e}),{}}});Ra().yS.listen("forms:ml",async({tabId:e,message:t})=>{const{url:a,form:n,screenshot:i}=t,{session:o,axeSettings:s,policySettings:r}=await browser.storage.local.get(["session","axeSettings","policySettings"]);if(!(r.DisableAllScreenshots||"boolean"!=typeof r.EnableMachineLearning?s.enableMachineLearning:r.EnableMachineLearning)||!o||!i)return[];const c=await Ra().yS.send(Ra()._O.content,"forms:get-descendant-elements",{vnodeId:n.vnodeId},{tabId:e}),[,l]=i.split("base64,"),d=(0,Z().A)("formsML");d.start();const u=await(async(e,t)=>{const a=Symbol("Timed out"),n=await Promise.race([e,new Promise(e=>setTimeout(()=>e(a),4e3))]);return n===a?(t(),null):n})((async()=>{try{return(await ke().A.post("/api/ml/form-fields",{url:a,image:l,vdom:c})).fields}catch{return[]}})(),()=>Pe().YD());return d.end(),Pe().Tp(d.measure().duration),u||[]}),Ra().yS.listen("automatic-color-contrast",async({message:e})=>{const{imageWithText:t,imageWithoutText:a,expectedTextColor:n}=e;if(t&&s.enabled){(new Image).src=`data:image/png;base64,${t}`}if(a&&s.enabled){(new Image).src=`data:image/png;base64,${a}`}return await ke().A.post("/api/automatic-color-contrast",{imageWithText:t,imageWithoutText:a,expectedTextColor:n})}),Ra().yS.listen("tab-record:start",async({tabId:e})=>{await Ra().yS.send(Ra()._O.content,"tab-record:initial-focus",null,{tabId:e});const t=(0,de().A)(e);try{await t.start()}catch{Ra().yS.send(Ra()._O.content,"attach:failed",{},{tabId:e})}}),Ra().yS.listen("tab-record:fire-tab",async({tabId:e})=>new Promise(t=>{setTimeout(()=>{var a;null===(a=(0,de().A)(e))||void 0===a||a.fireTab(),t()},200)})),Ra().yS.listen("tab-record:stop",({tabId:e})=>{var t;null===(t=(0,de().A)(e))||void 0===t||t.stop(),delete globalThis.__tabbers[e]}),browser.tabs.onUpdated.addListener((e,t)=>{const{status:a}=t;"complete"===a&&Ra().yS.send(Ra()._O.devtools,"page:navigation",t,{tabId:e})})}),Te=a.cw(function(e,t){function n(){Ra().yS.listen("tab-record:new-window-listener:attach",({tabId:e})=>{const t=()=>{browser.tabs.onCreated.removeListener(a),Ra().yS.unlisten("tab-record:new-window-listener:detach",t)},a=()=>{Ra().yS.send(Ra()._O.content,"tab-record:new-window:launched",null,{tabId:e})};t(),browser.tabs.onCreated.addListener(a),Ra().yS.listen("tab-record:new-window-listener:detach",t)})}a.d(t,{A:()=>n}),Ra()}),xe=a.cw(function(e,t){a.d(t,{A:()=>p}),Ra(),St(),It(),xt(),ke(),Me(),Pe(),Re();const n=["id","testId","testName","name","showNotificationOnFailure","createIssuesOnManifestComplete"],i=["testId"];function o(e,t){if(null==e)return{};var a,n,i=function(e,t){if(null==e)return{};var a={};for(var n in e)if({}.hasOwnProperty.call(e,n)){if(-1!==t.indexOf(n))continue;a[n]=e[n]}return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n<o.length;n++)a=o[n],-1===t.indexOf(a)&&{}.propertyIsEnumerable.call(e,a)&&(i[a]=e[a])}return i}function s(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),a.push.apply(a,n)}return a}function r(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?s(Object(a),!0).forEach(function(t){c(e,t,a[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):s(Object(a)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))})}return e}function c(e,t,a){return(t=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var a=e[Symbol.toPrimitive];if(void 0!==a){var n=a.call(e,t||"default");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}const l=(0,Re().Ay)(),d=Qa()()("manifests"),u=(e,t=!1)=>{const{ISSUES_URL:a}={ISSUES_URL:"https://docs.deque.com/issue-help/1.0.0/en"};return r(r({},e),{},{help_url:`${a}/${e.rule}`,description:e.description||e.summary,variant:t?"best-practice":"violation",tags:e.tags||(0,oe().Q)(e.id)})};function p(){Ra().yS.listen("manifest:new",async({message:{testId:e,tool:t}})=>{if(!e||!t)return{};try{return await ke().A.post(`/api/tests/${e}/manifests`,{name:t})}catch{return{}}}),Ra().yS.listen("manifest:update",async({message:e={},tabId:t})=>{const{id:a,testId:i,testName:s,name:c,showNotificationOnFailure:p=!1,createIssuesOnManifestComplete:h=!1}=e,m=o(e,n);if(!i)return{};let g=m;const{metadata:f={}}=m,b=f.type||f.tool;try{const e=l.find(({name:e})=>e===b);if(b&&e){const{vitals:t}=Ti()()(e,"config",[]);g=r(r({},m),{},{metadata:r(r({},f),{},{tree:(0,Me().A)(t,m)})})}const{value:t,strippedCount:n,strippedBytes:o}=(0,be().$)(g);n&&d("stripped %d inline screenshot(s), %d bytes, from the %s manifest payload",n,o,b);const p=(0,Z().A)("saveIGT");p.start();const v=await ke().A.put(`/api/tests/${i}/manifests/${a}`,{data:t,name:c});let y;p.end(),Pe().OO(p.measure().duration,b),h&&m.metadata.complete&&m.metadata.issues&&(y=ke().A.post(`/api/tests/${i}/issues`,{manifestId:a,manifestGuideName:b,test_name:s,violations:m.metadata.issues.map(e=>{const t=(0,oe().q)(e.id);if(!t)return u(e);const a=Array.isArray(t.checkpoints)&&!!t.checkpoints.find(e=>"best-practice"===e.type);return u(e,a)})}));const[w]=await Promise.all([v,y]);return w}catch(e){d("failed to save the %s manifest: %o",b,e),p&&Ra().yS.send(Ra()._O.devtools,"app:notification",{type:"caution",text:It().Ay`There was an issue updating your test. Please try again.`},{tabId:t})}}),Ra().yS.listen("manifests:get",async({message:e})=>{if(!e)return[];try{return await ke().A.get(`/api/tests/${e}/manifests`)}catch{return[]}}),Ra().yS.listen("manifest:delete",async({message:e,tabId:t})=>{const{testId:a}=e,n=o(e,i);if(a)try{await ke().A.delete(`/api/tests/${a}/manifests/${n.id}`)}catch{return void Ra().yS.send(Ra()._O.devtools,"app:notification",{type:"caution",text:It().Ay`Unable to delete`},{tabId:t})}})}}),Ie=a.cw(function(e,t){function n(){Ra().yS.listen("record:get",async({message:e,tabId:t})=>{if(!e)return{};try{const[t,a]=await Promise.all([ke().A.get(`/api/tests/${e}`),ke().A.get(`/api/tests/${e}/issues`)]);return{record:t,issues:a}}catch(e){return(0,ge().A)(t,e,It().Ay`There was a problem loading your test.`),{record:{},issues:[],error:!0}}}),Ra().yS.listen("records:get",async({message:e,tabId:t})=>{const{userId:a,tags:n,limit:i,offset:o,includeNeedsReview:s=!0,includeBestPractice:r=!0,serverAllowsUfa:c=!1}=e;try{const e=new URLSearchParams({limit:i,offset:o,needs_review:s,best_practice:r});return Array.isArray(n)&&n.length&&e.set("tags",n.join(",")),await ke().A.get(c?`/api/axe-devtools-pro/scans?${e}`:`/api/users/${a}/tests?${e}`)}catch(e){return(0,ge().A)(t,e,It().Ay`There was a problem loading your tests.`),[]}}),Ra().yS.listen("record:update",async({message:e,tabId:t})=>{try{return await ke().A.put(`/api/tests/${e.id}`,e)}catch(e){return(0,ge().A)(t,e,It().Ay`There was a problem updating your test.`),{}}}),Ra().yS.listen("record-issue:update",async({message:e,tabId:t})=>{try{return await ke().A.put(`/api/tests/${e.testId}/issues/${e.id}`,e)}catch(e){return(0,ge().A)(t,e,It().Ay`There was a problem updating your issue.`),{}}}),Ra().yS.listen("record-issue:new",async({message:{issue:e,hideNotification:t=!1},tabId:a})=>{try{return await ke().A.post(`/api/tests/${e.test_id}/issues`,{violations:[e]})}catch(e){return t||(0,ge().A)(a,e,It().Ay`There was a problem creating your issue.`),{}}}),Ra().yS.listen("record:delete",async({message:{testId:e,hideNotification:t=!1},tabId:a})=>{try{await ke().A.delete(`/api/tests/${e}`),t||Ra().yS.send(Ra()._O.devtools,"app:notification",{text:It().Ay`Your test was successfully deleted.`},{tabId:a})}catch(e){(0,ge().A)(a,e,It().Ay`There was a problem deleting your test.`)}})}a.d(t,{A:()=>n}),Ra(),It(),ke(),ge()}),Re=a.cw(function(e,t){De(),U();const n=[U().UG,U().QK,U().YS,U().tp,U().zC,U().QJ,U().uO],i=["table","keyboard","aria-modal","interactive-elements","structure","page-info","buttons-and-links","lists","images","headings","forms"],o=(e,t)=>i.indexOf(e.name)-i.indexOf(t.name),s=(e="en")=>[...Object.entries(De().A).filter(e=>!!e[1].steps).map(([t,a])=>{const n=a.locale[e][t],i=null==n?void 0:n.deprecation,o=a.config||{};return(({tips:e=[]},t)=>{e.forEach(e=>{e.text=t.tips[e.id]})})(o,n),{name:t,heading:n.name,description:i||n.description,config:o,version:1}}),...n.map(({name:e,displayName:t,description:a,config:n})=>({name:e,heading:t,description:a,config:n,version:2}))].sort(o);a.d(t,["Ay",0,s])}),De=a.cw(function(e,t){Ne();const n=["id","descriptions"];function i(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),a.push.apply(a,n)}return a}function o(e,t,a){return(t=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var a=e[Symbol.toPrimitive];if(void 0!==a){var n=a.call(e,t||"default");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}const s=Object.keys(Ne().A).reduce((e,t)=>{const a=t.split(".");return e.hasOwnProperty(a[0])||(e[a[0]]={}),e[a[0]][a[1]]=Ne().A[t],e},{}),r=J().j.reduce((e,t)=>{const{id:a,descriptions:s}=t,r=function(e,t){if(null==e)return{};var a,n,i=function(e,t){if(null==e)return{};var a={};for(var n in e)if({}.hasOwnProperty.call(e,n)){if(-1!==t.indexOf(n))continue;a[n]=e[n]}return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n<o.length;n++)a=o[n],-1===t.indexOf(a)&&{}.propertyIsEnumerable.call(e,a)&&(i[a]=e[a])}return i}(t,n);return e[a]=function(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?i(Object(a),!0).forEach(function(t){o(e,t,a[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):i(Object(a)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))})}return e}({},r),e},{}),c=Object.keys(Ce().A).reduce((e,t)=>(e[t]={},e[t].steps=Ce().A[t],e[t].locale=s[t],e[t].config=Ce().A[t][0].config,e),{impacts:r});a.d(t,["A",0,c])}),Ce=a.cw(function(e,t){const n=[{config:{deprecated:!0}}],i={"buttons-and-links":n,headings:n,lists:n,"page-info":n};a.d(t,["A",0,i])}),Ne=a.cw(function(e,t){Va(),Wa(),Ha(),Ka();const n={"buttons-and-links.en":Va(),"headings.en":Wa(),"lists.en":Ha(),"page-info.en":Ka()};a.d(t,["A",0,n])}),Me=a.cw(function(e,t){a.d(t,{A:()=>o}),xt();const n=(e,t)=>t.reduce((e,t)=>e.find(e=>e.vnodeId===t.vnodeId)?e:[...e,t],[...e]),i=e=>e.reduce((e,t)=>t.vnodes?[...e,...t.vnodes]:[...e,t],e);function o(e=[],t){const a=Ti()()(t,"metadata.scope",{});return e.reduce((e,a)=>{const o=t[a];return o?o.hasOwnProperty("vnodeId")?n(e,[o]):Array.isArray(o)?n(e,i(o)):e:e},a?[a]:[]).filter(e=>"number"==typeof e.vnodeId)}}),Pe=a.cw(function(e,t){Ua(),Ba(),Ra(),Oe(),se();const n=["event"];function i(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),a.push.apply(a,n)}return a}function o(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?i(Object(a),!0).forEach(function(t){s(e,t,a[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):i(Object(a)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))})}return e}function s(e,t,a){return(t=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var a=e[Symbol.toPrimitive];if(void 0!==a){var n=a.call(e,t||"default");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}const{AMPLITUDE_API_KEY:r,DATADOG_CLIENT_TOKEN:c,NODE_ENV:l}={NODE_ENV:"production",AMPLITUDE_API_KEY:"5faf82a87f563be7741eca93a9cdef37",DATADOG_CLIENT_TOKEN:""};let d;try{var u;const e=O();d=null!==(u=e.default)&&void 0!==u&&u.getInstance?e.default.getInstance():e.getInstance()}catch{}const p=()=>!!d&&!0,h="enterpriseId",m="conversion:install",g="conversion:uninstall",f="user:login",b="user:open",v="analysis:analyze",y="record:delete",w="record:rename",k="analysis:complete",A="analysis:ai:request:fail",E="analysis:userCorrection",S="issues:export",T="issue:inspected",x="issue:relatedInspected",I="issue:toggleHighlight",R="issue:moreInfo",D="ml:suggestedInteractiveElement",C="ml:suggestedInteractiveElementRejected",N="ml:missedInteractiveElement",M="ml:suggestedRole",P="ml:suggestedRoleAccepted",$="ml:suggestedRoleRejected",_="ml:suggestedTableHeader",z="ml:suggestedTableHeaderRejected",F="performance:keyboardEscapeTrap",G="performance:tabstopAnalysis",q="performance:interactiveElementsAnalysis",L="performance:modalIgtFocusRestoration",j="performance:modalIgtDismissibility",U="performance:formsML",V="performance:formsTimeoutML",W="performance:saveIGT",H="conversion:click:scanPart",K="conversion:click:saveTest",Y="conversion:click:export",J="conversion:click:shareIssue",Z="analysis:startUFA",ee=(e=[],t)=>e.filter(({impact:e})=>e===t).reduce((e,{nodes:t})=>e+((null==t?void 0:t.length)||1),0),te=e=>{try{const t=new URL(e);return"localhost"===t.hostname||!!t.port||"file://"===t.origin}catch{return!1}},ne=e=>{if(void 0===e)return;const t=Array.from(new Set(e.map(e=>e.rule||e.id))),a={failedRuleCount:t.length,failedRuleNames:t,criticalIssueCount:ee(e,"critical"),seriousIssueCount:ee(e,"serious"),moderateIssueCount:ee(e,"moderate"),minorIssueCount:ee(e,"minor")};if(e.length&&Array.isArray(e[0].nodes)){const t=e.reduce((e,t)=>e+t.nodes.length,0);a.failedItemCount=t}return a},ie=async(e,{overrideProductInfo:t=!1}={})=>{const a=await(0,Oe().O)(),i=t?e.productName:a.productName,s=t?e.productComponent:a.productComponent,r=o(o({},e),{},{productName:i,productComponent:s}),c=!await(0,X().l)(r);if(p())try{let{event:e}=r,t=function(e,t){if(null==e)return{};var a,n,i=function(e,t){if(null==e)return{};var a={};for(var n in e)if({}.hasOwnProperty.call(e,n)){if(-1!==t.indexOf(n))continue;a[n]=e[n]}return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n<o.length;n++)a=o[n],-1===t.indexOf(a)&&{}.propertyIsEnumerable.call(e,a)&&(i[a]=e[a])}return i}(r,n);we(e,t)}catch(e){B().R8("Analytics Data Error",{error:e.message,stack:e.stack})}if(c)B().Rm("Usage event suppressed, attribution has no verifiable session",{event:r.event});else try{a.postEvent(r)}catch(e){B().R8("Usage Data Error",{error:e.message,stack:e.stack})}},oe=e=>{let t="anonymous";switch(null==e?void 0:e.status){case Q().rD:t="trial";break;case"paid":case Q().Ew:case Q().cT:case Q().Aw:case"free":case Q().Yw:t=e.status}return t},re=async(e=[])=>{var t;let a,n,i,s;if("devtools"in browser)try{({contentType:a,title:n,url:i,scoped:s}=await Ra().yS.send(Ra()._O.content,"get-document-metadata"))}catch(e){(0,me().vV)({message:"Unable to get document metadata",originalError:e})}const{usageOrganization:r,usageDepartment:c,usageApplication:l,user:d,cachedUserCompany:u,axeSettings:p,userJobRole:h,cachedUserEmail:m}=await browser.storage.local.get(["usageOrganization","usageDepartment","usageApplication","user","cachedUserCompany","axeSettings","userJobRole","cachedUserEmail"]),g=!(!d||!d.id);return{distinctId:await(0,se().A)(),organization:r||((null==d?void 0:d.company)||u||""),department:c||"",application:l||"",userStatus:oe(d),loggedIn:g,devInstance:te(i),keycloakId:d&&d.id,userId:d&&d.username||m,userJobRole:h||"Anonymous",enterpriseId:null==d||null===(t=d.enterprise)||void 0===t?void 0:t.id,productName:"axe-pro",productComponent:"extension",productComponentVersion:Ba().rE,applicationProperties:o({engineVersion:Ua().rE,scoped:s,target:i,targetMedium:a,targetState:n,experimental:!1,rulesetName:(null==p?void 0:p.ruleset)||"all",bestPractices:!!p&&!!p.enableBestPractices},ne(e))}},ce=e=>async function(t,a){const n=await re(t);if(!a)return ie(o(o({},n),{},{event:e}));ie(o(o({},n),{},{event:e,applicationProperties:o(o({},n.applicationProperties),a)}))},le=e=>t=>ce(e)(void 0,t),de=(ce("issue:viewed"),le(T),le(x),le(I),le(R),ce(y),ce(w),ce(m)),ue=(ce(g),ce(f),ce(b),async(e,t={})=>{const a=await re();ie(o(o({},a),{},{event:e,applicationProperties:t}))}),pe=(e,t="interactive-elements")=>a=>ce(e)(void 0,o({eventTool:t},a)),ge=(pe(D),pe(C),pe(N),pe(M),pe(P),pe($),pe(A));pe(E),pe(_,"table"),pe(z,"table"),ce(H),ce(K),ce(Y),ce(J),ce(Z);let fe=!1,be=!1;const ve=async()=>{if(fe||!p())return;const e=await(0,se().A)();d.init(r,void 0,{deviceId:e,includeUtm:!0,saveParamsReferrerOncePerSession:!1,includeGclid:!0,includeReferrer:!0,secureCookie:!0,sameSiteCookie:"Lax"}),fe=!0},ye=async()=>{if(!(void 0!==globalThis.document&&void 0!==globalThis.XMLHttpRequest))return;if(be)return!0;const e=(async e=>{let t;const a=new Promise(e=>{t=setTimeout(()=>e(void 0),1e4)});try{return await Promise.race([e,a])}finally{clearTimeout(t)}})((0,he().a)()).then(e=>{if(e)return e.init({clientToken:c,site:"datadoghq.com",service:"axe-extension",env:l,version:Ba().rE,beforeSend:e=>{var t;if(0===(null==e||null===(t=e.http)||void 0===t?void 0:t.status_code))return!1}}),be=!0,e});await(0,ae().f2)(e)},we=async(e,t={})=>{if(!p())return;await(async()=>{await Promise.all([ve(),ye()])})();let a={};switch(e){case v:a={analyze:1};break;case k:a={complete:1};break;case S:a={export:1}}await(async(e={})=>{var t;if(!p())return;const{user:a,userJobRole:n="",usageOrganization:i="",cachedUserCompany:s,axeSettings:r,highlightTheme:c,theme:l,locale:u,policySettings:m,axeServerURL:g,firstView:f,exportFormat:b}=await browser.storage.local.get(["user","userJobRole","usageOrganization","cachedUserCompany","axeSettings","highlightTheme","theme","locale","policySettings","axeServerURL","firstView","exportFormat"]);d.setUserId(a&&a.id);const v=a&&a.id,y=null==a||null===(t=a.enterprise)||void 0===t?void 0:t.id,w=(new d.Identify).set("role",n).set("userStatus",oe(a)).set("loggedIn",v).set("axeSettings",o(o({highlightTheme:c,theme:l,locale:u,axeServerURL:g},r),{},{ruleset:(null==r?void 0:r.ruleset)||"all"})).set("policySettings",m).set("firstView",f).set("exportSchema",b||"devtools");y&&w.set(h,y);for(const[t,a]of Object.entries(e))isNaN(a)?w.set(t,a):w.add(t,a);d.identify(w),d.setGroup("organization",i||(null==a?void 0:a.company)||s)})(a);const{devInstance:n,productName:i,productComponent:s,productComponentVersion:r,engineVersion:c,enterpriseId:l,applicationProperties:u}=t,m=o(o({devInstance:n,productName:i,productComponent:s,productComponentVersion:r,engineVersion:c},l?{[h]:l}:{}),u);d.logEvent(e,m)};a.d(t,["A2",0,e=>ue(j,{duration:e}),"AL",0,e=>ue(q,{duration:e}),"OO",0,(e,t)=>ue(W,{duration:e,eventTool:t}),"Ql",0,e=>ue(L,{duration:e}),"T_",0,ye,"Tp",0,e=>ue(U,{duration:e}),"UU",0,e=>ue(G,{duration:e}),"YD",0,()=>ue(V),"YG",0,(e,t={})=>{e?(0,ae().IK)(a=>a.logger.error(e,t)):(0,ae().IK)(e=>e.logger.error("Unknown exception"))},"aW",0,e=>ue(F,{duration:e}),"ai",0,async e=>{var t;const{hasSentInstallEvent:a}=await browser.storage.sync.get(["hasSentInstallEvent"]);if(a)return;await browser.storage.sync.set({hasSentInstallEvent:!0});const n=null===(t=await(0,se().S)())||void 0===t?void 0:t.data,i=n?{original_landing_page:n.original_landing_page,original_utm_source:n.original_utm_source}:null;i&&p()&&d.setUserProperties(i),de([],o(o({},e),i))},"iE",0,ge,"rO",0,async e=>{(await(0,Oe().O)()).enableTracking(e&&!0)}])}),Oe=a.cw(function(e,t){P();const n={chrome:"extension-chrome",firefox:"extension-firefox",edge:"extension-edge"};let i,o;a.d(t,["O",0,async(e=!1,t)=>{let{usageServerURL:a}=await browser.storage.local.get("usageServerURL");return!e&&i&&a===o||(o=a,"default"===a&&(a="https://usage.dequelabs.com"),i=new(P().Ay)("axe-devtools-html",n[t||(0,j().fx)()]),i.url(a)),i}])}),$e=()=>a(1629),_e=()=>a(3855),ze=()=>a(6380),Fe=a.cw(function(e,t){var n,i,o=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),s=(n=["",""],i=["",""],Object.freeze(Object.defineProperties(n,{raw:{value:Object.freeze(i)}})));var r=function(){function e(){for(var t=this,a=arguments.length,n=Array(a),i=0;i<a;i++)n[i]=arguments[i];return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.tag=function(e){for(var a=arguments.length,n=Array(a>1?a-1:0),i=1;i<a;i++)n[i-1]=arguments[i];return"function"==typeof e?t.interimTag.bind(t,e):"string"==typeof e?t.transformEndResult(e):(e=e.map(t.transformString.bind(t)),t.transformEndResult(e.reduce(t.processSubstitutions.bind(t,n))))},n.length>0&&Array.isArray(n[0])&&(n=n[0]),this.transformers=n.map(function(e){return"function"==typeof e?e():e}),this.tag}return o(e,[{key:"interimTag",value:function(e,t){for(var a=arguments.length,n=Array(a>2?a-2:0),i=2;i<a;i++)n[i-2]=arguments[i];return this.tag(s,e.apply(void 0,[t].concat(n)))}},{key:"processSubstitutions",value:function(e,t,a){var n=this.transformSubstitution(e.shift(),t);return"".concat(t,n,a)}},{key:"transformString",value:function(e){return this.transformers.reduce(function(e,t){return t.onString?t.onString(e):e},e)}},{key:"transformSubstitution",value:function(e,t){return this.transformers.reduce(function(e,a){return a.onSubstitution?a.onSubstitution(e,t):e},e)}},{key:"transformEndResult",value:function(e){return this.transformers.reduce(function(e,t){return t.onEndResult?t.onEndResult(e):e},e)}}]),e}();const c=r;a.d(t,["A",0,c])}),Ge=a.cw(function(e,t){a.d(t,{A:()=>Fe().A}),Fe()}),qe=a.cw(function(e,t){Ke()}),Le=a.cw(function(e,t){Ge();new(Fe().A)((0,Je().A)({separator:","}),wt().A,Et().A)}),je=a.cw(function(e,t){Le()}),Ue=a.cw(function(e,t){Ge();new(Fe().A)((0,Je().A)({separator:",",conjunction:"and"}),wt().A,Et().A)}),Be=a.cw(function(e,t){Ue()}),Ve=a.cw(function(e,t){Ge();new(Fe().A)((0,Je().A)({separator:",",conjunction:"or"}),wt().A,Et().A)}),We=a.cw(function(e,t){Ve()}),He=a.cw(function(e,t){Ge();const n=new(Fe().A)((0,bt().A)("\n"),ut().A,Je().A,wt().A,Et().A);a.d(t,["A",0,n])}),Ke=a.cw(function(e,t){a.d(t,{A:()=>He().A}),He()}),Ye=a.cw(function(e,t){a.d(t,{html:()=>Ke().A}),Ge(),je(),Be(),We(),Ke(),qe(),ft(),mt(),Qe(),lt(),tt(),ot(),nt(),Ze(),rt(),vt(),kt()}),Je=a.cw(function(e,t){var n={separator:"",conjunction:"",serial:!1};const i=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:n;return{onSubstitution:function(t,a){if(Array.isArray(t)){var n=t.length,i=e.separator,o=e.conjunction,s=e.serial,r=a.match(/(\n?[^\S\n]+)$/);if(t=r?t.join(i+r[1]):t.join(i+" "),o&&n>1){var c=t.lastIndexOf(i);t=t.slice(0,c)+(s?i:"")+" "+o+t.slice(c+1)}}return t}}};a.d(t,["A",0,i])}),Ze=a.cw(function(e,t){Xe()}),Xe=a.cw(function(e,t){Ge();new(Fe().A)(Je().A,wt().A,Et().A)}),Qe=a.cw(function(e,t){et()}),et=a.cw(function(e,t){Ge();new(Fe().A)((0,pt().A)(/(?:\n(?:\s*))+/g," "),Et().A)}),tt=a.cw(function(e,t){at()}),at=a.cw(function(e,t){Ge();new(Fe().A)((0,Je().A)({separator:","}),(0,pt().A)(/(?:\s+)/g," "),Et().A)}),nt=a.cw(function(e,t){it()}),it=a.cw(function(e,t){Ge();new(Fe().A)((0,Je().A)({separator:",",conjunction:"and"}),(0,pt().A)(/(?:\s+)/g," "),Et().A)}),ot=a.cw(function(e,t){st()}),st=a.cw(function(e,t){Ge();new(Fe().A)((0,Je().A)({separator:",",conjunction:"or"}),(0,pt().A)(/(?:\s+)/g," "),Et().A)}),rt=a.cw(function(e,t){ct()}),ct=a.cw(function(e,t){Ge();new(Fe().A)(Je().A,(0,pt().A)(/(?:\s+)/g," "),Et().A)}),lt=a.cw(function(e,t){dt()}),dt=a.cw(function(e,t){Ge();new(Fe().A)((0,pt().A)(/(?:\n\s*)/g,""),Et().A)}),ut=a.cw(function(e,t){var n=function(e){return null!=e&&!Number.isNaN(e)&&"boolean"!=typeof e};const i=function(){return{onSubstitution:function(e){return Array.isArray(e)?e.filter(n):n(e)?e:""}}};a.d(t,["A",0,i])}),pt=a.cw(function(e,t){const n=function(e,t){return{onEndResult:function(a){if(null==e||null==t)throw new Error("replaceResultTransformer requires at least 2 arguments.");return a.replace(e,t)}}};a.d(t,["A",0,n])}),ht=a.cw(function(e,t){const n=function(e,t){return{onSubstitution:function(a,n){if(null==e||null==t)throw new Error("replaceSubstitutionTransformer requires at least 2 arguments.");return null==a?a:a.toString().replace(e,t)}}};a.d(t,["A",0,n])}),mt=a.cw(function(e,t){gt()}),gt=a.cw(function(e,t){Ge();new(Fe().A)((0,bt().A)("\n"),Je().A,wt().A,Et().A,(0,ht().A)(/&/g,"&amp;"),(0,ht().A)(/</g,"&lt;"),(0,ht().A)(/>/g,"&gt;"),(0,ht().A)(/"/g,"&quot;"),(0,ht().A)(/'/g,"&#x27;"),(0,ht().A)(/`/g,"&#x60;"))}),ft=a.cw(function(e,t){Ke()}),bt=a.cw(function(e,t){const n=function(e){return{onSubstitution:function(t,a){if(null==e||"string"!=typeof e)throw new Error("You need to specify a string character to split by.");return"string"==typeof t&&t.includes(e)&&(t=t.split(e)),t}}};a.d(t,["A",0,n])}),vt=a.cw(function(e,t){yt()}),yt=a.cw(function(e,t){Ge();new(Fe().A)(wt().A,Et().A)}),wt=a.cw(function(e,t){const n=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"initial";return{onEndResult:function(t){if("initial"===e){var a=t.match(/^[^\S\n]*(?=\S)/gm),n=a&&Math.min.apply(Math,function(e){if(Array.isArray(e)){for(var t=0,a=Array(e.length);t<e.length;t++)a[t]=e[t];return a}return Array.from(e)}(a.map(function(e){return e.length})));if(n){var i=new RegExp("^.{"+n+"}","gm");return t.replace(i,"")}return t}if("all"===e)return t.replace(/^[^\S\n]+/gm,"");throw new Error("Unknown type: "+e)}}};a.d(t,["A",0,n])}),kt=a.cw(function(e,t){At()}),At=a.cw(function(e,t){Ge();new(Fe().A)((0,wt().A)("all"),Et().A)}),Et=a.cw(function(e,t){const n=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return{onEndResult:function(t){if(""===e)return t.trim();if("start"===(e=e.toLowerCase())||"left"===e)return t.replace(/^\s*/,"");if("end"===e||"right"===e)return t.replace(/\s*$/,"");throw new Error("Side not supported: "+e)}}};a.d(t,["A",0,n])}),St=()=>a(5226),Tt=()=>a(5796),xt=()=>a(9681),It=a.cw(function(e,t){var a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},n=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}();function i(e){if(Array.isArray(e)){for(var t=0,a=Array(e.length);t<e.length;t++)a[t]=e[t];return a}return Array.from(e)}var o=/^:([a-z])(\(([^)]+)\))?/,s="numeric",r="long",c="2-digit",l="string",d="decimal",u="currency",p="percent",h={weekday:void 0,era:void 0,year:void 0,month:r,day:s,hour:void 0,minute:void 0,second:void 0,timeZoneName:void 0},m={weekday:void 0,era:void 0,year:s,month:r,day:void 0,hour:void 0,minute:void 0,second:void 0,timeZoneName:void 0},g={d:{weekday:void 0,era:void 0,year:s,month:s,day:s,hour:void 0,minute:void 0,second:void 0,timeZoneName:void 0},D:{weekday:r,era:void 0,year:s,month:r,day:s,hour:void 0,minute:void 0,second:void 0,timeZoneName:void 0},f:{weekday:r,era:void 0,year:s,month:r,day:s,hour:s,minute:c,second:void 0,timeZoneName:void 0},F:{weekday:r,era:void 0,year:s,month:r,day:s,hour:s,minute:c,second:c,timeZoneName:void 0},g:{weekday:void 0,era:void 0,year:s,month:s,day:s,hour:s,minute:c,second:void 0,timeZoneName:void 0},G:{weekday:void 0,era:void 0,year:s,month:s,day:s,hour:s,minute:c,second:c,timeZoneName:void 0},m:h,M:h,t:{weekday:void 0,era:void 0,year:void 0,month:void 0,day:void 0,hour:s,minute:c,second:void 0,timeZoneName:void 0},T:{weekday:void 0,era:void 0,year:void 0,month:void 0,day:void 0,hour:s,minute:c,second:c,timeZoneName:void 0},y:m,Y:m},f=function(){function e(){var t=this;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.defaultConfig={locales:void 0,translations:{},number:{currency:"USD"},date:{},string:{}},this.configs={"":this.defaultConfig},this.translationCache={},this.keyCache={},this.typeInfoCache={},this._localizers={s:function(e,a,n){var i=void 0;return n&&null!==(i=t._runCustomFormatters(e,l,n,a))?i:a?a.toLocaleString(e.locales):String(a)},n:function(e,n,i){if("number"!=typeof n)throw Error("value is not a number. type: "+(void 0===n?"undefined":a(n)));if(i){var o=parseInt(i);if(!isNaN(o))return n.toLocaleString(e.locales,Object.assign({},e.number,{style:d,minimumFractionDigits:o,maximumFractionDigits:o}));var s;if(null!==(s=t._runCustomFormatters(e,"number",i,n)))return s}return n.toLocaleString(e.locales,Object.assign({},e.number,{style:d,minimumFractionDigits:0,maximumFractionDigits:3}))},t:function(e,a,n){if(!(a instanceof Date))throw Error("value is not a Date. type: "+a.constructor.name);if(n){switch(n.toUpperCase()){case"R":return a.toUTCString();case"O":return a.toISOString()}var i=g[n];if(i)return a.toLocaleString(e.locales,Object.assign({},e.date,i));var o=t._runCustomFormatters(e,"date",n,a);if(null!==o)return o}return a.toLocaleString(e.locales,Object.assign({},e.date))},c:function(e,t,n){if("number"!=typeof t)throw Error("value is not a number. type: "+(void 0===t?"undefined":a(t)));return t.toLocaleString(e.locales,n?Object.assign({},e.number,{style:u,currency:n}):Object.assign({},e.number,{style:u}))},p:function(e,t,n){if("number"!=typeof t)throw Error("value is not a number. type: "+(void 0===t?"undefined":a(t)));return t.toLocaleString(e.locales,n?Object.assign({},e.number,{style:p,minimumFractionDigits:n}):Object.assign({},e.number,{style:p}))}},this.i18n=this.i18n.bind(this),this.translate=this.translate.bind(this),this.i18nConfig=this.i18nConfig.bind(this),this._localize=this._localize.bind(this),this._extractTypeInfo=this._extractTypeInfo.bind(this)}return n(e,[{key:"i18nConfig",value:function(e){var t=e.locales,a=e.translations,n=e.group,i=e.number,o=e.date,s=e.standardFormatters;this.translationCache={};var r=this.configs[n||""]||this.defaultConfig;this.configs[n||""]=Object.assign({},r,{locales:t||r.locales,translations:a||r.translations,number:i||r.number,date:o||r.date,standardFormatters:s||r.standardFormatters})}},{key:"i18n",value:function(e,t,a){for(var n=this,o=this._buildKey(a),s=this._getCachedTranslation(e,t,o),r=s.configGroup,c=s.translatedKey,l=a.slice(1).map(this._extractTypeInfo),d=arguments.length,u=Array(d>3?d-3:0),p=3;p<d;p++)u[p-3]=arguments[p];var h=u.map(function(e,t){return n._localize(r,e,l[t])});return this._buildMessage.apply(this,[c].concat(i(h)))}},{key:"translate",value:function(e,t,a){var n=this;null==a?a="":"string"!=typeof a&&(a=String(a));for(var o=this._getCachedTranslation(e,t,a),s=o.configGroup,r=o.translatedKey,c=arguments.length,l=Array(c>3?c-3:0),d=3;d<c;d++)l[d-3]=arguments[d];var u=l.map(function(e){return e instanceof Object&&e.constructor===Object?n._localize(s,e.value||"",{type:e.formatter||"s",options:e.format}):n._localize(s,e,{type:"s",options:""})});return this._buildMessage.apply(this,[r].concat(i(u)))}},{key:"_getCachedTranslation",value:function(e,t,a){var n=[e||"",t||"",a].join(),i=this.translationCache[n],o=this.configs[t||""]||this.defaultConfig;if(i)return{configGroup:o,translatedKey:i};var s=this._getTranslation(e,o,a);return this.translationCache[n]=s,{configGroup:o,translatedKey:s}}},{key:"_getTranslation",value:function(e,t,n){var i=t.translations,o=void 0,s=void 0;return(void 0===e?"undefined":a(e))===l&&(s=e),s&&(o=i[s])instanceof Object&&(o=o[n]),o||(o="string"==typeof i[n]&&i[n]||n),o}},{key:"_runCustomFormatters",value:function(e,t,a,n){var i=null;if(e.standardFormatters){var o=e.standardFormatters[t];if(o){var s=o[a];s&&(i=s(e.locales,e[t],n))}}return i}},{key:"_extractTypeInfo",value:function(e){var t=this.typeInfoCache[e];if(t)return t;var a=o.exec(e);return t=a?{type:a[1],options:a[3]}:{type:"s",options:""},this.typeInfoCache[e]=t,t}},{key:"_localize",value:function(e,t,a){var n=a.type,i=a.options,o=this._localizers[n];if(o)return o(e,t,i);throw new Error("Type '"+n+"' is not supported. Supported types are: "+Object.keys(this._localizers).join())}},{key:"_buildKey",value:function(e){var t=e.join(),a=this.keyCache[t];if(a)return a;var n=function(e){return e.replace(o,"")},i=n(e[e.length-1]),s=e.slice(0,-1).reduceRight(function(e,t,a){return n(t)+"${"+a+"}"+e},i).replace(/\r\n/g,"\n");return this.keyCache[t]=s,s}},{key:"_buildMessage",value:function(e){for(var t=arguments.length,a=Array(t>1?t-1:0),n=1;n<t;n++)a[n-1]=arguments[n];return e.replace(/\${(\d)}/g,function(e,t){return a[Number(t)]})}}]),e}(),b=new f,v=b.i18nConfig,y=function(e){for(var t=arguments.length,a=Array(t>1?t-1:0),n=1;n<t;n++)a[n-1]=arguments[n];if("string"==typeof e){if(a.length&&"string"==typeof a[0]){var i=function(t){for(var n=arguments.length,i=Array(n>1?n-1:0),o=1;o<n;o++)i[o-1]=arguments[o];return b.i18n.apply(b,[e,a[0],t].concat(i))};return i.translate=function(t){for(var n=arguments.length,i=Array(n>1?n-1:0),o=1;o<n;o++)i[o-1]=arguments[o];return b.translate.apply(b,[e,a[0],t].concat(i))},i}var o=function(t){for(var a=arguments.length,n=Array(a>1?a-1:0),i=1;i<a;i++)n[i-1]=arguments[i];return b.i18n.apply(b,[e,null,t].concat(n))};return o.translate=function(t){for(var a=arguments.length,n=Array(a>1?a-1:0),i=1;i<a;i++)n[i-1]=arguments[i];return b.translate.apply(b,[e,null,t].concat(n))},o}return b.i18n.apply(b,[null,null,e].concat(a))};y.translate=function(e){for(var t=arguments.length,a=Array(t>1?t-1:0),n=1;n<t;n++)a[n-1]=arguments[n];return b.translate.apply(b,[null,null,e].concat(a))};var w=function(e,t){return function(a){return a.prototype.i18n=function(a){for(var n=arguments.length,i=Array(n>1?n-1:0),o=1;o<n;o++)i[o-1]=arguments[o];return y(e,t).apply(void 0,[a].concat(i))},a.prototype.i18n.translate=function(a){for(var n=arguments.length,i=Array(n>1?n-1:0),o=1;o<n;o++)i[o-1]=arguments[o];return b.translate.apply(b,[e,t,a].concat(i))},a}};"undefined"!=typeof window&&(window.i18n=y,window.i18nConfig=v,window.i18nGroup=w),t.Ay=y,t.X0=v}),Rt=()=>a(7910),Dt=()=>a(8422),Ct=()=>a(5649),Nt=()=>a(1636),Mt=a.cw(function(e,t){var a=Symbol.for("react.element"),n=Symbol.for("react.portal"),i=Symbol.for("react.fragment"),o=Symbol.for("react.strict_mode"),s=Symbol.for("react.profiler"),r=Symbol.for("react.provider"),c=Symbol.for("react.context"),l=Symbol.for("react.forward_ref"),d=Symbol.for("react.suspense"),u=Symbol.for("react.memo"),p=Symbol.for("react.lazy"),h=Symbol.iterator;var m={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},g=Object.assign,f={};function b(e,t,a){this.props=e,this.context=t,this.refs=f,this.updater=a||m}function v(){}function y(e,t,a){this.props=e,this.context=t,this.refs=f,this.updater=a||m}b.prototype.isReactComponent={},b.prototype.setState=function(e,t){if("object"!=typeof e&&"function"!=typeof e&&null!=e)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState")},b.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")},v.prototype=b.prototype;var w=y.prototype=new v;w.constructor=y,g(w,b.prototype),w.isPureReactComponent=!0;var k=Array.isArray,A=Object.prototype.hasOwnProperty,E={current:null},S={key:!0,ref:!0,__self:!0,__source:!0};function T(e,t,n){var i,o={},s=null,r=null;if(null!=t)for(i in void 0!==t.ref&&t.ref,void 0!==t.key&&""+t.key,t)A.call(t,i)&&!S.hasOwnProperty(i)&&(o[i]=t[i]);var c=arguments.length-2;if(1===c)o.children=n;else if(1<c){for(var l=Array(c),d=0;d<c;d++)l[d]=arguments[d+2];o.children=l}if(e&&e.defaultProps)for(i in e.defaultProps)void 0===o[i]&&(o[i]=c[i]);return{$$typeof:a,type:e,key:s,ref:r,props:o,_owner:E.current}}function x(e){return"object"==typeof e&&null!==e&&e.$$typeof===a}var I=/\/+/g;function R(e,t){return"object"==typeof e&&null!==e&&null!=e.key?function(e){var t={"=":"=0",":":"=2"};return"$"+e.replace(/[=:]/g,function(e){return t[e]})}(""+e.key):t.toString(36)}function D(e,t,i,o,s){var r=typeof e;"undefined"!==r&&"boolean"!==r||null;var c=!1;if(null===e)0;else switch(r){case"string":case"number":0;break;case"object":switch(e.$$typeof){case a:case n:0}}if(c)return s(e),""===o?"."+R(c,0):o,k(s)?(null!=e&&e.replace(I,"$&/")+"/",D(s,t,i,"",function(e){return e})):null!=s&&(x(s)&&function(e,t){return{$$typeof:a,type:e.type,key:t,ref:e.ref,props:e.props,_owner:e._owner}}(s,i+(!s.key||c&&c.key===s.key?"":(""+s.key).replace(I,"$&/")+"/")+e),t.push(s)),1;if(k(e))for(var l=0;l<e.length;l++){var d=o+R(e[l],l);D(r,t,i,d,s)}else if(function(e){return null===e||"object"!=typeof e?null:"function"==typeof(h&&e[h]||e["@@iterator"])?e:null}(e),"function"==typeof d)for(d.call(e),0;!e.next().done;)D(r.value,t,i,o+R(r,l++),s);else if("object"===r)throw String(e),Error("Objects are not valid as a React child (found: "+("[object Object]"===t?"object with keys {"+Object.keys(e).join(", ")+"}":t)+"). If you meant to render a collection of children, use an array instead.");return c}function C(e,t,a){if(null==e)return e;var n=[],i=0;return D(e,n,"","",function(e){return t.call(a,e,i++)}),n}function N(e){if(-1===e._status){var t=e._result;t().then(function(t){0!==e._status&&-1!==e._status||(e._status=1,e._result=t)},function(t){0!==e._status&&-1!==e._status||(e._status=2,e._result=t)}),-1===e._status&&(e._status=0,e._result=t)}if(1===e._status)return e._result.default;throw e._result}var M={current:null},P={transition:null};function O(){throw Error("act(...) is not supported in production builds of React.")}}),Pt=a.cw(function(e,t){Mt()}),Ot=a.cw(function(e,t){const a=Symbol("SemVer ANY");class n{static get ANY(){return a}constructor(e,t){if(t=i(t),e instanceof n){if(e.loose===!!t.loose)return e;e=e.value}e=e.trim().split(/\s+/).join(" "),c("comparator",e,t),this.options=t,this.loose=!!t.loose,this.parse(e),this.semver===a?this.value="":this.value=this.operator+this.semver.version,c("comp",this)}parse(e){const t=this.options.loose?o[s.COMPARATORLOOSE]:o[s.COMPARATOR],n=e.match(t);if(!n)throw new TypeError(`Invalid comparator: ${e}`);this.operator=void 0!==n[1]?n[1]:"","="===this.operator&&(this.operator=""),n[2]?this.semver=new l(n[2],this.options.loose):this.semver=a}toString(){return this.value}test(e){if(c("Comparator.test",e,this.options.loose),this.semver===a||e===a)return!0;if("string"==typeof e)try{e=new l(e,this.options)}catch(e){return!1}return r(e,this.operator,this.semver,this.options)}intersects(e,t){if(!(e instanceof n))throw new TypeError("a Comparator is required");return""===this.operator?""===this.value||new d(e.value,t).test(this.value):""===e.operator?""===e.value||new d(this.value,t).test(e.semver):(!(t=i(t)).includePrerelease||"<0.0.0-0"!==this.value&&"<0.0.0-0"!==e.value)&&(!(!t.includePrerelease&&(this.value.startsWith("<0.0.0")||e.value.startsWith("<0.0.0")))&&(!(!this.operator.startsWith(">")||!e.operator.startsWith(">"))||(!(!this.operator.startsWith("<")||!e.operator.startsWith("<"))||(!(this.semver.version!==e.semver.version||!this.operator.includes("=")||!e.operator.includes("="))||(!!(r(this.semver,"<",e.semver,t)&&this.operator.startsWith(">")&&e.operator.startsWith("<"))||!!(r(this.semver,">",e.semver,t)&&this.operator.startsWith("<")&&e.operator.startsWith(">")))))))}}e.exports=n;const i=ha(),{safeRe:o,t:s}=ma(),r=Ft(),c=da(),l=_t(),d=$t()}),$t=a.cw(function(e,t){const a=/\s+/g;class n{constructor(e,t){if(t=o(t),e instanceof n)return e.loose===!!t.loose&&e.includePrerelease===!!t.includePrerelease?e:new n(e.raw,t);if(e instanceof s)return this.raw=e.value,this.set=[[e]],this.formatted=void 0,this;if(this.options=t,this.loose=!!t.loose,this.includePrerelease=!!t.includePrerelease,this.raw=e.trim().replace(a," "),this.set=this.raw.split("||").map(e=>this.parseRange(e.trim())).filter(e=>e.length),!this.set.length)throw new TypeError(`Invalid SemVer Range: ${this.raw}`);if(this.set.length>1){const e=this.set[0];if(this.set=this.set.filter(e=>!v(e[0])),0===this.set.length)this.set=[e];else if(this.set.length>1)for(const e of this.set)if(1===e.length&&y(e[0])){this.set=[e];break}}this.formatted=void 0}get range(){if(void 0===this.formatted){this.formatted="";for(let e=0;e<this.set.length;e++){e>0&&(this.formatted+="||");const t=this.set[e];for(let e=0;e<t.length;e++)e>0&&(this.formatted+=" "),this.formatted+=t[e].toString().trim()}}return this.formatted}format(){return this.range}toString(){return this.range}parseRange(e){e=e.replace(b,"");const t=((this.options.includePrerelease&&g)|(this.options.loose&&f))+":"+e,a=i.get(t);if(a)return a;const n=this.options.loose,o=n?l[u.HYPHENRANGELOOSE]:l[u.HYPHENRANGE];e=e.replace(o,N(this.options.includePrerelease)),r("hyphen replace",e),e=e.replace(l[u.COMPARATORTRIM],p),r("comparator trim",e),e=e.replace(l[u.TILDETRIM],h),r("tilde trim",e),e=e.replace(l[u.CARETTRIM],m),r("caret trim",e);let c=e.split(" ").map(e=>k(e,this.options)).join(" ").split(/\s+/).map(e=>C(e,this.options));n&&(c=c.filter(e=>(r("loose invalid filter",e,this.options),!!e.match(l[u.COMPARATORLOOSE])))),r("range list",c);const d=new Map,y=c.map(e=>new s(e,this.options));for(const e of y){if(v(e))return[e];d.set(e.value,e)}d.size>1&&d.has("")&&d.delete("");const w=[...d.values()];return i.set(t,w),w}intersects(e,t){if(!(e instanceof n))throw new TypeError("a Range is required");return this.set.some(a=>w(a,t)&&e.set.some(e=>w(e,t)&&a.every(a=>e.every(e=>a.intersects(e,t)))))}test(e){if(!e)return!1;if("string"==typeof e)try{e=new c(e,this.options)}catch(e){return!1}for(let t=0;t<this.set.length;t++)if(M(this.set[t],e,this.options))return!0;return!1}}e.exports=n;const i=new(pa()),o=ha(),s=Ot(),r=da(),c=_t(),{safeRe:l,src:d,t:u,comparatorTrimReplace:p,tildeTrimReplace:h,caretTrimReplace:m}=ma(),{FLAG_INCLUDE_PRERELEASE:g,FLAG_LOOSE:f}=la(),b=new RegExp(d[u.BUILD],"g"),v=e=>"<0.0.0-0"===e.value,y=e=>""===e.value,w=(e,t)=>{let a=!0;const n=e.slice();let i=n.pop();for(;a&&n.length;)a=n.every(e=>i.intersects(e,t)),i=n.pop();return a},k=(e,t)=>(e=e.replace(l[u.BUILD],""),r("comp",e,t),e=T(e,t),r("caret",e),e=E(e,t),r("tildes",e),e=I(e,t),r("xrange",e),e=D(e,t),r("stars",e),e),A=e=>!e||"x"===e.toLowerCase()||"*"===e,E=(e,t)=>e.trim().split(/\s+/).map(e=>S(e,t)).join(" "),S=(e,t)=>{const a=t.loose?l[u.TILDELOOSE]:l[u.TILDE],n=t.includePrerelease?"-0":"";return e.replace(a,(t,a,i,o,s)=>{let c;return r("tilde",e,t,a,i,o,s),A(a)?c="":A(i)?c=`>=${a}.0.0${n} <${+a+1}.0.0-0`:A(o)?c=`>=${a}.${i}.0${n} <${a}.${+i+1}.0-0`:s?(r("replaceTilde pr",s),c=`>=${a}.${i}.${o}-${s} <${a}.${+i+1}.0-0`):c=`>=${a}.${i}.${o} <${a}.${+i+1}.0-0`,r("tilde return",c),c})},T=(e,t)=>e.trim().split(/\s+/).map(e=>x(e,t)).join(" "),x=(e,t)=>{r("caret",e,t);const a=t.loose?l[u.CARETLOOSE]:l[u.CARET],n=t.includePrerelease?"-0":"";return e.replace(a,(t,a,i,o,s)=>{let c;return r("caret",e,t,a,i,o,s),A(a)?c="":A(i)?c=`>=${a}.0.0${n} <${+a+1}.0.0-0`:A(o)?c="0"===a?`>=${a}.${i}.0${n} <${a}.${+i+1}.0-0`:`>=${a}.${i}.0${n} <${+a+1}.0.0-0`:s?(r("replaceCaret pr",s),c="0"===a?"0"===i?`>=${a}.${i}.${o}-${s} <${a}.${i}.${+o+1}-0`:`>=${a}.${i}.${o}-${s} <${a}.${+i+1}.0-0`:`>=${a}.${i}.${o}-${s} <${+a+1}.0.0-0`):(r("no pr"),c="0"===a?"0"===i?`>=${a}.${i}.${o} <${a}.${i}.${+o+1}-0`:`>=${a}.${i}.${o} <${a}.${+i+1}.0-0`:`>=${a}.${i}.${o} <${+a+1}.0.0-0`),r("caret return",c),c})},I=(e,t)=>(r("replaceXRanges",e,t),e.split(/\s+/).map(e=>R(e,t)).join(" ")),R=(e,t)=>{e=e.trim();const a=t.loose?l[u.XRANGELOOSE]:l[u.XRANGE];return e.replace(a,(a,n,i,o,s,c)=>{if(r("xRange",e,a,n,i,o,s,c),((e,t,a)=>A(e)&&!A(t)||A(t)&&a&&!A(a))(i,o,s))return e;const l=A(i),d=l||A(o),u=d||A(s),p=u;return"="===n&&p&&(n=""),c=t.includePrerelease?"-0":"",l?a=">"===n||"<"===n?"<0.0.0-0":"*":n&&p?(d&&(o=0),s=0,">"===n?(n=">=",d?(i=+i+1,o=0,s=0):(o=+o+1,s=0)):"<="===n&&(n="<",d?i=+i+1:o=+o+1),"<"===n&&(c="-0"),a=`${n+i}.${o}.${s}${c}`):d?a=`>=${i}.0.0${c} <${+i+1}.0.0-0`:u&&(a=`>=${i}.${o}.0${c} <${i}.${+o+1}.0-0`),r("xRange return",a),a})},D=(e,t)=>(r("replaceStars",e,t),e.trim().replace(l[u.STAR],"")),C=(e,t)=>(r("replaceGTE0",e,t),e.trim().replace(l[t.includePrerelease?u.GTE0PRE:u.GTE0],"")),N=e=>(t,a,n,i,o,s,r,c,l,d,u,p)=>`${a=A(n)?"":A(i)?`>=${n}.0.0${e?"-0":""}`:A(o)?`>=${n}.${i}.0${e?"-0":""}`:s?`>=${a}`:`>=${a}${e?"-0":""}`} ${c=A(l)?"":A(d)?`<${+l+1}.0.0-0`:A(u)?`<${l}.${+d+1}.0-0`:p?`<=${l}.${d}.${u}-${p}`:e?`<${l}.${d}.${+u+1}-0`:`<=${c}`}`.trim(),M=(e,t,a)=>{for(let a=0;a<e.length;a++)if(!e[a].test(t))return!1;if(t.prerelease.length&&!a.includePrerelease){for(let a=0;a<e.length;a++)if(r(e[a].semver),e[a].semver!==s.ANY&&e[a].semver.prerelease.length>0){const n=e[a].semver;if(n.major===t.major&&n.minor===t.minor&&n.patch===t.patch)return!0}return!1}return!0}}),_t=a.cw(function(e,t){const a=da(),{MAX_LENGTH:n,MAX_SAFE_INTEGER:i}=la(),{safeRe:o,t:s}=ma(),r=ha(),{compareIdentifiers:c}=ua();class l{constructor(e,t){if(t=r(t),e instanceof l){if(e.loose===!!t.loose&&e.includePrerelease===!!t.includePrerelease)return e;e=e.version}else if("string"!=typeof e)throw new TypeError(`Invalid version. Must be a string. Got type "${typeof e}".`);if(e.length>n)throw new TypeError(`version is longer than ${n} characters`);a("SemVer",e,t),this.options=t,this.loose=!!t.loose,this.includePrerelease=!!t.includePrerelease;const c=e.trim().match(t.loose?o[s.LOOSE]:o[s.FULL]);if(!c)throw new TypeError(`Invalid Version: ${e}`);if(this.raw=e,this.major=+c[1],this.minor=+c[2],this.patch=+c[3],this.major>i||this.major<0)throw new TypeError("Invalid major version");if(this.minor>i||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>i||this.patch<0)throw new TypeError("Invalid patch version");c[4]?this.prerelease=c[4].split(".").map(e=>{if(/^[0-9]+$/.test(e)){const t=+e;if(t>=0&&t<i)return t}return e}):this.prerelease=[],this.build=c[5]?c[5].split("."):[],this.format()}format(){return this.version=`${this.major}.${this.minor}.${this.patch}`,this.prerelease.length&&(this.version+=`-${this.prerelease.join(".")}`),this.version}toString(){return this.version}compare(e){if(a("SemVer.compare",this.version,this.options,e),!(e instanceof l)){if("string"==typeof e&&e===this.version)return 0;e=new l(e,this.options)}return e.version===this.version?0:this.compareMain(e)||this.comparePre(e)}compareMain(e){return e instanceof l||(e=new l(e,this.options)),this.major<e.major?-1:this.major>e.major?1:this.minor<e.minor?-1:this.minor>e.minor?1:this.patch<e.patch?-1:this.patch>e.patch?1:0}comparePre(e){if(e instanceof l||(e=new l(e,this.options)),this.prerelease.length&&!e.prerelease.length)return-1;if(!this.prerelease.length&&e.prerelease.length)return 1;if(!this.prerelease.length&&!e.prerelease.length)return 0;let t=0;do{const n=this.prerelease[t],i=e.prerelease[t];if(a("prerelease compare",t,n,i),void 0===n&&void 0===i)return 0;if(void 0===i)return 1;if(void 0===n)return-1;if(n!==i)return c(n,i)}while(++t)}compareBuild(e){e instanceof l||(e=new l(e,this.options));let t=0;do{const n=this.build[t],i=e.build[t];if(a("build compare",t,n,i),void 0===n&&void 0===i)return 0;if(void 0===i)return 1;if(void 0===n)return-1;if(n!==i)return c(n,i)}while(++t)}inc(e,t,a){if(e.startsWith("pre")){if(!t&&!1===a)throw new Error("invalid increment argument: identifier is empty");if(t){const e=`-${t}`.match(this.options.loose?o[s.PRERELEASELOOSE]:o[s.PRERELEASE]);if(!e||e[1]!==t)throw new Error(`invalid identifier: ${t}`)}}switch(e){case"premajor":this.prerelease.length=0,this.patch=0,this.minor=0,this.major++,this.inc("pre",t,a);break;case"preminor":this.prerelease.length=0,this.patch=0,this.minor++,this.inc("pre",t,a);break;case"prepatch":this.prerelease.length=0,this.inc("patch",t,a),this.inc("pre",t,a);break;case"prerelease":0===this.prerelease.length&&this.inc("patch",t,a),this.inc("pre",t,a);break;case"release":if(0===this.prerelease.length)throw new Error(`version ${this.raw} is not a prerelease`);this.prerelease.length=0;break;case"major":0===this.minor&&0===this.patch&&0!==this.prerelease.length||this.major++,this.minor=0,this.patch=0,this.prerelease=[];break;case"minor":0===this.patch&&0!==this.prerelease.length||this.minor++,this.patch=0,this.prerelease=[];break;case"patch":0===this.prerelease.length&&this.patch++,this.prerelease=[];break;case"pre":{const e=Number(a)?1:0;if(0===this.prerelease.length)this.prerelease=[e];else{let n=this.prerelease.length;for(;--n>=0;)"number"==typeof this.prerelease[n]&&(this.prerelease[n]++,n=-2);if(-1===n){if(t===this.prerelease.join(".")&&!1===a)throw new Error("invalid increment argument: identifier already exists");this.prerelease.push(e)}}if(t){let n=[t,e];if(!1===a&&(n=[t]),((e,t)=>{const a=t.split(".");if(a.length>e.length)return!1;for(let t=0;t<a.length;t++)if(0!==c(e[t],a[t]))return!1;return!0})(this.prerelease,t)){const e=this.prerelease[t.split(".").length];isNaN(e)&&(this.prerelease=n)}else this.prerelease=n}break}default:throw new Error(`invalid increment argument: ${e}`)}return this.raw=this.format(),this.build.length&&(this.raw+=`+${this.build.join(".")}`),this}}e.exports=l}),zt=a.cw(function(e,t){const a=Qt();e.exports=(e,t)=>{const n=a(e.trim().replace(/^[=v]+/,""),t);return n?n.version:null}}),Ft=a.cw(function(e,t){const a=Bt(),n=Xt(),i=Vt(),o=Wt(),s=Kt(),r=Yt();e.exports=(e,t,c,l)=>{switch(t){case"===":return"object"==typeof e&&(e=e.version),"object"==typeof c&&(c=c.version),e===c;case"!==":return"object"==typeof e&&(e=e.version),"object"==typeof c&&(c=c.version),e!==c;case"":case"=":case"==":return a(e,c,l);case"!=":return n(e,c,l);case">":return i(e,c,l);case">=":return o(e,c,l);case"<":return s(e,c,l);case"<=":return r(e,c,l);default:throw new TypeError(`Invalid operator: ${t}`)}}}),Gt=a.cw(function(e,t){const a=_t(),n=Qt(),{safeRe:i,t:o}=ma();e.exports=(e,t)=>{if(e instanceof a)return e;if("number"==typeof e&&(e=String(e)),"string"!=typeof e)return null;let s=null;if((t=t||{}).rtl){const a=t.includePrerelease?i[o.COERCERTLFULL]:i[o.COERCERTL];let n;for(;(n=a.exec(e))&&(!s||s.index+s[0].length!==e.length);)s&&n.index+n[0].length===s.index+s[0].length||(s=n),a.lastIndex=n.index+n[1].length+n[2].length;a.lastIndex=-1}else s=e.match(t.includePrerelease?i[o.COERCEFULL]:i[o.COERCE]);if(null===s)return null;const r=s[2],c=s[3]||"0",l=s[4]||"0",d=t.includePrerelease&&s[5]?`-${s[5]}`:"",u=t.includePrerelease&&s[6]?`+${s[6]}`:"";return n(`${r}.${c}.${l}${d}${u}`,t)}}),qt=a.cw(function(e,t){const a=_t();e.exports=(e,t,n)=>{const i=new a(e,n),o=new a(t,n);return i.compare(o)||i.compareBuild(o)}}),Lt=a.cw(function(e,t){const a=jt();e.exports=(e,t)=>a(e,t,!0)}),jt=a.cw(function(e,t){const a=_t();e.exports=(e,t,n)=>new a(e,n).compare(new a(t,n))}),Ut=a.cw(function(e,t){const a=Qt();e.exports=(e,t)=>{const n=a(e,null,!0),i=a(t,null,!0),o=n.compare(i);if(0===o)return null;const s=o>0,r=s?n:i,c=s?i:n,l=!!r.prerelease.length;if(!!c.prerelease.length&&!l){if(!c.patch&&!c.minor)return"major";if(0===c.compareMain(r))return c.minor&&!c.patch?"minor":"patch"}const d=l?"pre":"";return n.major!==i.major?d+"major":n.minor!==i.minor?d+"minor":n.patch!==i.patch?d+"patch":"prerelease"}}),Bt=a.cw(function(e,t){const a=jt();e.exports=(e,t,n)=>0===a(e,t,n)}),Vt=a.cw(function(e,t){const a=jt();e.exports=(e,t,n)=>a(e,t,n)>0}),Wt=a.cw(function(e,t){const a=jt();e.exports=(e,t,n)=>a(e,t,n)>=0}),Ht=a.cw(function(e,t){const a=_t();e.exports=(e,t,n,i,o)=>{"string"==typeof n&&(o=i,i=n,n=void 0);try{return new a(e instanceof a?e.version:e,n).inc(t,i,o).version}catch(e){return null}}}),Kt=a.cw(function(e,t){const a=jt();e.exports=(e,t,n)=>a(e,t,n)<0}),Yt=a.cw(function(e,t){const a=jt();e.exports=(e,t,n)=>a(e,t,n)<=0}),Jt=a.cw(function(e,t){const a=_t();e.exports=(e,t)=>new a(e,t).major}),Zt=a.cw(function(e,t){const a=_t();e.exports=(e,t)=>new a(e,t).minor}),Xt=a.cw(function(e,t){const a=jt();e.exports=(e,t,n)=>0!==a(e,t,n)}),Qt=a.cw(function(e,t){const a=_t();e.exports=(e,t,n=!1)=>{if(e instanceof a)return e;try{return new a(e,t)}catch(e){if(!n)return null;throw e}}}),ea=a.cw(function(e,t){const a=_t();e.exports=(e,t)=>new a(e,t).patch}),ta=a.cw(function(e,t){const a=Qt();e.exports=(e,t)=>{const n=a(e,t);return n&&n.prerelease.length?n.prerelease:null}}),aa=a.cw(function(e,t){const a=jt();e.exports=(e,t,n)=>a(t,e,n)}),na=a.cw(function(e,t){const a=qt();e.exports=(e,t)=>e.sort((e,n)=>a(n,e,t))}),ia=a.cw(function(e,t){const a=$t();e.exports=(e,t,n)=>{try{t=new a(t,n)}catch(e){return!1}return t.test(e)}}),oa=a.cw(function(e,t){const a=qt();e.exports=(e,t)=>e.sort((e,n)=>a(e,n,t))}),sa=a.cw(function(e,t){const a=Qt(),n=la(),i=_t(),o=(e,t)=>{const n=e instanceof i?e.version:e;return a(n,t)},s=(e,t)=>{if(r(t))return e.version;switch(e.prerelease=[],t){case"major":e.minor=0,e.patch=0;break;case"minor":e.patch=0}return e.format()},r=e=>e.startsWith("pre");e.exports=(e,t,a)=>{if(!n.RELEASE_TYPES.includes(t))return null;const i=o(e,a);return i&&s(i,t)}}),ra=a.cw(function(e,t){const a=Qt();e.exports=(e,t)=>{const n=a(e,t);return n?n.version:null}}),ca=a.cw(function(e,t){const a=ma(),n=la(),i=(_t(),ua()),o=(Qt(),ra(),zt(),Ht(),Ut(),Jt(),Zt(),ea(),ta(),jt(),aa(),Lt(),qt(),oa(),na(),Vt(),Kt(),Bt(),Xt(),Wt());Yt(),Ft(),Gt(),sa(),Ot(),$t(),ia(),Sa(),va(),ya(),wa(),Ta(),ka(),ga(),ba(),fa(),Aa(),Ea();e.exports={RO:o,...void a.re,...void a.src,...void a.t,...void n.SEMVER_SPEC_VERSION,...void n.RELEASE_TYPES,...void i.compareIdentifiers,...void i.rcompareIdentifiers}}),la=a.cw(function(e,t){const a=Number.MAX_SAFE_INTEGER||9007199254740991;e.exports={MAX_LENGTH:256,MAX_SAFE_COMPONENT_LENGTH:16,MAX_SAFE_BUILD_LENGTH:250,MAX_SAFE_INTEGER:a,RELEASE_TYPES:["major","premajor","minor","preminor","patch","prepatch","prerelease"],SEMVER_SPEC_VERSION:"2.0.0",FLAG_INCLUDE_PRERELEASE:1,FLAG_LOOSE:2}}),da=()=>a(2122),ua=a.cw(function(e,t){const a=/^[0-9]+$/,n=(e,t)=>{if("number"==typeof e&&"number"==typeof t)return e===t?0:e<t?-1:1;const n=a.test(e),i=a.test(t);return n&&i&&(e=+e,t=+t),e===t?0:n&&!i?-1:i&&!n?1:e<t?-1:1};e.exports={compareIdentifiers:n,rcompareIdentifiers:(e,t)=>n(t,e)}}),pa=()=>a(2852),ha=()=>a(837),ma=a.cw(function(e,t){const{MAX_SAFE_COMPONENT_LENGTH:a,MAX_SAFE_BUILD_LENGTH:n,MAX_LENGTH:i}=la(),o=da(),s=(t=e.exports={}).re=[],r=t.safeRe=[],c=t.src=[],l=t.safeSrc=[],d=t.t={};let u=0;const p="[a-zA-Z0-9-]",h=[["\\s",1],["\\d",i],[p,n]],m=(e,t,a)=>{const n=(e=>{for(const[t,a]of h)e=e.split(`${t}*`).join(`${t}{0,${a}}`).split(`${t}+`).join(`${t}{1,${a}}`);return e})(t),i=u++;o(e,i,t),d[e]=i,c[i]=t,l[i]=n,s[i]=new RegExp(t,a?"g":void 0),r[i]=new RegExp(n,a?"g":void 0)};m("NUMERICIDENTIFIER","0|[1-9]\\d*"),m("NUMERICIDENTIFIERLOOSE","\\d+"),m("NONNUMERICIDENTIFIER",`\\d*[a-zA-Z-]${p}*`),m("MAINVERSION",`(${c[d.NUMERICIDENTIFIER]})\\.(${c[d.NUMERICIDENTIFIER]})\\.(${c[d.NUMERICIDENTIFIER]})`),m("MAINVERSIONLOOSE",`(${c[d.NUMERICIDENTIFIERLOOSE]})\\.(${c[d.NUMERICIDENTIFIERLOOSE]})\\.(${c[d.NUMERICIDENTIFIERLOOSE]})`),m("PRERELEASEIDENTIFIER",`(?:${c[d.NONNUMERICIDENTIFIER]}|${c[d.NUMERICIDENTIFIER]})`),m("PRERELEASEIDENTIFIERLOOSE",`(?:${c[d.NONNUMERICIDENTIFIER]}|${c[d.NUMERICIDENTIFIERLOOSE]})`),m("PRERELEASE",`(?:-(${c[d.PRERELEASEIDENTIFIER]}(?:\\.${c[d.PRERELEASEIDENTIFIER]})*))`),m("PRERELEASELOOSE",`(?:-?(${c[d.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${c[d.PRERELEASEIDENTIFIERLOOSE]})*))`),m("BUILDIDENTIFIER",`${p}+`),m("BUILD",`(?:\\+(${c[d.BUILDIDENTIFIER]}(?:\\.${c[d.BUILDIDENTIFIER]})*))`),m("FULLPLAIN",`v?${c[d.MAINVERSION]}${c[d.PRERELEASE]}?${c[d.BUILD]}?`),m("FULL",`^${c[d.FULLPLAIN]}$`),m("LOOSEPLAIN",`[v=\\s]*${c[d.MAINVERSIONLOOSE]}${c[d.PRERELEASELOOSE]}?${c[d.BUILD]}?`),m("LOOSE",`^${c[d.LOOSEPLAIN]}$`),m("GTLT","((?:<|>)?=?)"),m("XRANGEIDENTIFIERLOOSE",`${c[d.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`),m("XRANGEIDENTIFIER",`${c[d.NUMERICIDENTIFIER]}|x|X|\\*`),m("XRANGEPLAIN",`[v=\\s]*(${c[d.XRANGEIDENTIFIER]})(?:\\.(${c[d.XRANGEIDENTIFIER]})(?:\\.(${c[d.XRANGEIDENTIFIER]})(?:${c[d.PRERELEASE]})?${c[d.BUILD]}?)?)?`),m("XRANGEPLAINLOOSE",`[v=\\s]*(${c[d.XRANGEIDENTIFIERLOOSE]})(?:\\.(${c[d.XRANGEIDENTIFIERLOOSE]})(?:\\.(${c[d.XRANGEIDENTIFIERLOOSE]})(?:${c[d.PRERELEASELOOSE]})?${c[d.BUILD]}?)?)?`),m("XRANGE",`^${c[d.GTLT]}\\s*${c[d.XRANGEPLAIN]}$`),m("XRANGELOOSE",`^${c[d.GTLT]}\\s*${c[d.XRANGEPLAINLOOSE]}$`),m("COERCEPLAIN",`(^|[^\\d])(\\d{1,${a}})(?:\\.(\\d{1,${a}}))?(?:\\.(\\d{1,${a}}))?`),m("COERCE",`${c[d.COERCEPLAIN]}(?:$|[^\\d])`),m("COERCEFULL",c[d.COERCEPLAIN]+`(?:${c[d.PRERELEASE]})?`+`(?:${c[d.BUILD]})?(?:$|[^\\d])`),m("COERCERTL",c[d.COERCE],!0),m("COERCERTLFULL",c[d.COERCEFULL],!0),m("LONETILDE","(?:~>?)"),m("TILDETRIM",`(\\s*)${c[d.LONETILDE]}\\s+`,!0),t.tildeTrimReplace="$1~",m("TILDE",`^${c[d.LONETILDE]}${c[d.XRANGEPLAIN]}$`),m("TILDELOOSE",`^${c[d.LONETILDE]}${c[d.XRANGEPLAINLOOSE]}$`),m("LONECARET","(?:\\^)"),m("CARETTRIM",`(\\s*)${c[d.LONECARET]}\\s+`,!0),t.caretTrimReplace="$1^",m("CARET",`^${c[d.LONECARET]}${c[d.XRANGEPLAIN]}$`),m("CARETLOOSE",`^${c[d.LONECARET]}${c[d.XRANGEPLAINLOOSE]}$`),m("COMPARATORLOOSE",`^${c[d.GTLT]}\\s*(${c[d.LOOSEPLAIN]})$|^$`),m("COMPARATOR",`^${c[d.GTLT]}\\s*(${c[d.FULLPLAIN]})$|^$`),m("COMPARATORTRIM",`(\\s*)${c[d.GTLT]}\\s*(${c[d.LOOSEPLAIN]}|${c[d.XRANGEPLAIN]})`,!0),t.comparatorTrimReplace="$1$2$3",m("HYPHENRANGE",`^\\s*(${c[d.XRANGEPLAIN]})\\s+-\\s+(${c[d.XRANGEPLAIN]})\\s*$`),m("HYPHENRANGELOOSE",`^\\s*(${c[d.XRANGEPLAINLOOSE]})\\s+-\\s+(${c[d.XRANGEPLAINLOOSE]})\\s*$`),m("STAR","(<|>)?=?\\s*\\*"),m("GTE0","^\\s*>=\\s*0\\.0\\.0\\s*$"),m("GTE0PRE","^\\s*>=\\s*0\\.0\\.0-0\\s*$")}),ga=a.cw(function(e,t){const a=ka();e.exports=(e,t,n)=>a(e,t,">",n)}),fa=a.cw(function(e,t){const a=$t();e.exports=(e,t,n)=>(e=new a(e,n),t=new a(t,n),e.intersects(t,n))}),ba=a.cw(function(e,t){const a=ka();e.exports=(e,t,n)=>a(e,t,"<",n)}),va=a.cw(function(e,t){const a=_t(),n=$t();e.exports=(e,t,i)=>{let o=null,s=null,r=null;try{r=new n(t,i)}catch(e){return null}return e.forEach(e=>{r.test(e)&&(o&&-1!==s.compare(e)||(o=e,s=new a(o,i)))}),o}}),ya=a.cw(function(e,t){const a=_t(),n=$t();e.exports=(e,t,i)=>{let o=null,s=null,r=null;try{r=new n(t,i)}catch(e){return null}return e.forEach(e=>{r.test(e)&&(o&&1!==s.compare(e)||(o=e,s=new a(o,i)))}),o}}),wa=a.cw(function(e,t){const a=_t(),n=$t(),i=Vt();e.exports=(e,t)=>{e=new n(e,t);let o=new a("0.0.0");if(e.test(o))return o;if(o=new a("0.0.0-0"),e.test(o))return o;o=null;for(let t=0;t<e.set.length;++t){const n=e.set[t];let s=null;n.forEach(e=>{const t=new a(e.semver.version);switch(e.operator){case">":0===t.prerelease.length?t.patch++:t.prerelease.push(0),t.raw=t.format();case"":case">=":s&&!i(t,s)||(s=t);break;case"<":case"<=":break;default:throw new Error(`Unexpected operation: ${e.operator}`)}}),!s||o&&!i(o,s)||(o=s)}return o&&e.test(o)?o:null}}),ka=a.cw(function(e,t){const a=_t(),n=Ot(),{ANY:i}=n,o=$t(),s=ia(),r=Vt(),c=Kt(),l=Yt(),d=Wt();e.exports=(e,t,u,p)=>{let h,m,g,f,b;switch(e=new a(e,p),t=new o(t,p),u){case">":h=r,m=l,g=c,f=">",b=">=";break;case"<":h=c,m=d,g=r,f="<",b="<=";break;default:throw new TypeError('Must provide a hilo val of "<" or ">"')}if(s(e,t,p))return!1;for(let a=0;a<t.set.length;++a){const o=t.set[a];let s=null,r=null;if(o.forEach(e=>{e.semver===i&&(e=new n(">=0.0.0")),s=s||e,r=r||e,h(e.semver,s.semver,p)?s=e:g(e.semver,r.semver,p)&&(r=e)}),s.operator===f||s.operator===b)return!1;if((!r.operator||r.operator===f)&&m(e,r.semver))return!1;if(r.operator===b&&g(e,r.semver))return!1}return!0}}),Aa=a.cw(function(e,t){const a=ia(),n=jt();e.exports=(e,t,i)=>{const o=[];let s=null,r=null;const c=e.sort((e,t)=>n(e,t,i));for(const e of c){a(e,t,i)?(r=e,s||(s=e)):(r&&o.push([s,r]),r=null,s=null)}s&&o.push([s,null]);const l=[];for(const[e,t]of o)e===t?l.push(e):t||e!==c[0]?t?e===c[0]?l.push(`<=${t}`):l.push(`${e} - ${t}`):l.push(`>=${e}`):l.push("*");const d=l.join(" || "),u="string"==typeof t.raw?t.raw:String(t);return d.length<u.length?d:t}}),Ea=a.cw(function(e,t){const a=$t(),n=Ot(),{ANY:i}=n,o=ia(),s=jt(),r=[new n(">=0.0.0-0")],c=[new n(">=0.0.0")],l=(e,t,a)=>{if(e===t)return!0;if(1===e.length&&e[0].semver===i){if(1===t.length&&t[0].semver===i)return!0;e=a.includePrerelease?r:c}if(1===t.length&&t[0].semver===i){if(a.includePrerelease)return!0;t=c}const n=new Set;let l,p,h,m,g,f,b;for(const t of e)">"===t.operator||">="===t.operator?l=d(l,t,a):"<"===t.operator||"<="===t.operator?p=u(p,t,a):n.add(t.semver);if(n.size>1)return null;if(l&&p){if(h=s(l.semver,p.semver,a),h>0)return null;if(0===h&&(">="!==l.operator||"<="!==p.operator))return null}for(const e of n){if(l&&!o(e,String(l),a))return null;if(p&&!o(e,String(p),a))return null;for(const n of t)if(!o(e,String(n),a))return!1;return!0}let v=!(!p||a.includePrerelease||!p.semver.prerelease.length)&&p.semver,y=!(!l||a.includePrerelease||!l.semver.prerelease.length)&&l.semver;v&&1===v.prerelease.length&&"<"===p.operator&&0===v.prerelease[0]&&(v=!1);for(const e of t){if(b=b||">"===e.operator||">="===e.operator,f=f||"<"===e.operator||"<="===e.operator,l)if(y&&e.semver.prerelease&&e.semver.prerelease.length&&e.semver.major===y.major&&e.semver.minor===y.minor&&e.semver.patch===y.patch&&(y=!1),">"===e.operator||">="===e.operator){if(m=d(l,e,a),m===e&&m!==l)return!1}else if(">="===l.operator&&!e.test(l.semver))return!1;if(p)if(v&&e.semver.prerelease&&e.semver.prerelease.length&&e.semver.major===v.major&&e.semver.minor===v.minor&&e.semver.patch===v.patch&&(v=!1),"<"===e.operator||"<="===e.operator){if(g=u(p,e,a),g===e&&g!==p)return!1}else if("<="===p.operator&&!e.test(p.semver))return!1;if(!e.operator&&(p||l)&&0!==h)return!1}return!(l&&f&&!p&&0!==h)&&(!(p&&b&&!l&&0!==h)&&(!y&&!v))},d=(e,t,a)=>{if(!e)return t;const n=s(e.semver,t.semver,a);return n>0?e:n<0||">"===t.operator&&">="===e.operator?t:e},u=(e,t,a)=>{if(!e)return t;const n=s(e.semver,t.semver,a);return n<0?e:n>0||"<"===t.operator&&"<="===e.operator?t:e};e.exports=(e,t,n={})=>{if(e===t)return!0;e=new a(e,n),t=new a(t,n);let i=!1;e:for(const a of e.set){for(const e of t.set){const t=l(a,e,n);if(i=i||null!==t,t)continue e}if(i)return!1}return!0}}),Sa=a.cw(function(e,t){const a=$t();e.exports=(e,t)=>new a(e,t).set.map(e=>e.map(e=>e.value).join(" ").trim().split(" "))}),Ta=a.cw(function(e,t){const a=$t();e.exports=(e,t)=>{try{return new a(e,t).range||"*"}catch(e){return null}}}),xa=()=>a(9065),Ia=()=>a(1835),Ra=a.cw(function(e,t){t._O=t.yS=void 0;var a=Da(),n=o(Ca()),i=o(St());function o(e){return e&&e.__esModule?e:{default:e}}const{background:s,devtools:r,content:c}=n.default,l=Object.values(n.default),d=(0,i.default)("bridge"),u=(0,i.default)("bridge:message"),p=(0,i.default)("bridge:response");t.yS=new class{constructor(){if(!l.includes(a.browser.context||""))throw new Error(`Unable to initialize web-extension bridge. Unsupported context: ${a.browser.context}`);this.messageListeners=new Map,this.attachListener()}get context(){return a.browser.context}attachListener=()=>{const{browserListener:e}=this;a.browser.hasListener(e)||(d("web-extension bridge initialized with context %s",a.browser.context),a.browser.addListener(e))};browserListener=(e,t)=>{const{origin:n,context:i,topic:o,message:l,options:d={}}=e,{tab:u,frameId:p}=t,h=u&&-1!==u.id?u.id:null==d?void 0:d.tabId;if(!n)return;if(a.browser.context===s&&i===c){const{frameId:e,allFrames:t}=d;return this.send(i,o,l,{tabId:(null==d?void 0:d.tabId)||h,frameId:e,allFrames:t})}const m=a.browser.context!==r||a.browser.tabId===h;if(i!==a.browser.context||!m)return;const g=this.getListeners(o),f=e=>{console.error(e)};try{for(const e of g){const t=e({context:i,topic:o,message:l,origin:n,tabId:h,frameId:p});if(!e.isGlobal&&void 0!==t)return Promise.resolve(t).catch(f)}}catch(e){f(e)}};async send(e,t,i,{tabId:o,frameId:s=0,allFrames:d=!1}={}){if(!a.browser.context)return;if(!e||!l.includes(e))throw new Error(`Cannot send web-extension bridge message without a valid destination context: ['${l.join("', '")}'].`);let h;o||a.browser.context!==r||(o=a.browser.tabId),h=a.browser.context===r?`${a.browser.context}:${o}`:a.browser.context;let m=e;[a.browser.context,e].includes(c)&&o&&(m+=`:${o}`),u(`[${t}] ${h} → ${m}: %O`,void 0!==i?i:"");const g={origin:h,context:e,topic:t,message:i,options:e===c?{tabId:o,frameId:s,allFrames:d}:{tabId:o}},f=e===n.default.content?{tabId:o,frameId:s,allFrames:d}:void 0;let b=null;try{b=await a.browser.sendMessage(g,f)}catch(e){let t;if(e instanceof Error&&(t=e.message),"Could not establish connection. Receiving end does not exist."!==t)throw e}return null!==b&&p(`[${t}] ${m} → ${h}: %O`,b),b}getListeners(e){const{messageListeners:t}=this;return e&&"*"!==e?[...t.get(e)||[],...t.get("*")||[]]:t.get("*")||[]}listen(e,t){if("function"==typeof e&&(t=e,e="*"),"function"!=typeof t)return;const{messageListeners:a}=this,n=a.get(e)||[];"*"===e&&(t.isGlobal=!0),n.length?a.set(e,[...n,t]):a.set(e,[t])}unlisten(e,t){if("function"==typeof e&&(t=e,e="*"),"function"!=typeof t)return;const{messageListeners:a}=this,n=(a.get(e)||[]).filter(e=>e!==t);n.length?a.set(e,n):a.delete(e)}},t._O=n.default}),Da=a.cw(function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.browser=void 0;var a,n=(a=Ca())&&a.__esModule?a:{default:a};const i=e=>void 0!==globalThis.browser&&e in globalThis.browser;t.browser={hasApi:i,get tabId(){var e;return(null===(e=globalThis.browser)||void 0===e||null===(e=e.devtools)||void 0===e?void 0:e.inspectedWindow.tabId)??null},get context(){return i("devtools")?n.default.devtools:i("tabs")?n.default.background:i("extension")?n.default.content:null},addListener(e){globalThis.browser.runtime.onMessage.addListener(e)},hasListener:e=>globalThis.browser.runtime.onMessage.hasListener(e),removeListener(e){globalThis.browser.runtime.onMessage.removeListener(e)},async sendMessage(e,t={}){if(void 0===globalThis.browser)throw new Error("Cannot send bridge message in a non-browser context.");const{tabId:a,frameId:n,allFrames:i}=t;return a&&globalThis.browser.tabs&&"function"==typeof globalThis.browser.tabs.sendMessage?globalThis.browser.tabs.sendMessage(a,e,{frameId:i?void 0:n}):globalThis.browser.runtime.sendMessage(e)}}}),Ca=a.cw(function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;t.default={background:"background",devtools:"devtools",content:"content-script"}}),Na=()=>a(8023),Ma=a.cw(function(e,t){a.d(t,{eu:()=>c});new Error("timeout while waiting for mutex to become available"),new Error("mutex already locked");const n=new Error("request for lock canceled");var i=function(e,t,a,n){return new(a||(a=Promise))(function(i,o){function s(e){try{c(n.next(e))}catch(e){o(e)}}function r(e){try{c(n.throw(e))}catch(e){o(e)}}function c(e){var t;e.done?i(e.value):(t=e.value,t instanceof a?t:new a(function(e){e(t)})).then(s,r)}c((n=n.apply(e,t||[])).next())})};class o{constructor(e,t=n){this._value=e,this._cancelError=t,this._queue=[],this._weightedWaiters=[]}acquire(e=1,t=0){if(e<=0)throw new Error(`invalid weight ${e}: must be positive`);return new Promise((a,n)=>{const i={resolve:a,reject:n,weight:e,priority:t},o=s(this._queue,e=>t<=e.priority);-1===o&&e<=this._value?this._dispatchItem(i):this._queue.splice(o+1,0,i)})}runExclusive(e){return i(this,arguments,void 0,function*(e,t=1,a=0){const[n,i]=yield this.acquire(t,a);try{return yield e(n)}finally{i()}})}waitForUnlock(e=1,t=0){if(e<=0)throw new Error(`invalid weight ${e}: must be positive`);return this._couldLockImmediately(e,t)?Promise.resolve():new Promise(a=>{this._weightedWaiters[e-1]||(this._weightedWaiters[e-1]=[]),function(e,t){const a=s(e,e=>t.priority<=e.priority);e.splice(a+1,0,t)}(this._weightedWaiters[e-1],{resolve:a,priority:t})})}isLocked(){return this._value<=0}getValue(){return this._value}setValue(e){this._value=e,this._dispatchQueue()}release(e=1){if(e<=0)throw new Error(`invalid weight ${e}: must be positive`);this._value+=e,this._dispatchQueue()}cancel(){this._queue.forEach(e=>e.reject(this._cancelError)),this._queue=[]}_dispatchQueue(){for(this._drainUnlockWaiters();this._queue.length>0&&this._queue[0].weight<=this._value;)this._dispatchItem(this._queue.shift()),this._drainUnlockWaiters()}_dispatchItem(e){const t=this._value;this._value-=e.weight,e.resolve([t,this._newReleaser(e.weight)])}_newReleaser(e){let t=!1;return()=>{t||(t=!0,this.release(e))}}_drainUnlockWaiters(){if(0===this._queue.length)for(let e=this._value;e>0;e--){const t=this._weightedWaiters[e-1];t&&(t.forEach(e=>e.resolve()),this._weightedWaiters[e-1]=[])}else{const e=this._queue[0].priority;for(let t=this._value;t>0;t--){const a=this._weightedWaiters[t-1];if(!a)continue;const n=a.findIndex(t=>t.priority<=e);(-1===n?a:a.splice(0,n)).forEach(e=>e.resolve())}}}_couldLockImmediately(e,t){return(0===this._queue.length||this._queue[0].priority<t)&&e<=this._value}}function s(e,t){for(let a=e.length-1;a>=0;a--)if(t(e[a]))return a;return-1}var r=function(e,t,a,n){return new(a||(a=Promise))(function(i,o){function s(e){try{c(n.next(e))}catch(e){o(e)}}function r(e){try{c(n.throw(e))}catch(e){o(e)}}function c(e){var t;e.done?i(e.value):(t=e.value,t instanceof a?t:new a(function(e){e(t)})).then(s,r)}c((n=n.apply(e,t||[])).next())})};class c{constructor(e){this._semaphore=new o(1,e)}acquire(){return r(this,arguments,void 0,function*(e=0){const[,t]=yield this._semaphore.acquire(1,e);return t})}runExclusive(e,t=0){return this._semaphore.runExclusive(()=>e(),1,t)}isLocked(){return this._semaphore.isLocked()}waitForUnlock(e=0){return this._semaphore.waitForUnlock(1,e)}release(){this._semaphore.isLocked()&&this._semaphore.release()}cancel(){return this._semaphore.cancel()}}}),Pa=a.cw(function(e,t){a.d(t,{A:()=>c});const n="%[a-f0-9]{2}",i=new RegExp("("+n+")|([^%]+?)","gi"),o=new RegExp("("+n+")+","gi");function s(e,t){try{return[decodeURIComponent(e.join(""))]}catch{}if(1===e.length)return e;t=t||1;const a=e.slice(0,t),n=e.slice(t);return Array.prototype.concat.call([],s(a),s(n))}function r(e){try{return decodeURIComponent(e)}catch{let t=e.match(i)||[];for(let a=1;a<t.length;a++)t=(e=s(t,a).join("")).match(i)||[];return e}}function c(e){if("string"!=typeof e)throw new TypeError("Expected `encodedURI` to be of type `string`, got `"+typeof e+"`");try{return decodeURIComponent(e)}catch{return function(e){const t={"%FE%FF":"��","%FF%FE":"��"};let a=o.exec(e);for(;a;){try{t[a[0]]=decodeURIComponent(a[0])}catch{const e=r(a[0]);e!==a[0]&&(t[a[0]]=e)}a=o.exec(e)}t["%C2"]="�";const n=Object.keys(t);for(const a of n)e=e.replace(new RegExp(a,"g"),t[a]);return e}(e)}}}),Oa=a.cw(function(e,t){function n(e,t){const a={};if(Array.isArray(t))for(const n of t){const t=Object.getOwnPropertyDescriptor(e,n);t?.enumerable&&Object.defineProperty(a,n,t)}else for(const n of Reflect.ownKeys(e)){const i=Object.getOwnPropertyDescriptor(e,n);if(i.enumerable){t(n,e[n],e)&&Object.defineProperty(a,n,i)}}return a}a.d(t,{b:()=>n})}),$a=a.cw(function(e,t){a.r(t),a.d(t,{exclude:()=>v,extract:()=>p,parse:()=>h,parseUrl:()=>g,pick:()=>b,stringify:()=>m,stringifyUrl:()=>f}),Pa();const n=e=>null==e,i=e=>encodeURIComponent(e).replace(/[!'()*]/g,e=>`%${e.charCodeAt(0).toString(16).toUpperCase()}`),o=Symbol("encodeFragmentIdentifier");function s(e){if("string"!=typeof e||1!==e.length)throw new TypeError("arrayFormatSeparator must be single character string")}function r(e,t){return t.encode?t.strict?i(e):encodeURIComponent(e):e}function c(e,t){return t.decode?(0,Pa().A)(e):e}function l(e){return Array.isArray(e)?e.sort():"object"==typeof e?l(Object.keys(e)).sort((e,t)=>Number(e)-Number(t)).map(t=>e[t]):e}function d(e){const t=e.indexOf("#");return-1!==t&&(e=e.slice(0,t)),e}function u(e,t){return t.parseNumbers&&!Number.isNaN(Number(e))&&"string"==typeof e&&""!==e.trim()?e=Number(e):!t.parseBooleans||null===e||"true"!==e.toLowerCase()&&"false"!==e.toLowerCase()||(e="true"===e.toLowerCase()),e}function p(e){const t=(e=d(e)).indexOf("?");return-1===t?"":e.slice(t+1)}function h(e,t){s((t={decode:!0,sort:!0,arrayFormat:"none",arrayFormatSeparator:",",parseNumbers:!1,parseBooleans:!1,...t}).arrayFormatSeparator);const a=function(e){let t;switch(e.arrayFormat){case"index":return(e,a,n)=>{t=/\[(\d*)]$/.exec(e),e=e.replace(/\[\d*]$/,""),t?(void 0===n[e]&&(n[e]={}),n[e][t[1]]=a):n[e]=a};case"bracket":return(e,a,n)=>{t=/(\[])$/.exec(e),e=e.replace(/\[]$/,""),t?void 0!==n[e]?n[e]=[...n[e],a]:n[e]=[a]:n[e]=a};case"colon-list-separator":return(e,a,n)=>{t=/(:list)$/.exec(e),e=e.replace(/:list$/,""),t?void 0!==n[e]?n[e]=[...n[e],a]:n[e]=[a]:n[e]=a};case"comma":case"separator":return(t,a,n)=>{const i="string"==typeof a&&a.includes(e.arrayFormatSeparator),o="string"==typeof a&&!i&&c(a,e).includes(e.arrayFormatSeparator);a=o?c(a,e):a;const s=i||o?a.split(e.arrayFormatSeparator).map(t=>c(t,e)):null===a?a:c(a,e);n[t]=s};case"bracket-separator":return(t,a,n)=>{const i=/(\[])$/.test(t);if(t=t.replace(/\[]$/,""),!i)return void(n[t]=a?c(a,e):a);const o=null===a?[]:a.split(e.arrayFormatSeparator).map(t=>c(t,e));void 0!==n[t]?n[t]=[...n[t],...o]:n[t]=o};default:return(e,t,a)=>{void 0!==a[e]?a[e]=[...[a[e]].flat(),t]:a[e]=t}}}(t),n=Object.create(null);if("string"!=typeof e)return n;if(!(e=e.trim().replace(/^[?#&]/,"")))return n;for(const i of e.split("&")){if(""===i)continue;const e=t.decode?i.replace(/\+/g," "):i;let[o,s]=(0,Fa().A)(e,"=");void 0===o&&(o=e),s=void 0===s?null:["comma","separator","bracket-separator"].includes(t.arrayFormat)?s:c(s,t),a(c(o,t),s,n)}for(const[e,a]of Object.entries(n))if("object"==typeof a&&null!==a)for(const[e,n]of Object.entries(a))a[e]=u(n,t);else n[e]=u(a,t);return!1===t.sort?n:(!0===t.sort?Object.keys(n).sort():Object.keys(n).sort(t.sort)).reduce((e,t)=>{const a=n[t];return Boolean(a)&&"object"==typeof a&&!Array.isArray(a)?e[t]=l(a):e[t]=a,e},Object.create(null))}function m(e,t){if(!e)return"";s((t={encode:!0,strict:!0,arrayFormat:"none",arrayFormatSeparator:",",...t}).arrayFormatSeparator);const a=a=>t.skipNull&&n(e[a])||t.skipEmptyString&&""===e[a],i=function(e){switch(e.arrayFormat){case"index":return t=>(a,n)=>{const i=a.length;return void 0===n||e.skipNull&&null===n||e.skipEmptyString&&""===n?a:null===n?[...a,[r(t,e),"[",i,"]"].join("")]:[...a,[r(t,e),"[",r(i,e),"]=",r(n,e)].join("")]};case"bracket":return t=>(a,n)=>void 0===n||e.skipNull&&null===n||e.skipEmptyString&&""===n?a:null===n?[...a,[r(t,e),"[]"].join("")]:[...a,[r(t,e),"[]=",r(n,e)].join("")];case"colon-list-separator":return t=>(a,n)=>void 0===n||e.skipNull&&null===n||e.skipEmptyString&&""===n?a:null===n?[...a,[r(t,e),":list="].join("")]:[...a,[r(t,e),":list=",r(n,e)].join("")];case"comma":case"separator":case"bracket-separator":{const t="bracket-separator"===e.arrayFormat?"[]=":"=";return a=>(n,i)=>void 0===i||e.skipNull&&null===i||e.skipEmptyString&&""===i?n:(i=null===i?"":i,0===n.length?[[r(a,e),t,r(i,e)].join("")]:[[n,r(i,e)].join(e.arrayFormatSeparator)])}default:return t=>(a,n)=>void 0===n||e.skipNull&&null===n||e.skipEmptyString&&""===n?a:null===n?[...a,r(t,e)]:[...a,[r(t,e),"=",r(n,e)].join("")]}}(t),o={};for(const[t,n]of Object.entries(e))a(t)||(o[t]=n);const c=Object.keys(o);return!1!==t.sort&&c.sort(t.sort),c.map(a=>{const n=e[a];return void 0===n?"":null===n?r(a,t):Array.isArray(n)?0===n.length&&"bracket-separator"===t.arrayFormat?r(a,t)+"[]":n.reduce(i(a),[]).join("&"):r(a,t)+"="+r(n,t)}).filter(e=>e.length>0).join("&")}function g(e,t){t={decode:!0,...t};let[a,n]=(0,Fa().A)(e,"#");return void 0===a&&(a=e),{url:a?.split("?")?.[0]??"",query:h(p(e),t),...t&&t.parseFragmentIdentifier&&n?{fragmentIdentifier:c(n,t)}:{}}}function f(e,t){t={encode:!0,strict:!0,[o]:!0,...t};const a=d(e.url).split("?")[0]||"";let n=m({...h(p(e.url),{sort:!1}),...e.query},t);n&&(n=`?${n}`);let i=function(e){let t="";const a=e.indexOf("#");return-1!==a&&(t=e.slice(a)),t}(e.url);if(e.fragmentIdentifier){const n=new URL(a);n.hash=e.fragmentIdentifier,i=t[o]?n.hash:`#${e.fragmentIdentifier}`}return`${a}${n}${i}`}function b(e,t,a){a={parseFragmentIdentifier:!0,[o]:!1,...a};const{url:n,query:i,fragmentIdentifier:s}=g(e,a);return f({url:n,query:(0,Oa().b)(i,t),fragmentIdentifier:s},a)}function v(e,t,a){return b(e,Array.isArray(t)?e=>!t.includes(e):(e,a)=>!t(e,a),a)}}),_a={};a.r(_a),a.d(_a,{exclude:()=>$a().exclude,extract:()=>$a().extract,parse:()=>$a().parse,parseUrl:()=>$a().parseUrl,pick:()=>$a().pick,stringify:()=>$a().stringify,stringifyUrl:()=>$a().stringifyUrl});var za=a.cw(function(e,t){a.d(t,{A:()=>_a}),$a()}),Fa=a.cw(function(e,t){function n(e,t){if("string"!=typeof e||"string"!=typeof t)throw new TypeError("Expected the arguments to be of type `string`");if(""===e||""===t)return[];const a=e.indexOf(t);return-1===a?[]:[e.slice(0,a),e.slice(a+t.length)]}a.d(t,{A:()=>n})}),Ga=a.cw(function(e,t){a.d(t,{A:()=>i});const n=new Uint8Array(16);function i(){return crypto.getRandomValues(n)}}),qa=a.cw(function(e,t){a.d(t,{k:()=>i});const n=[];for(let e=0;e<256;++e)n.push((e+256).toString(16).slice(1));function i(e,t=0){return(n[e[t+0]]+n[e[t+1]]+n[e[t+2]]+n[e[t+3]]+"-"+n[e[t+4]]+n[e[t+5]]+"-"+n[e[t+6]]+n[e[t+7]]+"-"+n[e[t+8]]+n[e[t+9]]+"-"+n[e[t+10]]+n[e[t+11]]+n[e[t+12]]+n[e[t+13]]+n[e[t+14]]+n[e[t+15]]).toLowerCase()}}),La=a.cw(function(e,t){const n=function(e,t,a){return t||e||!crypto.randomUUID?function(e,t,a){e=e||{};const n=e.random??e.rng?.()??(0,Ga().A)();if(n.length<16)throw new Error("Random bytes length must be >= 16");if(n[6]=15&n[6]|64,n[8]=63&n[8]|128,t){if((a=a||0)<0||a+16>t.length)throw new RangeError(`UUID byte range ${a}:${a+15} is out of buffer bounds`);for(let e=0;e<16;++e)t[a+e]=n[e];return t}return(0,qa().k)(n)}(e,t,a):crypto.randomUUID()};a.d(t,["A",0,n])}),ja=()=>a(686),Ua=a.cw(function(e,t){e.exports={rE:"4.13.0"}}),Ba=a.cw(function(e,t){const a=JSON.parse('{"rE":"4.136.2-next.b0f5f185"}');e.exports=a}),Va=a.cw(function(e,t){const a=JSON.parse('{"buttons-and-links":{"name":"Buttons and links","deprecation":"This guided test has been replaced by the \'Interactive Elements\' test.","description":"The buttons and links tests will walk you through testing buttons and links.","action":{"test":"Test buttons and links"},"progress":{"missing":"Missing","accuracy":"Accuracy"}}}');e.exports=a}),Wa=a.cw(function(e,t){const a=JSON.parse('{"headings":{"name":"Headings","deprecation":"This guided test has been replaced by the \'Structure\' test.","description":"The headings tests will walk you through testing headings (h1-h6 and the \'heading\' role).","action":{"test":"Test Headings"}}}');e.exports=a}),Ha=a.cw(function(e,t){const a=JSON.parse('{"lists":{"name":"Lists","deprecation":"This guided test has been replaced by the \'Structure\' test.","description":"The lists tests will walk you through testing lists (ul, ol, and dl).","action":{"test":"Test lists"},"progress":{"missing":"Missing","accuracy":"Accuracy"}}}');e.exports=a}),Ka=a.cw(function(e,t){const a=JSON.parse('{"page-info":{"name":"Page information","deprecation":"This guided test has been replaced by the \'Structure\' test.","description":"The page info tests will walk you through testing the page\'s title and primary language.","action":{"test":"Test Page information"}}}');e.exports=a});function Ya(){return Ya.c||(Ya.c=a.t(F(),2))}function Ja(){return Ja.c||(Ja.c=a.n($()))}$();var Za=a(763),Xa=a.n(Za);function Qa(){return Qa.c||(Qa.c=a.n(St()))}Ra();var en=a(1419);function tn(){return tn.c||(tn.c=a.n(_e()))}function an(){return an.c||(an.c=a.n(t()))}se(),Pe(),It(),ee();const nn=e=>{try{const t=new URL(e);return e.replace(t.hash,"")}catch{return e}};function on(){return on.c||(on.c=a.n(Dt()))}function sn(){return sn.c||(sn.c=a.t(ja(),2))}H(),ce(),ve(),te(),ke(),ge();const rn=()=>It().Ay`There was a problem saving your results. Please try again.`,cn=()=>It().Ay`There was a problem fetching your results. Please try again.`;function ln(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),a.push.apply(a,n)}return a}function dn(e,t,a){return(t=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var a=e[Symbol.toPrimitive];if(void 0!==a){var n=a.call(e,t||"default");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}const un=It().Ay`There was a problem analyzing your interactive elements. Please try again.`;function pn(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),a.push.apply(a,n)}return a}function hn(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?pn(Object(a),!0).forEach(function(t){mn(e,t,a[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):pn(Object(a)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))})}return e}function mn(e,t,a){return(t=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var a=e[Symbol.toPrimitive];if(void 0!==a){var n=a.call(e,t||"default");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}Na(),de();const gn={Escape:{windowsVirtualKeyCode:27,key:"Escape",code:"Escape"},Tab:{windowsVirtualKeyCode:9,key:"Tab",code:"Tab"},Enter:{windowsVirtualKeyCode:13,key:"Enter",code:"Enter"},Space:{windowsVirtualKeyCode:32,key:" ",code:"Space"},ArrowUp:{windowsVirtualKeyCode:38,key:"ArrowUp",code:"ArrowUp"},ArrowDown:{windowsVirtualKeyCode:40,key:"ArrowDown",code:"ArrowDown"},ArrowLeft:{windowsVirtualKeyCode:37,key:"ArrowLeft",code:"ArrowLeft"},ArrowRight:{windowsVirtualKeyCode:39,key:"ArrowRight",code:"ArrowRight"},Delete:{windowsVirtualKeyCode:46,key:"Delete",code:"Delete"},Backspace:{windowsVirtualKeyCode:8,key:"Backspace",code:"Backspace"},F1:{windowsVirtualKeyCode:112,key:"F1",code:"F1"},F2:{windowsVirtualKeyCode:113,key:"F2",code:"F2"},F3:{windowsVirtualKeyCode:114,key:"F3",code:"F3"},F4:{windowsVirtualKeyCode:115,key:"F4",code:"F4"},F5:{windowsVirtualKeyCode:116,key:"F5",code:"F5"},F6:{windowsVirtualKeyCode:117,key:"F6",code:"F6"},F7:{windowsVirtualKeyCode:118,key:"F7",code:"F7"},F8:{windowsVirtualKeyCode:119,key:"F8",code:"F8"},F9:{windowsVirtualKeyCode:120,key:"F9",code:"F9"},F10:{windowsVirtualKeyCode:121,key:"F10",code:"F10"},F11:{windowsVirtualKeyCode:122,key:"F11",code:"F11"},F12:{windowsVirtualKeyCode:123,key:"F12",code:"F12"},PageUp:{windowsVirtualKeyCode:33,key:"PageUp",code:"PageUp"},PageDown:{windowsVirtualKeyCode:34,key:"PageDown",code:"PageDown"},Home:{windowsVirtualKeyCode:36,key:"Home",code:"Home"},End:{windowsVirtualKeyCode:35,key:"End",code:"End"},Meta:{windowsVirtualKeyCode:91,key:"Meta",code:"MetaLeft"},a:{windowsVirtualKeyCode:65,key:"a",code:"KeyA"},b:{windowsVirtualKeyCode:66,key:"b",code:"KeyB"},c:{windowsVirtualKeyCode:67,key:"c",code:"KeyC"},d:{windowsVirtualKeyCode:68,key:"d",code:"KeyD"},e:{windowsVirtualKeyCode:69,key:"e",code:"KeyE"},f:{windowsVirtualKeyCode:70,key:"f",code:"KeyF"},g:{windowsVirtualKeyCode:71,key:"g",code:"KeyG"},h:{windowsVirtualKeyCode:72,key:"h",code:"KeyH"},i:{windowsVirtualKeyCode:73,key:"i",code:"KeyI"},j:{windowsVirtualKeyCode:74,key:"j",code:"KeyJ"},k:{windowsVirtualKeyCode:75,key:"k",code:"KeyK"},l:{windowsVirtualKeyCode:76,key:"l",code:"KeyL"},m:{windowsVirtualKeyCode:77,key:"m",code:"KeyM"},n:{windowsVirtualKeyCode:78,key:"n",code:"KeyN"},o:{windowsVirtualKeyCode:79,key:"o",code:"KeyO"},p:{windowsVirtualKeyCode:80,key:"p",code:"KeyP"},q:{windowsVirtualKeyCode:81,key:"q",code:"KeyQ"},r:{windowsVirtualKeyCode:82,key:"r",code:"KeyR"},s:{windowsVirtualKeyCode:83,key:"s",code:"KeyS"},t:{windowsVirtualKeyCode:84,key:"t",code:"KeyT"},u:{windowsVirtualKeyCode:85,key:"u",code:"KeyU"},v:{windowsVirtualKeyCode:86,key:"v",code:"KeyV"},w:{windowsVirtualKeyCode:87,key:"w",code:"KeyW"},x:{windowsVirtualKeyCode:88,key:"x",code:"KeyX"},y:{windowsVirtualKeyCode:89,key:"y",code:"KeyY"},z:{windowsVirtualKeyCode:90,key:"z",code:"KeyZ"},0:{windowsVirtualKeyCode:48,key:"0",code:"Digit0"},1:{windowsVirtualKeyCode:49,key:"1",code:"Digit1"},2:{windowsVirtualKeyCode:50,key:"2",code:"Digit2"},3:{windowsVirtualKeyCode:51,key:"3",code:"Digit3"},4:{windowsVirtualKeyCode:52,key:"4",code:"Digit4"},5:{windowsVirtualKeyCode:53,key:"5",code:"Digit5"},6:{windowsVirtualKeyCode:54,key:"6",code:"Digit6"},7:{windowsVirtualKeyCode:55,key:"7",code:"Digit7"},8:{windowsVirtualKeyCode:56,key:"8",code:"Digit8"},9:{windowsVirtualKeyCode:57,key:"9",code:"Digit9"},"/":{windowsVirtualKeyCode:191,key:"/",code:"Slash"},",":{windowsVirtualKeyCode:188,key:",",code:"Comma"},".":{windowsVirtualKeyCode:190,key:".",code:"Period"},";":{windowsVirtualKeyCode:186,key:";",code:"Semicolon"},"-":{windowsVirtualKeyCode:189,key:"-",code:"Minus"},"=":{windowsVirtualKeyCode:187,key:"=",code:"Equal"},"?":{windowsVirtualKeyCode:191,key:"?",code:"Slash",shift:!0},":":{windowsVirtualKeyCode:186,key:":",code:"Semicolon",shift:!0},"+":{windowsVirtualKeyCode:187,key:"+",code:"Equal",shift:!0}},fn=new Set(["Ctrl","Shift","Alt","Cmd","Option"]);function bn(e){const{modifiers:t,baseKey:a}=function(e){const t=e.trim().split("+"),a=new Set;let n="";for(const e of t)fn.has(e)?a.add(e):n=e;return""===n&&(n="+"),{modifiers:a,baseKey:n}}(e),n=gn[a]??gn[a.toLowerCase()];if(!n)return[];const i=t.has("Shift")||!0===n.shift,o=t.has("Ctrl")||i||t.has("Alt")||t.has("Option")||t.has("Cmd"),s=i&&/^[a-z]$/.test(n.key)?n.key.toUpperCase():n.key;return[hn({windowsVirtualKeyCode:n.windowsVirtualKeyCode,key:s,code:n.code},o&&{modifiers:{ctrl:t.has("Ctrl"),shift:i,alt:t.has("Alt")||t.has("Option"),meta:t.has("Cmd")}})]}function vn(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),a.push.apply(a,n)}return a}function yn(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?vn(Object(a),!0).forEach(function(t){wn(e,t,a[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):vn(Object(a)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))})}return e}function wn(e,t,a){return(t=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var a=e[Symbol.toPrimitive];if(void 0!==a){var n=a.call(e,t||"default");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}const kn=[{windowsVirtualKeyCode:27,key:"Escape",code:"Escape"}],An=(e,t,a)=>{Ra().yS.send(Ra()._O.devtools,"keyboard:auto-escape-trap:complete",yn({result:e},a&&{subscriptionMissing:!0}),{tabId:t})};function En({tabId:e,error:t,vnodeId:a,screenshotId:n,manifestId:i,trapErrorMessage:o,isReplay:s}){(0,ge().A)(e,t,o),Pe().iE({eventTool:"keyboard",type:"general",vnodeId:a,screenshotId:n,manifestId:i});const r=yn({escapedToNewVnode:!1,tabbingComplete:!1,isLastAttempt:!0,aiResult:null,succeededAIStrategy:[]},s&&{isReplay:!0});An(r,e)}const Sn=async({tabId:e,keys:t,manifest:a,keyboardTrapVnode:n,isLastAttempt:i=!1})=>(Ra().yS.send(Ra()._O.content,"igt:keyboard:tab-record-start",yn(yn({},a),{},{isKeyboardTrapEscape:!0,keyboardTrapVnode:n,isAutoEscape:!0,isLastAttempt:i}),{tabId:e}),await(async(e,t)=>{if(0===t.length)return;const a=(0,de().A)(e);await a.setup(),await a.fireKeys(t),a.stop()})(e,t),await new Promise(e=>setTimeout(e,500)),(async e=>{const t=new Promise(e=>{const t=setTimeout(()=>{Ra().yS.unlisten("tab-record:trap-escape-done",a),e({escapedToNewVnode:!1,tabbingComplete:!1})},3e4);function a({message:n}){clearTimeout(t),Ra().yS.unlisten("tab-record:trap-escape-done",a),e(n)}Ra().yS.listen("tab-record:trap-escape-done",a)});return"number"==typeof e?Ra().yS.send(Ra()._O.content,"tab-record:finalize-escape-trap",null,{tabId:e}):Ra().yS.send(Ra()._O.content,"tab-record:finalize-escape-trap"),t})(e));async function Tn(e,t){const{tabId:a,screenshotId:n,manifest:i,keyboardTrapVnode:o,trapErrorMessage:s,elementScreenshotKey:r,elementBoxInScreenshot:c}=e,{onAbortControllerCreated:l,onComplete:d}=t,u=(0,Z().A)("aiKeyboardTrap");let p=null;try{const e=await Sn({tabId:a,keys:kn,manifest:i,keyboardTrapVnode:o});if(e.escapedToNewVnode)return void An(yn(yn({},e),{},{aiResult:null,succeededAIStrategy:kn.map(e=>e.key)}),a);u.start(),p=new AbortController,l(p);const t=r&&c?{page_screenshot_uuid:n,bounding_box:o.box,elementScreenshotKey:r,elementBoxInScreenshot:c}:{page_screenshot_uuid:n,bounding_box:o.box},s=await ke().A.post("/api/ml/keyboard-igt/identify-keyboard-trap",t,{signal:p.signal});if("error"in s){Pe().iE({eventTool:"keyboard",type:"general",vnodeId:o.vnodeId,screenshotId:n,manifestId:i.id});const t=yn(yn({},e),{},{aiResult:s,isLastAttempt:!0,succeededAIStrategy:[]});return void An(t,a)}u.end(),Pe().aW(u.measure().duration);const d=s.keyboard_trap_instructions.steps;let h=e;for(let e=0;e<d.length;e++){const t=d[e],n=e===d.length-1,r=t.actions.flatMap(e=>{const t=Math.max(e.repeat_count??1,1);return Array(t).fill(e.key)}),c=r.flatMap(e=>bn(e));if(h=await Sn({tabId:a,keys:c,manifest:i,keyboardTrapVnode:o,isLastAttempt:n}),h.escapedToNewVnode)return void An(yn(yn({},h),{},{aiResult:s,succeededAIStrategy:r}),a)}const m=yn(yn({},h),{},{aiResult:s,isLastAttempt:!0,succeededAIStrategy:[]});An(m,a)}catch(e){var h;if(null!==(h=p)&&void 0!==h&&h.signal.aborted)return;const t=e instanceof te().N&&402===e.status;(0,ge().A)(a,e,s),Pe().iE({eventTool:"keyboard",type:"general",vnodeId:o.vnodeId,screenshotId:n,manifestId:i.id});An({escapedToNewVnode:!1,tabbingComplete:!1,isLastAttempt:!0,aiResult:null,succeededAIStrategy:[]},a,t)}finally{d()}}function xn(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),a.push.apply(a,n)}return a}function In(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?xn(Object(a),!0).forEach(function(t){Rn(e,t,a[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):xn(Object(a)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))})}return e}function Rn(e,t,a){return(t=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var a=e[Symbol.toPrimitive];if(void 0!==a){var n=a.call(e,t||"default");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}const Dn=It().Ay`There was a problem escaping your keyboard trap. Please try again.`,Cn=It().Ay`There was a problem analyzing your tabstops. Please try again.`;const Nn=["manifestId","page_screenshot_uuid"];function Mn(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),a.push.apply(a,n)}return a}function Pn(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?Mn(Object(a),!0).forEach(function(t){On(e,t,a[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):Mn(Object(a)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))})}return e}function On(e,t,a){return(t=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var a=e[Symbol.toPrimitive];if(void 0!==a){var n=a.call(e,t||"default");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function $n(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),a.push.apply(a,n)}return a}function _n(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?$n(Object(a),!0).forEach(function(t){zn(e,t,a[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):$n(Object(a)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))})}return e}function zn(e,t,a){return(t=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var a=e[Symbol.toPrimitive];if(void 0!==a){var n=a.call(e,t||"default");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}const Fn=It().Ay`There was a problem analyzing your headings. Please try again.`,Gn=It().Ay`There was a problem analyzing your lists. Please try again.`,qn=It().Ay`There was a problem analyzing your application elements. Please try again.`,Ln=It().Ay`There was a problem analyzing your frame titles. Please try again.`,jn=It().Ay`There was a problem analyzing your page title. Please try again.`;const Un=["manifestId","full_page_screenshot_uuid"];function Bn(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),a.push.apply(a,n)}return a}function Vn(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?Bn(Object(a),!0).forEach(function(t){Wn(e,t,a[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):Bn(Object(a)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))})}return e}function Wn(e,t,a){return(t=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var a=e[Symbol.toPrimitive];if(void 0!==a){var n=a.call(e,t||"default");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}const Hn=It().Ay`There was a problem analyzing focus restoration for your modal.`,Kn={results:{error:!0}};const Yn=["manifestId"];function Jn(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),a.push.apply(a,n)}return a}function Zn(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?Jn(Object(a),!0).forEach(function(t){Xn(e,t,a[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):Jn(Object(a)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))})}return e}function Xn(e,t,a){return(t=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var a=e[Symbol.toPrimitive];if(void 0!==a){var n=a.call(e,t||"default");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}const Qn=It().Ay`There was a problem analyzing dismissibility for your modal.`,ei={results:{error:!0}},ti=e=>{if(!e||"object"!=typeof e)return!1;const t=e;return"number"==typeof t.top&&"number"==typeof t.left&&"number"==typeof t.right&&"number"==typeof t.bottom};const ai=["manifestId"];const ni=It().Ay`There was a problem analyzing your table. Please try again.`,ii={error:!0};const oi=()=>{Ra().yS.listen("server-version:get",async()=>{try{const{version:e}=await ke().A.get("/healthcheck");return e}catch{return null}})};var si=a(6999);const ri=["hideNotification","enterpriseId","connectionId","event"];const ci=e=>{if(e.length<=200)return[e];const t=[];for(let a=0;a<e.length;a+=200)t.push(e.slice(a,a+200));return t};const li="gather-internals.js",di=[{type:"iframe",exclude:!1}],ui=new Map,pi=new Set;let hi=0,mi=null;async function gi(e,t,a){await new Promise(n=>{const i=t?{tabId:e,sessionId:t}:{tabId:e};chrome.debugger.sendCommand(i,"Runtime.evaluate",{expression:a},()=>{chrome.runtime.lastError,n()})})}function fi(e,t,a){const n="undefined"!=typeof crypto&&"function"==typeof crypto.randomUUID?crypto.randomUUID():`axe-internals-${Math.random().toString(36).slice(2)}-${Date.now()}`,i=async function(e,t,a){const n=`document.dispatchEvent(new CustomEvent('axe-set-frame-uuid', { detail: { uuid: ${JSON.stringify(a)} } }))`;await gi(e,t,n)}(t,a,n).catch(()=>{}),o=(async()=>{const e=await(mi||(mi=(async()=>{const e=browser.runtime.getURL(li),t=await fetch(e);if(!t.ok)throw new Error(`Failed to load ${li}: ${t.status}`);return await t.text()})().catch(e=>{throw mi=null,e})),mi);return await i,async function(e,t,a){try{var n;const i=`JSON.stringify((function(){try{return ${a}}catch(e){return []}})())`,o=t?{tabId:e,sessionId:t}:{tabId:e},s=await new Promise((e,t)=>{chrome.debugger.sendCommand(o,"Runtime.evaluate",{expression:i,returnByValue:!0,awaitPromise:!0},a=>{const n=chrome.runtime.lastError;n?t(new Error(n.message)):e(a)})});if(s.exceptionDetails)return[];const r=null===(n=s.result)||void 0===n?void 0:n.value;if("string"!=typeof r)return[];const c=JSON.parse(r);return Array.isArray(c)?c:[]}catch{return[]}}(t,a,e)})().catch(()=>[]);return e.sessions.set(n,{sessionId:a,dispatched:i,gather:o}),setTimeout(()=>{const t=e.sessions.get(n);t&&t.gather===o&&e.sessions.delete(n)},3e4),n}async function bi(e,t,a={}){await new Promise(n=>{chrome.debugger.sendCommand(e,t,a,()=>{chrome.runtime.lastError,n()})})}const vi=new Map;async function yi(e){const t=vi.get(e);if(t)return t;const a=async function(e){const t=++hi;ui.has(e)&&await wi(e);const a=await async function(e){try{return await Na().debugger.attach(e),pi.add(e),!0}catch(e){const t="object"==typeof e&&null!==e&&"message"in e?String(e.message??""):"";return/already attached/i.test(t)}}(e);if(!a)return{ok:!1,epoch:t};const n={attached:!0,epoch:t,sessions:new Map,onEvent:()=>{}};n.onEvent=(t,a,i)=>{if(t.tabId===e)if("Target.attachedToTarget"===a){var o;const t=i;if("iframe"!==(null===(o=t.targetInfo)||void 0===o?void 0:o.type))return;fi(n,e,t.sessionId)}else if("Target.detachedFromTarget"===a){const e=i;for(const[t,a]of n.sessions)a.sessionId===e.sessionId&&n.sessions.delete(t)}},chrome.debugger.onEvent.addListener(n.onEvent),ui.set(e,n);const i=fi(n,e,null),o=n.sessions.get(i);await bi({tabId:e},"Target.setAutoAttach",{autoAttach:!0,waitForDebuggerOnStart:!1,flatten:!0,filter:di}),o&&await o.dispatched;if(ui.get(e)!==n)return{ok:!1,epoch:t};return{ok:!0,epoch:t}}(e).finally(()=>{vi.get(e)===a&&vi.delete(e)});return vi.set(e,a),a}async function wi(e,t){const a=ui.get(e);a&&("number"==typeof t&&a.epoch!==t||(ui.delete(e),chrome.debugger.onEvent.removeListener(a.onEvent),a.attached&&await Promise.all(Array.from(a.sessions.values()).map(t=>async function(e,t){await gi(e,t,"document.dispatchEvent(new CustomEvent('axe-clear-frame-uuid'))")}(e,t.sessionId))),a.sessions.clear(),a.attached&&void 0===ui.get(e)&&(pi.has(e)?await async function(e){pi.delete(e),await Na().debugger.detach(e).catch(()=>{})}(e):await async function(e){await bi({tabId:e},"Target.setAutoAttach",{autoAttach:!1,waitForDebuggerOnStart:!1,flatten:!0})}(e))))}let ki=!1,Ai=null,Ei=null;function Si(){var e,t;ki||(ki=!0,Ai=e=>{wi(e)},null===(e=browser.tabs)||void 0===e||null===(e=e.onRemoved)||void 0===e||e.addListener(Ai),Ei=e=>{if("number"==typeof e.tabId){pi.delete(e.tabId);const t=ui.get(e.tabId);t&&(t.attached=!1,wi(e.tabId))}},null===(t=chrome.debugger)||void 0===t||null===(t=t.onDetach)||void 0===t||t.addListener(Ei)),Ra().yS.listen("internals:prepare",async({message:e,tabId:t})=>{const a="number"==typeof t?t:null==e?void 0:e.tabId;if("number"!=typeof a)return{ok:!1,epoch:0};if("number"==typeof t&&"number"==typeof(null==e?void 0:e.tabId)&&e.tabId!==t)return{ok:!1,epoch:0};try{return await yi(a)}catch{return{ok:!1,epoch:0}}}),Ra().yS.listen("internals:gather",async({message:e,tabId:t,frameId:a})=>"number"==typeof t&&"number"==typeof a&&null!=e&&e.uuid?async function(e,t,a){const n=ui.get(e);if(!n)return[];const i=n.sessions.get(t);if(!i)return[];if(void 0===i.claimedByFrameId)i.claimedByFrameId=a;else if(i.claimedByFrameId!==a)return[];const o=await i.gather;return Array.isArray(o)?o:[]}(t,e.uuid,a):[]),Ra().yS.listen("internals:teardown",async({message:e,tabId:t})=>{const a="number"==typeof t?t:null==e?void 0:e.tabId;"number"==typeof a&&("number"==typeof t&&"number"==typeof(null==e?void 0:e.tabId)&&e.tabId!==t||await wi(a,null==e?void 0:e.epoch))})}function Ti(){return Ti.c||(Ti.c=a.n(xt()))}const{NODE_ENV:xi,IS_AXE_PRO:Ii,AXE_PRO_URL:Ri}={NODE_ENV:"production",IS_AXE_PRO:"true",AXE_PRO_URL:"http://localhost:1234"},Di="true"===Ii;Ra().yS.listen("identify-content-frame",({frameId:e})=>e),void 0!==globalThis.document&&void 0!==globalThis.XMLHttpRequest&&(0,Pe().T_)(),browser.tabs.onUpdated.addListener((e,t,{url:a,title:n})=>{(t.url||t.title)&&Ra().yS.send(Ra()._O.devtools,"page-info:change",{url:nn(a),title:n},{tabId:e})}),Ra().yS.listen("get-distinct-id",async()=>await(0,se().A)());if(Ra().yS.listen("auth:login",()=>browser.storage.local.remove("cachedDistinctId")),Ra().yS.listen("devtools:open",async({tabId:e})=>{if(!function(e){return"number"==typeof e&&e>=0}(e))return;const{url:t,title:a}=await browser.tabs.get(e);Ra().yS.send(Ra()._O.devtools,"page-info:init",{url:t,title:a},{tabId:e})}),"production"===xi||"test"===xi){const e=Xa()(Ri);browser.runtime.onInstalled.addListener(async({reason:t})=>{if("install"===t){const{name:t,installType:a,version:n}=await browser.management.getSelf();console.log('[%s @ %s] installed with "%s".',t,n,a);if(!["chromepuppeteer","playwright"].some(e=>navigator.userAgent.toLowerCase().includes(e))&&((0,Pe().ai)({enterpriseInstall:["admin","other"].includes(a)}),Di)){const t=await browser.storage.managed.get();if(null!=t&&t.OfflineLicenseKey)return;browser.tabs.create({active:!0,url:`${e}/install-success`})}}else"update"===t&&Ra().yS.send(Ra()._O.devtools,"extension:update")}),Di&&browser.runtime.setUninstallURL(`${e}/uninstalled`)}var Ci;Ra().yS.listen("get-send-metrics",async()=>{const e=Date.now();let{shouldSendMetrics:t,shouldSendMetricsDeadline:a=0}=await browser.storage.local.get(["shouldSendMetrics","shouldSendMetricsDeadline"]);if(void 0!==t||e<a)return t;try{let{axeServerURL:a}=await browser.storage.local.get("axeServerURL");const n=await fetch(`${"default"===a?Ri:a}/api/extension/collect-user-data`,{redirect:"follow"});return t=await n.json(),browser.storage.local.set({shouldSendMetrics:t,shouldSendMetricsDeadline:e+3600}),(0,Pe().rO)(t),t}catch{return!1}}),Ra().yS.listen("i18n:apply",async({message:{locale:e}})=>{"en"===e?It().X0({locales:"en",translations:{}}):It().X0({locales:e,translations:si[e]||{}})}),oi(),"function"==typeof(null===(Ci=globalThis.chrome)||void 0===Ci||null===(Ci=Ci.debugger)||void 0===Ci?void 0:Ci.sendCommand)&&Si(),Di&&(Ra().yS.listen("user-flow-analysis:save-results",async({message:{id:e,results:t,extensionVersion:a},tabId:n})=>{try{return await ke().A.put(`/api/axe-devtools-pro/user-flows/${e}/results`,{results:t,axe_extension_version:a},{jsonResponse:!1})}catch(e){return(0,ge().A)(n,e,rn()),null}}),Ra().yS.listen("user-flow-analysis:create",async({message:e,tabId:t})=>{try{return await ke().A.post("/api/axe-devtools-pro/user-flows",e)}catch(e){return(0,ge().A)(t,e,rn()),null}}),Ra().yS.listen("user-flow-analysis:get",async({message:{id:e},tabId:t})=>{try{return await ke().A.get(`/api/axe-devtools-pro/user-flows/${e}`)}catch(e){return(0,ge().A)(t,e,cn()),null}}),Ra().yS.listen("user-flow-analysis:get-results",async({message:{id:e},tabId:t})=>{try{return await ke().A.get(`/api/axe-devtools-pro/user-flows/${e}/results`)}catch(e){return(0,ge().A)(t,e,cn()),null}}),Ra().yS.listen("user-flow-analysis:update",async({message:e,tabId:t})=>{try{return await ke().A.put(`/api/axe-devtools-pro/user-flows/${e.id}`,e)}catch(e){return(0,ge().A)(t,e,rn()),null}}),Ra().yS.listen("user-flow-analysis:delete",async({message:{id:e},tabId:t})=>{try{return await ke().A.delete(`/api/axe-devtools-pro/user-flows/${e}`),!0}catch(e){return(0,ge().A)(t,e,It().Ay`Failed to delete user flow. Please try again.`),null}}),Ra().yS.listen("user-flow-analysis:upsert-page-state",async({message:{userFlowId:e,pageStateId:t,pageStateName:a},tabId:n})=>{try{return await ke().A.put(`/api/axe-devtools-pro/user-flows/${e}/page-state-metadata/${t}`,{page_state_name:a})}catch(e){return(0,ge().A)(n,e,It().Ay`Failed to update or insert page state. Please try again.`),null}}),Ra().yS.listen("user-flow-analysis:get-page-state-metadata",async({message:{id:e},tabId:t})=>{try{return await ke().A.get(`/api/axe-devtools-pro/user-flows/${e}/page-state-metadata`)}catch(e){return(0,ge().A)(t,e,It().Ay`Failed to fetch page state. Please try again.`),null}}),function(){let e=null;Ra().yS.listen("ai-analysis:cancel",()=>{e&&e.abort()}),Ra().yS.listen("analyze-interactive-elements",async({message:t,tabId:a})=>{const n=(0,Z().A)("ieAutomation"),{screenshotId:i,vnodes:o,manifestId:s,lean:r}=t;try{n.start(),e=new AbortController;const t=await ke().A.post("/api/ml/evaluate-interactive-elements"+(!0===r?"?lean=true":""),{screenshotId:i,vnodes:o},{signal:e.signal});n.end(),Pe().AL(n.measure().duration);for(const e of t)"errorMessage"in e?Pe().iE({type:"general",vnodeId:e.vnodeId,screenshotId:i,manifestId:s}):("string"==typeof e.visibility&&"fully_visible"!==e.visibility&&Pe().iE({type:"visibility",vnodeId:e.vnodeId,screenshotId:i,manifestId:s}),e.voting_metadata&&!e.voting_metadata.consensus_reached&&Pe().iE({type:"nonConsensus",vnodeId:e.vnodeId,screenshotId:i,manifestId:s}));Ra().yS.send(Ra()._O.devtools,"analyze-interactive-elements:complete",{results:t},{tabId:a})}catch(t){var c;if(null!==(c=e)&&void 0!==c&&c.signal.aborted)return;const n=t instanceof te().N&&402===t.status;(0,ge().A)(a,t,un),Pe().iE({type:"general",vnodeId:null,screenshotId:i,manifestId:s}),Ra().yS.send(Ra()._O.devtools,"analyze-interactive-elements:complete",function(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?ln(Object(a),!0).forEach(function(t){dn(e,t,a[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):ln(Object(a)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))})}return e}({results:[]},n&&{subscriptionMissing:!0}),{tabId:a})}finally{e=null}})}(),function(){let e=null,t=null;const a={onAbortControllerCreated:t=>{e=t},onComplete:()=>{e=null}};Ra().yS.listen("ai-analysis:cancel",()=>{e&&e.abort(),t&&t.abort()}),Ra().yS.listen("keyboard:replay-escape-strategy",async({message:e,tabId:t})=>{const{manifest:n,keyboardTrap:i,screenshotId:o,keyboardTrapVnode:s,elementScreenshotKey:r,elementBoxInScreenshot:c}=e,l=i.vnode;try{var d;if("number"!=typeof t)throw new Error("Tab ID is required");if(null===(d=i.succeededAIStrategy)||void 0===d||!d.length)throw new Error("Succeeded AI strategy is required");const e=i.succeededAIStrategy.flatMap(e=>bn(e)),u=await Sn({tabId:t,keys:e,manifest:n,keyboardTrapVnode:l});if(u.escapedToNewVnode){const e=In(In({},u),{},{aiResult:null,isLastAttempt:!0,isReplay:!0,succeededAIStrategy:i.succeededAIStrategy});return void An(e,t)}await Tn({tabId:t,screenshotId:o,manifest:n,keyboardTrapVnode:s,trapErrorMessage:Dn,elementScreenshotKey:r,elementBoxInScreenshot:c},a)}catch(e){if("number"!=typeof t)return void En({tabId:t,error:e instanceof Error?e:new Error(String(e)),vnodeId:l.vnodeId,screenshotId:o,manifestId:n.id,trapErrorMessage:Dn,isReplay:!0});await Tn({tabId:t,screenshotId:o,manifest:n,keyboardTrapVnode:s,trapErrorMessage:Dn,elementScreenshotKey:r,elementBoxInScreenshot:c},a)}}),Ra().yS.listen("keyboard:auto-escape-trap",async({message:e,tabId:t})=>{const{screenshotId:n,manifest:i,keyboardTrapVnode:o,elementScreenshotKey:s,elementBoxInScreenshot:r}=e;"number"==typeof t?await Tn({tabId:t,screenshotId:n,manifest:i,keyboardTrapVnode:o,trapErrorMessage:Dn,elementScreenshotKey:s,elementBoxInScreenshot:r},a):En({tabId:t,error:new Error("Tab ID is required"),vnodeId:o.vnodeId,screenshotId:n,manifestId:i.id,trapErrorMessage:Dn})}),Ra().yS.listen("keyboard:analyze-tabstops",async({message:e,tabId:a})=>{const n=(0,Z().A)("aiAnalyzeTabstops"),{page_screenshot_uuid:i,sagemaker_tabstops:o,manifestId:s}=e;if(o.length)try{n.start(),t=new AbortController;const e=await ke().A.post("/api/ml/keyboard-igt/validate-sagemaker-tabstops",{page_screenshot_uuid:i,sagemaker_tabstops:o},{signal:t.signal});if(n.end(),"error"in e)return Pe().iE({eventTool:"keyboard",type:"general",vnodeId:null,screenshotId:i,manifestId:s}),void Ra().yS.send(Ra()._O.devtools,"keyboard:analyze-tabstops:complete",{results:e},{tabId:a});Pe().UU(n.measure().duration),Ra().yS.send(Ra()._O.devtools,"keyboard:analyze-tabstops:complete",{results:e.results},{tabId:a})}catch(e){var r;if(n.end(),null!==(r=t)&&void 0!==r&&r.signal.aborted)return;const o=e instanceof te().N&&402===e.status;(0,ge().A)(a,e,Cn),Pe().iE({eventTool:"keyboard",type:"general",vnodeId:null,screenshotId:i,manifestId:s}),Ra().yS.send(Ra()._O.devtools,"keyboard:analyze-tabstops:complete",In({results:[]},o&&{subscriptionMissing:!0}),{tabId:a})}finally{t=null}else Ra().yS.send(Ra()._O.devtools,"keyboard:analyze-tabstops:complete",{results:[]},{tabId:a})})}(),function(){let e=null;Ra().yS.listen("ai-analysis:cancel",()=>{e&&e.abort()}),Ra().yS.listen("analyze-images",async({message:t,tabId:a})=>{const{manifestId:n,page_screenshot_uuid:i}=t,o=function(e,t){if(null==e)return{};var a,n,i=function(e,t){if(null==e)return{};var a={};for(var n in e)if({}.hasOwnProperty.call(e,n)){if(-1!==t.indexOf(n))continue;a[n]=e[n]}return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n<o.length;n++)a=o[n],-1===t.indexOf(a)&&{}.propertyIsEnumerable.call(e,a)&&(i[a]=e[a])}return i}(t,Nn);try{e=new AbortController;const t=await ke().A.post("/api/ml/evaluate-images",Pn(Pn({},o),{},{page_screenshot_uuid:i}),{signal:e.signal});e=null;for(const[e,a]of Object.entries(t.results))"error"in a&&(0,Pe().iE)({type:"general",vnodeId:e,screenshotId:i,manifestId:n});Ra().yS.send(Ra()._O.devtools,"analyze-images:complete",{results:t},{tabId:a})}catch(t){var s;if(null!==(s=e)&&void 0!==s&&s.signal.aborted)return void(e=null);(0,ge().A)(a,t,It().Ay`There was a problem analyzing your images. Please try again.`),(0,Pe().iE)({type:"general",vnodeId:null,screenshotId:i,manifestId:n}),Ra().yS.send(Ra()._O.devtools,"analyze-images:complete",{results:{results:{}}},{tabId:a})}})}(),function(){let e=null;Ra().yS.listen("ai-analysis:cancel",()=>{e&&e.abort()}),Ra().yS.listen("structure:analyze-application-elements",async({message:t,tabId:a})=>{const{manifestId:n,page_screenshot_uuid:i,candidates:o}=t;if(o.length&&i)try{e=new AbortController;const t=await ke().A.post("/api/ml/structure-igt/application-evaluator/evaluate",{page_screenshot_uuid:i,candidates:o},{signal:e.signal});Ra().yS.send(Ra()._O.devtools,"structure:analyze-application-elements:complete",{results:t.evaluations??[]},{tabId:a})}catch(t){var s;if(null!==(s=e)&&void 0!==s&&s.signal.aborted)return;(0,ge().A)(a,t,qn),Pe().iE({eventTool:"structure",type:"general",vnodeId:null,screenshotId:i,manifestId:n}),Ra().yS.send(Ra()._O.devtools,"structure:analyze-application-elements:complete",{results:[]},{tabId:a})}finally{e=null}else Ra().yS.send(Ra()._O.devtools,"structure:analyze-application-elements:complete",{results:[]},{tabId:a})}),Ra().yS.listen("structure:analyze-lists",async({message:t,tabId:a})=>{const{manifestId:n,page_screenshot_uuid:i,lists:o}=t;if(o.length&&i)try{e=new AbortController;const t=await ke().A.post("/api/ml/structure-igt/list-markup-analyzer/analyze",{page_screenshot_uuid:i,lists:o},{signal:e.signal});Ra().yS.send(Ra()._O.devtools,"structure:analyze-lists:complete",{results:t.results??[]},{tabId:a})}catch(t){var s;if(null!==(s=e)&&void 0!==s&&s.signal.aborted)return;(0,ge().A)(a,t,Gn),Pe().iE({eventTool:"structure",type:"general",vnodeId:null,screenshotId:i,manifestId:n}),Ra().yS.send(Ra()._O.devtools,"structure:analyze-lists:complete",{results:[]},{tabId:a})}finally{e=null}else Ra().yS.send(Ra()._O.devtools,"structure:analyze-lists:complete",{results:[]},{tabId:a})}),Ra().yS.listen("structure:analyze-frame-titles",async({message:t,tabId:a})=>{const{manifestId:n,page_screenshot_uuid:i,zoom_level:o,frames:s}=t;if(!s.length||!i)return void Ra().yS.send(Ra()._O.devtools,"structure:analyze-frame-titles:complete",{results:[]},{tabId:a});const r={frames:s.map(e=>_n(_n({page_screenshot_uuid:i,frame_title:e.frame_title,frame_source:e.frame_source,frame_bounding_box:e.frame_bounding_box},void 0!==o?{zoom_level:o}:{}),e.elementScreenshotKey&&e.elementBoxInScreenshot?{elementScreenshotKey:e.elementScreenshotKey,elementBoxInScreenshot:e.elementBoxInScreenshot}:{}))};try{e=new AbortController;const t=await ke().A.post("/api/ml/structure-igt/frame-title-analyzer/analyze",r,{signal:e.signal});if(!Array.isArray(t)||t.length!==s.length)throw new Error(`frame-title-analyzer response length mismatch: expected ${s.length}, got ${Array.isArray(t)?t.length:typeof t}`);const n=t.map((e,t)=>"error"in e?{vnodeId:s[t].id,error_message:e.error}:_n({id:s[t].id},e));Ra().yS.send(Ra()._O.devtools,"structure:analyze-frame-titles:complete",{results:n},{tabId:a})}catch(t){var c;if(null!==(c=e)&&void 0!==c&&c.signal.aborted)return;(0,ge().A)(a,t,Ln),Pe().iE({eventTool:"structure",type:"general",vnodeId:null,screenshotId:i,manifestId:n}),Ra().yS.send(Ra()._O.devtools,"structure:analyze-frame-titles:complete",{results:[]},{tabId:a})}finally{e=null}}),Ra().yS.listen("structure:analyze-document-title",async({message:t,tabId:a})=>{const{manifestId:n,page_title:i,page_screenshot_uuid:o,title_element_markup:s,heading_ancestry:r}=t;if(i&&o)try{e=new AbortController;const t=await ke().A.post("/api/ml/structure-igt/page-title-analyzer/analyze",_n(_n({page_title:i,page_screenshot_uuid:o},s?{title_element_markup:s}:{}),null!=r&&r.length?{heading_ancestry:r}:{}),{signal:e.signal});"error"in t?(Pe().iE({eventTool:"structure",type:"general",vnodeId:null,screenshotId:o,manifestId:n}),Ra().yS.send(Ra()._O.devtools,"structure:analyze-document-title:complete",{results:[]},{tabId:a})):Ra().yS.send(Ra()._O.devtools,"structure:analyze-document-title:complete",{results:[t]},{tabId:a})}catch(t){var c;if(null!==(c=e)&&void 0!==c&&c.signal.aborted)return;(0,ge().A)(a,t,jn),Pe().iE({eventTool:"structure",type:"general",vnodeId:null,screenshotId:o,manifestId:n}),Ra().yS.send(Ra()._O.devtools,"structure:analyze-document-title:complete",{results:[]},{tabId:a})}finally{e=null}else Ra().yS.send(Ra()._O.devtools,"structure:analyze-document-title:complete",{results:[]},{tabId:a})}),Ra().yS.listen("structure:analyze-languages",async({message:e,tabId:t})=>{const{langElements:a,htmlLangElement:n}=e,i=[...n?[n]:[],...a];await new Promise(e=>setTimeout(e,100)),Ra().yS.send(Ra()._O.devtools,"structure:analyze-languages:complete",{results:i},{tabId:t})}),Ra().yS.listen("structure:analyze-headings",async({message:t,tabId:a})=>{const{manifestId:n,page_screenshot_uuid:i,headings_to_validate:o}=t;if(o.length&&i)try{e=new AbortController;const t=await ke().A.post("/api/ml/structure-igt/heading-detection/validate-semantic-headings",{page_screenshot_uuid:i,headings_to_validate:o},{signal:e.signal});Ra().yS.send(Ra()._O.devtools,"structure:analyze-headings:complete",{results:t.validations},{tabId:a})}catch(t){var s;if(null!==(s=e)&&void 0!==s&&s.signal.aborted)return;(0,ge().A)(a,t,Fn),Pe().iE({eventTool:"structure",type:"general",vnodeId:null,screenshotId:i,manifestId:n}),Ra().yS.send(Ra()._O.devtools,"structure:analyze-headings:complete",{results:[]},{tabId:a})}finally{e=null}else Ra().yS.send(Ra()._O.devtools,"structure:analyze-headings:complete",{results:[]},{tabId:a})})}(),function(){let e=null;Ra().yS.listen("ai-analysis:cancel",()=>{e&&e.abort()}),Ra().yS.listen("analyze-modal-focus-restoration:signal-error",({message:e,tabId:t})=>{const{manifestId:a,screenshotId:n}=e??{};if(a){const e={type:"general",vnodeId:null,screenshotId:n??"",manifestId:a};Pe().iE(e)}Ra().yS.send(Ra()._O.devtools,"analyze-modal-focus-restoration:complete",Kn,{tabId:t})}),Ra().yS.listen("analyze-modal-focus-restoration",async({message:t,tabId:a})=>{const n=(0,Z().A)("modalIgtFocusRestoration"),{manifestId:i,full_page_screenshot_uuid:o}=t,s=function(e,t){if(null==e)return{};var a,n,i=function(e,t){if(null==e)return{};var a={};for(var n in e)if({}.hasOwnProperty.call(e,n)){if(-1!==t.indexOf(n))continue;a[n]=e[n]}return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n<o.length;n++)a=o[n],-1===t.indexOf(a)&&{}.propertyIsEnumerable.call(e,a)&&(i[a]=e[a])}return i}(t,Un);try{n.start(),e=new AbortController;const t=Vn({full_page_screenshot_uuid:o},s),r=await ke().A.post("/api/ml/modal-igt/analyze-focus-restoration",t,{signal:e.signal});if(n.end(),!(e=>{if(!e||"object"!=typeof e)return!1;const t=e;return!("boolean"!=typeof t.focus_returns_to_logical_place||void 0!==t.scratch_pad&&"string"!=typeof t.scratch_pad||void 0!==t.expected_focus_target&&"string"!=typeof t.expected_focus_target)})(r)){const e={type:"general",vnodeId:null,screenshotId:o,manifestId:i};return Pe().iE(e),void Ra().yS.send(Ra()._O.devtools,"analyze-modal-focus-restoration:complete",Kn,{tabId:a})}const c={results:{focus_returns_to_logical_place:r.focus_returns_to_logical_place,scratch_pad:r.scratch_pad??"",expected_focus_target:r.expected_focus_target??""}};Pe().Ql(n.measure().duration),Ra().yS.send(Ra()._O.devtools,"analyze-modal-focus-restoration:complete",c,{tabId:a})}catch(t){var r;if(null!==(r=e)&&void 0!==r&&r.signal.aborted)return;const n=t instanceof te().N&&402===t.status;(0,ge().A)(a,t,Hn);const s={type:"general",vnodeId:null,screenshotId:o,manifestId:i};Pe().iE(s),Ra().yS.send(Ra()._O.devtools,"analyze-modal-focus-restoration:complete",Vn(Vn({},Kn),n&&{subscriptionMissing:!0}),{tabId:a})}finally{e=null}})}(),function(){let e=null;Ra().yS.listen("ai-analysis:cancel",()=>{e&&e.abort()}),Ra().yS.listen("analyze-modal-dismissibility:signal-error",({message:e,tabId:t})=>{const{manifestId:a,screenshotId:n}=e??{};if(a){const e={type:"general",vnodeId:null,screenshotId:n??"",manifestId:a};Pe().iE(e)}Ra().yS.send(Ra()._O.devtools,"analyze-modal-dismissibility:complete",ei,{tabId:t})}),Ra().yS.listen("analyze-modal-dismissibility",async({message:t,tabId:a})=>{const n=(0,Z().A)("modalIgtDismissibility"),{manifestId:i}=t,o=function(e,t){if(null==e)return{};var a,n,i=function(e,t){if(null==e)return{};var a={};for(var n in e)if({}.hasOwnProperty.call(e,n)){if(-1!==t.indexOf(n))continue;a[n]=e[n]}return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n<o.length;n++)a=o[n],-1===t.indexOf(a)&&{}.propertyIsEnumerable.call(e,a)&&(i[a]=e[a])}return i}(t,Yn);try{n.start(),e=new AbortController;const t=await ke().A.post("/api/ml/modal-igt/assess-modal-dismissibility",o,{signal:e.signal});if(n.end(),!(e=>{if(!e||"object"!=typeof e)return!1;const t=e;return"boolean"==typeof t.is_dismissible&&Array.isArray(t.bounding_boxes)&&t.bounding_boxes.every(ti)&&(void 0===t.scratch_pad||"string"==typeof t.scratch_pad)})(t)){const e={type:"general",vnodeId:null,screenshotId:o.full_page_screenshot_uuid,manifestId:i};return Pe().iE(e),void Ra().yS.send(Ra()._O.devtools,"analyze-modal-dismissibility:complete",ei,{tabId:a})}const s={results:{is_dismissible:t.is_dismissible,bounding_boxes:t.bounding_boxes,scratch_pad:t.scratch_pad??""}};Pe().A2(n.measure().duration),Ra().yS.send(Ra()._O.devtools,"analyze-modal-dismissibility:complete",s,{tabId:a})}catch(t){var s;if(null!==(s=e)&&void 0!==s&&s.signal.aborted)return;const n=t instanceof te().N&&402===t.status;(0,ge().A)(a,t,Qn);const r={type:"general",vnodeId:null,screenshotId:o.full_page_screenshot_uuid,manifestId:i};Pe().iE(r),Ra().yS.send(Ra()._O.devtools,"analyze-modal-dismissibility:complete",Zn(Zn({},ei),n&&{subscriptionMissing:!0}),{tabId:a})}finally{e=null}})}(),function(){let e=null;Ra().yS.listen("ai-analysis:cancel",()=>{e&&e.abort()}),Ra().yS.listen("analyze-table",async({message:t,tabId:a})=>{const{manifestId:n}=t,i=function(e,t){if(null==e)return{};var a,n,i=function(e,t){if(null==e)return{};var a={};for(var n in e)if({}.hasOwnProperty.call(e,n)){if(-1!==t.indexOf(n))continue;a[n]=e[n]}return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n<o.length;n++)a=o[n],-1===t.indexOf(a)&&{}.propertyIsEnumerable.call(e,a)&&(i[a]=e[a])}return i}(t,ai),o=()=>{const e={type:"general",vnodeId:null,screenshotId:"",manifestId:n};Pe().iE(e)};try{e=new AbortController;const t=await ke().A.post("/api/ml/table-igt/analyze",i,{signal:e.signal});if(!function(e){if(!e||"object"!=typeof e||"error"in e)return!1;const t=e;return"string"==typeof t.summary&&("layout"===t.type?null===t.cells:"data"===t.type&&Array.isArray(t.cells))}(t)){o();const e=function(e){if(!e||"object"!=typeof e||!("error"in e)||!("error_type"in e))return;const{error_type:t}=e;return"string"==typeof t?t:void 0}(t);return e?{error:!0,errorType:e}:ii}return t}catch(t){var s;return null!==(s=e)&&void 0!==s&&s.signal.aborted||((0,ge().A)(a,t,ni),o()),ii}finally{e=null}})}(),Ra().yS.listen("connections:fetch",async({tabId:e,message:{enterpriseId:t}})=>{try{return await ke().A.get(`/api/integrations/enterprises/${t}/connections`)}catch(t){return(0,ge().A)(e,t,It().Ay`Failed to fetch connections.`),null}}),Ra().yS.listen("connections:share",async e=>{let{message:{hideNotification:t,enterpriseId:a,connectionId:n,event:i},tabId:o}=e,s=function(e,t){if(null==e)return{};var a,n,i=function(e,t){if(null==e)return{};var a={};for(var n in e)if({}.hasOwnProperty.call(e,n)){if(-1!==t.indexOf(n))continue;a[n]=e[n]}return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n<o.length;n++)a=o[n],-1===t.indexOf(a)&&{}.propertyIsEnumerable.call(e,a)&&(i[a]=e[a])}return i}(e.message,ri);try{return await ke().A.post(`/api/integrations/enterprises/${a}/connections/${n}/webhooks/${i}/trigger`,s)}catch(e){return t||(0,ge().A)(o,e,It().Ay`Failed to share test.`),null}}),function({getServerUrl:e=le().A,getServerInfo:t=ce().Ay}={}){Ra().yS.listen("ai-credits:has-sufficient-balance",async({tabId:a})=>{try{const{isOnPrem:a}=await t(await e());if(a)return!0;const n=await ke().A.get("/api/ai-tokens/balance"),i=n.limits.find(e=>e.id===n.default_metric_limit_id);return!!i&&n.metric_value<i.limit_value}catch(e){return(0,ge().A)(a,e,It().Ay`Failed to fetch ai credit balance.`),!1}})}(),Ra().yS.listen("element-signals:lookup",async({message:e})=>{const{kind:t,host:a,items:n}=e;try{const e=await async function(e,t,a){const n=[];for(const i of ci(a)){const a=i.map(e=>({idx:e.idx,fingerprint:e.fingerprint,fingerprint_version:1,image_hash:e.imageHash,image_hash_version:1})),o=await ke().A.post("/api/element-signals/lookup",{kind:e,host:t,items:a});n.push(...(null==o?void 0:o.matches)??[])}return n}(t,a,n);return{matches:e}}catch(e){return(0,me().vV)({originalError:e,message:"element-signals lookup failed"}),{matches:[]}}}),Ra().yS.listen("element-signals:record",({message:e})=>{const{kind:t,host:a,entries:n}=e;(async function(e,t,a){for(const n of ci(a)){const a=n.map(e=>({fingerprint:e.fingerprint,fingerprint_version:1,image_hash:e.imageHash,image_hash_version:1,vitals:e.vitals,payload:e.payload}));await ke().A.post("/api/element-signals",{kind:e,host:t,entries:a})}})(t,a,n).catch(e=>{(0,me().vV)({originalError:e,message:"element-signals record failed"})})}),Ra().yS.listen("element-signals:restore",async({message:e})=>{const{kind:t,host:a,items:n}=e;try{return await async function(e,t,a){for(const n of ci(a)){const a=n.map(e=>({fingerprint:e.fingerprint,fingerprint_version:1,image_hash:e.imageHash,image_hash_version:1,vitals:e.vitals}));await ke().A.post("/api/element-signals/restore",{kind:e,host:t,items:a})}}(t,a,n),{ok:!0}}catch(e){return(0,me().vV)({originalError:e,message:"element-signals restore failed"}),{ok:!1}}}),Ra().yS.listen("get-inspected-tab-url",async({tabId:e})=>{if("number"!=typeof e)return"";try{const t=await browser.tabs.get(e);return(null==t?void 0:t.url)??""}catch(e){return(0,me().vV)({originalError:e,message:"get-inspected-tab-url failed"}),""}}),Se(),Ra().yS.listen("navigate",async({tabId:e,message:t})=>browser.tabs.update(e,{url:t})),Ra().yS.listen("get-auth-code",async({message:{loginUrl:e}})=>{try{const t=await fetch(e);return Ja()()(t.ok),(0,ve().Gm)(t.url)}catch(e){(0,Pe().YG)("Unable to fetch auth code",{exception:e})}}),Ra().yS.listen("get-sso-config",async({message:e})=>{const t=await(0,le().A)(),{socialProvider:a,redirectPath:n}=e;try{const{url:e,realm:i,publicClientId:o,openIdConnectUrl:s}=await(0,ve().M$)(),r=new URL(`${t}${n||""}`),c=new URL(`${s}/auth`);r.searchParams.set("fromextension","true"),a&&r.searchParams.set("socialProvider",a),c.searchParams.set("redirect_uri",r.href),c.searchParams.set("client_id",o),c.searchParams.set("response_type","code"),c.searchParams.set("response_mode","query"),c.searchParams.set("scope","openid");const l={authUrl:e,realm:i,publicClientId:o,redirectUrl:r.href,loginUrl:c.href,logoutUrl:`${s}/logout`,tokenUrl:`${s}/token`};return await browser.storage.local.set({"sso-config":l}),l}catch{return{error:!0}}}),Ra().yS.listen("get-session",async({message:e})=>{const{tokenUrl:t,code:a,publicClientId:n,redirectUri:i}=e,o=new FormData;o.append("code",a),o.append("grant_type","authorization_code"),o.append("client_id",n),o.append("redirect_uri",i);const s=new URLSearchParams(o).toString();return(await fetch(t,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:s})).json()}),Ra().yS.listen("get-session-user",async({message:e})=>{const{access_token:t}=e,{axeServerURL:a}=await browser.storage.local.get("axeServerURL"),n=await fetch(`${"default"===a?Ri:a}/api/logged-in`,{headers:{Authorization:`Bearer ${t}`}}),i=await n.json(),o=i&&i.roles&&i.roles.find(e=>ee().A.map(e=>e.name).includes(e));return o&&browser.storage.local.set({userJobRole:o}),i}),Ra().yS.listen("app:logout",async()=>{(await browser.tabs.query({})).forEach(({id:e})=>{Ra().yS.send(Ra()._O.devtools,"app:logout",null,{tabId:e})})}),Ra().yS.listen("extension:logout",async()=>{(await browser.tabs.query({})).forEach(({id:e})=>{Ra().yS.send(Ra()._O.content,"extension:logout",null,{tabId:e})})}),Ra().yS.listen("guided:cross-origin-feature",async()=>(0,H().x)("cross_origin_partial_page_scan"))),Ra().yS.listen("internals:feature-enabled",async()=>(0,H().x)("element_internals_v1")),Ra().yS.listen("analyze:scoped",async()=>{const{enableOffline:e,sentAnalyticsScoped:t,axeServerURL:a,session:n={}}=await browser.storage.local.get(["enableOffline","sentAnalyticsScoped","axeServerURL","session"]);if(t||e)return;const i="default"===a?Ri:a;try{(await fetch(`${i}/api/analytics`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${n.access_token}`},body:JSON.stringify({event_name:"axe_first_scoped_test_date"})})).ok&&browser.storage.local.set({sentAnalyticsScoped:!0})}catch{}}),Ra().yS.listen("app:plan:change",()=>{(0,ve().ZG)("app:plan:get")}),Ra().yS.listen("run-advanced-rules",async({message:{advancedRuleInput:e,screenshotId:t},tabId:a})=>{try{return await ke().A.post("/api/axe-devtools-pro/advanced-rules",{advancedRuleInput:e,screenshotId:t,timeout:6e4})}catch(e){(0,ge().A)(a,e,It().Ay`There was a problem running advanced rules. Please try again.`)}});new en.BackgroundRecorder({bridge:Ra().yS,debugger:browser.debugger,runtime:browser.runtime})})()})();