lighthouse 11.1.0-dev.20231003 → 11.1.0-dev.20231004
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/core/audits/audit.js +17 -2
- package/core/audits/bf-cache.js +1 -0
- package/core/audits/bootup-time.js +4 -1
- package/core/audits/byte-efficiency/byte-efficiency-audit.js +1 -1
- package/core/audits/byte-efficiency/duplicated-javascript.js +1 -1
- package/core/audits/byte-efficiency/efficient-animated-content.js +1 -1
- package/core/audits/byte-efficiency/legacy-javascript.js +1 -1
- package/core/audits/byte-efficiency/modern-image-formats.js +1 -1
- package/core/audits/byte-efficiency/offscreen-images.js +1 -1
- package/core/audits/byte-efficiency/render-blocking-resources.js +2 -3
- package/core/audits/byte-efficiency/total-byte-weight.js +3 -1
- package/core/audits/byte-efficiency/unminified-css.js +1 -1
- package/core/audits/byte-efficiency/unminified-javascript.js +1 -1
- package/core/audits/byte-efficiency/unused-css-rules.js +1 -1
- package/core/audits/byte-efficiency/unused-javascript.js +1 -1
- package/core/audits/byte-efficiency/uses-long-cache-ttl.js +2 -7
- package/core/audits/byte-efficiency/uses-optimized-images.js +1 -1
- package/core/audits/byte-efficiency/uses-responsive-images-snapshot.js +1 -0
- package/core/audits/byte-efficiency/uses-responsive-images.js +1 -1
- package/core/audits/byte-efficiency/uses-text-compression.js +1 -1
- package/core/audits/dobetterweb/dom-size.js +3 -1
- package/core/audits/dobetterweb/no-document-write.js +1 -0
- package/core/audits/dobetterweb/uses-http2.js +2 -3
- package/core/audits/dobetterweb/uses-passive-event-listeners.js +1 -0
- package/core/audits/font-display.js +1 -0
- package/core/audits/largest-contentful-paint-element.js +3 -2
- package/core/audits/layout-shift-elements.js +8 -4
- package/core/audits/lcp-lazy-loaded.js +1 -0
- package/core/audits/long-tasks.js +8 -1
- package/core/audits/mainthread-work-breakdown.js +3 -1
- package/core/audits/prioritize-lcp-image.js +2 -3
- package/core/audits/redirects.js +2 -3
- package/core/audits/server-response-time.js +2 -0
- package/core/audits/third-party-facades.js +1 -0
- package/core/audits/third-party-summary.js +5 -1
- package/core/audits/unsized-images.js +1 -1
- package/core/audits/uses-rel-preconnect.js +2 -3
- package/core/audits/uses-rel-preload.js +2 -3
- package/core/audits/viewport.js +1 -0
- package/core/audits/work-during-interaction.js +6 -2
- package/core/gather/session.js +2 -0
- package/dist/report/bundle.esm.js +1 -1
- package/dist/report/flow.js +5 -5
- package/dist/report/standalone.js +1 -1
- package/package.json +4 -4
- package/report/renderer/performance-category-renderer.js +15 -11
- package/types/audit.d.ts +2 -0
- package/types/internal/rxjs.d.ts +3 -0
- package/types/lhr/audit-result.d.ts +7 -0
package/dist/report/flow.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
"use strict";(()=>{var rt,L,yn,xi,je,_n,hn,Cn,at={},wn=[],Ui=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i;function fe(n,e){for(var t in e)n[t]=e[t];return n}function kn(n){var e=n.parentNode;e&&e.removeChild(n)}function Nt(n,e,t){var a,o,i,r={};for(i in e)i=="key"?a=e[i]:i=="ref"?o=e[i]:r[i]=e[i];if(arguments.length>2&&(r.children=arguments.length>3?rt.call(arguments,2):t),typeof n=="function"&&n.defaultProps!=null)for(i in n.defaultProps)r[i]===void 0&&(r[i]=n.defaultProps[i]);return tt(n,r,a,o,null)}function tt(n,e,t,a,o){var i={type:n,props:e,key:t,ref:a,__k:null,__:null,__b:0,__e:null,__d:void 0,__c:null,__h:null,constructor:void 0,__v:o??++yn};return o==null&&L.vnode!=null&&L.vnode(i),i}function W(n){return n.children}function nt(n,e){this.props=n,this.context=e}function xe(n,e){if(e==null)return n.__?xe(n.__,n.__.__k.indexOf(n)+1):null;for(var t;e<n.__k.length;e++)if((t=n.__k[e])!=null&&t.__e!=null)return t.__e;return typeof n.type=="function"?xe(n):null}function Sn(n){var e,t;if((n=n.__)!=null&&n.__c!=null){for(n.__e=n.__c.base=null,e=0;e<n.__k.length;e++)if((t=n.__k[e])!=null&&t.__e!=null){n.__e=n.__c.base=t.__e;break}return Sn(n)}}function Rt(n){(!n.__d&&(n.__d=!0)&&je.push(n)&&!it.__r++||hn!==L.debounceRendering)&&((hn=L.debounceRendering)||_n)(it)}function it(){for(var n;it.__r=je.length;)n=je.sort(function(e,t){return e.__v.__b-t.__v.__b}),je=[],n.some(function(e){var t,a,o,i,r,s;e.__d&&(r=(i=(t=e).__v).__e,(s=t.__P)&&(a=[],(o=fe({},i)).__v=i.__v+1,zt(s,i,o,t.__n,s.ownerSVGElement!==void 0,i.__h!=null?[r]:null,a,r??xe(i),i.__h),Un(a,i),i.__e!=r&&Sn(i)))})}function An(n,e,t,a,o,i,r,s,c,g){var p,v,h,f,y,S,C,_=a&&a.__k||wn,A=_.length;for(t.__k=[],p=0;p<e.length;p++)if((f=t.__k[p]=(f=e[p])==null||typeof f=="boolean"?null:typeof f=="string"||typeof f=="number"||typeof f=="bigint"?tt(null,f,null,null,f):Array.isArray(f)?tt(W,{children:f},null,null,null):f.__b>0?tt(f.type,f.props,f.key,null,f.__v):f)!=null){if(f.__=t,f.__b=t.__b+1,(h=_[p])===null||h&&f.key==h.key&&f.type===h.type)_[p]=void 0;else for(v=0;v<A;v++){if((h=_[v])&&f.key==h.key&&f.type===h.type){_[v]=void 0;break}h=null}zt(n,f,h=h||at,o,i,r,s,c,g),y=f.__e,(v=f.ref)&&h.ref!=v&&(C||(C=[]),h.ref&&C.push(h.ref,null,f),C.push(v,f.__c||y,f)),y!=null?(S==null&&(S=y),typeof f.type=="function"&&f.__k===h.__k?f.__d=c=Pn(f,c,n):c=xn(n,f,h,_,y,c),typeof t.type=="function"&&(t.__d=c)):c&&h.__e==c&&c.parentNode!=n&&(c=xe(h))}for(t.__e=S,p=A;p--;)_[p]!=null&&(typeof t.type=="function"&&_[p].__e!=null&&_[p].__e==t.__d&&(t.__d=xe(a,p+1)),In(_[p],_[p]));if(C)for(p=0;p<C.length;p++)Ln(C[p],C[++p],C[++p])}function Pn(n,e,t){for(var a,o=n.__k,i=0;o&&i<o.length;i++)(a=o[i])&&(a.__=n,e=typeof a.type=="function"?Pn(a,e,t):xn(t,a,a,o,a.__e,e));return e}function xn(n,e,t,a,o,i){var r,s,c;if(e.__d!==void 0)r=e.__d,e.__d=void 0;else if(t==null||o!=i||o.parentNode==null)e:if(i==null||i.parentNode!==n)n.appendChild(o),r=null;else{for(s=i,c=0;(s=s.nextSibling)&&c<a.length;c+=2)if(s==o)break e;n.insertBefore(o,i),r=i}return r!==void 0?r:o.nextSibling}function Li(n,e,t,a,o){var i;for(i in t)i==="children"||i==="key"||i in e||ot(n,i,null,t[i],a);for(i in e)o&&typeof e[i]!="function"||i==="children"||i==="key"||i==="value"||i==="checked"||t[i]===e[i]||ot(n,i,e[i],t[i],a)}function fn(n,e,t){e[0]==="-"?n.setProperty(e,t):n[e]=t==null?"":typeof t!="number"||Ui.test(e)?t:t+"px"}function ot(n,e,t,a,o){var i;e:if(e==="style")if(typeof t=="string")n.style.cssText=t;else{if(typeof a=="string"&&(n.style.cssText=a=""),a)for(e in a)t&&e in t||fn(n.style,e,"");if(t)for(e in t)a&&t[e]===a[e]||fn(n.style,e,t[e])}else if(e[0]==="o"&&e[1]==="n")i=e!==(e=e.replace(/Capture$/,"")),e=e.toLowerCase()in n?e.toLowerCase().slice(2):e.slice(2),n.l||(n.l={}),n.l[e+i]=t,t?a||n.addEventListener(e,i?bn:vn,i):n.removeEventListener(e,i?bn:vn,i);else if(e!=="dangerouslySetInnerHTML"){if(o)e=e.replace(/xlink(H|:h)/,"h").replace(/sName$/,"s");else if(e!=="href"&&e!=="list"&&e!=="form"&&e!=="tabIndex"&&e!=="download"&&e in n)try{n[e]=t??"";break e}catch{}typeof t=="function"||(t!=null&&(t!==!1||e[0]==="a"&&e[1]==="r")?n.setAttribute(e,t):n.removeAttribute(e))}}function vn(n){this.l[n.type+!1](L.event?L.event(n):n)}function bn(n){this.l[n.type+!0](L.event?L.event(n):n)}function zt(n,e,t,a,o,i,r,s,c){var g,p,v,h,f,y,S,C,_,A,x,T=e.type;if(e.constructor!==void 0)return null;t.__h!=null&&(c=t.__h,s=e.__e=t.__e,e.__h=null,i=[s]),(g=L.__b)&&g(e);try{e:if(typeof T=="function"){if(C=e.props,_=(g=T.contextType)&&a[g.__c],A=g?_?_.props.value:g.__:a,t.__c?S=(p=e.__c=t.__c).__=p.__E:("prototype"in T&&T.prototype.render?e.__c=p=new T(C,A):(e.__c=p=new nt(C,A),p.constructor=T,p.render=Ei),_&&_.sub(p),p.props=C,p.state||(p.state={}),p.context=A,p.__n=a,v=p.__d=!0,p.__h=[]),p.__s==null&&(p.__s=p.state),T.getDerivedStateFromProps!=null&&(p.__s==p.state&&(p.__s=fe({},p.__s)),fe(p.__s,T.getDerivedStateFromProps(C,p.__s))),h=p.props,f=p.state,v)T.getDerivedStateFromProps==null&&p.componentWillMount!=null&&p.componentWillMount(),p.componentDidMount!=null&&p.__h.push(p.componentDidMount);else{if(T.getDerivedStateFromProps==null&&C!==h&&p.componentWillReceiveProps!=null&&p.componentWillReceiveProps(C,A),!p.__e&&p.shouldComponentUpdate!=null&&p.shouldComponentUpdate(C,p.__s,A)===!1||e.__v===t.__v){p.props=C,p.state=p.__s,e.__v!==t.__v&&(p.__d=!1),p.__v=e,e.__e=t.__e,e.__k=t.__k,e.__k.forEach(function(D){D&&(D.__=e)}),p.__h.length&&r.push(p);break e}p.componentWillUpdate!=null&&p.componentWillUpdate(C,p.__s,A),p.componentDidUpdate!=null&&p.__h.push(function(){p.componentDidUpdate(h,f,y)})}p.context=A,p.props=C,p.state=p.__s,(g=L.__r)&&g(e),p.__d=!1,p.__v=e,p.__P=n,g=p.render(p.props,p.state,p.context),p.state=p.__s,p.getChildContext!=null&&(a=fe(fe({},a),p.getChildContext())),v||p.getSnapshotBeforeUpdate==null||(y=p.getSnapshotBeforeUpdate(h,f)),x=g!=null&&g.type===W&&g.key==null?g.props.children:g,An(n,Array.isArray(x)?x:[x],e,t,a,o,i,r,s,c),p.base=e.__e,e.__h=null,p.__h.length&&r.push(p),S&&(p.__E=p.__=null),p.__e=!1}else i==null&&e.__v===t.__v?(e.__k=t.__k,e.__e=t.__e):e.__e=Ii(t.__e,e,t,a,o,i,r,c);(g=L.diffed)&&g(e)}catch(D){e.__v=null,(c||i!=null)&&(e.__e=s,e.__h=!!c,i[i.indexOf(s)]=null),L.__e(D,e,t)}}function Un(n,e){L.__c&&L.__c(e,n),n.some(function(t){try{n=t.__h,t.__h=[],n.some(function(a){a.call(t)})}catch(a){L.__e(a,t.__v)}})}function Ii(n,e,t,a,o,i,r,s){var c,g,p,v=t.props,h=e.props,f=e.type,y=0;if(f==="svg"&&(o=!0),i!=null){for(;y<i.length;y++)if((c=i[y])&&"setAttribute"in c==!!f&&(f?c.localName===f:c.nodeType===3)){n=c,i[y]=null;break}}if(n==null){if(f===null)return document.createTextNode(h);n=o?document.createElementNS("http://www.w3.org/2000/svg",f):document.createElement(f,h.is&&h),i=null,s=!1}if(f===null)v===h||s&&n.data===h||(n.data=h);else{if(i=i&&rt.call(n.childNodes),g=(v=t.props||at).dangerouslySetInnerHTML,p=h.dangerouslySetInnerHTML,!s){if(i!=null)for(v={},y=0;y<n.attributes.length;y++)v[n.attributes[y].name]=n.attributes[y].value;(p||g)&&(p&&(g&&p.__html==g.__html||p.__html===n.innerHTML)||(n.innerHTML=p&&p.__html||""))}if(Li(n,h,v,o,s),p)e.__k=[];else if(y=e.props.children,An(n,Array.isArray(y)?y:[y],e,t,a,o&&f!=="foreignObject",i,r,i?i[0]:t.__k&&xe(t,0),s),i!=null)for(y=i.length;y--;)i[y]!=null&&kn(i[y]);s||("value"in h&&(y=h.value)!==void 0&&(y!==n.value||f==="progress"&&!y||f==="option"&&y!==v.value)&&ot(n,"value",y,v.value,!1),"checked"in h&&(y=h.checked)!==void 0&&y!==n.checked&&ot(n,"checked",y,v.checked,!1))}return n}function Ln(n,e,t){try{typeof n=="function"?n(e):n.current=e}catch(a){L.__e(a,t)}}function In(n,e,t){var a,o;if(L.unmount&&L.unmount(n),(a=n.ref)&&(a.current&&a.current!==n.__e||Ln(a,null,e)),(a=n.__c)!=null){if(a.componentWillUnmount)try{a.componentWillUnmount()}catch(i){L.__e(i,e)}a.base=a.__P=null}if(a=n.__k)for(o=0;o<a.length;o++)a[o]&&In(a[o],e,typeof n.type!="function");t||n.__e==null||kn(n.__e),n.__e=n.__d=void 0}function Ei(n,e,t){return this.constructor(n,t)}function En(n,e,t){var a,o,i;L.__&&L.__(n,e),o=(a=typeof t=="function")?null:t&&t.__k||e.__k,i=[],zt(e,n=(!a&&t||e).__k=Nt(W,null,[n]),o||at,at,e.ownerSVGElement!==void 0,!a&&t?[t]:o?null:e.firstChild?rt.call(e.childNodes):null,i,!a&&t?t:o?o.__e:e.firstChild,a),Un(i,n)}function Me(n,e){var t={__c:e="__cC"+Cn++,__:n,Consumer:function(a,o){return a.children(o)},Provider:function(a){var o,i;return this.getChildContext||(o=[],(i={})[e]=this,this.getChildContext=function(){return i},this.shouldComponentUpdate=function(r){this.props.value!==r.value&&o.some(Rt)},this.sub=function(r){o.push(r);var s=r.componentWillUnmount;r.componentWillUnmount=function(){o.splice(o.indexOf(r),1),s&&s.call(r)}}),a.children}};return t.Provider.__=t.Consumer.contextType=t}rt=wn.slice,L={__e:function(n,e,t,a){for(var o,i,r;e=e.__;)if((o=e.__c)&&!o.__)try{if((i=o.constructor)&&i.getDerivedStateFromError!=null&&(o.setState(i.getDerivedStateFromError(n)),r=o.__d),o.componentDidCatch!=null&&(o.componentDidCatch(n,a||{}),r=o.__d),r)return o.__E=o}catch(s){n=s}throw n}},yn=0,xi=function(n){return n!=null&&n.constructor===void 0},nt.prototype.setState=function(n,e){var t;t=this.__s!=null&&this.__s!==this.state?this.__s:this.__s=fe({},this.state),typeof n=="function"&&(n=n(fe({},t),this.props)),n&&fe(t,n),n!=null&&this.__v&&(e&&this.__h.push(e),Rt(this))},nt.prototype.forceUpdate=function(n){this.__v&&(this.__e=!0,n&&this.__h.push(n),Rt(this))},nt.prototype.render=W,je=[],_n=typeof Promise=="function"?Promise.prototype.then.bind(Promise.resolve()):setTimeout,it.__r=0,Cn=0;var Ue,te,Tn,lt=0,Fn=[],Rn=L.__b,Nn=L.__r,zn=L.diffed,Dn=L.__c,jn=L.unmount;function Fe(n,e){L.__h&&L.__h(te,n,lt||e),lt=0;var t=te.__H||(te.__H={__:[],__h:[]});return n>=t.__.length&&t.__.push({}),t.__[n]}function ve(n){return lt=1,Ti(Hn,n)}function Ti(n,e,t){var a=Fe(Ue++,2);return a.t=n,a.__c||(a.__=[t?t(e):Hn(void 0,e),function(o){var i=a.t(a.__[0],o);a.__[0]!==i&&(a.__=[i,a.__[1]],a.__c.setState({}))}],a.__c=te),a.__}function pt(n,e){var t=Fe(Ue++,3);!L.__s&&jt(t.__H,e)&&(t.__=n,t.__H=e,te.__H.__h.push(t))}function ut(n,e){var t=Fe(Ue++,4);!L.__s&&jt(t.__H,e)&&(t.__=n,t.__H=e,te.__h.push(t))}function ct(n){return lt=5,ce(function(){return{current:n}},[])}function ce(n,e){var t=Fe(Ue++,7);return jt(t.__H,e)&&(t.__=n(),t.__H=e,t.__h=n),t.__}function He(n){var e=te.context[n.__c],t=Fe(Ue++,9);return t.c=n,e?(t.__==null&&(t.__=!0,e.sub(te)),e.props.value):n.__}function Ri(){for(var n;n=Fn.shift();)if(n.__P)try{n.__H.__h.forEach(st),n.__H.__h.forEach(Dt),n.__H.__h=[]}catch(e){n.__H.__h=[],L.__e(e,n.__v)}}L.__b=function(n){te=null,Rn&&Rn(n)},L.__r=function(n){Nn&&Nn(n),Ue=0;var e=(te=n.__c).__H;e&&(e.__h.forEach(st),e.__h.forEach(Dt),e.__h=[])},L.diffed=function(n){zn&&zn(n);var e=n.__c;e&&e.__H&&e.__H.__h.length&&(Fn.push(e)!==1&&Tn===L.requestAnimationFrame||((Tn=L.requestAnimationFrame)||function(t){var a,o=function(){clearTimeout(i),Mn&&cancelAnimationFrame(a),setTimeout(t)},i=setTimeout(o,100);Mn&&(a=requestAnimationFrame(o))})(Ri)),te=null},L.__c=function(n,e){e.some(function(t){try{t.__h.forEach(st),t.__h=t.__h.filter(function(a){return!a.__||Dt(a)})}catch(a){e.some(function(o){o.__h&&(o.__h=[])}),e=[],L.__e(a,t.__v)}}),Dn&&Dn(n,e)},L.unmount=function(n){jn&&jn(n);var e,t=n.__c;t&&t.__H&&(t.__H.__.forEach(function(a){try{st(a)}catch(o){e=o}}),e&&L.__e(e,t.__v))};var Mn=typeof requestAnimationFrame=="function";function st(n){var e=te,t=n.__c;typeof t=="function"&&(n.__c=void 0,t()),te=e}function Dt(n){var e=te;n.__c=n.__(),te=e}function jt(n,e){return!n||n.length!==e.length||e.some(function(t,a){return t!==n[a]})}function Hn(n,e){return typeof e=="function"?e(n):e}var Ni=.8999999999999999,zi=.5,Di=.49999999999999994;function ji(n){let e=Math.sign(n);n=Math.abs(n);let t=.254829592,a=-.284496736,o=1.421413741,i=-1.453152027,r=1.061405429,c=1/(1+.3275911*n),g=c*(t+c*(a+c*(o+c*(i+c*r))));return e*(1-g*Math.exp(-n*n))}function On({median:n,p10:e},t){if(n<=0)throw new Error("median must be greater than zero");if(e<=0)throw new Error("p10 must be greater than zero");if(e>=n)throw new Error("p10 must be less than the median");if(t<=0)return 1;let a=.9061938024368232,o=Math.max(Number.MIN_VALUE,t/n),i=Math.log(o),r=Math.max(Number.MIN_VALUE,e/n),s=-Math.log(r),c=i*a/s,g=(1-ji(c))/2,p;return t<=e?p=Math.max(.9,Math.min(1,g)):t<=n?p=Math.max(zi,Math.min(Ni,g)):p=Math.max(0,Math.min(Di,g)),p}var de="…",Fi=" ",Bn=.9,Hi={PASS:{label:"pass",minScore:Bn},AVERAGE:{label:"average",minScore:.5},FAIL:{label:"fail"},ERROR:{label:"error"}},Oi=["com","co","gov","edu","ac","org","go","gob","or","net","in","ne","nic","gouv","web","spb","blog","jus","kiev","mil","wi","qc","ca","bel","on"],M=class n{static get RATINGS(){return Hi}static get PASS_THRESHOLD(){return Bn}static get MS_DISPLAY_VALUE(){return`%10d${Fi}ms`}static getFinalDisplayedUrl(e){if(e.finalDisplayedUrl)return e.finalDisplayedUrl;if(e.finalUrl)return e.finalUrl;throw new Error("Could not determine final displayed URL")}static getMainDocumentUrl(e){return e.mainDocumentUrl||e.finalUrl}static getFullPageScreenshot(e){return e.fullPageScreenshot?e.fullPageScreenshot:e.audits["full-page-screenshot"]?.details}static splitMarkdownCodeSpans(e){let t=[],a=e.split(/`(.*?)`/g);for(let o=0;o<a.length;o++){let i=a[o];if(!i)continue;let r=o%2!==0;t.push({isCode:r,text:i})}return t}static splitMarkdownLink(e){let t=[],a=e.split(/\[([^\]]+?)\]\((https?:\/\/.*?)\)/g);for(;a.length;){let[o,i,r]=a.splice(0,3);o&&t.push({isLink:!1,text:o}),i&&r&&t.push({isLink:!0,text:i,linkHref:r})}return t}static truncate(e,t,a="…"){if(e.length<=t)return e;let i=new Intl.Segmenter(void 0,{granularity:"grapheme"}).segment(e)[Symbol.iterator](),r=0;for(let s=0;s<=t-a.length;s++){let c=i.next();if(c.done)return e;r=c.value.index}for(let s=0;s<a.length;s++)if(i.next().done)return e;return e.slice(0,r)+a}static getURLDisplayName(e,t){t=t||{numPathParts:void 0,preserveQuery:void 0,preserveHost:void 0};let a=t.numPathParts!==void 0?t.numPathParts:2,o=t.preserveQuery!==void 0?t.preserveQuery:!0,i=t.preserveHost||!1,r;if(e.protocol==="about:"||e.protocol==="data:")r=e.href;else{r=e.pathname;let c=r.split("/").filter(g=>g.length);a&&c.length>a&&(r=de+c.slice(-1*a).join("/")),i&&(r=`${e.host}/${r.replace(/^\//,"")}`),o&&(r=`${r}${e.search}`)}let s=64;if(e.protocol!=="data:"&&(r=r.slice(0,200),r=r.replace(/([a-f0-9]{7})[a-f0-9]{13}[a-f0-9]*/g,`$1${de}`),r=r.replace(/([a-zA-Z0-9-_]{9})(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])[a-zA-Z0-9-_]{10,}/g,`$1${de}`),r=r.replace(/(\d{3})\d{6,}/g,`$1${de}`),r=r.replace(/\u2026+/g,de),r.length>s&&r.includes("?")&&(r=r.replace(/\?([^=]*)(=)?.*/,`?$1$2${de}`),r.length>s&&(r=r.replace(/\?.*/,`?${de}`)))),r.length>s){let c=r.lastIndexOf(".");c>=0?r=r.slice(0,s-1-(r.length-c))+`${de}${r.slice(c)}`:r=r.slice(0,s-1)+de}return r}static getChromeExtensionOrigin(e){let t=new URL(e);return t.protocol+"//"+t.host}static parseURL(e){let t=new URL(e);return{file:n.getURLDisplayName(t),hostname:t.hostname,origin:t.protocol==="chrome-extension:"?n.getChromeExtensionOrigin(e):t.origin}}static createOrReturnURL(e){return e instanceof URL?e:new URL(e)}static getTld(e){let t=e.split(".").slice(-2);return Oi.includes(t[0])?`.${t.join(".")}`:`.${t[t.length-1]}`}static getRootDomain(e){let t=n.createOrReturnURL(e).hostname,o=n.getTld(t).split(".");return t.split(".").slice(-o.length).join(".")}static filterRelevantLines(e,t,a){if(t.length===0)return e.slice(0,a*2+1);let o=3,i=new Set;return t=t.sort((r,s)=>(r.lineNumber||0)-(s.lineNumber||0)),t.forEach(({lineNumber:r})=>{let s=r-a,c=r+a;for(;s<1;)s++,c++;i.has(s-o-1)&&(s-=o);for(let g=s;g<=c;g++){let p=g;i.add(p)}}),e.filter(r=>i.has(r.lineNumber))}static computeLogNormalScore(e,t){let a=On(e,t);return a>.9&&(a+=.05*(a-.9)),Math.floor(a*100)/100}};var $n=0,k=class n{static i18n=null;static strings={};static reportJson=null;static apply(e){n.strings={...dt,...e.providedStrings},n.i18n=e.i18n,n.reportJson=e.reportJson}static getUniqueSuffix(){return $n++}static resetUniqueSuffix(){$n=0}};var Gn="data:image/jpeg;base64,";function Vn(n){n.configSettings.locale||(n.configSettings.locale="en"),n.configSettings.formFactor||(n.configSettings.formFactor=n.configSettings.emulatedFormFactor),n.finalDisplayedUrl=M.getFinalDisplayedUrl(n),n.mainDocumentUrl=M.getMainDocumentUrl(n);for(let a of Object.values(n.audits))if((a.scoreDisplayMode==="not_applicable"||a.scoreDisplayMode==="not-applicable")&&(a.scoreDisplayMode="notApplicable"),a.details){if((a.details.type===void 0||a.details.type==="diagnostic")&&(a.details.type="debugdata"),a.details.type==="filmstrip")for(let o of a.details.items)o.data.startsWith(Gn)||(o.data=Gn+o.data);if(a.details.type==="table")for(let o of a.details.headings){let{itemType:i,text:r}=o;i!==void 0&&(o.valueType=i,delete o.itemType),r!==void 0&&(o.label=r,delete o.text);let s=o.subItemsHeading?.itemType;o.subItemsHeading&&s!==void 0&&(o.subItemsHeading.valueType=s,delete o.subItemsHeading.itemType)}if(a.id==="third-party-summary"&&(a.details.type==="opportunity"||a.details.type==="table")){let{headings:o,items:i}=a.details;if(o[0].valueType==="link"){o[0].valueType="text";for(let r of i)typeof r.entity=="object"&&r.entity.type==="link"&&(r.entity=r.entity.text);a.details.isEntityGrouped=!0}}}let[e]=n.lighthouseVersion.split(".").map(Number),t=n.categories.performance;if(e<9&&t){n.categoryGroups||(n.categoryGroups={}),n.categoryGroups.hidden={title:""};for(let a of t.auditRefs)a.group?["load-opportunities","diagnostics"].includes(a.group)&&delete a.group:a.group="hidden"}if(n.environment||(n.environment={benchmarkIndex:0,networkUserAgent:n.userAgent,hostUserAgent:n.userAgent}),n.configSettings.screenEmulation||(n.configSettings.screenEmulation={width:-1,height:-1,deviceScaleFactor:-1,mobile:/mobile/i.test(n.environment.hostUserAgent),disabled:!1}),n.i18n||(n.i18n={}),n.audits["full-page-screenshot"]){let a=n.audits["full-page-screenshot"].details;a?n.fullPageScreenshot={screenshot:a.screenshot,nodes:a.nodes}:n.fullPageScreenshot=null,delete n.audits["full-page-screenshot"]}}var me=M.RATINGS,R=class n{static prepareReportResult(e){let t=JSON.parse(JSON.stringify(e));Vn(t);for(let o of Object.values(t.audits))o.details&&(o.details.type==="opportunity"||o.details.type==="table")&&!o.details.isEntityGrouped&&t.entities&&n.classifyEntities(t.entities,o.details);if(typeof t.categories!="object")throw new Error("No categories provided.");let a=new Map;for(let o of Object.values(t.categories))o.auditRefs.forEach(i=>{i.relevantAudits&&i.relevantAudits.forEach(r=>{let s=a.get(r)||[];s.push(i),a.set(r,s)})}),o.auditRefs.forEach(i=>{let r=t.audits[i.id];i.result=r,a.has(i.id)&&(i.relevantMetrics=a.get(i.id)),t.stackPacks&&t.stackPacks.forEach(s=>{s.descriptions[i.id]&&(i.stackPacks=i.stackPacks||[],i.stackPacks.push({title:s.title,iconDataURL:s.iconDataURL,description:s.descriptions[i.id]}))})});return t}static getUrlLocatorFn(e){let t=e.find(o=>o.valueType==="url")?.key;if(t&&typeof t=="string")return o=>{let i=o[t];if(typeof i=="string")return i};let a=e.find(o=>o.valueType==="source-location")?.key;if(a)return o=>{let i=o[a];if(typeof i=="object"&&i.type==="source-location")return i.url}}static classifyEntities(e,t){let{items:a,headings:o}=t;if(!a.length||a.some(r=>r.entity))return;let i=n.getUrlLocatorFn(o);if(i)for(let r of a){let s=i(r);if(!s)continue;let c="";try{c=M.parseURL(s).origin}catch{}if(!c)continue;let g=e.find(p=>p.origins.includes(c));g&&(r.entity=g.name)}}static getTableItemSortComparator(e){return(t,a)=>{for(let o of e){let i=t[o],r=a[o];if((typeof i!=typeof r||!["number","string"].includes(typeof i))&&console.warn(`Warning: Attempting to sort unsupported value type: ${o}.`),typeof i=="number"&&typeof r=="number"&&i!==r)return r-i;if(typeof i=="string"&&typeof r=="string"&&i!==r)return i.localeCompare(r)}return 0}}static getEmulationDescriptions(e){let t,a,o,i=e.throttling,r=k.i18n,s=k.strings;switch(e.throttlingMethod){case"provided":o=a=t=s.throttlingProvided;break;case"devtools":{let{cpuSlowdownMultiplier:h,requestLatencyMs:f}=i;t=`${r.formatNumber(h)}x slowdown (DevTools)`,a=`${r.formatMilliseconds(f)} HTTP RTT, ${r.formatKbps(i.downloadThroughputKbps)} down, ${r.formatKbps(i.uploadThroughputKbps)} up (DevTools)`,o=(()=>f===150*3.75&&i.downloadThroughputKbps===1.6*1024*.9&&i.uploadThroughputKbps===750*.9)()?s.runtimeSlow4g:s.runtimeCustom;break}case"simulate":{let{cpuSlowdownMultiplier:h,rttMs:f,throughputKbps:y}=i;t=`${r.formatNumber(h)}x slowdown (Simulated)`,a=`${r.formatMilliseconds(f)} TCP RTT, ${r.formatKbps(y)} throughput (Simulated)`,o=(()=>f===150&&y===1.6*1024)()?s.runtimeSlow4g:s.runtimeCustom;break}default:o=t=a=s.runtimeUnknown}let c=e.channel==="devtools"?!1:e.screenEmulation.disabled,g=e.channel==="devtools"?e.formFactor==="mobile":e.screenEmulation.mobile,p=s.runtimeMobileEmulation;c?p=s.runtimeNoEmulation:g||(p=s.runtimeDesktopEmulation);let v=c?void 0:`${e.screenEmulation.width}x${e.screenEmulation.height}, DPR ${e.screenEmulation.deviceScaleFactor}`;return{deviceEmulation:p,screenEmulation:v,cpuThrottling:t,networkThrottling:a,summary:o}}static showAsPassed(e){switch(e.scoreDisplayMode){case"manual":case"notApplicable":return!0;case"error":case"informative":return!1;case"numeric":case"binary":default:return Number(e.score)>=me.PASS.minScore}}static calculateRating(e,t){if(t==="manual"||t==="notApplicable")return me.PASS.label;if(t==="error")return me.ERROR.label;if(e===null)return me.FAIL.label;let a=me.FAIL.label;return e>=me.PASS.minScore?a=me.PASS.label:e>=me.AVERAGE.minScore&&(a=me.AVERAGE.label),a}static calculateCategoryFraction(e){let t=0,a=0,o=0,i=0;for(let r of e.auditRefs){let s=n.showAsPassed(r.result);if(!(r.group==="hidden"||r.result.scoreDisplayMode==="manual"||r.result.scoreDisplayMode==="notApplicable")){if(r.result.scoreDisplayMode==="informative"){s||++o;continue}++t,i+=r.weight,s&&a++}}return{numPassed:a,numPassableAudits:t,numInformative:o,totalWeight:i}}static isPluginCategory(e){return e.startsWith("lighthouse-plugin-")}static shouldDisplayAsFraction(e){return e==="timespan"||e==="snapshot"}},dt={varianceDisclaimer:"Values are estimated and may vary. The [performance score is calculated](https://developer.chrome.com/docs/lighthouse/performance/performance-scoring/) directly from these metrics.",calculatorLink:"See calculator.",showRelevantAudits:"Show audits relevant to:",opportunityResourceColumnLabel:"Opportunity",opportunitySavingsColumnLabel:"Estimated Savings",errorMissingAuditInfo:"Report error: no audit information",errorLabel:"Error!",warningHeader:"Warnings: ",warningAuditsGroupTitle:"Passed audits but with warnings",passedAuditsGroupTitle:"Passed audits",notApplicableAuditsGroupTitle:"Not applicable",manualAuditsGroupTitle:"Additional items to manually check",toplevelWarningsMessage:"There were issues affecting this run of Lighthouse:",crcInitialNavigation:"Initial Navigation",crcLongestDurationLabel:"Maximum critical path latency:",snippetExpandButtonLabel:"Expand snippet",snippetCollapseButtonLabel:"Collapse snippet",lsPerformanceCategoryDescription:"[Lighthouse](https://developers.google.com/web/tools/lighthouse/) analysis of the current page on an emulated mobile network. Values are estimated and may vary.",labDataTitle:"Lab Data",thirdPartyResourcesLabel:"Show 3rd-party resources",viewTreemapLabel:"View Treemap",viewTraceLabel:"View Trace",dropdownPrintSummary:"Print Summary",dropdownPrintExpanded:"Print Expanded",dropdownCopyJSON:"Copy JSON",dropdownSaveHTML:"Save as HTML",dropdownSaveJSON:"Save as JSON",dropdownViewer:"Open in Viewer",dropdownSaveGist:"Save as Gist",dropdownDarkTheme:"Toggle Dark Theme",dropdownViewUnthrottledTrace:"View Unthrottled Trace",runtimeSettingsDevice:"Device",runtimeSettingsNetworkThrottling:"Network throttling",runtimeSettingsCPUThrottling:"CPU throttling",runtimeSettingsUANetwork:"User agent (network)",runtimeSettingsBenchmark:"Unthrottled CPU/Memory Power",runtimeSettingsAxeVersion:"Axe version",runtimeSettingsScreenEmulation:"Screen emulation",footerIssue:"File an issue",runtimeNoEmulation:"No emulation",runtimeMobileEmulation:"Emulated Moto G Power",runtimeDesktopEmulation:"Emulated Desktop",runtimeUnknown:"Unknown",runtimeSingleLoad:"Single page load",runtimeAnalysisWindow:"Initial page load",runtimeSingleLoadTooltip:"This data is taken from a single page load, as opposed to field data summarizing many sessions.",throttlingProvided:"Provided by environment",show:"Show",hide:"Hide",expandView:"Expand view",collapseView:"Collapse view",runtimeSlow4g:"Slow 4G throttling",runtimeCustom:"Custom throttling",firstPartyChipLabel:"1st party",openInANewTabTooltip:"Open in a new tab",unattributable:"Unattributable"};var Bi=0;function u(n,e,t,a,o){var i,r,s={};for(r in e)r=="ref"?i=e[r]:s[r]=e[r];var c={type:n,props:s,key:t,ref:i,__k:null,__:null,__b:0,__e:null,__d:void 0,__c:null,__h:null,constructor:void 0,__v:--Bi,__source:o,__self:a};if(typeof n=="function"&&(i=n.defaultProps))for(r in i)s[r]===void 0&&(s[r]=i[r]);return L.vnode&&L.vnode(c),c}var Wn=()=>u("svg",{width:"14",viewBox:"0 0 18 16",fill:"none",role:"img",children:u("path",{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M0 2C0 1.17 0.67 0.5 1.5 0.5C2.33 0.5 3 1.17 3 2C3 2.83 2.33 3.5 1.5 3.5C0.67 3.5 0 2.83 0 2ZM0 8C0 7.17 0.67 6.5 1.5 6.5C2.33 6.5 3 7.17 3 8C3 8.83 2.33 9.5 1.5 9.5C0.67 9.5 0 8.83 0 8ZM1.5 12.5C0.67 12.5 0 13.18 0 14C0 14.82 0.68 15.5 1.5 15.5C2.32 15.5 3 14.82 3 14C3 13.18 2.33 12.5 1.5 12.5ZM18 15H5V13H18V15ZM5 9H18V7H5V9ZM5 3V1H18V3H5Z",fill:"currentColor"})}),mt=()=>u("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",role:"img","aria-label":"Icon representing a navigation report",children:u("circle",{cx:"8",cy:"8",r:"7",fill:"none",stroke:"currentColor","stroke-width":"2"})}),gt=()=>u("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",role:"img","aria-label":"Icon representing a timespan report",children:[u("circle",{cx:"8",cy:"8",r:"7",fill:"none",stroke:"currentColor","stroke-width":"2"}),u("path",{d:"m 8,4 v 4 l 4,1.9999998",stroke:"currentColor","stroke-width":"1.5"})]}),ht=()=>u("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",role:"img","aria-label":"Icon representing a snapshot report",children:u("path",{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M 12.2038,12.2812 C 11.1212,13.3443 9.6372,14 8,14 7.81038,14 7.62281,13.9912 7.43768,13.974 L 10.3094,9 Z M 12.8925,11.4741 10.0207,6.5 H 13.811 C 13.9344,6.97943 14,7.48205 14,8 c 0,1.2947 -0.4101,2.4937 -1.1075,3.4741 z M 13.456,5.5 H 7.71135 L 9.6065,2.21749 C 11.3203,2.69259 12.7258,3.90911 13.456,5.5 Z M 8.5624,2.02601 C 8.3772,2.0088 8.1896,2 8,2 6.36282,2 4.8788,2.65572 3.79622,3.71885 L 5.69061,7.00002 Z M 3.10749,4.52594 C 2.4101,5.5063 2,6.70526 2,8 2,8.5179 2.06563,9.0206 2.18903,9.5 H 5.97927 Z M 2.54404,10.5 c 0.73017,1.5909 2.1357,2.8074 3.84949,3.2825 L 8.2887,10.5 Z M 16,8 c 0,4.4183 -3.5817,8 -8,8 C 3.58172,16 0,12.4183 0,8 0,3.58172 3.58172,0 8,0 c 4.4183,0 8,3.58172 8,8 z",fill:"currentColor"})}),Jn=()=>u("svg",{xmlns:"http://www.w3.org/2000/svg",height:"24px",viewBox:"0 0 24 24",width:"24px",fill:"currentColor",role:"img","aria-label":"Icon representing a close action",children:[u("path",{d:"M0 0h24v24H0V0z",fill:"none"}),u("path",{d:"M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41z"})]}),qn=()=>u("svg",{width:"15",height:"12",viewBox:"0 0 15 12",fill:"none",role:"img",children:u("path",{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M3.33317 2.00008H13.9998V0.666748H3.33317C2.59984 0.666748 1.99984 1.26675 1.99984 2.00008V9.33341H0.666504V11.3334H7.99984V9.33341H3.33317V2.00008ZM13.9998 3.33341H9.99984C9.63317 3.33341 9.33317 3.63341 9.33317 4.00008V10.6667C9.33317 11.0334 9.63317 11.3334 9.99984 11.3334H13.9998C14.3665 11.3334 14.6665 11.0334 14.6665 10.6667V4.00008C14.6665 3.63341 14.3665 3.33341 13.9998 3.33341ZM10.6665 9.33341H13.3332V4.66675H10.6665V9.33341Z",fill:"currentColor"})}),Kn=()=>u("svg",{width:"16",height:"11",viewBox:"0 0 16 11",fill:"none",role:"img",children:u("path",{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M0.666687 3.26663L2.00002 4.59997C3.92002 2.67997 6.52669 1.87997 9.02002 2.18663L9.81335 0.399966C6.59335 -0.173367 3.16002 0.779966 0.666687 3.26663ZM10.6 0.599966C10.4867 0.599966 10.3867 0.659966 10.3267 0.753299L10.28 0.853299L6.82669 8.61996C6.72002 8.8133 6.65335 9.02663 6.65335 9.25996C6.65335 9.99996 7.25335 10.6 7.99335 10.6C8.63335 10.6 9.17335 10.1466 9.30002 9.53996L9.30669 9.51997L10.9334 0.933299C10.9334 0.746633 10.7867 0.599966 10.6 0.599966ZM15.3334 3.26663L14 4.59997C13.1867 3.78663 12.2534 3.17997 11.2534 2.76663L11.6067 0.886633C12.9667 1.38663 14.24 2.1733 15.3334 3.26663ZM11.3334 7.26663L12.6667 5.9333C12.1334 5.39997 11.5334 4.98663 10.8934 4.6733L10.5267 6.61997C10.8067 6.79997 11.08 7.0133 11.3334 7.26663ZM4.66669 7.26663L3.33335 5.9333C4.67335 4.5933 6.45335 3.95997 8.20669 4.0133L7.35335 5.9333C6.37335 6.0733 5.42002 6.5133 4.66669 7.26663Z",fill:"currentColor"})}),Zn=()=>u("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",role:"img",children:u("path",{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M15.5 7.16667V5.5H13.8333V3.83333C13.8333 2.91667 13.0833 2.16667 12.1667 2.16667H10.5V0.5H8.83333V2.16667H7.16667V0.5H5.5V2.16667H3.83333C2.91667 2.16667 2.16667 2.91667 2.16667 3.83333V5.5H0.5V7.16667H2.16667V8.83333H0.5V10.5H2.16667V12.1667C2.16667 13.0833 2.91667 13.8333 3.83333 13.8333H5.5V15.5H7.16667V13.8333H8.83333V15.5H10.5V13.8333H12.1667C13.0833 13.8333 13.8333 13.0833 13.8333 12.1667V10.5H15.5V8.83333H13.8333V7.16667H15.5ZM10.5 5.5H5.5V10.5H10.5V5.5ZM3.83333 12.1667H12.1667V3.83333H3.83333V12.1667Z",fill:"currentColor"})}),Xn=()=>u("svg",{viewBox:"0 0 18 12",width:"18",height:"12",role:"img",children:[u("rect",{width:"18",height:"2",fill:"currentColor"}),u("rect",{y:"5",width:"18",height:"2",fill:"currentColor"}),u("rect",{y:"10",width:"18",height:"2",fill:"currentColor"})]}),Yn=()=>u("svg",{width:"14",height:"14",viewBox:"0 0 14 14",fill:"none",children:u("path",{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M13 7C13 10.3137 10.3137 13 7 13C3.68629 13 1 10.3137 1 7C1 3.68629 3.68629 1 7 1C10.3137 1 13 3.68629 13 7ZM14 7C14 10.866 10.866 14 7 14C3.13401 14 0 10.866 0 7C0 3.13401 3.13401 0 7 0C10.866 0 14 3.13401 14 7ZM7.66658 11H6.33325V9.66667H7.66658V11ZM4.33325 5.66667C4.33325 4.19333 5.52659 3 6.99992 3C8.47325 3 9.66658 4.19333 9.66658 5.66667C9.66658 6.52194 9.1399 6.98221 8.62709 7.43036C8.1406 7.85551 7.66658 8.26975 7.66658 9H6.33325C6.33325 7.78582 6.96133 7.30439 7.51355 6.88112C7.94674 6.54907 8.33325 6.25281 8.33325 5.66667C8.33325 4.93333 7.73325 4.33333 6.99992 4.33333C6.26658 4.33333 5.66658 4.93333 5.66658 5.66667H4.33325Z",fill:"currentColor"})});var Mt=Me(void 0),Ft=Me({});function Qn(n){return new URLSearchParams(location.hash.replace("#","?")).get(n)}function Le(...n){let e=[];for(let t of n){if(!t)continue;if(typeof t=="string"){e.push(t);continue}let a=Object.entries(t).filter(([o,i])=>i).map(([o])=>o);e.push(...a)}return e.join(" ")}function ea(n){let{width:e,height:t}=n.configSettings.screenEmulation;return{width:e,height:t}}function ta(n){let e=n.audits["screenshot-thumbnails"];return e&&e.details&&e.details.type==="filmstrip"&&e.details.items||void 0}function ft(n,e){switch(n){case"navigation":return e.navigationDescription;case"timespan":return e.timespanDescription;case"snapshot":return e.snapshotDescription}}function ne(){let n=He(Mt);if(!n)throw Error("useFlowResult must be called in the FlowResultContext");return n}function $i(...n){let[e,t]=ve(n.map(Qn));return pt(()=>{function a(){let o=n.map(Qn);o.every((i,r)=>i===e[r])||t(o)}return window.addEventListener("hashchange",a),()=>window.removeEventListener("hashchange",a)},[e]),e}function Ie(){let n=ne(),[e,t]=$i("index","anchor");return ce(()=>{if(!e)return null;let a=Number(e);if(!Number.isFinite(a))return console.warn(`Invalid hash index: ${e}`),null;let o=n.steps[a];return o?{currentLhr:o.lhr,index:a,anchor:t}:(console.warn(`No flow step at index ${a}`),null)},[e,n,t])}function be(n,e){let t=ct(null);return ut(()=>{if(!t.current)return;let a=n();return t.current.append(a),()=>{t.current?.contains(a)&&t.current.removeChild(a)}},e),t}function na(){return He(Ft)}var Gi=500,ie=()=>u("div",{className:"Separator",role:"separator"}),Ht=({mode:n})=>u(W,{children:[n==="navigation"&&u(mt,{}),n==="timespan"&&u(gt,{}),n==="snapshot"&&u(ht,{})]}),ye=({mode:n})=>u("div",{className:"FlowSegment",children:[u("div",{className:"FlowSegment__top-line"}),n&&u(Ht,{mode:n}),u("div",{className:"FlowSegment__bottom-line"})]}),Vi=({frames:n,width:e,height:t})=>{let[a,o]=ve(0),i=a%n.length;return pt(()=>{let r=setInterval(()=>o(s=>(s+1)%n.length),Gi);return()=>clearInterval(r)},[n.length]),u("img",{className:"FlowStepThumbnail","data-testid":"FlowStepAnimatedThumbnail",src:n[i].data,style:{width:e,height:t},alt:"Animated screenshots of a page tested by Lighthouse"})},vt=({lhr:n,width:e,height:t})=>{let a=ta(n),o=ea(n);if(e&&t===void 0?t=o.height*e/o.width:t&&e===void 0&&(e=o.width*t/o.height),!e||!t)return console.warn(new Error("FlowStepThumbnail requested without any dimensions").stack),u(W,{});let i;if(a?.length){if(i=a[a.length-1].data,n.gatherMode==="timespan")return u(Vi,{frames:a,width:e,height:t})}else i=M.getFullPageScreenshot(n)?.screenshot.data;return u(W,{children:i&&u("img",{className:"FlowStepThumbnail",src:i,style:{width:e,height:t},alt:"Screenshot of a page tested by Lighthouse"})})};var aa=function(){"use strict";function n(a,o){function i(){this.constructor=a}i.prototype=o.prototype,a.prototype=new i}function e(a,o,i,r){this.message=a,this.expected=o,this.found=i,this.location=r,this.name="SyntaxError",typeof Error.captureStackTrace=="function"&&Error.captureStackTrace(this,e)}n(e,Error),e.buildMessage=function(a,o){var i={literal:function(h){return'"'+s(h.text)+'"'},class:function(h){var f="",y;for(y=0;y<h.parts.length;y++)f+=h.parts[y]instanceof Array?c(h.parts[y][0])+"-"+c(h.parts[y][1]):c(h.parts[y]);return"["+(h.inverted?"^":"")+f+"]"},any:function(h){return"any character"},end:function(h){return"end of input"},other:function(h){return h.description}};function r(h){return h.charCodeAt(0).toString(16).toUpperCase()}function s(h){return h.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\0/g,"\\0").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/[\x00-\x0F]/g,function(f){return"\\x0"+r(f)}).replace(/[\x10-\x1F\x7F-\x9F]/g,function(f){return"\\x"+r(f)})}function c(h){return h.replace(/\\/g,"\\\\").replace(/\]/g,"\\]").replace(/\^/g,"\\^").replace(/-/g,"\\-").replace(/\0/g,"\\0").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/[\x00-\x0F]/g,function(f){return"\\x0"+r(f)}).replace(/[\x10-\x1F\x7F-\x9F]/g,function(f){return"\\x"+r(f)})}function g(h){return i[h.type](h)}function p(h){var f=new Array(h.length),y,S;for(y=0;y<h.length;y++)f[y]=g(h[y]);if(f.sort(),f.length>0){for(y=1,S=1;y<f.length;y++)f[y-1]!==f[y]&&(f[S]=f[y],S++);f.length=S}switch(f.length){case 1:return f[0];case 2:return f[0]+" or "+f[1];default:return f.slice(0,-1).join(", ")+", or "+f[f.length-1]}}function v(h){return h?'"'+s(h)+'"':"end of input"}return"Expected "+p(a)+" but "+v(o)+" found."};function t(a,o){o=o!==void 0?o:{};var i={},r={start:sn},s=sn,c=function(l){return{type:"messageFormatPattern",elements:l,location:ue()}},g=function(l){return l.reduce(function(d,b){return d.concat(b)},[]).join("")},p=function(l){return{type:"messageTextElement",value:l,location:ue()}},v=function(l){return l.join("")},h="{",f=V("{",!1),y=",",S=V(",",!1),C="}",_=V("}",!1),A=function(l,d){return{type:"argumentElement",id:l,format:d&&d[2],location:ue()}},x="number",T=V("number",!1),D="date",B=V("date",!1),$="time",q=V("time",!1),K=function(l,d){return{type:l+"Format",style:d&&d[2],location:ue()}},F="plural",G=V("plural",!1),Z=function(l){return{type:l.type,ordinal:!1,offset:l.offset||0,options:l.options,location:ue()}},Y="selectordinal",Pt=V("selectordinal",!1),N=function(l){return{type:l.type,ordinal:!0,offset:l.offset||0,options:l.options,location:ue()}},H="select",X=V("select",!1),ee=function(l){return{type:"selectFormat",options:l,location:ue()}},Q="=",ge=V("=",!1),we=function(l,d){return{type:"optionalFormatPattern",selector:l,value:d,location:ue()}},pe="offset:",ae=V("offset:",!1),oe=function(l){return l},he=function(l,d){return{type:"pluralFormat",offset:l,options:d,location:ue()}},Ge=Lt("whitespace"),Ne=/^[ \t\n\r]/,ze=Pe([" "," ",`
|
|
1
|
+
"use strict";(()=>{var rt,L,yn,xi,je,_n,hn,Cn,at={},wn=[],Ui=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i;function fe(n,e){for(var t in e)n[t]=e[t];return n}function kn(n){var e=n.parentNode;e&&e.removeChild(n)}function Nt(n,e,t){var a,o,i,r={};for(i in e)i=="key"?a=e[i]:i=="ref"?o=e[i]:r[i]=e[i];if(arguments.length>2&&(r.children=arguments.length>3?rt.call(arguments,2):t),typeof n=="function"&&n.defaultProps!=null)for(i in n.defaultProps)r[i]===void 0&&(r[i]=n.defaultProps[i]);return tt(n,r,a,o,null)}function tt(n,e,t,a,o){var i={type:n,props:e,key:t,ref:a,__k:null,__:null,__b:0,__e:null,__d:void 0,__c:null,__h:null,constructor:void 0,__v:o??++yn};return o==null&&L.vnode!=null&&L.vnode(i),i}function W(n){return n.children}function nt(n,e){this.props=n,this.context=e}function xe(n,e){if(e==null)return n.__?xe(n.__,n.__.__k.indexOf(n)+1):null;for(var t;e<n.__k.length;e++)if((t=n.__k[e])!=null&&t.__e!=null)return t.__e;return typeof n.type=="function"?xe(n):null}function Sn(n){var e,t;if((n=n.__)!=null&&n.__c!=null){for(n.__e=n.__c.base=null,e=0;e<n.__k.length;e++)if((t=n.__k[e])!=null&&t.__e!=null){n.__e=n.__c.base=t.__e;break}return Sn(n)}}function Rt(n){(!n.__d&&(n.__d=!0)&&je.push(n)&&!it.__r++||hn!==L.debounceRendering)&&((hn=L.debounceRendering)||_n)(it)}function it(){for(var n;it.__r=je.length;)n=je.sort(function(e,t){return e.__v.__b-t.__v.__b}),je=[],n.some(function(e){var t,a,o,i,r,s;e.__d&&(r=(i=(t=e).__v).__e,(s=t.__P)&&(a=[],(o=fe({},i)).__v=i.__v+1,zt(s,i,o,t.__n,s.ownerSVGElement!==void 0,i.__h!=null?[r]:null,a,r??xe(i),i.__h),Un(a,i),i.__e!=r&&Sn(i)))})}function An(n,e,t,a,o,i,r,s,c,g){var p,v,h,f,y,S,C,_=a&&a.__k||wn,P=_.length;for(t.__k=[],p=0;p<e.length;p++)if((f=t.__k[p]=(f=e[p])==null||typeof f=="boolean"?null:typeof f=="string"||typeof f=="number"||typeof f=="bigint"?tt(null,f,null,null,f):Array.isArray(f)?tt(W,{children:f},null,null,null):f.__b>0?tt(f.type,f.props,f.key,null,f.__v):f)!=null){if(f.__=t,f.__b=t.__b+1,(h=_[p])===null||h&&f.key==h.key&&f.type===h.type)_[p]=void 0;else for(v=0;v<P;v++){if((h=_[v])&&f.key==h.key&&f.type===h.type){_[v]=void 0;break}h=null}zt(n,f,h=h||at,o,i,r,s,c,g),y=f.__e,(v=f.ref)&&h.ref!=v&&(C||(C=[]),h.ref&&C.push(h.ref,null,f),C.push(v,f.__c||y,f)),y!=null?(S==null&&(S=y),typeof f.type=="function"&&f.__k===h.__k?f.__d=c=Pn(f,c,n):c=xn(n,f,h,_,y,c),typeof t.type=="function"&&(t.__d=c)):c&&h.__e==c&&c.parentNode!=n&&(c=xe(h))}for(t.__e=S,p=P;p--;)_[p]!=null&&(typeof t.type=="function"&&_[p].__e!=null&&_[p].__e==t.__d&&(t.__d=xe(a,p+1)),In(_[p],_[p]));if(C)for(p=0;p<C.length;p++)Ln(C[p],C[++p],C[++p])}function Pn(n,e,t){for(var a,o=n.__k,i=0;o&&i<o.length;i++)(a=o[i])&&(a.__=n,e=typeof a.type=="function"?Pn(a,e,t):xn(t,a,a,o,a.__e,e));return e}function xn(n,e,t,a,o,i){var r,s,c;if(e.__d!==void 0)r=e.__d,e.__d=void 0;else if(t==null||o!=i||o.parentNode==null)e:if(i==null||i.parentNode!==n)n.appendChild(o),r=null;else{for(s=i,c=0;(s=s.nextSibling)&&c<a.length;c+=2)if(s==o)break e;n.insertBefore(o,i),r=i}return r!==void 0?r:o.nextSibling}function Li(n,e,t,a,o){var i;for(i in t)i==="children"||i==="key"||i in e||ot(n,i,null,t[i],a);for(i in e)o&&typeof e[i]!="function"||i==="children"||i==="key"||i==="value"||i==="checked"||t[i]===e[i]||ot(n,i,e[i],t[i],a)}function fn(n,e,t){e[0]==="-"?n.setProperty(e,t):n[e]=t==null?"":typeof t!="number"||Ui.test(e)?t:t+"px"}function ot(n,e,t,a,o){var i;e:if(e==="style")if(typeof t=="string")n.style.cssText=t;else{if(typeof a=="string"&&(n.style.cssText=a=""),a)for(e in a)t&&e in t||fn(n.style,e,"");if(t)for(e in t)a&&t[e]===a[e]||fn(n.style,e,t[e])}else if(e[0]==="o"&&e[1]==="n")i=e!==(e=e.replace(/Capture$/,"")),e=e.toLowerCase()in n?e.toLowerCase().slice(2):e.slice(2),n.l||(n.l={}),n.l[e+i]=t,t?a||n.addEventListener(e,i?bn:vn,i):n.removeEventListener(e,i?bn:vn,i);else if(e!=="dangerouslySetInnerHTML"){if(o)e=e.replace(/xlink(H|:h)/,"h").replace(/sName$/,"s");else if(e!=="href"&&e!=="list"&&e!=="form"&&e!=="tabIndex"&&e!=="download"&&e in n)try{n[e]=t??"";break e}catch{}typeof t=="function"||(t!=null&&(t!==!1||e[0]==="a"&&e[1]==="r")?n.setAttribute(e,t):n.removeAttribute(e))}}function vn(n){this.l[n.type+!1](L.event?L.event(n):n)}function bn(n){this.l[n.type+!0](L.event?L.event(n):n)}function zt(n,e,t,a,o,i,r,s,c){var g,p,v,h,f,y,S,C,_,P,x,T=e.type;if(e.constructor!==void 0)return null;t.__h!=null&&(c=t.__h,s=e.__e=t.__e,e.__h=null,i=[s]),(g=L.__b)&&g(e);try{e:if(typeof T=="function"){if(C=e.props,_=(g=T.contextType)&&a[g.__c],P=g?_?_.props.value:g.__:a,t.__c?S=(p=e.__c=t.__c).__=p.__E:("prototype"in T&&T.prototype.render?e.__c=p=new T(C,P):(e.__c=p=new nt(C,P),p.constructor=T,p.render=Ei),_&&_.sub(p),p.props=C,p.state||(p.state={}),p.context=P,p.__n=a,v=p.__d=!0,p.__h=[]),p.__s==null&&(p.__s=p.state),T.getDerivedStateFromProps!=null&&(p.__s==p.state&&(p.__s=fe({},p.__s)),fe(p.__s,T.getDerivedStateFromProps(C,p.__s))),h=p.props,f=p.state,v)T.getDerivedStateFromProps==null&&p.componentWillMount!=null&&p.componentWillMount(),p.componentDidMount!=null&&p.__h.push(p.componentDidMount);else{if(T.getDerivedStateFromProps==null&&C!==h&&p.componentWillReceiveProps!=null&&p.componentWillReceiveProps(C,P),!p.__e&&p.shouldComponentUpdate!=null&&p.shouldComponentUpdate(C,p.__s,P)===!1||e.__v===t.__v){p.props=C,p.state=p.__s,e.__v!==t.__v&&(p.__d=!1),p.__v=e,e.__e=t.__e,e.__k=t.__k,e.__k.forEach(function(D){D&&(D.__=e)}),p.__h.length&&r.push(p);break e}p.componentWillUpdate!=null&&p.componentWillUpdate(C,p.__s,P),p.componentDidUpdate!=null&&p.__h.push(function(){p.componentDidUpdate(h,f,y)})}p.context=P,p.props=C,p.state=p.__s,(g=L.__r)&&g(e),p.__d=!1,p.__v=e,p.__P=n,g=p.render(p.props,p.state,p.context),p.state=p.__s,p.getChildContext!=null&&(a=fe(fe({},a),p.getChildContext())),v||p.getSnapshotBeforeUpdate==null||(y=p.getSnapshotBeforeUpdate(h,f)),x=g!=null&&g.type===W&&g.key==null?g.props.children:g,An(n,Array.isArray(x)?x:[x],e,t,a,o,i,r,s,c),p.base=e.__e,e.__h=null,p.__h.length&&r.push(p),S&&(p.__E=p.__=null),p.__e=!1}else i==null&&e.__v===t.__v?(e.__k=t.__k,e.__e=t.__e):e.__e=Ii(t.__e,e,t,a,o,i,r,c);(g=L.diffed)&&g(e)}catch(D){e.__v=null,(c||i!=null)&&(e.__e=s,e.__h=!!c,i[i.indexOf(s)]=null),L.__e(D,e,t)}}function Un(n,e){L.__c&&L.__c(e,n),n.some(function(t){try{n=t.__h,t.__h=[],n.some(function(a){a.call(t)})}catch(a){L.__e(a,t.__v)}})}function Ii(n,e,t,a,o,i,r,s){var c,g,p,v=t.props,h=e.props,f=e.type,y=0;if(f==="svg"&&(o=!0),i!=null){for(;y<i.length;y++)if((c=i[y])&&"setAttribute"in c==!!f&&(f?c.localName===f:c.nodeType===3)){n=c,i[y]=null;break}}if(n==null){if(f===null)return document.createTextNode(h);n=o?document.createElementNS("http://www.w3.org/2000/svg",f):document.createElement(f,h.is&&h),i=null,s=!1}if(f===null)v===h||s&&n.data===h||(n.data=h);else{if(i=i&&rt.call(n.childNodes),g=(v=t.props||at).dangerouslySetInnerHTML,p=h.dangerouslySetInnerHTML,!s){if(i!=null)for(v={},y=0;y<n.attributes.length;y++)v[n.attributes[y].name]=n.attributes[y].value;(p||g)&&(p&&(g&&p.__html==g.__html||p.__html===n.innerHTML)||(n.innerHTML=p&&p.__html||""))}if(Li(n,h,v,o,s),p)e.__k=[];else if(y=e.props.children,An(n,Array.isArray(y)?y:[y],e,t,a,o&&f!=="foreignObject",i,r,i?i[0]:t.__k&&xe(t,0),s),i!=null)for(y=i.length;y--;)i[y]!=null&&kn(i[y]);s||("value"in h&&(y=h.value)!==void 0&&(y!==n.value||f==="progress"&&!y||f==="option"&&y!==v.value)&&ot(n,"value",y,v.value,!1),"checked"in h&&(y=h.checked)!==void 0&&y!==n.checked&&ot(n,"checked",y,v.checked,!1))}return n}function Ln(n,e,t){try{typeof n=="function"?n(e):n.current=e}catch(a){L.__e(a,t)}}function In(n,e,t){var a,o;if(L.unmount&&L.unmount(n),(a=n.ref)&&(a.current&&a.current!==n.__e||Ln(a,null,e)),(a=n.__c)!=null){if(a.componentWillUnmount)try{a.componentWillUnmount()}catch(i){L.__e(i,e)}a.base=a.__P=null}if(a=n.__k)for(o=0;o<a.length;o++)a[o]&&In(a[o],e,typeof n.type!="function");t||n.__e==null||kn(n.__e),n.__e=n.__d=void 0}function Ei(n,e,t){return this.constructor(n,t)}function En(n,e,t){var a,o,i;L.__&&L.__(n,e),o=(a=typeof t=="function")?null:t&&t.__k||e.__k,i=[],zt(e,n=(!a&&t||e).__k=Nt(W,null,[n]),o||at,at,e.ownerSVGElement!==void 0,!a&&t?[t]:o?null:e.firstChild?rt.call(e.childNodes):null,i,!a&&t?t:o?o.__e:e.firstChild,a),Un(i,n)}function Me(n,e){var t={__c:e="__cC"+Cn++,__:n,Consumer:function(a,o){return a.children(o)},Provider:function(a){var o,i;return this.getChildContext||(o=[],(i={})[e]=this,this.getChildContext=function(){return i},this.shouldComponentUpdate=function(r){this.props.value!==r.value&&o.some(Rt)},this.sub=function(r){o.push(r);var s=r.componentWillUnmount;r.componentWillUnmount=function(){o.splice(o.indexOf(r),1),s&&s.call(r)}}),a.children}};return t.Provider.__=t.Consumer.contextType=t}rt=wn.slice,L={__e:function(n,e,t,a){for(var o,i,r;e=e.__;)if((o=e.__c)&&!o.__)try{if((i=o.constructor)&&i.getDerivedStateFromError!=null&&(o.setState(i.getDerivedStateFromError(n)),r=o.__d),o.componentDidCatch!=null&&(o.componentDidCatch(n,a||{}),r=o.__d),r)return o.__E=o}catch(s){n=s}throw n}},yn=0,xi=function(n){return n!=null&&n.constructor===void 0},nt.prototype.setState=function(n,e){var t;t=this.__s!=null&&this.__s!==this.state?this.__s:this.__s=fe({},this.state),typeof n=="function"&&(n=n(fe({},t),this.props)),n&&fe(t,n),n!=null&&this.__v&&(e&&this.__h.push(e),Rt(this))},nt.prototype.forceUpdate=function(n){this.__v&&(this.__e=!0,n&&this.__h.push(n),Rt(this))},nt.prototype.render=W,je=[],_n=typeof Promise=="function"?Promise.prototype.then.bind(Promise.resolve()):setTimeout,it.__r=0,Cn=0;var Ue,te,Tn,lt=0,Fn=[],Rn=L.__b,Nn=L.__r,zn=L.diffed,Dn=L.__c,jn=L.unmount;function Fe(n,e){L.__h&&L.__h(te,n,lt||e),lt=0;var t=te.__H||(te.__H={__:[],__h:[]});return n>=t.__.length&&t.__.push({}),t.__[n]}function ve(n){return lt=1,Ti(Hn,n)}function Ti(n,e,t){var a=Fe(Ue++,2);return a.t=n,a.__c||(a.__=[t?t(e):Hn(void 0,e),function(o){var i=a.t(a.__[0],o);a.__[0]!==i&&(a.__=[i,a.__[1]],a.__c.setState({}))}],a.__c=te),a.__}function pt(n,e){var t=Fe(Ue++,3);!L.__s&&jt(t.__H,e)&&(t.__=n,t.__H=e,te.__H.__h.push(t))}function ut(n,e){var t=Fe(Ue++,4);!L.__s&&jt(t.__H,e)&&(t.__=n,t.__H=e,te.__h.push(t))}function ct(n){return lt=5,ce(function(){return{current:n}},[])}function ce(n,e){var t=Fe(Ue++,7);return jt(t.__H,e)&&(t.__=n(),t.__H=e,t.__h=n),t.__}function He(n){var e=te.context[n.__c],t=Fe(Ue++,9);return t.c=n,e?(t.__==null&&(t.__=!0,e.sub(te)),e.props.value):n.__}function Ri(){for(var n;n=Fn.shift();)if(n.__P)try{n.__H.__h.forEach(st),n.__H.__h.forEach(Dt),n.__H.__h=[]}catch(e){n.__H.__h=[],L.__e(e,n.__v)}}L.__b=function(n){te=null,Rn&&Rn(n)},L.__r=function(n){Nn&&Nn(n),Ue=0;var e=(te=n.__c).__H;e&&(e.__h.forEach(st),e.__h.forEach(Dt),e.__h=[])},L.diffed=function(n){zn&&zn(n);var e=n.__c;e&&e.__H&&e.__H.__h.length&&(Fn.push(e)!==1&&Tn===L.requestAnimationFrame||((Tn=L.requestAnimationFrame)||function(t){var a,o=function(){clearTimeout(i),Mn&&cancelAnimationFrame(a),setTimeout(t)},i=setTimeout(o,100);Mn&&(a=requestAnimationFrame(o))})(Ri)),te=null},L.__c=function(n,e){e.some(function(t){try{t.__h.forEach(st),t.__h=t.__h.filter(function(a){return!a.__||Dt(a)})}catch(a){e.some(function(o){o.__h&&(o.__h=[])}),e=[],L.__e(a,t.__v)}}),Dn&&Dn(n,e)},L.unmount=function(n){jn&&jn(n);var e,t=n.__c;t&&t.__H&&(t.__H.__.forEach(function(a){try{st(a)}catch(o){e=o}}),e&&L.__e(e,t.__v))};var Mn=typeof requestAnimationFrame=="function";function st(n){var e=te,t=n.__c;typeof t=="function"&&(n.__c=void 0,t()),te=e}function Dt(n){var e=te;n.__c=n.__(),te=e}function jt(n,e){return!n||n.length!==e.length||e.some(function(t,a){return t!==n[a]})}function Hn(n,e){return typeof e=="function"?e(n):e}var Ni=.8999999999999999,zi=.5,Di=.49999999999999994;function ji(n){let e=Math.sign(n);n=Math.abs(n);let t=.254829592,a=-.284496736,o=1.421413741,i=-1.453152027,r=1.061405429,c=1/(1+.3275911*n),g=c*(t+c*(a+c*(o+c*(i+c*r))));return e*(1-g*Math.exp(-n*n))}function On({median:n,p10:e},t){if(n<=0)throw new Error("median must be greater than zero");if(e<=0)throw new Error("p10 must be greater than zero");if(e>=n)throw new Error("p10 must be less than the median");if(t<=0)return 1;let a=.9061938024368232,o=Math.max(Number.MIN_VALUE,t/n),i=Math.log(o),r=Math.max(Number.MIN_VALUE,e/n),s=-Math.log(r),c=i*a/s,g=(1-ji(c))/2,p;return t<=e?p=Math.max(.9,Math.min(1,g)):t<=n?p=Math.max(zi,Math.min(Ni,g)):p=Math.max(0,Math.min(Di,g)),p}var de="…",Fi=" ",Bn=.9,Hi={PASS:{label:"pass",minScore:Bn},AVERAGE:{label:"average",minScore:.5},FAIL:{label:"fail"},ERROR:{label:"error"}},Oi=["com","co","gov","edu","ac","org","go","gob","or","net","in","ne","nic","gouv","web","spb","blog","jus","kiev","mil","wi","qc","ca","bel","on"],M=class n{static get RATINGS(){return Hi}static get PASS_THRESHOLD(){return Bn}static get MS_DISPLAY_VALUE(){return`%10d${Fi}ms`}static getFinalDisplayedUrl(e){if(e.finalDisplayedUrl)return e.finalDisplayedUrl;if(e.finalUrl)return e.finalUrl;throw new Error("Could not determine final displayed URL")}static getMainDocumentUrl(e){return e.mainDocumentUrl||e.finalUrl}static getFullPageScreenshot(e){return e.fullPageScreenshot?e.fullPageScreenshot:e.audits["full-page-screenshot"]?.details}static splitMarkdownCodeSpans(e){let t=[],a=e.split(/`(.*?)`/g);for(let o=0;o<a.length;o++){let i=a[o];if(!i)continue;let r=o%2!==0;t.push({isCode:r,text:i})}return t}static splitMarkdownLink(e){let t=[],a=e.split(/\[([^\]]+?)\]\((https?:\/\/.*?)\)/g);for(;a.length;){let[o,i,r]=a.splice(0,3);o&&t.push({isLink:!1,text:o}),i&&r&&t.push({isLink:!0,text:i,linkHref:r})}return t}static truncate(e,t,a="…"){if(e.length<=t)return e;let i=new Intl.Segmenter(void 0,{granularity:"grapheme"}).segment(e)[Symbol.iterator](),r=0;for(let s=0;s<=t-a.length;s++){let c=i.next();if(c.done)return e;r=c.value.index}for(let s=0;s<a.length;s++)if(i.next().done)return e;return e.slice(0,r)+a}static getURLDisplayName(e,t){t=t||{numPathParts:void 0,preserveQuery:void 0,preserveHost:void 0};let a=t.numPathParts!==void 0?t.numPathParts:2,o=t.preserveQuery!==void 0?t.preserveQuery:!0,i=t.preserveHost||!1,r;if(e.protocol==="about:"||e.protocol==="data:")r=e.href;else{r=e.pathname;let c=r.split("/").filter(g=>g.length);a&&c.length>a&&(r=de+c.slice(-1*a).join("/")),i&&(r=`${e.host}/${r.replace(/^\//,"")}`),o&&(r=`${r}${e.search}`)}let s=64;if(e.protocol!=="data:"&&(r=r.slice(0,200),r=r.replace(/([a-f0-9]{7})[a-f0-9]{13}[a-f0-9]*/g,`$1${de}`),r=r.replace(/([a-zA-Z0-9-_]{9})(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])[a-zA-Z0-9-_]{10,}/g,`$1${de}`),r=r.replace(/(\d{3})\d{6,}/g,`$1${de}`),r=r.replace(/\u2026+/g,de),r.length>s&&r.includes("?")&&(r=r.replace(/\?([^=]*)(=)?.*/,`?$1$2${de}`),r.length>s&&(r=r.replace(/\?.*/,`?${de}`)))),r.length>s){let c=r.lastIndexOf(".");c>=0?r=r.slice(0,s-1-(r.length-c))+`${de}${r.slice(c)}`:r=r.slice(0,s-1)+de}return r}static getChromeExtensionOrigin(e){let t=new URL(e);return t.protocol+"//"+t.host}static parseURL(e){let t=new URL(e);return{file:n.getURLDisplayName(t),hostname:t.hostname,origin:t.protocol==="chrome-extension:"?n.getChromeExtensionOrigin(e):t.origin}}static createOrReturnURL(e){return e instanceof URL?e:new URL(e)}static getTld(e){let t=e.split(".").slice(-2);return Oi.includes(t[0])?`.${t.join(".")}`:`.${t[t.length-1]}`}static getRootDomain(e){let t=n.createOrReturnURL(e).hostname,o=n.getTld(t).split(".");return t.split(".").slice(-o.length).join(".")}static filterRelevantLines(e,t,a){if(t.length===0)return e.slice(0,a*2+1);let o=3,i=new Set;return t=t.sort((r,s)=>(r.lineNumber||0)-(s.lineNumber||0)),t.forEach(({lineNumber:r})=>{let s=r-a,c=r+a;for(;s<1;)s++,c++;i.has(s-o-1)&&(s-=o);for(let g=s;g<=c;g++){let p=g;i.add(p)}}),e.filter(r=>i.has(r.lineNumber))}static computeLogNormalScore(e,t){let a=On(e,t);return a>.9&&(a+=.05*(a-.9)),Math.floor(a*100)/100}};var $n=0,k=class n{static i18n=null;static strings={};static reportJson=null;static apply(e){n.strings={...dt,...e.providedStrings},n.i18n=e.i18n,n.reportJson=e.reportJson}static getUniqueSuffix(){return $n++}static resetUniqueSuffix(){$n=0}};var Gn="data:image/jpeg;base64,";function Vn(n){n.configSettings.locale||(n.configSettings.locale="en"),n.configSettings.formFactor||(n.configSettings.formFactor=n.configSettings.emulatedFormFactor),n.finalDisplayedUrl=M.getFinalDisplayedUrl(n),n.mainDocumentUrl=M.getMainDocumentUrl(n);for(let a of Object.values(n.audits))if((a.scoreDisplayMode==="not_applicable"||a.scoreDisplayMode==="not-applicable")&&(a.scoreDisplayMode="notApplicable"),a.details){if((a.details.type===void 0||a.details.type==="diagnostic")&&(a.details.type="debugdata"),a.details.type==="filmstrip")for(let o of a.details.items)o.data.startsWith(Gn)||(o.data=Gn+o.data);if(a.details.type==="table")for(let o of a.details.headings){let{itemType:i,text:r}=o;i!==void 0&&(o.valueType=i,delete o.itemType),r!==void 0&&(o.label=r,delete o.text);let s=o.subItemsHeading?.itemType;o.subItemsHeading&&s!==void 0&&(o.subItemsHeading.valueType=s,delete o.subItemsHeading.itemType)}if(a.id==="third-party-summary"&&(a.details.type==="opportunity"||a.details.type==="table")){let{headings:o,items:i}=a.details;if(o[0].valueType==="link"){o[0].valueType="text";for(let r of i)typeof r.entity=="object"&&r.entity.type==="link"&&(r.entity=r.entity.text);a.details.isEntityGrouped=!0}}}let[e]=n.lighthouseVersion.split(".").map(Number),t=n.categories.performance;if(e<9&&t){n.categoryGroups||(n.categoryGroups={}),n.categoryGroups.hidden={title:""};for(let a of t.auditRefs)a.group?["load-opportunities","diagnostics"].includes(a.group)&&delete a.group:a.group="hidden"}if(n.environment||(n.environment={benchmarkIndex:0,networkUserAgent:n.userAgent,hostUserAgent:n.userAgent}),n.configSettings.screenEmulation||(n.configSettings.screenEmulation={width:-1,height:-1,deviceScaleFactor:-1,mobile:/mobile/i.test(n.environment.hostUserAgent),disabled:!1}),n.i18n||(n.i18n={}),n.audits["full-page-screenshot"]){let a=n.audits["full-page-screenshot"].details;a?n.fullPageScreenshot={screenshot:a.screenshot,nodes:a.nodes}:n.fullPageScreenshot=null,delete n.audits["full-page-screenshot"]}}var me=M.RATINGS,R=class n{static prepareReportResult(e){let t=JSON.parse(JSON.stringify(e));Vn(t);for(let o of Object.values(t.audits))o.details&&(o.details.type==="opportunity"||o.details.type==="table")&&!o.details.isEntityGrouped&&t.entities&&n.classifyEntities(t.entities,o.details);if(typeof t.categories!="object")throw new Error("No categories provided.");let a=new Map;for(let o of Object.values(t.categories))o.auditRefs.forEach(i=>{i.relevantAudits&&i.relevantAudits.forEach(r=>{let s=a.get(r)||[];s.push(i),a.set(r,s)})}),o.auditRefs.forEach(i=>{let r=t.audits[i.id];i.result=r,a.has(i.id)&&(i.relevantMetrics=a.get(i.id)),t.stackPacks&&t.stackPacks.forEach(s=>{s.descriptions[i.id]&&(i.stackPacks=i.stackPacks||[],i.stackPacks.push({title:s.title,iconDataURL:s.iconDataURL,description:s.descriptions[i.id]}))})});return t}static getUrlLocatorFn(e){let t=e.find(o=>o.valueType==="url")?.key;if(t&&typeof t=="string")return o=>{let i=o[t];if(typeof i=="string")return i};let a=e.find(o=>o.valueType==="source-location")?.key;if(a)return o=>{let i=o[a];if(typeof i=="object"&&i.type==="source-location")return i.url}}static classifyEntities(e,t){let{items:a,headings:o}=t;if(!a.length||a.some(r=>r.entity))return;let i=n.getUrlLocatorFn(o);if(i)for(let r of a){let s=i(r);if(!s)continue;let c="";try{c=M.parseURL(s).origin}catch{}if(!c)continue;let g=e.find(p=>p.origins.includes(c));g&&(r.entity=g.name)}}static getTableItemSortComparator(e){return(t,a)=>{for(let o of e){let i=t[o],r=a[o];if((typeof i!=typeof r||!["number","string"].includes(typeof i))&&console.warn(`Warning: Attempting to sort unsupported value type: ${o}.`),typeof i=="number"&&typeof r=="number"&&i!==r)return r-i;if(typeof i=="string"&&typeof r=="string"&&i!==r)return i.localeCompare(r)}return 0}}static getEmulationDescriptions(e){let t,a,o,i=e.throttling,r=k.i18n,s=k.strings;switch(e.throttlingMethod){case"provided":o=a=t=s.throttlingProvided;break;case"devtools":{let{cpuSlowdownMultiplier:h,requestLatencyMs:f}=i;t=`${r.formatNumber(h)}x slowdown (DevTools)`,a=`${r.formatMilliseconds(f)} HTTP RTT, ${r.formatKbps(i.downloadThroughputKbps)} down, ${r.formatKbps(i.uploadThroughputKbps)} up (DevTools)`,o=(()=>f===150*3.75&&i.downloadThroughputKbps===1.6*1024*.9&&i.uploadThroughputKbps===750*.9)()?s.runtimeSlow4g:s.runtimeCustom;break}case"simulate":{let{cpuSlowdownMultiplier:h,rttMs:f,throughputKbps:y}=i;t=`${r.formatNumber(h)}x slowdown (Simulated)`,a=`${r.formatMilliseconds(f)} TCP RTT, ${r.formatKbps(y)} throughput (Simulated)`,o=(()=>f===150&&y===1.6*1024)()?s.runtimeSlow4g:s.runtimeCustom;break}default:o=t=a=s.runtimeUnknown}let c=e.channel==="devtools"?!1:e.screenEmulation.disabled,g=e.channel==="devtools"?e.formFactor==="mobile":e.screenEmulation.mobile,p=s.runtimeMobileEmulation;c?p=s.runtimeNoEmulation:g||(p=s.runtimeDesktopEmulation);let v=c?void 0:`${e.screenEmulation.width}x${e.screenEmulation.height}, DPR ${e.screenEmulation.deviceScaleFactor}`;return{deviceEmulation:p,screenEmulation:v,cpuThrottling:t,networkThrottling:a,summary:o}}static showAsPassed(e){switch(e.scoreDisplayMode){case"manual":case"notApplicable":return!0;case"error":case"informative":return!1;case"numeric":case"binary":default:return Number(e.score)>=me.PASS.minScore}}static calculateRating(e,t){if(t==="manual"||t==="notApplicable")return me.PASS.label;if(t==="error")return me.ERROR.label;if(e===null)return me.FAIL.label;let a=me.FAIL.label;return e>=me.PASS.minScore?a=me.PASS.label:e>=me.AVERAGE.minScore&&(a=me.AVERAGE.label),a}static calculateCategoryFraction(e){let t=0,a=0,o=0,i=0;for(let r of e.auditRefs){let s=n.showAsPassed(r.result);if(!(r.group==="hidden"||r.result.scoreDisplayMode==="manual"||r.result.scoreDisplayMode==="notApplicable")){if(r.result.scoreDisplayMode==="informative"){s||++o;continue}++t,i+=r.weight,s&&a++}}return{numPassed:a,numPassableAudits:t,numInformative:o,totalWeight:i}}static isPluginCategory(e){return e.startsWith("lighthouse-plugin-")}static shouldDisplayAsFraction(e){return e==="timespan"||e==="snapshot"}},dt={varianceDisclaimer:"Values are estimated and may vary. The [performance score is calculated](https://developer.chrome.com/docs/lighthouse/performance/performance-scoring/) directly from these metrics.",calculatorLink:"See calculator.",showRelevantAudits:"Show audits relevant to:",opportunityResourceColumnLabel:"Opportunity",opportunitySavingsColumnLabel:"Estimated Savings",errorMissingAuditInfo:"Report error: no audit information",errorLabel:"Error!",warningHeader:"Warnings: ",warningAuditsGroupTitle:"Passed audits but with warnings",passedAuditsGroupTitle:"Passed audits",notApplicableAuditsGroupTitle:"Not applicable",manualAuditsGroupTitle:"Additional items to manually check",toplevelWarningsMessage:"There were issues affecting this run of Lighthouse:",crcInitialNavigation:"Initial Navigation",crcLongestDurationLabel:"Maximum critical path latency:",snippetExpandButtonLabel:"Expand snippet",snippetCollapseButtonLabel:"Collapse snippet",lsPerformanceCategoryDescription:"[Lighthouse](https://developers.google.com/web/tools/lighthouse/) analysis of the current page on an emulated mobile network. Values are estimated and may vary.",labDataTitle:"Lab Data",thirdPartyResourcesLabel:"Show 3rd-party resources",viewTreemapLabel:"View Treemap",viewTraceLabel:"View Trace",dropdownPrintSummary:"Print Summary",dropdownPrintExpanded:"Print Expanded",dropdownCopyJSON:"Copy JSON",dropdownSaveHTML:"Save as HTML",dropdownSaveJSON:"Save as JSON",dropdownViewer:"Open in Viewer",dropdownSaveGist:"Save as Gist",dropdownDarkTheme:"Toggle Dark Theme",dropdownViewUnthrottledTrace:"View Unthrottled Trace",runtimeSettingsDevice:"Device",runtimeSettingsNetworkThrottling:"Network throttling",runtimeSettingsCPUThrottling:"CPU throttling",runtimeSettingsUANetwork:"User agent (network)",runtimeSettingsBenchmark:"Unthrottled CPU/Memory Power",runtimeSettingsAxeVersion:"Axe version",runtimeSettingsScreenEmulation:"Screen emulation",footerIssue:"File an issue",runtimeNoEmulation:"No emulation",runtimeMobileEmulation:"Emulated Moto G Power",runtimeDesktopEmulation:"Emulated Desktop",runtimeUnknown:"Unknown",runtimeSingleLoad:"Single page load",runtimeAnalysisWindow:"Initial page load",runtimeSingleLoadTooltip:"This data is taken from a single page load, as opposed to field data summarizing many sessions.",throttlingProvided:"Provided by environment",show:"Show",hide:"Hide",expandView:"Expand view",collapseView:"Collapse view",runtimeSlow4g:"Slow 4G throttling",runtimeCustom:"Custom throttling",firstPartyChipLabel:"1st party",openInANewTabTooltip:"Open in a new tab",unattributable:"Unattributable"};var Bi=0;function u(n,e,t,a,o){var i,r,s={};for(r in e)r=="ref"?i=e[r]:s[r]=e[r];var c={type:n,props:s,key:t,ref:i,__k:null,__:null,__b:0,__e:null,__d:void 0,__c:null,__h:null,constructor:void 0,__v:--Bi,__source:o,__self:a};if(typeof n=="function"&&(i=n.defaultProps))for(r in i)s[r]===void 0&&(s[r]=i[r]);return L.vnode&&L.vnode(c),c}var Wn=()=>u("svg",{width:"14",viewBox:"0 0 18 16",fill:"none",role:"img",children:u("path",{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M0 2C0 1.17 0.67 0.5 1.5 0.5C2.33 0.5 3 1.17 3 2C3 2.83 2.33 3.5 1.5 3.5C0.67 3.5 0 2.83 0 2ZM0 8C0 7.17 0.67 6.5 1.5 6.5C2.33 6.5 3 7.17 3 8C3 8.83 2.33 9.5 1.5 9.5C0.67 9.5 0 8.83 0 8ZM1.5 12.5C0.67 12.5 0 13.18 0 14C0 14.82 0.68 15.5 1.5 15.5C2.32 15.5 3 14.82 3 14C3 13.18 2.33 12.5 1.5 12.5ZM18 15H5V13H18V15ZM5 9H18V7H5V9ZM5 3V1H18V3H5Z",fill:"currentColor"})}),mt=()=>u("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",role:"img","aria-label":"Icon representing a navigation report",children:u("circle",{cx:"8",cy:"8",r:"7",fill:"none",stroke:"currentColor","stroke-width":"2"})}),gt=()=>u("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",role:"img","aria-label":"Icon representing a timespan report",children:[u("circle",{cx:"8",cy:"8",r:"7",fill:"none",stroke:"currentColor","stroke-width":"2"}),u("path",{d:"m 8,4 v 4 l 4,1.9999998",stroke:"currentColor","stroke-width":"1.5"})]}),ht=()=>u("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",role:"img","aria-label":"Icon representing a snapshot report",children:u("path",{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M 12.2038,12.2812 C 11.1212,13.3443 9.6372,14 8,14 7.81038,14 7.62281,13.9912 7.43768,13.974 L 10.3094,9 Z M 12.8925,11.4741 10.0207,6.5 H 13.811 C 13.9344,6.97943 14,7.48205 14,8 c 0,1.2947 -0.4101,2.4937 -1.1075,3.4741 z M 13.456,5.5 H 7.71135 L 9.6065,2.21749 C 11.3203,2.69259 12.7258,3.90911 13.456,5.5 Z M 8.5624,2.02601 C 8.3772,2.0088 8.1896,2 8,2 6.36282,2 4.8788,2.65572 3.79622,3.71885 L 5.69061,7.00002 Z M 3.10749,4.52594 C 2.4101,5.5063 2,6.70526 2,8 2,8.5179 2.06563,9.0206 2.18903,9.5 H 5.97927 Z M 2.54404,10.5 c 0.73017,1.5909 2.1357,2.8074 3.84949,3.2825 L 8.2887,10.5 Z M 16,8 c 0,4.4183 -3.5817,8 -8,8 C 3.58172,16 0,12.4183 0,8 0,3.58172 3.58172,0 8,0 c 4.4183,0 8,3.58172 8,8 z",fill:"currentColor"})}),Jn=()=>u("svg",{xmlns:"http://www.w3.org/2000/svg",height:"24px",viewBox:"0 0 24 24",width:"24px",fill:"currentColor",role:"img","aria-label":"Icon representing a close action",children:[u("path",{d:"M0 0h24v24H0V0z",fill:"none"}),u("path",{d:"M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41z"})]}),qn=()=>u("svg",{width:"15",height:"12",viewBox:"0 0 15 12",fill:"none",role:"img",children:u("path",{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M3.33317 2.00008H13.9998V0.666748H3.33317C2.59984 0.666748 1.99984 1.26675 1.99984 2.00008V9.33341H0.666504V11.3334H7.99984V9.33341H3.33317V2.00008ZM13.9998 3.33341H9.99984C9.63317 3.33341 9.33317 3.63341 9.33317 4.00008V10.6667C9.33317 11.0334 9.63317 11.3334 9.99984 11.3334H13.9998C14.3665 11.3334 14.6665 11.0334 14.6665 10.6667V4.00008C14.6665 3.63341 14.3665 3.33341 13.9998 3.33341ZM10.6665 9.33341H13.3332V4.66675H10.6665V9.33341Z",fill:"currentColor"})}),Kn=()=>u("svg",{width:"16",height:"11",viewBox:"0 0 16 11",fill:"none",role:"img",children:u("path",{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M0.666687 3.26663L2.00002 4.59997C3.92002 2.67997 6.52669 1.87997 9.02002 2.18663L9.81335 0.399966C6.59335 -0.173367 3.16002 0.779966 0.666687 3.26663ZM10.6 0.599966C10.4867 0.599966 10.3867 0.659966 10.3267 0.753299L10.28 0.853299L6.82669 8.61996C6.72002 8.8133 6.65335 9.02663 6.65335 9.25996C6.65335 9.99996 7.25335 10.6 7.99335 10.6C8.63335 10.6 9.17335 10.1466 9.30002 9.53996L9.30669 9.51997L10.9334 0.933299C10.9334 0.746633 10.7867 0.599966 10.6 0.599966ZM15.3334 3.26663L14 4.59997C13.1867 3.78663 12.2534 3.17997 11.2534 2.76663L11.6067 0.886633C12.9667 1.38663 14.24 2.1733 15.3334 3.26663ZM11.3334 7.26663L12.6667 5.9333C12.1334 5.39997 11.5334 4.98663 10.8934 4.6733L10.5267 6.61997C10.8067 6.79997 11.08 7.0133 11.3334 7.26663ZM4.66669 7.26663L3.33335 5.9333C4.67335 4.5933 6.45335 3.95997 8.20669 4.0133L7.35335 5.9333C6.37335 6.0733 5.42002 6.5133 4.66669 7.26663Z",fill:"currentColor"})}),Zn=()=>u("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",role:"img",children:u("path",{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M15.5 7.16667V5.5H13.8333V3.83333C13.8333 2.91667 13.0833 2.16667 12.1667 2.16667H10.5V0.5H8.83333V2.16667H7.16667V0.5H5.5V2.16667H3.83333C2.91667 2.16667 2.16667 2.91667 2.16667 3.83333V5.5H0.5V7.16667H2.16667V8.83333H0.5V10.5H2.16667V12.1667C2.16667 13.0833 2.91667 13.8333 3.83333 13.8333H5.5V15.5H7.16667V13.8333H8.83333V15.5H10.5V13.8333H12.1667C13.0833 13.8333 13.8333 13.0833 13.8333 12.1667V10.5H15.5V8.83333H13.8333V7.16667H15.5ZM10.5 5.5H5.5V10.5H10.5V5.5ZM3.83333 12.1667H12.1667V3.83333H3.83333V12.1667Z",fill:"currentColor"})}),Xn=()=>u("svg",{viewBox:"0 0 18 12",width:"18",height:"12",role:"img",children:[u("rect",{width:"18",height:"2",fill:"currentColor"}),u("rect",{y:"5",width:"18",height:"2",fill:"currentColor"}),u("rect",{y:"10",width:"18",height:"2",fill:"currentColor"})]}),Yn=()=>u("svg",{width:"14",height:"14",viewBox:"0 0 14 14",fill:"none",children:u("path",{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M13 7C13 10.3137 10.3137 13 7 13C3.68629 13 1 10.3137 1 7C1 3.68629 3.68629 1 7 1C10.3137 1 13 3.68629 13 7ZM14 7C14 10.866 10.866 14 7 14C3.13401 14 0 10.866 0 7C0 3.13401 3.13401 0 7 0C10.866 0 14 3.13401 14 7ZM7.66658 11H6.33325V9.66667H7.66658V11ZM4.33325 5.66667C4.33325 4.19333 5.52659 3 6.99992 3C8.47325 3 9.66658 4.19333 9.66658 5.66667C9.66658 6.52194 9.1399 6.98221 8.62709 7.43036C8.1406 7.85551 7.66658 8.26975 7.66658 9H6.33325C6.33325 7.78582 6.96133 7.30439 7.51355 6.88112C7.94674 6.54907 8.33325 6.25281 8.33325 5.66667C8.33325 4.93333 7.73325 4.33333 6.99992 4.33333C6.26658 4.33333 5.66658 4.93333 5.66658 5.66667H4.33325Z",fill:"currentColor"})});var Mt=Me(void 0),Ft=Me({});function Qn(n){return new URLSearchParams(location.hash.replace("#","?")).get(n)}function Le(...n){let e=[];for(let t of n){if(!t)continue;if(typeof t=="string"){e.push(t);continue}let a=Object.entries(t).filter(([o,i])=>i).map(([o])=>o);e.push(...a)}return e.join(" ")}function ea(n){let{width:e,height:t}=n.configSettings.screenEmulation;return{width:e,height:t}}function ta(n){let e=n.audits["screenshot-thumbnails"];return e&&e.details&&e.details.type==="filmstrip"&&e.details.items||void 0}function ft(n,e){switch(n){case"navigation":return e.navigationDescription;case"timespan":return e.timespanDescription;case"snapshot":return e.snapshotDescription}}function ne(){let n=He(Mt);if(!n)throw Error("useFlowResult must be called in the FlowResultContext");return n}function $i(...n){let[e,t]=ve(n.map(Qn));return pt(()=>{function a(){let o=n.map(Qn);o.every((i,r)=>i===e[r])||t(o)}return window.addEventListener("hashchange",a),()=>window.removeEventListener("hashchange",a)},[e]),e}function Ie(){let n=ne(),[e,t]=$i("index","anchor");return ce(()=>{if(!e)return null;let a=Number(e);if(!Number.isFinite(a))return console.warn(`Invalid hash index: ${e}`),null;let o=n.steps[a];return o?{currentLhr:o.lhr,index:a,anchor:t}:(console.warn(`No flow step at index ${a}`),null)},[e,n,t])}function be(n,e){let t=ct(null);return ut(()=>{if(!t.current)return;let a=n();return t.current.append(a),()=>{t.current?.contains(a)&&t.current.removeChild(a)}},e),t}function na(){return He(Ft)}var Gi=500,ie=()=>u("div",{className:"Separator",role:"separator"}),Ht=({mode:n})=>u(W,{children:[n==="navigation"&&u(mt,{}),n==="timespan"&&u(gt,{}),n==="snapshot"&&u(ht,{})]}),ye=({mode:n})=>u("div",{className:"FlowSegment",children:[u("div",{className:"FlowSegment__top-line"}),n&&u(Ht,{mode:n}),u("div",{className:"FlowSegment__bottom-line"})]}),Vi=({frames:n,width:e,height:t})=>{let[a,o]=ve(0),i=a%n.length;return pt(()=>{let r=setInterval(()=>o(s=>(s+1)%n.length),Gi);return()=>clearInterval(r)},[n.length]),u("img",{className:"FlowStepThumbnail","data-testid":"FlowStepAnimatedThumbnail",src:n[i].data,style:{width:e,height:t},alt:"Animated screenshots of a page tested by Lighthouse"})},vt=({lhr:n,width:e,height:t})=>{let a=ta(n),o=ea(n);if(e&&t===void 0?t=o.height*e/o.width:t&&e===void 0&&(e=o.width*t/o.height),!e||!t)return console.warn(new Error("FlowStepThumbnail requested without any dimensions").stack),u(W,{});let i;if(a?.length){if(i=a[a.length-1].data,n.gatherMode==="timespan")return u(Vi,{frames:a,width:e,height:t})}else i=M.getFullPageScreenshot(n)?.screenshot.data;return u(W,{children:i&&u("img",{className:"FlowStepThumbnail",src:i,style:{width:e,height:t},alt:"Screenshot of a page tested by Lighthouse"})})};var aa=function(){"use strict";function n(a,o){function i(){this.constructor=a}i.prototype=o.prototype,a.prototype=new i}function e(a,o,i,r){this.message=a,this.expected=o,this.found=i,this.location=r,this.name="SyntaxError",typeof Error.captureStackTrace=="function"&&Error.captureStackTrace(this,e)}n(e,Error),e.buildMessage=function(a,o){var i={literal:function(h){return'"'+s(h.text)+'"'},class:function(h){var f="",y;for(y=0;y<h.parts.length;y++)f+=h.parts[y]instanceof Array?c(h.parts[y][0])+"-"+c(h.parts[y][1]):c(h.parts[y]);return"["+(h.inverted?"^":"")+f+"]"},any:function(h){return"any character"},end:function(h){return"end of input"},other:function(h){return h.description}};function r(h){return h.charCodeAt(0).toString(16).toUpperCase()}function s(h){return h.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\0/g,"\\0").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/[\x00-\x0F]/g,function(f){return"\\x0"+r(f)}).replace(/[\x10-\x1F\x7F-\x9F]/g,function(f){return"\\x"+r(f)})}function c(h){return h.replace(/\\/g,"\\\\").replace(/\]/g,"\\]").replace(/\^/g,"\\^").replace(/-/g,"\\-").replace(/\0/g,"\\0").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/[\x00-\x0F]/g,function(f){return"\\x0"+r(f)}).replace(/[\x10-\x1F\x7F-\x9F]/g,function(f){return"\\x"+r(f)})}function g(h){return i[h.type](h)}function p(h){var f=new Array(h.length),y,S;for(y=0;y<h.length;y++)f[y]=g(h[y]);if(f.sort(),f.length>0){for(y=1,S=1;y<f.length;y++)f[y-1]!==f[y]&&(f[S]=f[y],S++);f.length=S}switch(f.length){case 1:return f[0];case 2:return f[0]+" or "+f[1];default:return f.slice(0,-1).join(", ")+", or "+f[f.length-1]}}function v(h){return h?'"'+s(h)+'"':"end of input"}return"Expected "+p(a)+" but "+v(o)+" found."};function t(a,o){o=o!==void 0?o:{};var i={},r={start:sn},s=sn,c=function(l){return{type:"messageFormatPattern",elements:l,location:ue()}},g=function(l){return l.reduce(function(d,b){return d.concat(b)},[]).join("")},p=function(l){return{type:"messageTextElement",value:l,location:ue()}},v=function(l){return l.join("")},h="{",f=V("{",!1),y=",",S=V(",",!1),C="}",_=V("}",!1),P=function(l,d){return{type:"argumentElement",id:l,format:d&&d[2],location:ue()}},x="number",T=V("number",!1),D="date",B=V("date",!1),$="time",q=V("time",!1),K=function(l,d){return{type:l+"Format",style:d&&d[2],location:ue()}},F="plural",G=V("plural",!1),Z=function(l){return{type:l.type,ordinal:!1,offset:l.offset||0,options:l.options,location:ue()}},Y="selectordinal",Pt=V("selectordinal",!1),N=function(l){return{type:l.type,ordinal:!0,offset:l.offset||0,options:l.options,location:ue()}},H="select",X=V("select",!1),ee=function(l){return{type:"selectFormat",options:l,location:ue()}},Q="=",ge=V("=",!1),we=function(l,d){return{type:"optionalFormatPattern",selector:l,value:d,location:ue()}},pe="offset:",ae=V("offset:",!1),oe=function(l){return l},he=function(l,d){return{type:"pluralFormat",offset:l,options:d,location:ue()}},Ge=Lt("whitespace"),Ne=/^[ \t\n\r]/,ze=Pe([" "," ",`
|
|
2
2
|
`,"\r"],!1,!1),xt=Lt("optionalWhitespace"),Ve=/^[0-9]/,We=Pe([["0","9"]],!1,!1),Je=/^[0-9a-f]/i,ke=Pe([["0","9"],["a","f"]],!1,!0),Se="0",qa=V("0",!1),Ka=/^[1-9]/,Za=Pe([["1","9"]],!1,!1),Xa=function(l){return parseInt(l,10)},qe="'",Ke=V("'",!1),Zt=/^[ \t\n\r,.+={}#]/,Xt=Pe([" "," ",`
|
|
3
3
|
`,"\r",",",".","+","=","{","}","#"],!1,!1),Ya=di(),Qa=function(l){return l},Yt=function(l){return l},ei=/^[^{}\\\0-\x1F\x7F \t\n\r]/,ti=Pe(["{","}","\\",["\0",""],""," "," ",`
|
|
4
|
-
`,"\r"],!0,!1),Qt="\\\\",ni=V("\\\\",!1),ai=function(){return"\\"},en="\\#",ii=V("\\#",!1),oi=function(){return"\\#"},tn="\\{",ri=V("\\{",!1),si=function(){return"{"},nn="\\}",li=V("\\}",!1),pi=function(){return"}"},an="\\u",ui=V("\\u",!1),ci=function(l){return String.fromCharCode(parseInt(l,16))},m=0,z=0,Ze=[{line:1,column:1}],re=0,Ut=[],I=0,Xe;if("startRule"in o){if(!(o.startRule in r))throw new Error(`Can't start parsing from rule "`+o.startRule+'".');s=r[o.startRule]}function mr(){return a.substring(z,m)}function ue(){return De(z,m)}function gr(l,d){throw d=d!==void 0?d:De(z,m),rn([Lt(l)],a.substring(z,m),d)}function hr(l,d){throw d=d!==void 0?d:De(z,m),gi(l,d)}function V(l,d){return{type:"literal",text:l,ignoreCase:d}}function Pe(l,d,b){return{type:"class",parts:l,inverted:d,ignoreCase:b}}function di(){return{type:"any"}}function mi(){return{type:"end"}}function Lt(l){return{type:"other",description:l}}function on(l){var d=Ze[l],b;if(d)return d;for(b=l-1;!Ze[b];)b--;for(d=Ze[b],d={line:d.line,column:d.column};b<l;)a.charCodeAt(b)===10?(d.line++,d.column=1):d.column++,b++;return Ze[l]=d,d}function De(l,d){var b=on(l),w=on(d);return{start:{offset:l,line:b.line,column:b.column},end:{offset:d,line:w.line,column:w.column}}}function E(l){m<re||(m>re&&(re=m,Ut=[]),Ut.push(l))}function gi(l,d){return new e(l,null,null,d)}function rn(l,d,b){return new e(e.buildMessage(l,d),l,d,b)}function sn(){var l;return l=ln(),l}function ln(){var l,d,b;for(l=m,d=[],b=pn();b!==i;)d.push(b),b=pn();return d!==i&&(z=l,d=c(d)),l=d,l}function pn(){var l;return l=fi(),l===i&&(l=bi()),l}function hi(){var l,d,b,w,U,P;if(l=m,d=[],b=m,w=O(),w!==i?(U=et(),U!==i?(P=O(),P!==i?(w=[w,U,P],b=w):(m=b,b=i)):(m=b,b=i)):(m=b,b=i),b!==i)for(;b!==i;)d.push(b),b=m,w=O(),w!==i?(U=et(),U!==i?(P=O(),P!==i?(w=[w,U,P],b=w):(m=b,b=i)):(m=b,b=i)):(m=b,b=i);else d=i;return d!==i&&(z=l,d=g(d)),l=d,l===i&&(l=m,d=It(),d!==i?l=a.substring(l,m):l=d),l}function fi(){var l,d;return l=m,d=hi(),d!==i&&(z=l,d=p(d)),l=d,l}function vi(){var l,d,b;if(l=Et(),l===i){for(l=m,d=[],b=dn();b!==i;)d.push(b),b=dn();d!==i&&(z=l,d=v(d)),l=d}return l}function bi(){var l,d,b,w,U,P,j,se,Tt;return l=m,a.charCodeAt(m)===123?(d=h,m++):(d=i,I===0&&E(f)),d!==i?(b=O(),b!==i?(w=vi(),w!==i?(U=O(),U!==i?(P=m,a.charCodeAt(m)===44?(j=y,m++):(j=i,I===0&&E(S)),j!==i?(se=O(),se!==i?(Tt=yi(),Tt!==i?(j=[j,se,Tt],P=j):(m=P,P=i)):(m=P,P=i)):(m=P,P=i),P===i&&(P=null),P!==i?(j=O(),j!==i?(a.charCodeAt(m)===125?(se=C,m++):(se=i,I===0&&E(_)),se!==i?(z=l,d=A(w,P),l=d):(m=l,l=i)):(m=l,l=i)):(m=l,l=i)):(m=l,l=i)):(m=l,l=i)):(m=l,l=i)):(m=l,l=i),l}function yi(){var l;return l=_i(),l===i&&(l=Ci(),l===i&&(l=wi(),l===i&&(l=ki()))),l}function _i(){var l,d,b,w,U,P,j;return l=m,a.substr(m,6)===x?(d=x,m+=6):(d=i,I===0&&E(T)),d===i&&(a.substr(m,4)===D?(d=D,m+=4):(d=i,I===0&&E(B)),d===i&&(a.substr(m,4)===$?(d=$,m+=4):(d=i,I===0&&E(q)))),d!==i?(b=O(),b!==i?(w=m,a.charCodeAt(m)===44?(U=y,m++):(U=i,I===0&&E(S)),U!==i?(P=O(),P!==i?(j=et(),j!==i?(U=[U,P,j],w=U):(m=w,w=i)):(m=w,w=i)):(m=w,w=i),w===i&&(w=null),w!==i?(z=l,d=K(d,w),l=d):(m=l,l=i)):(m=l,l=i)):(m=l,l=i),l}function Ci(){var l,d,b,w,U,P;return l=m,a.substr(m,6)===F?(d=F,m+=6):(d=i,I===0&&E(G)),d!==i?(b=O(),b!==i?(a.charCodeAt(m)===44?(w=y,m++):(w=i,I===0&&E(S)),w!==i?(U=O(),U!==i?(P=un(),P!==i?(z=l,d=Z(P),l=d):(m=l,l=i)):(m=l,l=i)):(m=l,l=i)):(m=l,l=i)):(m=l,l=i),l}function wi(){var l,d,b,w,U,P;return l=m,a.substr(m,13)===Y?(d=Y,m+=13):(d=i,I===0&&E(Pt)),d!==i?(b=O(),b!==i?(a.charCodeAt(m)===44?(w=y,m++):(w=i,I===0&&E(S)),w!==i?(U=O(),U!==i?(P=un(),P!==i?(z=l,d=N(P),l=d):(m=l,l=i)):(m=l,l=i)):(m=l,l=i)):(m=l,l=i)):(m=l,l=i),l}function ki(){var l,d,b,w,U,P,j;if(l=m,a.substr(m,6)===H?(d=H,m+=6):(d=i,I===0&&E(X)),d!==i)if(b=O(),b!==i)if(a.charCodeAt(m)===44?(w=y,m++):(w=i,I===0&&E(S)),w!==i)if(U=O(),U!==i){if(P=[],j=Ye(),j!==i)for(;j!==i;)P.push(j),j=Ye();else P=i;P!==i?(z=l,d=ee(P),l=d):(m=l,l=i)}else m=l,l=i;else m=l,l=i;else m=l,l=i;else m=l,l=i;return l}function Si(){var l,d,b,w;return l=m,d=m,a.charCodeAt(m)===61?(b=Q,m++):(b=i,I===0&&E(ge)),b!==i?(w=Et(),w!==i?(b=[b,w],d=b):(m=d,d=i)):(m=d,d=i),d!==i?l=a.substring(l,m):l=d,l===i&&(l=et()),l}function Ye(){var l,d,b,w,U,P,j;return l=m,d=O(),d!==i?(b=Si(),b!==i?(w=O(),w!==i?(a.charCodeAt(m)===123?(U=h,m++):(U=i,I===0&&E(f)),U!==i?(P=ln(),P!==i?(a.charCodeAt(m)===125?(j=C,m++):(j=i,I===0&&E(_)),j!==i?(z=l,d=we(b,P),l=d):(m=l,l=i)):(m=l,l=i)):(m=l,l=i)):(m=l,l=i)):(m=l,l=i)):(m=l,l=i),l}function Ai(){var l,d,b,w;return l=m,a.substr(m,7)===pe?(d=pe,m+=7):(d=i,I===0&&E(ae)),d!==i?(b=O(),b!==i?(w=Et(),w!==i?(z=l,d=oe(w),l=d):(m=l,l=i)):(m=l,l=i)):(m=l,l=i),l}function un(){var l,d,b,w,U;if(l=m,d=Ai(),d===i&&(d=null),d!==i)if(b=O(),b!==i){if(w=[],U=Ye(),U!==i)for(;U!==i;)w.push(U),U=Ye();else w=i;w!==i?(z=l,d=he(d,w),l=d):(m=l,l=i)}else m=l,l=i;else m=l,l=i;return l}function It(){var l,d;if(I++,l=[],Ne.test(a.charAt(m))?(d=a.charAt(m),m++):(d=i,I===0&&E(ze)),d!==i)for(;d!==i;)l.push(d),Ne.test(a.charAt(m))?(d=a.charAt(m),m++):(d=i,I===0&&E(ze));else l=i;return I--,l===i&&(d=i,I===0&&E(Ge)),l}function O(){var l,d,b;for(I++,l=m,d=[],b=It();b!==i;)d.push(b),b=It();return d!==i?l=a.substring(l,m):l=d,I--,l===i&&(d=i,I===0&&E(xt)),l}function cn(){var l;return Ve.test(a.charAt(m))?(l=a.charAt(m),m++):(l=i,I===0&&E(We)),l}function Qe(){var l;return Je.test(a.charAt(m))?(l=a.charAt(m),m++):(l=i,I===0&&E(ke)),l}function Et(){var l,d,b,w,U,P;if(l=m,a.charCodeAt(m)===48?(d=Se,m++):(d=i,I===0&&E(qa)),d===i){if(d=m,b=m,Ka.test(a.charAt(m))?(w=a.charAt(m),m++):(w=i,I===0&&E(Za)),w!==i){for(U=[],P=cn();P!==i;)U.push(P),P=cn();U!==i?(w=[w,U],b=w):(m=b,b=i)}else m=b,b=i;b!==i?d=a.substring(d,m):d=b}return d!==i&&(z=l,d=Xa(d)),l=d,l}function dn(){var l,d,b;return l=m,d=m,I++,a.charCodeAt(m)===39?(b=qe,m++):(b=i,I===0&&E(Ke)),b===i&&(Zt.test(a.charAt(m))?(b=a.charAt(m),m++):(b=i,I===0&&E(Xt))),I--,b===i?d=void 0:(m=d,d=i),d!==i?(a.length>m?(b=a.charAt(m),m++):(b=i,I===0&&E(Ya)),b!==i?(z=l,d=Qa(b),l=d):(m=l,l=i)):(m=l,l=i),l===i&&(l=m,a.charCodeAt(m)===39?(d=qe,m++):(d=i,I===0&&E(Ke)),d!==i?(b=Pi(),b!==i?(z=l,d=Yt(b),l=d):(m=l,l=i)):(m=l,l=i)),l}function mn(){var l;return a.charCodeAt(m)===39?(l=qe,m++):(l=i,I===0&&E(Ke)),l}function Pi(){var l;return Zt.test(a.charAt(m))?(l=a.charAt(m),m++):(l=i,I===0&&E(Xt)),l===i&&(l=mn()),l}function gn(){var l,d,b,w,U,P,j,se;return l=m,a.charCodeAt(m)===39?(d=qe,m++):(d=i,I===0&&E(Ke)),d!==i?(b=mn(),b!==i?(z=l,d=Yt(b),l=d):(m=l,l=i)):(m=l,l=i),l===i&&(ei.test(a.charAt(m))?(l=a.charAt(m),m++):(l=i,I===0&&E(ti)),l===i&&(l=m,a.substr(m,2)===Qt?(d=Qt,m+=2):(d=i,I===0&&E(ni)),d!==i&&(z=l,d=ai()),l=d,l===i&&(l=m,a.substr(m,2)===en?(d=en,m+=2):(d=i,I===0&&E(ii)),d!==i&&(z=l,d=oi()),l=d,l===i&&(l=m,a.substr(m,2)===tn?(d=tn,m+=2):(d=i,I===0&&E(ri)),d!==i&&(z=l,d=si()),l=d,l===i&&(l=m,a.substr(m,2)===nn?(d=nn,m+=2):(d=i,I===0&&E(li)),d!==i&&(z=l,d=pi()),l=d,l===i&&(l=m,a.substr(m,2)===an?(d=an,m+=2):(d=i,I===0&&E(ui)),d!==i?(b=m,w=m,U=Qe(),U!==i?(P=Qe(),P!==i?(j=Qe(),j!==i?(se=Qe(),se!==i?(U=[U,P,j,se],w=U):(m=w,w=i)):(m=w,w=i)):(m=w,w=i)):(m=w,w=i),w!==i?b=a.substring(b,m):b=w,b!==i?(z=l,d=ci(b),l=d):(m=l,l=i)):(m=l,l=i))))))),l}function et(){var l,d,b;if(l=m,d=[],b=gn(),b!==i)for(;b!==i;)d.push(b),b=gn();else d=i;return d!==i&&(z=l,d=v(d)),l=d,l}if(Xe=s(),Xe!==i&&m===a.length)return Xe;throw Xe!==i&&m<a.length&&E(mi()),rn(Ut,re<a.length?a.charAt(re):null,re<a.length?De(re,re+1):De(re,re))}return{SyntaxError:e,parse:t}}();var ia=function(){var n=function(e,t){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,o){a.__proto__=o}||function(a,o){for(var i in o)o.hasOwnProperty(i)&&(a[i]=o[i])},n(e,t)};return function(e,t){n(e,t);function a(){this.constructor=e}e.prototype=t===null?Object.create(t):(a.prototype=t.prototype,new a)}}(),Wi=function(){function n(e,t,a){this.locales=[],this.formats={number:{},date:{},time:{}},this.pluralNumberFormat=null,this.currentPlural=null,this.pluralStack=[],this.locales=e,this.formats=t,this.formatters=a}return n.prototype.compile=function(e){return this.pluralStack=[],this.currentPlural=null,this.pluralNumberFormat=null,this.compileMessage(e)},n.prototype.compileMessage=function(e){var t=this;if(!(e&&e.type==="messageFormatPattern"))throw new Error('Message AST is not of type: "messageFormatPattern"');var a=e.elements,o=a.filter(function(i){return i.type==="messageTextElement"||i.type==="argumentElement"}).map(function(i){return i.type==="messageTextElement"?t.compileMessageText(i):t.compileArgument(i)});if(o.length!==a.length)throw new Error("Message element does not have a valid type");return o},n.prototype.compileMessageText=function(e){return this.currentPlural&&/(^|[^\\])#/g.test(e.value)?(this.pluralNumberFormat||(this.pluralNumberFormat=new Intl.NumberFormat(this.locales)),new Ki(this.currentPlural.id,this.currentPlural.format.offset,this.pluralNumberFormat,e.value)):e.value.replace(/\\#/g,"#")},n.prototype.compileArgument=function(e){var t=e.format,a=e.id,o=this.formatters;if(!t)return new Ji(a);var i=this,r=i.formats,s=i.locales;switch(t.type){case"numberFormat":return{id:a,format:o.getNumberFormat(s,r.number[t.style]).format};case"dateFormat":return{id:a,format:o.getDateTimeFormat(s,r.date[t.style]).format};case"timeFormat":return{id:a,format:o.getDateTimeFormat(s,r.time[t.style]).format};case"pluralFormat":return new qi(a,t.offset,this.compileOptions(e),o.getPluralRules(s,{type:t.ordinal?"ordinal":"cardinal"}));case"selectFormat":return new Zi(a,this.compileOptions(e));default:throw new Error("Message element does not have a valid format type")}},n.prototype.compileOptions=function(e){var t=this,a=e.format,o=a.options;this.pluralStack.push(this.currentPlural),this.currentPlural=a.type==="pluralFormat"?e:null;var i=o.reduce(function(r,s){return r[s.selector]=t.compileMessage(s.value),r},{});return this.currentPlural=this.pluralStack.pop(),i},n}(),oa=Wi,ra=function(){function n(e){this.id=e}return n}(),Ji=function(n){ia(e,n);function e(){return n!==null&&n.apply(this,arguments)||this}return e.prototype.format=function(t){return!t&&typeof t!="number"?"":typeof t=="string"?t:String(t)},e}(ra),qi=function(){function n(e,t,a,o){this.id=e,this.offset=t,this.options=a,this.pluralRules=o}return n.prototype.getOption=function(e){var t=this.options,a=t["="+e]||t[this.pluralRules.select(e-this.offset)];return a||t.other},n}(),Ki=function(n){ia(e,n);function e(t,a,o,i){var r=n.call(this,t)||this;return r.offset=a,r.numberFormat=o,r.string=i,r}return e.prototype.format=function(t){var a=this.numberFormat.format(t-this.offset);return this.string.replace(/(^|[^\\])#/g,"$1"+a).replace(/\\#/g,"#")},e}(ra);var Zi=function(){function n(e,t){this.id=e,this.options=t}return n.prototype.getOption=function(e){var t=this.options;return t[e]||t.other},n}();function sa(n){return!!n.options}var Xi=function(){var n=function(e,t){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,o){a.__proto__=o}||function(a,o){for(var i in o)o.hasOwnProperty(i)&&(a[i]=o[i])},n(e,t)};return function(e,t){n(e,t);function a(){this.constructor=e}e.prototype=t===null?Object.create(t):(a.prototype=t.prototype,new a)}}(),Oe=function(){return Oe=Object.assign||function(n){for(var e,t=1,a=arguments.length;t<a;t++){e=arguments[t];for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&(n[o]=e[o])}return n},Oe.apply(this,arguments)};function Yi(n){typeof n=="string"&&(n=[n]);try{return Intl.NumberFormat.supportedLocalesOf(n,{localeMatcher:"best fit"})[0]}catch{return pa.defaultLocale}}function la(n,e){for(var t="",a=0,o=n;a<o.length;a++){var i=o[a];if(typeof i=="string"){t+=i;continue}var r=i.id;if(!(e&&r in e))throw new to("A value must be provided for: "+r,r);var s=e[r];sa(i)?t+=la(i.getOption(s),e):t+=i.format(s)}return t}function Qi(n,e){return e?Oe({},n||{},e||{},Object.keys(n).reduce(function(t,a){return t[a]=Oe({},n[a],e[a]||{}),t},{})):n}function eo(n,e){return e?Object.keys(n).reduce(function(t,a){return t[a]=Qi(n[a],e[a]),t},Oe({},n)):n}var to=function(n){Xi(e,n);function e(t,a){var o=n.call(this,t)||this;return o.variableId=a,o}return e}(Error);function no(){return{getNumberFormat:function(){for(var n,e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return new((n=Intl.NumberFormat).bind.apply(n,[void 0].concat(e)))},getDateTimeFormat:function(){for(var n,e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return new((n=Intl.DateTimeFormat).bind.apply(n,[void 0].concat(e)))},getPluralRules:function(){for(var n,e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return new((n=Intl.PluralRules).bind.apply(n,[void 0].concat(e)))}}}var pa=function(){function n(e,t,a,o){var i=this;if(t===void 0&&(t=n.defaultLocale),this.format=function(c){try{return la(i.pattern,c)}catch(g){throw g.variableId?new Error("The intl string context variable '"+g.variableId+"' was not provided to the string '"+i.message+"'"):g}},typeof e=="string"){if(!n.__parse)throw new TypeError("IntlMessageFormat.__parse must be set to process `message` of type `string`");this.ast=n.__parse(e)}else this.ast=e;if(this.message=e,!(this.ast&&this.ast.type==="messageFormatPattern"))throw new TypeError("A message must be provided as a String or AST.");var r=eo(n.formats,a);this.locale=Yi(t||[]);var s=o&&o.formatters||no();this.pattern=new oa(t,r,s).compile(this.ast)}return n.prototype.resolvedOptions=function(){return{locale:this.locale}},n.prototype.getAst=function(){return this.ast},n.defaultLocale="en",n.__parse=void 0,n.formats={number:{currency:{style:"currency"},percent:{style:"percent"}},date:{short:{month:"numeric",day:"numeric",year:"2-digit"},medium:{month:"short",day:"numeric",year:"numeric"},long:{month:"long",day:"numeric",year:"numeric"},full:{weekday:"long",month:"long",day:"numeric",year:"numeric"}},time:{short:{hour:"numeric",minute:"numeric"},medium:{hour:"numeric",minute:"numeric",second:"numeric"},long:{hour:"numeric",minute:"numeric",second:"numeric",timeZoneName:"short"},full:{hour:"numeric",minute:"numeric",second:"numeric",timeZoneName:"short"}}},n}();var Ot=pa;Ot.__parse=aa.parse;var ua=Ot;var ls=["ar-XB.json","ar.json","bg.json","ca.json","cs.json","da.json","de.json","el.json","en-GB.json","en-US.json","en-XA.json","en-XL.json","es-419.json","es.json","fi.json","fil.json","fr.json","he.json","hi.json","hr.json","hu.json","id.json","it.json","ja.json","ko.json","lt.json","lv.json","nl.json","no.json","pl.json","pt-PT.json","pt.json","ro.json","ru.json","sk.json","sl.json","sr-Latn.json","sr.json","sv.json","ta.json","te.json","th.json","tr.json","uk.json","vi.json","zh-HK.json","zh-TW.json","zh.json"].filter(n=>n.endsWith(".json")&&!n.endsWith(".ctc.json")).map(n=>n.replace(".json","")).sort();var ao={number:{bytes:{maximumFractionDigits:0},milliseconds:{maximumFractionDigits:0},seconds:{minimumFractionDigits:1,maximumFractionDigits:1},extendedPercent:{maximumFractionDigits:2,style:"percent"}}};function ca(n,e=new Map){for(let t of n)if(t.type==="argumentElement"&&(e.set(t.id,t),!(!t.format||t.format.type!=="pluralFormat")))for(let a of t.format.options)ca(a.value.elements,e);return e}function io(n,e={},t){let o=[...ca(n.getAst().elements).values()],i={};for(let{id:r,format:s}of o){if(r&&!(r in e))throw new Error(`ICU Message "${t}" contains a value reference ("${r}") that wasn't provided`);let c=e[r];if(!s||s.type!=="numberFormat"){i[r]=c;continue}if(typeof c!="number")throw new Error(`ICU Message "${t}" contains a numeric reference ("${r}") but provided value was not a number`);s.style==="milliseconds"?i[r]=Math.round(c/10)*10:s.style==="seconds"&&r==="timeInMs"?i[r]=Math.round(c/100)/10:s.style==="bytes"?i[r]=c/1024:i[r]=c}for(let r of Object.keys(e))if(!(r in i)){if(r==="errorCode"){i.errorCode=e.errorCode;continue}throw new Error(`Provided value "${r}" does not match any placeholder in ICU message "${t}"`)}return i}function da(n,e,t){if(!n.includes("{")&&e===void 0)return n;let a=t==="en-XA"||t==="en-XL"?"de-DE":t,o=new ua(n,a,ao),i=io(o,e,n);return o.format(i)}var Bt=" ";var Ae=class{constructor(e){e==="en-XA"&&(e="de"),this._locale=e,this._cachedNumberFormatters=new Map}_formatNumberWithGranularity(e,t,a={}){if(t!==void 0){let r=-Math.log10(t);Number.isInteger(r)||(console.warn(`granularity of ${t} is invalid. Using 1 instead`),t=1),t<1&&(a={...a},a.minimumFractionDigits=a.maximumFractionDigits=Math.ceil(r)),e=Math.round(e/t)*t,Object.is(e,-0)&&(e=0)}else Math.abs(e)<5e-4&&(e=0);let o,i=[a.minimumFractionDigits,a.maximumFractionDigits,a.style,a.unit,a.unitDisplay,this._locale].join("");return o=this._cachedNumberFormatters.get(i),o||(o=new Intl.NumberFormat(this._locale,a),this._cachedNumberFormatters.set(i,o)),o.format(e).replace(" ",Bt)}formatNumber(e,t){return this._formatNumberWithGranularity(e,t)}formatInteger(e){return this._formatNumberWithGranularity(e,1)}formatPercent(e){return new Intl.NumberFormat(this._locale,{style:"percent"}).format(e)}formatBytesToKiB(e,t=void 0){return this._formatNumberWithGranularity(e/1024,t)+`${Bt}KiB`}formatBytesToMiB(e,t=void 0){return this._formatNumberWithGranularity(e/1048576,t)+`${Bt}MiB`}formatBytes(e,t=1){return this._formatNumberWithGranularity(e,t,{style:"unit",unit:"byte",unitDisplay:"long"})}formatBytesWithBestUnit(e,t=.1){return e>=1048576?this.formatBytesToMiB(e,t):e>=1024?this.formatBytesToKiB(e,t):this._formatNumberWithGranularity(e,t,{style:"unit",unit:"byte",unitDisplay:"narrow"})}formatKbps(e,t=void 0){return this._formatNumberWithGranularity(e,t,{style:"unit",unit:"kilobit-per-second",unitDisplay:"short"})}formatMilliseconds(e,t=void 0){return this._formatNumberWithGranularity(e,t,{style:"unit",unit:"millisecond",unitDisplay:"short"})}formatSeconds(e,t=void 0){return this._formatNumberWithGranularity(e/1e3,t,{style:"unit",unit:"second",unitDisplay:"narrow"})}formatDateTime(e){let t={month:"short",day:"numeric",year:"numeric",hour:"numeric",minute:"numeric",timeZoneName:"short"},a;try{a=new Intl.DateTimeFormat(this._locale,t)}catch{t.timeZone="UTC",a=new Intl.DateTimeFormat(this._locale,t)}return a.format(new Date(e))}formatDuration(e){let t=e/1e3;if(Math.round(t)===0)return"None";let a=[],o={day:60*60*24,hour:60*60,minute:60,second:1};return Object.keys(o).forEach(i=>{let r=o[i],s=Math.floor(t/r);if(s>0){t-=s*r;let c=this._formatNumberWithGranularity(s,1,{style:"unit",unit:i,unitDisplay:"narrow"});a.push(c)}}),a.join(" ")}};var $t={navigationDescription:"Page load",timespanDescription:"User interactions",snapshotDescription:"Captured state of page",navigationLongDescription:"Navigation reports analyze a single page load, exactly like the original Lighthouse reports.",timespanLongDescription:"Timespan reports analyze an arbitrary period of time, typically containing user interactions.",snapshotLongDescription:"Snapshot reports analyze the page in a particular state, typically after user interactions.",navigationReport:"Navigation report",timespanReport:"Timespan report",snapshotReport:"Snapshot report",summary:"Summary",allReports:"All Reports",title:"Lighthouse User Flow Report",categories:"Categories",categoryPerformance:"Performance",categoryAccessibility:"Accessibility",categoryBestPractices:"Best Practices",categorySeo:"SEO",categoryProgressiveWebApp:"Progressive Web App",desktop:"Desktop",mobile:"Mobile",ratingPass:"Good",ratingAverage:"Average",ratingFail:"Poor",ratingError:"Error",navigationReportCount:`{numNavigation, plural,
|
|
4
|
+
`,"\r"],!0,!1),Qt="\\\\",ni=V("\\\\",!1),ai=function(){return"\\"},en="\\#",ii=V("\\#",!1),oi=function(){return"\\#"},tn="\\{",ri=V("\\{",!1),si=function(){return"{"},nn="\\}",li=V("\\}",!1),pi=function(){return"}"},an="\\u",ui=V("\\u",!1),ci=function(l){return String.fromCharCode(parseInt(l,16))},m=0,z=0,Ze=[{line:1,column:1}],re=0,Ut=[],I=0,Xe;if("startRule"in o){if(!(o.startRule in r))throw new Error(`Can't start parsing from rule "`+o.startRule+'".');s=r[o.startRule]}function mr(){return a.substring(z,m)}function ue(){return De(z,m)}function gr(l,d){throw d=d!==void 0?d:De(z,m),rn([Lt(l)],a.substring(z,m),d)}function hr(l,d){throw d=d!==void 0?d:De(z,m),gi(l,d)}function V(l,d){return{type:"literal",text:l,ignoreCase:d}}function Pe(l,d,b){return{type:"class",parts:l,inverted:d,ignoreCase:b}}function di(){return{type:"any"}}function mi(){return{type:"end"}}function Lt(l){return{type:"other",description:l}}function on(l){var d=Ze[l],b;if(d)return d;for(b=l-1;!Ze[b];)b--;for(d=Ze[b],d={line:d.line,column:d.column};b<l;)a.charCodeAt(b)===10?(d.line++,d.column=1):d.column++,b++;return Ze[l]=d,d}function De(l,d){var b=on(l),w=on(d);return{start:{offset:l,line:b.line,column:b.column},end:{offset:d,line:w.line,column:w.column}}}function E(l){m<re||(m>re&&(re=m,Ut=[]),Ut.push(l))}function gi(l,d){return new e(l,null,null,d)}function rn(l,d,b){return new e(e.buildMessage(l,d),l,d,b)}function sn(){var l;return l=ln(),l}function ln(){var l,d,b;for(l=m,d=[],b=pn();b!==i;)d.push(b),b=pn();return d!==i&&(z=l,d=c(d)),l=d,l}function pn(){var l;return l=fi(),l===i&&(l=bi()),l}function hi(){var l,d,b,w,U,A;if(l=m,d=[],b=m,w=O(),w!==i?(U=et(),U!==i?(A=O(),A!==i?(w=[w,U,A],b=w):(m=b,b=i)):(m=b,b=i)):(m=b,b=i),b!==i)for(;b!==i;)d.push(b),b=m,w=O(),w!==i?(U=et(),U!==i?(A=O(),A!==i?(w=[w,U,A],b=w):(m=b,b=i)):(m=b,b=i)):(m=b,b=i);else d=i;return d!==i&&(z=l,d=g(d)),l=d,l===i&&(l=m,d=It(),d!==i?l=a.substring(l,m):l=d),l}function fi(){var l,d;return l=m,d=hi(),d!==i&&(z=l,d=p(d)),l=d,l}function vi(){var l,d,b;if(l=Et(),l===i){for(l=m,d=[],b=dn();b!==i;)d.push(b),b=dn();d!==i&&(z=l,d=v(d)),l=d}return l}function bi(){var l,d,b,w,U,A,j,se,Tt;return l=m,a.charCodeAt(m)===123?(d=h,m++):(d=i,I===0&&E(f)),d!==i?(b=O(),b!==i?(w=vi(),w!==i?(U=O(),U!==i?(A=m,a.charCodeAt(m)===44?(j=y,m++):(j=i,I===0&&E(S)),j!==i?(se=O(),se!==i?(Tt=yi(),Tt!==i?(j=[j,se,Tt],A=j):(m=A,A=i)):(m=A,A=i)):(m=A,A=i),A===i&&(A=null),A!==i?(j=O(),j!==i?(a.charCodeAt(m)===125?(se=C,m++):(se=i,I===0&&E(_)),se!==i?(z=l,d=P(w,A),l=d):(m=l,l=i)):(m=l,l=i)):(m=l,l=i)):(m=l,l=i)):(m=l,l=i)):(m=l,l=i)):(m=l,l=i),l}function yi(){var l;return l=_i(),l===i&&(l=Ci(),l===i&&(l=wi(),l===i&&(l=ki()))),l}function _i(){var l,d,b,w,U,A,j;return l=m,a.substr(m,6)===x?(d=x,m+=6):(d=i,I===0&&E(T)),d===i&&(a.substr(m,4)===D?(d=D,m+=4):(d=i,I===0&&E(B)),d===i&&(a.substr(m,4)===$?(d=$,m+=4):(d=i,I===0&&E(q)))),d!==i?(b=O(),b!==i?(w=m,a.charCodeAt(m)===44?(U=y,m++):(U=i,I===0&&E(S)),U!==i?(A=O(),A!==i?(j=et(),j!==i?(U=[U,A,j],w=U):(m=w,w=i)):(m=w,w=i)):(m=w,w=i),w===i&&(w=null),w!==i?(z=l,d=K(d,w),l=d):(m=l,l=i)):(m=l,l=i)):(m=l,l=i),l}function Ci(){var l,d,b,w,U,A;return l=m,a.substr(m,6)===F?(d=F,m+=6):(d=i,I===0&&E(G)),d!==i?(b=O(),b!==i?(a.charCodeAt(m)===44?(w=y,m++):(w=i,I===0&&E(S)),w!==i?(U=O(),U!==i?(A=un(),A!==i?(z=l,d=Z(A),l=d):(m=l,l=i)):(m=l,l=i)):(m=l,l=i)):(m=l,l=i)):(m=l,l=i),l}function wi(){var l,d,b,w,U,A;return l=m,a.substr(m,13)===Y?(d=Y,m+=13):(d=i,I===0&&E(Pt)),d!==i?(b=O(),b!==i?(a.charCodeAt(m)===44?(w=y,m++):(w=i,I===0&&E(S)),w!==i?(U=O(),U!==i?(A=un(),A!==i?(z=l,d=N(A),l=d):(m=l,l=i)):(m=l,l=i)):(m=l,l=i)):(m=l,l=i)):(m=l,l=i),l}function ki(){var l,d,b,w,U,A,j;if(l=m,a.substr(m,6)===H?(d=H,m+=6):(d=i,I===0&&E(X)),d!==i)if(b=O(),b!==i)if(a.charCodeAt(m)===44?(w=y,m++):(w=i,I===0&&E(S)),w!==i)if(U=O(),U!==i){if(A=[],j=Ye(),j!==i)for(;j!==i;)A.push(j),j=Ye();else A=i;A!==i?(z=l,d=ee(A),l=d):(m=l,l=i)}else m=l,l=i;else m=l,l=i;else m=l,l=i;else m=l,l=i;return l}function Si(){var l,d,b,w;return l=m,d=m,a.charCodeAt(m)===61?(b=Q,m++):(b=i,I===0&&E(ge)),b!==i?(w=Et(),w!==i?(b=[b,w],d=b):(m=d,d=i)):(m=d,d=i),d!==i?l=a.substring(l,m):l=d,l===i&&(l=et()),l}function Ye(){var l,d,b,w,U,A,j;return l=m,d=O(),d!==i?(b=Si(),b!==i?(w=O(),w!==i?(a.charCodeAt(m)===123?(U=h,m++):(U=i,I===0&&E(f)),U!==i?(A=ln(),A!==i?(a.charCodeAt(m)===125?(j=C,m++):(j=i,I===0&&E(_)),j!==i?(z=l,d=we(b,A),l=d):(m=l,l=i)):(m=l,l=i)):(m=l,l=i)):(m=l,l=i)):(m=l,l=i)):(m=l,l=i),l}function Ai(){var l,d,b,w;return l=m,a.substr(m,7)===pe?(d=pe,m+=7):(d=i,I===0&&E(ae)),d!==i?(b=O(),b!==i?(w=Et(),w!==i?(z=l,d=oe(w),l=d):(m=l,l=i)):(m=l,l=i)):(m=l,l=i),l}function un(){var l,d,b,w,U;if(l=m,d=Ai(),d===i&&(d=null),d!==i)if(b=O(),b!==i){if(w=[],U=Ye(),U!==i)for(;U!==i;)w.push(U),U=Ye();else w=i;w!==i?(z=l,d=he(d,w),l=d):(m=l,l=i)}else m=l,l=i;else m=l,l=i;return l}function It(){var l,d;if(I++,l=[],Ne.test(a.charAt(m))?(d=a.charAt(m),m++):(d=i,I===0&&E(ze)),d!==i)for(;d!==i;)l.push(d),Ne.test(a.charAt(m))?(d=a.charAt(m),m++):(d=i,I===0&&E(ze));else l=i;return I--,l===i&&(d=i,I===0&&E(Ge)),l}function O(){var l,d,b;for(I++,l=m,d=[],b=It();b!==i;)d.push(b),b=It();return d!==i?l=a.substring(l,m):l=d,I--,l===i&&(d=i,I===0&&E(xt)),l}function cn(){var l;return Ve.test(a.charAt(m))?(l=a.charAt(m),m++):(l=i,I===0&&E(We)),l}function Qe(){var l;return Je.test(a.charAt(m))?(l=a.charAt(m),m++):(l=i,I===0&&E(ke)),l}function Et(){var l,d,b,w,U,A;if(l=m,a.charCodeAt(m)===48?(d=Se,m++):(d=i,I===0&&E(qa)),d===i){if(d=m,b=m,Ka.test(a.charAt(m))?(w=a.charAt(m),m++):(w=i,I===0&&E(Za)),w!==i){for(U=[],A=cn();A!==i;)U.push(A),A=cn();U!==i?(w=[w,U],b=w):(m=b,b=i)}else m=b,b=i;b!==i?d=a.substring(d,m):d=b}return d!==i&&(z=l,d=Xa(d)),l=d,l}function dn(){var l,d,b;return l=m,d=m,I++,a.charCodeAt(m)===39?(b=qe,m++):(b=i,I===0&&E(Ke)),b===i&&(Zt.test(a.charAt(m))?(b=a.charAt(m),m++):(b=i,I===0&&E(Xt))),I--,b===i?d=void 0:(m=d,d=i),d!==i?(a.length>m?(b=a.charAt(m),m++):(b=i,I===0&&E(Ya)),b!==i?(z=l,d=Qa(b),l=d):(m=l,l=i)):(m=l,l=i),l===i&&(l=m,a.charCodeAt(m)===39?(d=qe,m++):(d=i,I===0&&E(Ke)),d!==i?(b=Pi(),b!==i?(z=l,d=Yt(b),l=d):(m=l,l=i)):(m=l,l=i)),l}function mn(){var l;return a.charCodeAt(m)===39?(l=qe,m++):(l=i,I===0&&E(Ke)),l}function Pi(){var l;return Zt.test(a.charAt(m))?(l=a.charAt(m),m++):(l=i,I===0&&E(Xt)),l===i&&(l=mn()),l}function gn(){var l,d,b,w,U,A,j,se;return l=m,a.charCodeAt(m)===39?(d=qe,m++):(d=i,I===0&&E(Ke)),d!==i?(b=mn(),b!==i?(z=l,d=Yt(b),l=d):(m=l,l=i)):(m=l,l=i),l===i&&(ei.test(a.charAt(m))?(l=a.charAt(m),m++):(l=i,I===0&&E(ti)),l===i&&(l=m,a.substr(m,2)===Qt?(d=Qt,m+=2):(d=i,I===0&&E(ni)),d!==i&&(z=l,d=ai()),l=d,l===i&&(l=m,a.substr(m,2)===en?(d=en,m+=2):(d=i,I===0&&E(ii)),d!==i&&(z=l,d=oi()),l=d,l===i&&(l=m,a.substr(m,2)===tn?(d=tn,m+=2):(d=i,I===0&&E(ri)),d!==i&&(z=l,d=si()),l=d,l===i&&(l=m,a.substr(m,2)===nn?(d=nn,m+=2):(d=i,I===0&&E(li)),d!==i&&(z=l,d=pi()),l=d,l===i&&(l=m,a.substr(m,2)===an?(d=an,m+=2):(d=i,I===0&&E(ui)),d!==i?(b=m,w=m,U=Qe(),U!==i?(A=Qe(),A!==i?(j=Qe(),j!==i?(se=Qe(),se!==i?(U=[U,A,j,se],w=U):(m=w,w=i)):(m=w,w=i)):(m=w,w=i)):(m=w,w=i),w!==i?b=a.substring(b,m):b=w,b!==i?(z=l,d=ci(b),l=d):(m=l,l=i)):(m=l,l=i))))))),l}function et(){var l,d,b;if(l=m,d=[],b=gn(),b!==i)for(;b!==i;)d.push(b),b=gn();else d=i;return d!==i&&(z=l,d=v(d)),l=d,l}if(Xe=s(),Xe!==i&&m===a.length)return Xe;throw Xe!==i&&m<a.length&&E(mi()),rn(Ut,re<a.length?a.charAt(re):null,re<a.length?De(re,re+1):De(re,re))}return{SyntaxError:e,parse:t}}();var ia=function(){var n=function(e,t){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,o){a.__proto__=o}||function(a,o){for(var i in o)o.hasOwnProperty(i)&&(a[i]=o[i])},n(e,t)};return function(e,t){n(e,t);function a(){this.constructor=e}e.prototype=t===null?Object.create(t):(a.prototype=t.prototype,new a)}}(),Wi=function(){function n(e,t,a){this.locales=[],this.formats={number:{},date:{},time:{}},this.pluralNumberFormat=null,this.currentPlural=null,this.pluralStack=[],this.locales=e,this.formats=t,this.formatters=a}return n.prototype.compile=function(e){return this.pluralStack=[],this.currentPlural=null,this.pluralNumberFormat=null,this.compileMessage(e)},n.prototype.compileMessage=function(e){var t=this;if(!(e&&e.type==="messageFormatPattern"))throw new Error('Message AST is not of type: "messageFormatPattern"');var a=e.elements,o=a.filter(function(i){return i.type==="messageTextElement"||i.type==="argumentElement"}).map(function(i){return i.type==="messageTextElement"?t.compileMessageText(i):t.compileArgument(i)});if(o.length!==a.length)throw new Error("Message element does not have a valid type");return o},n.prototype.compileMessageText=function(e){return this.currentPlural&&/(^|[^\\])#/g.test(e.value)?(this.pluralNumberFormat||(this.pluralNumberFormat=new Intl.NumberFormat(this.locales)),new Ki(this.currentPlural.id,this.currentPlural.format.offset,this.pluralNumberFormat,e.value)):e.value.replace(/\\#/g,"#")},n.prototype.compileArgument=function(e){var t=e.format,a=e.id,o=this.formatters;if(!t)return new Ji(a);var i=this,r=i.formats,s=i.locales;switch(t.type){case"numberFormat":return{id:a,format:o.getNumberFormat(s,r.number[t.style]).format};case"dateFormat":return{id:a,format:o.getDateTimeFormat(s,r.date[t.style]).format};case"timeFormat":return{id:a,format:o.getDateTimeFormat(s,r.time[t.style]).format};case"pluralFormat":return new qi(a,t.offset,this.compileOptions(e),o.getPluralRules(s,{type:t.ordinal?"ordinal":"cardinal"}));case"selectFormat":return new Zi(a,this.compileOptions(e));default:throw new Error("Message element does not have a valid format type")}},n.prototype.compileOptions=function(e){var t=this,a=e.format,o=a.options;this.pluralStack.push(this.currentPlural),this.currentPlural=a.type==="pluralFormat"?e:null;var i=o.reduce(function(r,s){return r[s.selector]=t.compileMessage(s.value),r},{});return this.currentPlural=this.pluralStack.pop(),i},n}(),oa=Wi,ra=function(){function n(e){this.id=e}return n}(),Ji=function(n){ia(e,n);function e(){return n!==null&&n.apply(this,arguments)||this}return e.prototype.format=function(t){return!t&&typeof t!="number"?"":typeof t=="string"?t:String(t)},e}(ra),qi=function(){function n(e,t,a,o){this.id=e,this.offset=t,this.options=a,this.pluralRules=o}return n.prototype.getOption=function(e){var t=this.options,a=t["="+e]||t[this.pluralRules.select(e-this.offset)];return a||t.other},n}(),Ki=function(n){ia(e,n);function e(t,a,o,i){var r=n.call(this,t)||this;return r.offset=a,r.numberFormat=o,r.string=i,r}return e.prototype.format=function(t){var a=this.numberFormat.format(t-this.offset);return this.string.replace(/(^|[^\\])#/g,"$1"+a).replace(/\\#/g,"#")},e}(ra);var Zi=function(){function n(e,t){this.id=e,this.options=t}return n.prototype.getOption=function(e){var t=this.options;return t[e]||t.other},n}();function sa(n){return!!n.options}var Xi=function(){var n=function(e,t){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,o){a.__proto__=o}||function(a,o){for(var i in o)o.hasOwnProperty(i)&&(a[i]=o[i])},n(e,t)};return function(e,t){n(e,t);function a(){this.constructor=e}e.prototype=t===null?Object.create(t):(a.prototype=t.prototype,new a)}}(),Oe=function(){return Oe=Object.assign||function(n){for(var e,t=1,a=arguments.length;t<a;t++){e=arguments[t];for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&(n[o]=e[o])}return n},Oe.apply(this,arguments)};function Yi(n){typeof n=="string"&&(n=[n]);try{return Intl.NumberFormat.supportedLocalesOf(n,{localeMatcher:"best fit"})[0]}catch{return pa.defaultLocale}}function la(n,e){for(var t="",a=0,o=n;a<o.length;a++){var i=o[a];if(typeof i=="string"){t+=i;continue}var r=i.id;if(!(e&&r in e))throw new to("A value must be provided for: "+r,r);var s=e[r];sa(i)?t+=la(i.getOption(s),e):t+=i.format(s)}return t}function Qi(n,e){return e?Oe({},n||{},e||{},Object.keys(n).reduce(function(t,a){return t[a]=Oe({},n[a],e[a]||{}),t},{})):n}function eo(n,e){return e?Object.keys(n).reduce(function(t,a){return t[a]=Qi(n[a],e[a]),t},Oe({},n)):n}var to=function(n){Xi(e,n);function e(t,a){var o=n.call(this,t)||this;return o.variableId=a,o}return e}(Error);function no(){return{getNumberFormat:function(){for(var n,e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return new((n=Intl.NumberFormat).bind.apply(n,[void 0].concat(e)))},getDateTimeFormat:function(){for(var n,e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return new((n=Intl.DateTimeFormat).bind.apply(n,[void 0].concat(e)))},getPluralRules:function(){for(var n,e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return new((n=Intl.PluralRules).bind.apply(n,[void 0].concat(e)))}}}var pa=function(){function n(e,t,a,o){var i=this;if(t===void 0&&(t=n.defaultLocale),this.format=function(c){try{return la(i.pattern,c)}catch(g){throw g.variableId?new Error("The intl string context variable '"+g.variableId+"' was not provided to the string '"+i.message+"'"):g}},typeof e=="string"){if(!n.__parse)throw new TypeError("IntlMessageFormat.__parse must be set to process `message` of type `string`");this.ast=n.__parse(e)}else this.ast=e;if(this.message=e,!(this.ast&&this.ast.type==="messageFormatPattern"))throw new TypeError("A message must be provided as a String or AST.");var r=eo(n.formats,a);this.locale=Yi(t||[]);var s=o&&o.formatters||no();this.pattern=new oa(t,r,s).compile(this.ast)}return n.prototype.resolvedOptions=function(){return{locale:this.locale}},n.prototype.getAst=function(){return this.ast},n.defaultLocale="en",n.__parse=void 0,n.formats={number:{currency:{style:"currency"},percent:{style:"percent"}},date:{short:{month:"numeric",day:"numeric",year:"2-digit"},medium:{month:"short",day:"numeric",year:"numeric"},long:{month:"long",day:"numeric",year:"numeric"},full:{weekday:"long",month:"long",day:"numeric",year:"numeric"}},time:{short:{hour:"numeric",minute:"numeric"},medium:{hour:"numeric",minute:"numeric",second:"numeric"},long:{hour:"numeric",minute:"numeric",second:"numeric",timeZoneName:"short"},full:{hour:"numeric",minute:"numeric",second:"numeric",timeZoneName:"short"}}},n}();var Ot=pa;Ot.__parse=aa.parse;var ua=Ot;var ls=["ar-XB.json","ar.json","bg.json","ca.json","cs.json","da.json","de.json","el.json","en-GB.json","en-US.json","en-XA.json","en-XL.json","es-419.json","es.json","fi.json","fil.json","fr.json","he.json","hi.json","hr.json","hu.json","id.json","it.json","ja.json","ko.json","lt.json","lv.json","nl.json","no.json","pl.json","pt-PT.json","pt.json","ro.json","ru.json","sk.json","sl.json","sr-Latn.json","sr.json","sv.json","ta.json","te.json","th.json","tr.json","uk.json","vi.json","zh-HK.json","zh-TW.json","zh.json"].filter(n=>n.endsWith(".json")&&!n.endsWith(".ctc.json")).map(n=>n.replace(".json","")).sort();var ao={number:{bytes:{maximumFractionDigits:0},milliseconds:{maximumFractionDigits:0},seconds:{minimumFractionDigits:1,maximumFractionDigits:1},extendedPercent:{maximumFractionDigits:2,style:"percent"}}};function ca(n,e=new Map){for(let t of n)if(t.type==="argumentElement"&&(e.set(t.id,t),!(!t.format||t.format.type!=="pluralFormat")))for(let a of t.format.options)ca(a.value.elements,e);return e}function io(n,e={},t){let o=[...ca(n.getAst().elements).values()],i={};for(let{id:r,format:s}of o){if(r&&!(r in e))throw new Error(`ICU Message "${t}" contains a value reference ("${r}") that wasn't provided`);let c=e[r];if(!s||s.type!=="numberFormat"){i[r]=c;continue}if(typeof c!="number")throw new Error(`ICU Message "${t}" contains a numeric reference ("${r}") but provided value was not a number`);s.style==="milliseconds"?i[r]=Math.round(c/10)*10:s.style==="seconds"&&r==="timeInMs"?i[r]=Math.round(c/100)/10:s.style==="bytes"?i[r]=c/1024:i[r]=c}for(let r of Object.keys(e))if(!(r in i)){if(r==="errorCode"){i.errorCode=e.errorCode;continue}throw new Error(`Provided value "${r}" does not match any placeholder in ICU message "${t}"`)}return i}function da(n,e,t){if(!n.includes("{")&&e===void 0)return n;let a=t==="en-XA"||t==="en-XL"?"de-DE":t,o=new ua(n,a,ao),i=io(o,e,n);return o.format(i)}var Bt=" ";var Ae=class{constructor(e){e==="en-XA"&&(e="de"),this._locale=e,this._cachedNumberFormatters=new Map}_formatNumberWithGranularity(e,t,a={}){if(t!==void 0){let r=-Math.log10(t);Number.isInteger(r)||(console.warn(`granularity of ${t} is invalid. Using 1 instead`),t=1),t<1&&(a={...a},a.minimumFractionDigits=a.maximumFractionDigits=Math.ceil(r)),e=Math.round(e/t)*t,Object.is(e,-0)&&(e=0)}else Math.abs(e)<5e-4&&(e=0);let o,i=[a.minimumFractionDigits,a.maximumFractionDigits,a.style,a.unit,a.unitDisplay,this._locale].join("");return o=this._cachedNumberFormatters.get(i),o||(o=new Intl.NumberFormat(this._locale,a),this._cachedNumberFormatters.set(i,o)),o.format(e).replace(" ",Bt)}formatNumber(e,t){return this._formatNumberWithGranularity(e,t)}formatInteger(e){return this._formatNumberWithGranularity(e,1)}formatPercent(e){return new Intl.NumberFormat(this._locale,{style:"percent"}).format(e)}formatBytesToKiB(e,t=void 0){return this._formatNumberWithGranularity(e/1024,t)+`${Bt}KiB`}formatBytesToMiB(e,t=void 0){return this._formatNumberWithGranularity(e/1048576,t)+`${Bt}MiB`}formatBytes(e,t=1){return this._formatNumberWithGranularity(e,t,{style:"unit",unit:"byte",unitDisplay:"long"})}formatBytesWithBestUnit(e,t=.1){return e>=1048576?this.formatBytesToMiB(e,t):e>=1024?this.formatBytesToKiB(e,t):this._formatNumberWithGranularity(e,t,{style:"unit",unit:"byte",unitDisplay:"narrow"})}formatKbps(e,t=void 0){return this._formatNumberWithGranularity(e,t,{style:"unit",unit:"kilobit-per-second",unitDisplay:"short"})}formatMilliseconds(e,t=void 0){return this._formatNumberWithGranularity(e,t,{style:"unit",unit:"millisecond",unitDisplay:"short"})}formatSeconds(e,t=void 0){return this._formatNumberWithGranularity(e/1e3,t,{style:"unit",unit:"second",unitDisplay:"narrow"})}formatDateTime(e){let t={month:"short",day:"numeric",year:"numeric",hour:"numeric",minute:"numeric",timeZoneName:"short"},a;try{a=new Intl.DateTimeFormat(this._locale,t)}catch{t.timeZone="UTC",a=new Intl.DateTimeFormat(this._locale,t)}return a.format(new Date(e))}formatDuration(e){let t=e/1e3;if(Math.round(t)===0)return"None";let a=[],o={day:60*60*24,hour:60*60,minute:60,second:1};return Object.keys(o).forEach(i=>{let r=o[i],s=Math.floor(t/r);if(s>0){t-=s*r;let c=this._formatNumberWithGranularity(s,1,{style:"unit",unit:i,unitDisplay:"narrow"});a.push(c)}}),a.join(" ")}};var $t={navigationDescription:"Page load",timespanDescription:"User interactions",snapshotDescription:"Captured state of page",navigationLongDescription:"Navigation reports analyze a single page load, exactly like the original Lighthouse reports.",timespanLongDescription:"Timespan reports analyze an arbitrary period of time, typically containing user interactions.",snapshotLongDescription:"Snapshot reports analyze the page in a particular state, typically after user interactions.",navigationReport:"Navigation report",timespanReport:"Timespan report",snapshotReport:"Snapshot report",summary:"Summary",allReports:"All Reports",title:"Lighthouse User Flow Report",categories:"Categories",categoryPerformance:"Performance",categoryAccessibility:"Accessibility",categoryBestPractices:"Best Practices",categorySeo:"SEO",categoryProgressiveWebApp:"Progressive Web App",desktop:"Desktop",mobile:"Mobile",ratingPass:"Good",ratingAverage:"Average",ratingFail:"Poor",ratingError:"Error",navigationReportCount:`{numNavigation, plural,
|
|
5
5
|
=1 {{numNavigation} navigation report}
|
|
6
6
|
other {{numNavigation} navigation reports}
|
|
7
7
|
}`,timespanReportCount:`{numTimespan, plural,
|
|
@@ -186,7 +186,7 @@
|
|
|
186
186
|
.lh-gauge--pwa__wrapper.lh-badged--all .lh-gauge--pwa__check-circle {
|
|
187
187
|
display: inline;
|
|
188
188
|
}
|
|
189
|
-
`),e.append(t);let a=n.createElement("a","lh-gauge__wrapper lh-gauge--pwa__wrapper"),o=n.createElementNS("http://www.w3.org/2000/svg","svg","lh-gauge lh-gauge--pwa");o.setAttribute("viewBox","0 0 60 60");let i=n.createElementNS("http://www.w3.org/2000/svg","defs"),r=n.createElementNS("http://www.w3.org/2000/svg","linearGradient");r.setAttribute("id","lh-gauge--pwa__check-circle__gradient"),r.setAttribute("x1","50%"),r.setAttribute("y1","0%"),r.setAttribute("x2","50%"),r.setAttribute("y2","100%");let s=n.createElementNS("http://www.w3.org/2000/svg","stop");s.setAttribute("stop-color","#00C852"),s.setAttribute("offset","0%");let c=n.createElementNS("http://www.w3.org/2000/svg","stop");c.setAttribute("stop-color","#009688"),c.setAttribute("offset","100%"),r.append(" ",s," ",c," ");let g=n.createElementNS("http://www.w3.org/2000/svg","linearGradient");g.setAttribute("id","lh-gauge--pwa__installable__shadow-gradient"),g.setAttribute("x1","76.056%"),g.setAttribute("x2","24.111%"),g.setAttribute("y1","82.995%"),g.setAttribute("y2","24.735%");let p=n.createElementNS("http://www.w3.org/2000/svg","stop");p.setAttribute("stop-color","#A5D6A7"),p.setAttribute("offset","0%");let v=n.createElementNS("http://www.w3.org/2000/svg","stop");v.setAttribute("stop-color","#80CBC4"),v.setAttribute("offset","100%"),g.append(" ",p," ",v," ");let h=n.createElementNS("http://www.w3.org/2000/svg","g");h.setAttribute("id","lh-gauge--pwa__installable-badge");let f=n.createElementNS("http://www.w3.org/2000/svg","circle");f.setAttribute("fill","#FFFFFF"),f.setAttribute("cx","10"),f.setAttribute("cy","10"),f.setAttribute("r","10");let y=n.createElementNS("http://www.w3.org/2000/svg","path");y.setAttribute("fill","#009688"),y.setAttribute("d","M10 4.167A5.835 5.835 0 0 0 4.167 10 5.835 5.835 0 0 0 10 15.833 5.835 5.835 0 0 0 15.833 10 5.835 5.835 0 0 0 10 4.167zm2.917 6.416h-2.334v2.334H9.417v-2.334H7.083V9.417h2.334V7.083h1.166v2.334h2.334v1.166z"),h.append(" ",f," ",y," "),i.append(" ",r," ",g," ",h," ");let S=n.createElementNS("http://www.w3.org/2000/svg","g");S.setAttribute("stroke","none"),S.setAttribute("fill-rule","nonzero");let C=n.createElementNS("http://www.w3.org/2000/svg","circle","lh-gauge--pwa__disc");C.setAttribute("cx","30"),C.setAttribute("cy","30"),C.setAttribute("r","30");let _=n.createElementNS("http://www.w3.org/2000/svg","g","lh-gauge--pwa__logo"),
|
|
189
|
+
`),e.append(t);let a=n.createElement("a","lh-gauge__wrapper lh-gauge--pwa__wrapper"),o=n.createElementNS("http://www.w3.org/2000/svg","svg","lh-gauge lh-gauge--pwa");o.setAttribute("viewBox","0 0 60 60");let i=n.createElementNS("http://www.w3.org/2000/svg","defs"),r=n.createElementNS("http://www.w3.org/2000/svg","linearGradient");r.setAttribute("id","lh-gauge--pwa__check-circle__gradient"),r.setAttribute("x1","50%"),r.setAttribute("y1","0%"),r.setAttribute("x2","50%"),r.setAttribute("y2","100%");let s=n.createElementNS("http://www.w3.org/2000/svg","stop");s.setAttribute("stop-color","#00C852"),s.setAttribute("offset","0%");let c=n.createElementNS("http://www.w3.org/2000/svg","stop");c.setAttribute("stop-color","#009688"),c.setAttribute("offset","100%"),r.append(" ",s," ",c," ");let g=n.createElementNS("http://www.w3.org/2000/svg","linearGradient");g.setAttribute("id","lh-gauge--pwa__installable__shadow-gradient"),g.setAttribute("x1","76.056%"),g.setAttribute("x2","24.111%"),g.setAttribute("y1","82.995%"),g.setAttribute("y2","24.735%");let p=n.createElementNS("http://www.w3.org/2000/svg","stop");p.setAttribute("stop-color","#A5D6A7"),p.setAttribute("offset","0%");let v=n.createElementNS("http://www.w3.org/2000/svg","stop");v.setAttribute("stop-color","#80CBC4"),v.setAttribute("offset","100%"),g.append(" ",p," ",v," ");let h=n.createElementNS("http://www.w3.org/2000/svg","g");h.setAttribute("id","lh-gauge--pwa__installable-badge");let f=n.createElementNS("http://www.w3.org/2000/svg","circle");f.setAttribute("fill","#FFFFFF"),f.setAttribute("cx","10"),f.setAttribute("cy","10"),f.setAttribute("r","10");let y=n.createElementNS("http://www.w3.org/2000/svg","path");y.setAttribute("fill","#009688"),y.setAttribute("d","M10 4.167A5.835 5.835 0 0 0 4.167 10 5.835 5.835 0 0 0 10 15.833 5.835 5.835 0 0 0 15.833 10 5.835 5.835 0 0 0 10 4.167zm2.917 6.416h-2.334v2.334H9.417v-2.334H7.083V9.417h2.334V7.083h1.166v2.334h2.334v1.166z"),h.append(" ",f," ",y," "),i.append(" ",r," ",g," ",h," ");let S=n.createElementNS("http://www.w3.org/2000/svg","g");S.setAttribute("stroke","none"),S.setAttribute("fill-rule","nonzero");let C=n.createElementNS("http://www.w3.org/2000/svg","circle","lh-gauge--pwa__disc");C.setAttribute("cx","30"),C.setAttribute("cy","30"),C.setAttribute("r","30");let _=n.createElementNS("http://www.w3.org/2000/svg","g","lh-gauge--pwa__logo"),P=n.createElementNS("http://www.w3.org/2000/svg","path","lh-gauge--pwa__logo--secondary-color");P.setAttribute("d","M35.66 19.39l.7-1.75h2L37.4 15 38.6 12l3.4 9h-2.51l-.58-1.61z");let x=n.createElementNS("http://www.w3.org/2000/svg","path","lh-gauge--pwa__logo--primary-color");x.setAttribute("d","M33.52 21l3.65-9h-2.42l-2.5 5.82L30.5 12h-1.86l-1.9 5.82-1.35-2.65-1.21 3.72L25.4 21h2.38l1.72-5.2 1.64 5.2z");let T=n.createElementNS("http://www.w3.org/2000/svg","path","lh-gauge--pwa__logo--secondary-color");T.setAttribute("fill-rule","nonzero"),T.setAttribute("d","M20.3 17.91h1.48c.45 0 .85-.05 1.2-.15l.39-1.18 1.07-3.3a2.64 2.64 0 0 0-.28-.37c-.55-.6-1.36-.91-2.42-.91H18v9h2.3V17.9zm1.96-3.84c.22.22.33.5.33.87 0 .36-.1.65-.29.87-.2.23-.59.35-1.15.35h-.86v-2.41h.87c.52 0 .89.1 1.1.32z"),_.append(" ",P," ",x," ",T," ");let D=n.createElementNS("http://www.w3.org/2000/svg","rect","lh-gauge--pwa__component lh-gauge--pwa__na-line");D.setAttribute("fill","#FFFFFF"),D.setAttribute("x","20"),D.setAttribute("y","32"),D.setAttribute("width","20"),D.setAttribute("height","4"),D.setAttribute("rx","2");let B=n.createElementNS("http://www.w3.org/2000/svg","g","lh-gauge--pwa__component lh-gauge--pwa__installable-badge");B.setAttribute("transform","translate(20, 29)");let $=n.createElementNS("http://www.w3.org/2000/svg","path");$.setAttribute("fill","url(#lh-gauge--pwa__installable__shadow-gradient)"),$.setAttribute("d","M33.629 19.487c-4.272 5.453-10.391 9.39-17.415 10.869L3 17.142 17.142 3 33.63 19.487z");let q=n.createElementNS("http://www.w3.org/2000/svg","use");q.setAttribute("href","#lh-gauge--pwa__installable-badge"),B.append(" ",$," ",q," ");let K=n.createElementNS("http://www.w3.org/2000/svg","g","lh-gauge--pwa__component lh-gauge--pwa__check-circle");K.setAttribute("transform","translate(18, 28)");let F=n.createElementNS("http://www.w3.org/2000/svg","circle");F.setAttribute("fill","#FFFFFF"),F.setAttribute("cx","12"),F.setAttribute("cy","12"),F.setAttribute("r","12");let G=n.createElementNS("http://www.w3.org/2000/svg","path");G.setAttribute("fill","url(#lh-gauge--pwa__check-circle__gradient)"),G.setAttribute("d","M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20zm-2 15l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z"),K.append(" ",F," ",G," "),S.append(" "," ",C," ",_," "," ",D," "," ",B," "," ",K," "),o.append(" ",i," ",S," ");let Z=n.createElement("div","lh-gauge__label");return a.append(" ",o," ",Z," "),e.append(a),e}function So(n){let e=n.createFragment(),t=n.createElement("style");t.append(`
|
|
190
190
|
/* CSS Fireworks. Originally by Eddie Lin
|
|
191
191
|
https://codepen.io/paulirish/pen/yEVMbP
|
|
192
192
|
*/
|
|
@@ -2687,8 +2687,8 @@ details[open] .lh-clump-toggletext--hide { display: block;}
|
|
|
2687
2687
|
display: none;
|
|
2688
2688
|
}
|
|
2689
2689
|
}
|
|
2690
|
-
`),e.append(t);let a=n.createElement("div","lh-topbar"),o=n.createElementNS("http://www.w3.org/2000/svg","svg","lh-topbar__logo");o.setAttribute("role","img"),o.setAttribute("title","Lighthouse logo"),o.setAttribute("fill","none"),o.setAttribute("xmlns","http://www.w3.org/2000/svg"),o.setAttribute("viewBox","0 0 48 48");let i=n.createElementNS("http://www.w3.org/2000/svg","path");i.setAttribute("d","m14 7 10-7 10 7v10h5v7h-5l5 24H9l5-24H9v-7h5V7Z"),i.setAttribute("fill","#F63");let r=n.createElementNS("http://www.w3.org/2000/svg","path");r.setAttribute("d","M31.561 24H14l-1.689 8.105L31.561 24ZM18.983 48H9l1.022-4.907L35.723 32.27l1.663 7.98L18.983 48Z"),r.setAttribute("fill","#FFA385");let s=n.createElementNS("http://www.w3.org/2000/svg","path");s.setAttribute("fill","#FF3"),s.setAttribute("d","M20.5 10h7v7h-7z"),o.append(" ",i," ",r," ",s," ");let c=n.createElement("a","lh-topbar__url");c.setAttribute("href",""),c.setAttribute("target","_blank"),c.setAttribute("rel","noopener");let g=n.createElement("div","lh-tools"),p=n.createElement("div","lh-tools-locale lh-hidden"),v=n.createElement("button","lh-button lh-tool-locale__button");v.setAttribute("id","lh-button__swap-locales"),v.setAttribute("title","Show Language Picker"),v.setAttribute("aria-label","Toggle language picker"),v.setAttribute("aria-haspopup","menu"),v.setAttribute("aria-expanded","false"),v.setAttribute("aria-controls","lh-tools-locale__selector-wrapper");let h=n.createElementNS("http://www.w3.org/2000/svg","svg");h.setAttribute("width","20px"),h.setAttribute("height","20px"),h.setAttribute("viewBox","0 0 24 24"),h.setAttribute("fill","currentColor");let f=n.createElementNS("http://www.w3.org/2000/svg","path");f.setAttribute("d","M0 0h24v24H0V0z"),f.setAttribute("fill","none");let y=n.createElementNS("http://www.w3.org/2000/svg","path");y.setAttribute("d","M12.87 15.07l-2.54-2.51.03-.03c1.74-1.94 2.98-4.17 3.71-6.53H17V4h-7V2H8v2H1v1.99h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11.76-2.04zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2l-4.5-12zm-2.62 7l1.62-4.33L19.12 17h-3.24z"),h.append(f,y),v.append(" ",h," ");let S=n.createElement("div","lh-tools-locale__selector-wrapper");S.setAttribute("id","lh-tools-locale__selector-wrapper"),S.setAttribute("role","menu"),S.setAttribute("aria-labelledby","lh-button__swap-locales"),S.setAttribute("aria-hidden","true"),S.append(" "," "),p.append(" ",v," ",S," ");let C=n.createElement("button","lh-tools__button");C.setAttribute("id","lh-tools-button"),C.setAttribute("title","Tools menu"),C.setAttribute("aria-label","Toggle report tools menu"),C.setAttribute("aria-haspopup","menu"),C.setAttribute("aria-expanded","false"),C.setAttribute("aria-controls","lh-tools-dropdown");let _=n.createElementNS("http://www.w3.org/2000/svg","svg");_.setAttribute("width","100%"),_.setAttribute("height","100%"),_.setAttribute("viewBox","0 0 24 24");let A=n.createElementNS("http://www.w3.org/2000/svg","path");A.setAttribute("d","M0 0h24v24H0z"),A.setAttribute("fill","none");let x=n.createElementNS("http://www.w3.org/2000/svg","path");x.setAttribute("d","M12 8c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2zm0 2c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm0 6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2z"),_.append(" ",A," ",x," "),C.append(" ",_," ");let T=n.createElement("div","lh-tools__dropdown");T.setAttribute("id","lh-tools-dropdown"),T.setAttribute("role","menu"),T.setAttribute("aria-labelledby","lh-tools-button");let D=n.createElement("a","lh-report-icon lh-report-icon--print");D.setAttribute("role","menuitem"),D.setAttribute("tabindex","-1"),D.setAttribute("href","#"),D.setAttribute("data-i18n","dropdownPrintSummary"),D.setAttribute("data-action","print-summary");let B=n.createElement("a","lh-report-icon lh-report-icon--print");B.setAttribute("role","menuitem"),B.setAttribute("tabindex","-1"),B.setAttribute("href","#"),B.setAttribute("data-i18n","dropdownPrintExpanded"),B.setAttribute("data-action","print-expanded");let $=n.createElement("a","lh-report-icon lh-report-icon--copy");$.setAttribute("role","menuitem"),$.setAttribute("tabindex","-1"),$.setAttribute("href","#"),$.setAttribute("data-i18n","dropdownCopyJSON"),$.setAttribute("data-action","copy");let q=n.createElement("a","lh-report-icon lh-report-icon--download lh-hidden");q.setAttribute("role","menuitem"),q.setAttribute("tabindex","-1"),q.setAttribute("href","#"),q.setAttribute("data-i18n","dropdownSaveHTML"),q.setAttribute("data-action","save-html");let K=n.createElement("a","lh-report-icon lh-report-icon--download");K.setAttribute("role","menuitem"),K.setAttribute("tabindex","-1"),K.setAttribute("href","#"),K.setAttribute("data-i18n","dropdownSaveJSON"),K.setAttribute("data-action","save-json");let F=n.createElement("a","lh-report-icon lh-report-icon--open");F.setAttribute("role","menuitem"),F.setAttribute("tabindex","-1"),F.setAttribute("href","#"),F.setAttribute("data-i18n","dropdownViewer"),F.setAttribute("data-action","open-viewer");let G=n.createElement("a","lh-report-icon lh-report-icon--open");G.setAttribute("role","menuitem"),G.setAttribute("tabindex","-1"),G.setAttribute("href","#"),G.setAttribute("data-i18n","dropdownSaveGist"),G.setAttribute("data-action","save-gist");let Z=n.createElement("a","lh-report-icon lh-report-icon--open lh-hidden");Z.setAttribute("role","menuitem"),Z.setAttribute("tabindex","-1"),Z.setAttribute("href","#"),Z.setAttribute("data-i18n","dropdownViewUnthrottledTrace"),Z.setAttribute("data-action","view-unthrottled-trace");let Y=n.createElement("a","lh-report-icon lh-report-icon--dark");return Y.setAttribute("role","menuitem"),Y.setAttribute("tabindex","-1"),Y.setAttribute("href","#"),Y.setAttribute("data-i18n","dropdownDarkTheme"),Y.setAttribute("data-action","toggle-dark"),T.append(" ",D," ",B," ",$," "," ",q," ",K," ",F," ",G," "," ",Z," ",Y," "),g.append(" ",p," ",C," ",T," "),a.append(" "," ",o," ",c," ",g," "),e.append(a),e}function No(n){let e=n.createFragment(),t=n.createElement("div","lh-warnings lh-warnings--toplevel"),a=n.createElement("p","lh-warnings__msg"),o=n.createElement("ul");return t.append(" ",a," ",o," "),e.append(t),e}function ya(n,e){switch(e){case"3pFilter":return uo(n);case"audit":return co(n);case"categoryHeader":return mo(n);case"chevron":return go(n);case"clump":return ho(n);case"crc":return fo(n);case"crcChain":return vo(n);case"elementScreenshot":return bo(n);case"explodeyGauge":return yo(n);case"footer":return _o(n);case"fraction":return Co(n);case"gauge":return wo(n);case"gaugePwa":return ko(n);case"heading":return So(n);case"metric":return Ao(n);case"scorescale":return Po(n);case"scoresWrapper":return xo(n);case"snippet":return Uo(n);case"snippetContent":return Lo(n);case"snippetHeader":return Io(n);case"snippetLine":return Eo(n);case"styles":return To(n);case"topbar":return Ro(n);case"warningsToplevel":return No(n)}throw new Error("unexpected component: "+e)}var _e=class{constructor(e,t){this._document=e,this._lighthouseChannel="unknown",this._componentCache=new Map,this.rootEl=t}createElement(e,t){let a=this._document.createElement(e);if(t)for(let o of t.split(/\s+/))o&&a.classList.add(o);return a}createElementNS(e,t,a){let o=this._document.createElementNS(e,t);if(a)for(let i of a.split(/\s+/))i&&o.classList.add(i);return o}createSVGElement(e,t){return this._document.createElementNS("http://www.w3.org/2000/svg",e,t)}createFragment(){return this._document.createDocumentFragment()}createTextNode(e){return this._document.createTextNode(e)}createChildOf(e,t,a){let o=this.createElement(t,a);return e.append(o),o}createComponent(e){let t=this._componentCache.get(e);if(t){let o=t.cloneNode(!0);return this.findAll("style",o).forEach(i=>i.remove()),o}return t=ya(this,e),this._componentCache.set(e,t),t.cloneNode(!0)}clearComponentCache(){this._componentCache.clear()}convertMarkdownLinkSnippets(e,t={}){let a=this.createElement("span");for(let o of M.splitMarkdownLink(e)){let i=o.text.includes("`")?this.convertMarkdownCodeSnippets(o.text):o.text;if(!o.isLink){a.append(i);continue}let r=new URL(o.linkHref);(["https://developers.google.com","https://web.dev","https://developer.chrome.com"].includes(r.origin)||t.alwaysAppendUtmSource)&&(r.searchParams.set("utm_source","lighthouse"),r.searchParams.set("utm_medium",this._lighthouseChannel));let c=this.createElement("a");c.rel="noopener",c.target="_blank",c.append(i),this.safelySetHref(c,r.href),a.append(c)}return a}safelySetHref(e,t){if(t=t||"",t.startsWith("#")){e.href=t;return}let a=["https:","http:"],o;try{o=new URL(t)}catch{}o&&a.includes(o.protocol)&&(e.href=o.href)}safelySetBlobHref(e,t){if(t.type!=="text/html"&&t.type!=="application/json")throw new Error("Unsupported blob type");let a=URL.createObjectURL(t);e.href=a}convertMarkdownCodeSnippets(e){let t=this.createElement("span");for(let a of M.splitMarkdownCodeSpans(e))if(a.isCode){let o=this.createElement("code");o.textContent=a.text,t.append(o)}else t.append(this._document.createTextNode(a.text));return t}setLighthouseChannel(e){this._lighthouseChannel=e}document(){return this._document}isDevTools(){return!!this._document.querySelector(".lh-devtools")}find(e,t){let a=this.maybeFind(e,t);if(a===null)throw new Error(`query ${e} not found`);return a}maybeFind(e,t){return t.querySelector(e)}findAll(e,t){return Array.from(t.querySelectorAll(e))}fireEventOn(e,t=this._document,a){let o=new CustomEvent(e,a?{detail:a}:void 0);t.dispatchEvent(o)}saveFile(e,t){let a=this.createElement("a");a.download=t,this.safelySetBlobHref(a,e),this._document.body.append(a),a.click(),this._document.body.removeChild(a),setTimeout(()=>URL.revokeObjectURL(a.href),500)}};var le=class{constructor(e,t){this.dom=e,this.detailsRenderer=t}get _clumpTitles(){return{warning:k.strings.warningAuditsGroupTitle,manual:k.strings.manualAuditsGroupTitle,passed:k.strings.passedAuditsGroupTitle,notApplicable:k.strings.notApplicableAuditsGroupTitle}}renderAudit(e){let t=this.dom.createComponent("audit");return this.populateAuditValues(e,t)}populateAuditValues(e,t){let a=k.strings,o=this.dom.find(".lh-audit",t);o.id=e.result.id;let i=e.result.scoreDisplayMode;e.result.displayValue&&(this.dom.find(".lh-audit__display-text",o).textContent=e.result.displayValue);let r=this.dom.find(".lh-audit__title",o);r.append(this.dom.convertMarkdownCodeSnippets(e.result.title));let s=this.dom.find(".lh-audit__description",o);s.append(this.dom.convertMarkdownLinkSnippets(e.result.description));for(let h of e.relevantMetrics||[]){let f=this.dom.createChildOf(s,"span","lh-audit__adorn");f.title=`Relevant to ${h.result.title}`,f.textContent=h.acronym||h.id}e.stackPacks&&e.stackPacks.forEach(h=>{let f=this.dom.createElement("img","lh-audit__stackpack__img");f.src=h.iconDataURL,f.alt=h.title;let y=this.dom.convertMarkdownLinkSnippets(h.description,{alwaysAppendUtmSource:!0}),S=this.dom.createElement("div","lh-audit__stackpack");S.append(f,y),this.dom.find(".lh-audit__stackpacks",o).append(S)});let c=this.dom.find("details",o);if(e.result.details){let h=this.detailsRenderer.render(e.result.details);h&&(h.classList.add("lh-details"),c.append(h))}if(this.dom.find(".lh-chevron-container",o).append(this._createChevron()),this._setRatingClass(o,e.result.score,i),e.result.scoreDisplayMode==="error"){o.classList.add("lh-audit--error");let h=this.dom.find(".lh-audit__display-text",o);h.textContent=a.errorLabel,h.classList.add("lh-tooltip-boundary");let f=this.dom.createChildOf(h,"div","lh-tooltip lh-tooltip--error");f.textContent=e.result.errorMessage||a.errorMissingAuditInfo}else if(e.result.explanation){let h=this.dom.createChildOf(r,"div","lh-audit-explanation");h.textContent=e.result.explanation}let g=e.result.warnings;if(!g||g.length===0)return o;let p=this.dom.find("summary",c),v=this.dom.createChildOf(p,"div","lh-warnings");if(this.dom.createChildOf(v,"span").textContent=a.warningHeader,g.length===1)v.append(this.dom.createTextNode(g.join("")));else{let h=this.dom.createChildOf(v,"ul");for(let f of g){let y=this.dom.createChildOf(h,"li");y.textContent=f}}return o}injectFinalScreenshot(e,t,a){let o=t["final-screenshot"];if(!o||o.scoreDisplayMode==="error"||!o.details||o.details.type!=="screenshot")return null;let i=this.dom.createElement("img","lh-final-ss-image"),r=o.details.data;i.src=r,i.alt=o.title;let s=this.dom.find(".lh-category .lh-category-header",e),c=this.dom.createElement("div","lh-category-headercol"),g=this.dom.createElement("div","lh-category-headercol lh-category-headercol--separator"),p=this.dom.createElement("div","lh-category-headercol");c.append(...s.childNodes),c.append(a),p.append(i),s.append(c,g,p),s.classList.add("lh-category-header__finalscreenshot")}_createChevron(){let e=this.dom.createComponent("chevron");return this.dom.find("svg.lh-chevron",e)}_setRatingClass(e,t,a){let o=R.calculateRating(t,a);return e.classList.add(`lh-audit--${a.toLowerCase()}`),a!=="informative"&&e.classList.add(`lh-audit--${o}`),e}renderCategoryHeader(e,t,a){let o=this.dom.createComponent("categoryHeader"),i=this.dom.find(".lh-score__gauge",o),r=this.renderCategoryScore(e,t,a);if(i.append(r),e.description){let s=this.dom.convertMarkdownLinkSnippets(e.description);this.dom.find(".lh-category-header__description",o).append(s)}return o}renderAuditGroup(e){let t=this.dom.createElement("div","lh-audit-group"),a=this.dom.createElement("div","lh-audit-group__header");this.dom.createChildOf(a,"span","lh-audit-group__title").textContent=e.title,t.append(a);let o=null;return e.description&&(o=this.dom.convertMarkdownLinkSnippets(e.description),o.classList.add("lh-audit-group__description","lh-audit-group__footer"),t.append(o)),[t,o]}_renderGroupedAudits(e,t){let a=new Map,o="NotAGroup";a.set(o,[]);for(let r of e){let s=r.group||o;if(s==="hidden")continue;let c=a.get(s)||[];c.push(r),a.set(s,c)}let i=[];for(let[r,s]of a){if(r===o){for(let v of s)i.push(this.renderAudit(v));continue}let c=t[r],[g,p]=this.renderAuditGroup(c);for(let v of s)g.insertBefore(this.renderAudit(v),p);g.classList.add(`lh-audit-group--${r}`),i.push(g)}return i}renderUnexpandableClump(e,t){let a=this.dom.createElement("div");return this._renderGroupedAudits(e,t).forEach(i=>a.append(i)),a}renderClump(e,{auditRefs:t,description:a,openByDefault:o}){let i=this.dom.createComponent("clump"),r=this.dom.find(".lh-clump",i);o&&r.setAttribute("open","");let s=this.dom.find(".lh-audit-group__header",r),c=this._clumpTitles[e];this.dom.find(".lh-audit-group__title",s).textContent=c;let g=this.dom.find(".lh-audit-group__itemcount",r);g.textContent=`(${t.length})`;let p=t.map(this.renderAudit.bind(this));r.append(...p);let v=this.dom.find(".lh-audit-group",i);if(a){let h=this.dom.convertMarkdownLinkSnippets(a);h.classList.add("lh-audit-group__description","lh-audit-group__footer"),v.append(h)}return this.dom.find(".lh-clump-toggletext--show",v).textContent=k.strings.show,this.dom.find(".lh-clump-toggletext--hide",v).textContent=k.strings.hide,r.classList.add(`lh-clump--${e.toLowerCase()}`),v}renderCategoryScore(e,t,a){let o;if(a&&R.shouldDisplayAsFraction(a.gatherMode)?o=this.renderCategoryFraction(e):o=this.renderScoreGauge(e,t),a?.omitLabel&&this.dom.find(".lh-gauge__label,.lh-fraction__label",o).remove(),a?.onPageAnchorRendered){let i=this.dom.find("a",o);a.onPageAnchorRendered(i)}return o}renderScoreGauge(e,t){let a=this.dom.createComponent("gauge"),o=this.dom.find("a.lh-gauge__wrapper",a);R.isPluginCategory(e.id)&&o.classList.add("lh-gauge__wrapper--plugin");let i=Number(e.score),r=this.dom.find(".lh-gauge",a),s=this.dom.find("circle.lh-gauge-arc",r);s&&this._setGaugeArc(s,i);let c=Math.round(i*100),g=this.dom.find("div.lh-gauge__percentage",a);return g.textContent=c.toString(),e.score===null&&(g.classList.add("lh-gauge--error"),g.textContent="",g.title=k.strings.errorLabel),e.auditRefs.length===0||this.hasApplicableAudits(e)?o.classList.add(`lh-gauge__wrapper--${R.calculateRating(e.score)}`):(o.classList.add("lh-gauge__wrapper--not-applicable"),g.textContent="-",g.title=k.strings.notApplicableAuditsGroupTitle),this.dom.find(".lh-gauge__label",a).textContent=e.title,a}renderCategoryFraction(e){let t=this.dom.createComponent("fraction"),a=this.dom.find("a.lh-fraction__wrapper",t),{numPassed:o,numPassableAudits:i,totalWeight:r}=R.calculateCategoryFraction(e),s=o/i,c=this.dom.find(".lh-fraction__content",t),g=this.dom.createElement("span");g.textContent=`${o}/${i}`,c.append(g);let p=R.calculateRating(s);return r===0&&(p="null"),a.classList.add(`lh-fraction__wrapper--${p}`),this.dom.find(".lh-fraction__label",t).textContent=e.title,t}hasApplicableAudits(e){return e.auditRefs.some(t=>t.result.scoreDisplayMode!=="notApplicable")}_setGaugeArc(e,t){let a=2*Math.PI*Number(e.getAttribute("r")),o=Number(e.getAttribute("stroke-width")),i=.25*o/a;e.style.transform=`rotate(${-90+i*360}deg)`;let r=t*a-o/2;t===0&&(e.style.opacity="0"),t===1&&(r=a),e.style.strokeDasharray=`${Math.max(r,0)} ${a}`}_auditHasWarning(e){return!!e.result.warnings?.length}_getClumpIdForAuditRef(e){let t=e.result.scoreDisplayMode;return t==="manual"||t==="notApplicable"?t:R.showAsPassed(e.result)?this._auditHasWarning(e)?"warning":"passed":"failed"}render(e,t={},a){let o=this.dom.createElement("div","lh-category");o.id=e.id,o.append(this.renderCategoryHeader(e,t,a));let i=new Map;i.set("failed",[]),i.set("warning",[]),i.set("manual",[]),i.set("passed",[]),i.set("notApplicable",[]);for(let s of e.auditRefs){let c=this._getClumpIdForAuditRef(s),g=i.get(c);g.push(s),i.set(c,g)}for(let s of i.values())s.sort((c,g)=>g.weight-c.weight);let r=i.get("failed")?.length;for(let[s,c]of i){if(c.length===0)continue;if(s==="failed"){let h=this.renderUnexpandableClump(c,t);h.classList.add("lh-clump--failed"),o.append(h);continue}let g=s==="manual"?e.manualDescription:void 0,p=s==="warning"||s==="manual"&&r===0,v=this.renderClump(s,{auditRefs:c,description:g,openByDefault:p});o.append(v)}return o}};var $e=class{static initTree(e){let t=0,a=Object.keys(e);return a.length>0&&(t=e[a[0]].request.startTime),{tree:e,startTime:t,transferSize:0}}static createSegment(e,t,a,o,i,r){let s=e[t],c=Object.keys(e),g=c.indexOf(t)===c.length-1,p=!!s.children&&Object.keys(s.children).length>0,v=Array.isArray(i)?i.slice(0):[];return typeof r<"u"&&v.push(!r),{node:s,isLastChild:g,hasChildren:p,startTime:a,transferSize:o+s.request.transferSize,treeMarkers:v}}static createChainNode(e,t,a){let o=e.createComponent("crcChain");e.find(".lh-crc-node",o).setAttribute("title",t.node.request.url);let i=e.find(".lh-crc-node__tree-marker",o);t.treeMarkers.forEach(v=>{let h=v?"lh-tree-marker lh-vert":"lh-tree-marker";i.append(e.createElement("span",h),e.createElement("span","lh-tree-marker"))});let r=t.isLastChild?"lh-tree-marker lh-up-right":"lh-tree-marker lh-vert-right",s=t.hasChildren?"lh-tree-marker lh-horiz-down":"lh-tree-marker lh-right";i.append(e.createElement("span",r),e.createElement("span","lh-tree-marker lh-right"),e.createElement("span",s));let c=t.node.request.url,g=a.renderTextURL(c),p=e.find(".lh-crc-node__tree-value",o);if(p.append(g),!t.hasChildren){let{startTime:v,endTime:h,transferSize:f}=t.node.request,y=e.createElement("span","lh-crc-node__chain-duration");y.textContent=" - "+k.i18n.formatMilliseconds((h-v)*1e3)+", ";let S=e.createElement("span","lh-crc-node__chain-duration");S.textContent=k.i18n.formatBytesToKiB(f,.01),p.append(y,S)}return o}static buildTree(e,t,a,o,i,r){if(o.append(Ee.createChainNode(e,a,r)),a.node.children)for(let s of Object.keys(a.node.children)){let c=Ee.createSegment(a.node.children,s,a.startTime,a.transferSize,a.treeMarkers,a.isLastChild);Ee.buildTree(e,t,c,o,i,r)}}static render(e,t,a){let o=e.createComponent("crc"),i=e.find(".lh-crc",o);e.find(".lh-crc-initial-nav",o).textContent=k.strings.crcInitialNavigation,e.find(".lh-crc__longest_duration_label",o).textContent=k.strings.crcLongestDurationLabel,e.find(".lh-crc__longest_duration",o).textContent=k.i18n.formatMilliseconds(t.longestChain.duration);let r=Ee.initTree(t.chains);for(let s of Object.keys(r.tree)){let c=Ee.createSegment(r.tree,s,r.startTime,r.transferSize);Ee.buildTree(e,o,c,i,t,a)}return e.find(".lh-crc-container",o)}},Ee=$e;function zo(n,e){return e.left<=n.width&&0<=e.right&&e.top<=n.height&&0<=e.bottom}function _a(n,e,t){return n<e?e:n>t?t:n}function Do(n){return{x:n.left+n.width/2,y:n.top+n.height/2}}var Ce=class n{static getScreenshotPositions(e,t,a){let o=Do(e),i=_a(o.x-t.width/2,0,a.width-t.width),r=_a(o.y-t.height/2,0,a.height-t.height);return{screenshot:{left:i,top:r},clip:{left:e.left-i,top:e.top-r}}}static renderClipPathInScreenshot(e,t,a,o,i){let r=e.find("clipPath",t),s=`clip-${k.getUniqueSuffix()}`;r.id=s,t.style.clipPath=`url(#${s})`;let c=a.top/i.height,g=c+o.height/i.height,p=a.left/i.width,v=p+o.width/i.width,h=[`0,0 1,0 1,${c} 0,${c}`,`0,${g} 1,${g} 1,1 0,1`,`0,${c} ${p},${c} ${p},${g} 0,${g}`,`${v},${c} 1,${c} 1,${g} ${v},${g}`];for(let f of h){let y=e.createElementNS("http://www.w3.org/2000/svg","polygon");y.setAttribute("points",f),r.append(y)}}static installFullPageScreenshot(e,t){e.style.setProperty("--element-screenshot-url",`url('${t.data}')`)}static installOverlayFeature(e){let{dom:t,rootEl:a,overlayContainerEl:o,fullPageScreenshot:i}=e,r="lh-screenshot-overlay--enabled";a.classList.contains(r)||(a.classList.add(r),a.addEventListener("click",s=>{let c=s.target;if(!c)return;let g=c.closest(".lh-node > .lh-element-screenshot");if(!g)return;let p=t.createElement("div","lh-element-screenshot__overlay");o.append(p);let v={width:p.clientWidth*.95,height:p.clientHeight*.8},h={width:Number(g.dataset.rectWidth),height:Number(g.dataset.rectHeight),left:Number(g.dataset.rectLeft),right:Number(g.dataset.rectLeft)+Number(g.dataset.rectWidth),top:Number(g.dataset.rectTop),bottom:Number(g.dataset.rectTop)+Number(g.dataset.rectHeight)},f=n.render(t,i.screenshot,h,v);if(!f){p.remove();return}p.append(f),p.addEventListener("click",()=>p.remove())}))}static _computeZoomFactor(e,t){let o={x:t.width/e.width,y:t.height/e.height},i=.75*Math.min(o.x,o.y);return Math.min(1,i)}static render(e,t,a,o){if(!zo(t,a))return null;let i=e.createComponent("elementScreenshot"),r=e.find("div.lh-element-screenshot",i);r.dataset.rectWidth=a.width.toString(),r.dataset.rectHeight=a.height.toString(),r.dataset.rectLeft=a.left.toString(),r.dataset.rectTop=a.top.toString();let s=this._computeZoomFactor(a,o),c={width:o.width/s,height:o.height/s};c.width=Math.min(t.width,c.width),c.height=Math.min(t.height,c.height);let g={width:c.width*s,height:c.height*s},p=n.getScreenshotPositions(a,c,{width:t.width,height:t.height}),v=e.find("div.lh-element-screenshot__image",r);v.style.width=g.width+"px",v.style.height=g.height+"px",v.style.backgroundPositionY=-(p.screenshot.top*s)+"px",v.style.backgroundPositionX=-(p.screenshot.left*s)+"px",v.style.backgroundSize=`${t.width*s}px ${t.height*s}px`;let h=e.find("div.lh-element-screenshot__element-marker",r);h.style.width=a.width*s+"px",h.style.height=a.height*s+"px",h.style.left=p.clip.left*s+"px",h.style.top=p.clip.top*s+"px";let f=e.find("div.lh-element-screenshot__mask",r);return f.style.width=g.width+"px",f.style.height=g.height+"px",n.renderClipPathInScreenshot(e,f,p.clip,a,c),r}};var jo=["http://","https://","data:"],Mo=["bytes","numeric","ms","timespanMs"],Te=class{constructor(e,t={}){this._dom=e,this._fullPageScreenshot=t.fullPageScreenshot,this._entities=t.entities}render(e){switch(e.type){case"filmstrip":return this._renderFilmstrip(e);case"list":return this._renderList(e);case"table":case"opportunity":return this._renderTable(e);case"criticalrequestchain":return $e.render(this._dom,e,this);case"screenshot":case"debugdata":case"treemap-data":return null;default:return this._renderUnknown(e.type,e)}}_renderBytes(e){let t=k.i18n.formatBytesToKiB(e.value,e.granularity||.1),a=this._renderText(t);return a.title=k.i18n.formatBytes(e.value),a}_renderMilliseconds(e){let t;return e.displayUnit==="duration"?t=k.i18n.formatDuration(e.value):t=k.i18n.formatMilliseconds(e.value,e.granularity||10),this._renderText(t)}renderTextURL(e){let t=e,a,o,i;try{let s=M.parseURL(t);a=s.file==="/"?s.origin:s.file,o=s.file==="/"||s.hostname===""?"":`(${s.hostname})`,i=t}catch{a=t}let r=this._dom.createElement("div","lh-text__url");if(r.append(this._renderLink({text:a,url:t})),o){let s=this._renderText(o);s.classList.add("lh-text__url-host"),r.append(s)}return i&&(r.title=t,r.dataset.url=t),r}_renderLink(e){let t=this._dom.createElement("a");if(this._dom.safelySetHref(t,e.url),!t.href){let a=this._renderText(e.text);return a.classList.add("lh-link"),a}return t.rel="noopener",t.target="_blank",t.textContent=e.text,t.classList.add("lh-link"),t}_renderText(e){let t=this._dom.createElement("div","lh-text");return t.textContent=e,t}_renderNumeric(e){let t=k.i18n.formatNumber(e.value,e.granularity||.1),a=this._dom.createElement("div","lh-numeric");return a.textContent=t,a}_renderThumbnail(e){let t=this._dom.createElement("img","lh-thumbnail"),a=e;return t.src=a,t.title=a,t.alt="",t}_renderUnknown(e,t){console.error(`Unknown details type: ${e}`,t);let a=this._dom.createElement("details","lh-unknown");return this._dom.createChildOf(a,"summary").textContent=`We don't know how to render audit details of type \`${e}\`. The Lighthouse version that collected this data is likely newer than the Lighthouse version of the report renderer. Expand for the raw JSON.`,this._dom.createChildOf(a,"pre").textContent=JSON.stringify(t,null,2),a}_renderTableValue(e,t){if(e==null)return null;if(typeof e=="object")switch(e.type){case"code":return this._renderCode(e.value);case"link":return this._renderLink(e);case"node":return this.renderNode(e);case"numeric":return this._renderNumeric(e);case"source-location":return this.renderSourceLocation(e);case"url":return this.renderTextURL(e.value);default:return this._renderUnknown(e.type,e)}switch(t.valueType){case"bytes":{let a=Number(e);return this._renderBytes({value:a,granularity:t.granularity})}case"code":{let a=String(e);return this._renderCode(a)}case"ms":{let a={value:Number(e),granularity:t.granularity,displayUnit:t.displayUnit};return this._renderMilliseconds(a)}case"numeric":{let a=Number(e);return this._renderNumeric({value:a,granularity:t.granularity})}case"text":{let a=String(e);return this._renderText(a)}case"thumbnail":{let a=String(e);return this._renderThumbnail(a)}case"timespanMs":{let a=Number(e);return this._renderMilliseconds({value:a})}case"url":{let a=String(e);return jo.some(o=>a.startsWith(o))?this.renderTextURL(a):this._renderCode(a)}default:return this._renderUnknown(t.valueType,e)}}_getDerivedSubItemsHeading(e){return e.subItemsHeading?{key:e.subItemsHeading.key||"",valueType:e.subItemsHeading.valueType||e.valueType,granularity:e.subItemsHeading.granularity||e.granularity,displayUnit:e.subItemsHeading.displayUnit||e.displayUnit,label:""}:null}_renderTableRow(e,t){let a=this._dom.createElement("tr");for(let o of t){if(!o||!o.key){this._dom.createChildOf(a,"td","lh-table-column--empty");continue}let i=e[o.key],r;if(i!=null&&(r=this._renderTableValue(i,o)),r){let s=`lh-table-column--${o.valueType}`;this._dom.createChildOf(a,"td",s).append(r)}else this._dom.createChildOf(a,"td","lh-table-column--empty")}return a}_renderTableRowsFromItem(e,t){let a=this._dom.createFragment();if(a.append(this._renderTableRow(e,t)),!e.subItems)return a;let o=t.map(this._getDerivedSubItemsHeading);if(!o.some(Boolean))return a;for(let i of e.subItems.items){let r=this._renderTableRow(i,o);r.classList.add("lh-sub-item-row"),a.append(r)}return a}_adornEntityGroupRow(e){let t=e.dataset.entity;if(!t)return;let a=this._entities?.find(i=>i.name===t);if(!a)return;let o=this._dom.find("td",e);if(a.category){let i=this._dom.createElement("span");i.classList.add("lh-audit__adorn"),i.textContent=a.category,o.append(" ",i)}if(a.isFirstParty){let i=this._dom.createElement("span");i.classList.add("lh-audit__adorn","lh-audit__adorn1p"),i.textContent=k.strings.firstPartyChipLabel,o.append(" ",i)}if(a.homepage){let i=this._dom.createElement("a");i.href=a.homepage,i.target="_blank",i.title=k.strings.openInANewTabTooltip,i.classList.add("lh-report-icon--external"),o.append(" ",i)}}_renderEntityGroupRow(e,t){let a={...t[0]};a.valueType="text";let o=[a,...t.slice(1)],i=this._dom.createFragment();return i.append(this._renderTableRow(e,o)),this._dom.find("tr",i).classList.add("lh-row--group"),i}_getEntityGroupItems(e){let{items:t,headings:a,sortedBy:o}=e;if(!t.length||e.isEntityGrouped||!t.some(p=>p.entity))return[];let i=new Set(e.skipSumming||[]),r=[];for(let p of a)!p.key||i.has(p.key)||Mo.includes(p.valueType)&&r.push(p.key);let s=a[0].key;if(!s)return[];let c=new Map;for(let p of t){let v=typeof p.entity=="string"?p.entity:void 0,h=c.get(v)||{[s]:v||k.strings.unattributable,entity:v};for(let f of r)h[f]=Number(h[f]||0)+Number(p[f]||0);c.set(v,h)}let g=[...c.values()];return o&&g.sort(R.getTableItemSortComparator(o)),g}_renderTable(e){if(!e.items.length)return this._dom.createElement("span");let t=this._dom.createElement("table","lh-table"),a=this._dom.createChildOf(t,"thead"),o=this._dom.createChildOf(a,"tr");for(let s of e.headings){let g=`lh-table-column--${s.valueType||"text"}`,p=this._dom.createElement("div","lh-text");p.textContent=s.label,this._dom.createChildOf(o,"th",g).append(p)}let i=this._getEntityGroupItems(e),r=this._dom.createChildOf(t,"tbody");if(i.length)for(let s of i){let c=typeof s.entity=="string"?s.entity:void 0,g=this._renderEntityGroupRow(s,e.headings);for(let v of e.items.filter(h=>h.entity===c))g.append(this._renderTableRowsFromItem(v,e.headings));let p=this._dom.findAll("tr",g);c&&p.length&&(p.forEach(v=>v.dataset.entity=c),this._adornEntityGroupRow(p[0])),r.append(g)}else{let s=!0;for(let c of e.items){let g=this._renderTableRowsFromItem(c,e.headings),p=this._dom.findAll("tr",g),v=p[0];if(typeof c.entity=="string"&&(v.dataset.entity=c.entity),e.isEntityGrouped&&c.entity)v.classList.add("lh-row--group"),this._adornEntityGroupRow(v);else for(let h of p)h.classList.add(s?"lh-row--even":"lh-row--odd");s=!s,r.append(g)}}return t}_renderList(e){let t=this._dom.createElement("div","lh-list");return e.items.forEach(a=>{let o=this.render(a);o&&t.append(o)}),t}renderNode(e){let t=this._dom.createElement("span","lh-node");if(e.nodeLabel){let r=this._dom.createElement("div");r.textContent=e.nodeLabel,t.append(r)}if(e.snippet){let r=this._dom.createElement("div");r.classList.add("lh-node__snippet"),r.textContent=e.snippet,t.append(r)}if(e.selector&&(t.title=e.selector),e.path&&t.setAttribute("data-path",e.path),e.selector&&t.setAttribute("data-selector",e.selector),e.snippet&&t.setAttribute("data-snippet",e.snippet),!this._fullPageScreenshot)return t;let a=e.lhId&&this._fullPageScreenshot.nodes[e.lhId];if(!a||a.width===0||a.height===0)return t;let o={width:147,height:100},i=Ce.render(this._dom,this._fullPageScreenshot.screenshot,a,o);return i&&t.prepend(i),t}renderSourceLocation(e){if(!e.url)return null;let t=`${e.url}:${e.line+1}:${e.column}`,a;e.original&&(a=`${e.original.file||"<unmapped>"}:${e.original.line+1}:${e.original.column}`);let o;if(e.urlProvider==="network"&&a)o=this._renderLink({url:e.url,text:a}),o.title=`maps to generated location ${t}`;else if(e.urlProvider==="network"&&!a)o=this.renderTextURL(e.url),this._dom.find(".lh-link",o).textContent+=`:${e.line+1}:${e.column}`;else if(e.urlProvider==="comment"&&a)o=this._renderText(`${a} (from source map)`),o.title=`${t} (from sourceURL)`;else if(e.urlProvider==="comment"&&!a)o=this._renderText(`${t} (from sourceURL)`);else return null;return o.classList.add("lh-source-location"),o.setAttribute("data-source-url",e.url),o.setAttribute("data-source-line",String(e.line)),o.setAttribute("data-source-column",String(e.column)),o}_renderFilmstrip(e){let t=this._dom.createElement("div","lh-filmstrip");for(let a of e.items){let o=this._dom.createChildOf(t,"div","lh-filmstrip__frame"),i=this._dom.createChildOf(o,"img","lh-filmstrip__thumbnail");i.src=a.data,i.alt="Screenshot"}return t}_renderCode(e){let t=this._dom.createElement("pre","lh-code");return t.textContent=e,t}};function Ca(n){let e=n.createComponent("explodeyGauge");return n.find(".lh-exp-gauge-component",e)}function wa(n,e,t){let a=n.find("div.lh-exp-gauge__wrapper",e);a.className="",a.classList.add("lh-exp-gauge__wrapper",`lh-exp-gauge__wrapper--${R.calculateRating(t.score)}`),Ho(n,a,t)}function Fo(n,e,t){t=t||n/32;let a=n/t,o=.5*t,i=a+o+t,r=2*Math.PI*a,s=Math.acos(1-.5*Math.pow(.5*t/a,2))*a,c=2*Math.PI*i,g=Math.acos(1-.5*Math.pow(.5*t/i,2))*i;return{radiusInner:a,radiusOuter:i,circumferenceInner:r,circumferenceOuter:c,getArcLength:()=>Math.max(0,Number(e*r)),getMetricArcLength:(p,v=!1)=>{let h=v?0:2*g;return Math.max(0,Number(p*c-o-h))},endDiffInner:s,endDiffOuter:g,strokeWidth:t,strokeGap:o}}function Ho(n,e,t){let i=Number(t.score),{radiusInner:r,radiusOuter:s,circumferenceInner:c,circumferenceOuter:g,getArcLength:p,getMetricArcLength:v,endDiffInner:h,endDiffOuter:f,strokeWidth:y,strokeGap:S}=Fo(128,i),C=n.find("svg.lh-exp-gauge",e);n.find(".lh-exp-gauge__label",C).textContent=t.title,C.setAttribute("viewBox",[-64,-64/2,128,128/2].join(" ")),C.style.setProperty("--stroke-width",`${y}px`),C.style.setProperty("--circle-meas",(2*Math.PI).toFixed(4));let _=n.find("g.lh-exp-gauge__outer",e),A=n.find("g.lh-exp-gauge__inner",e),x=n.find("circle.lh-cover",_),T=n.find("circle.lh-exp-gauge__arc",A),D=n.find("text.lh-exp-gauge__percentage",A);_.style.setProperty("--scale-initial",String(r/s)),_.style.setProperty("--radius",`${s}px`),x.style.setProperty("--radius",`${.5*(r+s)}px`),x.setAttribute("stroke-width",String(S)),C.style.setProperty("--radius",`${r}px`),T.setAttribute("stroke-dasharray",`${p()} ${(c-p()).toFixed(4)}`),T.setAttribute("stroke-dashoffset",String(.25*c-h)),D.textContent=Math.round(i*100).toString();let B=s+y,$=s-y,q=t.auditRefs.filter(N=>N.group==="metrics"&&N.weight),K=q.reduce((N,H)=>N+=H.weight,0),F=.25*g-f-.5*S,G=-.5*Math.PI;_.querySelectorAll(".metric").forEach(N=>{q.map(ee=>`metric--${ee.id}`).find(ee=>N.classList.contains(ee))||N.remove()}),q.forEach((N,H)=>{let X=N.acronym??N.id,ee=!_.querySelector(`.metric--${X}`),Q=n.maybeFind(`g.metric--${X}`,_)||n.createSVGElement("g"),ge=n.maybeFind(`.metric--${X} circle.lh-exp-gauge--faded`,_)||n.createSVGElement("circle"),we=n.maybeFind(`.metric--${X} circle.lh-exp-gauge--miniarc`,_)||n.createSVGElement("circle"),pe=n.maybeFind(`.metric--${X} circle.lh-exp-gauge-hovertarget`,_)||n.createSVGElement("circle"),ae=n.maybeFind(`.metric--${X} text.metric__label`,_)||n.createSVGElement("text"),oe=n.maybeFind(`.metric--${X} text.metric__value`,_)||n.createSVGElement("text");Q.classList.add("metric",`metric--${X}`),ge.classList.add("lh-exp-gauge__arc","lh-exp-gauge__arc--metric","lh-exp-gauge--faded"),we.classList.add("lh-exp-gauge__arc","lh-exp-gauge__arc--metric","lh-exp-gauge--miniarc"),pe.classList.add("lh-exp-gauge__arc","lh-exp-gauge__arc--metric","lh-exp-gauge-hovertarget");let he=N.weight/K,Ge=v(he),Ne=N.result.score?N.result.score*he:0,ze=v(Ne),xt=he*g,Ve=v(he,!0),We=R.calculateRating(N.result.score,N.result.scoreDisplayMode);Q.style.setProperty("--metric-rating",We),Q.style.setProperty("--metric-color",`var(--color-${We})`),Q.style.setProperty("--metric-offset",`${F}`),Q.style.setProperty("--i",H.toString()),ge.setAttribute("stroke-dasharray",`${Ge} ${g-Ge}`),we.style.setProperty("--metric-array",`${ze} ${g-ze}`),pe.setAttribute("stroke-dasharray",`${Ve} ${g-Ve-f}`),ae.classList.add("metric__label"),oe.classList.add("metric__value"),ae.textContent=X,oe.textContent=`+${Math.round(Ne*100)}`;let Je=G+he*Math.PI,ke=Math.cos(Je),Se=Math.sin(Je);switch(!0){case ke>0:oe.setAttribute("text-anchor","end");break;case ke<0:ae.setAttribute("text-anchor","end");break;case ke===0:ae.setAttribute("text-anchor","middle"),oe.setAttribute("text-anchor","middle");break}switch(!0){case Se>0:ae.setAttribute("dominant-baseline","hanging");break;case Se<0:oe.setAttribute("dominant-baseline","hanging");break;case Se===0:ae.setAttribute("dominant-baseline","middle"),oe.setAttribute("dominant-baseline","middle");break}ae.setAttribute("x",(B*ke).toFixed(2)),ae.setAttribute("y",(B*Se).toFixed(2)),oe.setAttribute("x",($*ke).toFixed(2)),oe.setAttribute("y",($*Se).toFixed(2)),ee&&(Q.appendChild(ge),Q.appendChild(we),Q.appendChild(pe),Q.appendChild(ae),Q.appendChild(oe),_.appendChild(Q)),F-=xt,G+=he*2*Math.PI});let Z=_.querySelector(".lh-exp-gauge-underhovertarget")||n.createSVGElement("circle");Z.classList.add("lh-exp-gauge__arc","lh-exp-gauge__arc--metric","lh-exp-gauge-hovertarget","lh-exp-gauge-underhovertarget");let Y=v(1,!0);if(Z.setAttribute("stroke-dasharray",`${Y} ${g-Y-f}`),Z.isConnected||_.prepend(Z),C.dataset.listenersSetup)return;C.dataset.listenersSetup=!0,Pt(C),C.addEventListener("pointerover",N=>{if(N.target===C&&C.classList.contains("state--expanded")){C.classList.remove("state--expanded"),C.classList.contains("state--highlight")&&(C.classList.remove("state--highlight"),n.find(".metric--highlight",C).classList.remove("metric--highlight"));return}if(!(N.target instanceof Element))return;let H=N.target.parentNode;if(H instanceof SVGElement){if(H&&H===A){C.classList.contains("state--expanded")?C.classList.contains("state--highlight")&&(C.classList.remove("state--highlight"),n.find(".metric--highlight",C).classList.remove("metric--highlight")):C.classList.add("state--expanded");return}if(H&&H.classList&&H.classList.contains("metric")){let X=H.style.getPropertyValue("--metric-rating");if(e.style.setProperty("--color-highlight",`var(--color-${X}-secondary)`),!C.classList.contains("state--highlight"))C.classList.add("state--highlight"),H.classList.add("metric--highlight");else{let ee=n.find(".metric--highlight",C);H!==ee&&(ee.classList.remove("metric--highlight"),H.classList.add("metric--highlight"),console.log({highlightEl:ee,parent:H}))}}}}),C.addEventListener("mouseleave",()=>{C.classList.remove("state--highlight"),C.querySelector(".metric--highlight")?.classList.remove("metric--highlight")});async function Pt(N){if(await new Promise(ae=>setTimeout(ae,1e3)),N.classList.contains("state--expanded"))return;let H=n.find(".lh-exp-gauge__inner",N),X=`uniq-${Math.random()}`;H.setAttribute("id",X);let ee=n.createSVGElement("use");ee.setAttribute("href",`#${X}`),N.appendChild(ee);let Q=2.5;N.style.setProperty("--peek-dur",`${Q}s`),N.classList.add("state--peek","state--expanded");let ge=()=>{N.classList.remove("state--peek","state--expanded"),ee.remove()},we=setTimeout(()=>{N.removeEventListener("mouseenter",pe),ge()},Q*1e3*1.5);function pe(){clearTimeout(we),ge()}N.addEventListener("mouseenter",pe,{once:!0})}}var yt=class extends le{_renderMetric(e){let t=this.dom.createComponent("metric"),a=this.dom.find(".lh-metric",t);a.id=e.result.id;let o=R.calculateRating(e.result.score,e.result.scoreDisplayMode);a.classList.add(`lh-metric--${o}`);let i=this.dom.find(".lh-metric__title",t);i.textContent=e.result.title;let r=this.dom.find(".lh-metric__value",t);r.textContent=e.result.displayValue||"";let s=this.dom.find(".lh-metric__description",t);if(s.append(this.dom.convertMarkdownLinkSnippets(e.result.description)),e.result.scoreDisplayMode==="error"){s.textContent="",r.textContent="Error!";let c=this.dom.createChildOf(s,"span");c.textContent=e.result.errorMessage||"Report error: no metric information"}else e.result.scoreDisplayMode==="notApplicable"&&(r.textContent="--");return a}_getScoringCalculatorHref(e){let t=e.filter(v=>v.group==="metrics"),a=e.find(v=>v.id==="interactive"),o=e.find(v=>v.id==="first-cpu-idle"),i=e.find(v=>v.id==="first-meaningful-paint");a&&t.push(a),o&&t.push(o),i&&t.push(i);let r=v=>Math.round(v*100)/100,c=[...t.map(v=>{let h;return typeof v.result.numericValue=="number"?(h=v.id==="cumulative-layout-shift"?r(v.result.numericValue):Math.round(v.result.numericValue),h=h.toString()):h="null",[v.acronym||v.id,h]})];k.reportJson&&(c.push(["device",k.reportJson.configSettings.formFactor]),c.push(["version",k.reportJson.lighthouseVersion]));let g=new URLSearchParams(c),p=new URL("https://googlechrome.github.io/lighthouse/scorecalc/");return p.hash=g.toString(),p.href}_isPerformanceInsight(e){return!e.group}overallImpact(e,t){if(!e.result.metricSavings)return{overallImpact:0,overallLinearImpact:0};let a=0,o=0;for(let[i,r]of Object.entries(e.result.metricSavings)){if(r===void 0)continue;let s=t.find(f=>f.acronym===i);if(!s||s.result.score===null)continue;let c=s.result.numericValue;if(!c)continue;let g=r/c*s.weight;o+=g;let p=s.result.scoringOptions;if(!p)continue;let h=(M.computeLogNormalScore(p,c-r)-s.result.score)*s.weight;a+=h}return{overallImpact:a,overallLinearImpact:o}}render(e,t,a){let o=k.strings,i=this.dom.createElement("div","lh-category");i.id=e.id,i.append(this.renderCategoryHeader(e,t,a));let r=e.auditRefs.filter(_=>_.group==="metrics");if(r.length){let[_,A]=this.renderAuditGroup(t.metrics),x=this.dom.createElement("input","lh-metrics-toggle__input"),T=`lh-metrics-toggle${k.getUniqueSuffix()}`;x.setAttribute("aria-label","Toggle the display of metric descriptions"),x.type="checkbox",x.id=T,_.prepend(x);let D=this.dom.find(".lh-audit-group__header",_),B=this.dom.createChildOf(D,"label","lh-metrics-toggle__label");B.htmlFor=T;let $=this.dom.createChildOf(B,"span","lh-metrics-toggle__labeltext--show"),q=this.dom.createChildOf(B,"span","lh-metrics-toggle__labeltext--hide");$.textContent=k.strings.expandView,q.textContent=k.strings.collapseView;let K=this.dom.createElement("div","lh-metrics-container");if(_.insertBefore(K,A),r.forEach(F=>{K.append(this._renderMetric(F))}),i.querySelector(".lh-gauge__wrapper")){let F=this.dom.find(".lh-category-header__description",i),G=this.dom.createChildOf(F,"div","lh-metrics__disclaimer"),Z=this.dom.convertMarkdownLinkSnippets(o.varianceDisclaimer);G.append(Z);let Y=this.dom.createChildOf(G,"a","lh-calclink");Y.target="_blank",Y.textContent=o.calculatorLink,this.dom.safelySetHref(Y,this._getScoringCalculatorHref(e.auditRefs))}_.classList.add("lh-audit-group--metrics"),i.append(_)}let s=this.dom.createChildOf(i,"div","lh-filmstrip-container"),g=e.auditRefs.find(_=>_.id==="screenshot-thumbnails")?.result;if(g?.details){s.id=g.id;let _=this.detailsRenderer.render(g.details);_&&s.append(_)}let p=r.filter(_=>!!_.relevantAudits);p.length&&this.renderMetricAuditFilter(p,i);let v=e.auditRefs.filter(_=>this._isPerformanceInsight(_)).filter(_=>!R.showAsPassed(_.result)),h=[];if(v.forEach(_=>{let{overallImpact:A,overallLinearImpact:x}=this.overallImpact(_,r),T=_.result.guidanceLevel??1;h.push({auditRef:_,overallImpact:A,overallLinearImpact:x,guidanceLevel:T})}),h.sort((_,A)=>{if(_.overallImpact!==A.overallImpact)return A.overallImpact-_.overallImpact;if(_.overallImpact===0&&A.overallImpact===0&&_.overallLinearImpact!==A.overallLinearImpact)return A.overallLinearImpact-_.overallLinearImpact;if(_.guidanceLevel!==A.guidanceLevel)return A.guidanceLevel-_.guidanceLevel;let x=_.auditRef.result.scoreDisplayMode==="informative"?100:Number(_.auditRef.result.score),T=A.auditRef.result.scoreDisplayMode==="informative"?100:Number(A.auditRef.result.score);return x-T}),h.length){let[_,A]=this.renderAuditGroup(t.diagnostics);h.forEach(x=>_.insertBefore(this.renderAudit(x.auditRef),A)),_.classList.add("lh-audit-group--diagnostics"),i.append(_)}let f=e.auditRefs.filter(_=>this._isPerformanceInsight(_)&&R.showAsPassed(_.result));if(!f.length)return i;let y={auditRefs:f,groupDefinitions:t},S=this.renderClump("passed",y);i.append(S);let C=[];if(["performance-budget","timing-budget"].forEach(_=>{let A=e.auditRefs.find(x=>x.id===_);if(A?.result.details){let x=this.detailsRenderer.render(A.result.details);x&&(x.id=_,x.classList.add("lh-details","lh-details--budget","lh-audit"),C.push(x))}}),C.length>0){let[_,A]=this.renderAuditGroup(t.budgets);C.forEach(x=>_.insertBefore(x,A)),_.classList.add("lh-audit-group--budgets"),i.append(_)}if(!a||a?.gatherMode==="navigation"){let _=Ca(this.dom);wa(this.dom,_,e),this.dom.find(".lh-score__gauge",i).replaceWith(_)}return i}renderMetricAuditFilter(e,t){let a=this.dom.createElement("div","lh-metricfilter"),o=this.dom.createChildOf(a,"span","lh-metricfilter__text");o.textContent=k.strings.showRelevantAudits;let i=[{acronym:"All"},...e],r=k.getUniqueSuffix();for(let s of i){let c=`metric-${s.acronym}-${r}`,g=this.dom.createChildOf(a,"input","lh-metricfilter__radio");g.type="radio",g.name=`metricsfilter-${r}`,g.id=c;let p=this.dom.createChildOf(a,"label","lh-metricfilter__label");p.htmlFor=c,p.title=s.result?.title,p.textContent=s.acronym||s.id,s.acronym==="All"&&(g.checked=!0,p.classList.add("lh-metricfilter__label--active")),t.append(a),g.addEventListener("input",v=>{for(let f of t.querySelectorAll("label.lh-metricfilter__label"))f.classList.toggle("lh-metricfilter__label--active",f.htmlFor===c);t.classList.toggle("lh-category--filtered",s.acronym!=="All");for(let f of t.querySelectorAll("div.lh-audit")){if(s.acronym==="All"){f.hidden=!1;continue}f.hidden=!0,s.relevantAudits&&s.relevantAudits.includes(f.id)&&(f.hidden=!1)}let h=t.querySelectorAll("div.lh-audit-group, details.lh-audit-group");for(let f of h){f.hidden=!1;let y=Array.from(f.querySelectorAll("div.lh-audit")),S=!!y.length&&y.every(C=>C.hidden);f.hidden=S}})}}};var _t=class n extends le{render(e,t={}){let a=this.dom.createElement("div","lh-category");a.id=e.id,a.append(this.renderCategoryHeader(e,t));let o=e.auditRefs,i=o.filter(g=>g.result.scoreDisplayMode!=="manual"),r=this._renderAudits(i,t);a.append(r);let s=o.filter(g=>g.result.scoreDisplayMode==="manual"),c=this.renderClump("manual",{auditRefs:s,description:e.manualDescription,openByDefault:!0});return a.append(c),a}renderCategoryScore(e,t){if(e.score===null)return super.renderScoreGauge(e,t);let a=this.dom.createComponent("gaugePwa"),o=this.dom.find("a.lh-gauge--pwa__wrapper",a),i=a.querySelector("svg");if(!i)throw new Error("no SVG element found in PWA score gauge template");n._makeSvgReferencesUnique(i);let r=this._getGroupIds(e.auditRefs),s=this._getPassingGroupIds(e.auditRefs);if(s.size===r.size)o.classList.add("lh-badged--all");else for(let c of s)o.classList.add(`lh-badged--${c}`);return this.dom.find(".lh-gauge__label",a).textContent=e.title,o.title=this._getGaugeTooltip(e.auditRefs,t),a}_getGroupIds(e){let t=e.map(a=>a.group).filter(a=>!!a);return new Set(t)}_getPassingGroupIds(e){let t=this._getGroupIds(e);for(let a of e)!R.showAsPassed(a.result)&&a.group&&t.delete(a.group);return t}_getGaugeTooltip(e,t){let a=this._getGroupIds(e),o=[];for(let i of a){let r=e.filter(p=>p.group===i),s=r.length,c=r.filter(p=>R.showAsPassed(p.result)).length,g=t[i].title;o.push(`${g}: ${c}/${s}`)}return o.join(", ")}_renderAudits(e,t){let a=this.renderUnexpandableClump(e,t),o=this._getPassingGroupIds(e);for(let i of o)this.dom.find(`.lh-audit-group--${i}`,a).classList.add("lh-badged");return a}static _makeSvgReferencesUnique(e){let t=e.querySelector("defs");if(!t)return;let a=k.getUniqueSuffix(),o=t.querySelectorAll("[id]");for(let i of o){let r=i.id,s=`${r}-${a}`;i.id=s;let c=e.querySelectorAll(`use[href="#${r}"]`);for(let p of c)p.setAttribute("href",`#${s}`);let g=e.querySelectorAll(`[fill="url(#${r})"]`);for(let p of g)p.setAttribute("fill",`url(#${s})`)}}};var Ct=class{constructor(e){this._dom=e,this._opts={}}renderReport(e,t,a){if(!this._dom.rootEl&&t){console.warn("Please adopt the new report API in renderer/api.js.");let i=t.closest(".lh-root");i?this._dom.rootEl=i:(t.classList.add("lh-root","lh-vars"),this._dom.rootEl=t)}else this._dom.rootEl&&t&&(this._dom.rootEl=t);a&&(this._opts=a),this._dom.setLighthouseChannel(e.configSettings.channel||"unknown");let o=R.prepareReportResult(e);return this._dom.rootEl.textContent="",this._dom.rootEl.append(this._renderReport(o)),this._dom.rootEl}_renderReportTopbar(e){let t=this._dom.createComponent("topbar"),a=this._dom.find("a.lh-topbar__url",t);return a.textContent=e.finalDisplayedUrl,a.title=e.finalDisplayedUrl,this._dom.safelySetHref(a,e.finalDisplayedUrl),t}_renderReportHeader(){let e=this._dom.createComponent("heading"),t=this._dom.createComponent("scoresWrapper");return this._dom.find(".lh-scores-wrapper-placeholder",e).replaceWith(t),e}_renderReportFooter(e){let t=this._dom.createComponent("footer");return this._renderMetaBlock(e,t),this._dom.find(".lh-footer__version_issue",t).textContent=k.strings.footerIssue,this._dom.find(".lh-footer__version",t).textContent=e.lighthouseVersion,t}_renderMetaBlock(e,t){let a=R.getEmulationDescriptions(e.configSettings||{}),o=e.userAgent.match(/(\w*Chrome\/[\d.]+)/),i=Array.isArray(o)?o[1].replace("/"," ").replace("Chrome","Chromium"):"Chromium",r=e.configSettings.channel,s=e.environment.benchmarkIndex.toFixed(0),c=e.environment.credits?.["axe-core"],g=[`${k.strings.runtimeSettingsBenchmark}: ${s}`,`${k.strings.runtimeSettingsCPUThrottling}: ${a.cpuThrottling}`];a.screenEmulation&&g.push(`${k.strings.runtimeSettingsScreenEmulation}: ${a.screenEmulation}`),c&&g.push(`${k.strings.runtimeSettingsAxeVersion}: ${c}`);let p=[["date",`Captured at ${k.i18n.formatDateTime(e.fetchTime)}`],["devices",`${a.deviceEmulation} with Lighthouse ${e.lighthouseVersion}`,g.join(`
|
|
2691
|
-
`)],["samples-one",k.strings.runtimeSingleLoad,k.strings.runtimeSingleLoadTooltip],["stopwatch",k.strings.runtimeAnalysisWindow],["networkspeed",`${a.summary}`,`${k.strings.runtimeSettingsNetworkThrottling}: ${a.networkThrottling}`],["chrome",`Using ${i}`+(r?` with ${r}`:""),`${k.strings.runtimeSettingsUANetwork}: "${e.environment.networkUserAgent}"`]],v=this._dom.find(".lh-meta__items",t);for(let[h,f,y]of p){let S=this._dom.createChildOf(v,"li","lh-meta__item");if(S.textContent=f,y){S.classList.add("lh-tooltip-boundary");let C=this._dom.createChildOf(S,"div","lh-tooltip");C.textContent=y}S.classList.add("lh-report-icon",`lh-report-icon--${h}`)}}_renderReportWarnings(e){if(!e.runWarnings||e.runWarnings.length===0)return this._dom.createElement("div");let t=this._dom.createComponent("warningsToplevel"),a=this._dom.find(".lh-warnings__msg",t);a.textContent=k.strings.toplevelWarningsMessage;let o=[];for(let i of e.runWarnings){let r=this._dom.createElement("li");r.append(this._dom.convertMarkdownLinkSnippets(i)),o.push(r)}return this._dom.find("ul",t).append(...o),t}_renderScoreGauges(e,t,a){let o=[],i=[],r=[];for(let s of Object.values(e.categories)){let c=a[s.id]||t,g=c.renderCategoryScore(s,e.categoryGroups||{},{gatherMode:e.gatherMode}),p=this._dom.find("a.lh-gauge__wrapper, a.lh-fraction__wrapper",g);p&&(this._dom.safelySetHref(p,`#${s.id}`),p.addEventListener("click",v=>{if(!p.matches('[href^="#"]'))return;let h=p.getAttribute("href"),f=this._dom.rootEl;if(!h||!f)return;let y=this._dom.find(h,f);v.preventDefault(),y.scrollIntoView()}),this._opts.onPageAnchorRendered?.(p)),R.isPluginCategory(s.id)?r.push(g):c.renderCategoryScore===t.renderCategoryScore?o.push(g):i.push(g)}return[...o,...i,...r]}_renderReport(e){k.apply({providedStrings:e.i18n.rendererFormattedStrings,i18n:new Ae(e.configSettings.locale),reportJson:e});let t=new Te(this._dom,{fullPageScreenshot:e.fullPageScreenshot??void 0,entities:e.entities}),a=new le(this._dom,t),o={performance:new yt(this._dom,t),pwa:new _t(this._dom,t)},i=this._dom.createElement("div");i.append(this._renderReportHeader());let r=this._dom.createElement("div","lh-container"),s=this._dom.createElement("div","lh-report");s.append(this._renderReportWarnings(e));let c;Object.keys(e.categories).length===1?i.classList.add("lh-header--solo-category"):c=this._dom.createElement("div","lh-scores-header");let p=this._dom.createElement("div");if(p.classList.add("lh-scorescale-wrap"),p.append(this._dom.createComponent("scorescale")),c){let y=this._dom.find(".lh-scores-container",i);c.append(...this._renderScoreGauges(e,a,o)),y.append(c,p);let S=this._dom.createElement("div","lh-sticky-header");S.append(...this._renderScoreGauges(e,a,o)),r.append(S)}let v=this._dom.createElement("div","lh-categories");s.append(v);let h={gatherMode:e.gatherMode};for(let y of Object.values(e.categories)){let S=o[y.id]||a;S.dom.createChildOf(v,"div","lh-category-wrapper").append(S.render(y,e.categoryGroups,h))}a.injectFinalScreenshot(v,e.audits,p);let f=this._dom.createFragment();return this._opts.omitGlobalStyles||f.append(this._dom.createComponent("styles")),this._opts.omitTopbar||f.append(this._renderReportTopbar(e)),f.append(r),s.append(this._renderReportFooter(e)),r.append(i,s),e.fullPageScreenshot&&Ce.installFullPageScreenshot(this._dom.rootEl,e.fullPageScreenshot.screenshot),f}};function Re(n,e){let t=n.rootEl;typeof e>"u"?t.classList.toggle("lh-dark"):t.classList.toggle("lh-dark",e)}var Oo=typeof btoa<"u"?btoa:n=>Buffer.from(n).toString("base64"),Bo=typeof atob<"u"?atob:n=>Buffer.from(n,"base64").toString();async function $o(n,e){let t=new TextEncoder().encode(n);if(e.gzip)if(typeof CompressionStream<"u"){let i=new CompressionStream("gzip"),r=i.writable.getWriter();r.write(t),r.close();let s=await new Response(i.readable).arrayBuffer();t=new Uint8Array(s)}else t=window.pako.gzip(n);let a="",o=5e3;for(let i=0;i<t.length;i+=o)a+=String.fromCharCode(...t.subarray(i,i+o));return Oo(a)}function Go(n,e){let t=Bo(n),a=Uint8Array.from(t,o=>o.charCodeAt(0));return e.gzip?window.pako.ungzip(a,{to:"string"}):new TextDecoder().decode(a)}var ka={toBase64:$o,fromBase64:Go};function Gt(){let n=window.location.host.endsWith(".vercel.app"),e=new URLSearchParams(window.location.search).has("dev");return n?`https://${window.location.host}/gh-pages`:e?"http://localhost:7333":"https://googlechrome.github.io/lighthouse"}function Vt(n){let e=n.generatedTime,t=n.fetchTime||e;return`${n.lighthouseVersion}-${n.finalDisplayedUrl}-${t}`}function Vo(n,e,t){let a=new URL(e).origin;window.addEventListener("message",function i(r){r.origin===a&&o&&r.data.opened&&(o.postMessage(n,a),window.removeEventListener("message",i))});let o=window.open(e,t)}async function Sa(n,e,t){let a=new URL(e),o=!!window.CompressionStream;a.hash=await ka.toBase64(JSON.stringify(n),{gzip:o}),o&&a.searchParams.set("gzip","1"),window.open(a.toString(),t)}async function Aa(n){let e="viewer-"+Vt(n),t=Gt()+"/viewer/";await Sa({lhr:n},t,e)}async function Pa(n){let e="viewer-"+Vt(n),t=Gt()+"/viewer/";Vo({lhr:n},t,e)}function xa(n){if(!n.audits["script-treemap-data"].details)throw new Error("no script treemap data found");let t={lhr:{mainDocumentUrl:n.mainDocumentUrl,finalUrl:n.finalUrl,finalDisplayedUrl:n.finalDisplayedUrl,audits:{"script-treemap-data":n.audits["script-treemap-data"]},configSettings:{locale:n.configSettings.locale}}},a=Gt()+"/treemap/",o="treemap-"+Vt(n);Sa(t,a,o)}var wt=class{constructor(e){this._dom=e,this._toggleEl,this._menuEl,this.onDocumentKeyDown=this.onDocumentKeyDown.bind(this),this.onToggleClick=this.onToggleClick.bind(this),this.onToggleKeydown=this.onToggleKeydown.bind(this),this.onMenuFocusOut=this.onMenuFocusOut.bind(this),this.onMenuKeydown=this.onMenuKeydown.bind(this),this._getNextMenuItem=this._getNextMenuItem.bind(this),this._getNextSelectableNode=this._getNextSelectableNode.bind(this),this._getPreviousMenuItem=this._getPreviousMenuItem.bind(this)}setup(e){this._toggleEl=this._dom.find(".lh-topbar button.lh-tools__button",this._dom.rootEl),this._toggleEl.addEventListener("click",this.onToggleClick),this._toggleEl.addEventListener("keydown",this.onToggleKeydown),this._menuEl=this._dom.find(".lh-topbar div.lh-tools__dropdown",this._dom.rootEl),this._menuEl.addEventListener("keydown",this.onMenuKeydown),this._menuEl.addEventListener("click",e)}close(){this._toggleEl.classList.remove("lh-active"),this._toggleEl.setAttribute("aria-expanded","false"),this._menuEl.contains(this._dom.document().activeElement)&&this._toggleEl.focus(),this._menuEl.removeEventListener("focusout",this.onMenuFocusOut),this._dom.document().removeEventListener("keydown",this.onDocumentKeyDown)}open(e){this._toggleEl.classList.contains("lh-active")?e.focus():this._menuEl.addEventListener("transitionend",()=>{e.focus()},{once:!0}),this._toggleEl.classList.add("lh-active"),this._toggleEl.setAttribute("aria-expanded","true"),this._menuEl.addEventListener("focusout",this.onMenuFocusOut),this._dom.document().addEventListener("keydown",this.onDocumentKeyDown)}onToggleClick(e){e.preventDefault(),e.stopImmediatePropagation(),this._toggleEl.classList.contains("lh-active")?this.close():this.open(this._getNextMenuItem())}onToggleKeydown(e){switch(e.code){case"ArrowUp":e.preventDefault(),this.open(this._getPreviousMenuItem());break;case"ArrowDown":case"Enter":case" ":e.preventDefault(),this.open(this._getNextMenuItem());break;default:}}onMenuKeydown(e){let t=e.target;switch(e.code){case"ArrowUp":e.preventDefault(),this._getPreviousMenuItem(t).focus();break;case"ArrowDown":e.preventDefault(),this._getNextMenuItem(t).focus();break;case"Home":e.preventDefault(),this._getNextMenuItem().focus();break;case"End":e.preventDefault(),this._getPreviousMenuItem().focus();break;default:}}onDocumentKeyDown(e){e.keyCode===27&&this.close()}onMenuFocusOut(e){let t=e.relatedTarget;this._menuEl.contains(t)||this.close()}_getNextSelectableNode(e,t){let a=e.filter(i=>!(!(i instanceof HTMLElement)||i.hasAttribute("disabled")||window.getComputedStyle(i).display==="none")),o=t?a.indexOf(t)+1:0;return o>=a.length&&(o=0),a[o]}_getNextMenuItem(e){let t=Array.from(this._menuEl.childNodes);return this._getNextSelectableNode(t,e)}_getPreviousMenuItem(e){let t=Array.from(this._menuEl.childNodes).reverse();return this._getNextSelectableNode(t,e)}};var kt=class{constructor(e,t){this.lhr,this._reportUIFeatures=e,this._dom=t,this._dropDownMenu=new wt(this._dom),this._copyAttempt=!1,this.topbarEl,this.categoriesEl,this.stickyHeaderEl,this.highlightEl,this.onDropDownMenuClick=this.onDropDownMenuClick.bind(this),this.onKeyUp=this.onKeyUp.bind(this),this.onCopy=this.onCopy.bind(this),this.collapseAllDetails=this.collapseAllDetails.bind(this)}enable(e){this.lhr=e,this._dom.rootEl.addEventListener("keyup",this.onKeyUp),this._dom.document().addEventListener("copy",this.onCopy),this._dropDownMenu.setup(this.onDropDownMenuClick),this._setUpCollapseDetailsAfterPrinting(),this._dom.find(".lh-topbar__logo",this._dom.rootEl).addEventListener("click",()=>Re(this._dom)),this._setupStickyHeader()}onDropDownMenuClick(e){e.preventDefault();let t=e.target;if(!(!t||!t.hasAttribute("data-action"))){switch(t.getAttribute("data-action")){case"copy":this.onCopyButtonClick();break;case"print-summary":this.collapseAllDetails(),this._print();break;case"print-expanded":this.expandAllDetails(),this._print();break;case"save-json":{let a=JSON.stringify(this.lhr,null,2);this._reportUIFeatures._saveFile(new Blob([a],{type:"application/json"}));break}case"save-html":{let a=this._reportUIFeatures.getReportHtml();try{this._reportUIFeatures._saveFile(new Blob([a],{type:"text/html"}))}catch(o){this._dom.fireEventOn("lh-log",this._dom.document(),{cmd:"error",msg:"Could not export as HTML. "+o.message})}break}case"open-viewer":{this._dom.isDevTools()?Aa(this.lhr):Pa(this.lhr);break}case"save-gist":{this._reportUIFeatures.saveAsGist();break}case"toggle-dark":{Re(this._dom);break}case"view-unthrottled-trace":this._reportUIFeatures._opts.onViewTrace?.()}this._dropDownMenu.close()}}onCopy(e){this._copyAttempt&&e.clipboardData&&(e.preventDefault(),e.clipboardData.setData("text/plain",JSON.stringify(this.lhr,null,2)),this._dom.fireEventOn("lh-log",this._dom.document(),{cmd:"log",msg:"Report JSON copied to clipboard"})),this._copyAttempt=!1}onCopyButtonClick(){this._dom.fireEventOn("lh-analytics",this._dom.document(),{cmd:"send",fields:{hitType:"event",eventCategory:"report",eventAction:"copy"}});try{this._dom.document().queryCommandSupported("copy")&&(this._copyAttempt=!0,this._dom.document().execCommand("copy")||(this._copyAttempt=!1,this._dom.fireEventOn("lh-log",this._dom.document(),{cmd:"warn",msg:"Your browser does not support copy to clipboard."})))}catch(e){this._copyAttempt=!1,this._dom.fireEventOn("lh-log",this._dom.document(),{cmd:"log",msg:e.message})}}onKeyUp(e){(e.ctrlKey||e.metaKey)&&e.keyCode===80&&this._dropDownMenu.close()}expandAllDetails(){this._dom.findAll(".lh-categories details",this._dom.rootEl).map(t=>t.open=!0)}collapseAllDetails(){this._dom.findAll(".lh-categories details",this._dom.rootEl).map(t=>t.open=!1)}_print(){this._reportUIFeatures._opts.onPrintOverride?this._reportUIFeatures._opts.onPrintOverride(this._dom.rootEl):self.print()}resetUIState(){this._dropDownMenu.close()}_getScrollParent(e){let{overflowY:t}=window.getComputedStyle(e);return t!=="visible"&&t!=="hidden"?e:e.parentElement?this._getScrollParent(e.parentElement):document}_setUpCollapseDetailsAfterPrinting(){"onbeforeprint"in self?self.addEventListener("afterprint",this.collapseAllDetails):self.matchMedia("print").addListener(t=>{t.matches?this.expandAllDetails():this.collapseAllDetails()})}_setupStickyHeader(){this.topbarEl=this._dom.find("div.lh-topbar",this._dom.rootEl),this.categoriesEl=this._dom.find("div.lh-categories",this._dom.rootEl),window.requestAnimationFrame(()=>window.requestAnimationFrame(()=>{try{this.stickyHeaderEl=this._dom.find("div.lh-sticky-header",this._dom.rootEl)}catch{return}this.highlightEl=this._dom.createChildOf(this.stickyHeaderEl,"div","lh-highlighter");let e=this._getScrollParent(this._dom.find(".lh-container",this._dom.rootEl));e.addEventListener("scroll",()=>this._updateStickyHeader());let t=e instanceof window.Document?document.documentElement:e;new window.ResizeObserver(()=>this._updateStickyHeader()).observe(t)}))}_updateStickyHeader(){if(!this.stickyHeaderEl)return;let e=this.topbarEl.getBoundingClientRect().bottom,t=this.categoriesEl.getBoundingClientRect().top,a=e>=t,i=Array.from(this._dom.rootEl.querySelectorAll(".lh-category")).filter(v=>v.getBoundingClientRect().top-window.innerHeight/2<0),r=i.length>0?i.length-1:0,s=this.stickyHeaderEl.querySelectorAll(".lh-gauge__wrapper, .lh-fraction__wrapper"),c=s[r],g=s[0].getBoundingClientRect().left,p=c.getBoundingClientRect().left-g;this.highlightEl.style.transform=`translate(${p}px)`,this.stickyHeaderEl.classList.toggle("lh-sticky-header--visible",a)}};function Ua(n,e){let t=e?new Date(e):new Date,a=t.toLocaleTimeString("en-US",{hour12:!1}),o=t.toLocaleDateString("en-US",{year:"numeric",month:"2-digit",day:"2-digit"}).split("/");o.unshift(o.pop());let i=o.join("-");return`${n}_${i}_${a}`.replace(/[/?<>\\:*|"]/g,"-")}function La(n){let e=new URL(n.finalDisplayedUrl).hostname;return Ua(e,n.fetchTime)}function Ia(n){let e=n.steps[0].lhr,t=n.name.replace(/\s/g,"-");return Ua(t,e.fetchTime)}function Wo(n){return Array.from(n.tBodies[0].rows)}var St=class{constructor(e,t={}){this.json,this._dom=e,this._opts=t,this._topbar=t.omitTopbar?null:new kt(this,e),this.onMediaQueryChange=this.onMediaQueryChange.bind(this)}initFeatures(e){this.json=e,this._fullPageScreenshot=M.getFullPageScreenshot(e),this._topbar&&(this._topbar.enable(e),this._topbar.resetUIState()),this._setupMediaQueryListeners(),this._setupThirdPartyFilter(),this._setupElementScreenshotOverlay(this._dom.rootEl);let t=this._dom.isDevTools()||this._opts.disableDarkMode||this._opts.disableAutoDarkModeAndFireworks;!t&&window.matchMedia("(prefers-color-scheme: dark)").matches&&Re(this._dom,!0);let o=["performance","accessibility","best-practices","seo"].every(c=>{let g=e.categories[c];return g&&g.score===1}),i=this._opts.disableFireworks||this._opts.disableAutoDarkModeAndFireworks;if(o&&!i&&(this._enableFireworks(),t||Re(this._dom,!0)),e.categories.performance&&e.categories.performance.auditRefs.some(c=>!!(c.group==="metrics"&&e.audits[c.id].errorMessage))){let c=this._dom.find("input.lh-metrics-toggle__input",this._dom.rootEl);c.checked=!0}this.json.audits["script-treemap-data"]&&this.json.audits["script-treemap-data"].details&&this.addButton({text:k.strings.viewTreemapLabel,icon:"treemap",onClick:()=>xa(this.json)}),this._opts.onViewTrace&&(e.configSettings.throttlingMethod==="simulate"?this._dom.find('a[data-action="view-unthrottled-trace"]',this._dom.rootEl).classList.remove("lh-hidden"):this.addButton({text:k.strings.viewTraceLabel,onClick:()=>this._opts.onViewTrace?.()})),this._opts.getStandaloneReportHTML&&this._dom.find('a[data-action="save-html"]',this._dom.rootEl).classList.remove("lh-hidden");for(let c of this._dom.findAll("[data-i18n]",this._dom.rootEl)){let p=c.getAttribute("data-i18n");c.textContent=k.strings[p]}}addButton(e){let t=this._dom.rootEl.querySelector(".lh-audit-group--metrics");if(!t)return;let a=t.querySelector(".lh-buttons");a||(a=this._dom.createChildOf(t,"div","lh-buttons"));let o=["lh-button"];e.icon&&(o.push("lh-report-icon"),o.push(`lh-report-icon--${e.icon}`));let i=this._dom.createChildOf(a,"button",o.join(" "));return i.textContent=e.text,i.addEventListener("click",e.onClick),i}resetUIState(){this._topbar&&this._topbar.resetUIState()}getReportHtml(){if(!this._opts.getStandaloneReportHTML)throw new Error("`getStandaloneReportHTML` is not set");return this.resetUIState(),this._opts.getStandaloneReportHTML()}saveAsGist(){throw new Error("Cannot save as gist from base report")}_enableFireworks(){this._dom.find(".lh-scores-container",this._dom.rootEl).classList.add("lh-score100")}_setupMediaQueryListeners(){let e=self.matchMedia("(max-width: 500px)");e.addListener(this.onMediaQueryChange),this.onMediaQueryChange(e)}_resetUIState(){this._topbar&&this._topbar.resetUIState()}onMediaQueryChange(e){this._dom.rootEl.classList.toggle("lh-narrow",e.matches)}_setupThirdPartyFilter(){let e=["uses-rel-preconnect","third-party-facades"],t=["legacy-javascript"];Array.from(this._dom.rootEl.querySelectorAll("table.lh-table")).filter(i=>i.querySelector("td.lh-table-column--url, td.lh-table-column--source-location")).filter(i=>{let r=i.closest(".lh-audit");if(!r)throw new Error(".lh-table not within audit");return!e.includes(r.id)}).forEach(i=>{let r=Wo(i),s=r.filter(C=>!C.classList.contains("lh-sub-item-row")),c=this._getThirdPartyRows(s,M.getFinalDisplayedUrl(this.json)),g=r.some(C=>C.classList.contains("lh-row--even")),p=this._dom.createComponent("3pFilter"),v=this._dom.find("input",p);v.addEventListener("change",C=>{let _=C.target instanceof HTMLInputElement&&!C.target.checked,A=!0,x=s[0];for(;x;){let T=_&&c.includes(x);do x.classList.toggle("lh-row--hidden",T),g&&(x.classList.toggle("lh-row--even",!T&&A),x.classList.toggle("lh-row--odd",!T&&!A)),x=x.nextElementSibling;while(x&&x.classList.contains("lh-sub-item-row"));T||(A=!A)}});let h=c.filter(C=>!C.classList.contains("lh-row--group")).length;this._dom.find(".lh-3p-filter-count",p).textContent=`${h}`,this._dom.find(".lh-3p-ui-string",p).textContent=k.strings.thirdPartyResourcesLabel;let f=c.length===s.length,y=!c.length;if((f||y)&&(this._dom.find("div.lh-3p-filter",p).hidden=!0),!i.parentNode)return;i.parentNode.insertBefore(p,i);let S=i.closest(".lh-audit");if(!S)throw new Error(".lh-table not within audit");t.includes(S.id)&&!f&&v.click()})}_setupElementScreenshotOverlay(e){this._fullPageScreenshot&&Ce.installOverlayFeature({dom:this._dom,rootEl:e,overlayContainerEl:e,fullPageScreenshot:this._fullPageScreenshot})}_getThirdPartyRows(e,t){let a=M.getRootDomain(t),o=this.json.entities?.find(r=>r.isFirstParty===!0)?.name,i=[];for(let r of e){if(o){if(!r.dataset.entity||r.dataset.entity===o)continue}else{let s=r.querySelector("div.lh-text__url");if(!s)continue;let c=s.dataset.url;if(!c||!(M.getRootDomain(c)!==a))continue}i.push(r)}return i}_saveFile(e){let t=e.type.match("json")?".json":".html",a=La({finalDisplayedUrl:M.getFinalDisplayedUrl(this.json),fetchTime:this.json.fetchTime})+t;this._opts.onSaveFileOverride?this._opts.onSaveFileOverride(e,a):this._dom.saveFile(e,a)}};function Ea(n,e={}){let t=document.createElement("article");t.classList.add("lh-root","lh-vars");let a=new _e(t.ownerDocument,t);return new Ct(a).renderReport(n,t,e),new St(a,e).initFeatures(n),t}function Ta(n,e){let t=new _e(document,document.documentElement),a=new Te(t);return new le(t,a).renderCategoryScore(n,{},e)}function Ra(n,e){new _e(document,document.documentElement).saveFile(n,e)}function Na(n){return new _e(document,document.documentElement).convertMarkdownCodeSnippets(n)}function za(){return new _e(document,document.documentElement).createComponent("styles")}var Da=({category:n,href:e,gatherMode:t})=>{let a=be(()=>Ta(n,{gatherMode:t,omitLabel:!0,onPageAnchorRendered:o=>o.href=e}),[n,e]);return u("div",{ref:a,"data-testid":"CategoryScore"})};var ja=({text:n})=>{let e=be(()=>Na(n),[n]);return u("span",{ref:e})};var Jo=2;function qo(n,e){switch(n){case"navigation":return e.navigationReport;case"timespan":return e.timespanReport;case"snapshot":return e.snapshotReport}}function Ko(n,e){switch(n){case"pass":return e.ratingPass;case"average":return e.ratingAverage;case"fail":return e.ratingFail;case"error":return e.ratingError}}function Ma(n){return n.weight*(1-n.result.score)}function Wt(n){return n.result.details&&n.result.details.overallSavingsMs||0}var Zo=({audit:n})=>{let e=R.calculateRating(n.result.score,n.result.scoreDisplayMode);return u("div",{className:`SummaryTooltipAudit SummaryTooltipAudit--${e}`,children:u(ja,{text:n.result.title})})},Xo=({category:n})=>{let e=J();function t(o){return o.result.score!==null&&o.group!=="metrics"&&(o.group!=="hidden"||n.id!=="performance")&&(o.weight>0||Wt(o)>0)&&!R.showAsPassed(o.result)}let a=n.auditRefs.filter(t).sort((o,i)=>{let r=Ma(o),s=Ma(i);return r!==s?s-r:Wt(i)-Wt(o)}).splice(0,Jo);return a.length?u("div",{className:"SummaryTooltipAudits",children:[u("div",{className:"SummaryTooltipAudits__title",children:e.highestImpact}),a.map(o=>u(Zo,{audit:o},o.id))]}):null},Yo=({category:n,gatherMode:e,url:t})=>{let a=J(),o=bt(),{numPassed:i,numPassableAudits:r,numInformative:s,totalWeight:c}=R.calculateCategoryFraction(n),g=Be(),p=R.shouldDisplayAsFraction(e),v=p?i/r:n.score,h=v===null?"error":R.calculateRating(v);return u("div",{className:"SummaryTooltip",children:[u("div",{className:"SummaryTooltip__title",children:qo(e,a)}),u("div",{className:"SummaryTooltip__url",children:t}),u(ie,{}),u("div",{className:"SummaryTooltip__category",children:[u("div",{className:"SummaryTooltip__category-title",children:n.title}),c!==0&&u("div",{className:`SummaryTooltip__rating SummaryTooltip__rating--${h}`,children:[u("span",{children:Ko(h,a)}),!p&&n.score!==null&&u(W,{children:[u("span",{children:" · "}),u("span",{children:g.formatter.formatInteger(n.score*100)})]})]})]}),u("div",{className:"SummaryTooltip__fraction",children:[u("span",{children:o(a.passedAuditCount,{numPassed:i})}),u("span",{children:" / "}),u("span",{children:o(a.passableAuditCount,{numPassableAudits:r})})]}),s!==0&&u("div",{className:"SummaryTooltip__informative",children:o(a.informativeAuditCount,{numInformative:s})}),u(Xo,{category:n})]})},Fa=({category:n,href:e,gatherMode:t,finalDisplayedUrl:a})=>u("div",{className:"SummaryCategory",children:n?u("div",{className:"SummaryCategory__content",children:[u(Da,{category:n,href:e,gatherMode:t}),u(Yo,{category:n,gatherMode:t,url:a})]}):u("div",{className:"SummaryCategory__null","data-testid":"SummaryCategory__null"})});var Qo=["performance","accessibility","best-practices","seo"],er=40,tr=({lhr:n})=>{let e=J();return u("div",{className:"SummaryNavigationHeader","data-testid":"SummaryNavigationHeader",children:[u(ye,{}),u("div",{className:"SummaryNavigationHeader__url",children:u("a",{rel:"noopener",target:"_blank",href:n.finalDisplayedUrl,children:n.finalDisplayedUrl})}),u("div",{className:"SummaryNavigationHeader__category",children:e.categoryPerformance}),u("div",{className:"SummaryNavigationHeader__category",children:e.categoryAccessibility}),u("div",{className:"SummaryNavigationHeader__category",children:e.categoryBestPractices}),u("div",{className:"SummaryNavigationHeader__category",children:e.categorySeo})]})},nr=({lhr:n,label:e,hashIndex:t})=>{let a=ce(()=>R.prepareReportResult(n),[n]),o=J(),i=ft(n.gatherMode,o);return u("div",{className:"SummaryFlowStep",children:[n.gatherMode==="navigation"||t===0?u(tr,{lhr:n}):u("div",{className:"SummaryFlowStep__separator",children:[u(ye,{}),u(ie,{})]}),u(vt,{lhr:n,width:er}),u(ye,{mode:n.gatherMode}),u("div",{className:"SummaryFlowStep__label",children:[u("div",{className:"SummaryFlowStep__mode",children:i}),u("a",{className:"SummaryFlowStep__link",href:`#index=${t}`,children:e})]}),Qo.map(r=>u(Fa,{category:a.categories[r],href:`#index=${t}&anchor=${r}`,gatherMode:n.gatherMode,finalDisplayedUrl:n.finalDisplayedUrl},r))]})},ar=()=>{let n=ne();return u("div",{className:"SummaryFlow",children:n.steps.map((e,t)=>u(nr,{lhr:e.lhr,label:e.name,hashIndex:t},e.lhr.fetchTime))})},ir=()=>{let n=ne(),e=J(),t=bt(),a=0,o=0,i=0;for(let c of n.steps)switch(c.lhr.gatherMode){case"navigation":a++;break;case"timespan":o++;break;case"snapshot":i++;break}let r=[];a&&r.push(t(e.navigationReportCount,{numNavigation:a})),o&&r.push(t(e.timespanReportCount,{numTimespan:o})),i&&r.push(t(e.snapshotReportCount,{numSnapshot:i}));let s=r.join(" · ");return u("div",{className:"SummaryHeader",children:[u("div",{className:"SummaryHeader__title",children:e.summary}),u("div",{className:"SummaryHeader__subtitle",children:s})]})},or=({children:n})=>u("div",{className:"SummarySectionHeader",children:[u("div",{className:"SummarySectionHeader__content",children:n}),u(ie,{})]}),Ha=()=>{let n=J();return u("div",{className:"Summary","data-testid":"Summary",children:[u(ir,{}),u(ie,{}),u(or,{children:n.allReports}),u(ar,{})]})};function rr(n,e){let t=n.cloneNode(!0);if(!t.hash)return t;let a=n.hash.substr(1);t.hash=`#index=${e}&anchor=${a}`,t.onclick=o=>{o.preventDefault();let i=document.getElementById(a);i&&i.scrollIntoView()},n.replaceWith(t)}var Oa=({hashState:n})=>{let e=be(()=>Ea(n.currentLhr,{disableFireworks:!0,disableDarkMode:!0,omitTopbar:!0,omitGlobalStyles:!0,onPageAnchorRendered:t=>rr(t,n.index)}),[n]);return u("div",{ref:e,"data-testid":"Report"})};var Jt=n=>{let e=J();return u("div",{className:"HelpDialogColumn",children:[u("div",{className:"HelpDialogColumn__legend",children:[u("div",{className:"HelpDialogColumnTimeline",children:[n.icon,u("div",{className:"HelpDialogColumnTimeline__line"})]}),u("div",{className:"HelpDialogColumn__legend-label",children:n.userFriendlyModeLabel})]}),u("div",{className:"HelpDialogColumn__header",children:[u("div",{className:"HelpDialogColumn__header-title",children:n.lighthouseOfficialModeLabel}),u("p",{children:n.modeDescription})]}),u("div",{className:"HelpDialogColumn__use-cases",children:[u("p",{children:n.useCaseInstruction}),u("ul",{children:n.useCases.map((t,a)=>u("li",{children:t},a))})]}),u("div",{className:"HelpDialogColumn__categories",children:[u("p",{children:e.categories}),u("ul",{children:n.availableCategories.map((t,a)=>u("li",{children:t},a))})]})]})},Ba=({onClose:n})=>{let e=J();return u("div",{className:"HelpDialog",children:[u("div",{className:"HelpDialog__title",children:[u("div",{children:e.helpDialogTitle}),u("div",{style:{flexGrow:1}}),u("button",{className:"HelpDialog__close",onClick:n,children:u(Jn,{})})]}),u("div",{className:"HelpDialog__columns",children:[u(Jt,{icon:u(mt,{}),userFriendlyModeLabel:e.navigationDescription,lighthouseOfficialModeLabel:e.navigationReport,modeDescription:e.navigationLongDescription,useCaseInstruction:e.helpUseCaseInstructionNavigation,useCases:[e.helpUseCaseNavigation1,e.helpUseCaseNavigation2,e.helpUseCaseNavigation3],availableCategories:[e.categoryPerformance,e.categoryAccessibility,e.categoryBestPractices,e.categorySeo,e.categoryProgressiveWebApp]}),u(Jt,{icon:u(gt,{}),userFriendlyModeLabel:e.timespanDescription,lighthouseOfficialModeLabel:e.timespanReport,modeDescription:e.timespanLongDescription,useCaseInstruction:e.helpUseCaseInstructionTimespan,useCases:[e.helpUseCaseTimespan1,e.helpUseCaseTimespan2],availableCategories:[e.categoryPerformance,e.categoryBestPractices]}),u(Jt,{icon:u(ht,{}),userFriendlyModeLabel:e.snapshotDescription,lighthouseOfficialModeLabel:e.snapshotReport,modeDescription:e.snapshotLongDescription,useCaseInstruction:e.helpUseCaseInstructionSnapshot,useCases:[e.helpUseCaseSnapshot1,e.helpUseCaseSnapshot2],availableCategories:[e.categoryPerformance,e.categoryAccessibility,e.categoryBestPractices,e.categorySeo]})]})]})};function qt(n,e){let t=new Blob([e],{type:"text/html"}),a=Ia(n)+".html";qt.saveFile(t,a)}qt.saveFile=Ra;var sr=()=>u("svg",{role:"img",class:"lh-topbar__logo",title:"Lighthouse logo",width:"24",height:"24",fill:"none",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 48 48",children:[u("path",{d:"m14 7 10-7 10 7v10h5v7h-5l5 24H9l5-24H9v-7h5V7Z",fill:"#F63"}),u("path",{d:"M31.561 24H14l-1.689 8.105L31.561 24ZM18.983 48H9l1.022-4.907L35.723 32.27l1.663 7.98L18.983 48Z",fill:"#FFA385"}),u("path",{fill:"#FF3",d:"M20.5 10h7v7h-7z"})]}),At=({onClick:n,label:e,children:t})=>u("button",{className:"TopbarButton",onClick:n,"aria-label":e,children:t}),$a=({onMenuClick:n})=>{let e=ne(),t=J(),[a,o]=ve(!1),{getReportHtml:i,saveAsGist:r}=na();return u("div",{className:"Topbar",children:[u(At,{onClick:n,label:"Button that opens and closes the sidebar",children:u(Xn,{})}),u("div",{className:"Topbar__logo",children:u(sr,{})}),u("div",{className:"Topbar__title",children:t.title}),i&&u(At,{onClick:()=>{let s=i(e);qt(e,s)},label:"Button that saves the report as HTML",children:t.save}),r&&u(At,{onClick:()=>r(e),label:"Button that saves the report to a gist",children:t.dropdownSaveGist}),u("div",{style:{flexGrow:1}}),u(At,{onClick:()=>o(s=>!s),label:"Button that toggles the help dialog",children:u("div",{className:"Topbar__help-label",children:[u(Yn,{}),t.helpLabel]})}),a?u(Ba,{onClose:()=>o(!1)}):null]})};var lr=80,pr=120,Kt=({lhr:n,position:e})=>{let t=e==="main"?pr:lr;return u("div",{className:`HeaderThumbnail HeaderThumbnail--${e}`,children:[u(vt,{lhr:n,height:t}),u("div",{className:"HeaderThumbnail__icon",children:u(Ht,{mode:n.gatherMode})})]})},Ga=({hashState:n})=>{let e=ne(),{index:t}=n,a=e.steps[t],o=e.steps[t-1],i=e.steps[t+1],r=J(),s=ft(a.lhr.gatherMode,r);return u("div",{className:"Header",children:[o&&u(W,{children:[e.steps[t-2]&&u("div",{className:"Header__segment"}),u("div",{className:"Header__prev-thumbnail",children:[u(Kt,{lhr:o.lhr,position:"prev"}),u("div",{className:"Header__segment"})]}),u("a",{className:"Header__prev-title",href:`#index=${t-1}`,children:o.name})]}),u("div",{className:"Header__current-thumbnail",children:u(Kt,{lhr:a.lhr,position:"main"})}),u("div",{className:"Header__current-title",children:[a.name,u("div",{className:"Header__current-description",children:s})]}),i&&u(W,{children:[u("div",{className:"Header__next-thumbnail",children:[u("div",{className:"Header__segment"}),u(Kt,{lhr:i.lhr,position:"next"})]}),u("a",{className:"Header__next-title",href:`#index=${t+1}`,children:i.name}),e.steps[t+2]&&u("div",{className:"Header__segment"})]})]})};var Va=()=>{let n=be(za);return u("div",{ref:n})};function ur(n){return!n||!n.anchor?null:document.getElementById(n.anchor)}var cr=()=>{let n=Ie(),e=ct(null);return ut(()=>{let t=ur(n);t?t.scrollIntoView():e.current&&(e.current.scrollTop=0)},[n]),u("div",{ref:e,className:"Content",children:n?u(W,{children:[u(Ga,{hashState:n}),u(Oa,{hashState:n})]}):u(Ha,{})})},Wa=({flowResult:n,options:e})=>{let[t,a]=ve(!1),o=ce(()=>e||{},[e]);return u(Ft.Provider,{value:o,children:u(Mt.Provider,{value:n,children:u(fa,{children:[u(Va,{}),u("div",{className:Le("App",{"App--collapsed":t}),"data-testid":"App",children:[u($a,{onMenuClick:()=>a(i=>!i)}),u(ba,{}),u(cr,{})]})]})})})};function Ja(n,e,t){e.classList.add("flow-vars","lh-vars","lh-root"),En(Nt(Wa,{flowResult:n,options:t}),e)}function dr(){let n=document.body.querySelector("main");if(!n)throw Error("Container element not found");Ja(window.__LIGHTHOUSE_FLOW_JSON__,n,{getReportHtml:()=>document.documentElement.outerHTML})}window.__initLighthouseFlowReport__=dr;window.__initLighthouseFlowReport__();})();
|
|
2690
|
+
`),e.append(t);let a=n.createElement("div","lh-topbar"),o=n.createElementNS("http://www.w3.org/2000/svg","svg","lh-topbar__logo");o.setAttribute("role","img"),o.setAttribute("title","Lighthouse logo"),o.setAttribute("fill","none"),o.setAttribute("xmlns","http://www.w3.org/2000/svg"),o.setAttribute("viewBox","0 0 48 48");let i=n.createElementNS("http://www.w3.org/2000/svg","path");i.setAttribute("d","m14 7 10-7 10 7v10h5v7h-5l5 24H9l5-24H9v-7h5V7Z"),i.setAttribute("fill","#F63");let r=n.createElementNS("http://www.w3.org/2000/svg","path");r.setAttribute("d","M31.561 24H14l-1.689 8.105L31.561 24ZM18.983 48H9l1.022-4.907L35.723 32.27l1.663 7.98L18.983 48Z"),r.setAttribute("fill","#FFA385");let s=n.createElementNS("http://www.w3.org/2000/svg","path");s.setAttribute("fill","#FF3"),s.setAttribute("d","M20.5 10h7v7h-7z"),o.append(" ",i," ",r," ",s," ");let c=n.createElement("a","lh-topbar__url");c.setAttribute("href",""),c.setAttribute("target","_blank"),c.setAttribute("rel","noopener");let g=n.createElement("div","lh-tools"),p=n.createElement("div","lh-tools-locale lh-hidden"),v=n.createElement("button","lh-button lh-tool-locale__button");v.setAttribute("id","lh-button__swap-locales"),v.setAttribute("title","Show Language Picker"),v.setAttribute("aria-label","Toggle language picker"),v.setAttribute("aria-haspopup","menu"),v.setAttribute("aria-expanded","false"),v.setAttribute("aria-controls","lh-tools-locale__selector-wrapper");let h=n.createElementNS("http://www.w3.org/2000/svg","svg");h.setAttribute("width","20px"),h.setAttribute("height","20px"),h.setAttribute("viewBox","0 0 24 24"),h.setAttribute("fill","currentColor");let f=n.createElementNS("http://www.w3.org/2000/svg","path");f.setAttribute("d","M0 0h24v24H0V0z"),f.setAttribute("fill","none");let y=n.createElementNS("http://www.w3.org/2000/svg","path");y.setAttribute("d","M12.87 15.07l-2.54-2.51.03-.03c1.74-1.94 2.98-4.17 3.71-6.53H17V4h-7V2H8v2H1v1.99h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11.76-2.04zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2l-4.5-12zm-2.62 7l1.62-4.33L19.12 17h-3.24z"),h.append(f,y),v.append(" ",h," ");let S=n.createElement("div","lh-tools-locale__selector-wrapper");S.setAttribute("id","lh-tools-locale__selector-wrapper"),S.setAttribute("role","menu"),S.setAttribute("aria-labelledby","lh-button__swap-locales"),S.setAttribute("aria-hidden","true"),S.append(" "," "),p.append(" ",v," ",S," ");let C=n.createElement("button","lh-tools__button");C.setAttribute("id","lh-tools-button"),C.setAttribute("title","Tools menu"),C.setAttribute("aria-label","Toggle report tools menu"),C.setAttribute("aria-haspopup","menu"),C.setAttribute("aria-expanded","false"),C.setAttribute("aria-controls","lh-tools-dropdown");let _=n.createElementNS("http://www.w3.org/2000/svg","svg");_.setAttribute("width","100%"),_.setAttribute("height","100%"),_.setAttribute("viewBox","0 0 24 24");let P=n.createElementNS("http://www.w3.org/2000/svg","path");P.setAttribute("d","M0 0h24v24H0z"),P.setAttribute("fill","none");let x=n.createElementNS("http://www.w3.org/2000/svg","path");x.setAttribute("d","M12 8c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2zm0 2c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm0 6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2z"),_.append(" ",P," ",x," "),C.append(" ",_," ");let T=n.createElement("div","lh-tools__dropdown");T.setAttribute("id","lh-tools-dropdown"),T.setAttribute("role","menu"),T.setAttribute("aria-labelledby","lh-tools-button");let D=n.createElement("a","lh-report-icon lh-report-icon--print");D.setAttribute("role","menuitem"),D.setAttribute("tabindex","-1"),D.setAttribute("href","#"),D.setAttribute("data-i18n","dropdownPrintSummary"),D.setAttribute("data-action","print-summary");let B=n.createElement("a","lh-report-icon lh-report-icon--print");B.setAttribute("role","menuitem"),B.setAttribute("tabindex","-1"),B.setAttribute("href","#"),B.setAttribute("data-i18n","dropdownPrintExpanded"),B.setAttribute("data-action","print-expanded");let $=n.createElement("a","lh-report-icon lh-report-icon--copy");$.setAttribute("role","menuitem"),$.setAttribute("tabindex","-1"),$.setAttribute("href","#"),$.setAttribute("data-i18n","dropdownCopyJSON"),$.setAttribute("data-action","copy");let q=n.createElement("a","lh-report-icon lh-report-icon--download lh-hidden");q.setAttribute("role","menuitem"),q.setAttribute("tabindex","-1"),q.setAttribute("href","#"),q.setAttribute("data-i18n","dropdownSaveHTML"),q.setAttribute("data-action","save-html");let K=n.createElement("a","lh-report-icon lh-report-icon--download");K.setAttribute("role","menuitem"),K.setAttribute("tabindex","-1"),K.setAttribute("href","#"),K.setAttribute("data-i18n","dropdownSaveJSON"),K.setAttribute("data-action","save-json");let F=n.createElement("a","lh-report-icon lh-report-icon--open");F.setAttribute("role","menuitem"),F.setAttribute("tabindex","-1"),F.setAttribute("href","#"),F.setAttribute("data-i18n","dropdownViewer"),F.setAttribute("data-action","open-viewer");let G=n.createElement("a","lh-report-icon lh-report-icon--open");G.setAttribute("role","menuitem"),G.setAttribute("tabindex","-1"),G.setAttribute("href","#"),G.setAttribute("data-i18n","dropdownSaveGist"),G.setAttribute("data-action","save-gist");let Z=n.createElement("a","lh-report-icon lh-report-icon--open lh-hidden");Z.setAttribute("role","menuitem"),Z.setAttribute("tabindex","-1"),Z.setAttribute("href","#"),Z.setAttribute("data-i18n","dropdownViewUnthrottledTrace"),Z.setAttribute("data-action","view-unthrottled-trace");let Y=n.createElement("a","lh-report-icon lh-report-icon--dark");return Y.setAttribute("role","menuitem"),Y.setAttribute("tabindex","-1"),Y.setAttribute("href","#"),Y.setAttribute("data-i18n","dropdownDarkTheme"),Y.setAttribute("data-action","toggle-dark"),T.append(" ",D," ",B," ",$," "," ",q," ",K," ",F," ",G," "," ",Z," ",Y," "),g.append(" ",p," ",C," ",T," "),a.append(" "," ",o," ",c," ",g," "),e.append(a),e}function No(n){let e=n.createFragment(),t=n.createElement("div","lh-warnings lh-warnings--toplevel"),a=n.createElement("p","lh-warnings__msg"),o=n.createElement("ul");return t.append(" ",a," ",o," "),e.append(t),e}function ya(n,e){switch(e){case"3pFilter":return uo(n);case"audit":return co(n);case"categoryHeader":return mo(n);case"chevron":return go(n);case"clump":return ho(n);case"crc":return fo(n);case"crcChain":return vo(n);case"elementScreenshot":return bo(n);case"explodeyGauge":return yo(n);case"footer":return _o(n);case"fraction":return Co(n);case"gauge":return wo(n);case"gaugePwa":return ko(n);case"heading":return So(n);case"metric":return Ao(n);case"scorescale":return Po(n);case"scoresWrapper":return xo(n);case"snippet":return Uo(n);case"snippetContent":return Lo(n);case"snippetHeader":return Io(n);case"snippetLine":return Eo(n);case"styles":return To(n);case"topbar":return Ro(n);case"warningsToplevel":return No(n)}throw new Error("unexpected component: "+e)}var _e=class{constructor(e,t){this._document=e,this._lighthouseChannel="unknown",this._componentCache=new Map,this.rootEl=t}createElement(e,t){let a=this._document.createElement(e);if(t)for(let o of t.split(/\s+/))o&&a.classList.add(o);return a}createElementNS(e,t,a){let o=this._document.createElementNS(e,t);if(a)for(let i of a.split(/\s+/))i&&o.classList.add(i);return o}createSVGElement(e,t){return this._document.createElementNS("http://www.w3.org/2000/svg",e,t)}createFragment(){return this._document.createDocumentFragment()}createTextNode(e){return this._document.createTextNode(e)}createChildOf(e,t,a){let o=this.createElement(t,a);return e.append(o),o}createComponent(e){let t=this._componentCache.get(e);if(t){let o=t.cloneNode(!0);return this.findAll("style",o).forEach(i=>i.remove()),o}return t=ya(this,e),this._componentCache.set(e,t),t.cloneNode(!0)}clearComponentCache(){this._componentCache.clear()}convertMarkdownLinkSnippets(e,t={}){let a=this.createElement("span");for(let o of M.splitMarkdownLink(e)){let i=o.text.includes("`")?this.convertMarkdownCodeSnippets(o.text):o.text;if(!o.isLink){a.append(i);continue}let r=new URL(o.linkHref);(["https://developers.google.com","https://web.dev","https://developer.chrome.com"].includes(r.origin)||t.alwaysAppendUtmSource)&&(r.searchParams.set("utm_source","lighthouse"),r.searchParams.set("utm_medium",this._lighthouseChannel));let c=this.createElement("a");c.rel="noopener",c.target="_blank",c.append(i),this.safelySetHref(c,r.href),a.append(c)}return a}safelySetHref(e,t){if(t=t||"",t.startsWith("#")){e.href=t;return}let a=["https:","http:"],o;try{o=new URL(t)}catch{}o&&a.includes(o.protocol)&&(e.href=o.href)}safelySetBlobHref(e,t){if(t.type!=="text/html"&&t.type!=="application/json")throw new Error("Unsupported blob type");let a=URL.createObjectURL(t);e.href=a}convertMarkdownCodeSnippets(e){let t=this.createElement("span");for(let a of M.splitMarkdownCodeSpans(e))if(a.isCode){let o=this.createElement("code");o.textContent=a.text,t.append(o)}else t.append(this._document.createTextNode(a.text));return t}setLighthouseChannel(e){this._lighthouseChannel=e}document(){return this._document}isDevTools(){return!!this._document.querySelector(".lh-devtools")}find(e,t){let a=this.maybeFind(e,t);if(a===null)throw new Error(`query ${e} not found`);return a}maybeFind(e,t){return t.querySelector(e)}findAll(e,t){return Array.from(t.querySelectorAll(e))}fireEventOn(e,t=this._document,a){let o=new CustomEvent(e,a?{detail:a}:void 0);t.dispatchEvent(o)}saveFile(e,t){let a=this.createElement("a");a.download=t,this.safelySetBlobHref(a,e),this._document.body.append(a),a.click(),this._document.body.removeChild(a),setTimeout(()=>URL.revokeObjectURL(a.href),500)}};var le=class{constructor(e,t){this.dom=e,this.detailsRenderer=t}get _clumpTitles(){return{warning:k.strings.warningAuditsGroupTitle,manual:k.strings.manualAuditsGroupTitle,passed:k.strings.passedAuditsGroupTitle,notApplicable:k.strings.notApplicableAuditsGroupTitle}}renderAudit(e){let t=this.dom.createComponent("audit");return this.populateAuditValues(e,t)}populateAuditValues(e,t){let a=k.strings,o=this.dom.find(".lh-audit",t);o.id=e.result.id;let i=e.result.scoreDisplayMode;e.result.displayValue&&(this.dom.find(".lh-audit__display-text",o).textContent=e.result.displayValue);let r=this.dom.find(".lh-audit__title",o);r.append(this.dom.convertMarkdownCodeSnippets(e.result.title));let s=this.dom.find(".lh-audit__description",o);s.append(this.dom.convertMarkdownLinkSnippets(e.result.description));for(let h of e.relevantMetrics||[]){let f=this.dom.createChildOf(s,"span","lh-audit__adorn");f.title=`Relevant to ${h.result.title}`,f.textContent=h.acronym||h.id}e.stackPacks&&e.stackPacks.forEach(h=>{let f=this.dom.createElement("img","lh-audit__stackpack__img");f.src=h.iconDataURL,f.alt=h.title;let y=this.dom.convertMarkdownLinkSnippets(h.description,{alwaysAppendUtmSource:!0}),S=this.dom.createElement("div","lh-audit__stackpack");S.append(f,y),this.dom.find(".lh-audit__stackpacks",o).append(S)});let c=this.dom.find("details",o);if(e.result.details){let h=this.detailsRenderer.render(e.result.details);h&&(h.classList.add("lh-details"),c.append(h))}if(this.dom.find(".lh-chevron-container",o).append(this._createChevron()),this._setRatingClass(o,e.result.score,i),e.result.scoreDisplayMode==="error"){o.classList.add("lh-audit--error");let h=this.dom.find(".lh-audit__display-text",o);h.textContent=a.errorLabel,h.classList.add("lh-tooltip-boundary");let f=this.dom.createChildOf(h,"div","lh-tooltip lh-tooltip--error");f.textContent=e.result.errorMessage||a.errorMissingAuditInfo}else if(e.result.explanation){let h=this.dom.createChildOf(r,"div","lh-audit-explanation");h.textContent=e.result.explanation}let g=e.result.warnings;if(!g||g.length===0)return o;let p=this.dom.find("summary",c),v=this.dom.createChildOf(p,"div","lh-warnings");if(this.dom.createChildOf(v,"span").textContent=a.warningHeader,g.length===1)v.append(this.dom.createTextNode(g.join("")));else{let h=this.dom.createChildOf(v,"ul");for(let f of g){let y=this.dom.createChildOf(h,"li");y.textContent=f}}return o}injectFinalScreenshot(e,t,a){let o=t["final-screenshot"];if(!o||o.scoreDisplayMode==="error"||!o.details||o.details.type!=="screenshot")return null;let i=this.dom.createElement("img","lh-final-ss-image"),r=o.details.data;i.src=r,i.alt=o.title;let s=this.dom.find(".lh-category .lh-category-header",e),c=this.dom.createElement("div","lh-category-headercol"),g=this.dom.createElement("div","lh-category-headercol lh-category-headercol--separator"),p=this.dom.createElement("div","lh-category-headercol");c.append(...s.childNodes),c.append(a),p.append(i),s.append(c,g,p),s.classList.add("lh-category-header__finalscreenshot")}_createChevron(){let e=this.dom.createComponent("chevron");return this.dom.find("svg.lh-chevron",e)}_setRatingClass(e,t,a){let o=R.calculateRating(t,a);return e.classList.add(`lh-audit--${a.toLowerCase()}`),a!=="informative"&&e.classList.add(`lh-audit--${o}`),e}renderCategoryHeader(e,t,a){let o=this.dom.createComponent("categoryHeader"),i=this.dom.find(".lh-score__gauge",o),r=this.renderCategoryScore(e,t,a);if(i.append(r),e.description){let s=this.dom.convertMarkdownLinkSnippets(e.description);this.dom.find(".lh-category-header__description",o).append(s)}return o}renderAuditGroup(e){let t=this.dom.createElement("div","lh-audit-group"),a=this.dom.createElement("div","lh-audit-group__header");this.dom.createChildOf(a,"span","lh-audit-group__title").textContent=e.title,t.append(a);let o=null;return e.description&&(o=this.dom.convertMarkdownLinkSnippets(e.description),o.classList.add("lh-audit-group__description","lh-audit-group__footer"),t.append(o)),[t,o]}_renderGroupedAudits(e,t){let a=new Map,o="NotAGroup";a.set(o,[]);for(let r of e){let s=r.group||o;if(s==="hidden")continue;let c=a.get(s)||[];c.push(r),a.set(s,c)}let i=[];for(let[r,s]of a){if(r===o){for(let v of s)i.push(this.renderAudit(v));continue}let c=t[r],[g,p]=this.renderAuditGroup(c);for(let v of s)g.insertBefore(this.renderAudit(v),p);g.classList.add(`lh-audit-group--${r}`),i.push(g)}return i}renderUnexpandableClump(e,t){let a=this.dom.createElement("div");return this._renderGroupedAudits(e,t).forEach(i=>a.append(i)),a}renderClump(e,{auditRefs:t,description:a,openByDefault:o}){let i=this.dom.createComponent("clump"),r=this.dom.find(".lh-clump",i);o&&r.setAttribute("open","");let s=this.dom.find(".lh-audit-group__header",r),c=this._clumpTitles[e];this.dom.find(".lh-audit-group__title",s).textContent=c;let g=this.dom.find(".lh-audit-group__itemcount",r);g.textContent=`(${t.length})`;let p=t.map(this.renderAudit.bind(this));r.append(...p);let v=this.dom.find(".lh-audit-group",i);if(a){let h=this.dom.convertMarkdownLinkSnippets(a);h.classList.add("lh-audit-group__description","lh-audit-group__footer"),v.append(h)}return this.dom.find(".lh-clump-toggletext--show",v).textContent=k.strings.show,this.dom.find(".lh-clump-toggletext--hide",v).textContent=k.strings.hide,r.classList.add(`lh-clump--${e.toLowerCase()}`),v}renderCategoryScore(e,t,a){let o;if(a&&R.shouldDisplayAsFraction(a.gatherMode)?o=this.renderCategoryFraction(e):o=this.renderScoreGauge(e,t),a?.omitLabel&&this.dom.find(".lh-gauge__label,.lh-fraction__label",o).remove(),a?.onPageAnchorRendered){let i=this.dom.find("a",o);a.onPageAnchorRendered(i)}return o}renderScoreGauge(e,t){let a=this.dom.createComponent("gauge"),o=this.dom.find("a.lh-gauge__wrapper",a);R.isPluginCategory(e.id)&&o.classList.add("lh-gauge__wrapper--plugin");let i=Number(e.score),r=this.dom.find(".lh-gauge",a),s=this.dom.find("circle.lh-gauge-arc",r);s&&this._setGaugeArc(s,i);let c=Math.round(i*100),g=this.dom.find("div.lh-gauge__percentage",a);return g.textContent=c.toString(),e.score===null&&(g.classList.add("lh-gauge--error"),g.textContent="",g.title=k.strings.errorLabel),e.auditRefs.length===0||this.hasApplicableAudits(e)?o.classList.add(`lh-gauge__wrapper--${R.calculateRating(e.score)}`):(o.classList.add("lh-gauge__wrapper--not-applicable"),g.textContent="-",g.title=k.strings.notApplicableAuditsGroupTitle),this.dom.find(".lh-gauge__label",a).textContent=e.title,a}renderCategoryFraction(e){let t=this.dom.createComponent("fraction"),a=this.dom.find("a.lh-fraction__wrapper",t),{numPassed:o,numPassableAudits:i,totalWeight:r}=R.calculateCategoryFraction(e),s=o/i,c=this.dom.find(".lh-fraction__content",t),g=this.dom.createElement("span");g.textContent=`${o}/${i}`,c.append(g);let p=R.calculateRating(s);return r===0&&(p="null"),a.classList.add(`lh-fraction__wrapper--${p}`),this.dom.find(".lh-fraction__label",t).textContent=e.title,t}hasApplicableAudits(e){return e.auditRefs.some(t=>t.result.scoreDisplayMode!=="notApplicable")}_setGaugeArc(e,t){let a=2*Math.PI*Number(e.getAttribute("r")),o=Number(e.getAttribute("stroke-width")),i=.25*o/a;e.style.transform=`rotate(${-90+i*360}deg)`;let r=t*a-o/2;t===0&&(e.style.opacity="0"),t===1&&(r=a),e.style.strokeDasharray=`${Math.max(r,0)} ${a}`}_auditHasWarning(e){return!!e.result.warnings?.length}_getClumpIdForAuditRef(e){let t=e.result.scoreDisplayMode;return t==="manual"||t==="notApplicable"?t:R.showAsPassed(e.result)?this._auditHasWarning(e)?"warning":"passed":"failed"}render(e,t={},a){let o=this.dom.createElement("div","lh-category");o.id=e.id,o.append(this.renderCategoryHeader(e,t,a));let i=new Map;i.set("failed",[]),i.set("warning",[]),i.set("manual",[]),i.set("passed",[]),i.set("notApplicable",[]);for(let s of e.auditRefs){let c=this._getClumpIdForAuditRef(s),g=i.get(c);g.push(s),i.set(c,g)}for(let s of i.values())s.sort((c,g)=>g.weight-c.weight);let r=i.get("failed")?.length;for(let[s,c]of i){if(c.length===0)continue;if(s==="failed"){let h=this.renderUnexpandableClump(c,t);h.classList.add("lh-clump--failed"),o.append(h);continue}let g=s==="manual"?e.manualDescription:void 0,p=s==="warning"||s==="manual"&&r===0,v=this.renderClump(s,{auditRefs:c,description:g,openByDefault:p});o.append(v)}return o}};var $e=class{static initTree(e){let t=0,a=Object.keys(e);return a.length>0&&(t=e[a[0]].request.startTime),{tree:e,startTime:t,transferSize:0}}static createSegment(e,t,a,o,i,r){let s=e[t],c=Object.keys(e),g=c.indexOf(t)===c.length-1,p=!!s.children&&Object.keys(s.children).length>0,v=Array.isArray(i)?i.slice(0):[];return typeof r<"u"&&v.push(!r),{node:s,isLastChild:g,hasChildren:p,startTime:a,transferSize:o+s.request.transferSize,treeMarkers:v}}static createChainNode(e,t,a){let o=e.createComponent("crcChain");e.find(".lh-crc-node",o).setAttribute("title",t.node.request.url);let i=e.find(".lh-crc-node__tree-marker",o);t.treeMarkers.forEach(v=>{let h=v?"lh-tree-marker lh-vert":"lh-tree-marker";i.append(e.createElement("span",h),e.createElement("span","lh-tree-marker"))});let r=t.isLastChild?"lh-tree-marker lh-up-right":"lh-tree-marker lh-vert-right",s=t.hasChildren?"lh-tree-marker lh-horiz-down":"lh-tree-marker lh-right";i.append(e.createElement("span",r),e.createElement("span","lh-tree-marker lh-right"),e.createElement("span",s));let c=t.node.request.url,g=a.renderTextURL(c),p=e.find(".lh-crc-node__tree-value",o);if(p.append(g),!t.hasChildren){let{startTime:v,endTime:h,transferSize:f}=t.node.request,y=e.createElement("span","lh-crc-node__chain-duration");y.textContent=" - "+k.i18n.formatMilliseconds((h-v)*1e3)+", ";let S=e.createElement("span","lh-crc-node__chain-duration");S.textContent=k.i18n.formatBytesToKiB(f,.01),p.append(y,S)}return o}static buildTree(e,t,a,o,i,r){if(o.append(Ee.createChainNode(e,a,r)),a.node.children)for(let s of Object.keys(a.node.children)){let c=Ee.createSegment(a.node.children,s,a.startTime,a.transferSize,a.treeMarkers,a.isLastChild);Ee.buildTree(e,t,c,o,i,r)}}static render(e,t,a){let o=e.createComponent("crc"),i=e.find(".lh-crc",o);e.find(".lh-crc-initial-nav",o).textContent=k.strings.crcInitialNavigation,e.find(".lh-crc__longest_duration_label",o).textContent=k.strings.crcLongestDurationLabel,e.find(".lh-crc__longest_duration",o).textContent=k.i18n.formatMilliseconds(t.longestChain.duration);let r=Ee.initTree(t.chains);for(let s of Object.keys(r.tree)){let c=Ee.createSegment(r.tree,s,r.startTime,r.transferSize);Ee.buildTree(e,o,c,i,t,a)}return e.find(".lh-crc-container",o)}},Ee=$e;function zo(n,e){return e.left<=n.width&&0<=e.right&&e.top<=n.height&&0<=e.bottom}function _a(n,e,t){return n<e?e:n>t?t:n}function Do(n){return{x:n.left+n.width/2,y:n.top+n.height/2}}var Ce=class n{static getScreenshotPositions(e,t,a){let o=Do(e),i=_a(o.x-t.width/2,0,a.width-t.width),r=_a(o.y-t.height/2,0,a.height-t.height);return{screenshot:{left:i,top:r},clip:{left:e.left-i,top:e.top-r}}}static renderClipPathInScreenshot(e,t,a,o,i){let r=e.find("clipPath",t),s=`clip-${k.getUniqueSuffix()}`;r.id=s,t.style.clipPath=`url(#${s})`;let c=a.top/i.height,g=c+o.height/i.height,p=a.left/i.width,v=p+o.width/i.width,h=[`0,0 1,0 1,${c} 0,${c}`,`0,${g} 1,${g} 1,1 0,1`,`0,${c} ${p},${c} ${p},${g} 0,${g}`,`${v},${c} 1,${c} 1,${g} ${v},${g}`];for(let f of h){let y=e.createElementNS("http://www.w3.org/2000/svg","polygon");y.setAttribute("points",f),r.append(y)}}static installFullPageScreenshot(e,t){e.style.setProperty("--element-screenshot-url",`url('${t.data}')`)}static installOverlayFeature(e){let{dom:t,rootEl:a,overlayContainerEl:o,fullPageScreenshot:i}=e,r="lh-screenshot-overlay--enabled";a.classList.contains(r)||(a.classList.add(r),a.addEventListener("click",s=>{let c=s.target;if(!c)return;let g=c.closest(".lh-node > .lh-element-screenshot");if(!g)return;let p=t.createElement("div","lh-element-screenshot__overlay");o.append(p);let v={width:p.clientWidth*.95,height:p.clientHeight*.8},h={width:Number(g.dataset.rectWidth),height:Number(g.dataset.rectHeight),left:Number(g.dataset.rectLeft),right:Number(g.dataset.rectLeft)+Number(g.dataset.rectWidth),top:Number(g.dataset.rectTop),bottom:Number(g.dataset.rectTop)+Number(g.dataset.rectHeight)},f=n.render(t,i.screenshot,h,v);if(!f){p.remove();return}p.append(f),p.addEventListener("click",()=>p.remove())}))}static _computeZoomFactor(e,t){let o={x:t.width/e.width,y:t.height/e.height},i=.75*Math.min(o.x,o.y);return Math.min(1,i)}static render(e,t,a,o){if(!zo(t,a))return null;let i=e.createComponent("elementScreenshot"),r=e.find("div.lh-element-screenshot",i);r.dataset.rectWidth=a.width.toString(),r.dataset.rectHeight=a.height.toString(),r.dataset.rectLeft=a.left.toString(),r.dataset.rectTop=a.top.toString();let s=this._computeZoomFactor(a,o),c={width:o.width/s,height:o.height/s};c.width=Math.min(t.width,c.width),c.height=Math.min(t.height,c.height);let g={width:c.width*s,height:c.height*s},p=n.getScreenshotPositions(a,c,{width:t.width,height:t.height}),v=e.find("div.lh-element-screenshot__image",r);v.style.width=g.width+"px",v.style.height=g.height+"px",v.style.backgroundPositionY=-(p.screenshot.top*s)+"px",v.style.backgroundPositionX=-(p.screenshot.left*s)+"px",v.style.backgroundSize=`${t.width*s}px ${t.height*s}px`;let h=e.find("div.lh-element-screenshot__element-marker",r);h.style.width=a.width*s+"px",h.style.height=a.height*s+"px",h.style.left=p.clip.left*s+"px",h.style.top=p.clip.top*s+"px";let f=e.find("div.lh-element-screenshot__mask",r);return f.style.width=g.width+"px",f.style.height=g.height+"px",n.renderClipPathInScreenshot(e,f,p.clip,a,c),r}};var jo=["http://","https://","data:"],Mo=["bytes","numeric","ms","timespanMs"],Te=class{constructor(e,t={}){this._dom=e,this._fullPageScreenshot=t.fullPageScreenshot,this._entities=t.entities}render(e){switch(e.type){case"filmstrip":return this._renderFilmstrip(e);case"list":return this._renderList(e);case"table":case"opportunity":return this._renderTable(e);case"criticalrequestchain":return $e.render(this._dom,e,this);case"screenshot":case"debugdata":case"treemap-data":return null;default:return this._renderUnknown(e.type,e)}}_renderBytes(e){let t=k.i18n.formatBytesToKiB(e.value,e.granularity||.1),a=this._renderText(t);return a.title=k.i18n.formatBytes(e.value),a}_renderMilliseconds(e){let t;return e.displayUnit==="duration"?t=k.i18n.formatDuration(e.value):t=k.i18n.formatMilliseconds(e.value,e.granularity||10),this._renderText(t)}renderTextURL(e){let t=e,a,o,i;try{let s=M.parseURL(t);a=s.file==="/"?s.origin:s.file,o=s.file==="/"||s.hostname===""?"":`(${s.hostname})`,i=t}catch{a=t}let r=this._dom.createElement("div","lh-text__url");if(r.append(this._renderLink({text:a,url:t})),o){let s=this._renderText(o);s.classList.add("lh-text__url-host"),r.append(s)}return i&&(r.title=t,r.dataset.url=t),r}_renderLink(e){let t=this._dom.createElement("a");if(this._dom.safelySetHref(t,e.url),!t.href){let a=this._renderText(e.text);return a.classList.add("lh-link"),a}return t.rel="noopener",t.target="_blank",t.textContent=e.text,t.classList.add("lh-link"),t}_renderText(e){let t=this._dom.createElement("div","lh-text");return t.textContent=e,t}_renderNumeric(e){let t=k.i18n.formatNumber(e.value,e.granularity||.1),a=this._dom.createElement("div","lh-numeric");return a.textContent=t,a}_renderThumbnail(e){let t=this._dom.createElement("img","lh-thumbnail"),a=e;return t.src=a,t.title=a,t.alt="",t}_renderUnknown(e,t){console.error(`Unknown details type: ${e}`,t);let a=this._dom.createElement("details","lh-unknown");return this._dom.createChildOf(a,"summary").textContent=`We don't know how to render audit details of type \`${e}\`. The Lighthouse version that collected this data is likely newer than the Lighthouse version of the report renderer. Expand for the raw JSON.`,this._dom.createChildOf(a,"pre").textContent=JSON.stringify(t,null,2),a}_renderTableValue(e,t){if(e==null)return null;if(typeof e=="object")switch(e.type){case"code":return this._renderCode(e.value);case"link":return this._renderLink(e);case"node":return this.renderNode(e);case"numeric":return this._renderNumeric(e);case"source-location":return this.renderSourceLocation(e);case"url":return this.renderTextURL(e.value);default:return this._renderUnknown(e.type,e)}switch(t.valueType){case"bytes":{let a=Number(e);return this._renderBytes({value:a,granularity:t.granularity})}case"code":{let a=String(e);return this._renderCode(a)}case"ms":{let a={value:Number(e),granularity:t.granularity,displayUnit:t.displayUnit};return this._renderMilliseconds(a)}case"numeric":{let a=Number(e);return this._renderNumeric({value:a,granularity:t.granularity})}case"text":{let a=String(e);return this._renderText(a)}case"thumbnail":{let a=String(e);return this._renderThumbnail(a)}case"timespanMs":{let a=Number(e);return this._renderMilliseconds({value:a})}case"url":{let a=String(e);return jo.some(o=>a.startsWith(o))?this.renderTextURL(a):this._renderCode(a)}default:return this._renderUnknown(t.valueType,e)}}_getDerivedSubItemsHeading(e){return e.subItemsHeading?{key:e.subItemsHeading.key||"",valueType:e.subItemsHeading.valueType||e.valueType,granularity:e.subItemsHeading.granularity||e.granularity,displayUnit:e.subItemsHeading.displayUnit||e.displayUnit,label:""}:null}_renderTableRow(e,t){let a=this._dom.createElement("tr");for(let o of t){if(!o||!o.key){this._dom.createChildOf(a,"td","lh-table-column--empty");continue}let i=e[o.key],r;if(i!=null&&(r=this._renderTableValue(i,o)),r){let s=`lh-table-column--${o.valueType}`;this._dom.createChildOf(a,"td",s).append(r)}else this._dom.createChildOf(a,"td","lh-table-column--empty")}return a}_renderTableRowsFromItem(e,t){let a=this._dom.createFragment();if(a.append(this._renderTableRow(e,t)),!e.subItems)return a;let o=t.map(this._getDerivedSubItemsHeading);if(!o.some(Boolean))return a;for(let i of e.subItems.items){let r=this._renderTableRow(i,o);r.classList.add("lh-sub-item-row"),a.append(r)}return a}_adornEntityGroupRow(e){let t=e.dataset.entity;if(!t)return;let a=this._entities?.find(i=>i.name===t);if(!a)return;let o=this._dom.find("td",e);if(a.category){let i=this._dom.createElement("span");i.classList.add("lh-audit__adorn"),i.textContent=a.category,o.append(" ",i)}if(a.isFirstParty){let i=this._dom.createElement("span");i.classList.add("lh-audit__adorn","lh-audit__adorn1p"),i.textContent=k.strings.firstPartyChipLabel,o.append(" ",i)}if(a.homepage){let i=this._dom.createElement("a");i.href=a.homepage,i.target="_blank",i.title=k.strings.openInANewTabTooltip,i.classList.add("lh-report-icon--external"),o.append(" ",i)}}_renderEntityGroupRow(e,t){let a={...t[0]};a.valueType="text";let o=[a,...t.slice(1)],i=this._dom.createFragment();return i.append(this._renderTableRow(e,o)),this._dom.find("tr",i).classList.add("lh-row--group"),i}_getEntityGroupItems(e){let{items:t,headings:a,sortedBy:o}=e;if(!t.length||e.isEntityGrouped||!t.some(p=>p.entity))return[];let i=new Set(e.skipSumming||[]),r=[];for(let p of a)!p.key||i.has(p.key)||Mo.includes(p.valueType)&&r.push(p.key);let s=a[0].key;if(!s)return[];let c=new Map;for(let p of t){let v=typeof p.entity=="string"?p.entity:void 0,h=c.get(v)||{[s]:v||k.strings.unattributable,entity:v};for(let f of r)h[f]=Number(h[f]||0)+Number(p[f]||0);c.set(v,h)}let g=[...c.values()];return o&&g.sort(R.getTableItemSortComparator(o)),g}_renderTable(e){if(!e.items.length)return this._dom.createElement("span");let t=this._dom.createElement("table","lh-table"),a=this._dom.createChildOf(t,"thead"),o=this._dom.createChildOf(a,"tr");for(let s of e.headings){let g=`lh-table-column--${s.valueType||"text"}`,p=this._dom.createElement("div","lh-text");p.textContent=s.label,this._dom.createChildOf(o,"th",g).append(p)}let i=this._getEntityGroupItems(e),r=this._dom.createChildOf(t,"tbody");if(i.length)for(let s of i){let c=typeof s.entity=="string"?s.entity:void 0,g=this._renderEntityGroupRow(s,e.headings);for(let v of e.items.filter(h=>h.entity===c))g.append(this._renderTableRowsFromItem(v,e.headings));let p=this._dom.findAll("tr",g);c&&p.length&&(p.forEach(v=>v.dataset.entity=c),this._adornEntityGroupRow(p[0])),r.append(g)}else{let s=!0;for(let c of e.items){let g=this._renderTableRowsFromItem(c,e.headings),p=this._dom.findAll("tr",g),v=p[0];if(typeof c.entity=="string"&&(v.dataset.entity=c.entity),e.isEntityGrouped&&c.entity)v.classList.add("lh-row--group"),this._adornEntityGroupRow(v);else for(let h of p)h.classList.add(s?"lh-row--even":"lh-row--odd");s=!s,r.append(g)}}return t}_renderList(e){let t=this._dom.createElement("div","lh-list");return e.items.forEach(a=>{let o=this.render(a);o&&t.append(o)}),t}renderNode(e){let t=this._dom.createElement("span","lh-node");if(e.nodeLabel){let r=this._dom.createElement("div");r.textContent=e.nodeLabel,t.append(r)}if(e.snippet){let r=this._dom.createElement("div");r.classList.add("lh-node__snippet"),r.textContent=e.snippet,t.append(r)}if(e.selector&&(t.title=e.selector),e.path&&t.setAttribute("data-path",e.path),e.selector&&t.setAttribute("data-selector",e.selector),e.snippet&&t.setAttribute("data-snippet",e.snippet),!this._fullPageScreenshot)return t;let a=e.lhId&&this._fullPageScreenshot.nodes[e.lhId];if(!a||a.width===0||a.height===0)return t;let o={width:147,height:100},i=Ce.render(this._dom,this._fullPageScreenshot.screenshot,a,o);return i&&t.prepend(i),t}renderSourceLocation(e){if(!e.url)return null;let t=`${e.url}:${e.line+1}:${e.column}`,a;e.original&&(a=`${e.original.file||"<unmapped>"}:${e.original.line+1}:${e.original.column}`);let o;if(e.urlProvider==="network"&&a)o=this._renderLink({url:e.url,text:a}),o.title=`maps to generated location ${t}`;else if(e.urlProvider==="network"&&!a)o=this.renderTextURL(e.url),this._dom.find(".lh-link",o).textContent+=`:${e.line+1}:${e.column}`;else if(e.urlProvider==="comment"&&a)o=this._renderText(`${a} (from source map)`),o.title=`${t} (from sourceURL)`;else if(e.urlProvider==="comment"&&!a)o=this._renderText(`${t} (from sourceURL)`);else return null;return o.classList.add("lh-source-location"),o.setAttribute("data-source-url",e.url),o.setAttribute("data-source-line",String(e.line)),o.setAttribute("data-source-column",String(e.column)),o}_renderFilmstrip(e){let t=this._dom.createElement("div","lh-filmstrip");for(let a of e.items){let o=this._dom.createChildOf(t,"div","lh-filmstrip__frame"),i=this._dom.createChildOf(o,"img","lh-filmstrip__thumbnail");i.src=a.data,i.alt="Screenshot"}return t}_renderCode(e){let t=this._dom.createElement("pre","lh-code");return t.textContent=e,t}};function Ca(n){let e=n.createComponent("explodeyGauge");return n.find(".lh-exp-gauge-component",e)}function wa(n,e,t){let a=n.find("div.lh-exp-gauge__wrapper",e);a.className="",a.classList.add("lh-exp-gauge__wrapper",`lh-exp-gauge__wrapper--${R.calculateRating(t.score)}`),Ho(n,a,t)}function Fo(n,e,t){t=t||n/32;let a=n/t,o=.5*t,i=a+o+t,r=2*Math.PI*a,s=Math.acos(1-.5*Math.pow(.5*t/a,2))*a,c=2*Math.PI*i,g=Math.acos(1-.5*Math.pow(.5*t/i,2))*i;return{radiusInner:a,radiusOuter:i,circumferenceInner:r,circumferenceOuter:c,getArcLength:()=>Math.max(0,Number(e*r)),getMetricArcLength:(p,v=!1)=>{let h=v?0:2*g;return Math.max(0,Number(p*c-o-h))},endDiffInner:s,endDiffOuter:g,strokeWidth:t,strokeGap:o}}function Ho(n,e,t){let i=Number(t.score),{radiusInner:r,radiusOuter:s,circumferenceInner:c,circumferenceOuter:g,getArcLength:p,getMetricArcLength:v,endDiffInner:h,endDiffOuter:f,strokeWidth:y,strokeGap:S}=Fo(128,i),C=n.find("svg.lh-exp-gauge",e);n.find(".lh-exp-gauge__label",C).textContent=t.title,C.setAttribute("viewBox",[-64,-64/2,128,128/2].join(" ")),C.style.setProperty("--stroke-width",`${y}px`),C.style.setProperty("--circle-meas",(2*Math.PI).toFixed(4));let _=n.find("g.lh-exp-gauge__outer",e),P=n.find("g.lh-exp-gauge__inner",e),x=n.find("circle.lh-cover",_),T=n.find("circle.lh-exp-gauge__arc",P),D=n.find("text.lh-exp-gauge__percentage",P);_.style.setProperty("--scale-initial",String(r/s)),_.style.setProperty("--radius",`${s}px`),x.style.setProperty("--radius",`${.5*(r+s)}px`),x.setAttribute("stroke-width",String(S)),C.style.setProperty("--radius",`${r}px`),T.setAttribute("stroke-dasharray",`${p()} ${(c-p()).toFixed(4)}`),T.setAttribute("stroke-dashoffset",String(.25*c-h)),D.textContent=Math.round(i*100).toString();let B=s+y,$=s-y,q=t.auditRefs.filter(N=>N.group==="metrics"&&N.weight),K=q.reduce((N,H)=>N+=H.weight,0),F=.25*g-f-.5*S,G=-.5*Math.PI;_.querySelectorAll(".metric").forEach(N=>{q.map(ee=>`metric--${ee.id}`).find(ee=>N.classList.contains(ee))||N.remove()}),q.forEach((N,H)=>{let X=N.acronym??N.id,ee=!_.querySelector(`.metric--${X}`),Q=n.maybeFind(`g.metric--${X}`,_)||n.createSVGElement("g"),ge=n.maybeFind(`.metric--${X} circle.lh-exp-gauge--faded`,_)||n.createSVGElement("circle"),we=n.maybeFind(`.metric--${X} circle.lh-exp-gauge--miniarc`,_)||n.createSVGElement("circle"),pe=n.maybeFind(`.metric--${X} circle.lh-exp-gauge-hovertarget`,_)||n.createSVGElement("circle"),ae=n.maybeFind(`.metric--${X} text.metric__label`,_)||n.createSVGElement("text"),oe=n.maybeFind(`.metric--${X} text.metric__value`,_)||n.createSVGElement("text");Q.classList.add("metric",`metric--${X}`),ge.classList.add("lh-exp-gauge__arc","lh-exp-gauge__arc--metric","lh-exp-gauge--faded"),we.classList.add("lh-exp-gauge__arc","lh-exp-gauge__arc--metric","lh-exp-gauge--miniarc"),pe.classList.add("lh-exp-gauge__arc","lh-exp-gauge__arc--metric","lh-exp-gauge-hovertarget");let he=N.weight/K,Ge=v(he),Ne=N.result.score?N.result.score*he:0,ze=v(Ne),xt=he*g,Ve=v(he,!0),We=R.calculateRating(N.result.score,N.result.scoreDisplayMode);Q.style.setProperty("--metric-rating",We),Q.style.setProperty("--metric-color",`var(--color-${We})`),Q.style.setProperty("--metric-offset",`${F}`),Q.style.setProperty("--i",H.toString()),ge.setAttribute("stroke-dasharray",`${Ge} ${g-Ge}`),we.style.setProperty("--metric-array",`${ze} ${g-ze}`),pe.setAttribute("stroke-dasharray",`${Ve} ${g-Ve-f}`),ae.classList.add("metric__label"),oe.classList.add("metric__value"),ae.textContent=X,oe.textContent=`+${Math.round(Ne*100)}`;let Je=G+he*Math.PI,ke=Math.cos(Je),Se=Math.sin(Je);switch(!0){case ke>0:oe.setAttribute("text-anchor","end");break;case ke<0:ae.setAttribute("text-anchor","end");break;case ke===0:ae.setAttribute("text-anchor","middle"),oe.setAttribute("text-anchor","middle");break}switch(!0){case Se>0:ae.setAttribute("dominant-baseline","hanging");break;case Se<0:oe.setAttribute("dominant-baseline","hanging");break;case Se===0:ae.setAttribute("dominant-baseline","middle"),oe.setAttribute("dominant-baseline","middle");break}ae.setAttribute("x",(B*ke).toFixed(2)),ae.setAttribute("y",(B*Se).toFixed(2)),oe.setAttribute("x",($*ke).toFixed(2)),oe.setAttribute("y",($*Se).toFixed(2)),ee&&(Q.appendChild(ge),Q.appendChild(we),Q.appendChild(pe),Q.appendChild(ae),Q.appendChild(oe),_.appendChild(Q)),F-=xt,G+=he*2*Math.PI});let Z=_.querySelector(".lh-exp-gauge-underhovertarget")||n.createSVGElement("circle");Z.classList.add("lh-exp-gauge__arc","lh-exp-gauge__arc--metric","lh-exp-gauge-hovertarget","lh-exp-gauge-underhovertarget");let Y=v(1,!0);if(Z.setAttribute("stroke-dasharray",`${Y} ${g-Y-f}`),Z.isConnected||_.prepend(Z),C.dataset.listenersSetup)return;C.dataset.listenersSetup=!0,Pt(C),C.addEventListener("pointerover",N=>{if(N.target===C&&C.classList.contains("state--expanded")){C.classList.remove("state--expanded"),C.classList.contains("state--highlight")&&(C.classList.remove("state--highlight"),n.find(".metric--highlight",C).classList.remove("metric--highlight"));return}if(!(N.target instanceof Element))return;let H=N.target.parentNode;if(H instanceof SVGElement){if(H&&H===P){C.classList.contains("state--expanded")?C.classList.contains("state--highlight")&&(C.classList.remove("state--highlight"),n.find(".metric--highlight",C).classList.remove("metric--highlight")):C.classList.add("state--expanded");return}if(H&&H.classList&&H.classList.contains("metric")){let X=H.style.getPropertyValue("--metric-rating");if(e.style.setProperty("--color-highlight",`var(--color-${X}-secondary)`),!C.classList.contains("state--highlight"))C.classList.add("state--highlight"),H.classList.add("metric--highlight");else{let ee=n.find(".metric--highlight",C);H!==ee&&(ee.classList.remove("metric--highlight"),H.classList.add("metric--highlight"),console.log({highlightEl:ee,parent:H}))}}}}),C.addEventListener("mouseleave",()=>{C.classList.remove("state--highlight"),C.querySelector(".metric--highlight")?.classList.remove("metric--highlight")});async function Pt(N){if(await new Promise(ae=>setTimeout(ae,1e3)),N.classList.contains("state--expanded"))return;let H=n.find(".lh-exp-gauge__inner",N),X=`uniq-${Math.random()}`;H.setAttribute("id",X);let ee=n.createSVGElement("use");ee.setAttribute("href",`#${X}`),N.appendChild(ee);let Q=2.5;N.style.setProperty("--peek-dur",`${Q}s`),N.classList.add("state--peek","state--expanded");let ge=()=>{N.classList.remove("state--peek","state--expanded"),ee.remove()},we=setTimeout(()=>{N.removeEventListener("mouseenter",pe),ge()},Q*1e3*1.5);function pe(){clearTimeout(we),ge()}N.addEventListener("mouseenter",pe,{once:!0})}}var yt=class extends le{_renderMetric(e){let t=this.dom.createComponent("metric"),a=this.dom.find(".lh-metric",t);a.id=e.result.id;let o=R.calculateRating(e.result.score,e.result.scoreDisplayMode);a.classList.add(`lh-metric--${o}`);let i=this.dom.find(".lh-metric__title",t);i.textContent=e.result.title;let r=this.dom.find(".lh-metric__value",t);r.textContent=e.result.displayValue||"";let s=this.dom.find(".lh-metric__description",t);if(s.append(this.dom.convertMarkdownLinkSnippets(e.result.description)),e.result.scoreDisplayMode==="error"){s.textContent="",r.textContent="Error!";let c=this.dom.createChildOf(s,"span");c.textContent=e.result.errorMessage||"Report error: no metric information"}else e.result.scoreDisplayMode==="notApplicable"&&(r.textContent="--");return a}_getScoringCalculatorHref(e){let t=e.filter(v=>v.group==="metrics"),a=e.find(v=>v.id==="interactive"),o=e.find(v=>v.id==="first-cpu-idle"),i=e.find(v=>v.id==="first-meaningful-paint");a&&t.push(a),o&&t.push(o),i&&t.push(i);let r=v=>Math.round(v*100)/100,c=[...t.map(v=>{let h;return typeof v.result.numericValue=="number"?(h=v.id==="cumulative-layout-shift"?r(v.result.numericValue):Math.round(v.result.numericValue),h=h.toString()):h="null",[v.acronym||v.id,h]})];k.reportJson&&(c.push(["device",k.reportJson.configSettings.formFactor]),c.push(["version",k.reportJson.lighthouseVersion]));let g=new URLSearchParams(c),p=new URL("https://googlechrome.github.io/lighthouse/scorecalc/");return p.hash=g.toString(),p.href}_isPerformanceInsight(e){return!e.group}overallImpact(e,t){if(!e.result.metricSavings)return{overallImpact:0,overallLinearImpact:0};let a=0,o=0;for(let[i,r]of Object.entries(e.result.metricSavings)){if(r===void 0)continue;let s=t.find(f=>f.acronym===i);if(!s||s.result.score===null)continue;let c=s.result.numericValue;if(!c)continue;let g=r/c*s.weight;o+=g;let p=s.result.scoringOptions;if(!p)continue;let h=(M.computeLogNormalScore(p,c-r)-s.result.score)*s.weight;a+=h}return{overallImpact:a,overallLinearImpact:o}}render(e,t,a){let o=k.strings,i=this.dom.createElement("div","lh-category");i.id=e.id,i.append(this.renderCategoryHeader(e,t,a));let r=e.auditRefs.filter(_=>_.group==="metrics");if(r.length){let[_,P]=this.renderAuditGroup(t.metrics),x=this.dom.createElement("input","lh-metrics-toggle__input"),T=`lh-metrics-toggle${k.getUniqueSuffix()}`;x.setAttribute("aria-label","Toggle the display of metric descriptions"),x.type="checkbox",x.id=T,_.prepend(x);let D=this.dom.find(".lh-audit-group__header",_),B=this.dom.createChildOf(D,"label","lh-metrics-toggle__label");B.htmlFor=T;let $=this.dom.createChildOf(B,"span","lh-metrics-toggle__labeltext--show"),q=this.dom.createChildOf(B,"span","lh-metrics-toggle__labeltext--hide");$.textContent=k.strings.expandView,q.textContent=k.strings.collapseView;let K=this.dom.createElement("div","lh-metrics-container");if(_.insertBefore(K,P),r.forEach(F=>{K.append(this._renderMetric(F))}),i.querySelector(".lh-gauge__wrapper")){let F=this.dom.find(".lh-category-header__description",i),G=this.dom.createChildOf(F,"div","lh-metrics__disclaimer"),Z=this.dom.convertMarkdownLinkSnippets(o.varianceDisclaimer);G.append(Z);let Y=this.dom.createChildOf(G,"a","lh-calclink");Y.target="_blank",Y.textContent=o.calculatorLink,this.dom.safelySetHref(Y,this._getScoringCalculatorHref(e.auditRefs))}_.classList.add("lh-audit-group--metrics"),i.append(_)}let s=this.dom.createChildOf(i,"div","lh-filmstrip-container"),g=e.auditRefs.find(_=>_.id==="screenshot-thumbnails")?.result;if(g?.details){s.id=g.id;let _=this.detailsRenderer.render(g.details);_&&s.append(_)}let p=r.filter(_=>!!_.relevantAudits);p.length&&this.renderMetricAuditFilter(p,i);let v=e.auditRefs.filter(_=>this._isPerformanceInsight(_)).filter(_=>!R.showAsPassed(_.result)),h=[];if(v.forEach(_=>{let{overallImpact:P,overallLinearImpact:x}=this.overallImpact(_,r),T=_.result.guidanceLevel??1;h.push({auditRef:_,overallImpact:P,overallLinearImpact:x,guidanceLevel:T})}),h.sort((_,P)=>{let x=_.auditRef.result.scoreDisplayMode==="informative"?100:Number(_.auditRef.result.score),T=P.auditRef.result.scoreDisplayMode==="informative"?100:Number(P.auditRef.result.score);return x!==T?x-T:_.overallImpact!==P.overallImpact?P.overallImpact-_.overallImpact:_.overallImpact===0&&P.overallImpact===0&&_.overallLinearImpact!==P.overallLinearImpact?P.overallLinearImpact-_.overallLinearImpact:P.guidanceLevel-_.guidanceLevel}),h.length){let[_,P]=this.renderAuditGroup(t.diagnostics);h.forEach(x=>_.insertBefore(this.renderAudit(x.auditRef),P)),_.classList.add("lh-audit-group--diagnostics"),i.append(_)}let f=e.auditRefs.filter(_=>this._isPerformanceInsight(_)&&R.showAsPassed(_.result));if(!f.length)return i;let y={auditRefs:f,groupDefinitions:t},S=this.renderClump("passed",y);i.append(S);let C=[];if(["performance-budget","timing-budget"].forEach(_=>{let P=e.auditRefs.find(x=>x.id===_);if(P?.result.details){let x=this.detailsRenderer.render(P.result.details);x&&(x.id=_,x.classList.add("lh-details","lh-details--budget","lh-audit"),C.push(x))}}),C.length>0){let[_,P]=this.renderAuditGroup(t.budgets);C.forEach(x=>_.insertBefore(x,P)),_.classList.add("lh-audit-group--budgets"),i.append(_)}if(!a||a?.gatherMode==="navigation"){let _=Ca(this.dom);wa(this.dom,_,e),this.dom.find(".lh-score__gauge",i).replaceWith(_)}return i}renderMetricAuditFilter(e,t){let a=this.dom.createElement("div","lh-metricfilter"),o=this.dom.createChildOf(a,"span","lh-metricfilter__text");o.textContent=k.strings.showRelevantAudits;let i=[{acronym:"All"},...e],r=k.getUniqueSuffix();for(let s of i){let c=`metric-${s.acronym}-${r}`,g=this.dom.createChildOf(a,"input","lh-metricfilter__radio");g.type="radio",g.name=`metricsfilter-${r}`,g.id=c;let p=this.dom.createChildOf(a,"label","lh-metricfilter__label");p.htmlFor=c,p.title=s.result?.title,p.textContent=s.acronym||s.id,s.acronym==="All"&&(g.checked=!0,p.classList.add("lh-metricfilter__label--active")),t.append(a),g.addEventListener("input",v=>{for(let f of t.querySelectorAll("label.lh-metricfilter__label"))f.classList.toggle("lh-metricfilter__label--active",f.htmlFor===c);t.classList.toggle("lh-category--filtered",s.acronym!=="All");for(let f of t.querySelectorAll("div.lh-audit")){if(s.acronym==="All"){f.hidden=!1;continue}f.hidden=!0,s.relevantAudits&&s.relevantAudits.includes(f.id)&&(f.hidden=!1)}let h=t.querySelectorAll("div.lh-audit-group, details.lh-audit-group");for(let f of h){f.hidden=!1;let y=Array.from(f.querySelectorAll("div.lh-audit")),S=!!y.length&&y.every(C=>C.hidden);f.hidden=S}})}}};var _t=class n extends le{render(e,t={}){let a=this.dom.createElement("div","lh-category");a.id=e.id,a.append(this.renderCategoryHeader(e,t));let o=e.auditRefs,i=o.filter(g=>g.result.scoreDisplayMode!=="manual"),r=this._renderAudits(i,t);a.append(r);let s=o.filter(g=>g.result.scoreDisplayMode==="manual"),c=this.renderClump("manual",{auditRefs:s,description:e.manualDescription,openByDefault:!0});return a.append(c),a}renderCategoryScore(e,t){if(e.score===null)return super.renderScoreGauge(e,t);let a=this.dom.createComponent("gaugePwa"),o=this.dom.find("a.lh-gauge--pwa__wrapper",a),i=a.querySelector("svg");if(!i)throw new Error("no SVG element found in PWA score gauge template");n._makeSvgReferencesUnique(i);let r=this._getGroupIds(e.auditRefs),s=this._getPassingGroupIds(e.auditRefs);if(s.size===r.size)o.classList.add("lh-badged--all");else for(let c of s)o.classList.add(`lh-badged--${c}`);return this.dom.find(".lh-gauge__label",a).textContent=e.title,o.title=this._getGaugeTooltip(e.auditRefs,t),a}_getGroupIds(e){let t=e.map(a=>a.group).filter(a=>!!a);return new Set(t)}_getPassingGroupIds(e){let t=this._getGroupIds(e);for(let a of e)!R.showAsPassed(a.result)&&a.group&&t.delete(a.group);return t}_getGaugeTooltip(e,t){let a=this._getGroupIds(e),o=[];for(let i of a){let r=e.filter(p=>p.group===i),s=r.length,c=r.filter(p=>R.showAsPassed(p.result)).length,g=t[i].title;o.push(`${g}: ${c}/${s}`)}return o.join(", ")}_renderAudits(e,t){let a=this.renderUnexpandableClump(e,t),o=this._getPassingGroupIds(e);for(let i of o)this.dom.find(`.lh-audit-group--${i}`,a).classList.add("lh-badged");return a}static _makeSvgReferencesUnique(e){let t=e.querySelector("defs");if(!t)return;let a=k.getUniqueSuffix(),o=t.querySelectorAll("[id]");for(let i of o){let r=i.id,s=`${r}-${a}`;i.id=s;let c=e.querySelectorAll(`use[href="#${r}"]`);for(let p of c)p.setAttribute("href",`#${s}`);let g=e.querySelectorAll(`[fill="url(#${r})"]`);for(let p of g)p.setAttribute("fill",`url(#${s})`)}}};var Ct=class{constructor(e){this._dom=e,this._opts={}}renderReport(e,t,a){if(!this._dom.rootEl&&t){console.warn("Please adopt the new report API in renderer/api.js.");let i=t.closest(".lh-root");i?this._dom.rootEl=i:(t.classList.add("lh-root","lh-vars"),this._dom.rootEl=t)}else this._dom.rootEl&&t&&(this._dom.rootEl=t);a&&(this._opts=a),this._dom.setLighthouseChannel(e.configSettings.channel||"unknown");let o=R.prepareReportResult(e);return this._dom.rootEl.textContent="",this._dom.rootEl.append(this._renderReport(o)),this._dom.rootEl}_renderReportTopbar(e){let t=this._dom.createComponent("topbar"),a=this._dom.find("a.lh-topbar__url",t);return a.textContent=e.finalDisplayedUrl,a.title=e.finalDisplayedUrl,this._dom.safelySetHref(a,e.finalDisplayedUrl),t}_renderReportHeader(){let e=this._dom.createComponent("heading"),t=this._dom.createComponent("scoresWrapper");return this._dom.find(".lh-scores-wrapper-placeholder",e).replaceWith(t),e}_renderReportFooter(e){let t=this._dom.createComponent("footer");return this._renderMetaBlock(e,t),this._dom.find(".lh-footer__version_issue",t).textContent=k.strings.footerIssue,this._dom.find(".lh-footer__version",t).textContent=e.lighthouseVersion,t}_renderMetaBlock(e,t){let a=R.getEmulationDescriptions(e.configSettings||{}),o=e.userAgent.match(/(\w*Chrome\/[\d.]+)/),i=Array.isArray(o)?o[1].replace("/"," ").replace("Chrome","Chromium"):"Chromium",r=e.configSettings.channel,s=e.environment.benchmarkIndex.toFixed(0),c=e.environment.credits?.["axe-core"],g=[`${k.strings.runtimeSettingsBenchmark}: ${s}`,`${k.strings.runtimeSettingsCPUThrottling}: ${a.cpuThrottling}`];a.screenEmulation&&g.push(`${k.strings.runtimeSettingsScreenEmulation}: ${a.screenEmulation}`),c&&g.push(`${k.strings.runtimeSettingsAxeVersion}: ${c}`);let p=[["date",`Captured at ${k.i18n.formatDateTime(e.fetchTime)}`],["devices",`${a.deviceEmulation} with Lighthouse ${e.lighthouseVersion}`,g.join(`
|
|
2691
|
+
`)],["samples-one",k.strings.runtimeSingleLoad,k.strings.runtimeSingleLoadTooltip],["stopwatch",k.strings.runtimeAnalysisWindow],["networkspeed",`${a.summary}`,`${k.strings.runtimeSettingsNetworkThrottling}: ${a.networkThrottling}`],["chrome",`Using ${i}`+(r?` with ${r}`:""),`${k.strings.runtimeSettingsUANetwork}: "${e.environment.networkUserAgent}"`]],v=this._dom.find(".lh-meta__items",t);for(let[h,f,y]of p){let S=this._dom.createChildOf(v,"li","lh-meta__item");if(S.textContent=f,y){S.classList.add("lh-tooltip-boundary");let C=this._dom.createChildOf(S,"div","lh-tooltip");C.textContent=y}S.classList.add("lh-report-icon",`lh-report-icon--${h}`)}}_renderReportWarnings(e){if(!e.runWarnings||e.runWarnings.length===0)return this._dom.createElement("div");let t=this._dom.createComponent("warningsToplevel"),a=this._dom.find(".lh-warnings__msg",t);a.textContent=k.strings.toplevelWarningsMessage;let o=[];for(let i of e.runWarnings){let r=this._dom.createElement("li");r.append(this._dom.convertMarkdownLinkSnippets(i)),o.push(r)}return this._dom.find("ul",t).append(...o),t}_renderScoreGauges(e,t,a){let o=[],i=[],r=[];for(let s of Object.values(e.categories)){let c=a[s.id]||t,g=c.renderCategoryScore(s,e.categoryGroups||{},{gatherMode:e.gatherMode}),p=this._dom.find("a.lh-gauge__wrapper, a.lh-fraction__wrapper",g);p&&(this._dom.safelySetHref(p,`#${s.id}`),p.addEventListener("click",v=>{if(!p.matches('[href^="#"]'))return;let h=p.getAttribute("href"),f=this._dom.rootEl;if(!h||!f)return;let y=this._dom.find(h,f);v.preventDefault(),y.scrollIntoView()}),this._opts.onPageAnchorRendered?.(p)),R.isPluginCategory(s.id)?r.push(g):c.renderCategoryScore===t.renderCategoryScore?o.push(g):i.push(g)}return[...o,...i,...r]}_renderReport(e){k.apply({providedStrings:e.i18n.rendererFormattedStrings,i18n:new Ae(e.configSettings.locale),reportJson:e});let t=new Te(this._dom,{fullPageScreenshot:e.fullPageScreenshot??void 0,entities:e.entities}),a=new le(this._dom,t),o={performance:new yt(this._dom,t),pwa:new _t(this._dom,t)},i=this._dom.createElement("div");i.append(this._renderReportHeader());let r=this._dom.createElement("div","lh-container"),s=this._dom.createElement("div","lh-report");s.append(this._renderReportWarnings(e));let c;Object.keys(e.categories).length===1?i.classList.add("lh-header--solo-category"):c=this._dom.createElement("div","lh-scores-header");let p=this._dom.createElement("div");if(p.classList.add("lh-scorescale-wrap"),p.append(this._dom.createComponent("scorescale")),c){let y=this._dom.find(".lh-scores-container",i);c.append(...this._renderScoreGauges(e,a,o)),y.append(c,p);let S=this._dom.createElement("div","lh-sticky-header");S.append(...this._renderScoreGauges(e,a,o)),r.append(S)}let v=this._dom.createElement("div","lh-categories");s.append(v);let h={gatherMode:e.gatherMode};for(let y of Object.values(e.categories)){let S=o[y.id]||a;S.dom.createChildOf(v,"div","lh-category-wrapper").append(S.render(y,e.categoryGroups,h))}a.injectFinalScreenshot(v,e.audits,p);let f=this._dom.createFragment();return this._opts.omitGlobalStyles||f.append(this._dom.createComponent("styles")),this._opts.omitTopbar||f.append(this._renderReportTopbar(e)),f.append(r),s.append(this._renderReportFooter(e)),r.append(i,s),e.fullPageScreenshot&&Ce.installFullPageScreenshot(this._dom.rootEl,e.fullPageScreenshot.screenshot),f}};function Re(n,e){let t=n.rootEl;typeof e>"u"?t.classList.toggle("lh-dark"):t.classList.toggle("lh-dark",e)}var Oo=typeof btoa<"u"?btoa:n=>Buffer.from(n).toString("base64"),Bo=typeof atob<"u"?atob:n=>Buffer.from(n,"base64").toString();async function $o(n,e){let t=new TextEncoder().encode(n);if(e.gzip)if(typeof CompressionStream<"u"){let i=new CompressionStream("gzip"),r=i.writable.getWriter();r.write(t),r.close();let s=await new Response(i.readable).arrayBuffer();t=new Uint8Array(s)}else t=window.pako.gzip(n);let a="",o=5e3;for(let i=0;i<t.length;i+=o)a+=String.fromCharCode(...t.subarray(i,i+o));return Oo(a)}function Go(n,e){let t=Bo(n),a=Uint8Array.from(t,o=>o.charCodeAt(0));return e.gzip?window.pako.ungzip(a,{to:"string"}):new TextDecoder().decode(a)}var ka={toBase64:$o,fromBase64:Go};function Gt(){let n=window.location.host.endsWith(".vercel.app"),e=new URLSearchParams(window.location.search).has("dev");return n?`https://${window.location.host}/gh-pages`:e?"http://localhost:7333":"https://googlechrome.github.io/lighthouse"}function Vt(n){let e=n.generatedTime,t=n.fetchTime||e;return`${n.lighthouseVersion}-${n.finalDisplayedUrl}-${t}`}function Vo(n,e,t){let a=new URL(e).origin;window.addEventListener("message",function i(r){r.origin===a&&o&&r.data.opened&&(o.postMessage(n,a),window.removeEventListener("message",i))});let o=window.open(e,t)}async function Sa(n,e,t){let a=new URL(e),o=!!window.CompressionStream;a.hash=await ka.toBase64(JSON.stringify(n),{gzip:o}),o&&a.searchParams.set("gzip","1"),window.open(a.toString(),t)}async function Aa(n){let e="viewer-"+Vt(n),t=Gt()+"/viewer/";await Sa({lhr:n},t,e)}async function Pa(n){let e="viewer-"+Vt(n),t=Gt()+"/viewer/";Vo({lhr:n},t,e)}function xa(n){if(!n.audits["script-treemap-data"].details)throw new Error("no script treemap data found");let t={lhr:{mainDocumentUrl:n.mainDocumentUrl,finalUrl:n.finalUrl,finalDisplayedUrl:n.finalDisplayedUrl,audits:{"script-treemap-data":n.audits["script-treemap-data"]},configSettings:{locale:n.configSettings.locale}}},a=Gt()+"/treemap/",o="treemap-"+Vt(n);Sa(t,a,o)}var wt=class{constructor(e){this._dom=e,this._toggleEl,this._menuEl,this.onDocumentKeyDown=this.onDocumentKeyDown.bind(this),this.onToggleClick=this.onToggleClick.bind(this),this.onToggleKeydown=this.onToggleKeydown.bind(this),this.onMenuFocusOut=this.onMenuFocusOut.bind(this),this.onMenuKeydown=this.onMenuKeydown.bind(this),this._getNextMenuItem=this._getNextMenuItem.bind(this),this._getNextSelectableNode=this._getNextSelectableNode.bind(this),this._getPreviousMenuItem=this._getPreviousMenuItem.bind(this)}setup(e){this._toggleEl=this._dom.find(".lh-topbar button.lh-tools__button",this._dom.rootEl),this._toggleEl.addEventListener("click",this.onToggleClick),this._toggleEl.addEventListener("keydown",this.onToggleKeydown),this._menuEl=this._dom.find(".lh-topbar div.lh-tools__dropdown",this._dom.rootEl),this._menuEl.addEventListener("keydown",this.onMenuKeydown),this._menuEl.addEventListener("click",e)}close(){this._toggleEl.classList.remove("lh-active"),this._toggleEl.setAttribute("aria-expanded","false"),this._menuEl.contains(this._dom.document().activeElement)&&this._toggleEl.focus(),this._menuEl.removeEventListener("focusout",this.onMenuFocusOut),this._dom.document().removeEventListener("keydown",this.onDocumentKeyDown)}open(e){this._toggleEl.classList.contains("lh-active")?e.focus():this._menuEl.addEventListener("transitionend",()=>{e.focus()},{once:!0}),this._toggleEl.classList.add("lh-active"),this._toggleEl.setAttribute("aria-expanded","true"),this._menuEl.addEventListener("focusout",this.onMenuFocusOut),this._dom.document().addEventListener("keydown",this.onDocumentKeyDown)}onToggleClick(e){e.preventDefault(),e.stopImmediatePropagation(),this._toggleEl.classList.contains("lh-active")?this.close():this.open(this._getNextMenuItem())}onToggleKeydown(e){switch(e.code){case"ArrowUp":e.preventDefault(),this.open(this._getPreviousMenuItem());break;case"ArrowDown":case"Enter":case" ":e.preventDefault(),this.open(this._getNextMenuItem());break;default:}}onMenuKeydown(e){let t=e.target;switch(e.code){case"ArrowUp":e.preventDefault(),this._getPreviousMenuItem(t).focus();break;case"ArrowDown":e.preventDefault(),this._getNextMenuItem(t).focus();break;case"Home":e.preventDefault(),this._getNextMenuItem().focus();break;case"End":e.preventDefault(),this._getPreviousMenuItem().focus();break;default:}}onDocumentKeyDown(e){e.keyCode===27&&this.close()}onMenuFocusOut(e){let t=e.relatedTarget;this._menuEl.contains(t)||this.close()}_getNextSelectableNode(e,t){let a=e.filter(i=>!(!(i instanceof HTMLElement)||i.hasAttribute("disabled")||window.getComputedStyle(i).display==="none")),o=t?a.indexOf(t)+1:0;return o>=a.length&&(o=0),a[o]}_getNextMenuItem(e){let t=Array.from(this._menuEl.childNodes);return this._getNextSelectableNode(t,e)}_getPreviousMenuItem(e){let t=Array.from(this._menuEl.childNodes).reverse();return this._getNextSelectableNode(t,e)}};var kt=class{constructor(e,t){this.lhr,this._reportUIFeatures=e,this._dom=t,this._dropDownMenu=new wt(this._dom),this._copyAttempt=!1,this.topbarEl,this.categoriesEl,this.stickyHeaderEl,this.highlightEl,this.onDropDownMenuClick=this.onDropDownMenuClick.bind(this),this.onKeyUp=this.onKeyUp.bind(this),this.onCopy=this.onCopy.bind(this),this.collapseAllDetails=this.collapseAllDetails.bind(this)}enable(e){this.lhr=e,this._dom.rootEl.addEventListener("keyup",this.onKeyUp),this._dom.document().addEventListener("copy",this.onCopy),this._dropDownMenu.setup(this.onDropDownMenuClick),this._setUpCollapseDetailsAfterPrinting(),this._dom.find(".lh-topbar__logo",this._dom.rootEl).addEventListener("click",()=>Re(this._dom)),this._setupStickyHeader()}onDropDownMenuClick(e){e.preventDefault();let t=e.target;if(!(!t||!t.hasAttribute("data-action"))){switch(t.getAttribute("data-action")){case"copy":this.onCopyButtonClick();break;case"print-summary":this.collapseAllDetails(),this._print();break;case"print-expanded":this.expandAllDetails(),this._print();break;case"save-json":{let a=JSON.stringify(this.lhr,null,2);this._reportUIFeatures._saveFile(new Blob([a],{type:"application/json"}));break}case"save-html":{let a=this._reportUIFeatures.getReportHtml();try{this._reportUIFeatures._saveFile(new Blob([a],{type:"text/html"}))}catch(o){this._dom.fireEventOn("lh-log",this._dom.document(),{cmd:"error",msg:"Could not export as HTML. "+o.message})}break}case"open-viewer":{this._dom.isDevTools()?Aa(this.lhr):Pa(this.lhr);break}case"save-gist":{this._reportUIFeatures.saveAsGist();break}case"toggle-dark":{Re(this._dom);break}case"view-unthrottled-trace":this._reportUIFeatures._opts.onViewTrace?.()}this._dropDownMenu.close()}}onCopy(e){this._copyAttempt&&e.clipboardData&&(e.preventDefault(),e.clipboardData.setData("text/plain",JSON.stringify(this.lhr,null,2)),this._dom.fireEventOn("lh-log",this._dom.document(),{cmd:"log",msg:"Report JSON copied to clipboard"})),this._copyAttempt=!1}onCopyButtonClick(){this._dom.fireEventOn("lh-analytics",this._dom.document(),{cmd:"send",fields:{hitType:"event",eventCategory:"report",eventAction:"copy"}});try{this._dom.document().queryCommandSupported("copy")&&(this._copyAttempt=!0,this._dom.document().execCommand("copy")||(this._copyAttempt=!1,this._dom.fireEventOn("lh-log",this._dom.document(),{cmd:"warn",msg:"Your browser does not support copy to clipboard."})))}catch(e){this._copyAttempt=!1,this._dom.fireEventOn("lh-log",this._dom.document(),{cmd:"log",msg:e.message})}}onKeyUp(e){(e.ctrlKey||e.metaKey)&&e.keyCode===80&&this._dropDownMenu.close()}expandAllDetails(){this._dom.findAll(".lh-categories details",this._dom.rootEl).map(t=>t.open=!0)}collapseAllDetails(){this._dom.findAll(".lh-categories details",this._dom.rootEl).map(t=>t.open=!1)}_print(){this._reportUIFeatures._opts.onPrintOverride?this._reportUIFeatures._opts.onPrintOverride(this._dom.rootEl):self.print()}resetUIState(){this._dropDownMenu.close()}_getScrollParent(e){let{overflowY:t}=window.getComputedStyle(e);return t!=="visible"&&t!=="hidden"?e:e.parentElement?this._getScrollParent(e.parentElement):document}_setUpCollapseDetailsAfterPrinting(){"onbeforeprint"in self?self.addEventListener("afterprint",this.collapseAllDetails):self.matchMedia("print").addListener(t=>{t.matches?this.expandAllDetails():this.collapseAllDetails()})}_setupStickyHeader(){this.topbarEl=this._dom.find("div.lh-topbar",this._dom.rootEl),this.categoriesEl=this._dom.find("div.lh-categories",this._dom.rootEl),window.requestAnimationFrame(()=>window.requestAnimationFrame(()=>{try{this.stickyHeaderEl=this._dom.find("div.lh-sticky-header",this._dom.rootEl)}catch{return}this.highlightEl=this._dom.createChildOf(this.stickyHeaderEl,"div","lh-highlighter");let e=this._getScrollParent(this._dom.find(".lh-container",this._dom.rootEl));e.addEventListener("scroll",()=>this._updateStickyHeader());let t=e instanceof window.Document?document.documentElement:e;new window.ResizeObserver(()=>this._updateStickyHeader()).observe(t)}))}_updateStickyHeader(){if(!this.stickyHeaderEl)return;let e=this.topbarEl.getBoundingClientRect().bottom,t=this.categoriesEl.getBoundingClientRect().top,a=e>=t,i=Array.from(this._dom.rootEl.querySelectorAll(".lh-category")).filter(v=>v.getBoundingClientRect().top-window.innerHeight/2<0),r=i.length>0?i.length-1:0,s=this.stickyHeaderEl.querySelectorAll(".lh-gauge__wrapper, .lh-fraction__wrapper"),c=s[r],g=s[0].getBoundingClientRect().left,p=c.getBoundingClientRect().left-g;this.highlightEl.style.transform=`translate(${p}px)`,this.stickyHeaderEl.classList.toggle("lh-sticky-header--visible",a)}};function Ua(n,e){let t=e?new Date(e):new Date,a=t.toLocaleTimeString("en-US",{hour12:!1}),o=t.toLocaleDateString("en-US",{year:"numeric",month:"2-digit",day:"2-digit"}).split("/");o.unshift(o.pop());let i=o.join("-");return`${n}_${i}_${a}`.replace(/[/?<>\\:*|"]/g,"-")}function La(n){let e=new URL(n.finalDisplayedUrl).hostname;return Ua(e,n.fetchTime)}function Ia(n){let e=n.steps[0].lhr,t=n.name.replace(/\s/g,"-");return Ua(t,e.fetchTime)}function Wo(n){return Array.from(n.tBodies[0].rows)}var St=class{constructor(e,t={}){this.json,this._dom=e,this._opts=t,this._topbar=t.omitTopbar?null:new kt(this,e),this.onMediaQueryChange=this.onMediaQueryChange.bind(this)}initFeatures(e){this.json=e,this._fullPageScreenshot=M.getFullPageScreenshot(e),this._topbar&&(this._topbar.enable(e),this._topbar.resetUIState()),this._setupMediaQueryListeners(),this._setupThirdPartyFilter(),this._setupElementScreenshotOverlay(this._dom.rootEl);let t=this._dom.isDevTools()||this._opts.disableDarkMode||this._opts.disableAutoDarkModeAndFireworks;!t&&window.matchMedia("(prefers-color-scheme: dark)").matches&&Re(this._dom,!0);let o=["performance","accessibility","best-practices","seo"].every(c=>{let g=e.categories[c];return g&&g.score===1}),i=this._opts.disableFireworks||this._opts.disableAutoDarkModeAndFireworks;if(o&&!i&&(this._enableFireworks(),t||Re(this._dom,!0)),e.categories.performance&&e.categories.performance.auditRefs.some(c=>!!(c.group==="metrics"&&e.audits[c.id].errorMessage))){let c=this._dom.find("input.lh-metrics-toggle__input",this._dom.rootEl);c.checked=!0}this.json.audits["script-treemap-data"]&&this.json.audits["script-treemap-data"].details&&this.addButton({text:k.strings.viewTreemapLabel,icon:"treemap",onClick:()=>xa(this.json)}),this._opts.onViewTrace&&(e.configSettings.throttlingMethod==="simulate"?this._dom.find('a[data-action="view-unthrottled-trace"]',this._dom.rootEl).classList.remove("lh-hidden"):this.addButton({text:k.strings.viewTraceLabel,onClick:()=>this._opts.onViewTrace?.()})),this._opts.getStandaloneReportHTML&&this._dom.find('a[data-action="save-html"]',this._dom.rootEl).classList.remove("lh-hidden");for(let c of this._dom.findAll("[data-i18n]",this._dom.rootEl)){let p=c.getAttribute("data-i18n");c.textContent=k.strings[p]}}addButton(e){let t=this._dom.rootEl.querySelector(".lh-audit-group--metrics");if(!t)return;let a=t.querySelector(".lh-buttons");a||(a=this._dom.createChildOf(t,"div","lh-buttons"));let o=["lh-button"];e.icon&&(o.push("lh-report-icon"),o.push(`lh-report-icon--${e.icon}`));let i=this._dom.createChildOf(a,"button",o.join(" "));return i.textContent=e.text,i.addEventListener("click",e.onClick),i}resetUIState(){this._topbar&&this._topbar.resetUIState()}getReportHtml(){if(!this._opts.getStandaloneReportHTML)throw new Error("`getStandaloneReportHTML` is not set");return this.resetUIState(),this._opts.getStandaloneReportHTML()}saveAsGist(){throw new Error("Cannot save as gist from base report")}_enableFireworks(){this._dom.find(".lh-scores-container",this._dom.rootEl).classList.add("lh-score100")}_setupMediaQueryListeners(){let e=self.matchMedia("(max-width: 500px)");e.addListener(this.onMediaQueryChange),this.onMediaQueryChange(e)}_resetUIState(){this._topbar&&this._topbar.resetUIState()}onMediaQueryChange(e){this._dom.rootEl.classList.toggle("lh-narrow",e.matches)}_setupThirdPartyFilter(){let e=["uses-rel-preconnect","third-party-facades"],t=["legacy-javascript"];Array.from(this._dom.rootEl.querySelectorAll("table.lh-table")).filter(i=>i.querySelector("td.lh-table-column--url, td.lh-table-column--source-location")).filter(i=>{let r=i.closest(".lh-audit");if(!r)throw new Error(".lh-table not within audit");return!e.includes(r.id)}).forEach(i=>{let r=Wo(i),s=r.filter(C=>!C.classList.contains("lh-sub-item-row")),c=this._getThirdPartyRows(s,M.getFinalDisplayedUrl(this.json)),g=r.some(C=>C.classList.contains("lh-row--even")),p=this._dom.createComponent("3pFilter"),v=this._dom.find("input",p);v.addEventListener("change",C=>{let _=C.target instanceof HTMLInputElement&&!C.target.checked,P=!0,x=s[0];for(;x;){let T=_&&c.includes(x);do x.classList.toggle("lh-row--hidden",T),g&&(x.classList.toggle("lh-row--even",!T&&P),x.classList.toggle("lh-row--odd",!T&&!P)),x=x.nextElementSibling;while(x&&x.classList.contains("lh-sub-item-row"));T||(P=!P)}});let h=c.filter(C=>!C.classList.contains("lh-row--group")).length;this._dom.find(".lh-3p-filter-count",p).textContent=`${h}`,this._dom.find(".lh-3p-ui-string",p).textContent=k.strings.thirdPartyResourcesLabel;let f=c.length===s.length,y=!c.length;if((f||y)&&(this._dom.find("div.lh-3p-filter",p).hidden=!0),!i.parentNode)return;i.parentNode.insertBefore(p,i);let S=i.closest(".lh-audit");if(!S)throw new Error(".lh-table not within audit");t.includes(S.id)&&!f&&v.click()})}_setupElementScreenshotOverlay(e){this._fullPageScreenshot&&Ce.installOverlayFeature({dom:this._dom,rootEl:e,overlayContainerEl:e,fullPageScreenshot:this._fullPageScreenshot})}_getThirdPartyRows(e,t){let a=M.getRootDomain(t),o=this.json.entities?.find(r=>r.isFirstParty===!0)?.name,i=[];for(let r of e){if(o){if(!r.dataset.entity||r.dataset.entity===o)continue}else{let s=r.querySelector("div.lh-text__url");if(!s)continue;let c=s.dataset.url;if(!c||!(M.getRootDomain(c)!==a))continue}i.push(r)}return i}_saveFile(e){let t=e.type.match("json")?".json":".html",a=La({finalDisplayedUrl:M.getFinalDisplayedUrl(this.json),fetchTime:this.json.fetchTime})+t;this._opts.onSaveFileOverride?this._opts.onSaveFileOverride(e,a):this._dom.saveFile(e,a)}};function Ea(n,e={}){let t=document.createElement("article");t.classList.add("lh-root","lh-vars");let a=new _e(t.ownerDocument,t);return new Ct(a).renderReport(n,t,e),new St(a,e).initFeatures(n),t}function Ta(n,e){let t=new _e(document,document.documentElement),a=new Te(t);return new le(t,a).renderCategoryScore(n,{},e)}function Ra(n,e){new _e(document,document.documentElement).saveFile(n,e)}function Na(n){return new _e(document,document.documentElement).convertMarkdownCodeSnippets(n)}function za(){return new _e(document,document.documentElement).createComponent("styles")}var Da=({category:n,href:e,gatherMode:t})=>{let a=be(()=>Ta(n,{gatherMode:t,omitLabel:!0,onPageAnchorRendered:o=>o.href=e}),[n,e]);return u("div",{ref:a,"data-testid":"CategoryScore"})};var ja=({text:n})=>{let e=be(()=>Na(n),[n]);return u("span",{ref:e})};var Jo=2;function qo(n,e){switch(n){case"navigation":return e.navigationReport;case"timespan":return e.timespanReport;case"snapshot":return e.snapshotReport}}function Ko(n,e){switch(n){case"pass":return e.ratingPass;case"average":return e.ratingAverage;case"fail":return e.ratingFail;case"error":return e.ratingError}}function Ma(n){return n.weight*(1-n.result.score)}function Wt(n){return n.result.details&&n.result.details.overallSavingsMs||0}var Zo=({audit:n})=>{let e=R.calculateRating(n.result.score,n.result.scoreDisplayMode);return u("div",{className:`SummaryTooltipAudit SummaryTooltipAudit--${e}`,children:u(ja,{text:n.result.title})})},Xo=({category:n})=>{let e=J();function t(o){return o.result.score!==null&&o.group!=="metrics"&&(o.group!=="hidden"||n.id!=="performance")&&(o.weight>0||Wt(o)>0)&&!R.showAsPassed(o.result)}let a=n.auditRefs.filter(t).sort((o,i)=>{let r=Ma(o),s=Ma(i);return r!==s?s-r:Wt(i)-Wt(o)}).splice(0,Jo);return a.length?u("div",{className:"SummaryTooltipAudits",children:[u("div",{className:"SummaryTooltipAudits__title",children:e.highestImpact}),a.map(o=>u(Zo,{audit:o},o.id))]}):null},Yo=({category:n,gatherMode:e,url:t})=>{let a=J(),o=bt(),{numPassed:i,numPassableAudits:r,numInformative:s,totalWeight:c}=R.calculateCategoryFraction(n),g=Be(),p=R.shouldDisplayAsFraction(e),v=p?i/r:n.score,h=v===null?"error":R.calculateRating(v);return u("div",{className:"SummaryTooltip",children:[u("div",{className:"SummaryTooltip__title",children:qo(e,a)}),u("div",{className:"SummaryTooltip__url",children:t}),u(ie,{}),u("div",{className:"SummaryTooltip__category",children:[u("div",{className:"SummaryTooltip__category-title",children:n.title}),c!==0&&u("div",{className:`SummaryTooltip__rating SummaryTooltip__rating--${h}`,children:[u("span",{children:Ko(h,a)}),!p&&n.score!==null&&u(W,{children:[u("span",{children:" · "}),u("span",{children:g.formatter.formatInteger(n.score*100)})]})]})]}),u("div",{className:"SummaryTooltip__fraction",children:[u("span",{children:o(a.passedAuditCount,{numPassed:i})}),u("span",{children:" / "}),u("span",{children:o(a.passableAuditCount,{numPassableAudits:r})})]}),s!==0&&u("div",{className:"SummaryTooltip__informative",children:o(a.informativeAuditCount,{numInformative:s})}),u(Xo,{category:n})]})},Fa=({category:n,href:e,gatherMode:t,finalDisplayedUrl:a})=>u("div",{className:"SummaryCategory",children:n?u("div",{className:"SummaryCategory__content",children:[u(Da,{category:n,href:e,gatherMode:t}),u(Yo,{category:n,gatherMode:t,url:a})]}):u("div",{className:"SummaryCategory__null","data-testid":"SummaryCategory__null"})});var Qo=["performance","accessibility","best-practices","seo"],er=40,tr=({lhr:n})=>{let e=J();return u("div",{className:"SummaryNavigationHeader","data-testid":"SummaryNavigationHeader",children:[u(ye,{}),u("div",{className:"SummaryNavigationHeader__url",children:u("a",{rel:"noopener",target:"_blank",href:n.finalDisplayedUrl,children:n.finalDisplayedUrl})}),u("div",{className:"SummaryNavigationHeader__category",children:e.categoryPerformance}),u("div",{className:"SummaryNavigationHeader__category",children:e.categoryAccessibility}),u("div",{className:"SummaryNavigationHeader__category",children:e.categoryBestPractices}),u("div",{className:"SummaryNavigationHeader__category",children:e.categorySeo})]})},nr=({lhr:n,label:e,hashIndex:t})=>{let a=ce(()=>R.prepareReportResult(n),[n]),o=J(),i=ft(n.gatherMode,o);return u("div",{className:"SummaryFlowStep",children:[n.gatherMode==="navigation"||t===0?u(tr,{lhr:n}):u("div",{className:"SummaryFlowStep__separator",children:[u(ye,{}),u(ie,{})]}),u(vt,{lhr:n,width:er}),u(ye,{mode:n.gatherMode}),u("div",{className:"SummaryFlowStep__label",children:[u("div",{className:"SummaryFlowStep__mode",children:i}),u("a",{className:"SummaryFlowStep__link",href:`#index=${t}`,children:e})]}),Qo.map(r=>u(Fa,{category:a.categories[r],href:`#index=${t}&anchor=${r}`,gatherMode:n.gatherMode,finalDisplayedUrl:n.finalDisplayedUrl},r))]})},ar=()=>{let n=ne();return u("div",{className:"SummaryFlow",children:n.steps.map((e,t)=>u(nr,{lhr:e.lhr,label:e.name,hashIndex:t},e.lhr.fetchTime))})},ir=()=>{let n=ne(),e=J(),t=bt(),a=0,o=0,i=0;for(let c of n.steps)switch(c.lhr.gatherMode){case"navigation":a++;break;case"timespan":o++;break;case"snapshot":i++;break}let r=[];a&&r.push(t(e.navigationReportCount,{numNavigation:a})),o&&r.push(t(e.timespanReportCount,{numTimespan:o})),i&&r.push(t(e.snapshotReportCount,{numSnapshot:i}));let s=r.join(" · ");return u("div",{className:"SummaryHeader",children:[u("div",{className:"SummaryHeader__title",children:e.summary}),u("div",{className:"SummaryHeader__subtitle",children:s})]})},or=({children:n})=>u("div",{className:"SummarySectionHeader",children:[u("div",{className:"SummarySectionHeader__content",children:n}),u(ie,{})]}),Ha=()=>{let n=J();return u("div",{className:"Summary","data-testid":"Summary",children:[u(ir,{}),u(ie,{}),u(or,{children:n.allReports}),u(ar,{})]})};function rr(n,e){let t=n.cloneNode(!0);if(!t.hash)return t;let a=n.hash.substr(1);t.hash=`#index=${e}&anchor=${a}`,t.onclick=o=>{o.preventDefault();let i=document.getElementById(a);i&&i.scrollIntoView()},n.replaceWith(t)}var Oa=({hashState:n})=>{let e=be(()=>Ea(n.currentLhr,{disableFireworks:!0,disableDarkMode:!0,omitTopbar:!0,omitGlobalStyles:!0,onPageAnchorRendered:t=>rr(t,n.index)}),[n]);return u("div",{ref:e,"data-testid":"Report"})};var Jt=n=>{let e=J();return u("div",{className:"HelpDialogColumn",children:[u("div",{className:"HelpDialogColumn__legend",children:[u("div",{className:"HelpDialogColumnTimeline",children:[n.icon,u("div",{className:"HelpDialogColumnTimeline__line"})]}),u("div",{className:"HelpDialogColumn__legend-label",children:n.userFriendlyModeLabel})]}),u("div",{className:"HelpDialogColumn__header",children:[u("div",{className:"HelpDialogColumn__header-title",children:n.lighthouseOfficialModeLabel}),u("p",{children:n.modeDescription})]}),u("div",{className:"HelpDialogColumn__use-cases",children:[u("p",{children:n.useCaseInstruction}),u("ul",{children:n.useCases.map((t,a)=>u("li",{children:t},a))})]}),u("div",{className:"HelpDialogColumn__categories",children:[u("p",{children:e.categories}),u("ul",{children:n.availableCategories.map((t,a)=>u("li",{children:t},a))})]})]})},Ba=({onClose:n})=>{let e=J();return u("div",{className:"HelpDialog",children:[u("div",{className:"HelpDialog__title",children:[u("div",{children:e.helpDialogTitle}),u("div",{style:{flexGrow:1}}),u("button",{className:"HelpDialog__close",onClick:n,children:u(Jn,{})})]}),u("div",{className:"HelpDialog__columns",children:[u(Jt,{icon:u(mt,{}),userFriendlyModeLabel:e.navigationDescription,lighthouseOfficialModeLabel:e.navigationReport,modeDescription:e.navigationLongDescription,useCaseInstruction:e.helpUseCaseInstructionNavigation,useCases:[e.helpUseCaseNavigation1,e.helpUseCaseNavigation2,e.helpUseCaseNavigation3],availableCategories:[e.categoryPerformance,e.categoryAccessibility,e.categoryBestPractices,e.categorySeo,e.categoryProgressiveWebApp]}),u(Jt,{icon:u(gt,{}),userFriendlyModeLabel:e.timespanDescription,lighthouseOfficialModeLabel:e.timespanReport,modeDescription:e.timespanLongDescription,useCaseInstruction:e.helpUseCaseInstructionTimespan,useCases:[e.helpUseCaseTimespan1,e.helpUseCaseTimespan2],availableCategories:[e.categoryPerformance,e.categoryBestPractices]}),u(Jt,{icon:u(ht,{}),userFriendlyModeLabel:e.snapshotDescription,lighthouseOfficialModeLabel:e.snapshotReport,modeDescription:e.snapshotLongDescription,useCaseInstruction:e.helpUseCaseInstructionSnapshot,useCases:[e.helpUseCaseSnapshot1,e.helpUseCaseSnapshot2],availableCategories:[e.categoryPerformance,e.categoryAccessibility,e.categoryBestPractices,e.categorySeo]})]})]})};function qt(n,e){let t=new Blob([e],{type:"text/html"}),a=Ia(n)+".html";qt.saveFile(t,a)}qt.saveFile=Ra;var sr=()=>u("svg",{role:"img",class:"lh-topbar__logo",title:"Lighthouse logo",width:"24",height:"24",fill:"none",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 48 48",children:[u("path",{d:"m14 7 10-7 10 7v10h5v7h-5l5 24H9l5-24H9v-7h5V7Z",fill:"#F63"}),u("path",{d:"M31.561 24H14l-1.689 8.105L31.561 24ZM18.983 48H9l1.022-4.907L35.723 32.27l1.663 7.98L18.983 48Z",fill:"#FFA385"}),u("path",{fill:"#FF3",d:"M20.5 10h7v7h-7z"})]}),At=({onClick:n,label:e,children:t})=>u("button",{className:"TopbarButton",onClick:n,"aria-label":e,children:t}),$a=({onMenuClick:n})=>{let e=ne(),t=J(),[a,o]=ve(!1),{getReportHtml:i,saveAsGist:r}=na();return u("div",{className:"Topbar",children:[u(At,{onClick:n,label:"Button that opens and closes the sidebar",children:u(Xn,{})}),u("div",{className:"Topbar__logo",children:u(sr,{})}),u("div",{className:"Topbar__title",children:t.title}),i&&u(At,{onClick:()=>{let s=i(e);qt(e,s)},label:"Button that saves the report as HTML",children:t.save}),r&&u(At,{onClick:()=>r(e),label:"Button that saves the report to a gist",children:t.dropdownSaveGist}),u("div",{style:{flexGrow:1}}),u(At,{onClick:()=>o(s=>!s),label:"Button that toggles the help dialog",children:u("div",{className:"Topbar__help-label",children:[u(Yn,{}),t.helpLabel]})}),a?u(Ba,{onClose:()=>o(!1)}):null]})};var lr=80,pr=120,Kt=({lhr:n,position:e})=>{let t=e==="main"?pr:lr;return u("div",{className:`HeaderThumbnail HeaderThumbnail--${e}`,children:[u(vt,{lhr:n,height:t}),u("div",{className:"HeaderThumbnail__icon",children:u(Ht,{mode:n.gatherMode})})]})},Ga=({hashState:n})=>{let e=ne(),{index:t}=n,a=e.steps[t],o=e.steps[t-1],i=e.steps[t+1],r=J(),s=ft(a.lhr.gatherMode,r);return u("div",{className:"Header",children:[o&&u(W,{children:[e.steps[t-2]&&u("div",{className:"Header__segment"}),u("div",{className:"Header__prev-thumbnail",children:[u(Kt,{lhr:o.lhr,position:"prev"}),u("div",{className:"Header__segment"})]}),u("a",{className:"Header__prev-title",href:`#index=${t-1}`,children:o.name})]}),u("div",{className:"Header__current-thumbnail",children:u(Kt,{lhr:a.lhr,position:"main"})}),u("div",{className:"Header__current-title",children:[a.name,u("div",{className:"Header__current-description",children:s})]}),i&&u(W,{children:[u("div",{className:"Header__next-thumbnail",children:[u("div",{className:"Header__segment"}),u(Kt,{lhr:i.lhr,position:"next"})]}),u("a",{className:"Header__next-title",href:`#index=${t+1}`,children:i.name}),e.steps[t+2]&&u("div",{className:"Header__segment"})]})]})};var Va=()=>{let n=be(za);return u("div",{ref:n})};function ur(n){return!n||!n.anchor?null:document.getElementById(n.anchor)}var cr=()=>{let n=Ie(),e=ct(null);return ut(()=>{let t=ur(n);t?t.scrollIntoView():e.current&&(e.current.scrollTop=0)},[n]),u("div",{ref:e,className:"Content",children:n?u(W,{children:[u(Ga,{hashState:n}),u(Oa,{hashState:n})]}):u(Ha,{})})},Wa=({flowResult:n,options:e})=>{let[t,a]=ve(!1),o=ce(()=>e||{},[e]);return u(Ft.Provider,{value:o,children:u(Mt.Provider,{value:n,children:u(fa,{children:[u(Va,{}),u("div",{className:Le("App",{"App--collapsed":t}),"data-testid":"App",children:[u($a,{onMenuClick:()=>a(i=>!i)}),u(ba,{}),u(cr,{})]})]})})})};function Ja(n,e,t){e.classList.add("flow-vars","lh-vars","lh-root"),En(Nt(Wa,{flowResult:n,options:t}),e)}function dr(){let n=document.body.querySelector("main");if(!n)throw Error("Container element not found");Ja(window.__LIGHTHOUSE_FLOW_JSON__,n,{getReportHtml:()=>document.documentElement.outerHTML})}window.__initLighthouseFlowReport__=dr;window.__initLighthouseFlowReport__();})();
|
|
2692
2692
|
/**
|
|
2693
2693
|
* @license
|
|
2694
2694
|
* Copyright 2017 Google LLC
|