/*! For license information please see background.bundle.js.LICENSE.txt */ (()=>{var e={8315:function(e,t,n){var r;!function(i,o){"use strict";var s="function",a="undefined",c="object",u="string",p="model",d="name",l="type",h="vendor",f="version",m="architecture",g="console",y="mobile",b="tablet",v="smarttv",w="wearable",k="embedded",x="Amazon",T="Apple",S="ASUS",O="BlackBerry",_="Firefox",E="Google",I="Huawei",j="LG",A="Microsoft",C="Motorola",P="Opera",R="Samsung",N="Sharp",D="Sony",U="Xiaomi",q="Zebra",L="Facebook",F=function(e){for(var t={},n=0;n0?2===a.length?typeof a[1]==s?this[a[0]]=a[1].call(this,p):this[a[0]]=a[1]:3===a.length?typeof a[1]!==s||a[1].exec&&a[1].test?this[a[0]]=p?p.replace(a[1],a[2]):o:this[a[0]]=p?a[1].call(this,p,a[2]):o:4===a.length&&(this[a[0]]=p?a[3].call(this,p.replace(a[1],a[2])):o):this[a]=p||o;d+=2}},J=function(e,t){for(var n in t)if(typeof t[n]===c&&t[n].length>0){for(var r=0;r350?$(e,350):e,this},this.setUA(n),this};V.VERSION="0.7.33",V.BROWSER=F([d,f,"major"]),V.CPU=F([m]),V.DEVICE=F([p,h,l,g,y,v,b,w,k]),V.ENGINE=V.OS=F([d,f]),typeof t!==a?(e.exports&&(t=e.exports=V),t.UAParser=V):n.amdO?(r=function(){return V}.call(t,n,t,e))===o||(e.exports=r):typeof i!==a&&(i.UAParser=V);var Z=typeof i!==a&&(i.jQuery||i.Zepto);if(Z&&!Z.ua){var H=new V;Z.ua=H.getResult(),Z.ua.get=function(){return H.getUA()},Z.ua.set=function(e){H.setUA(e);var t=H.getResult();for(var n in t)Z.ua[n]=t[n]}}}("object"==typeof window?window:this)},4925:(e,t,n)=>{"use strict";n.d(t,{fy:()=>Rt});var r=function(){return r=Object.assign||function(e){for(var t,n=1,r=arguments.length;n]+)>|([^)]+))\((.*)\))? in (.*):\s*$/i,o=t.split("\n"),a=[],c=0;c|\/).*?)(?::(\d+))?(?::(\d+))?\)?\s*$/i,c=/^\s*(.*?)(?:\((.*?)\))?(?:^|@)((?:file|https?|blob|chrome|webpack|resource|capacitor|\[native).*?|[^@]*bundle)(?::(\d+))?(?::(\d+))?\s*$/i,u=/^\s*at (?:((?:\[object object\])?.+) )?\(?((?:file|ms-appx|https?|webpack|blob):.*?):(\d+)(?::(\d+))?\)?\s*$/i,d=/(\S+) line (\d+)(?: > eval line \d+)* > eval/i,h=/\((\S*)(?::(\d+))(?::(\d+))\)/,f=t.split("\n"),m=[],g=0,y=f.length;g eval")>-1,r=d.exec(i[3]),n&&r?(i[3]=r[1],i[4]=r[2],i[5]=void 0):0!==g||i[5]||l(e.columnNumber)||(m[0].column=e.columnNumber+1),o={args:i[2]?i[2].split(","):[],column:i[5]?+i[5]:void 0,func:i[1]||s,line:i[4]?+i[4]:void 0,url:i[3]}}!o.func&&o.line&&(o.func=s),m.push(o)}if(!m.length)return;return{stack:m,message:p(e,"message"),name:p(e,"name")}}(e),n)return n}catch(e){if(c)throw e}try{if(n=function(e){var t=p(e,"message");if(!t)return;var n=t.split("\n");if(n.length<4)return;var r,i=/^\s*Line (\d+) of linked script ((?:file|https?|blob)\S+)(?:: in function (\S+))?\s*$/i,o=/^\s*Line (\d+) of inline#(\d+) script in ((?:file|https?|blob)\S+)(?:: in function (\S+))?\s*$/i,a=/^\s*Line (\d+) of function script\s*$/i,c=[],u=window&&window.document&&window.document.getElementsByTagName("script"),l=[];for(var h in u)d(u,h)&&!u[h].src&&l.push(u[h]);for(var f=2;f0&&i[0].url===r.url){if(i[0].line===r.line)return!1;if(!i[0].line&&i[0].func===r.func)return i[0].line=r.line,i[0].context=r.context,!1}return i.unshift(r),e.partial=!0,!0}e.incomplete=!0}(h,p(e,"sourceURL")||p(e,"fileName"),p(e,"line")||p(e,"lineNumber")),h}function p(e,t){if("object"==typeof e&&e&&t in e){var n=e[t];return"string"==typeof n?n:void 0}}function d(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function l(e){return void 0===e}var h,f,m=1e3,g=6e4;function y(e,t,n){var r,i,o=!n||void 0===n.leading||n.leading,s=!n||void 0===n.trailing||n.trailing,a=!1;return{throttled:function(){for(var n=[],c=0;c>parseInt(e,10)/4).toString(16):"10000000-1000-4000-8000-100000000000".replace(/[018]/g,b)}function v(){}function w(e,t,n){if(null==e)return JSON.stringify(e);var r=[!1,void 0];k(e)&&(r=[!0,e.toJSON],delete e.toJSON);var i,o,s=[!1,void 0];"object"==typeof e&&k(i=Object.getPrototypeOf(e))&&(s=[!0,i.toJSON],delete i.toJSON);try{o=JSON.stringify(e,t,n)}catch(e){o=""}finally{r[0]&&(e.toJSON=r[1]),s[0]&&(i.toJSON=s[1])}return o}function k(e){return"object"==typeof e&&null!==e&&Object.prototype.hasOwnProperty.call(e,"toJSON")}function x(e,t){return-1!==e.indexOf(t)}function T(e){return Object.keys(e).map((function(t){return e[t]}))}function S(e,t,n,r){return O(e,[t],n,r)}function O(e,t,n,r){var i=void 0===r?{}:r,o=i.once,s=i.capture,a=i.passive,c=Y(o?function(e){p(),n(e)}:n),u=a?{capture:s,passive:a}:s;t.forEach((function(t){return e.addEventListener(t,c,u)}));var p=function(){return t.forEach((function(t){return e.removeEventListener(t,c,u)}))};return{stop:p}}function _(e,t,n){if(void 0===n&&(n=function(){if("undefined"!=typeof WeakSet){var e=new WeakSet;return{hasAlreadyBeenSeen:function(t){var n=e.has(t);return n||e.add(t),n}}}var t=[];return{hasAlreadyBeenSeen:function(e){var n=t.indexOf(e)>=0;return n||t.push(e),n}}}()),void 0===t)return e;if("object"!=typeof t||null===t)return t;if(t instanceof Date)return new Date(t.getTime());if(t instanceof RegExp){var r=t.flags||[t.global?"g":"",t.ignoreCase?"i":"",t.multiline?"m":"",t.sticky?"y":"",t.unicode?"u":""].join("");return new RegExp(t.source,r)}if(!n.hasAlreadyBeenSeen(t)){if(Array.isArray(t)){for(var i=Array.isArray(e)?e:[],o=0;o":e.func,r=e.args&&e.args.length>0?"("+e.args.join(", ")+")":"",i=e.line?":"+e.line:"",o=e.line&&e.column?":"+e.column:"";t+="\n at "+n+r+" @ "+e.url+i+o})),t}function U(e){return(e.name||"Error")+": "+e.message}function q(){var e,t=new Error;if(!t.stack)try{throw t}catch(e){}return Q((function(){var n=a(t);n.stack=n.stack.slice(2),e=D(n)})),e}function L(e){return!!j&&j.has(e)}function F(){var e=L("event-bridge")?window.DatadogEventBridge:null;if(e)return{getAllowedWebViewHosts:function(){return JSON.parse(e.getAllowedWebViewHosts())},send:function(t,n){e.send(JSON.stringify({eventType:t,event:n}))}}}function M(){var e=F();return!!e&&x(e.getAllowedWebViewHosts(),window.location.hostname)}!function(e){e.HANDLED="handled",e.UNHANDLED="unhandled"}(I||(I={}));var B,$=/[^\u0000-\u007F]/,z=function(){function e(e,t,n,r,i,o){void 0===o&&(o=v),this.request=e,this.maxSize=t,this.bytesLimit=n,this.maxMessageSize=r,this.flushTimeout=i,this.beforeUnloadCallback=o,this.pushOnlyBuffer=[],this.upsertBuffer={},this.bufferBytesSize=0,this.bufferMessageCount=0,this.flushOnVisibilityHidden(),this.flushPeriodically()}return e.prototype.add=function(e){this.addOrUpdate(e)},e.prototype.upsert=function(e,t){this.addOrUpdate(e,t)},e.prototype.flush=function(e){if(0!==this.bufferMessageCount){var t=i(this.pushOnlyBuffer,T(this.upsertBuffer));this.request.send(t.join("\n"),this.bufferBytesSize,e),this.pushOnlyBuffer=[],this.upsertBuffer={},this.bufferBytesSize=0,this.bufferMessageCount=0}},e.prototype.sizeInBytes=function(e){return $.test(e)?void 0!==window.TextEncoder?(new TextEncoder).encode(e).length:new Blob([e]).size:e.length},e.prototype.addOrUpdate=function(e,t){var n=this.process(e),r=n.processedMessage,i=n.messageBytesSize;i>=this.maxMessageSize?o.warn("Discarded a message whose size was bigger than the maximum allowed size "+this.maxMessageSize+"KB."):(this.hasMessageFor(t)&&this.remove(t),this.willReachedBytesLimitWith(i)&&this.flush("willReachedBytesLimitWith"),this.push(r,i,t),this.isFull()&&this.flush("isFull"))},e.prototype.process=function(e){var t=w(e);return{processedMessage:t,messageBytesSize:this.sizeInBytes(t)}},e.prototype.push=function(e,t,n){this.bufferMessageCount>0&&(this.bufferBytesSize+=1),void 0!==n?this.upsertBuffer[n]=e:this.pushOnlyBuffer.push(e),this.bufferBytesSize+=t,this.bufferMessageCount+=1},e.prototype.remove=function(e){var t=this.upsertBuffer[e];delete this.upsertBuffer[e];var n=this.sizeInBytes(t);this.bufferBytesSize-=n,this.bufferMessageCount-=1,this.bufferMessageCount>0&&(this.bufferBytesSize-=1)},e.prototype.hasMessageFor=function(e){return void 0!==e&&void 0!==this.upsertBuffer[e]},e.prototype.willReachedBytesLimitWith=function(e){return this.bufferBytesSize+e+1>=this.bytesLimit},e.prototype.isFull=function(){return this.bufferMessageCount===this.maxSize||this.bufferBytesSize>=this.bytesLimit},e.prototype.flushPeriodically=function(){var e=this;setTimeout(Y((function(){e.flush("flushPeriodically"),e.flushPeriodically()})),this.flushTimeout)},e.prototype.flushOnVisibilityHidden=function(){var e=this;navigator.sendBeacon&&(S(window,"beforeunload",this.beforeUnloadCallback),S(document,"visibilitychange",(function(){"hidden"===document.visibilityState&&e.flush("visibilitychange")})),S(window,"beforeunload",(function(){return e.flush("beforeunload")})))},e}(),J=!1,G=function(){function e(e,t){this.endpointBuilder=e,this.bytesLimit=t}return e.prototype.send=function(e,t,n){var r=this.endpointBuilder.build(),i=!!navigator.sendBeacon&&t=200&&o.status<300||J||(J=!0,ee("XHR fallback failed",{on_line:navigator.onLine,size:t,url:r,try_beacon:i,flush_reason:n,event:{is_trusted:e.isTrusted,total:e.total,loaded:e.loaded},request:{status:o.status,ready_state:o.readyState,response_text:o.responseText.slice(0,512)}}))}(e)}))),o.open("POST",r,!0),o.send(e)},e}(),W=!1;!function(e){e.info="info",e.error="error"}(B||(B={}));var V,Z,H={maxMessagesPerPage:0,sentMessageCount:0};function K(e){var t;if(M()){var n=F();V=function(e){return n.send("internal_log",i(e))}}else if(e.internalMonitoringEndpointBuilder){var r=function(e){var t,n=r(e.internalMonitoringEndpointBuilder);function r(t){return new z(new G(t,e.batchBytesLimit),e.maxBatchSize,e.batchBytesLimit,e.maxMessageSize,e.flushTimeout)}return void 0!==e.replica&&(t=r(e.replica.internalMonitoringEndpointBuilder)),{add:function(e){n.add(e),t&&t.add(e)}}}(e);V=function(e){return r.add(i(e))}}function i(e){return E({date:(new Date).getTime()},void 0!==t?t():{},e)}return function(e){for(var t=[],n=1;n500&&this.buffer.splice(0,1)},e.prototype.drain=function(){this.buffer.forEach((function(e){return e()})),this.buffer.length=0},e}();function de(e,t,n,r){var i=new Date;i.setTime(i.getTime()+n);var o="expires="+i.toUTCString(),s=r&&r.crossSite?"none":"strict",a=r&&r.domain?";domain="+r.domain:"",c=r&&r.secure?";secure":"";document.cookie=e+"="+t+";"+o+";path=/;samesite="+s+a+c}function le(e){return function(e,t){var n=new RegExp("(?:^|;)\\s*"+t+"\\s*=\\s*([^;]+)").exec(e);return n?n[1]:void 0}(document.cookie,e)}function he(e,t){de(e,"",0,t)}function fe(){return Date.now()}function me(){return performance.now()}function ge(){return{relative:me(),timeStamp:fe()}}function ye(e,t){return t-e}function be(){return void 0===ce&&(ce=performance.timing.navigationStart),ce}function ve(e){return we(e,function(e){if(e.origin)return e.origin;var t=e.host.replace(/(:80|:443)$/,"");return e.protocol+"//"+t}(window.location)).href}function we(e,t){if(function(){if(void 0!==ue)return ue;try{var e=new URL("http://test/path");return ue="http://test/path"===e.href}catch(e){ue=!1}return ue}())return void 0!==t?new URL(e,t):new URL(e);if(void 0===t&&!/:/.test(e))throw new Error("Invalid URL: '"+e+"'");var n=document,r=n.createElement("a");if(void 0!==t){var i=(n=document.implementation.createHTMLDocument("")).createElement("base");i.href=t,n.head.appendChild(i),n.body.appendChild(r)}return r.href=e,r}var ke={logs:"logs",rum:"rum",sessionReplay:"session-replay"},xe={logs:"logs",rum:"rum",sessionReplay:"replay"},Te="datadoghq.com";function Se(e,t,n,r,i){var o=e.site,s=void 0===o?Te:o,a=e.clientToken,c=s.split("."),u=c.pop(),p="https://"+(ke[n]+".browser-intake-"+c.join("-")+"."+u)+"/api/v2/"+xe[n],d=e.proxyUrl&&ve(e.proxyUrl);return{build:function(){var e="ddsource="+(i||"browser")+"&ddtags="+encodeURIComponent(["sdk_version:"+t.sdkVersion].concat(r).join(","))+"&dd-api-key="+a+"&dd-evp-origin-version="+encodeURIComponent(t.sdkVersion)+"&dd-evp-origin=browser&dd-request-id="+b();"rum"===n&&(e+="&batch_time="+fe());var o=p+"?"+e;return d?d+"?ddforward="+encodeURIComponent(o):o},buildIntakeUrl:function(){return d?d+"?ddforward":p}}}var Oe=/[^a-z0-9_:./-]/;function _e(e,t){var n=200-e.length-1;return(t.length>n||Oe.test(t))&&o.warn(e+" value doesn't meet tag requirements and will be sanitized"),e+":"+t.replace(/,/g,"_")}function Ee(e,t){var n=function(e){var t=e.env,n=e.service,r=e.version,i=e.datacenter,o=[];return t&&o.push(_e("env",t)),n&&o.push(_e("service",n)),r&&o.push(_e("version",r)),i&&o.push(_e("datacenter",i)),o}(e),i=function(e,t,n){if(t.buildMode===Z.E2E_TEST){var i=function(e){return{build:function(){return e},buildIntakeUrl:function(){return e}}};return{logsEndpointBuilder:i("<<< E2E LOGS ENDPOINT >>>"),rumEndpointBuilder:i("<<< E2E RUM ENDPOINT >>>"),sessionReplayEndpointBuilder:i("<<< E2E SESSION REPLAY ENDPOINT >>>"),internalMonitoringEndpointBuilder:i("<<< E2E INTERNAL MONITORING ENDPOINT >>>")}}var o={logsEndpointBuilder:Se(e,t,"logs",n),rumEndpointBuilder:Se(e,t,"rum",n),sessionReplayEndpointBuilder:Se(e,t,"sessionReplay",n)};if(e.internalMonitoringApiKey)return r(r({},o),{internalMonitoringEndpointBuilder:Se(r(r({},e),{clientToken:e.internalMonitoringApiKey}),t,"logs",n,"browser-agent-internal-monitoring")});return o}(e,t,n),o=T(i).map((function(e){return e.buildIntakeUrl()})),s=function(e,t,n,i){if(!e.replica)return;var o=r(r({},e),{site:Te,clientToken:e.replica.clientToken}),s={logsEndpointBuilder:Se(o,t,"logs",i),rumEndpointBuilder:Se(o,t,"rum",i),internalMonitoringEndpointBuilder:Se(o,t,"logs",i,"browser-agent-internal-monitoring")};return n.push.apply(n,T(s).map((function(e){return e.buildIntakeUrl()}))),r({applicationId:e.replica.applicationId},s)}(e,t,o,n);return r(r({isIntakeUrl:function(e){return o.some((function(t){return 0===e.indexOf(t)}))}},i),{replica:s})}function Ie(e,t){var n;if(e&&e.clientToken){var i,s;if(void 0===e.sampleRate||function(e){return"number"==typeof e}(i=e.sampleRate)&&i>=0&&i<=100)return s=e.enableExperimentalFeatures,Array.isArray(s)&&(j||(j=new Set(s)),s.filter((function(e){return"string"==typeof e})).forEach((function(e){j.add(e)}))),r(r({},Ee(e,t)),{beforeSend:e.beforeSend&&oe(e.beforeSend,"beforeSend threw an error:"),cookieOptions:je(e),sampleRate:null!==(n=e.sampleRate)&&void 0!==n?n:100,service:e.service,silentMultipleInit:!!e.silentMultipleInit,batchBytesLimit:16384,eventRateLimiterThreshold:3e3,maxInternalMonitoringMessagesPerPage:15,flushTimeout:3e4,maxBatchSize:50,maxMessageSize:262144});o.error("Sample Rate should be a number between 0 and 100")}else o.error("Client Token is not configured, we will not send any data.")}function je(e){var t={};return t.secure=function(e){return!!e.useSecureSessionCookie||!!e.useCrossSiteSessionCookie}(e),t.crossSite=!!e.useCrossSiteSessionCookie,e.trackSessionAcrossSubdomains&&(t.domain=function(){if(void 0===ae){for(var e="dd_site_test_"+b(),t=window.location.hostname.split("."),n=t.pop();t.length&&!le(e);)n=t.pop()+"."+n,de(e,"test",m,{domain:n});he(e,{domain:n}),ae=n}return ae}()),t}var Ae,Ce={buildMode:"release",sdkVersion:"4.2.0"};var Pe={debug:"debug",error:"error",info:"info",warn:"warn"},Re=((Ae={})[Pe.debug]=0,Ae[Pe.info]=1,Ae[Pe.warn]=2,Ae[Pe.error]=3,Ae),Ne=(Object.keys(Pe),"console"),De="http",Ue=function(){function e(e,t,n,r){void 0===t&&(t=De),void 0===n&&(n=Pe.debug),void 0===r&&(r={}),this.sendLog=e,this.handlerType=t,this.level=n,this.contextManager=se(),this.contextManager.set(r)}return e.prototype.log=function(e,t,n){if(void 0===n&&(n=Pe.info),Re[n]>=Re[this.level]){var i=Array.isArray(this.handlerType)?this.handlerType:[this.handlerType];x(i,De)&&this.sendLog(r({message:e,status:n},E(this.contextManager.get(),t))),x(i,Ne)&&o.log(n+": "+e,E(this.contextManager.get(),t))}},e.prototype.debug=function(e,t){this.log(e,t,Pe.debug)},e.prototype.info=function(e,t){this.log(e,t,Pe.info)},e.prototype.warn=function(e,t){this.log(e,t,Pe.warn)},e.prototype.error=function(e,t){var n={error:{origin:P}};this.log(e,E(n,t),Pe.error)},e.prototype.setContext=function(e){this.contextManager.set(e)},e.prototype.addContext=function(e,t){this.contextManager.add(e,t)},e.prototype.removeContext=function(e){this.contextManager.remove(e)},e.prototype.setHandler=function(e){this.handlerType=e},e.prototype.setLevel=function(e){this.level=e},function(e,t,n,r){var i,o=arguments.length,s=o<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,n,r);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(o<3?i(s):o>3?i(t,n,s):i(t,n))||s);o>3&&s&&Object.defineProperty(t,n,s)}([X],e.prototype,"log",null),e}();var qe,Le,Fe=function(){function e(e){this.onFirstSubscribe=e,this.observers=[]}return e.prototype.subscribe=function(e){var t=this;return!this.observers.length&&this.onFirstSubscribe&&(this.onLastUnsubscribe=this.onFirstSubscribe()||void 0),this.observers.push(e),{unsubscribe:function(){t.observers=t.observers.filter((function(t){return e!==t})),!t.observers.length&&t.onLastUnsubscribe&&t.onLastUnsubscribe()}}},e.prototype.notify=function(e){this.observers.forEach((function(t){return t(e)}))},e}();function Me(e){(function(){Le||(Le=new Fe,qe=console.error,console.error=function(){for(var e=[],t=0;t=500}(r)||("xhr"in r?function(e,t,n){"string"==typeof e.response?n(ot(e.response,t)):n(e.response)}(r.xhr,e,i):r.response?function(e,t,n){window.TextDecoder?e.body?function(e,t,n){!function(e,t,n){var r=e.getReader(),i=[],o=0;function s(){r.read().then(Y((function(e){e.done?a():(i.push(e.value),(o+=e.value.length)>t?a():s())})),Y((function(e){return n(e)})))}function a(){var e;if(r.cancel().catch(v),1===i.length)e=i[0];else{e=new Uint8Array(o);var s=0;i.forEach((function(t){e.set(t,s),s+=t.length}))}n(void 0,e.slice(0,t),e.length>t)}s()}(e,t,(function(e,t,r){if(e)n(e);else{var i=(new TextDecoder).decode(t);r&&(i+="..."),n(void 0,i)}}))}(e.clone().body,t.requestErrorResponseLengthLimit,(function(e,t){n(e?"Unable to retrieve response: "+e:t)})):n():e.clone().text().then(Y((function(e){return n(ot(e,t))})),Y((function(e){return n("Unable to retrieve response: "+e)})))}(r.response,e,i):r.error&&function(e,t,n){n(ot(D(a(e)),t))}(r.error,e,i))}return{stop:function(){n.unsubscribe(),r.unsubscribe()}}}function ot(e,t){return e.length>t.requestErrorResponseLengthLimit?e.substring(0,t.requestErrorResponseLengthLimit)+"...":e}function st(e){return f.XHR===e?"XHR":"Fetch"}var at=function(){function e(e){var t=this;this.expireDelay=e,this.previousContexts=[],this.clearOldContextsInterval=setInterval((function(){return t.clearOldContexts()}),6e4)}return e.prototype.find=function(e){if(void 0===e||void 0!==this.current&&void 0!==this.currentStart&&e>=this.currentStart)return this.current;for(var t=0,n=this.previousContexts;tr.endTime)break;if(e>=r.startTime)return r.context}},e.prototype.setCurrent=function(e,t){this.current=e,this.currentStart=t},e.prototype.getCurrent=function(){return this.current},e.prototype.clearCurrent=function(){this.current=void 0,this.currentStart=void 0},e.prototype.closeCurrent=function(e){void 0!==this.current&&void 0!==this.currentStart&&(this.previousContexts.unshift({endTime:e,context:this.current,startTime:this.currentStart}),this.clearCurrent())},e.prototype.clearOldContexts=function(){for(var e=me()-this.expireDelay;this.previousContexts.length>0&&this.previousContexts[this.previousContexts.length-1].startTime=100)return ee("Reach max lock retry"),void bt();var r,i=kt();if(L("cookie-lock")){if(i.lock)return void yt(e,t);if(r=b(),i.lock=r,wt(i,e.options),(i=kt()).lock!==r)return void yt(e,t)}var o=e.process(i);if(L("cookie-lock")&&(i=kt()).lock!==r)yt(e,t);else{if(o&&vt(o,e.options),L("cookie-lock")&&(!o||!xt(o))){if((i=kt()).lock!==r)return void yt(e,t);delete i.lock,wt(i,e.options),o=i}null===(n=e.after)||void 0===n||n.call(e,o||i),bt()}}else mt.push(e)}function yt(e,t){setTimeout(Y((function(){gt(e,t+1)})),10)}function bt(){dt=void 0;var e=mt.shift();e&>(e)}function vt(e,t){xt(e)?function(e){de(ft,"",0,e)}(t):(e.expire=String(Date.now()+ct),wt(e,t))}function wt(e,t){de(ft,function(e){return(t=e,Object.keys(t).map((function(e){return[e,t[e]]}))).map((function(e){return e[0]+"="+e[1]})).join(ht);var t}(e),ct,t)}function kt(){var e=le(ft),t={};return function(e){return void 0!==e&&(-1!==e.indexOf(ht)||lt.test(e))}(e)&&e.split(ht).forEach((function(e){var n=lt.exec(e);if(null!==n){var r=n[1],i=n[2];t[r]=i}})),t}function xt(e){return t=e,0===Object.keys(t).length;var t}var Tt=[];function St(e,t,n){!function(e){var t=le(ft),n=le("_dd"),r=le("_dd_r"),i=le("_dd_l");if(!t){var o={};n&&(o.id=n),i&&/^[01]$/.test(i)&&(o.logs=i),r&&/^[012]$/.test(r)&&(o.rum=r),vt(o,e)}}(e);var r=pt(e,t,n);Tt.push((function(){return r.stop()}));var i,o=new at(144e5);function s(){return{id:r.getSession().id,trackingType:r.getSession()[t]}}return Tt.push((function(){return o.stop()})),r.renewObservable.subscribe((function(){o.setCurrent(s(),me())})),r.expireObservable.subscribe((function(){o.closeCurrent(me())})),r.expandOrRenewSession(),o.setCurrent(s(),[0,be()][0]),i=O(window,["click","touchstart","keydown","scroll"],(function(){return r.expandOrRenewSession()}),{capture:!0,passive:!0}).stop,Tt.push(i),function(e){var t=Y((function(){"visible"===document.visibilityState&&e()})),n=S(document,"visibilitychange",t).stop;Tt.push(n);var r=setInterval(t,6e4);Tt.push((function(){clearInterval(r)}))}((function(){return r.expandSession()})),{findActiveSession:function(e){return o.find(e)},renewObservable:r.renewObservable,expireObservable:r.expireObservable}}var Ot;function _t(e){var t=St(e.cookieOptions,"logs",(function(t){return function(e,t){var n=function(e){return e===Ot.NOT_TRACKED||e===Ot.TRACKED}(t)?t:Et(e);return{trackingType:n,isTracked:n===Ot.TRACKED}}(e,t)}));return{findTrackedSession:function(e){var n=t.findActiveSession(e);return n&&n.trackingType===Ot.TRACKED?{id:n.id}:void 0}}}function Et(e){return 0!==(t=e.sampleRate)&&100*Math.random()<=t?Ot.TRACKED:Ot.NOT_TRACKED;var t}function It(e){var t=window.DD_RUM;return t&&t.getInternalContext?t.getInternalContext(e):void 0}!function(e){e.NOT_TRACKED="0",e.TRACKED="1"}(Ot||(Ot={}));var jt,At,Ct,Pt,Rt=function(e){var t,n,i=!1,s=se(),a={},c=new pe,u=function(e,t){c.add((function(){return u(e,t)}))},p=function(){},d=new Ue(l);return t={logger:d,init:Y((function(t){if(M()&&(t=function(e){return r(r({},e),{clientToken:"empty"})}(t)),function(e){return!i||(e.silentMultipleInit||o.error("DD_LOGS is already initialized."),!1)}(t)){var n=function(e){var t=Ie(e,Ce);if(t)return r(r({},t),{forwardErrorsToLogs:!!e.forwardErrorsToLogs,requestErrorResponseLengthLimit:32768})}(t);n&&(u=e(n,d),p=function(){return _(void 0,t)},c.drain(),i=!0)}})),getLoggerGlobalContext:Y(s.get),setLoggerGlobalContext:Y(s.set),addLoggerGlobalContext:Y(s.add),removeLoggerGlobalContext:Y(s.remove),createLogger:Y((function(e,t){return void 0===t&&(t={}),a[e]=new Ue(l,t.handler,t.level,r(r({},t.context),{logger:{name:e}})),a[e]})),getLogger:Y((function(e){return a[e]})),getInitConfiguration:Y((function(){return p()}))},n=r(r({},t),{onReady:function(e){e()}}),Object.defineProperty(n,"_setDebug",{get:function(){return re},enumerable:!1}),n;function l(e){u(e,E({date:Date.now(),view:{referrer:document.referrer,url:window.location.href}},s.get()))}}((function(e,t){var n=K(e),r=new Fe;e.forwardErrorsToLogs&&(Me(r),Ve(r),it(e,r));var i=function(e){if(void 0===document.cookie||null===document.cookie)return!1;try{var t="dd_cookie_test_"+b(),n="test";de(t,n,m,e);var r=le(t)===n;return he(t,e),r}catch(e){return o.error(e),!1}}(e.cookieOptions)&&!M()?_t(e):function(e){var t=Et(e)===Ot.TRACKED?{}:void 0;return{findTrackedSession:function(){return t}}}(e);return function(e,t,n,r,i){n.setExternalContextProvider((function(){var e;return E({session_id:null===(e=r.findTrackedSession())||void 0===e?void 0:e.id},It(),{view:{name:null,url:null,referrer:null}})}));var o,s=function(e,t,n){var r,i=((r={})[Pe.error]=Ze(Pe.error,t.eventRateLimiterThreshold,n),r[Pe.warn]=Ze(Pe.warn,t.eventRateLimiterThreshold,n),r[Pe.info]=Ze(Pe.info,t.eventRateLimiterThreshold,n),r[Pe.debug]=Ze(Pe.debug,t.eventRateLimiterThreshold,n),r.custom=Ze("custom",t.eventRateLimiterThreshold,n),r);return function(n,r){var o,s,a=n.date?n.date-be():void 0,c=e.findTrackedSession(a);if(c){var u=E({service:t.service,session_id:c.id},r,It(a),n);if(!1!==(null===(o=t.beforeSend)||void 0===o?void 0:o.call(t,u))&&!(null!==(s=i[u.status])&&void 0!==s?s:i.custom).isLimitReached())return u}}}(r,e,u);if(M()){var a=F();o=function(e){return a.send("log",e)}}else{var c=function(e){var t,n=r(e.logsEndpointBuilder);function r(t){return new z(new G(t,e.batchBytesLimit),e.maxBatchSize,e.batchBytesLimit,e.maxMessageSize,e.flushTimeout)}return void 0!==e.replica&&(t=r(e.replica.logsEndpointBuilder)),{add:function(e){n.add(e),t&&t.add(e)}}}(e);o=function(e){return c.add(e)}}function u(e){i.error(e.message,E({date:e.startClocks.timeStamp,error:{kind:e.type,origin:e.source,stack:e.stack}},e.resource?{http:{method:e.resource.method,status_code:e.resource.statusCode,url:e.resource.url}}:void 0))}return t.subscribe(u),function(e,t){var n=s(e,t);n&&o(n)}}(e,r,n,i,t)}));jt=function(){if("object"==typeof globalThis)return globalThis;Object.defineProperty(Object.prototype,"_dd_temp_",{get:function(){return this},configurable:!0});var e=_dd_temp_;return delete Object.prototype._dd_temp_,"object"!=typeof e&&(e="object"==typeof self?self:"object"==typeof window?window:{}),e}(),Ct=Rt,Pt=jt[At="DD_LOGS"],jt[At]=Ct,Pt&&Pt.q&&Pt.q.forEach((function(e){return oe(e,"onReady callback threw an error:")()}))},7968:(e,t)=>{"use strict";var n;t.wU=t.tt=void 0,function(e){e.axeDevToolsHTML="axe-devtools-html",e.axeDevToolsMobile="axe-devtools-mobile",e.axeDevToolsPro="axe-devtools-pro",e.axeDevToolsWatcher="axe-devtools-watcher",e.axeLinter="axe-linter",e.axeReports="axe-reports"}(n=t.tt||(t.tt={}));const r="none",i={[n.axeDevToolsHTML]:r,[n.axeDevToolsMobile]:r,[n.axeDevToolsPro]:r,[n.axeDevToolsWatcher]:r,[n.axeLinter]:r,[n.axeReports]:r},o={none:1,free:2,free_payment_failed:3,trial_ended:4,trial_payment_failed:5,paid_payment_failed:6,trialing:7,paid:8};t.wU=e=>{if(!Array.isArray(e))throw new TypeError("`subscriptions` must be an array");const t=Object.assign({},i);for(const n of e){const e=n.purchase_state,r=n.product_slug,i=t[r],s=o[i],a=o[e];i?a>s&&(t[r]=e):t[r]=e}if(t[n.axeDevToolsHTML]!==r){const e=o[t[n.axeDevToolsHTML]];o[t[n.axeDevToolsPro]]{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=function(){function e(){this.browser=globalThis.browser}return e.prototype.get=function(t){if(this.contextIsBrowserApp)return new Promise((function(e){var n=localStorage.getItem(t);if(!n)return e(null);try{e(JSON.parse(n))}catch(t){e(n)}}));var n=this.browserStorageArea;return n?n.get(t).then((function(e){var n=e[t];if(!n)return null;try{return JSON.parse(n)}catch(e){return n}})):Promise.reject(new Error(e.STORAGE_AREA_ERROR))},e.prototype.set=function(t,n){var r,i=n;if("string"!=typeof n)try{i=JSON.stringify(n)}catch(e){}if(this.contextIsBrowserApp)return new Promise((function(e){localStorage.setItem(t,i),e()}));var o=this.browserStorageArea;return o?o.set((r={},r[t]=i,r)).then((function(){})):Promise.reject(new Error(e.STORAGE_AREA_ERROR))},Object.defineProperty(e.prototype,"contextIsBrowserApp",{get:function(){return void 0===this.browser||void 0===this.browser.storage},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"browserStorageArea",{get:function(){var e,t,n,r;return(null===(t=null===(e=this.browser)||void 0===e?void 0:e.storage)||void 0===t?void 0:t.sync)||(null===(r=null===(n=this.browser)||void 0===n?void 0:n.storage)||void 0===r?void 0:r.local)},enumerable:!1,configurable:!0}),e.STORAGE_AREA_ERROR="Failed to determine which storage area is suitable to use.",e}();t.default=n},8020:function(e,t,n){"use strict";var r,i=this&&this.__assign||function(){return i=Object.assign||function(e){for(var t,n=1,r=arguments.length;n0&&i[i.length-1])||6!==a[0]&&2!==a[0])){s=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]0&&i[i.length-1])||6!==a[0]&&2!==a[0])){s=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]{"use strict";var r;n.r(t),n.d(t,{NIL:()=>P,parse:()=>g,stringify:()=>p,v1:()=>m,v3:()=>_,v4:()=>E,v5:()=>C,validate:()=>a,version:()=>R});var i=new Uint8Array(16);function o(){if(!r&&!(r="undefined"!=typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)||"undefined"!=typeof msCrypto&&"function"==typeof msCrypto.getRandomValues&&msCrypto.getRandomValues.bind(msCrypto)))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return r(i)}const s=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;const a=function(e){return"string"==typeof e&&s.test(e)};for(var c=[],u=0;u<256;++u)c.push((u+256).toString(16).substr(1));const p=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=(c[e[t+0]]+c[e[t+1]]+c[e[t+2]]+c[e[t+3]]+"-"+c[e[t+4]]+c[e[t+5]]+"-"+c[e[t+6]]+c[e[t+7]]+"-"+c[e[t+8]]+c[e[t+9]]+"-"+c[e[t+10]]+c[e[t+11]]+c[e[t+12]]+c[e[t+13]]+c[e[t+14]]+c[e[t+15]]).toLowerCase();if(!a(n))throw TypeError("Stringified UUID is invalid");return n};var d,l,h=0,f=0;const m=function(e,t,n){var r=t&&n||0,i=t||new Array(16),s=(e=e||{}).node||d,a=void 0!==e.clockseq?e.clockseq:l;if(null==s||null==a){var c=e.random||(e.rng||o)();null==s&&(s=d=[1|c[0],c[1],c[2],c[3],c[4],c[5]]),null==a&&(a=l=16383&(c[6]<<8|c[7]))}var u=void 0!==e.msecs?e.msecs:Date.now(),m=void 0!==e.nsecs?e.nsecs:f+1,g=u-h+(m-f)/1e4;if(g<0&&void 0===e.clockseq&&(a=a+1&16383),(g<0||u>h)&&void 0===e.nsecs&&(m=0),m>=1e4)throw new Error("uuid.v1(): Can't create more than 10M uuids/sec");h=u,f=m,l=a;var y=(1e4*(268435455&(u+=122192928e5))+m)%4294967296;i[r++]=y>>>24&255,i[r++]=y>>>16&255,i[r++]=y>>>8&255,i[r++]=255&y;var b=u/4294967296*1e4&268435455;i[r++]=b>>>8&255,i[r++]=255&b,i[r++]=b>>>24&15|16,i[r++]=b>>>16&255,i[r++]=a>>>8|128,i[r++]=255&a;for(var v=0;v<6;++v)i[r+v]=s[v];return t||p(i)};const g=function(e){if(!a(e))throw TypeError("Invalid UUID");var t,n=new Uint8Array(16);return n[0]=(t=parseInt(e.slice(0,8),16))>>>24,n[1]=t>>>16&255,n[2]=t>>>8&255,n[3]=255&t,n[4]=(t=parseInt(e.slice(9,13),16))>>>8,n[5]=255&t,n[6]=(t=parseInt(e.slice(14,18),16))>>>8,n[7]=255&t,n[8]=(t=parseInt(e.slice(19,23),16))>>>8,n[9]=255&t,n[10]=(t=parseInt(e.slice(24,36),16))/1099511627776&255,n[11]=t/4294967296&255,n[12]=t>>>24&255,n[13]=t>>>16&255,n[14]=t>>>8&255,n[15]=255&t,n};function y(e,t,n){function r(e,r,i,o){if("string"==typeof e&&(e=function(e){e=unescape(encodeURIComponent(e));for(var t=[],n=0;n>>9<<4)+1}function v(e,t){var n=(65535&e)+(65535&t);return(e>>16)+(t>>16)+(n>>16)<<16|65535&n}function w(e,t,n,r,i,o){return v((s=v(v(t,e),v(r,o)))<<(a=i)|s>>>32-a,n);var s,a}function k(e,t,n,r,i,o,s){return w(t&n|~t&r,e,t,i,o,s)}function x(e,t,n,r,i,o,s){return w(t&r|n&~r,e,t,i,o,s)}function T(e,t,n,r,i,o,s){return w(t^n^r,e,t,i,o,s)}function S(e,t,n,r,i,o,s){return w(n^(t|~r),e,t,i,o,s)}const O=function(e){if("string"==typeof e){var t=unescape(encodeURIComponent(e));e=new Uint8Array(t.length);for(var n=0;n>5]>>>i%32&255,s=parseInt(r.charAt(o>>>4&15)+r.charAt(15&o),16);t.push(s)}return t}(function(e,t){e[t>>5]|=128<>5]|=(255&e[r/8])<>>32-t}const A=function(e){var t=[1518500249,1859775393,2400959708,3395469782],n=[1732584193,4023233417,2562383102,271733878,3285377520];if("string"==typeof e){var r=unescape(encodeURIComponent(e));e=[];for(var i=0;i>>0;v=b,b=y,y=j(g,30)>>>0,g=m,m=x}n[0]=n[0]+m>>>0,n[1]=n[1]+g>>>0,n[2]=n[2]+y>>>0,n[3]=n[3]+b>>>0,n[4]=n[4]+v>>>0}return[n[0]>>24&255,n[0]>>16&255,n[0]>>8&255,255&n[0],n[1]>>24&255,n[1]>>16&255,n[1]>>8&255,255&n[1],n[2]>>24&255,n[2]>>16&255,n[2]>>8&255,255&n[2],n[3]>>24&255,n[3]>>16&255,n[3]>>8&255,255&n[3],n[4]>>24&255,n[4]>>16&255,n[4]>>8&255,255&n[4]]};const C=y("v5",80,A),P="00000000-0000-0000-0000-000000000000";const R=function(e){if(!a(e))throw TypeError("Invalid UUID");return parseInt(e.substr(14,1),16)}},5741:(e,t,n)=>{"use strict";var r=n(4206),i=n(360);function o(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var s=o(r);const a=[{key:"devInstance",suffix:"DEV_INSTANCE",override:!0},{key:"loggedIn",suffix:"LOGGED_IN",override:!1}],c=[{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}],u=["userJobRole","applicationProperties","distinctId","keycloakId","loggedIn","userStatus"];function p(e){return{NODE_ENV:"production",COCONUT:"false",EDGE:"false",FIREFOX:"false",IS_AXE_PRO:"true",MANIFEST_VERSION:3,E2E:!1,DOCS_SITE_URL:"https://docs.deque.com/devtools-html",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-html/4.0.0/en/devtools-manual-issue",WHATS_LEFT_TO_TEST_URL:"https://docs.deque.com/devtools-html/4.0.0/en/devtools-whatslefttotest",ENV:"production",AXE_PRO_URL:"https://axe.deque.com",USAGE_SERVICE_URL:"https://usage.deque.com",AMPLITUDE_API_KEY:"a1ce09d0b14ddcc12ab7b508b6606a2f",DATADOG_CLIENT_TOKEN:"puba2eb4ed47c6eb69ce20ef237db754ff8"}[e]||null}e.exports=class{constructor(e,t,n){this.productName=e,this.productComponent=t,this.productComponentVersion=n;const r=p("AXE_TRACK_USAGE");this.myTrackUsage="true"===r,this.enableTrackingFromEnv=null!==r;const i=p("AXE_METRICS_URL");this.myUrl=i||"https://usage.deque.com",this.urlFromEnv=null!==i,p("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}postEvent(e){if(!this.myTrackUsage)return;let t="v1";for(const n of u)if(Object.prototype.hasOwnProperty.call(e,n)){t="v2";break}const n={dateTime:new Date,productComponent:this.productComponent,productName:this.productName,version:t};"v2"===t&&(n.productComponentVersion=this.productComponentVersion,function(e){for(const{key:t,suffix:n,override:r}of a){if(t in e&&!r)continue;const i=p(`AXE_${n}`);null!==i&&(e[t]="true"===i)}for(const{key:t,suffix:n,override:r}of c){if(t in e&&!r)continue;const i=p(`AXE_${n}`);null!==i&&(e[t]=i)}}(e));const r=Object.assign(Object.assign({},n),e);s.default.post(`${this.myUrl}/${t}/event`,r).catch((e=>{if("ECONNREFUSED"!==e.code)return;const n=new i.URL(this.myUrl);"https:"===n.protocol&&(n.protocol="http:",n.pathname=`/${t}/event`,s.default.post(n.href,r).catch((()=>{})))}))}}},7050:e=>{e.exports=function(e,n,r){if(e.filter)return e.filter(n,r);if(null==e)throw new TypeError;if("function"!=typeof n)throw new TypeError;for(var i=[],o=0;o{"use strict";function r(e){return r="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},r(e)}var i,o,s=n(1404).codes,a=s.ERR_AMBIGUOUS_ARGUMENT,c=s.ERR_INVALID_ARG_TYPE,u=s.ERR_INVALID_ARG_VALUE,p=s.ERR_INVALID_RETURN_VALUE,d=s.ERR_MISSING_ARGS,l=n(7366),h=n(1323).inspect,f=n(1323).types,m=f.isPromise,g=f.isRegExp,y=Object.assign?Object.assign:n(2098).assign,b=Object.is?Object.is:n(3822);new Map;function v(){var e=n(118);i=e.isDeepEqual,o=e.isDeepStrictEqual}var w=!1,k=e.exports=O,x={};function T(e){if(e.message instanceof Error)throw e.message;throw new l(e)}function S(e,t,n,r){if(!n){var i=!1;if(0===t)i=!0,r="No value argument passed to `assert.ok()`";else if(r instanceof Error)throw r;var o=new l({actual:n,expected:!0,message:r,operator:"==",stackStartFn:e});throw o.generatedMessage=i,o}}function O(){for(var e=arguments.length,t=new Array(e),n=0;n1?n-1:0),i=1;i1?n-1:0),i=1;i1?n-1:0),i=1;i1?n-1:0),i=1;i{"use strict";function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){for(var n=0;ne.length)&&(n=e.length),e.substring(n-t.length,n)===t}var g="",y="",b="",v="",w={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 k(e){var t=Object.keys(e),n=Object.create(Object.getPrototypeOf(e));return t.forEach((function(t){n[t]=e[t]})),Object.defineProperty(n,"message",{value:e.message}),n}function x(e){return h(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,n){var r="",i="",o=0,s="",a=!1,c=x(e),u=c.split("\n"),p=x(t).split("\n"),d=0,h="";if("strictEqual"===n&&"object"===l(e)&&"object"===l(t)&&null!==e&&null!==t&&(n="strictEqualObject"),1===u.length&&1===p.length&&u[0]!==p[0]){var f=u[0].length+p[0].length;if(f<=10){if(!("object"===l(e)&&null!==e||"object"===l(t)&&null!==t||0===e&&0===t))return"".concat(w[n],"\n\n")+"".concat(u[0]," !== ").concat(p[0],"\n")}else if("strictEqualObject"!==n){if(f<({}.stderr&&{}.stderr.isTTY?{}.stderr.columns:80)){for(;u[0][d]===p[0][d];)d++;d>2&&(h="\n ".concat(function(e,t){if(t=Math.floor(t),0==e.length||0==t)return"";var n=e.length*t;for(t=Math.floor(Math.log(t)/Math.log(2));t;)e+=e,t--;return e+e.substring(0,n-e.length)}(" ",d),"^"),d=0)}}}for(var k=u[u.length-1],T=p[p.length-1];k===T&&(d++<2?s="\n ".concat(k).concat(s):r=k,u.pop(),p.pop(),0!==u.length&&0!==p.length);)k=u[u.length-1],T=p[p.length-1];var S=Math.max(u.length,p.length);if(0===S){var O=c.split("\n");if(O.length>30)for(O[26]="".concat(g,"...").concat(v);O.length>27;)O.pop();return"".concat(w.notIdentical,"\n\n").concat(O.join("\n"),"\n")}d>3&&(s="\n".concat(g,"...").concat(v).concat(s),a=!0),""!==r&&(s="\n ".concat(r).concat(s),r="");var _=0,E=w[n]+"\n".concat(y,"+ actual").concat(v," ").concat(b,"- expected").concat(v),I=" ".concat(g,"...").concat(v," Lines skipped");for(d=0;d1&&d>2&&(j>4?(i+="\n".concat(g,"...").concat(v),a=!0):j>3&&(i+="\n ".concat(p[d-2]),_++),i+="\n ".concat(p[d-1]),_++),o=d,r+="\n".concat(b,"-").concat(v," ").concat(p[d]),_++;else if(p.length1&&d>2&&(j>4?(i+="\n".concat(g,"...").concat(v),a=!0):j>3&&(i+="\n ".concat(u[d-2]),_++),i+="\n ".concat(u[d-1]),_++),o=d,i+="\n".concat(y,"+").concat(v," ").concat(u[d]),_++;else{var A=p[d],C=u[d],P=C!==A&&(!m(C,",")||C.slice(0,-1)!==A);P&&m(A,",")&&A.slice(0,-1)===C&&(P=!1,C+=","),P?(j>1&&d>2&&(j>4?(i+="\n".concat(g,"...").concat(v),a=!0):j>3&&(i+="\n ".concat(u[d-2]),_++),i+="\n ".concat(u[d-1]),_++),o=d,i+="\n".concat(y,"+").concat(v," ").concat(C),r+="\n".concat(b,"-").concat(v," ").concat(A),_+=2):(i+=r,r="",1!==j&&0!==d||(i+="\n ".concat(C),_++))}if(_>20&&d30)for(m[26]="".concat(g,"...").concat(v);m.length>27;)m.pop();n=1===m.length?o(this,d(t).call(this,"".concat(h," ").concat(m[0]))):o(this,d(t).call(this,"".concat(h,"\n\n").concat(m.join("\n"),"\n")))}else{var S=x(c),O="",_=w[i];"notDeepEqual"===i||"notEqual"===i?(S="".concat(w[i],"\n\n").concat(S)).length>1024&&(S="".concat(S.slice(0,1021),"...")):(O="".concat(x(u)),S.length>512&&(S="".concat(S.slice(0,509),"...")),O.length>512&&(O="".concat(O.slice(0,509),"...")),"deepEqual"===i||"equal"===i?S="".concat(_,"\n\n").concat(S,"\n\nshould equal\n\n"):O=" ".concat(i," ").concat(O)),n=o(this,d(t).call(this,"".concat(S).concat(O)))}return Error.stackTraceLimit=p,n.generatedMessage=!r,Object.defineProperty(s(n),"name",{value:"AssertionError [ERR_ASSERTION]",enumerable:!1,writable:!0,configurable:!0}),n.code="ERR_ASSERTION",n.actual=c,n.expected=u,n.operator=i,Error.captureStackTrace&&Error.captureStackTrace(s(n),a),n.stack,n.name="AssertionError",o(n)}var n,a,c;return 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}}),t&&p(e,t)}(t,e),n=t,a=[{key:"toString",value:function(){return"".concat(this.name," [").concat(this.code,"]: ").concat(this.message)}},{key:h.custom,value:function(e,t){return h(this,function(e){for(var t=1;t{"use strict";function r(e){return r="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},r(e)}function i(e,t){return!t||"object"!==r(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function o(e){return o=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)},o(e)}function s(e,t){return s=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},s(e,t)}var a,c,u={};function p(e,t,n){n||(n=Error);var r=function(n){function r(n,s,a){var c;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,r),c=i(this,o(r).call(this,function(e,n,r){return"string"==typeof t?t:t(e,n,r)}(n,s,a))),c.code=e,c}return 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}}),t&&s(e,t)}(r,n),r}(n);u[e]=r}function d(e,t){if(Array.isArray(e)){var n=e.length;return e=e.map((function(e){return String(e)})),n>2?"one of ".concat(t," ").concat(e.slice(0,n-1).join(", "),", or ")+e[n-1]:2===n?"one of ".concat(t," ").concat(e[0]," or ").concat(e[1]):"of ".concat(t," ").concat(e[0])}return"of ".concat(t," ").concat(String(e))}p("ERR_AMBIGUOUS_ARGUMENT",'The "%s" argument is ambiguous. %s',TypeError),p("ERR_INVALID_ARG_TYPE",(function(e,t,i){var o,s,c,u;if(void 0===a&&(a=n(9619)),a("string"==typeof e,"'name' must be a string"),"string"==typeof t&&(s="not ",t.substr(!c||c<0?0:+c,s.length)===s)?(o="must not be",t=t.replace(/^not /,"")):o="must be",function(e,t,n){return(void 0===n||n>e.length)&&(n=e.length),e.substring(n-t.length,n)===t}(e," argument"))u="The ".concat(e," ").concat(o," ").concat(d(t,"type"));else{var p=function(e,t,n){return"number"!=typeof n&&(n=0),!(n+t.length>e.length)&&-1!==e.indexOf(t,n)}(e,".")?"property":"argument";u='The "'.concat(e,'" ').concat(p," ").concat(o," ").concat(d(t,"type"))}return u+=". Received type ".concat(r(i))}),TypeError),p("ERR_INVALID_ARG_VALUE",(function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"is invalid";void 0===c&&(c=n(1323));var i=c.inspect(t);return i.length>128&&(i="".concat(i.slice(0,128),"...")),"The argument '".concat(e,"' ").concat(r,". Received ").concat(i)}),TypeError,RangeError),p("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(r(n)),"Expected ".concat(e,' to be returned from the "').concat(t,'"')+" function but got ".concat(i,".")}),TypeError),p("ERR_MISSING_ARGS",(function(){for(var e=arguments.length,t=new Array(e),r=0;r0,"At least one arg needs to be specified");var i="The ",o=t.length;switch(t=t.map((function(e){return'"'.concat(e,'"')})),o){case 1:i+="".concat(t[0]," argument");break;case 2:i+="".concat(t[0]," and ").concat(t[1]," arguments");break;default:i+=t.slice(0,o-1).join(", "),i+=", and ".concat(t[o-1]," arguments")}return"".concat(i," must be specified")}),TypeError),e.exports.codes=u},118:(e,t,n)=>{"use strict";function r(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=[],r=!0,i=!1,o=void 0;try{for(var s,a=e[Symbol.iterator]();!(r=(s=a.next()).done)&&(n.push(s.value),!t||n.length!==t);r=!0);}catch(e){i=!0,o=e}finally{try{r||null==a.return||a.return()}finally{if(i)throw o}}return n}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}()}function i(e){return i="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},i(e)}var o=void 0!==/a/g.flags,s=function(e){var t=[];return e.forEach((function(e){return t.push(e)})),t},a=function(e){var t=[];return e.forEach((function(e,n){return t.push([n,e])})),t},c=Object.is?Object.is:n(3822),u=Object.getOwnPropertySymbols?Object.getOwnPropertySymbols:function(){return[]},p=Number.isNaN?Number.isNaN:n(4866);function d(e){return e.call.bind(e)}var l=d(Object.prototype.hasOwnProperty),h=d(Object.prototype.propertyIsEnumerable),f=d(Object.prototype.toString),m=n(1323).types,g=m.isAnyArrayBuffer,y=m.isArrayBufferView,b=m.isDate,v=m.isMap,w=m.isRegExp,k=m.isSet,x=m.isNativeError,T=m.isBoxedPrimitive,S=m.isNumberObject,O=m.isStringObject,_=m.isBooleanObject,E=m.isBigIntObject,I=m.isSymbolObject,j=m.isFloat32Array,A=m.isFloat64Array;function C(e){if(0===e.length||e.length>10)return!0;for(var t=0;t57)return!0}return 10===e.length&&e>=Math.pow(2,32)}function P(e){return Object.keys(e).filter(C).concat(u(e).filter(Object.prototype.propertyIsEnumerable.bind(e)))}function R(e,t){if(e===t)return 0;for(var n=e.length,r=t.length,i=0,o=Math.min(n,r);i{e.exports=n(8057)},4387:(e,t,n)=>{"use strict";var r=n(7485),i=n(4570),o=n(2940),s=n(581),a=n(574),c=n(3845),u=n(8338),p=n(8524);e.exports=function(e){return new Promise((function(t,n){var d=e.data,l=e.headers,h=e.responseType;r.isFormData(d)&&delete l["Content-Type"];var f=new XMLHttpRequest;if(e.auth){var m=e.auth.username||"",g=e.auth.password?unescape(encodeURIComponent(e.auth.password)):"";l.Authorization="Basic "+btoa(m+":"+g)}var y=a(e.baseURL,e.url);function b(){if(f){var r="getAllResponseHeaders"in f?c(f.getAllResponseHeaders()):null,o={data:h&&"text"!==h&&"json"!==h?f.response:f.responseText,status:f.status,statusText:f.statusText,headers:r,config:e,request:f};i(t,n,o),f=null}}if(f.open(e.method.toUpperCase(),s(y,e.params,e.paramsSerializer),!0),f.timeout=e.timeout,"onloadend"in f?f.onloadend=b:f.onreadystatechange=function(){f&&4===f.readyState&&(0!==f.status||f.responseURL&&0===f.responseURL.indexOf("file:"))&&setTimeout(b)},f.onabort=function(){f&&(n(p("Request aborted",e,"ECONNABORTED",f)),f=null)},f.onerror=function(){n(p("Network Error",e,null,f)),f=null},f.ontimeout=function(){var t="timeout of "+e.timeout+"ms exceeded";e.timeoutErrorMessage&&(t=e.timeoutErrorMessage),n(p(t,e,e.transitional&&e.transitional.clarifyTimeoutError?"ETIMEDOUT":"ECONNABORTED",f)),f=null},r.isStandardBrowserEnv()){var v=(e.withCredentials||u(y))&&e.xsrfCookieName?o.read(e.xsrfCookieName):void 0;v&&(l[e.xsrfHeaderName]=v)}"setRequestHeader"in f&&r.forEach(l,(function(e,t){void 0===d&&"content-type"===t.toLowerCase()?delete l[t]:f.setRequestHeader(t,e)})),r.isUndefined(e.withCredentials)||(f.withCredentials=!!e.withCredentials),h&&"json"!==h&&(f.responseType=e.responseType),"function"==typeof e.onDownloadProgress&&f.addEventListener("progress",e.onDownloadProgress),"function"==typeof e.onUploadProgress&&f.upload&&f.upload.addEventListener("progress",e.onUploadProgress),e.cancelToken&&e.cancelToken.promise.then((function(e){f&&(f.abort(),n(e),f=null)})),d||(d=null),f.send(d)}))}},8057:(e,t,n)=>{"use strict";var r=n(7485),i=n(875),o=n(5029),s=n(4941);function a(e){var t=new o(e),n=i(o.prototype.request,t);return r.extend(n,o.prototype,t),r.extend(n,t),n}var c=a(n(3141));c.Axios=o,c.create=function(e){return a(s(c.defaults,e))},c.Cancel=n(7132),c.CancelToken=n(4603),c.isCancel=n(1475),c.all=function(e){return Promise.all(e)},c.spread=n(5739),c.isAxiosError=n(5835),e.exports=c,e.exports.default=c},7132:e=>{"use strict";function t(e){this.message=e}t.prototype.toString=function(){return"Cancel"+(this.message?": "+this.message:"")},t.prototype.__CANCEL__=!0,e.exports=t},4603:(e,t,n)=>{"use strict";var r=n(7132);function i(e){if("function"!=typeof e)throw new TypeError("executor must be a function.");var t;this.promise=new Promise((function(e){t=e}));var n=this;e((function(e){n.reason||(n.reason=new r(e),t(n.reason))}))}i.prototype.throwIfRequested=function(){if(this.reason)throw this.reason},i.source=function(){var e;return{token:new i((function(t){e=t})),cancel:e}},e.exports=i},1475:e=>{"use strict";e.exports=function(e){return!(!e||!e.__CANCEL__)}},5029:(e,t,n)=>{"use strict";var r=n(7485),i=n(581),o=n(8096),s=n(5009),a=n(4941),c=n(6144),u=c.validators;function p(e){this.defaults=e,this.interceptors={request:new o,response:new o}}p.prototype.request=function(e){"string"==typeof e?(e=arguments[1]||{}).url=arguments[0]:e=e||{},(e=a(this.defaults,e)).method?e.method=e.method.toLowerCase():this.defaults.method?e.method=this.defaults.method.toLowerCase():e.method="get";var t=e.transitional;void 0!==t&&c.assertOptions(t,{silentJSONParsing:u.transitional(u.boolean,"1.0.0"),forcedJSONParsing:u.transitional(u.boolean,"1.0.0"),clarifyTimeoutError:u.transitional(u.boolean,"1.0.0")},!1);var n=[],r=!0;this.interceptors.request.forEach((function(t){"function"==typeof t.runWhen&&!1===t.runWhen(e)||(r=r&&t.synchronous,n.unshift(t.fulfilled,t.rejected))}));var i,o=[];if(this.interceptors.response.forEach((function(e){o.push(e.fulfilled,e.rejected)})),!r){var p=[s,void 0];for(Array.prototype.unshift.apply(p,n),p=p.concat(o),i=Promise.resolve(e);p.length;)i=i.then(p.shift(),p.shift());return i}for(var d=e;n.length;){var l=n.shift(),h=n.shift();try{d=l(d)}catch(e){h(e);break}}try{i=s(d)}catch(e){return Promise.reject(e)}for(;o.length;)i=i.then(o.shift(),o.shift());return i},p.prototype.getUri=function(e){return e=a(this.defaults,e),i(e.url,e.params,e.paramsSerializer).replace(/^\?/,"")},r.forEach(["delete","get","head","options"],(function(e){p.prototype[e]=function(t,n){return this.request(a(n||{},{method:e,url:t,data:(n||{}).data}))}})),r.forEach(["post","put","patch"],(function(e){p.prototype[e]=function(t,n,r){return this.request(a(r||{},{method:e,url:t,data:n}))}})),e.exports=p},8096:(e,t,n)=>{"use strict";var r=n(7485);function i(){this.handlers=[]}i.prototype.use=function(e,t,n){return this.handlers.push({fulfilled:e,rejected:t,synchronous:!!n&&n.synchronous,runWhen:n?n.runWhen:null}),this.handlers.length-1},i.prototype.eject=function(e){this.handlers[e]&&(this.handlers[e]=null)},i.prototype.forEach=function(e){r.forEach(this.handlers,(function(t){null!==t&&e(t)}))},e.exports=i},574:(e,t,n)=>{"use strict";var r=n(2642),i=n(2288);e.exports=function(e,t){return e&&!r(t)?i(e,t):t}},8524:(e,t,n)=>{"use strict";var r=n(9953);e.exports=function(e,t,n,i,o){var s=new Error(e);return r(s,t,n,i,o)}},5009:(e,t,n)=>{"use strict";var r=n(7485),i=n(9212),o=n(1475),s=n(3141);function a(e){e.cancelToken&&e.cancelToken.throwIfRequested()}e.exports=function(e){return a(e),e.headers=e.headers||{},e.data=i.call(e,e.data,e.headers,e.transformRequest),e.headers=r.merge(e.headers.common||{},e.headers[e.method]||{},e.headers),r.forEach(["delete","get","head","post","put","patch","common"],(function(t){delete e.headers[t]})),(e.adapter||s.adapter)(e).then((function(t){return a(e),t.data=i.call(e,t.data,t.headers,e.transformResponse),t}),(function(t){return o(t)||(a(e),t&&t.response&&(t.response.data=i.call(e,t.response.data,t.response.headers,e.transformResponse))),Promise.reject(t)}))}},9953:e=>{"use strict";e.exports=function(e,t,n,r,i){return e.config=t,n&&(e.code=n),e.request=r,e.response=i,e.isAxiosError=!0,e.toJSON=function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:this.config,code:this.code}},e}},4941:(e,t,n)=>{"use strict";var r=n(7485);e.exports=function(e,t){t=t||{};var n={},i=["url","method","data"],o=["headers","auth","proxy","params"],s=["baseURL","transformRequest","transformResponse","paramsSerializer","timeout","timeoutMessage","withCredentials","adapter","responseType","xsrfCookieName","xsrfHeaderName","onUploadProgress","onDownloadProgress","decompress","maxContentLength","maxBodyLength","maxRedirects","transport","httpAgent","httpsAgent","cancelToken","socketPath","responseEncoding"],a=["validateStatus"];function c(e,t){return r.isPlainObject(e)&&r.isPlainObject(t)?r.merge(e,t):r.isPlainObject(t)?r.merge({},t):r.isArray(t)?t.slice():t}function u(i){r.isUndefined(t[i])?r.isUndefined(e[i])||(n[i]=c(void 0,e[i])):n[i]=c(e[i],t[i])}r.forEach(i,(function(e){r.isUndefined(t[e])||(n[e]=c(void 0,t[e]))})),r.forEach(o,u),r.forEach(s,(function(i){r.isUndefined(t[i])?r.isUndefined(e[i])||(n[i]=c(void 0,e[i])):n[i]=c(void 0,t[i])})),r.forEach(a,(function(r){r in t?n[r]=c(e[r],t[r]):r in e&&(n[r]=c(void 0,e[r]))}));var p=i.concat(o).concat(s).concat(a),d=Object.keys(e).concat(Object.keys(t)).filter((function(e){return-1===p.indexOf(e)}));return r.forEach(d,u),n}},4570:(e,t,n)=>{"use strict";var r=n(8524);e.exports=function(e,t,n){var i=n.config.validateStatus;n.status&&i&&!i(n.status)?t(r("Request failed with status code "+n.status,n.config,null,n.request,n)):e(n)}},9212:(e,t,n)=>{"use strict";var r=n(7485),i=n(3141);e.exports=function(e,t,n){var o=this||i;return r.forEach(n,(function(n){e=n.call(o,e,t)})),e}},3141:(e,t,n)=>{"use strict";var r=n(7485),i=n(1446),o=n(9953),s={"Content-Type":"application/x-www-form-urlencoded"};function a(e,t){!r.isUndefined(e)&&r.isUndefined(e["Content-Type"])&&(e["Content-Type"]=t)}var c,u={transitional:{silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},adapter:(("undefined"!=typeof XMLHttpRequest||"[object process]"===Object.prototype.toString.call({}))&&(c=n(4387)),c),transformRequest:[function(e,t){return i(t,"Accept"),i(t,"Content-Type"),r.isFormData(e)||r.isArrayBuffer(e)||r.isBuffer(e)||r.isStream(e)||r.isFile(e)||r.isBlob(e)?e:r.isArrayBufferView(e)?e.buffer:r.isURLSearchParams(e)?(a(t,"application/x-www-form-urlencoded;charset=utf-8"),e.toString()):r.isObject(e)||t&&"application/json"===t["Content-Type"]?(a(t,"application/json"),function(e,t,n){if(r.isString(e))try{return(t||JSON.parse)(e),r.trim(e)}catch(e){if("SyntaxError"!==e.name)throw e}return(n||JSON.stringify)(e)}(e)):e}],transformResponse:[function(e){var t=this.transitional,n=t&&t.silentJSONParsing,i=t&&t.forcedJSONParsing,s=!n&&"json"===this.responseType;if(s||i&&r.isString(e)&&e.length)try{return JSON.parse(e)}catch(e){if(s){if("SyntaxError"===e.name)throw o(e,this,"E_JSON_PARSE");throw e}}return e}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,validateStatus:function(e){return e>=200&&e<300}};u.headers={common:{Accept:"application/json, text/plain, */*"}},r.forEach(["delete","get","head"],(function(e){u.headers[e]={}})),r.forEach(["post","put","patch"],(function(e){u.headers[e]=r.merge(s)})),e.exports=u},875:e=>{"use strict";e.exports=function(e,t){return function(){for(var n=new Array(arguments.length),r=0;r{"use strict";var r=n(7485);function i(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}e.exports=function(e,t,n){if(!t)return e;var o;if(n)o=n(t);else if(r.isURLSearchParams(t))o=t.toString();else{var s=[];r.forEach(t,(function(e,t){null!=e&&(r.isArray(e)?t+="[]":e=[e],r.forEach(e,(function(e){r.isDate(e)?e=e.toISOString():r.isObject(e)&&(e=JSON.stringify(e)),s.push(i(t)+"="+i(e))})))})),o=s.join("&")}if(o){var a=e.indexOf("#");-1!==a&&(e=e.slice(0,a)),e+=(-1===e.indexOf("?")?"?":"&")+o}return e}},2288:e=>{"use strict";e.exports=function(e,t){return t?e.replace(/\/+$/,"")+"/"+t.replace(/^\/+/,""):e}},2940:(e,t,n)=>{"use strict";var r=n(7485);e.exports=r.isStandardBrowserEnv()?{write:function(e,t,n,i,o,s){var a=[];a.push(e+"="+encodeURIComponent(t)),r.isNumber(n)&&a.push("expires="+new Date(n).toGMTString()),r.isString(i)&&a.push("path="+i),r.isString(o)&&a.push("domain="+o),!0===s&&a.push("secure"),document.cookie=a.join("; ")},read:function(e){var t=document.cookie.match(new RegExp("(^|;\\s*)("+e+")=([^;]*)"));return t?decodeURIComponent(t[3]):null},remove:function(e){this.write(e,"",Date.now()-864e5)}}:{write:function(){},read:function(){return null},remove:function(){}}},2642:e=>{"use strict";e.exports=function(e){return/^([a-z][a-z\d\+\-\.]*:)?\/\//i.test(e)}},5835:e=>{"use strict";e.exports=function(e){return"object"==typeof e&&!0===e.isAxiosError}},8338:(e,t,n)=>{"use strict";var r=n(7485);e.exports=r.isStandardBrowserEnv()?function(){var e,t=/(msie|trident)/i.test(navigator.userAgent),n=document.createElement("a");function i(e){var r=e;return t&&(n.setAttribute("href",r),r=n.href),n.setAttribute("href",r),{href:n.href,protocol:n.protocol?n.protocol.replace(/:$/,""):"",host:n.host,search:n.search?n.search.replace(/^\?/,""):"",hash:n.hash?n.hash.replace(/^#/,""):"",hostname:n.hostname,port:n.port,pathname:"/"===n.pathname.charAt(0)?n.pathname:"/"+n.pathname}}return e=i(window.location.href),function(t){var n=r.isString(t)?i(t):t;return n.protocol===e.protocol&&n.host===e.host}}():function(){return!0}},1446:(e,t,n)=>{"use strict";var r=n(7485);e.exports=function(e,t){r.forEach(e,(function(n,r){r!==t&&r.toUpperCase()===t.toUpperCase()&&(e[t]=n,delete e[r])}))}},3845:(e,t,n)=>{"use strict";var r=n(7485),i=["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"];e.exports=function(e){var t,n,o,s={};return e?(r.forEach(e.split("\n"),(function(e){if(o=e.indexOf(":"),t=r.trim(e.substr(0,o)).toLowerCase(),n=r.trim(e.substr(o+1)),t){if(s[t]&&i.indexOf(t)>=0)return;s[t]="set-cookie"===t?(s[t]?s[t]:[]).concat([n]):s[t]?s[t]+", "+n:n}})),s):s}},5739:e=>{"use strict";e.exports=function(e){return function(t){return e.apply(null,t)}}},6144:(e,t,n)=>{"use strict";var r=n(9843),i={};["object","boolean","number","function","string","symbol"].forEach((function(e,t){i[e]=function(n){return typeof n===e||"a"+(t<1?"n ":" ")+e}}));var o={},s=r.version.split(".");function a(e,t){for(var n=t?t.split("."):s,r=e.split("."),i=0;i<3;i++){if(n[i]>r[i])return!0;if(n[i]0;){var o=r[i],s=t[o];if(s){var a=e[o],c=void 0===a||s(a,o,e);if(!0!==c)throw new TypeError("option "+o+" must be "+c)}else if(!0!==n)throw Error("Unknown option "+o)}},validators:i}},7485:(e,t,n)=>{"use strict";var r=n(875),i=Object.prototype.toString;function o(e){return"[object Array]"===i.call(e)}function s(e){return void 0===e}function a(e){return null!==e&&"object"==typeof e}function c(e){if("[object Object]"!==i.call(e))return!1;var t=Object.getPrototypeOf(e);return null===t||t===Object.prototype}function u(e){return"[object Function]"===i.call(e)}function p(e,t){if(null!=e)if("object"!=typeof e&&(e=[e]),o(e))for(var n=0,r=e.length;n{"use strict";async function r(){const{axeServerURL:e}=await browser.storage.local.get("axeServerURL");return e&&"default"!==e?e:"https://axe.deque.com"}n.d(t,{Z:()=>r})},8969:(e,t,n)=>{"use strict";n.d(t,{xJ:()=>b,Wp:()=>g,aA:()=>y,Sj:()=>p});n(7968);var r=n(2257);n(9289),n(8176),n(2249);var i=n(6825);function o(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function s(e){for(var t=1;tMath.floor(Date.now()/1e3);let u;const p=(e,t)=>{u||(u=new BroadcastChannel("auth")),u.postMessage&&u.postMessage({topic:e,message:t}),r.J.send(r.D.background,e,t)};let d=null,l=null;const h=e=>{const t=s(s({},e),{},{expires_at:c()+e.expires_in,refresh_expires_at:c()+e.refresh_expires_in});p("auth:session",t),(e=>{if((d||l)&&m(),!e)return;const t=1e3*(e.refresh_expires_at-c()-120);d=setTimeout((()=>{p("auth:session",s(s({},e),{},{expires_in:e.expires_at-c(),refresh_expires_in:e.refresh_expires_at-c()}))}),t),l=setTimeout((()=>{f()}),1e3*(e.refresh_expires_at-c()))})(t),browser.storage.local.set({session:t})},f=async()=>{try{const{"sso-config":e,user:t,session:n}=await browser.storage.local.get();await fetch(e.logoutUrl,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:encodeURI(`client_id=${e.publicClientId}&refresh_token=${n.refresh_token}`)}),await browser.storage.local.remove(["sso-config","session","user"]),null!=t&&t.company&&await browser.storage.local.set({cachedUserCompany:t.company}),p("auth:logout"),m(),r.J.send(r.D.background,"extension:logout")}catch(e){const{message:t}=e;p("auth:error",t)}},m=()=>{clearTimeout(d),clearTimeout(l)},g=e=>{e instanceof URL||(e=new URL(e));const t=e.searchParams.get("code"),n=e.hash?new URLSearchParams(e.hash.substr(1)).get("code"):null;return t||n||null},y=async()=>{const e=await(0,i.Z)(),t=await fetch(`${e}/api/sso-config`);if(!t.ok)throw new Error(`Unable to get SSO config (${t.statusCode})`);const{url:n,realm:r,publicClientId:o}=await t.json();return{url:n,realm:r,publicClientId:o,openIdConnectUrl:`${n}/auth/realms/${r}/protocol/openid-connect`}},b=async()=>{const{session:e,"sso-config":t}=await browser.storage.local.get();if(!e)return;const n={grant_type:"refresh_token",refresh_token:e.refresh_token,client_id:t.publicClientId},r=await fetch(t.tokenUrl,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:encodeURI(Object.entries(n).map((([e,t])=>`${e}=${t}`)).join("&"))});if(401===r.status||400===r.status)return void f();200!==r.status&&p("auth:error","Unexpected error");const i=await r.json();return h(i),i};r.J.listen("app:logout",f)},2249:(e,t,n)=>{"use strict";n.d(t,{q_:()=>r});const r=()=>"chrome";let i;i="AxeChrome"},5581:(e,t,n)=>{"use strict";n.d(t,{Z:()=>P});var r=n(9619),i=n.n(r),o=n(2607),s=n(1719),a=n(8969),c=n(6292);const u=n.n(c)()("request-interception"),p=["get","post","put","delete"],d=function(){const e=new Map(p.map((e=>[e,[]])));for(const t of p)this[t]=(n,r)=>{if(p.includes(t)){const i=e.get(t);e.set(t,[...i,{pattern:n,handler:r}])}return this};return this.intercept=(t,n,r)=>{const i=t.toLowerCase();if(!p.includes(i))return!1;for(const{pattern:t,handler:o}of e.get(i)){const e=new URLPattern({pathname:t}),[s,a]=n.split("?"),c=e.exec(s,"https://axe.deque.com");if(c){const e=c.pathname.groups,n=Object.fromEntries(new URLSearchParams(a));return u(`${i} ${t}`,{endpoint:s,params:e,query:n,body:r}),o(r,{endpoint:s,params:e,query:n})}}},this},l=(new Error("timeout while waiting for mutex to become available"),new Error("mutex already locked"),new Error("request for lock canceled"));var h=function(e,t,n,r){return new(n||(n=Promise))((function(i,o){function s(e){try{c(r.next(e))}catch(e){o(e)}}function a(e){try{c(r.throw(e))}catch(e){o(e)}}function c(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(s,a)}c((r=r.apply(e,t||[])).next())}))};class f{constructor(e,t=l){this._value=e,this._cancelError=t,this._weightedQueues=[],this._weightedWaiters=[]}acquire(e=1){if(e<=0)throw new Error(`invalid weight ${e}: must be positive`);return new Promise(((t,n)=>{this._weightedQueues[e-1]||(this._weightedQueues[e-1]=[]),this._weightedQueues[e-1].push({resolve:t,reject:n}),this._dispatch()}))}runExclusive(e,t=1){return h(this,void 0,void 0,(function*(){const[n,r]=yield this.acquire(t);try{return yield e(n)}finally{r()}}))}waitForUnlock(e=1){if(e<=0)throw new Error(`invalid weight ${e}: must be positive`);return new Promise((t=>{this._weightedWaiters[e-1]||(this._weightedWaiters[e-1]=[]),this._weightedWaiters[e-1].push(t),this._dispatch()}))}isLocked(){return this._value<=0}getValue(){return this._value}setValue(e){this._value=e,this._dispatch()}release(e=1){if(e<=0)throw new Error(`invalid weight ${e}: must be positive`);this._value+=e,this._dispatch()}cancel(){this._weightedQueues.forEach((e=>e.forEach((e=>e.reject(this._cancelError))))),this._weightedQueues=[]}_dispatch(){var e;for(let t=this._value;t>0;t--){const n=null===(e=this._weightedQueues[t-1])||void 0===e?void 0:e.shift();if(!n)continue;const r=this._value,i=t;this._value-=t,t=this._value+1,n.resolve([r,this._newReleaser(i)])}this._drainUnlockWaiters()}_newReleaser(e){let t=!1;return()=>{t||(t=!0,this.release(e))}}_drainUnlockWaiters(){for(let e=this._value;e>0;e--)this._weightedWaiters[e-1]&&(this._weightedWaiters[e-1].forEach((e=>e())),this._weightedWaiters[e-1]=[])}}var m=function(e,t,n,r){return new(n||(n=Promise))((function(i,o){function s(e){try{c(r.next(e))}catch(e){o(e)}}function a(e){try{c(r.throw(e))}catch(e){o(e)}}function c(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(s,a)}c((r=r.apply(e,t||[])).next())}))};class g{constructor(e){this._semaphore=new f(1,e)}acquire(){return m(this,void 0,void 0,(function*(){const[,e]=yield this._semaphore.acquire();return e}))}runExclusive(e){return this._semaphore.runExclusive((()=>e()))}isLocked(){return this._semaphore.isLocked()}waitForUnlock(){return this._semaphore.waitForUnlock()}release(){this._semaphore.isLocked()&&this._semaphore.release()}cancel(){return this._semaphore.cancel()}}function y(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function b(e){for(var t=1;tthis.setAppData(e,t,!1),this.update=async(e,t)=>this.setAppData(e,t,!0)}async setAppData(e,t,n){return await k.runExclusive((async()=>{let{[w]:r={}}=await browser.storage.local.get(w);return t?r[t]=n?b(b({},r[t]),e):e:r=e,await browser.storage.local.set({[w]:r}),t?r[t]:r}))}async get(e){return await k.runExclusive((async()=>{const{[w]:t={}}=await browser.storage.local.get(w);return e?t[e]:t}))}async clear(){await browser.storage.local.remove(w)}};function T(e,t){if(null==e)return{};var n,r,i=function(e,t){if(null==e)return{};var n,r,i={},o=Object.keys(e);for(r=0;r=0||(i[n]=e[n]);return i}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function S(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function O(e){for(var t=1;t{const t=(0,s.v4)();return await I.set(O({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 n=`/api/tests/${t.testId}`,r=await I.update(O(O({},e),{},{updated_at:(new Date).toISOString()}),n),{issues:i,manifests:o}=r;return T(r,["issues","manifests"])})).post("/api/tests/:testId/issues",(async(e,{params:t})=>{const{manifestGuideName:n,manifestId:r,test_name:i,violations:o}=e,a=`/api/tests/${t.testId}`,c=await I.get(a),u=new Date,p=[];for(const e of o){var d,l;p.push(O(O({},e),{},{id:(0,s.v4)(),created_at:u.toISOString(),test_id:t.testId,test_name:i||c.name,test_url:e.test_url||c.url,manifest_id:r,manifest_scope:(null===(d=e.stepScope)||void 0===d?void 0:d.name)||null,manifest_index:(null===(l=e.stepScope)||void 0===l?void 0:l.index)||null,manifest_key:e.stepName,manifest_guide:n}))}return c.issues=[...p,...null==c?void 0:c.issues],await I.update(c,a),c.issues})).put("/api/tests/:testId/issues/:issueId",(async(e,{params:t})=>{const n=`/api/tests/${t.testId}`,r=await I.get(n);let i={};const o=null==r?void 0:r.issues.map((n=>n.id!==t.issueId?n:(i=O(O({},n),e),i)));return await I.set(O(O({},r),{},{issues:o}),n),i})).delete("/api/tests/:testId/issues",(async(e,{params:t,query:n})=>{const r=`/api/tests/${t.testId}`,i=await I.get(r),o=(null==i?void 0:i.issues.filter((e=>Object.entries(n).every((([t,n])=>{const r="true"===n||"false"===n?JSON.parse(n):n;return e[t]!==r})))))||[];await I.set(O(O({},i),{},{issues:o}),r)})).post("/api/tests/:testId/manifests",(async(e,{params:t})=>{const n=`/api/tests/${t.testId}`,r=await I.get(n),i={id:(0,s.v4)(),test_id:t.testId,guide:e.guide||e.name,created_at:(new Date).toISOString()};return(r.manifests||[]).push(i),await I.set(r,n),i})).get("/api/tests/:testId/manifests/:manifestId",(async(e,{params:t})=>{const n=await I.get(`/api/tests/${t.testId}`);return(null==n?void 0:n.manifests.find((e=>e.id===t.manifestId)))||{}})).get("/api/tests/:testId/issues",(async(e,{params:t})=>{const n=await I.get(`/api/tests/${t.testId}`);return(null==n?void 0:n.issues)||[]})).get("/api/tests/:testId/manifests",(async(e,{params:t})=>{var n;const r=await I.get(`/api/tests/${t.testId}`);return(null==r||null===(n=r.manifests)||void 0===n?void 0:n.reduce(((e,t)=>{if(t.guide){const n=[...e[t.guide]||[],t];e[t.guide]=n}return e}),{}))||{}})).put("/api/tests/:testId/manifests/:manifestId",(async(e,{params:t})=>{const n=`/api/tests/${t.testId}`,r=await I.get(n);let i={};const o=null==r?void 0:r.manifests.map((n=>n.id!==t.manifestId?n:(i=O(O(O({},n),{},{updated_at:(new Date).toISOString()},"data"in e&&e.data?{body:e.data}:{}),"name"in e&&e.name?{name:e.name}:{}),i)));return await I.set(O(O({},r),{},{manifests:o}),n),i})).delete("/api/tests/:testId/manifests/:manifestId",(async(e,{params:t})=>await E.runExclusive((async()=>{const e=`/api/tests/${t.testId}`,n=await I.get(e),r=null==n?void 0:n.issues.filter((e=>e.manifest_id!==t.manifestId)),i=null==n?void 0:n.manifests.filter((e=>e.id!==t.manifestId));await I.set(O(O({},n),{},{issues:r||[],manifests:i||[]}),e)})))).get("/api/users/:id/tests",(async(e,{query:t})=>{var n;const r=new URLPattern({pathname:"/api/tests/:testId"}),i=await I.get(),o=[],s=(null===(n=t.tags)||void 0===n?void 0:n.split(","))||[];for(const[e,t]of Object.entries(i))if(r.test(e,"https://axe.deque.com")){const e=s.length?t.issues.filter((e=>!!e.tags.find((e=>s.includes(e))))):null==t?void 0:t.issues;o.push(O({best_practice_count:t.issues.filter((e=>{var t;return null===(t=e.tags)||void 0===t?void 0:t.includes("best-practice")})).length,needs_review_count:e.filter((e=>!!e.needs_review)).length,violation_count:e.filter((e=>"violation"===e.variant)).length},t))}return o.sort(((e,t)=>-e.updated_at.localeCompare(t.updated_at)))})).post("/api/analytics",(()=>{})).put("*",(async(e,{endpoint:t})=>I.set(e,t))).post("*",(async(e,{endpoint:t})=>I.update(e,t))).get("*",(async(e,{endpoint:t})=>I.get(t))).delete("*",(async(e,{endpoint:t})=>{const n=await I.get();delete n[t],await I.set(n)}));const A=async(e,t,n,r)=>{const{axeServerURL:i,session:s}=await browser.storage.local.get();if(null==s||!s.access_token)throw new Error(o.ZP`You are not logged in and you need to be logged in to perform this action`);let c;if(s.expires_at{const{enableOffline:o}=await browser.storage.local.get("enableOffline");if(o)try{return await j.intercept(e,t,n)}catch(e){throw console.error(e),e}const s=await A(e,t,O({"Content-Type":"application/json"},r?{Accept:"application/json"}:{}),JSON.stringify(n));if(204!==s.status)return i()(s.ok),r?s.json():s.text()};const P={delete:function(e,t,n){return C("DELETE",e,t,n)},get:function(e,t){return C("GET",e,void 0,t)},post:function(e,t,n){return C("POST",e,t,n)},put:function(e,t,n){return C("PUT",e,t,n)},stream:{post:function(e,t,n){return A("POST",e,t,n)},get:function(e,t,n){return A("GET",e,t,n)}}}},5917:(e,t,n)=>{"use strict";n.r(t),n.d(t,{TAB_TIMEOUT:()=>ge});var r=n(6292),i=n.n(r),o=n(2607);const s=()=>chrome.runtime.lastError&&chrome.runtime.lastError.message&&"Cannot attach to this target."===chrome.runtime.lastError.message;function a(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function c(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}const u=i()("debugger:command"),p=i()("debugger:response"),d=(e=browser.devtools.inspectedWindow.tabId)=>new Promise(((t,n)=>{try{chrome.debugger.attach({tabId:e},"1.3",(()=>{try{chrome.runtime.lastError?u(chrome.runtime.lastError.message):u(`attach:${e}`)}finally{t(!0)}}))}catch{n()}})),l=async(e,t,n)=>new Promise((r=>{u(`[${t}] command:${e.tabId}`,n),chrome.debugger.sendCommand(e,t,n,(n=>{try{chrome.runtime.lastError&&u(chrome.runtime.lastError.message)}finally{p(`[${t}] command:${e.tabId}`,function(e){for(var t=1;tnew Promise(((t,n)=>{try{chrome.debugger.detach({tabId:e},(()=>{u(`detach:${e}`),t(!0)}))}catch{n()}}));async function f(e,t={}){return l(this,e,t)}const m=async e=>(await d(e),Promise.resolve(f.bind({tabId:e})));class g{constructor(e){this.tabId=e}async start(){if(this.command=await m(this.tabId),s())throw new Error(browser.runtime.lastError.message);await this.command("Input.enable"),await this.fireTab()}stop(){h(this.tabId)}async fireKey(e,t){await this.command("Input.dispatchKeyEvent",{type:"keyDown",windowsVirtualKeyCode:e,code:t,key:t}),await this.command("Input.dispatchKeyEvent",{type:"keyUp",windowsVirtualKeyCode:e,code:t,key:t})}async fireTab(){await this.fireKey(9,"Tab")}async fireEscape(){this.command=await m(this.tabId),await this.command("Input.enable"),await this.fireKey(27,"Escape"),this.stop()}}var y=n(2257),b=n(5581),v=n(4295);var w=n(3152),k=n.n(w);const x=(e,t)=>t.reduce(((e,t)=>e.find((e=>e.vnodeId===t.vnodeId))?e:[...e,t]),[...e]);function T(e=[],t){const n=k()(t,"metadata.scope",{});return e.reduce(((e,n)=>{const r=t[n];return r?r.hasOwnProperty("vnodeId")?x(e,[r]):Array.isArray(r)?x(e,(e=>e.reduce(((e,t)=>t.vnodes?[...e,...t.vnodes]:[...e,t]),e))(r)):e:e}),n?[n]:[]).filter((e=>"number"==typeof e.vnodeId))}const S=[{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}]},{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}]},{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}]},{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}]},{id:"alt-text-dynamic-image-inconsistent",descriptions:{en:{shortText:"Text alternative does not match dynamically changing image",description:"The image is changing dynamically but the text alternative doesn't correspond to the image displayed."}},checkpoints:[{checkpoint:"1.1.1.a",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"1.1.1.b",standards:["wcag2a"],type:"issue",impact:3}]},{id:"alt-text-essential-image-text",descriptions:{en:{shortText:"Text alternative does not include essential text in image",description:"The text alternative does not contain the essential text in the 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:"1.1.1.b",standards:["wcag2a"],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}]},{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}]},{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}]},{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}]},{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}]},{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}]},{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}]},{id:"alt-text-missing",descriptions:{en:{shortText:"Text alternative is missing",description:"The text alternative is missing."}},checkpoints:[{checkpoint:"1.1.1.a",standards:["wcag2a"],type:"issue",impact:4},{checkpoint:"1.1.1.b",standards:["wcag2a"],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}]},{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}]},{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}]},{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}]},{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}]},{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}]},{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}]},{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}]},{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}]},{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}]},{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}]},{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}]},{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}]},{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}]},{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}]},{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}]},{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}]},{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}]},{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}]},{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}]},{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}]},{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}]},{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}]},{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}]},{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}]},{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}]},{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}]},{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}]},{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:"1.2.5.a",standards:["wcag2aa"],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}]},{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}]},{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}]},{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}]},{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}]},{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}]},{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}]},{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}]},{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}]},{id:"button-state-disabled",descriptions:{en:{shortText:"Button: Button disabled state is not conveyed",description:"The disabled state of a button is not conveyed to screen reader users."}},checkpoints:[{checkpoint:"4.1.2.a",standards:["wcag2a"],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}]},{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}]},{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}]},{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}]},{id:"captions-inadequate",descriptions:{en:{shortText:"Captions are incorrect or inadequate",description:"Captions are provided, but they are incorrect or inadequate."}},checkpoints:[{checkpoint:"1.2.2.a",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"1.2.4.a",standards:["wcag2a"],type:"issue",impact:3}]},{id:"captions-incomplete",descriptions:{en:{shortText:"Captions do not contain all dialogue",description:"Captions are provided, but some of the dialogue is missing."}},checkpoints:[{checkpoint:"1.2.2.a",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"1.2.4.a",standards:["wcag2a"],type:"issue",impact:3}]},{id:"captions-missing",descriptions:{en:{shortText:"Captions are not available",description:"Captions are not provided for the multimedia content."}},checkpoints:[{checkpoint:"1.2.2.a",standards:["wcag2a"],type:"issue",impact:4},{checkpoint:"1.2.4.a",standards:["wcag2a"],type:"issue",impact:4}]},{id:"captions-not-clearly-visible",descriptions:{en:{shortText:"Caption text has inadequate contrast",description:"Captions are provided, 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:"1.2.4.a",standards:["wcag2a"],type:"issue",impact:3}]},{id:"captions-not-synchronized",descriptions:{en:{shortText:"Captions are not synchronized",description:"Captions are provided, but they are not synchronized with the multimedia."}},checkpoints:[{checkpoint:"1.2.2.a",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"1.2.4.a",standards:["wcag2a"],type:"issue",impact:3}]},{id:"captions-undescribed-effects",descriptions:{en:{shortText:"Captions do not describe important sounds",description:"Captions are provided, but they do not describe all important sound effects."}},checkpoints:[{checkpoint:"1.2.2.a",standards:["wcag2a"],type:"issue",impact:3},{checkpoint:"1.2.4.a",standards:["wcag2a"],type:"issue",impact:3}]},{id:"captions-unidentified-speakers",descriptions:{en:{shortText:"Captions do not identify all speakers",description:"Captions are provided, but they do not identify all the speakers."}},checkpoints:[{checkpoint:"1.2.2.a",standards:["wcag2a"],type:"issue",impact:2},{checkpoint:"1.2.4.a",standards:["wcag2a"],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}]},{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}]},{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}]},{id:"content-blink",descriptions:{en:{shortText:"Blinking content is present",description:"The element uses a element or text-decoration: blink."}},checkpoints:[{checkpoint:"2.2.2.a",standards:["wcag2a"],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}]},{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}]},{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}]},{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}]},{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}]},{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}]},{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}]},{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}]},{id:"content-marquee",descriptions:{en:{shortText:"Marquee element is present",description:"A element is present."}},checkpoints:[{checkpoint:"2.2.2.a",standards:["wcag2a"],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}]},{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}]},{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}]},{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}]},{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}]},{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}]},{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}]},{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}]},{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}]},{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}]},{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}]},{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}]},{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}]},{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}]},{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}]},{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}]},{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}]},{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}]},{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}]},{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}]},{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}]},{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}]},{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}]},{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}]},{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}]},{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}]},{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}]},{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}]},{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}]},{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}]},{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}]},{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}]},{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}]},{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}]},{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}]},{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}]},{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}]},{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}]},{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}]},{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}]},{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}]},{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}]},{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}]},{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}]},{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}]},{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}]},{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}]},{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}]},{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}]},{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}]},{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}]},{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}]},{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}]},{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}]},{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}]},{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}]},{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}]},{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}]},{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}]},{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}]},{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}]},{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}]},{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}]},{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}]},{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}]},{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}]},{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}]},{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}]},{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}]},{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}]},{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}]},{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}]},{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}]},{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}]},{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}]},{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}]},{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}]},{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}]},{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}]},{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" link.'}},checkpoints:[{checkpoint:"1.3.2.a",standards:["wcag2a"],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}]},{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}]},{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}]},{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}]},{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}]},{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}]},{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}]},{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}]},{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}]},{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}]},{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}]},{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}]},{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}]},{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}]},{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}]},{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}]},{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}]},{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}]},{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}]},{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}]},{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}]},{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}]},{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}]},{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