diff --git a/docs/404.html b/docs/404.html index acb8d4d0..668da44f 100644 --- a/docs/404.html +++ b/docs/404.html @@ -11,5 +11,5 @@ - + \ No newline at end of file diff --git a/docs/contact.html b/docs/contact.html index f17852a6..d27783ab 100644 --- a/docs/contact.html +++ b/docs/contact.html @@ -11,5 +11,5 @@ - + \ No newline at end of file diff --git a/docs/features.html b/docs/features.html index 1752f798..2fa32052 100644 --- a/docs/features.html +++ b/docs/features.html @@ -11,5 +11,5 @@ - + \ No newline at end of file diff --git a/docs/getstarted.html b/docs/getstarted.html index 43da38fc..5173396e 100644 --- a/docs/getstarted.html +++ b/docs/getstarted.html @@ -11,5 +11,5 @@ - + \ No newline at end of file diff --git a/docs/index.html b/docs/index.html index 17a2cb65..f8128811 100644 --- a/docs/index.html +++ b/docs/index.html @@ -11,5 +11,5 @@ - + \ No newline at end of file diff --git a/docs/main.57e14277e9173b45.js b/docs/main.4e754b95071a2733.js similarity index 75% rename from docs/main.57e14277e9173b45.js rename to docs/main.4e754b95071a2733.js index 3b0dbe0e..968a4fab 100644 --- a/docs/main.57e14277e9173b45.js +++ b/docs/main.4e754b95071a2733.js @@ -1 +1 @@ -"use strict";(self.webpackChunkReportGenerator_io=self.webpackChunkReportGenerator_io||[]).push([[590],{632:()=>{let Re=null,va=1;const br=Symbol("SIGNAL");function xe(e){const n=Re;return Re=e,n}function Dg(e){if((!Ri(e)||e.dirty)&&(e.dirty||e.lastCleanEpoch!==va)){if(!e.producerMustRecompute(e)&&!mu(e))return e.dirty=!1,void(e.lastCleanEpoch=va);e.producerRecomputeValue(e),e.dirty=!1,e.lastCleanEpoch=va}}function mu(e){to(e);for(let n=0;n0}function to(e){e.producerNode??=[],e.producerIndexOfThis??=[],e.producerLastReadVersion??=[]}let Ng=null;function Ee(e){return"function"==typeof e}function yu(e){const t=e(r=>{Error.call(r),r.stack=(new Error).stack});return t.prototype=Object.create(Error.prototype),t.prototype.constructor=t,t}const _u=yu(e=>function(t){e(this),this.message=t?`${t.length} errors occurred during unsubscription:\n${t.map((r,o)=>`${o+1}) ${r.toString()}`).join("\n ")}`:"",this.name="UnsubscriptionError",this.errors=t});function Cu(e,n){if(e){const t=e.indexOf(n);0<=t&&e.splice(t,1)}}class yt{constructor(n){this.initialTeardown=n,this.closed=!1,this._parentage=null,this._finalizers=null}unsubscribe(){let n;if(!this.closed){this.closed=!0;const{_parentage:t}=this;if(t)if(this._parentage=null,Array.isArray(t))for(const i of t)i.remove(this);else t.remove(this);const{initialTeardown:r}=this;if(Ee(r))try{r()}catch(i){n=i instanceof _u?i.errors:[i]}const{_finalizers:o}=this;if(o){this._finalizers=null;for(const i of o)try{kg(i)}catch(s){n=n??[],s instanceof _u?n=[...n,...s.errors]:n.push(s)}}if(n)throw new _u(n)}}add(n){var t;if(n&&n!==this)if(this.closed)kg(n);else{if(n instanceof yt){if(n.closed||n._hasParent(this))return;n._addParent(this)}(this._finalizers=null!==(t=this._finalizers)&&void 0!==t?t:[]).push(n)}}_hasParent(n){const{_parentage:t}=this;return t===n||Array.isArray(t)&&t.includes(n)}_addParent(n){const{_parentage:t}=this;this._parentage=Array.isArray(t)?(t.push(n),t):t?[t,n]:n}_removeParent(n){const{_parentage:t}=this;t===n?this._parentage=null:Array.isArray(t)&&Cu(t,n)}remove(n){const{_finalizers:t}=this;t&&Cu(t,n),n instanceof yt&&n._removeParent(this)}}yt.EMPTY=(()=>{const e=new yt;return e.closed=!0,e})();const Og=yt.EMPTY;function Pg(e){return e instanceof yt||e&&"closed"in e&&Ee(e.remove)&&Ee(e.add)&&Ee(e.unsubscribe)}function kg(e){Ee(e)?e():e.unsubscribe()}const Er={onUnhandledError:null,onStoppedNotification:null,Promise:void 0,useDeprecatedSynchronousErrorHandling:!1,useDeprecatedNextContext:!1},_a={setTimeout(e,n,...t){const{delegate:r}=_a;return r?.setTimeout?r.setTimeout(e,n,...t):setTimeout(e,n,...t)},clearTimeout(e){const{delegate:n}=_a;return(n?.clearTimeout||clearTimeout)(e)},delegate:void 0};function Fg(e){_a.setTimeout(()=>{const{onUnhandledError:n}=Er;if(!n)throw e;n(e)})}function Du(){}const E0=wu("C",void 0,void 0);function wu(e,n,t){return{kind:e,value:n,error:t}}let Ir=null;function Ca(e){if(Er.useDeprecatedSynchronousErrorHandling){const n=!Ir;if(n&&(Ir={errorThrown:!1,error:null}),e(),n){const{errorThrown:t,error:r}=Ir;if(Ir=null,t)throw r}}else e()}class bu extends yt{constructor(n){super(),this.isStopped=!1,n?(this.destination=n,Pg(n)&&n.add(this)):this.destination=x0}static create(n,t,r){return new Iu(n,t,r)}next(n){this.isStopped?Mu(function M0(e){return wu("N",e,void 0)}(n),this):this._next(n)}error(n){this.isStopped?Mu(function I0(e){return wu("E",void 0,e)}(n),this):(this.isStopped=!0,this._error(n))}complete(){this.isStopped?Mu(E0,this):(this.isStopped=!0,this._complete())}unsubscribe(){this.closed||(this.isStopped=!0,super.unsubscribe(),this.destination=null)}_next(n){this.destination.next(n)}_error(n){try{this.destination.error(n)}finally{this.unsubscribe()}}_complete(){try{this.destination.complete()}finally{this.unsubscribe()}}}const T0=Function.prototype.bind;function Eu(e,n){return T0.call(e,n)}class A0{constructor(n){this.partialObserver=n}next(n){const{partialObserver:t}=this;if(t.next)try{t.next(n)}catch(r){Da(r)}}error(n){const{partialObserver:t}=this;if(t.error)try{t.error(n)}catch(r){Da(r)}else Da(n)}complete(){const{partialObserver:n}=this;if(n.complete)try{n.complete()}catch(t){Da(t)}}}class Iu extends bu{constructor(n,t,r){let o;if(super(),Ee(n)||!n)o={next:n??void 0,error:t??void 0,complete:r??void 0};else{let i;this&&Er.useDeprecatedNextContext?(i=Object.create(n),i.unsubscribe=()=>this.unsubscribe(),o={next:n.next&&Eu(n.next,i),error:n.error&&Eu(n.error,i),complete:n.complete&&Eu(n.complete,i)}):o=n}this.destination=new A0(o)}}function Da(e){Er.useDeprecatedSynchronousErrorHandling?function S0(e){Er.useDeprecatedSynchronousErrorHandling&&Ir&&(Ir.errorThrown=!0,Ir.error=e)}(e):Fg(e)}function Mu(e,n){const{onStoppedNotification:t}=Er;t&&_a.setTimeout(()=>t(e,n))}const x0={closed:!0,next:Du,error:function N0(e){throw e},complete:Du},Su="function"==typeof Symbol&&Symbol.observable||"@@observable";function Mr(e){return e}function Lg(e){return 0===e.length?Mr:1===e.length?e[0]:function(t){return e.reduce((r,o)=>o(r),t)}}let Be=(()=>{class e{constructor(t){t&&(this._subscribe=t)}lift(t){const r=new e;return r.source=this,r.operator=t,r}subscribe(t,r,o){const i=function P0(e){return e&&e instanceof bu||function O0(e){return e&&Ee(e.next)&&Ee(e.error)&&Ee(e.complete)}(e)&&Pg(e)}(t)?t:new Iu(t,r,o);return Ca(()=>{const{operator:s,source:a}=this;i.add(s?s.call(i,a):a?this._subscribe(i):this._trySubscribe(i))}),i}_trySubscribe(t){try{return this._subscribe(t)}catch(r){t.error(r)}}forEach(t,r){return new(r=Vg(r))((o,i)=>{const s=new Iu({next:a=>{try{t(a)}catch(l){i(l),s.unsubscribe()}},error:i,complete:o});this.subscribe(s)})}_subscribe(t){var r;return null===(r=this.source)||void 0===r?void 0:r.subscribe(t)}[Su](){return this}pipe(...t){return Lg(t)(this)}toPromise(t){return new(t=Vg(t))((r,o)=>{let i;this.subscribe(s=>i=s,s=>o(s),()=>r(i))})}}return e.create=n=>new e(n),e})();function Vg(e){var n;return null!==(n=e??Er.Promise)&&void 0!==n?n:Promise}const k0=yu(e=>function(){e(this),this.name="ObjectUnsubscribedError",this.message="object unsubscribed"});let dn=(()=>{class e extends Be{constructor(){super(),this.closed=!1,this.currentObservers=null,this.observers=[],this.isStopped=!1,this.hasError=!1,this.thrownError=null}lift(t){const r=new jg(this,this);return r.operator=t,r}_throwIfClosed(){if(this.closed)throw new k0}next(t){Ca(()=>{if(this._throwIfClosed(),!this.isStopped){this.currentObservers||(this.currentObservers=Array.from(this.observers));for(const r of this.currentObservers)r.next(t)}})}error(t){Ca(()=>{if(this._throwIfClosed(),!this.isStopped){this.hasError=this.isStopped=!0,this.thrownError=t;const{observers:r}=this;for(;r.length;)r.shift().error(t)}})}complete(){Ca(()=>{if(this._throwIfClosed(),!this.isStopped){this.isStopped=!0;const{observers:t}=this;for(;t.length;)t.shift().complete()}})}unsubscribe(){this.isStopped=this.closed=!0,this.observers=this.currentObservers=null}get observed(){var t;return(null===(t=this.observers)||void 0===t?void 0:t.length)>0}_trySubscribe(t){return this._throwIfClosed(),super._trySubscribe(t)}_subscribe(t){return this._throwIfClosed(),this._checkFinalizedStatuses(t),this._innerSubscribe(t)}_innerSubscribe(t){const{hasError:r,isStopped:o,observers:i}=this;return r||o?Og:(this.currentObservers=null,i.push(t),new yt(()=>{this.currentObservers=null,Cu(i,t)}))}_checkFinalizedStatuses(t){const{hasError:r,thrownError:o,isStopped:i}=this;r?t.error(o):i&&t.complete()}asObservable(){const t=new Be;return t.source=this,t}}return e.create=(n,t)=>new jg(n,t),e})();class jg extends dn{constructor(n,t){super(),this.destination=n,this.source=t}next(n){var t,r;null===(r=null===(t=this.destination)||void 0===t?void 0:t.next)||void 0===r||r.call(t,n)}error(n){var t,r;null===(r=null===(t=this.destination)||void 0===t?void 0:t.error)||void 0===r||r.call(t,n)}complete(){var n,t;null===(t=null===(n=this.destination)||void 0===n?void 0:n.complete)||void 0===t||t.call(n)}_subscribe(n){var t,r;return null!==(r=null===(t=this.source)||void 0===t?void 0:t.subscribe(n))&&void 0!==r?r:Og}}class jt extends dn{constructor(n){super(),this._value=n}get value(){return this.getValue()}_subscribe(n){const t=super._subscribe(n);return!t.closed&&n.next(this._value),t}getValue(){const{hasError:n,thrownError:t,_value:r}=this;if(n)throw t;return this._throwIfClosed(),r}next(n){super.next(this._value=n)}}function Ug(e){return Ee(e?.lift)}function et(e){return n=>{if(Ug(n))return n.lift(function(t){try{return e(t,this)}catch(r){this.error(r)}});throw new TypeError("Unable to lift unknown Observable type")}}function ze(e,n,t,r,o){return new F0(e,n,t,r,o)}class F0 extends bu{constructor(n,t,r,o,i,s){super(n),this.onFinalize=i,this.shouldUnsubscribe=s,this._next=t?function(a){try{t(a)}catch(l){n.error(l)}}:super._next,this._error=o?function(a){try{o(a)}catch(l){n.error(l)}finally{this.unsubscribe()}}:super._error,this._complete=r?function(){try{r()}catch(a){n.error(a)}finally{this.unsubscribe()}}:super._complete}unsubscribe(){var n;if(!this.shouldUnsubscribe||this.shouldUnsubscribe()){const{closed:t}=this;super.unsubscribe(),!t&&(null===(n=this.onFinalize)||void 0===n||n.call(this))}}}function K(e,n){return et((t,r)=>{let o=0;t.subscribe(ze(r,i=>{r.next(e.call(n,i,o++))}))})}const Bg="https://g.co/ng/security#xss";class I extends Error{constructor(n,t){super(function no(e,n){return`NG0${Math.abs(e)}${n?": "+n:""}`}(n,t)),this.code=n}}function Tu(e){return n=>{setTimeout(e,void 0,n)}}const Ae=class L0 extends dn{constructor(n=!1){super(),this.__isAsync=n}emit(n){super.next(n)}subscribe(n,t,r){let o=n,i=t||(()=>null),s=r;if(n&&"object"==typeof n){const l=n;o=l.next?.bind(l),i=l.error?.bind(l),s=l.complete?.bind(l)}this.__isAsync&&(i=Tu(i),o&&(o=Tu(o)),s&&(s=Tu(s)));const a=super.subscribe({next:o,error:i,complete:s});return n instanceof yt&&n.add(a),a}};var X=function(e){return e[e.Default=0]="Default",e[e.Host=1]="Host",e[e.Self=2]="Self",e[e.SkipSelf=4]="SkipSelf",e[e.Optional=8]="Optional",e}(X||{});function qe(e){if("string"==typeof e)return e;if(Array.isArray(e))return"["+e.map(qe).join(", ")+"]";if(null==e)return""+e;if(e.overriddenName)return`${e.overriddenName}`;if(e.name)return`${e.name}`;const n=e.toString();if(null==n)return""+n;const t=n.indexOf("\n");return-1===t?n:n.substring(0,t)}function Au(e,n){return null==e||""===e?null===n?"":n:null==n||""===n?e:e+" "+n}var ba=function(e){return e[e.OnPush=0]="OnPush",e[e.Default=1]="Default",e}(ba||{}),Qt=function(e){return e[e.Emulated=0]="Emulated",e[e.None=2]="None",e[e.ShadowDom=3]="ShadowDom",e}(Qt||{});function xn(e){return{toString:e}.toString()}const ce=globalThis,fn={},ne=[];function ue(e){for(let n in e)if(e[n]===ue)return n;throw Error("Could not find renamed property on target object.")}function B0(e,n){for(const t in n)n.hasOwnProperty(t)&&!e.hasOwnProperty(t)&&(e[t]=n[t])}const Oi=ue({\u0275cmp:ue}),Nu=ue({\u0275dir:ue}),xu=ue({\u0275pipe:ue}),Gg=ue({\u0275mod:ue}),Rn=ue({\u0275fac:ue}),Pi=ue({__NG_ELEMENT_ID__:ue}),zg=ue({__NG_ENV_ID__:ue});var Ie=function(e){return e[e.None=0]="None",e[e.SignalBased=1]="SignalBased",e[e.HasDecoratorInputTransform=2]="HasDecoratorInputTransform",e}(Ie||{});function qg(e,n,t){let r=e.length;for(;;){const o=e.indexOf(n,t);if(-1===o)return o;if(0===o||e.charCodeAt(o-1)<=32){const i=n.length;if(o+i===r||e.charCodeAt(o+i)<=32)return o}t=o+1}}function Ru(e,n,t){let r=0;for(;rn){s=i-1;break}}}for(;ii?"":o[d+1].toLowerCase();const m=8&r?g:null;if(m&&-1!==qg(m,c,0)||2&r&&c!==g){if(Yt(r))return!1;s=!0}}}}else{if(!s&&!Yt(r)&&!Yt(l))return!1;if(s&&Yt(l))continue;s=!1,r=l|1&r}}return Yt(r)||s}function Yt(e){return 0==(1&e)}function z0(e,n,t,r){if(null===n)return-1;let o=0;if(r||!t){let i=!1;for(;o-1)for(t++;t0?'="'+a+'"':"")+"]"}else 8&r?o+="."+s:4&r&&(o+=" "+s);else""!==o&&!Yt(s)&&(n+=Kg(i,o),o=""),r=s,i=i||!Yt(r);t++}return""!==o&&(n+=Kg(i,o)),n}function xt(e){return xn(()=>{const n=tm(e),t={...n,decls:e.decls,vars:e.vars,template:e.template,consts:e.consts||null,ngContentSelectors:e.ngContentSelectors,onPush:e.changeDetection===ba.OnPush,directiveDefs:null,pipeDefs:null,dependencies:n.standalone&&e.dependencies||null,getStandaloneInjector:null,signals:e.signals??!1,data:e.data||{},encapsulation:e.encapsulation||Qt.Emulated,styles:e.styles||ne,_:null,schemas:e.schemas||null,tView:null,id:""};nm(t);const r=e.dependencies;return t.directiveDefs=Ea(r,!1),t.pipeDefs=Ea(r,!0),t.id=function n1(e){let n=0;const t=[e.selectors,e.ngContentSelectors,e.hostVars,e.hostAttrs,e.consts,e.vars,e.decls,e.encapsulation,e.standalone,e.signals,e.exportAs,JSON.stringify(e.inputs),JSON.stringify(e.outputs),Object.getOwnPropertyNames(e.type.prototype),!!e.contentQueries,!!e.viewQuery].join("|");for(const o of t)n=Math.imul(31,n)+o.charCodeAt(0)<<0;return n+=2147483648,"c"+n}(t),t})}function K0(e){return Y(e)||We(e)}function e1(e){return null!==e}function Jn(e){return xn(()=>({type:e.type,bootstrap:e.bootstrap||ne,declarations:e.declarations||ne,imports:e.imports||ne,exports:e.exports||ne,transitiveCompileScopes:null,schemas:e.schemas||null,id:e.id||null}))}function em(e,n){if(null==e)return fn;const t={};for(const r in e)if(e.hasOwnProperty(r)){const o=e[r];let i,s,a=Ie.None;Array.isArray(o)?(a=o[0],i=o[1],s=o[2]??i):(i=o,s=o),n?(t[i]=a!==Ie.None?[r,a]:r,n[i]=s):t[i]=r}return t}function H(e){return xn(()=>{const n=tm(e);return nm(n),n})}function Y(e){return e[Oi]||null}function We(e){return e[Nu]||null}function tt(e){return e[xu]||null}function rt(e,n){const t=e[Gg]||null;if(!t&&!0===n)throw new Error(`Type ${qe(e)} does not have '\u0275mod' property.`);return t}function tm(e){const n={};return{type:e.type,providersResolver:null,factory:null,hostBindings:e.hostBindings||null,hostVars:e.hostVars||0,hostAttrs:e.hostAttrs||null,contentQueries:e.contentQueries||null,declaredInputs:n,inputTransforms:null,inputConfig:e.inputs||fn,exportAs:e.exportAs||null,standalone:!0===e.standalone,signals:!0===e.signals,selectors:e.selectors||ne,viewQuery:e.viewQuery||null,features:e.features||null,setInput:null,findHostDirectiveDefs:null,hostDirectives:null,inputs:em(e.inputs,n),outputs:em(e.outputs),debugInfo:null}}function nm(e){e.features?.forEach(n=>n(e))}function Ea(e,n){if(!e)return null;const t=n?tt:K0;return()=>("function"==typeof e?e():e).map(r=>t(r)).filter(e1)}const Me=0,A=1,k=2,Oe=3,Xt=4,ot=5,Jt=6,ro=7,ve=8,it=9,On=10,G=11,Fi=12,rm=13,oo=14,Ne=15,Li=16,io=17,Pn=18,Vi=19,om=20,er=21,Ia=22,Sr=23,z=25,Ou=1,hn=7,so=9,Pe=10;var Pu=function(e){return e[e.None=0]="None",e[e.HasTransplantedViews=2]="HasTransplantedViews",e}(Pu||{});function st(e){return Array.isArray(e)&&"object"==typeof e[Ou]}function at(e){return Array.isArray(e)&&!0===e[Ou]}function ku(e){return 0!=(4&e.flags)}function Tr(e){return e.componentOffset>-1}function Sa(e){return 1==(1&e.flags)}function Kt(e){return!!e.template}function Fu(e){return 0!=(512&e[k])}let um=!1;function pe(e){for(;Array.isArray(e);)e=e[Me];return e}function Ui(e,n){return pe(n[e])}function ft(e,n){return pe(n[e.index])}function Bi(e,n){return e.data[n]}function Rt(e,n){const t=n[e];return st(t)?t:t[Me]}function Uu(e){return 128==(128&e[k])}function pn(e,n){return null==n?null:e[n]}function dm(e){e[io]=0}function u1(e){1024&e[k]||(e[k]|=1024,Uu(e)&&Hi(e))}function Bu(e){return!!(9216&e[k]||e[Sr]?.dirty)}function Hu(e){Bu(e)?Hi(e):64&e[k]&&(function s1(){return um}()?(e[k]|=1024,Hi(e)):e[On].changeDetectionScheduler?.notify())}function Hi(e){e[On].changeDetectionScheduler?.notify();let n=Ar(e);for(;null!==n&&!(8192&n[k])&&(n[k]|=8192,Uu(n));)n=Ar(n)}function Ta(e,n){if(256==(256&e[k]))throw new I(911,!1);null===e[er]&&(e[er]=[]),e[er].push(n)}function Ar(e){const n=e[Oe];return at(n)?n[Oe]:n}const j={lFrame:Dm(null),bindingsEnabled:!0,skipHydrationRootTNode:null};function pm(){return j.bindingsEnabled}function b(){return j.lFrame.lView}function J(){return j.lFrame.tView}function re(e){return j.lFrame.contextLView=e,e[ve]}function oe(e){return j.lFrame.contextLView=null,e}function de(){let e=gm();for(;null!==e&&64===e.type;)e=e.parent;return e}function gm(){return j.lFrame.currentTNode}function gn(e,n){const t=j.lFrame;t.currentTNode=e,t.isParent=n}function Gu(){return j.lFrame.isParent}function zu(){j.lFrame.isParent=!1}function ht(){const e=j.lFrame;let n=e.bindingRootIndex;return-1===n&&(n=e.bindingRootIndex=e.tView.bindingStartIndex),n}function en(){return j.lFrame.bindingIndex++}function D1(e,n){const t=j.lFrame;t.bindingIndex=t.bindingRootIndex=e,qu(n)}function qu(e){j.lFrame.currentDirectiveIndex=e}function Zu(){return j.lFrame.currentQueryIndex}function Aa(e){j.lFrame.currentQueryIndex=e}function b1(e){const n=e[A];return 2===n.type?n.declTNode:1===n.type?e[ot]:null}function _m(e,n,t){if(t&X.SkipSelf){let o=n,i=e;for(;!(o=o.parent,null!==o||t&X.Host||(o=b1(i),null===o||(i=i[oo],10&o.type))););if(null===o)return!1;n=o,e=i}const r=j.lFrame=Cm();return r.currentTNode=n,r.lView=e,!0}function Qu(e){const n=Cm(),t=e[A];j.lFrame=n,n.currentTNode=t.firstChild,n.lView=e,n.tView=t,n.contextLView=e,n.bindingIndex=t.bindingStartIndex,n.inI18n=!1}function Cm(){const e=j.lFrame,n=null===e?null:e.child;return null===n?Dm(e):n}function Dm(e){const n={currentTNode:null,isParent:!0,lView:null,tView:null,selectedIndex:-1,contextLView:null,elementDepthCount:0,currentNamespace:null,currentDirectiveIndex:-1,bindingRootIndex:-1,bindingIndex:-1,currentQueryIndex:0,parent:e,child:null,inI18n:!1};return null!==e&&(e.child=n),n}function wm(){const e=j.lFrame;return j.lFrame=e.parent,e.currentTNode=null,e.lView=null,e}const bm=wm;function Yu(){const e=wm();e.isParent=!0,e.tView=null,e.selectedIndex=-1,e.contextLView=null,e.elementDepthCount=0,e.currentDirectiveIndex=-1,e.currentNamespace=null,e.bindingRootIndex=-1,e.bindingIndex=-1,e.currentQueryIndex=0}function lt(){return j.lFrame.selectedIndex}function Nr(e){j.lFrame.selectedIndex=e}function ye(){const e=j.lFrame;return Bi(e.tView,e.selectedIndex)}let Im=!0;function Na(){return Im}function tr(e){Im=e}function A1(){return co(de(),b())}function co(e,n){return new Ot(ft(e,n))}let ed,Ot=(()=>{class e{constructor(t){this.nativeElement=t}static#e=this.__NG_ELEMENT_ID__=A1}return e})();function Mm(e){return e instanceof Ot?e.nativeElement:e}function uo(e,n){e.forEach(t=>Array.isArray(t)?uo(t,n):n(t))}function Sm(e,n,t){n>=e.length?e.push(t):e.splice(n,0,t)}function xa(e,n){return n>=e.length-1?e.pop():e.splice(n,1)[0]}function Pt(e,n,t){let r=fo(e,n);return r>=0?e[1|r]=t:(r=~r,function Tm(e,n,t,r){let o=e.length;if(o==n)e.push(t,r);else if(1===o)e.push(r,e[0]),e[0]=t;else{for(o--,e.push(e[o-1],e[o]);o>n;)e[o]=e[o-2],o--;e[n]=t,e[n+1]=r}}(e,r,n,t)),r}function Ju(e,n){const t=fo(e,n);if(t>=0)return e[1|t]}function fo(e,n){return function Am(e,n,t){let r=0,o=e.length>>t;for(;o!==r;){const i=r+(o-r>>1),s=e[i<n?o=i:r=i+1}return~(o<L1}),L1="ng",Pm=new N(""),rr=new N("",{providedIn:"platform",factory:()=>"unknown"}),km=new N("",{providedIn:"root",factory:()=>function nr(){if(void 0!==ed)return ed;if(typeof document<"u")return document;throw new I(210,!1)}().body?.querySelector("[ngCspNonce]")?.getAttribute("ngCspNonce")||null}),U1=ue({__forward_ref__:ue});function _e(e){return e.__forward_ref__=_e,e.toString=function(){return qe(this())},e}function V(e){return ja(e)?e():e}function ja(e){return"function"==typeof e&&e.hasOwnProperty(U1)&&e.__forward_ref__===_e}function sd(e){return e&&!!e.\u0275providers}function q(e){return"string"==typeof e?e:null==e?"":String(e)}function ad(e,n){throw new I(-201,!1)}let ld;function Lm(){return ld}function Dt(e){const n=ld;return ld=e,n}function Vm(e,n,t){const r=ka(e);return r&&"root"==r.providedIn?void 0===r.value?r.value=r.factory():r.value:t&X.Optional?null:void 0!==n?n:void ad()}const zi={},cd="__NG_DI_FLAG__",Ua="ngTempTokenPath",q1=/\n/gm,jm="__source";let ho;function or(e){const n=ho;return ho=e,n}function Q1(e,n=X.Default){if(void 0===ho)throw new I(-203,!1);return null===ho?Vm(e,void 0,n):ho.get(e,n&X.Optional?null:void 0,n)}function P(e,n=X.Default){return(Lm()||Q1)(V(e),n)}function T(e,n=X.Default){return P(e,Ba(n))}function Ba(e){return typeof e>"u"||"number"==typeof e?e:0|(e.optional&&8)|(e.host&&1)|(e.self&&2)|(e.skipSelf&&4)}function ud(e){const n=[];for(let t=0;tnull;function yd(e,n,t=!1){return Bm(e,n,t)}const yo="__parameters__";function Co(e,n,t){return xn(()=>{const r=function wd(e){return function(...t){if(e){const r=e(...t);for(const o in r)this[o]=r[o]}}}(n);function o(...i){if(this instanceof o)return r.apply(this,i),this;const s=new o(...i);return a.annotation=s,a;function a(l,c,u){const d=l.hasOwnProperty(yo)?l[yo]:Object.defineProperty(l,yo,{value:[]})[yo];for(;d.length<=u;)d.push(null);return(d[u]=d[u]||[]).push(s),l}}return t&&(o.prototype=Object.create(t.prototype)),o.prototype.ngMetadataName=e,o.annotationCls=o,o})}const Wa=qi(Co("Optional"),8),Za=qi(Co("SkipSelf"),4);function xr(e,n){return e.hasOwnProperty(Rn)?e[Rn]:null}const Rr=new N(""),Wm=new N("",-1),bd=new N("");class Qa{get(n,t=zi){if(t===zi){const r=new Error(`NullInjectorError: No provider for ${qe(n)}!`);throw r.name="NullInjectorError",r}return t}}function Ya(e){return{\u0275providers:e}}function Zm(...e){return{\u0275providers:Qm(0,e),\u0275fromNgModule:!0}}function Qm(e,...n){const t=[],r=new Set;let o;const i=s=>{t.push(s)};return uo(n,s=>{const a=s;Xa(a,i,[],r)&&(o||=[],o.push(a))}),void 0!==o&&Ym(o,i),t}function Ym(e,n){for(let t=0;t{n(i,r)})}}function Xa(e,n,t,r){if(!(e=V(e)))return!1;let o=null,i=Fa(e);const s=!i&&Y(e);if(i||s){if(s&&!s.standalone)return!1;o=e}else{const l=e.ngModule;if(i=Fa(l),!i)return!1;o=l}const a=r.has(o);if(s){if(a)return!1;if(r.add(o),s.dependencies){const l="function"==typeof s.dependencies?s.dependencies():s.dependencies;for(const c of l)Xa(c,n,t,r)}}else{if(!i)return!1;{if(null!=i.imports&&!a){let c;r.add(o);try{uo(i.imports,u=>{Xa(u,n,t,r)&&(c||=[],c.push(u))})}finally{}void 0!==c&&Ym(c,n)}if(!a){const c=xr(o)||(()=>new o);n({provide:o,useFactory:c,deps:ne},o),n({provide:bd,useValue:o,multi:!0},o),n({provide:Rr,useValue:()=>P(o),multi:!0},o)}const l=i.providers;if(null!=l&&!a){const c=e;Ed(l,u=>{n(u,c)})}}}return o!==e&&void 0!==e.providers}function Ed(e,n){for(let t of e)sd(t)&&(t=t.\u0275providers),Array.isArray(t)?Ed(t,n):n(t)}const uS=ue({provide:String,useValue:ue});function Id(e){return null!==e&&"object"==typeof e&&uS in e}function Or(e){return"function"==typeof e}const Md=new N(""),Ja={},fS={};let Sd;function Ka(){return void 0===Sd&&(Sd=new Qa),Sd}class kt{}class Do extends kt{get destroyed(){return this._destroyed}constructor(n,t,r,o){super(),this.parent=t,this.source=r,this.scopes=o,this.records=new Map,this._ngOnDestroyHooks=new Set,this._onDestroyHooks=[],this._destroyed=!1,Ad(n,s=>this.processProvider(s)),this.records.set(Wm,wo(void 0,this)),o.has("environment")&&this.records.set(kt,wo(void 0,this));const i=this.records.get(Md);null!=i&&"string"==typeof i.value&&this.scopes.add(i.value),this.injectorDefTypes=new Set(this.get(bd,ne,X.Self))}destroy(){this.assertNotDestroyed(),this._destroyed=!0;try{for(const t of this._ngOnDestroyHooks)t.ngOnDestroy();const n=this._onDestroyHooks;this._onDestroyHooks=[];for(const t of n)t()}finally{this.records.clear(),this._ngOnDestroyHooks.clear(),this.injectorDefTypes.clear()}}onDestroy(n){return this.assertNotDestroyed(),this._onDestroyHooks.push(n),()=>this.removeOnDestroy(n)}runInContext(n){this.assertNotDestroyed();const t=or(this),r=Dt(void 0);try{return n()}finally{or(t),Dt(r)}}get(n,t=zi,r=X.Default){if(this.assertNotDestroyed(),n.hasOwnProperty(zg))return n[zg](this);r=Ba(r);const i=or(this),s=Dt(void 0);try{if(!(r&X.SkipSelf)){let l=this.records.get(n);if(void 0===l){const c=function vS(e){return"function"==typeof e||"object"==typeof e&&e instanceof N}(n)&&ka(n);l=c&&this.injectableDefInScope(c)?wo(Td(n),Ja):null,this.records.set(n,l)}if(null!=l)return this.hydrate(n,l)}return(r&X.Self?Ka():this.parent).get(n,t=r&X.Optional&&t===zi?null:t)}catch(a){if("NullInjectorError"===a.name){if((a[Ua]=a[Ua]||[]).unshift(qe(n)),i)throw a;return function X1(e,n,t,r){const o=e[Ua];throw n[jm]&&o.unshift(n[jm]),e.message=function J1(e,n,t,r=null){e=e&&"\n"===e.charAt(0)&&"\u0275"==e.charAt(1)?e.slice(2):e;let o=qe(n);if(Array.isArray(n))o=n.map(qe).join(" -> ");else if("object"==typeof n){let i=[];for(let s in n)if(n.hasOwnProperty(s)){let a=n[s];i.push(s+":"+("string"==typeof a?JSON.stringify(a):qe(a)))}o=`{${i.join(", ")}}`}return`${t}${r?"("+r+")":""}[${o}]: ${e.replace(q1,"\n ")}`}("\n"+e.message,o,t,r),e.ngTokenPath=o,e[Ua]=null,e}(a,n,"R3InjectorError",this.source)}throw a}finally{Dt(s),or(i)}}resolveInjectorInitializers(){const n=or(this),t=Dt(void 0);try{const o=this.get(Rr,ne,X.Self);for(const i of o)i()}finally{or(n),Dt(t)}}toString(){const n=[],t=this.records;for(const r of t.keys())n.push(qe(r));return`R3Injector[${n.join(", ")}]`}assertNotDestroyed(){if(this._destroyed)throw new I(205,!1)}processProvider(n){let t=Or(n=V(n))?n:V(n&&n.provide);const r=function pS(e){return Id(e)?wo(void 0,e.useValue):wo(Km(e),Ja)}(n);if(!Or(n)&&!0===n.multi){let o=this.records.get(t);o||(o=wo(void 0,Ja,!0),o.factory=()=>ud(o.multi),this.records.set(t,o)),t=n,o.multi.push(n)}this.records.set(t,r)}hydrate(n,t){return t.value===Ja&&(t.value=fS,t.value=t.factory()),"object"==typeof t.value&&t.value&&function mS(e){return null!==e&&"object"==typeof e&&"function"==typeof e.ngOnDestroy}(t.value)&&this._ngOnDestroyHooks.add(t.value),t.value}injectableDefInScope(n){if(!n.providedIn)return!1;const t=V(n.providedIn);return"string"==typeof t?"any"===t||this.scopes.has(t):this.injectorDefTypes.has(t)}removeOnDestroy(n){const t=this._onDestroyHooks.indexOf(n);-1!==t&&this._onDestroyHooks.splice(t,1)}}function Td(e){const n=ka(e),t=null!==n?n.factory:xr(e);if(null!==t)return t;if(e instanceof N)throw new I(204,!1);if(e instanceof Function)return function hS(e){if(e.length>0)throw new I(204,!1);const t=function k1(e){return e&&(e[La]||e[Om])||null}(e);return null!==t?()=>t.factory(e):()=>new e}(e);throw new I(204,!1)}function Km(e,n,t){let r;if(Or(e)){const o=V(e);return xr(o)||Td(o)}if(Id(e))r=()=>V(e.useValue);else if(function Jm(e){return!(!e||!e.useFactory)}(e))r=()=>e.useFactory(...ud(e.deps||[]));else if(function Xm(e){return!(!e||!e.useExisting)}(e))r=()=>P(V(e.useExisting));else{const o=V(e&&(e.useClass||e.provide));if(!function gS(e){return!!e.deps}(e))return xr(o)||Td(o);r=()=>new o(...ud(e.deps))}return r}function wo(e,n,t=!1){return{factory:e,value:n,multi:t?[]:void 0}}function Ad(e,n){for(const t of e)Array.isArray(t)?Ad(t,n):t&&sd(t)?Ad(t.\u0275providers,n):n(t)}function ir(e,n){e instanceof Do&&e.assertNotDestroyed();const r=or(e),o=Dt(void 0);try{return n()}finally{or(r),Dt(o)}}class SS{constructor(n,t,r){this.previousValue=n,this.currentValue=t,this.firstChange=r}isFirstChange(){return this.firstChange}}function tv(e,n,t,r){null!==n?n.applyValueToInputSignal(n,r):e[t]=r}function Ut(){return nv}function nv(e){return e.type.prototype.ngOnChanges&&(e.setInput=AS),TS}function TS(){const e=ov(this),n=e?.current;if(n){const t=e.previous;if(t===fn)e.previous=n;else for(let r in n)t[r]=n[r];e.current=null,this.ngOnChanges(n)}}function AS(e,n,t,r,o){const i=this.declaredInputs[r],s=ov(e)||function NS(e,n){return e[rv]=n}(e,{previous:fn,current:null}),a=s.current||(s.current={}),l=s.previous,c=l[i];a[i]=new SS(c&&c.currentValue,t,l===fn),tv(e,n,o,t)}Ut.ngInherit=!0;const rv="__ngSimpleChanges__";function ov(e){return e[rv]||null}const mn=function(e,n,t){};function tl(e,n){for(let t=n.directiveStart,r=n.directiveEnd;t=r)break}else n[l]<0&&(e[io]+=65536),(a>14>16&&(3&e[k])===n&&(e[k]+=16384,sv(a,i)):sv(a,i)}const Eo=-1;class Xi{constructor(n,t,r){this.factory=n,this.resolving=!1,this.canSeeViewProviders=t,this.injectImpl=r}}function kd(e){return e!==Eo}function Ji(e){return 32767&e}function Ki(e,n){let t=function VS(e){return e>>16}(e),r=n;for(;t>0;)r=r[oo],t--;return r}let Fd=!0;function ol(e){const n=Fd;return Fd=e,n}const av=255,lv=5;let jS=0;const vn={};function il(e,n){const t=cv(e,n);if(-1!==t)return t;const r=n[A];r.firstCreatePass&&(e.injectorIndex=n.length,Ld(r.data,e),Ld(n,null),Ld(r.blueprint,null));const o=sl(e,n),i=e.injectorIndex;if(kd(o)){const s=Ji(o),a=Ki(o,n),l=a[A].data;for(let c=0;c<8;c++)n[i+c]=a[s+c]|l[s+c]}return n[i+8]=o,i}function Ld(e,n){e.push(0,0,0,0,0,0,0,0,n)}function cv(e,n){return-1===e.injectorIndex||e.parent&&e.parent.injectorIndex===e.injectorIndex||null===n[e.injectorIndex+8]?-1:e.injectorIndex}function sl(e,n){if(e.parent&&-1!==e.parent.injectorIndex)return e.parent.injectorIndex;let t=0,r=null,o=n;for(;null!==o;){if(r=mv(o),null===r)return Eo;if(t++,o=o[oo],-1!==r.injectorIndex)return r.injectorIndex|t<<16}return Eo}function Vd(e,n,t){!function US(e,n,t){let r;"string"==typeof t?r=t.charCodeAt(0)||0:t.hasOwnProperty(Pi)&&(r=t[Pi]),null==r&&(r=t[Pi]=jS++);const o=r&av;n.data[e+(o>>lv)]|=1<=0?n&av:GS:n}(t);if("function"==typeof i){if(!_m(n,e,r))return r&X.Host?uv(o,0,r):dv(n,t,r,o);try{let s;if(s=i(r),null!=s||r&X.Optional)return s;ad()}finally{bm()}}else if("number"==typeof i){let s=null,a=cv(e,n),l=Eo,c=r&X.Host?n[Ne][ot]:null;for((-1===a||r&X.SkipSelf)&&(l=-1===a?sl(e,n):n[a+8],l!==Eo&&gv(r,!1)?(s=n[A],a=Ji(l),n=Ki(l,n)):a=-1);-1!==a;){const u=n[A];if(pv(i,a,u.data)){const d=HS(a,n,t,s,r,c);if(d!==vn)return d}l=n[a+8],l!==Eo&&gv(r,n[A].data[a+8]===c)&&pv(i,a,n)?(s=u,a=Ji(l),n=Ki(l,n)):a=-1}}return o}function HS(e,n,t,r,o,i){const s=n[A],a=s.data[e+8],u=al(a,s,t,null==r?Tr(a)&&Fd:r!=s&&0!=(3&a.type),o&X.Host&&i===a);return null!==u?Pr(n,s,u,a):vn}function al(e,n,t,r,o){const i=e.providerIndexes,s=n.data,a=1048575&i,l=e.directiveStart,u=i>>20,g=o?a+u:e.directiveEnd;for(let m=r?a:a+u;m=l&&v.type===t)return m}if(o){const m=s[l];if(m&&Kt(m)&&m.type===t)return l}return null}function Pr(e,n,t,r){let o=e[t];const i=n.data;if(function PS(e){return e instanceof Xi}(o)){const s=o;s.resolving&&function $1(e,n){throw n&&n.join(" > "),new I(-200,e)}(function ie(e){return"function"==typeof e?e.name||e.toString():"object"==typeof e&&null!=e&&"function"==typeof e.type?e.type.name||e.type.toString():q(e)}(i[t]));const a=ol(s.canSeeViewProviders);s.resolving=!0;const c=s.injectImpl?Dt(s.injectImpl):null;_m(e,r,X.Default);try{o=e[t]=s.factory(void 0,i,e,r),n.firstCreatePass&&t>=r.directiveStart&&function RS(e,n,t){const{ngOnChanges:r,ngOnInit:o,ngDoCheck:i}=n.type.prototype;if(r){const s=nv(n);(t.preOrderHooks??=[]).push(e,s),(t.preOrderCheckHooks??=[]).push(e,s)}o&&(t.preOrderHooks??=[]).push(0-e,o),i&&((t.preOrderHooks??=[]).push(e,i),(t.preOrderCheckHooks??=[]).push(e,i))}(t,i[t],n)}finally{null!==c&&Dt(c),ol(a),s.resolving=!1,bm()}}return o}function pv(e,n,t){return!!(t[n+(e>>lv)]&1<{const n=e.prototype.constructor,t=n[Rn]||jd(n),r=Object.prototype;let o=Object.getPrototypeOf(e.prototype).constructor;for(;o&&o!==r;){const i=o[Rn]||jd(o);if(i&&i!==t)return i;o=Object.getPrototypeOf(o)}return i=>new i})}function jd(e){return ja(e)?()=>{const n=jd(V(e));return n&&n()}:xr(e)}function mv(e){const n=e[A],t=n.type;return 2===t?n.declTNode:1===t?e[ot]:null}function Dv(e,n=null,t=null,r){const o=wv(e,n,t,r);return o.resolveInjectorInitializers(),o}function wv(e,n=null,t=null,r,o=new Set){const i=[t||ne,Zm(e)];return r=r||("object"==typeof e?void 0:qe(e)),new Do(i,n||Ka(),r||null,o)}let wt=(()=>{class e{static#e=this.THROW_IF_NOT_FOUND=zi;static#t=this.NULL=new Qa;static create(t,r){if(Array.isArray(t))return Dv({name:""},r,t,"");{const o=t.name??"";return Dv({name:o},t.parent,t.providers,o)}}static#n=this.\u0275prov=R({token:e,providedIn:"any",factory:()=>P(Wm)});static#r=this.__NG_ELEMENT_ID__=-1}return e})();function Bd(e){return e.ngOriginalError}class Vn{constructor(){this._console=console}handleError(n){const t=this._findOriginalError(n);this._console.error("ERROR",n),t&&this._console.error("ORIGINAL ERROR",t)}_findOriginalError(n){let t=n&&Bd(n);for(;t&&Bd(t);)t=Bd(t);return t||null}}const Ev=new N("",{providedIn:"root",factory:()=>T(Vn).handleError.bind(void 0)}),Mv=new N("",{providedIn:"root",factory:()=>!1});let fl;function Av(e){return function $d(){if(void 0===fl&&(fl=null,ce.trustedTypes))try{fl=ce.trustedTypes.createPolicy("angular#unsafe-bypass",{createHTML:e=>e,createScript:e=>e,createScriptURL:e=>e})}catch{}return fl}()?.createScriptURL(e)||e}class Nv{constructor(n){this.changingThisBreaksApplicationSecurity=n}toString(){return`SafeValue must use [property]=binding: ${this.changingThisBreaksApplicationSecurity} (see ${Bg})`}}function sr(e){return e instanceof Nv?e.changingThisBreaksApplicationSecurity:e}function es(e,n){const t=function sT(e){return e instanceof Nv&&e.getTypeName()||null}(e);if(null!=t&&t!==n){if("ResourceURL"===t&&"URL"===n)return!0;throw new Error(`Required a safe ${n}, got a ${t} (see ${Bg})`)}return t===n}const uT=/^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:\/?#]*(?:[\/?#]|$))/i;var To=function(e){return e[e.NONE=0]="NONE",e[e.HTML=1]="HTML",e[e.STYLE=2]="STYLE",e[e.SCRIPT=3]="SCRIPT",e[e.URL=4]="URL",e[e.RESOURCE_URL=5]="RESOURCE_URL",e}(To||{});function Ao(e){const n=ns();return n?n.sanitize(To.URL,e)||"":es(e,"URL")?sr(e):function Gd(e){return(e=String(e)).match(uT)?e:"unsafe:"+e}(q(e))}function Lv(e){const n=ns();if(n)return Av(n.sanitize(To.RESOURCE_URL,e)||"");if(es(e,"ResourceURL"))return Av(sr(e));throw new I(904,!1)}function ns(){const e=b();return e&&e[On].sanitizer}const bT=/^>|^->||--!>|)/g,IT="\u200b$1\u200b";const Zd=new Map;let NT=0;const Yd="__ngContext__";function ct(e,n){st(n)?(e[Yd]=n[Vi],function RT(e){Zd.set(e[Vi],e)}(n)):e[Yd]=n}function Ft(e){return e instanceof Function?e():e}var lr=function(e){return e[e.Important=1]="Important",e[e.DashCase=2]="DashCase",e}(lr||{});let ef;function tf(e,n){return ef(e,n)}function xo(e,n,t,r,o){if(null!=r){let i,s=!1;at(r)?i=r:st(r)&&(s=!0,r=r[Me]);const a=pe(r);0===e&&null!==t?null==o?ry(n,t,a):kr(n,t,a,o||null,!0):1===e&&null!==t?kr(n,t,a,o||null,!0):2===e?function Dl(e,n,t){const r=_l(e,n);r&&function eA(e,n,t,r){e.removeChild(n,t,r)}(e,r,n,t)}(n,a,s):3===e&&n.destroyNode(a),null!=i&&function rA(e,n,t,r,o){const i=t[hn];i!==pe(t)&&xo(n,e,r,i,o);for(let a=Pe;an.replace(ET,IT))}(n))}function vl(e,n,t){return e.createElement(n,t)}function ey(e,n){wl(e,n,n[G],2,null,null)}function ty(e,n){const t=e[so],r=t.indexOf(n);t.splice(r,1)}function os(e,n){if(e.length<=Pe)return;const t=Pe+n,r=e[t];if(r){const o=r[Li];null!==o&&o!==e&&ty(o,r),n>0&&(e[t-1][Xt]=r[Xt]);const i=xa(e,Pe+n);!function WT(e,n){ey(e,n),n[Me]=null,n[ot]=null}(r[A],r);const s=i[Pn];null!==s&&s.detachView(i[A]),r[Oe]=null,r[Xt]=null,r[k]&=-129}return r}function yl(e,n){if(!(256&n[k])){const t=n[G];t.destroyNode&&wl(e,n,t,3,null,null),function QT(e){let n=e[Fi];if(!n)return rf(e[A],e);for(;n;){let t=null;if(st(n))t=n[Fi];else{const r=n[Pe];r&&(t=r)}if(!t){for(;n&&!n[Xt]&&n!==e;)st(n)&&rf(n[A],n),n=n[Oe];null===n&&(n=e),st(n)&&rf(n[A],n),t=n&&n[Xt]}n=t}}(n)}}function rf(e,n){if(!(256&n[k])){n[k]&=-129,n[k]|=256,n[Sr]&&function Sg(e){if(to(e),Ri(e))for(let n=0;n=0?r[s]():r[-s].unsubscribe(),i+=2}else t[i].call(r[t[i+1]]);null!==r&&(n[ro]=null);const o=n[er];if(null!==o){n[er]=null;for(let i=0;i-1){const{encapsulation:i}=e.data[r.directiveStart+o];if(i===Qt.None||i===Qt.Emulated)return null}return ft(r,t)}}(e,n.parent,t)}function kr(e,n,t,r,o){e.insertBefore(n,t,r,o)}function ry(e,n,t){e.appendChild(n,t)}function oy(e,n,t,r,o){null!==r?kr(e,n,t,r,o):ry(e,n,t)}function _l(e,n){return e.parentNode(n)}let af,ay=function sy(e,n,t){return 40&e.type?ft(e,t):null};function Cl(e,n,t,r){const o=sf(e,r,n),i=n[G],a=function iy(e,n,t){return ay(e,n,t)}(r.parent||n[ot],r,n);if(null!=o)if(Array.isArray(t))for(let l=0;lz&&py(e,n,z,!1),mn(s?2:0,o),t(r,o)}finally{Nr(i),mn(s?3:1,o)}}function df(e,n,t){if(ku(n)){const r=xe(null);try{const i=n.directiveEnd;for(let s=n.directiveStart;snull;function Cy(e,n,t,r,o){for(let i in n){if(!n.hasOwnProperty(i))continue;const s=n[i];if(void 0===s)continue;r??={};let a,l=Ie.None;Array.isArray(s)?(a=s[0],l=s[1]):a=s;let c=i;if(null!==o){if(!o.hasOwnProperty(i))continue;c=o[i]}0===e?Dy(r,t,c,a,l):Dy(r,t,c,a)}return r}function Dy(e,n,t,r,o){let i;e.hasOwnProperty(t)?(i=e[t]).push(n,r):i=e[t]=[n,r],void 0!==o&&i.push(o)}function Et(e,n,t,r,o,i,s,a){const l=ft(n,t);let u,c=n.inputs;!a&&null!=c&&(u=c[r])?(_f(e,t,u,r,o),Tr(n)&&function mA(e,n){const t=Rt(n,e);16&t[k]||(t[k]|=64)}(t,n.index)):3&n.type&&(r=function gA(e){return"class"===e?"className":"for"===e?"htmlFor":"formaction"===e?"formAction":"innerHtml"===e?"innerHTML":"readonly"===e?"readOnly":"tabindex"===e?"tabIndex":e}(r),o=null!=s?s(o,n.value||"",r):o,i.setProperty(l,r,o))}function gf(e,n,t,r){if(pm()){const o=null===r?null:{"":-1},i=function wA(e,n){const t=e.directiveRegistry;let r=null,o=null;if(t)for(let i=0;i0;){const t=e[--n];if("number"==typeof t&&t<0)return t}return 0})(s)!=a&&s.push(a),s.push(t,r,i)}}(e,n,r,ss(e,t,o.hostVars,Z),o)}function yn(e,n,t,r,o,i){const s=ft(e,n);!function vf(e,n,t,r,o,i,s){if(null==i)e.removeAttribute(n,o,t);else{const a=null==s?q(i):s(i,r||"",o);e.setAttribute(n,o,a,t)}}(n[G],s,i,e.value,t,r,o)}function TA(e,n,t,r,o,i){const s=i[n];if(null!==s)for(let a=0;a0&&(t[o-1][Xt]=n),r!1,producerRecomputeValue:()=>{},consumerMarkedDirty:()=>{},consumerOnSignalRead:()=>{},consumerIsAlwaysLive:!0,consumerMarkedDirty:e=>{Hi(e.lView)},consumerOnSignalRead(){this.lView[Sr]=this}};function Ry(e){return Py(e[Fi])}function Oy(e){return Py(e[Xt])}function Py(e){for(;null!==e&&!at(e);)e=e[Xt];return e}function Ml(e,n=!0,t=0){const r=e[On],o=r.rendererFactory;o.begin?.();try{!function jA(e,n){wf(e,n);let t=0;for(;Bu(e);){if(100===t)throw new I(103,!1);t++,wf(e,1)}}(e,t)}catch(s){throw n&&Il(e,s),s}finally{o.end?.(),r.inlineEffectRunner?.flush()}}function UA(e,n,t,r){const o=n[k];if(256==(256&o))return;n[On].inlineEffectRunner?.flush(),Qu(n);let s=null,a=null;(function BA(e){return 2!==e.type})(e)&&(a=function OA(e){return e[Sr]??function PA(e){const n=xy.pop()??Object.create(FA);return n.lView=e,n}(e)}(n),s=function Ig(e){return e&&(e.nextProducerIndex=0),xe(e)}(a));try{dm(n),function vm(e){return j.lFrame.bindingIndex=e}(e.bindingStartIndex),null!==t&&vy(e,n,t,2,r);const l=3==(3&o);if(l){const d=e.preOrderCheckHooks;null!==d&&nl(n,d,null)}else{const d=e.preOrderHooks;null!==d&&rl(n,d,0,null),Od(n,0)}if(function HA(e){for(let n=Ry(e);null!==n;n=Oy(n)){if(!(n[k]&Pu.HasTransplantedViews))continue;const t=n[so];for(let r=0;re.nextProducerIndex;)e.producerNode.pop(),e.producerLastReadVersion.pop(),e.producerIndexOfThis.pop()}}(a,s),function kA(e){e.lView[Sr]!==e&&(e.lView=null,xy.push(e))}(a)),Yu()}}function Fy(e,n){for(let t=Ry(e);null!==t;t=Oy(t))for(let r=Pe;r-1&&(os(n,r),xa(t,r))}this._attachedToViewContainer=!1}yl(this._lView[A],this._lView)}onDestroy(n){Ta(this._lView,n)}markForCheck(){us(this._cdRefInjectingView||this._lView)}detach(){this._lView[k]&=-129}reattach(){Hu(this._lView),this._lView[k]|=128}detectChanges(){this._lView[k]|=1024,Ml(this._lView,this.notifyErrorHandler)}checkNoChanges(){}attachToViewContainerRef(){if(this._appRef)throw new I(902,!1);this._attachedToViewContainer=!0}detachFromAppRef(){this._appRef=null,ey(this._lView[A],this._lView)}attachToAppRef(n){if(this._attachedToViewContainer)throw new I(902,!1);this._appRef=n,Hu(this._lView)}}let Bn=(()=>{class e{static#e=this.__NG_ELEMENT_ID__=qA}return e})();const GA=Bn,zA=class extends GA{constructor(n,t,r){super(),this._declarationLView=n,this._declarationTContainer=t,this.elementRef=r}get ssrId(){return this._declarationTContainer.tView?.ssrId||null}createEmbeddedView(n,t){return this.createEmbeddedViewImpl(n,t)}createEmbeddedViewImpl(n,t,r){const o=as(this._declarationLView,this._declarationTContainer,n,{injector:t,dehydratedView:r});return new ds(o)}};function qA(){return Sl(de(),b())}function Sl(e,n){return 4&e.type?new zA(n,e,co(e,n)):null}let Gy=()=>null;function Po(e,n){return Gy(e,n)}class zy{}class pN{}class qy{}class mN{resolveComponentFactory(n){throw function gN(e){const n=Error(`No component factory found for ${qe(e)}.`);return n.ngComponent=e,n}(n)}}let Rl=(()=>{class e{static#e=this.NULL=new mN}return e})();class Zy{}let Hn=(()=>{class e{constructor(){this.destroyNode=null}static#e=this.__NG_ELEMENT_ID__=()=>function vN(){const e=b(),t=Rt(de().index,e);return(st(t)?t:e)[G]}()}return e})(),yN=(()=>{class e{static#e=this.\u0275prov=R({token:e,providedIn:"root",factory:()=>null})}return e})();const Tf={};function Yy(e){return function Qy(e){return"function"==typeof e&&void 0!==e[br]}(e)&&"function"==typeof e.set}function Ol(e){return!!function Af(e){return null!==e&&("function"==typeof e||"object"==typeof e)}(e)&&(Array.isArray(e)||!(e instanceof Map)&&Symbol.iterator in e)}class Jy{constructor(){}supports(n){return Ol(n)}create(n){return new EN(n)}}const bN=(e,n)=>n;class EN{constructor(n){this.length=0,this._linkedRecords=null,this._unlinkedRecords=null,this._previousItHead=null,this._itHead=null,this._itTail=null,this._additionsHead=null,this._additionsTail=null,this._movesHead=null,this._movesTail=null,this._removalsHead=null,this._removalsTail=null,this._identityChangesHead=null,this._identityChangesTail=null,this._trackByFn=n||bN}forEachItem(n){let t;for(t=this._itHead;null!==t;t=t._next)n(t)}forEachOperation(n){let t=this._itHead,r=this._removalsHead,o=0,i=null;for(;t||r;){const s=!r||t&&t.currentIndex{s=this._trackByFn(o,a),null!==t&&Object.is(t.trackById,s)?(r&&(t=this._verifyReinsertion(t,a,s,o)),Object.is(t.item,a)||this._addIdentityChange(t,a)):(t=this._mismatch(t,a,s,o),r=!0),t=t._next,o++}),this.length=o;return this._truncate(t),this.collection=n,this.isDirty}get isDirty(){return null!==this._additionsHead||null!==this._movesHead||null!==this._removalsHead||null!==this._identityChangesHead}_reset(){if(this.isDirty){let n;for(n=this._previousItHead=this._itHead;null!==n;n=n._next)n._nextPrevious=n._next;for(n=this._additionsHead;null!==n;n=n._nextAdded)n.previousIndex=n.currentIndex;for(this._additionsHead=this._additionsTail=null,n=this._movesHead;null!==n;n=n._nextMoved)n.previousIndex=n.currentIndex;this._movesHead=this._movesTail=null,this._removalsHead=this._removalsTail=null,this._identityChangesHead=this._identityChangesTail=null}}_mismatch(n,t,r,o){let i;return null===n?i=this._itTail:(i=n._prev,this._remove(n)),null!==(n=null===this._unlinkedRecords?null:this._unlinkedRecords.get(r,null))?(Object.is(n.item,t)||this._addIdentityChange(n,t),this._reinsertAfter(n,i,o)):null!==(n=null===this._linkedRecords?null:this._linkedRecords.get(r,o))?(Object.is(n.item,t)||this._addIdentityChange(n,t),this._moveAfter(n,i,o)):n=this._addAfter(new IN(t,r),i,o),n}_verifyReinsertion(n,t,r,o){let i=null===this._unlinkedRecords?null:this._unlinkedRecords.get(r,null);return null!==i?n=this._reinsertAfter(i,n._prev,o):n.currentIndex!=o&&(n.currentIndex=o,this._addToMoves(n,o)),n}_truncate(n){for(;null!==n;){const t=n._next;this._addToRemovals(this._unlink(n)),n=t}null!==this._unlinkedRecords&&this._unlinkedRecords.clear(),null!==this._additionsTail&&(this._additionsTail._nextAdded=null),null!==this._movesTail&&(this._movesTail._nextMoved=null),null!==this._itTail&&(this._itTail._next=null),null!==this._removalsTail&&(this._removalsTail._nextRemoved=null),null!==this._identityChangesTail&&(this._identityChangesTail._nextIdentityChange=null)}_reinsertAfter(n,t,r){null!==this._unlinkedRecords&&this._unlinkedRecords.remove(n);const o=n._prevRemoved,i=n._nextRemoved;return null===o?this._removalsHead=i:o._nextRemoved=i,null===i?this._removalsTail=o:i._prevRemoved=o,this._insertAfter(n,t,r),this._addToMoves(n,r),n}_moveAfter(n,t,r){return this._unlink(n),this._insertAfter(n,t,r),this._addToMoves(n,r),n}_addAfter(n,t,r){return this._insertAfter(n,t,r),this._additionsTail=null===this._additionsTail?this._additionsHead=n:this._additionsTail._nextAdded=n,n}_insertAfter(n,t,r){const o=null===t?this._itHead:t._next;return n._next=o,n._prev=t,null===o?this._itTail=n:o._prev=n,null===t?this._itHead=n:t._next=n,null===this._linkedRecords&&(this._linkedRecords=new Ky),this._linkedRecords.put(n),n.currentIndex=r,n}_remove(n){return this._addToRemovals(this._unlink(n))}_unlink(n){null!==this._linkedRecords&&this._linkedRecords.remove(n);const t=n._prev,r=n._next;return null===t?this._itHead=r:t._next=r,null===r?this._itTail=t:r._prev=t,n}_addToMoves(n,t){return n.previousIndex===t||(this._movesTail=null===this._movesTail?this._movesHead=n:this._movesTail._nextMoved=n),n}_addToRemovals(n){return null===this._unlinkedRecords&&(this._unlinkedRecords=new Ky),this._unlinkedRecords.put(n),n.currentIndex=null,n._nextRemoved=null,null===this._removalsTail?(this._removalsTail=this._removalsHead=n,n._prevRemoved=null):(n._prevRemoved=this._removalsTail,this._removalsTail=this._removalsTail._nextRemoved=n),n}_addIdentityChange(n,t){return n.item=t,this._identityChangesTail=null===this._identityChangesTail?this._identityChangesHead=n:this._identityChangesTail._nextIdentityChange=n,n}}class IN{constructor(n,t){this.item=n,this.trackById=t,this.currentIndex=null,this.previousIndex=null,this._nextPrevious=null,this._prev=null,this._next=null,this._prevDup=null,this._nextDup=null,this._prevRemoved=null,this._nextRemoved=null,this._nextAdded=null,this._nextMoved=null,this._nextIdentityChange=null}}class MN{constructor(){this._head=null,this._tail=null}add(n){null===this._head?(this._head=this._tail=n,n._nextDup=null,n._prevDup=null):(this._tail._nextDup=n,n._prevDup=this._tail,n._nextDup=null,this._tail=n)}get(n,t){let r;for(r=this._head;null!==r;r=r._nextDup)if((null===t||t<=r.currentIndex)&&Object.is(r.trackById,n))return r;return null}remove(n){const t=n._prevDup,r=n._nextDup;return null===t?this._head=r:t._nextDup=r,null===r?this._tail=t:r._prevDup=t,null===this._head}}class Ky{constructor(){this.map=new Map}put(n){const t=n.trackById;let r=this.map.get(t);r||(r=new MN,this.map.set(t,r)),r.add(n)}get(n,t){const o=this.map.get(n);return o?o.get(n,t):null}remove(n){const t=n.trackById;return this.map.get(t).remove(n)&&this.map.delete(t),n}get isEmpty(){return 0===this.map.size}clear(){this.map.clear()}}function e_(e,n,t){const r=e.previousIndex;if(null===r)return r;let o=0;return t&&r{class e{static#e=this.\u0275prov=R({token:e,providedIn:"root",factory:n_});constructor(t){this.factories=t}static create(t,r){if(null!=r){const o=r.factories.slice();t=t.concat(o)}return new e(t)}static extend(t){return{provide:e,useFactory:r=>e.create(t,r||n_()),deps:[[e,new Za,new Wa]]}}find(t){const r=this.factories.find(o=>o.supports(t));if(null!=r)return r;throw new I(901,!1)}}return e})(),ms=(()=>{class e{static#e=this.__NG_ELEMENT_ID__=NN}return e})();function NN(e){return function xN(e,n,t){if(Tr(e)&&!t){const r=Rt(e.index,n);return new ds(r,r)}return 47&e.type?new ds(n[Ne],n):null}(de(),b(),16==(16&e))}let kl=(()=>{class e{static#e=this.__NG_ELEMENT_ID__=kN;static#t=this.__NG_ENV_ID__=t=>t}return e})();class PN extends kl{constructor(n){super(),this._lView=n}onDestroy(n){return Ta(this._lView,n),()=>function $u(e,n){if(null===e[er])return;const t=e[er].indexOf(n);-1!==t&&e[er].splice(t,1)}(this._lView,n)}}function kN(){return new PN(b())}const o_=new Set;function Fr(e){o_.has(e)||(o_.add(e),performance?.mark?.("mark_feature_usage",{detail:{feature:e}}))}function i_(...e){}class se{constructor({enableLongStackTrace:n=!1,shouldCoalesceEventChangeDetection:t=!1,shouldCoalesceRunChangeDetection:r=!1}){if(this.hasPendingMacrotasks=!1,this.hasPendingMicrotasks=!1,this.isStable=!0,this.onUnstable=new Ae(!1),this.onMicrotaskEmpty=new Ae(!1),this.onStable=new Ae(!1),this.onError=new Ae(!1),typeof Zone>"u")throw new I(908,!1);Zone.assertZonePatched();const o=this;o._nesting=0,o._outer=o._inner=Zone.current,Zone.TaskTrackingZoneSpec&&(o._inner=o._inner.fork(new Zone.TaskTrackingZoneSpec)),n&&Zone.longStackTraceZoneSpec&&(o._inner=o._inner.fork(Zone.longStackTraceZoneSpec)),o.shouldCoalesceEventChangeDetection=!r&&t,o.shouldCoalesceRunChangeDetection=r,o.lastRequestAnimationFrameId=-1,o.nativeRequestAnimationFrame=function BN(){const e="function"==typeof ce.requestAnimationFrame;let n=ce[e?"requestAnimationFrame":"setTimeout"],t=ce[e?"cancelAnimationFrame":"clearTimeout"];if(typeof Zone<"u"&&n&&t){const r=n[Zone.__symbol__("OriginalDelegate")];r&&(n=r);const o=t[Zone.__symbol__("OriginalDelegate")];o&&(t=o)}return{nativeRequestAnimationFrame:n,nativeCancelAnimationFrame:t}}().nativeRequestAnimationFrame,function GN(e){const n=()=>{!function $N(e){e.isCheckStableRunning||-1!==e.lastRequestAnimationFrameId||(e.lastRequestAnimationFrameId=e.nativeRequestAnimationFrame.call(ce,()=>{e.fakeTopEventTask||(e.fakeTopEventTask=Zone.root.scheduleEventTask("fakeTopEventTask",()=>{e.lastRequestAnimationFrameId=-1,Rf(e),e.isCheckStableRunning=!0,xf(e),e.isCheckStableRunning=!1},void 0,()=>{},()=>{})),e.fakeTopEventTask.invoke()}),Rf(e))}(e)};e._inner=e._inner.fork({name:"angular",properties:{isAngularZone:!0},onInvokeTask:(t,r,o,i,s,a)=>{if(function zN(e){return!(!Array.isArray(e)||1!==e.length)&&!0===e[0].data?.__ignore_ng_zone__}(a))return t.invokeTask(o,i,s,a);try{return s_(e),t.invokeTask(o,i,s,a)}finally{(e.shouldCoalesceEventChangeDetection&&"eventTask"===i.type||e.shouldCoalesceRunChangeDetection)&&n(),a_(e)}},onInvoke:(t,r,o,i,s,a,l)=>{try{return s_(e),t.invoke(o,i,s,a,l)}finally{e.shouldCoalesceRunChangeDetection&&n(),a_(e)}},onHasTask:(t,r,o,i)=>{t.hasTask(o,i),r===o&&("microTask"==i.change?(e._hasPendingMicrotasks=i.microTask,Rf(e),xf(e)):"macroTask"==i.change&&(e.hasPendingMacrotasks=i.macroTask))},onHandleError:(t,r,o,i)=>(t.handleError(o,i),e.runOutsideAngular(()=>e.onError.emit(i)),!1)})}(o)}static isInAngularZone(){return typeof Zone<"u"&&!0===Zone.current.get("isAngularZone")}static assertInAngularZone(){if(!se.isInAngularZone())throw new I(909,!1)}static assertNotInAngularZone(){if(se.isInAngularZone())throw new I(909,!1)}run(n,t,r){return this._inner.run(n,t,r)}runTask(n,t,r,o){const i=this._inner,s=i.scheduleEventTask("NgZoneEvent: "+o,n,HN,i_,i_);try{return i.runTask(s,t,r)}finally{i.cancelTask(s)}}runGuarded(n,t,r){return this._inner.runGuarded(n,t,r)}runOutsideAngular(n){return this._outer.run(n)}}const HN={};function xf(e){if(0==e._nesting&&!e.hasPendingMicrotasks&&!e.isStable)try{e._nesting++,e.onMicrotaskEmpty.emit(null)}finally{if(e._nesting--,!e.hasPendingMicrotasks)try{e.runOutsideAngular(()=>e.onStable.emit(null))}finally{e.isStable=!0}}}function Rf(e){e.hasPendingMicrotasks=!!(e._hasPendingMicrotasks||(e.shouldCoalesceEventChangeDetection||e.shouldCoalesceRunChangeDetection)&&-1!==e.lastRequestAnimationFrameId)}function s_(e){e._nesting++,e.isStable&&(e.isStable=!1,e.onUnstable.emit(null))}function a_(e){e._nesting--,xf(e)}var Lr=function(e){return e[e.EarlyRead=0]="EarlyRead",e[e.Write=1]="Write",e[e.MixedReadWrite=2]="MixedReadWrite",e[e.Read=3]="Read",e}(Lr||{});const c_={destroy(){}};function d_(e,n){!n&&function Nd(e){if(!Lm()&&!function Z1(){return ho}())throw new I(-203,!1)}();const t=n?.injector??T(wt);if(!function ar(e){return"browser"===(e??T(wt)).get(rr)}(t))return c_;Fr("NgAfterNextRender");const r=t.get(vs),o=r.handler??=new h_,i=n?.phase??Lr.MixedReadWrite,s=()=>{o.unregister(l),a()},a=t.get(kl).onDestroy(s),l=new f_(t,i,()=>{s(),e()});return o.register(l),{destroy:s}}class f_{constructor(n,t,r){this.phase=t,this.callbackFn=r,this.zone=n.get(se),this.errorHandler=n.get(Vn,null,{optional:!0})}invoke(){try{this.zone.runOutsideAngular(this.callbackFn)}catch(n){this.errorHandler?.handleError(n)}}}class h_{constructor(){this.executingCallbacks=!1,this.buckets={[Lr.EarlyRead]:new Set,[Lr.Write]:new Set,[Lr.MixedReadWrite]:new Set,[Lr.Read]:new Set},this.deferredCallbacks=new Set}register(n){(this.executingCallbacks?this.deferredCallbacks:this.buckets[n.phase]).add(n)}unregister(n){this.buckets[n.phase].delete(n),this.deferredCallbacks.delete(n)}execute(){this.executingCallbacks=!0;for(const n of Object.values(this.buckets))for(const t of n)t.invoke();this.executingCallbacks=!1;for(const n of this.deferredCallbacks)this.buckets[n.phase].add(n);this.deferredCallbacks.clear()}destroy(){for(const n of Object.values(this.buckets))n.clear();this.deferredCallbacks.clear()}}let vs=(()=>{class e{constructor(){this.handler=null,this.internalCallbacks=[]}execute(){const t=[...this.internalCallbacks];this.internalCallbacks.length=0;for(const r of t)r();this.handler?.execute()}ngOnDestroy(){this.handler?.destroy(),this.handler=null,this.internalCallbacks.length=0}static#e=this.\u0275prov=R({token:e,providedIn:"root",factory:()=>new e})}return e})();function Ll(e,n,t){let r=t?e.styles:null,o=t?e.classes:null,i=0;if(null!==n)for(let s=0;s0&&fy(e,t,i.join(" "))}}(g,$,v,r),void 0!==t&&function ox(e,n,t){const r=e.projection=[];for(let o=0;o{class e{static#e=this.__NG_ELEMENT_ID__=sx}return e})();function sx(){return C_(de(),b())}const ax=tn,y_=class extends ax{constructor(n,t,r){super(),this._lContainer=n,this._hostTNode=t,this._hostLView=r}get element(){return co(this._hostTNode,this._hostLView)}get injector(){return new Qe(this._hostTNode,this._hostLView)}get parentInjector(){const n=sl(this._hostTNode,this._hostLView);if(kd(n)){const t=Ki(n,this._hostLView),r=Ji(n);return new Qe(t[A].data[r+8],t)}return new Qe(null,this._hostLView)}clear(){for(;this.length>0;)this.remove(this.length-1)}get(n){const t=__(this._lContainer);return null!==t&&t[n]||null}get length(){return this._lContainer.length-Pe}createEmbeddedView(n,t,r){let o,i;"number"==typeof r?o=r:null!=r&&(o=r.index,i=r.injector);const s=Po(this._lContainer,n.ssrId),a=n.createEmbeddedViewImpl(t||{},i,s);return this.insertImpl(a,o,Oo(this._hostTNode,s)),a}createComponent(n,t,r,o,i){const s=n&&!function Yi(e){return"function"==typeof e}(n);let a;if(s)a=t;else{const v=t||{};a=v.index,r=v.injector,o=v.projectableNodes,i=v.environmentInjector||v.ngModuleRef}const l=s?n:new Cs(Y(n)),c=r||this.parentInjector;if(!i&&null==l.ngModule){const _=(s?c:this.parentInjector).get(kt,null);_&&(i=_)}const u=Y(l.componentType??{}),d=Po(this._lContainer,u?.id??null),m=l.create(c,o,d?.firstChild??null,i);return this.insertImpl(m.hostView,a,Oo(this._hostTNode,d)),m}insert(n,t){return this.insertImpl(n,t,!0)}insertImpl(n,t,r){const o=n._lView;if(function c1(e){return at(e[Oe])}(o)){const a=this.indexOf(n);if(-1!==a)this.detach(a);else{const l=o[Oe],c=new y_(l,l[ot],l[Oe]);c.detach(c.indexOf(n))}}const i=this._adjustIndex(t),s=this._lContainer;return ls(s,o,i,r),n.attachToViewContainerRef(),Sm(kf(s),i,n),n}move(n,t){return this.insert(n,t)}indexOf(n){const t=__(this._lContainer);return null!==t?t.indexOf(n):-1}remove(n){const t=this._adjustIndex(n,-1),r=os(this._lContainer,t);r&&(xa(kf(this._lContainer),t),yl(r[A],r))}detach(n){const t=this._adjustIndex(n,-1),r=os(this._lContainer,t);return r&&null!=xa(kf(this._lContainer),t)?new ds(r):null}_adjustIndex(n,t=0){return n??this.length+t}};function __(e){return e[8]}function kf(e){return e[8]||(e[8]=[])}function C_(e,n){let t;const r=n[e.index];return at(r)?t=r:(t=Ey(r,n,null,e),n[e.index]=t,El(n,t)),D_(t,n,e,r),new y_(t,e,n)}let D_=function b_(e,n,t,r){if(e[hn])return;let o;o=8&t.type?pe(r):function lx(e,n){const t=e[G],r=t.createComment(""),o=ft(n,e);return kr(t,_l(t,o),r,function tA(e,n){return e.nextSibling(n)}(t,o),!1),r}(n,t),e[hn]=o},Ff=()=>!1;class Lf{constructor(n){this.queryList=n,this.matches=null}clone(){return new Lf(this.queryList)}setDirty(){this.queryList.setDirty()}}class Vf{constructor(n=[]){this.queries=n}createEmbeddedView(n){const t=n.queries;if(null!==t){const r=null!==n.contentQueries?n.contentQueries[0]:t.length,o=[];for(let i=0;in.trim())}(n):n}}class jf{constructor(n=[]){this.queries=n}elementStart(n,t){for(let r=0;r0)r.push(s[a/2]);else{const c=i[a+1],u=n[-l];for(let d=Pe;d=0;r--){const o=e[r];o.hostVars=n+=o.hostVars,o.hostAttrs=ki(o.hostAttrs,t=ki(t,o.hostAttrs))}}(r)}function Sx(e,n){for(const t in n.inputs){if(!n.inputs.hasOwnProperty(t)||e.inputs.hasOwnProperty(t))continue;const r=n.inputs[t];if(void 0!==r&&(e.inputs[t]=r,e.declaredInputs[t]=n.declaredInputs[t],null!==n.inputTransforms)){const o=Array.isArray(r)?r[0]:r;if(!n.inputTransforms.hasOwnProperty(o))continue;e.inputTransforms??={},e.inputTransforms[o]=n.inputTransforms[o]}}}function jl(e){return e===fn?{}:e===ne?[]:e}function Ax(e,n){const t=e.viewQuery;e.viewQuery=t?(r,o)=>{n(r,o),t(r,o)}:n}function Nx(e,n){const t=e.contentQueries;e.contentQueries=t?(r,o,i)=>{n(r,o,i),t(r,o,i)}:n}function xx(e,n){const t=e.hostBindings;e.hostBindings=t?(r,o)=>{n(r,o),t(r,o)}:n}function z_(e){const n=e.inputConfig,t={};for(const r in n)if(n.hasOwnProperty(r)){const o=n[r];Array.isArray(o)&&o[3]&&(t[r]=o[3])}e.inputTransforms=t}class Vr{}class q_{}class zf extends Vr{constructor(n,t,r){super(),this._parent=t,this._bootstrapComponents=[],this.destroyCbs=[],this.componentFactoryResolver=new m_(this);const o=rt(n);this._bootstrapComponents=Ft(o.bootstrap),this._r3Injector=wv(n,t,[{provide:Vr,useValue:this},{provide:Rl,useValue:this.componentFactoryResolver},...r],qe(n),new Set(["environment"])),this._r3Injector.resolveInjectorInitializers(),this.instance=this._r3Injector.get(n)}get injector(){return this._r3Injector}destroy(){const n=this._r3Injector;!n.destroyed&&n.destroy(),this.destroyCbs.forEach(t=>t()),this.destroyCbs=null}onDestroy(n){this.destroyCbs.push(n)}}class qf extends q_{constructor(n){super(),this.moduleType=n}create(n){return new zf(this.moduleType,n,[])}}class W_ extends Vr{constructor(n){super(),this.componentFactoryResolver=new m_(this),this.instance=null;const t=new Do([...n.providers,{provide:Vr,useValue:this},{provide:Rl,useValue:this.componentFactoryResolver}],n.parent||Ka(),n.debugName,new Set(["environment"]));this.injector=t,n.runEnvironmentInitializers&&t.resolveInjectorInitializers()}destroy(){this.injector.destroy()}onDestroy(n){this.injector.onDestroy(n)}}function Wf(e,n,t=null){return new W_({providers:e,parent:n,debugName:t,runEnvironmentInitializers:!0}).injector}let jr=(()=>{class e{constructor(){this.taskId=0,this.pendingTasks=new Set,this.hasPendingTasks=new jt(!1)}get _hasPendingTasks(){return this.hasPendingTasks.value}add(){this._hasPendingTasks||this.hasPendingTasks.next(!0);const t=this.taskId++;return this.pendingTasks.add(t),t}remove(t){this.pendingTasks.delete(t),0===this.pendingTasks.size&&this._hasPendingTasks&&this.hasPendingTasks.next(!1)}ngOnDestroy(){this.pendingTasks.clear(),this._hasPendingTasks&&this.hasPendingTasks.next(!1)}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=R({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();function _n(e,n,t){return e[n]=t}function ke(e,n,t){return!Object.is(e[n],t)&&(e[n]=t,!0)}function W(e,n,t,r,o,i,s,a){const l=b(),c=J(),u=e+z,d=c.firstCreatePass?function Ux(e,n,t,r,o,i,s,a,l){const c=n.consts,u=Ro(n,e,4,s||null,pn(c,a));gf(n,t,u,pn(c,l)),tl(n,u);const d=u.tView=pf(2,u,r,o,i,n.directiveRegistry,n.pipeRegistry,null,n.schemas,c,null);return null!==n.queries&&(n.queries.template(n,u),d.queries=n.queries.embeddedTView(u)),u}(u,c,l,n,t,r,o,i,s):c.data[u];gn(d,!1);const g=Z_(c,l,d,e);Na()&&Cl(c,l,g,d),ct(g,l);const m=Ey(g,l,g,d);return l[u]=m,El(l,m),function w_(e,n,t){return Ff(e,n,t)}(m,d,l),Sa(d)&&ff(c,l,d),null!=s&&hf(l,d,a),W}let Z_=function Q_(e,n,t,r){return tr(!0),n[G].createComment("")};function nn(e,n,t,r){const o=b();return ke(o,en(),n)&&(J(),yn(ye(),o,e,n,t,r)),nn}function $o(e,n,t,r){return ke(e,en(),t)?n+q(t)+r:Z}function Wl(e,n){return e<<17|n<<2}function fr(e){return e>>17&32767}function rh(e){return 2|e}function Hr(e){return(131068&e)>>2}function oh(e,n){return-131069&e|n<<2}function ih(e){return 1|e}function MC(e,n,t,r){const o=e[t+1],i=null===n;let s=r?fr(o):Hr(o),a=!1;for(;0!==s&&(!1===a||i);){const c=e[s+1];ER(e[s],n)&&(a=!0,e[s+1]=r?ih(c):rh(c)),s=r?fr(c):Hr(c)}a&&(e[t+1]=r?rh(o):ih(o))}function ER(e,n){return null===e||null==n||(Array.isArray(e)?e[1]:e)===n||!(!Array.isArray(e)||"string"!=typeof n)&&fo(e,n)>=0}function M(e,n,t){const r=b();return ke(r,en(),n)&&Et(J(),ye(),r,e,n,r[G],t,!1),M}function sh(e,n,t,r,o){const s=o?"class":"style";_f(e,t,n.inputs[s],s,r)}function Zl(e,n){return function rn(e,n,t,r){const o=b(),i=J(),s=function Fn(e){const n=j.lFrame,t=n.bindingIndex;return n.bindingIndex=n.bindingIndex+e,t}(2);i.firstUpdatePass&&function kC(e,n,t,r){const o=e.data;if(null===o[t+1]){const i=o[lt()],s=function PC(e,n){return n>=e.expandoStartIndex}(e,t);(function jC(e,n){return 0!=(e.flags&(n?8:16))})(i,r)&&null===n&&!s&&(n=!1),n=function OR(e,n,t,r){const o=function Wu(e){const n=j.lFrame.currentDirectiveIndex;return-1===n?null:e[n]}(e);let i=r?n.residualClasses:n.residualStyles;if(null===o)0===(r?n.classBindings:n.styleBindings)&&(t=Ms(t=ah(null,e,n,t,r),n.attrs,r),i=null);else{const s=n.directiveStylingLast;if(-1===s||e[s]!==o)if(t=ah(o,e,n,t,r),null===i){let l=function PR(e,n,t){const r=t?n.classBindings:n.styleBindings;if(0!==Hr(r))return e[fr(r)]}(e,n,r);void 0!==l&&Array.isArray(l)&&(l=ah(null,e,n,l[1],r),l=Ms(l,n.attrs,r),function kR(e,n,t,r){e[fr(t?n.classBindings:n.styleBindings)]=r}(e,n,r,l))}else i=function FR(e,n,t){let r;const o=n.directiveEnd;for(let i=1+n.directiveStylingLast;i0)&&(c=!0)):u=t,o)if(0!==l){const g=fr(e[a+1]);e[r+1]=Wl(g,a),0!==g&&(e[g+1]=oh(e[g+1],r)),e[a+1]=function CR(e,n){return 131071&e|n<<17}(e[a+1],r)}else e[r+1]=Wl(a,0),0!==a&&(e[a+1]=oh(e[a+1],r)),a=r;else e[r+1]=Wl(l,0),0===a?a=r:e[l+1]=oh(e[l+1],r),l=r;c&&(e[r+1]=rh(e[r+1])),MC(e,u,r,!0),MC(e,u,r,!1),function bR(e,n,t,r,o){const i=o?e.residualClasses:e.residualStyles;null!=i&&"string"==typeof n&&fo(i,n)>=0&&(t[r+1]=ih(t[r+1]))}(n,u,e,r,i),s=Wl(a,l),i?n.classBindings=s:n.styleBindings=s}(o,i,n,t,s,r)}}(i,e,s,r),n!==Z&&ke(o,s,n)&&function LC(e,n,t,r,o,i,s,a){if(!(3&n.type))return;const l=e.data,c=l[a+1],u=function DR(e){return 1==(1&e)}(c)?VC(l,n,t,o,Hr(c),s):void 0;Ql(u)||(Ql(i)||function _R(e){return 2==(2&e)}(c)&&(i=VC(l,null,t,o,a,s)),function oA(e,n,t,r,o){if(n)o?e.addClass(t,r):e.removeClass(t,r);else{let i=-1===r.indexOf("-")?void 0:lr.DashCase;null==o?e.removeStyle(t,r,i):("string"==typeof o&&o.endsWith("!important")&&(o=o.slice(0,-10),i|=lr.Important),e.setStyle(t,r,o,i))}}(r,s,Ui(lt(),t),o,i))}(i,i.data[lt()],o,o[G],e,o[s+1]=function UR(e,n){return null==e||""===e||("string"==typeof n?e+=n:"object"==typeof e&&(e=qe(sr(e)))),e}(n,t),r,s)}(e,n,null,!0),Zl}function ah(e,n,t,r,o){let i=null;const s=t.directiveEnd;let a=t.directiveStylingLast;for(-1===a?a=t.directiveStart:a++;a0;){const l=e[o],c=Array.isArray(l),u=c?l[1]:l,d=null===u;let g=t[o+1];g===Z&&(g=d?ne:void 0);let m=d?Ju(g,r):u===r?g:void 0;if(c&&!Ql(m)&&(m=Ju(l,r)),Ql(m)&&(a=m,s))return a;const v=e[o+1];o=s?fr(v):Hr(v)}if(null!==n){let l=i?n.residualClasses:n.residualStyles;null!=l&&(a=Ju(l,r))}return a}function Ql(e){return void 0!==e}function Jo(e,n,t){Fr("NgControlFlow");const r=b(),o=en(),i=function uh(e,n){return e[n]}(r,z+e);if(ke(r,o,n)){const a=xe(null);try{if(function Df(e,n){const t=os(e,n);return void 0!==t&&yl(t[A],t),t}(i,0),-1!==n){const l=function dh(e,n){return Bi(e,n)}(r[A],z+n),c=Po(i,l.tView.ssrId);ls(i,as(r,l,t,{dehydratedView:c}),0,Oo(l,c))}}finally{xe(a)}}else{const a=function Ay(e,n){const t=Pe+n;if(t(tr(!0),vl(r,o,function Em(){return j.lFrame.currentNamespace}()));function It(e,n,t){const r=b(),o=J(),i=e+z,s=o.firstCreatePass?function dO(e,n,t,r,o){const i=n.consts,s=pn(i,r),a=Ro(n,e,8,"ng-container",s);return null!==s&&Ll(a,s,!0),gf(n,t,a,pn(i,o)),null!==n.queries&&n.queries.elementStart(n,a),a}(i,o,r,n,t):o.data[i];gn(s,!0);const a=zC(o,r,s,e);return r[i]=a,Na()&&Cl(o,r,a,s),ct(a,r),Sa(s)&&(ff(o,r,s),df(o,s,r)),null!=t&&hf(r,s),It}function Mt(){let e=de();const n=J();return Gu()?zu():(e=e.parent,gn(e,!1)),n.firstCreatePass&&(tl(n,e),ku(e)&&n.queries.elementEnd(e)),Mt}let zC=(e,n,t,r)=>(tr(!0),nf(n[G],""));function Le(){return b()}const ei="en-US";let YC=ei;function U(e,n,t,r){const o=b(),i=J(),s=de();return ph(i,o,o[G],s,e,n,r),U}function ph(e,n,t,r,o,i,s){const a=Sa(r),c=e.firstCreatePass&&Sy(e),u=n[ve],d=My(n);let g=!0;if(3&r.type||s){const _=ft(r,n),D=s?s(_):_,E=d.length,w=s?F=>s(pe(F[r.index])):r.index;let x=null;if(!s&&a&&(x=function uP(e,n,t,r){const o=e.cleanup;if(null!=o)for(let i=0;il?a[l]:null}"string"==typeof s&&(i+=2)}return null}(e,n,o,r.index)),null!==x)(x.__ngLastListenerFn__||x).__ngNextListenerFn__=i,x.__ngLastListenerFn__=i,g=!1;else{i=bD(r,n,u,i,!1);const F=t.listen(D,o,i);d.push(i,F),c&&c.push(o,w,E,E+1)}}else i=bD(r,n,u,i,!1);const m=r.outputs;let v;if(g&&null!==m&&(v=m[o])){const _=v.length;if(_)for(let D=0;D<_;D+=2){const $=n[v[D]][v[D+1]].subscribe(i),he=d.length;d.push(i,$),c&&c.push(o,r.index,he,"function"==typeof $?he+1:-(he+1))}}}function wD(e,n,t,r){try{return mn(6,n,t),!1!==t(r)}catch(o){return Il(e,o),!1}finally{mn(7,n,t)}}function bD(e,n,t,r,o){return function i(s){if(s===Function)return r;us(e.componentOffset>-1?Rt(e.index,n):n);let l=wD(n,t,r,s),c=i.__ngNextListenerFn__;for(;c;)l=wD(n,t,c,s)&&l,c=c.__ngNextListenerFn__;return o&&!1===l&&s.preventDefault(),l}}function O(e=1){return function E1(e){return(j.lFrame.contextLView=function fm(e,n){for(;e>0;)n=n[oo],e--;return n}(e,j.lFrame.contextLView))[ve]}(e)}function $n(e,n,t,r,o){const i=b(),s=$o(i,n,t,r);return s!==Z&&Et(J(),ye(),i,e,s,i[G],o,!1),$n}function kD(){return function Hf(e,n){return e[Pn].queries[n].queryList}(b(),Zu())}function gh(e){return function ao(e,n){return e[n]}(function _1(){return j.lFrame.contextLView}(),z+e)}function f(e,n=""){const t=b(),r=J(),o=e+z,i=r.firstCreatePass?Ro(r,o,1,n,null):r.data[o],s=zD(r,t,i,n,e);t[o]=s,Na()&&Cl(r,t,s,i),gn(i,!1)}let zD=(e,n,t,r,o)=>(tr(!0),function ml(e,n){return e.createText(n)}(n[G],r));function Se(e){return Gn("",e,""),Se}function Gn(e,n,t){const r=b(),o=$o(r,e,n,t);return o!==Z&&function Un(e,n,t){const r=Ui(n,e);!function Kv(e,n,t){e.setValue(n,t)}(e[G],r,t)}(r,lt(),o),Gn}function Ve(e,n,t){Yy(n)&&(n=n());const r=b();return ke(r,en(),n)&&Et(J(),ye(),r,e,n,r[G],t,!1),Ve}function $e(e,n){const t=Yy(e);return t&&e.set(n),t}function je(e,n){const t=b(),r=J(),o=de();return ph(r,t,t[G],o,e,n),je}function mh(e,n,t,r,o){if(e=V(e),Array.isArray(e))for(let i=0;i>20;if(Or(e)||!e.multi){const m=new Xi(c,o,S),v=yh(l,n,o?u:u+g,d);-1===v?(Vd(il(a,s),i,l),vh(i,e,n.length),n.push(l),a.directiveStart++,a.directiveEnd++,o&&(a.providerIndexes+=1048576),t.push(m),s.push(m)):(t[v]=m,s[v]=m)}else{const m=yh(l,n,u+g,d),v=yh(l,n,u,u+g),D=v>=0&&t[v];if(o&&!D||!o&&!(m>=0&&t[m])){Vd(il(a,s),i,l);const E=function OP(e,n,t,r,o){const i=new Xi(e,t,S);return i.multi=[],i.index=n,i.componentProviders=0,ew(i,o,r&&!t),i}(o?RP:xP,t.length,o,r,c);!o&&D&&(t[v].providerFactory=E),vh(i,e,n.length,0),n.push(l),a.directiveStart++,a.directiveEnd++,o&&(a.providerIndexes+=1048576),t.push(E),s.push(E)}else vh(i,e,m>-1?m:v,ew(t[o?v:m],c,!o&&r));!o&&r&&D&&t[v].componentProviders++}}}function vh(e,n,t,r){const o=Or(n),i=function dS(e){return!!e.useClass}(n);if(o||i){const l=(i?V(n.useClass):n).prototype.ngOnDestroy;if(l){const c=e.destroyHooks||(e.destroyHooks=[]);if(!o&&n.multi){const u=c.indexOf(t);-1===u?c.push(t,[r,l]):c[u+1].push(r,l)}else c.push(t,l)}}}function ew(e,n,t){return t&&e.componentProviders++,e.multi.push(n)-1}function yh(e,n,t,r){for(let o=t;o{t.providersResolver=(r,o)=>function NP(e,n,t){const r=J();if(r.firstCreatePass){const o=Kt(e);mh(t,r.data,r.blueprint,o,!0),mh(n,r.data,r.blueprint,o,!1)}}(r,o?o(e):e,n)}}let PP=(()=>{class e{constructor(t){this._injector=t,this.cachedInjectors=new Map}getOrCreateStandaloneInjector(t){if(!t.standalone)return null;if(!this.cachedInjectors.has(t)){const r=Qm(0,t.type),o=r.length>0?Wf([r],this._injector,`Standalone[${t.type.name}]`):null;this.cachedInjectors.set(t,o)}return this.cachedInjectors.get(t)}ngOnDestroy(){try{for(const t of this.cachedInjectors.values())null!==t&&t.destroy()}finally{this.cachedInjectors.clear()}}static#e=this.\u0275prov=R({token:e,providedIn:"environment",factory:()=>new e(P(kt))})}return e})();function Lt(e){Fr("NgStandalone"),e.getStandaloneInjector=n=>n.get(PP).getOrCreateStandaloneInjector(e)}function te(e,n,t){const r=ht()+e,o=b();return o[r]===Z?_n(o,r,t?n.call(t):n()):function ws(e,n){return e[n]}(o,r)}function Rs(e,n,t,r){return function uw(e,n,t,r,o,i){const s=n+t;return ke(e,s,o)?_n(e,s+1,i?r.call(i,o):r(o)):Os(e,s+1)}(b(),ht(),e,n,t,r)}function cw(e,n,t,r,o){return function dw(e,n,t,r,o,i,s){const a=n+t;return function Ur(e,n,t,r){const o=ke(e,n,t);return ke(e,n+1,r)||o}(e,a,o,i)?_n(e,a+2,s?r.call(s,o,i):r(o,i)):Os(e,a+2)}(b(),ht(),e,n,t,r,o)}function Os(e,n){const t=e[n];return t===Z?void 0:t}let Nw=(()=>{class e{log(t){console.log(t)}warn(t){console.warn(t)}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=R({token:e,factory:e.\u0275fac,providedIn:"platform"})}return e})();const kw=new N(""),rc=new N("");let Th,Mh=(()=>{class e{constructor(t,r,o){this._ngZone=t,this.registry=r,this._pendingCount=0,this._isZoneStable=!0,this._callbacks=[],this.taskTrackingZone=null,Th||(function Xk(e){Th=e}(o),o.addToWindow(r)),this._watchAngularEvents(),t.run(()=>{this.taskTrackingZone=typeof Zone>"u"?null:Zone.current.get("TaskTrackingZone")})}_watchAngularEvents(){this._ngZone.onUnstable.subscribe({next:()=>{this._isZoneStable=!1}}),this._ngZone.runOutsideAngular(()=>{this._ngZone.onStable.subscribe({next:()=>{se.assertNotInAngularZone(),queueMicrotask(()=>{this._isZoneStable=!0,this._runCallbacksIfReady()})}})})}increasePendingRequestCount(){return this._pendingCount+=1,this._pendingCount}decreasePendingRequestCount(){if(this._pendingCount-=1,this._pendingCount<0)throw new Error("pending async requests below zero");return this._runCallbacksIfReady(),this._pendingCount}isStable(){return this._isZoneStable&&0===this._pendingCount&&!this._ngZone.hasPendingMacrotasks}_runCallbacksIfReady(){if(this.isStable())queueMicrotask(()=>{for(;0!==this._callbacks.length;){let t=this._callbacks.pop();clearTimeout(t.timeoutId),t.doneCb()}});else{let t=this.getPendingTasks();this._callbacks=this._callbacks.filter(r=>!r.updateCb||!r.updateCb(t)||(clearTimeout(r.timeoutId),!1))}}getPendingTasks(){return this.taskTrackingZone?this.taskTrackingZone.macroTasks.map(t=>({source:t.source,creationLocation:t.creationLocation,data:t.data})):[]}addCallback(t,r,o){let i=-1;r&&r>0&&(i=setTimeout(()=>{this._callbacks=this._callbacks.filter(s=>s.timeoutId!==i),t()},r)),this._callbacks.push({doneCb:t,timeoutId:i,updateCb:o})}whenStable(t,r,o){if(o&&!this.taskTrackingZone)throw new Error('Task tracking zone is required when passing an update callback to whenStable(). Is "zone.js/plugins/task-tracking" loaded?');this.addCallback(t,r,o),this._runCallbacksIfReady()}getPendingRequestCount(){return this._pendingCount}registerApplication(t){this.registry.registerApplication(t,this)}unregisterApplication(t){this.registry.unregisterApplication(t)}findProviders(t,r,o){return[]}static#e=this.\u0275fac=function(r){return new(r||e)(P(se),P(Sh),P(rc))};static#t=this.\u0275prov=R({token:e,factory:e.\u0275fac})}return e})(),Sh=(()=>{class e{constructor(){this._applications=new Map}registerApplication(t,r){this._applications.set(t,r)}unregisterApplication(t){this._applications.delete(t)}unregisterAllApplications(){this._applications.clear()}getTestability(t){return this._applications.get(t)||null}getAllTestabilities(){return Array.from(this._applications.values())}getAllRootElements(){return Array.from(this._applications.keys())}findTestabilityInTree(t,r=!0){return Th?.findTestabilityInTree(this,t,r)??null}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=R({token:e,factory:e.\u0275fac,providedIn:"platform"})}return e})();function Vs(e){return!!e&&"function"==typeof e.then}function Fw(e){return!!e&&"function"==typeof e.subscribe}const Ah=new N("");let Nh=(()=>{class e{constructor(){this.initialized=!1,this.done=!1,this.donePromise=new Promise((t,r)=>{this.resolve=t,this.reject=r}),this.appInits=T(Ah,{optional:!0})??[]}runInitializers(){if(this.initialized)return;const t=[];for(const o of this.appInits){const i=o();if(Vs(i))t.push(i);else if(Fw(i)){const s=new Promise((a,l)=>{i.subscribe({complete:a,error:l})});t.push(s)}}const r=()=>{this.done=!0,this.resolve()};Promise.all(t).then(()=>{r()}).catch(o=>{this.reject(o)}),0===t.length&&r(),this.initialized=!0}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=R({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();const xh=new N("");let Gr=(()=>{class e{constructor(){this._bootstrapListeners=[],this._runningTick=!1,this._destroyed=!1,this._destroyListeners=[],this._views=[],this.internalErrorHandler=T(Ev),this.afterRenderEffectManager=T(vs),this.componentTypes=[],this.components=[],this.isStable=T(jr).hasPendingTasks.pipe(K(t=>!t)),this._injector=T(kt)}get destroyed(){return this._destroyed}get injector(){return this._injector}bootstrap(t,r){const o=t instanceof qy;if(!this._injector.get(Nh).done)throw!o&&function Kn(e){const n=Y(e)||We(e)||tt(e);return null!==n&&n.standalone}(t),new I(405,!1);let s;s=o?t:this._injector.get(Rl).resolveComponentFactory(t),this.componentTypes.push(s.componentType);const a=function Jk(e){return e.isBoundToModule}(s)?void 0:this._injector.get(Vr),c=s.create(wt.NULL,[],r||s.selector,a),u=c.location.nativeElement,d=c.injector.get(kw,null);return d?.registerApplication(u),c.onDestroy(()=>{this.detachView(c.hostView),oc(this.components,c),d?.unregisterApplication(u)}),this._loadComponent(c),c}tick(){if(this._runningTick)throw new I(101,!1);try{this._runningTick=!0,this.detectChangesInAttachedViews()}catch(t){this.internalErrorHandler(t)}finally{this._runningTick=!1}}detectChangesInAttachedViews(){let t=0;do{if(100===t)throw new I(103,!1);const r=0===t;for(let{_lView:o,notifyErrorHandler:i}of this._views)!r&&!Uw(o)||this.detectChangesInView(o,i,r);this.afterRenderEffectManager.execute(),t++}while(this._views.some(({_lView:r})=>Uw(r)))}detectChangesInView(t,r,o){let i;o?(i=0,t[k]|=1024):i=64&t[k]?0:1,Ml(t,r,i)}attachView(t){const r=t;this._views.push(r),r.attachToAppRef(this)}detachView(t){const r=t;oc(this._views,r),r.detachFromAppRef()}_loadComponent(t){this.attachView(t.hostView),this.tick(),this.components.push(t);const r=this._injector.get(xh,[]);[...this._bootstrapListeners,...r].forEach(o=>o(t))}ngOnDestroy(){if(!this._destroyed)try{this._destroyListeners.forEach(t=>t()),this._views.slice().forEach(t=>t.destroy())}finally{this._destroyed=!0,this._views=[],this._bootstrapListeners=[],this._destroyListeners=[]}}onDestroy(t){return this._destroyListeners.push(t),()=>oc(this._destroyListeners,t)}destroy(){if(this._destroyed)throw new I(406,!1);const t=this._injector;t.destroy&&!t.destroyed&&t.destroy()}get viewCount(){return this._views.length}warnIfDestroyed(){}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=R({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();function oc(e,n){const t=e.indexOf(n);t>-1&&e.splice(t,1)}function Uw(e){return Bu(e)}class eF{constructor(n,t){this.ngModuleFactory=n,this.componentFactories=t}}let Bw=(()=>{class e{compileModuleSync(t){return new qf(t)}compileModuleAsync(t){return Promise.resolve(this.compileModuleSync(t))}compileModuleAndAllComponentsSync(t){const r=this.compileModuleSync(t),i=Ft(rt(t).declarations).reduce((s,a)=>{const l=Y(a);return l&&s.push(new Cs(l)),s},[]);return new eF(r,i)}compileModuleAndAllComponentsAsync(t){return Promise.resolve(this.compileModuleAndAllComponentsSync(t))}clearCache(){}clearCacheFor(t){}getModuleId(t){}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=R({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})(),rF=(()=>{class e{constructor(){this.zone=T(se),this.applicationRef=T(Gr)}initialize(){this._onMicrotaskEmptySubscription||(this._onMicrotaskEmptySubscription=this.zone.onMicrotaskEmpty.subscribe({next:()=>{this.zone.run(()=>{this.applicationRef.tick()})}}))}ngOnDestroy(){this._onMicrotaskEmptySubscription?.unsubscribe()}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=R({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();function $w(e){return[{provide:se,useFactory:e},{provide:Rr,multi:!0,useFactory:()=>{const n=T(rF,{optional:!0});return()=>n.initialize()}},{provide:Rr,multi:!0,useFactory:()=>{const n=T(sF);return()=>{n.initialize()}}},{provide:Ev,useFactory:oF}]}function oF(){const e=T(se),n=T(Vn);return t=>e.runOutsideAngular(()=>n.handleError(t))}function iF(e){return Ya([[],$w(()=>new se(function Gw(e){return{enableLongStackTrace:!1,shouldCoalesceEventChangeDetection:e?.eventCoalescing??!1,shouldCoalesceRunChangeDetection:e?.runCoalescing??!1}}(e)))])}let sF=(()=>{class e{constructor(){this.subscription=new yt,this.initialized=!1,this.zone=T(se),this.pendingTasks=T(jr)}initialize(){if(this.initialized)return;this.initialized=!0;let t=null;!this.zone.isStable&&!this.zone.hasPendingMacrotasks&&!this.zone.hasPendingMicrotasks&&(t=this.pendingTasks.add()),this.zone.runOutsideAngular(()=>{this.subscription.add(this.zone.onStable.subscribe(()=>{se.assertNotInAngularZone(),queueMicrotask(()=>{null!==t&&!this.zone.hasPendingMacrotasks&&!this.zone.hasPendingMicrotasks&&(this.pendingTasks.remove(t),t=null)})}))}),this.subscription.add(this.zone.onUnstable.subscribe(()=>{se.assertInAngularZone(),t??=this.pendingTasks.add()}))}ngOnDestroy(){this.subscription.unsubscribe()}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=R({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();const zn=new N("",{providedIn:"root",factory:()=>T(zn,X.Optional|X.SkipSelf)||function aF(){return typeof $localize<"u"&&$localize.locale||ei}()}),Rh=new N("");let hr=null;let mF=(()=>{class e{constructor(t){}static#e=this.\u0275fac=function(r){return new(r||e)(P(Gr))};static#t=this.\u0275mod=Jn({type:e});static#n=this.\u0275inj=Ln({})}return e})();function xF(e){try{const{rootComponent:n,appProviders:t,platformProviders:r}=e,o=function fF(e=[]){if(hr)return hr;const n=function Ww(e=[],n){return wt.create({name:n,providers:[{provide:Md,useValue:"platform"},{provide:Rh,useValue:new Set([()=>hr=null])},...e]})}(e);return hr=n,function Lw(){!function _0(e){Ng=e}(()=>{throw new I(600,!1)})}(),function Zw(e){e.get(Pm,null)?.forEach(t=>t())}(n),n}(r),i=[iF(),...t||[]],a=new W_({providers:i,parent:o,debugName:"",runEnvironmentInitializers:!1}).injector,l=a.get(se);return l.run(()=>{a.resolveInjectorInitializers();const c=a.get(Vn,null);let u;l.runOutsideAngular(()=>{u=l.onError.subscribe({next:m=>{c.handleError(m)}})});const d=()=>a.destroy(),g=o.get(Rh);return g.add(d),a.onDestroy(()=>{u.unsubscribe(),g.delete(d)}),function Vw(e,n,t){try{const r=t();return Vs(r)?r.catch(o=>{throw n.runOutsideAngular(()=>e.handleError(o)),o}):r}catch(r){throw n.runOutsideAngular(()=>e.handleError(r)),r}}(c,l,()=>{const m=a.get(Nh);return m.runInitializers(),m.donePromise.then(()=>{!function XC(e){"string"==typeof e&&(YC=e.toLowerCase().replace(/_/g,"-"))}(a.get(zn,ei)||ei);const _=a.get(Gr);return void 0!==n&&_.bootstrap(n),_})})})}catch(n){return Promise.reject(n)}}function oi(e){return"boolean"==typeof e?e:null!=e&&"false"!==e}const De_apiBaseUrl="https://www.palmmedia.de/api/";let _b=null;function pr(){return _b}class WF{}const Tt=new N("");let Uh=(()=>{class e{historyGo(t){throw new Error("")}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=R({token:e,factory:()=>T(QF),providedIn:"platform"})}return e})();const ZF=new N("");let QF=(()=>{class e extends Uh{constructor(){super(),this._doc=T(Tt),this._location=window.location,this._history=window.history}getBaseHrefFromDOM(){return pr().getBaseHref(this._doc)}onPopState(t){const r=pr().getGlobalEventTarget(this._doc,"window");return r.addEventListener("popstate",t,!1),()=>r.removeEventListener("popstate",t)}onHashChange(t){const r=pr().getGlobalEventTarget(this._doc,"window");return r.addEventListener("hashchange",t,!1),()=>r.removeEventListener("hashchange",t)}get href(){return this._location.href}get protocol(){return this._location.protocol}get hostname(){return this._location.hostname}get port(){return this._location.port}get pathname(){return this._location.pathname}get search(){return this._location.search}get hash(){return this._location.hash}set pathname(t){this._location.pathname=t}pushState(t,r,o){this._history.pushState(t,r,o)}replaceState(t,r,o){this._history.replaceState(t,r,o)}forward(){this._history.forward()}back(){this._history.back()}historyGo(t=0){this._history.go(t)}getState(){return this._history.state}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=R({token:e,factory:()=>new e,providedIn:"platform"})}return e})();function Bh(e,n){if(0==e.length)return n;if(0==n.length)return e;let t=0;return e.endsWith("/")&&t++,n.startsWith("/")&&t++,2==t?e+n.substring(1):1==t?e+n:e+"/"+n}function Cb(e){const n=e.match(/#|\?|$/),t=n&&n.index||e.length;return e.slice(0,t-("/"===e[t-1]?1:0))+e.slice(t)}function qn(e){return e&&"?"!==e[0]?"?"+e:e}let qr=(()=>{class e{historyGo(t){throw new Error("")}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=R({token:e,factory:()=>T(wb),providedIn:"root"})}return e})();const Db=new N("");let wb=(()=>{class e extends qr{constructor(t,r){super(),this._platformLocation=t,this._removeListenerFns=[],this._baseHref=r??this._platformLocation.getBaseHrefFromDOM()??T(Tt).location?.origin??""}ngOnDestroy(){for(;this._removeListenerFns.length;)this._removeListenerFns.pop()()}onPopState(t){this._removeListenerFns.push(this._platformLocation.onPopState(t),this._platformLocation.onHashChange(t))}getBaseHref(){return this._baseHref}prepareExternalUrl(t){return Bh(this._baseHref,t)}path(t=!1){const r=this._platformLocation.pathname+qn(this._platformLocation.search),o=this._platformLocation.hash;return o&&t?`${r}${o}`:r}pushState(t,r,o,i){const s=this.prepareExternalUrl(o+qn(i));this._platformLocation.pushState(t,r,s)}replaceState(t,r,o,i){const s=this.prepareExternalUrl(o+qn(i));this._platformLocation.replaceState(t,r,s)}forward(){this._platformLocation.forward()}back(){this._platformLocation.back()}getState(){return this._platformLocation.getState()}historyGo(t=0){this._platformLocation.historyGo?.(t)}static#e=this.\u0275fac=function(r){return new(r||e)(P(Uh),P(Db,8))};static#t=this.\u0275prov=R({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})(),YF=(()=>{class e extends qr{constructor(t,r){super(),this._platformLocation=t,this._baseHref="",this._removeListenerFns=[],null!=r&&(this._baseHref=r)}ngOnDestroy(){for(;this._removeListenerFns.length;)this._removeListenerFns.pop()()}onPopState(t){this._removeListenerFns.push(this._platformLocation.onPopState(t),this._platformLocation.onHashChange(t))}getBaseHref(){return this._baseHref}path(t=!1){const r=this._platformLocation.hash??"#";return r.length>0?r.substring(1):r}prepareExternalUrl(t){const r=Bh(this._baseHref,t);return r.length>0?"#"+r:r}pushState(t,r,o,i){let s=this.prepareExternalUrl(o+qn(i));0==s.length&&(s=this._platformLocation.pathname),this._platformLocation.pushState(t,r,s)}replaceState(t,r,o,i){let s=this.prepareExternalUrl(o+qn(i));0==s.length&&(s=this._platformLocation.pathname),this._platformLocation.replaceState(t,r,s)}forward(){this._platformLocation.forward()}back(){this._platformLocation.back()}getState(){return this._platformLocation.getState()}historyGo(t=0){this._platformLocation.historyGo?.(t)}static#e=this.\u0275fac=function(r){return new(r||e)(P(Uh),P(Db,8))};static#t=this.\u0275prov=R({token:e,factory:e.\u0275fac})}return e})(),Bs=(()=>{class e{constructor(t){this._subject=new Ae,this._urlChangeListeners=[],this._urlChangeSubscription=null,this._locationStrategy=t;const r=this._locationStrategy.getBaseHref();this._basePath=function KF(e){if(new RegExp("^(https?:)?//").test(e)){const[,t]=e.split(/\/\/[^\/]+/);return t}return e}(Cb(bb(r))),this._locationStrategy.onPopState(o=>{this._subject.emit({url:this.path(!0),pop:!0,state:o.state,type:o.type})})}ngOnDestroy(){this._urlChangeSubscription?.unsubscribe(),this._urlChangeListeners=[]}path(t=!1){return this.normalize(this._locationStrategy.path(t))}getState(){return this._locationStrategy.getState()}isCurrentPathEqualTo(t,r=""){return this.path()==this.normalize(t+qn(r))}normalize(t){return e.stripTrailingSlash(function JF(e,n){if(!e||!n.startsWith(e))return n;const t=n.substring(e.length);return""===t||["/",";","?","#"].includes(t[0])?t:n}(this._basePath,bb(t)))}prepareExternalUrl(t){return t&&"/"!==t[0]&&(t="/"+t),this._locationStrategy.prepareExternalUrl(t)}go(t,r="",o=null){this._locationStrategy.pushState(o,"",t,r),this._notifyUrlChangeListeners(this.prepareExternalUrl(t+qn(r)),o)}replaceState(t,r="",o=null){this._locationStrategy.replaceState(o,"",t,r),this._notifyUrlChangeListeners(this.prepareExternalUrl(t+qn(r)),o)}forward(){this._locationStrategy.forward()}back(){this._locationStrategy.back()}historyGo(t=0){this._locationStrategy.historyGo?.(t)}onUrlChange(t){return this._urlChangeListeners.push(t),this._urlChangeSubscription??=this.subscribe(r=>{this._notifyUrlChangeListeners(r.url,r.state)}),()=>{const r=this._urlChangeListeners.indexOf(t);this._urlChangeListeners.splice(r,1),0===this._urlChangeListeners.length&&(this._urlChangeSubscription?.unsubscribe(),this._urlChangeSubscription=null)}}_notifyUrlChangeListeners(t="",r){this._urlChangeListeners.forEach(o=>o(t,r))}subscribe(t,r,o){return this._subject.subscribe({next:t,error:r,complete:o})}static#e=this.normalizeQueryParams=qn;static#t=this.joinWithSlash=Bh;static#n=this.stripTrailingSlash=Cb;static#r=this.\u0275fac=function(r){return new(r||e)(P(qr))};static#o=this.\u0275prov=R({token:e,factory:()=>function XF(){return new Bs(P(qr))}(),providedIn:"root"})}return e})();function bb(e){return e.replace(/\/index.html$/,"")}function Rb(e,n){n=encodeURIComponent(n);for(const t of e.split(";")){const r=t.indexOf("="),[o,i]=-1==r?[t,""]:[t.slice(0,r),t.slice(r+1)];if(o.trim()===n)return decodeURIComponent(i)}return null}const Xh=/\s+/,Ob=[];let Ec=(()=>{class e{constructor(t,r){this._ngEl=t,this._renderer=r,this.initialClasses=Ob,this.stateMap=new Map}set klass(t){this.initialClasses=null!=t?t.trim().split(Xh):Ob}set ngClass(t){this.rawClass="string"==typeof t?t.trim().split(Xh):t}ngDoCheck(){for(const r of this.initialClasses)this._updateState(r,!0);const t=this.rawClass;if(Array.isArray(t)||t instanceof Set)for(const r of t)this._updateState(r,!0);else if(null!=t)for(const r of Object.keys(t))this._updateState(r,!!t[r]);this._applyStateDiff()}_updateState(t,r){const o=this.stateMap.get(t);void 0!==o?(o.enabled!==r&&(o.changed=!0,o.enabled=r),o.touched=!0):this.stateMap.set(t,{enabled:r,changed:!0,touched:!0})}_applyStateDiff(){for(const t of this.stateMap){const r=t[0],o=t[1];o.changed?(this._toggleClass(r,o.enabled),o.changed=!1):o.touched||(o.enabled&&this._toggleClass(r,!1),this.stateMap.delete(r)),o.touched=!1}}_toggleClass(t,r){(t=t.trim()).length>0&&t.split(Xh).forEach(o=>{r?this._renderer.addClass(this._ngEl.nativeElement,o):this._renderer.removeClass(this._ngEl.nativeElement,o)})}static#e=this.\u0275fac=function(r){return new(r||e)(S(Ot),S(Hn))};static#t=this.\u0275dir=H({type:e,selectors:[["","ngClass",""]],inputs:{klass:[Ie.None,"class","klass"],ngClass:"ngClass"},standalone:!0})}return e})();class V2{constructor(n,t,r,o){this.$implicit=n,this.ngForOf=t,this.index=r,this.count=o}get first(){return 0===this.index}get last(){return this.index===this.count-1}get even(){return this.index%2==0}get odd(){return!this.even}}let Jh=(()=>{class e{set ngForOf(t){this._ngForOf=t,this._ngForOfDirty=!0}set ngForTrackBy(t){this._trackByFn=t}get ngForTrackBy(){return this._trackByFn}constructor(t,r,o){this._viewContainer=t,this._template=r,this._differs=o,this._ngForOf=null,this._ngForOfDirty=!0,this._differ=null}set ngForTemplate(t){t&&(this._template=t)}ngDoCheck(){if(this._ngForOfDirty){this._ngForOfDirty=!1;const t=this._ngForOf;!this._differ&&t&&(this._differ=this._differs.find(t).create(this.ngForTrackBy))}if(this._differ){const t=this._differ.diff(this._ngForOf);t&&this._applyChanges(t)}}_applyChanges(t){const r=this._viewContainer;t.forEachOperation((o,i,s)=>{if(null==o.previousIndex)r.createEmbeddedView(this._template,new V2(o.item,this._ngForOf,-1,-1),null===s?void 0:s);else if(null==s)r.remove(null===i?void 0:i);else if(null!==i){const a=r.get(i);r.move(a,s),kb(a,o)}});for(let o=0,i=r.length;o{kb(r.get(o.currentIndex),o)})}static ngTemplateContextGuard(t,r){return!0}static#e=this.\u0275fac=function(r){return new(r||e)(S(tn),S(Bn),S(Nf))};static#t=this.\u0275dir=H({type:e,selectors:[["","ngFor","","ngForOf",""]],inputs:{ngForOf:"ngForOf",ngForTrackBy:"ngForTrackBy",ngForTemplate:"ngForTemplate"},standalone:!0})}return e})();function kb(e,n){e.context.$implicit=n.item}let Kh=(()=>{class e{constructor(t,r){this._viewContainer=t,this._context=new j2,this._thenTemplateRef=null,this._elseTemplateRef=null,this._thenViewRef=null,this._elseViewRef=null,this._thenTemplateRef=r}set ngIf(t){this._context.$implicit=this._context.ngIf=t,this._updateView()}set ngIfThen(t){Fb("ngIfThen",t),this._thenTemplateRef=t,this._thenViewRef=null,this._updateView()}set ngIfElse(t){Fb("ngIfElse",t),this._elseTemplateRef=t,this._elseViewRef=null,this._updateView()}_updateView(){this._context.$implicit?this._thenViewRef||(this._viewContainer.clear(),this._elseViewRef=null,this._thenTemplateRef&&(this._thenViewRef=this._viewContainer.createEmbeddedView(this._thenTemplateRef,this._context))):this._elseViewRef||(this._viewContainer.clear(),this._thenViewRef=null,this._elseTemplateRef&&(this._elseViewRef=this._viewContainer.createEmbeddedView(this._elseTemplateRef,this._context)))}static ngTemplateContextGuard(t,r){return!0}static#e=this.\u0275fac=function(r){return new(r||e)(S(tn),S(Bn))};static#t=this.\u0275dir=H({type:e,selectors:[["","ngIf",""]],inputs:{ngIf:"ngIf",ngIfThen:"ngIfThen",ngIfElse:"ngIfElse"},standalone:!0})}return e})();class j2{constructor(){this.$implicit=null,this.ngIf=null}}function Fb(e,n){if(n&&!n.createEmbeddedView)throw new Error(`${e} must be a TemplateRef, but received '${qe(n)}'.`)}let dL=(()=>{class e{static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275mod=Jn({type:e});static#n=this.\u0275inj=Ln({})}return e})();const jb="browser";function Ub(e){return"server"===e}let mL=(()=>{class e{static#e=this.\u0275prov=R({token:e,providedIn:"root",factory:()=>function gL(e){return e===jb}(T(rr))?new vL(T(Tt),window):new _L})}return e})();class vL{constructor(n,t){this.document=n,this.window=t,this.offset=()=>[0,0]}setOffset(n){this.offset=Array.isArray(n)?()=>n:n}getScrollPosition(){return[this.window.scrollX,this.window.scrollY]}scrollToPosition(n){this.window.scrollTo(n[0],n[1])}scrollToAnchor(n){const t=function yL(e,n){const t=e.getElementById(n)||e.getElementsByName(n)[0];if(t)return t;if("function"==typeof e.createTreeWalker&&e.body&&"function"==typeof e.body.attachShadow){const r=e.createTreeWalker(e.body,NodeFilter.SHOW_ELEMENT);let o=r.currentNode;for(;o;){const i=o.shadowRoot;if(i){const s=i.getElementById(n)||i.querySelector(`[name="${n}"]`);if(s)return s}o=r.nextNode()}}return null}(this.document,n);t&&(this.scrollToElement(t),t.focus())}setHistoryScrollRestoration(n){this.window.history.scrollRestoration=n}scrollToElement(n){const t=n.getBoundingClientRect(),r=t.left+this.window.pageXOffset,o=t.top+this.window.pageYOffset,i=this.offset();this.window.scrollTo(r-i[0],o-i[1])}}class _L{setOffset(n){}getScrollPosition(){return[0,0]}scrollToPosition(n){}scrollToAnchor(n){}setHistoryScrollRestoration(n){}}class Bb{}function gr(e){return this instanceof gr?(this.v=e,this):new gr(e)}function Kb(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t,n=e[Symbol.asyncIterator];return n?n.call(e):(e=function lp(e){var n="function"==typeof Symbol&&Symbol.iterator,t=n&&e[n],r=0;if(t)return t.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(n?"Object is not iterable.":"Symbol.iterator is not defined.")}(e),t={},r("next"),r("throw"),r("return"),t[Symbol.asyncIterator]=function(){return this},t);function r(i){t[i]=e[i]&&function(s){return new Promise(function(a,l){!function o(i,s,a,l){Promise.resolve(l).then(function(c){i({value:c,done:a})},s)}(a,l,(s=e[i](s)).done,s.value)})}}}"function"==typeof SuppressedError&&SuppressedError;const eE=e=>e&&"number"==typeof e.length&&"function"!=typeof e;function tE(e){return Ee(e?.then)}function nE(e){return Ee(e[Su])}function rE(e){return Symbol.asyncIterator&&Ee(e?.[Symbol.asyncIterator])}function oE(e){return new TypeError(`You provided ${null!==e&&"object"==typeof e?"an invalid object":`'${e}'`} where a stream was expected. You can provide an Observable, Promise, ReadableStream, Array, AsyncIterable, or Iterable.`)}const iE=function gV(){return"function"==typeof Symbol&&Symbol.iterator?Symbol.iterator:"@@iterator"}();function sE(e){return Ee(e?.[iE])}function aE(e){return function Jb(e,n,t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var o,r=t.apply(e,n||[]),i=[];return o={},s("next"),s("throw"),s("return"),o[Symbol.asyncIterator]=function(){return this},o;function s(g){r[g]&&(o[g]=function(m){return new Promise(function(v,_){i.push([g,m,v,_])>1||a(g,m)})})}function a(g,m){try{!function l(g){g.value instanceof gr?Promise.resolve(g.value.v).then(c,u):d(i[0][2],g)}(r[g](m))}catch(v){d(i[0][3],v)}}function c(g){a("next",g)}function u(g){a("throw",g)}function d(g,m){g(m),i.shift(),i.length&&a(i[0][0],i[0][1])}}(this,arguments,function*(){const t=e.getReader();try{for(;;){const{value:r,done:o}=yield gr(t.read());if(o)return yield gr(void 0);yield yield gr(r)}}finally{t.releaseLock()}})}function lE(e){return Ee(e?.getReader)}function wn(e){if(e instanceof Be)return e;if(null!=e){if(nE(e))return function mV(e){return new Be(n=>{const t=e[Su]();if(Ee(t.subscribe))return t.subscribe(n);throw new TypeError("Provided object does not correctly implement Symbol.observable")})}(e);if(eE(e))return function vV(e){return new Be(n=>{for(let t=0;t{e.then(t=>{n.closed||(n.next(t),n.complete())},t=>n.error(t)).then(null,Fg)})}(e);if(rE(e))return cE(e);if(sE(e))return function _V(e){return new Be(n=>{for(const t of e)if(n.next(t),n.closed)return;n.complete()})}(e);if(lE(e))return function CV(e){return cE(aE(e))}(e)}throw oE(e)}function cE(e){return new Be(n=>{(function DV(e,n){var t,r,o,i;return function Yb(e,n,t,r){return new(t||(t=Promise))(function(i,s){function a(u){try{c(r.next(u))}catch(d){s(d)}}function l(u){try{c(r.throw(u))}catch(d){s(d)}}function c(u){u.done?i(u.value):function o(i){return i instanceof t?i:new t(function(s){s(i)})}(u.value).then(a,l)}c((r=r.apply(e,n||[])).next())})}(this,void 0,void 0,function*(){try{for(t=Kb(e);!(r=yield t.next()).done;)if(n.next(r.value),n.closed)return}catch(s){o={error:s}}finally{try{r&&!r.done&&(i=t.return)&&(yield i.call(t))}finally{if(o)throw o.error}}n.complete()})})(e,n).catch(t=>n.error(t))})}function Qn(e,n,t,r=0,o=!1){const i=n.schedule(function(){t(),o?e.add(this.schedule(null,r)):this.unsubscribe()},r);if(e.add(i),!o)return i}function uE(e,n=0){return et((t,r)=>{t.subscribe(ze(r,o=>Qn(r,e,()=>r.next(o),n),()=>Qn(r,e,()=>r.complete(),n),o=>Qn(r,e,()=>r.error(o),n)))})}function dE(e,n=0){return et((t,r)=>{r.add(e.schedule(()=>t.subscribe(r),n))})}function fE(e,n){if(!e)throw new Error("Iterable cannot be null");return new Be(t=>{Qn(t,n,()=>{const r=e[Symbol.asyncIterator]();Qn(t,n,()=>{r.next().then(o=>{o.done?t.complete():t.next(o.value)})},0,!0)})})}function Je(e,n){return n?function SV(e,n){if(null!=e){if(nE(e))return function wV(e,n){return wn(e).pipe(dE(n),uE(n))}(e,n);if(eE(e))return function EV(e,n){return new Be(t=>{let r=0;return n.schedule(function(){r===e.length?t.complete():(t.next(e[r++]),t.closed||this.schedule())})})}(e,n);if(tE(e))return function bV(e,n){return wn(e).pipe(dE(n),uE(n))}(e,n);if(rE(e))return fE(e,n);if(sE(e))return function IV(e,n){return new Be(t=>{let r;return Qn(t,n,()=>{r=e[iE](),Qn(t,n,()=>{let o,i;try{({value:o,done:i}=r.next())}catch(s){return void t.error(s)}i?t.complete():t.next(o)},0,!0)}),()=>Ee(r?.return)&&r.return()})}(e,n);if(lE(e))return function MV(e,n){return fE(aE(e),n)}(e,n)}throw oE(e)}(e,n):wn(e)}function cp(e){return e[e.length-1]}function hE(e){return Ee(cp(e))?e.pop():void 0}function Sc(e){return function TV(e){return e&&Ee(e.schedule)}(cp(e))?e.pop():void 0}function B(...e){return Je(e,Sc(e))}const{isArray:AV}=Array,{getPrototypeOf:NV,prototype:xV,keys:RV}=Object;function pE(e){if(1===e.length){const n=e[0];if(AV(n))return{args:n,keys:null};if(function OV(e){return e&&"object"==typeof e&&NV(e)===xV}(n)){const t=RV(n);return{args:t.map(r=>n[r]),keys:t}}}return{args:e,keys:null}}const{isArray:PV}=Array;function gE(e){return K(n=>function kV(e,n){return PV(n)?e(...n):e(n)}(e,n))}function mE(e,n){return e.reduce((t,r,o)=>(t[r]=n[o],t),{})}function up(...e){const n=Sc(e),t=hE(e),{args:r,keys:o}=pE(e);if(0===r.length)return Je([],n);const i=new Be(function FV(e,n,t=Mr){return r=>{vE(n,()=>{const{length:o}=e,i=new Array(o);let s=o,a=o;for(let l=0;l{const c=Je(e[l],n);let u=!1;c.subscribe(ze(r,d=>{i[l]=d,u||(u=!0,a--),a||r.next(t(i.slice()))},()=>{--s||r.complete()}))},r)},r)}}(r,n,o?s=>mE(o,s):Mr));return t?i.pipe(gE(t)):i}function vE(e,n,t){e?Qn(t,e,n):n()}const Tc=yu(e=>function(){e(this),this.name="EmptyError",this.message="no elements in sequence"});function nt(e,n,t=1/0){return Ee(n)?nt((r,o)=>K((i,s)=>n(r,i,o,s))(wn(e(r,o))),t):("number"==typeof n&&(t=n),et((r,o)=>function LV(e,n,t,r,o,i,s,a){const l=[];let c=0,u=0,d=!1;const g=()=>{d&&!l.length&&!c&&n.complete()},m=_=>c{i&&n.next(_),c++;let D=!1;wn(t(_,u++)).subscribe(ze(n,E=>{o?.(E),i?m(E):n.next(E)},()=>{D=!0},void 0,()=>{if(D)try{for(c--;l.length&&cv(E)):v(E)}g()}catch(E){n.error(E)}}))};return e.subscribe(ze(n,m,()=>{d=!0,g()})),()=>{a?.()}}(r,o,e,t)))}function zs(e=1/0){return nt(Mr,e)}function dp(...e){return function VV(){return zs(1)}()(Je(e,Sc(e)))}function yE(e){return new Be(n=>{wn(e()).subscribe(n)})}function Ac(e,n){const t=Ee(e)?e:()=>e,r=o=>o.error(t());return new Be(n?o=>n.schedule(r,0,o):r)}const Yn=new Be(e=>e.complete());function fp(){return et((e,n)=>{let t=null;e._refCount++;const r=ze(n,void 0,void 0,void 0,()=>{if(!e||e._refCount<=0||0<--e._refCount)return void(t=null);const o=e._connection,i=t;t=null,o&&(!i||o===i)&&o.unsubscribe(),n.unsubscribe()});e.subscribe(r),r.closed||(t=e.connect())})}class _E extends Be{constructor(n,t){super(),this.source=n,this.subjectFactory=t,this._subject=null,this._refCount=0,this._connection=null,Ug(n)&&(this.lift=n.lift)}_subscribe(n){return this.getSubject().subscribe(n)}getSubject(){const n=this._subject;return(!n||n.isStopped)&&(this._subject=this.subjectFactory()),this._subject}_teardown(){this._refCount=0;const{_connection:n}=this;this._subject=this._connection=null,n?.unsubscribe()}connect(){let n=this._connection;if(!n){n=this._connection=new yt;const t=this.getSubject();n.add(this.source.subscribe(ze(t,void 0,()=>{this._teardown(),t.complete()},r=>{this._teardown(),t.error(r)},()=>this._teardown()))),n.closed&&(this._connection=null,n=yt.EMPTY)}return n}refCount(){return fp()(this)}}function ln(e,n){return et((t,r)=>{let o=null,i=0,s=!1;const a=()=>s&&!o&&r.complete();t.subscribe(ze(r,l=>{o?.unsubscribe();let c=0;const u=i++;wn(e(l,u)).subscribe(o=ze(r,d=>r.next(n?n(l,d,u,c++):d),()=>{o=null,a()}))},()=>{s=!0,a()}))})}function si(e){return e<=0?()=>Yn:et((n,t)=>{let r=0;n.subscribe(ze(t,o=>{++r<=e&&(t.next(o),e<=r&&t.complete())}))})}function cn(e,n){return et((t,r)=>{let o=0;t.subscribe(ze(r,i=>e.call(n,i,o++)&&r.next(i)))})}function Nc(e){return et((n,t)=>{let r=!1;n.subscribe(ze(t,o=>{r=!0,t.next(o)},()=>{r||t.next(e),t.complete()}))})}function CE(e=BV){return et((n,t)=>{let r=!1;n.subscribe(ze(t,o=>{r=!0,t.next(o)},()=>r?t.complete():t.error(e())))})}function BV(){return new Tc}function Wr(e,n){const t=arguments.length>=2;return r=>r.pipe(e?cn((o,i)=>e(o,i,r)):Mr,si(1),t?Nc(n):CE(()=>new Tc))}function ai(e,n){return Ee(n)?nt(e,n,1):nt(e,1)}function ut(e,n,t){const r=Ee(e)||n||t?{next:e,error:n,complete:t}:e;return r?et((o,i)=>{var s;null===(s=r.subscribe)||void 0===s||s.call(r);let a=!0;o.subscribe(ze(i,l=>{var c;null===(c=r.next)||void 0===c||c.call(r,l),i.next(l)},()=>{var l;a=!1,null===(l=r.complete)||void 0===l||l.call(r),i.complete()},l=>{var c;a=!1,null===(c=r.error)||void 0===c||c.call(r,l),i.error(l)},()=>{var l,c;a&&(null===(l=r.unsubscribe)||void 0===l||l.call(r)),null===(c=r.finalize)||void 0===c||c.call(r)}))}):Mr}function li(e){return et((n,t)=>{let i,r=null,o=!1;r=n.subscribe(ze(t,void 0,void 0,s=>{i=wn(e(s,li(e)(n))),r?(r.unsubscribe(),r=null,i.subscribe(t)):o=!0})),o&&(r.unsubscribe(),r=null,i.subscribe(t))})}function hp(e){return e<=0?()=>Yn:et((n,t)=>{let r=[];n.subscribe(ze(t,o=>{r.push(o),e{for(const o of r)t.next(o);t.complete()},void 0,()=>{r=null}))})}function qs(e){return et((n,t)=>{try{n.subscribe(t)}finally{t.add(e)}})}class WV extends WF{constructor(){super(...arguments),this.supportsDOMEvents=!0}}class pp extends WV{static makeCurrent(){!function qF(e){_b??=e}(new pp)}onAndCancel(n,t,r){return n.addEventListener(t,r),()=>{n.removeEventListener(t,r)}}dispatchEvent(n,t){n.dispatchEvent(t)}remove(n){n.parentNode&&n.parentNode.removeChild(n)}createElement(n,t){return(t=t||this.getDefaultDocument()).createElement(n)}createHtmlDocument(){return document.implementation.createHTMLDocument("fakeTitle")}getDefaultDocument(){return document}isElementNode(n){return n.nodeType===Node.ELEMENT_NODE}isShadowRoot(n){return n instanceof DocumentFragment}getGlobalEventTarget(n,t){return"window"===t?window:"document"===t?n:"body"===t?n.body:null}getBaseHref(n){const t=function ZV(){return Ws=Ws||document.querySelector("base"),Ws?Ws.getAttribute("href"):null}();return null==t?null:function QV(e){return new URL(e,document.baseURI).pathname}(t)}resetBaseElement(){Ws=null}getUserAgent(){return window.navigator.userAgent}getCookie(n){return Rb(document.cookie,n)}}let Ws=null,XV=(()=>{class e{build(){return new XMLHttpRequest}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=R({token:e,factory:e.\u0275fac})}return e})();const gp=new N("");let DE=(()=>{class e{constructor(t,r){this._zone=r,this._eventNameToPlugin=new Map,t.forEach(o=>{o.manager=this}),this._plugins=t.slice().reverse()}addEventListener(t,r,o){return this._findPluginFor(r).addEventListener(t,r,o)}getZone(){return this._zone}_findPluginFor(t){let r=this._eventNameToPlugin.get(t);if(r)return r;if(r=this._plugins.find(i=>i.supports(t)),!r)throw new I(5101,!1);return this._eventNameToPlugin.set(t,r),r}static#e=this.\u0275fac=function(r){return new(r||e)(P(gp),P(se))};static#t=this.\u0275prov=R({token:e,factory:e.\u0275fac})}return e})();class wE{constructor(n){this._doc=n}}const mp="ng-app-id";let bE=(()=>{class e{constructor(t,r,o,i={}){this.doc=t,this.appId=r,this.nonce=o,this.platformId=i,this.styleRef=new Map,this.hostNodes=new Set,this.styleNodesInDOM=this.collectServerRenderedStyles(),this.platformIsServer=Ub(i),this.resetHostNodes()}addStyles(t){for(const r of t)1===this.changeUsageCount(r,1)&&this.onStyleAdded(r)}removeStyles(t){for(const r of t)this.changeUsageCount(r,-1)<=0&&this.onStyleRemoved(r)}ngOnDestroy(){const t=this.styleNodesInDOM;t&&(t.forEach(r=>r.remove()),t.clear());for(const r of this.getAllStyles())this.onStyleRemoved(r);this.resetHostNodes()}addHost(t){this.hostNodes.add(t);for(const r of this.getAllStyles())this.addStyleToHost(t,r)}removeHost(t){this.hostNodes.delete(t)}getAllStyles(){return this.styleRef.keys()}onStyleAdded(t){for(const r of this.hostNodes)this.addStyleToHost(r,t)}onStyleRemoved(t){const r=this.styleRef;r.get(t)?.elements?.forEach(o=>o.remove()),r.delete(t)}collectServerRenderedStyles(){const t=this.doc.head?.querySelectorAll(`style[${mp}="${this.appId}"]`);if(t?.length){const r=new Map;return t.forEach(o=>{null!=o.textContent&&r.set(o.textContent,o)}),r}return null}changeUsageCount(t,r){const o=this.styleRef;if(o.has(t)){const i=o.get(t);return i.usage+=r,i.usage}return o.set(t,{usage:r,elements:[]}),r}getStyleElement(t,r){const o=this.styleNodesInDOM,i=o?.get(r);if(i?.parentNode===t)return o.delete(r),i.removeAttribute(mp),i;{const s=this.doc.createElement("style");return this.nonce&&s.setAttribute("nonce",this.nonce),s.textContent=r,this.platformIsServer&&s.setAttribute(mp,this.appId),t.appendChild(s),s}}addStyleToHost(t,r){const o=this.getStyleElement(t,r),i=this.styleRef,s=i.get(r)?.elements;s?s.push(o):i.set(r,{elements:[o],usage:1})}resetHostNodes(){const t=this.hostNodes;t.clear(),t.add(this.doc.head)}static#e=this.\u0275fac=function(r){return new(r||e)(P(Tt),P(Va),P(km,8),P(rr))};static#t=this.\u0275prov=R({token:e,factory:e.\u0275fac})}return e})();const vp={svg:"http://www.w3.org/2000/svg",xhtml:"http://www.w3.org/1999/xhtml",xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/",math:"http://www.w3.org/1998/MathML/"},yp=/%COMP%/g,t3=new N("",{providedIn:"root",factory:()=>!0});function IE(e,n){return n.map(t=>t.replace(yp,e))}let ME=(()=>{class e{constructor(t,r,o,i,s,a,l,c=null){this.eventManager=t,this.sharedStylesHost=r,this.appId=o,this.removeStylesOnCompDestroy=i,this.doc=s,this.platformId=a,this.ngZone=l,this.nonce=c,this.rendererByCompId=new Map,this.platformIsServer=Ub(a),this.defaultRenderer=new _p(t,s,l,this.platformIsServer)}createRenderer(t,r){if(!t||!r)return this.defaultRenderer;this.platformIsServer&&r.encapsulation===Qt.ShadowDom&&(r={...r,encapsulation:Qt.Emulated});const o=this.getOrCreateRenderer(t,r);return o instanceof TE?o.applyToHost(t):o instanceof Cp&&o.applyStyles(),o}getOrCreateRenderer(t,r){const o=this.rendererByCompId;let i=o.get(r.id);if(!i){const s=this.doc,a=this.ngZone,l=this.eventManager,c=this.sharedStylesHost,u=this.removeStylesOnCompDestroy,d=this.platformIsServer;switch(r.encapsulation){case Qt.Emulated:i=new TE(l,c,r,this.appId,u,s,a,d);break;case Qt.ShadowDom:return new i3(l,c,t,r,s,a,this.nonce,d);default:i=new Cp(l,c,r,u,s,a,d)}o.set(r.id,i)}return i}ngOnDestroy(){this.rendererByCompId.clear()}static#e=this.\u0275fac=function(r){return new(r||e)(P(DE),P(bE),P(Va),P(t3),P(Tt),P(rr),P(se),P(km))};static#t=this.\u0275prov=R({token:e,factory:e.\u0275fac})}return e})();class _p{constructor(n,t,r,o){this.eventManager=n,this.doc=t,this.ngZone=r,this.platformIsServer=o,this.data=Object.create(null),this.throwOnSyntheticProps=!0,this.destroyNode=null}destroy(){}createElement(n,t){return t?this.doc.createElementNS(vp[t]||t,n):this.doc.createElement(n)}createComment(n){return this.doc.createComment(n)}createText(n){return this.doc.createTextNode(n)}appendChild(n,t){(SE(n)?n.content:n).appendChild(t)}insertBefore(n,t,r){n&&(SE(n)?n.content:n).insertBefore(t,r)}removeChild(n,t){n&&n.removeChild(t)}selectRootElement(n,t){let r="string"==typeof n?this.doc.querySelector(n):n;if(!r)throw new I(-5104,!1);return t||(r.textContent=""),r}parentNode(n){return n.parentNode}nextSibling(n){return n.nextSibling}setAttribute(n,t,r,o){if(o){t=o+":"+t;const i=vp[o];i?n.setAttributeNS(i,t,r):n.setAttribute(t,r)}else n.setAttribute(t,r)}removeAttribute(n,t,r){if(r){const o=vp[r];o?n.removeAttributeNS(o,t):n.removeAttribute(`${r}:${t}`)}else n.removeAttribute(t)}addClass(n,t){n.classList.add(t)}removeClass(n,t){n.classList.remove(t)}setStyle(n,t,r,o){o&(lr.DashCase|lr.Important)?n.style.setProperty(t,r,o&lr.Important?"important":""):n.style[t]=r}removeStyle(n,t,r){r&lr.DashCase?n.style.removeProperty(t):n.style[t]=""}setProperty(n,t,r){null!=n&&(n[t]=r)}setValue(n,t){n.nodeValue=t}listen(n,t,r){if("string"==typeof n&&!(n=pr().getGlobalEventTarget(this.doc,n)))throw new Error(`Unsupported event target ${n} for event ${t}`);return this.eventManager.addEventListener(n,t,this.decoratePreventDefault(r))}decoratePreventDefault(n){return t=>{if("__ngUnwrap__"===t)return n;!1===(this.platformIsServer?this.ngZone.runGuarded(()=>n(t)):n(t))&&t.preventDefault()}}}function SE(e){return"TEMPLATE"===e.tagName&&void 0!==e.content}class i3 extends _p{constructor(n,t,r,o,i,s,a,l){super(n,i,s,l),this.sharedStylesHost=t,this.hostEl=r,this.shadowRoot=r.attachShadow({mode:"open"}),this.sharedStylesHost.addHost(this.shadowRoot);const c=IE(o.id,o.styles);for(const u of c){const d=document.createElement("style");a&&d.setAttribute("nonce",a),d.textContent=u,this.shadowRoot.appendChild(d)}}nodeOrShadowRoot(n){return n===this.hostEl?this.shadowRoot:n}appendChild(n,t){return super.appendChild(this.nodeOrShadowRoot(n),t)}insertBefore(n,t,r){return super.insertBefore(this.nodeOrShadowRoot(n),t,r)}removeChild(n,t){return super.removeChild(this.nodeOrShadowRoot(n),t)}parentNode(n){return this.nodeOrShadowRoot(super.parentNode(this.nodeOrShadowRoot(n)))}destroy(){this.sharedStylesHost.removeHost(this.shadowRoot)}}class Cp extends _p{constructor(n,t,r,o,i,s,a,l){super(n,i,s,a),this.sharedStylesHost=t,this.removeStylesOnCompDestroy=o,this.styles=l?IE(l,r.styles):r.styles}applyStyles(){this.sharedStylesHost.addStyles(this.styles)}destroy(){this.removeStylesOnCompDestroy&&this.sharedStylesHost.removeStyles(this.styles)}}class TE extends Cp{constructor(n,t,r,o,i,s,a,l){const c=o+"-"+r.id;super(n,t,r,i,s,a,l,c),this.contentAttr=function n3(e){return"_ngcontent-%COMP%".replace(yp,e)}(c),this.hostAttr=function r3(e){return"_nghost-%COMP%".replace(yp,e)}(c)}applyToHost(n){this.applyStyles(),this.setAttribute(n,this.hostAttr,"")}createElement(n,t){const r=super.createElement(n,t);return super.setAttribute(r,this.contentAttr,""),r}}let s3=(()=>{class e extends wE{constructor(t){super(t)}supports(t){return!0}addEventListener(t,r,o){return t.addEventListener(r,o,!1),()=>this.removeEventListener(t,r,o)}removeEventListener(t,r,o){return t.removeEventListener(r,o)}static#e=this.\u0275fac=function(r){return new(r||e)(P(Tt))};static#t=this.\u0275prov=R({token:e,factory:e.\u0275fac})}return e})();const AE=["alt","control","meta","shift"],a3={"\b":"Backspace","\t":"Tab","\x7f":"Delete","\x1b":"Escape",Del:"Delete",Esc:"Escape",Left:"ArrowLeft",Right:"ArrowRight",Up:"ArrowUp",Down:"ArrowDown",Menu:"ContextMenu",Scroll:"ScrollLock",Win:"OS"},l3={alt:e=>e.altKey,control:e=>e.ctrlKey,meta:e=>e.metaKey,shift:e=>e.shiftKey};let c3=(()=>{class e extends wE{constructor(t){super(t)}supports(t){return null!=e.parseEventName(t)}addEventListener(t,r,o){const i=e.parseEventName(r),s=e.eventCallback(i.fullKey,o,this.manager.getZone());return this.manager.getZone().runOutsideAngular(()=>pr().onAndCancel(t,i.domEventName,s))}static parseEventName(t){const r=t.toLowerCase().split("."),o=r.shift();if(0===r.length||"keydown"!==o&&"keyup"!==o)return null;const i=e._normalizeKey(r.pop());let s="",a=r.indexOf("code");if(a>-1&&(r.splice(a,1),s="code."),AE.forEach(c=>{const u=r.indexOf(c);u>-1&&(r.splice(u,1),s+=c+".")}),s+=i,0!=r.length||0===i.length)return null;const l={};return l.domEventName=o,l.fullKey=s,l}static matchEventFullKeyCode(t,r){let o=a3[t.key]||t.key,i="";return r.indexOf("code.")>-1&&(o=t.code,i="code."),!(null==o||!o)&&(o=o.toLowerCase()," "===o?o="space":"."===o&&(o="dot"),AE.forEach(s=>{s!==o&&(0,l3[s])(t)&&(i+=s+".")}),i+=o,i===r)}static eventCallback(t,r,o){return i=>{e.matchEventFullKeyCode(i,t)&&o.runGuarded(()=>r(i))}}static _normalizeKey(t){return"esc"===t?"escape":t}static#e=this.\u0275fac=function(r){return new(r||e)(P(Tt))};static#t=this.\u0275prov=R({token:e,factory:e.\u0275fac})}return e})();function NE(e){return{appProviders:[...RE,...e?.providers??[]],platformProviders:p3}}const p3=[{provide:rr,useValue:jb},{provide:Pm,useValue:function d3(){pp.makeCurrent()},multi:!0},{provide:Tt,useFactory:function h3(){return function O1(e){ed=e}(document),document},deps:[]}],g3=new N(""),xE=[{provide:rc,useClass:class YV{addToWindow(n){ce.getAngularTestability=(r,o=!0)=>{const i=n.findTestabilityInTree(r,o);if(null==i)throw new I(5103,!1);return i},ce.getAllAngularTestabilities=()=>n.getAllTestabilities(),ce.getAllAngularRootElements=()=>n.getAllRootElements(),ce.frameworkStabilizers||(ce.frameworkStabilizers=[]),ce.frameworkStabilizers.push(r=>{const o=ce.getAllAngularTestabilities();let i=o.length;const s=function(){i--,0==i&&r()};o.forEach(a=>{a.whenStable(s)})})}findTestabilityInTree(n,t,r){return null==t?null:n.getTestability(t)??(r?pr().isShadowRoot(t)?this.findTestabilityInTree(n,t.host,!0):this.findTestabilityInTree(n,t.parentElement,!0):null)}},deps:[]},{provide:kw,useClass:Mh,deps:[se,Sh,rc]},{provide:Mh,useClass:Mh,deps:[se,Sh,rc]}],RE=[{provide:Md,useValue:"root"},{provide:Vn,useFactory:function f3(){return new Vn},deps:[]},{provide:gp,useClass:s3,multi:!0,deps:[Tt,se,rr]},{provide:gp,useClass:c3,multi:!0,deps:[Tt]},ME,bE,DE,{provide:Zy,useExisting:ME},{provide:Bb,useClass:XV,deps:[]},[]];let m3=(()=>{class e{constructor(t){}static withServerTransition(t){return{ngModule:e,providers:[{provide:Va,useValue:t.appId}]}}static#e=this.\u0275fac=function(r){return new(r||e)(P(g3,12))};static#t=this.\u0275mod=Jn({type:e});static#n=this.\u0275inj=Ln({providers:[...RE,...xE],imports:[dL,mF]})}return e})(),v3=(()=>{class e{constructor(t){this._doc=t}getTitle(){return this._doc.title}setTitle(t){this._doc.title=t||""}static#e=this.\u0275fac=function(r){return new(r||e)(P(Tt))};static#t=this.\u0275prov=R({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();const Q="primary",Qs=Symbol("RouteTitle");class D3{constructor(n){this.params=n||{}}has(n){return Object.prototype.hasOwnProperty.call(this.params,n)}get(n){if(this.has(n)){const t=this.params[n];return Array.isArray(t)?t[0]:t}return null}getAll(n){if(this.has(n)){const t=this.params[n];return Array.isArray(t)?t:[t]}return[]}get keys(){return Object.keys(this.params)}}function ci(e){return new D3(e)}function w3(e,n,t){const r=t.path.split("/");if(r.length>e.length||"full"===t.pathMatch&&(n.hasChildren()||r.lengthr[i]===o)}return e===n}function LE(e){return e.length>0?e[e.length-1]:null}function mr(e){return function WL(e){return!!e&&(e instanceof Be||Ee(e.lift)&&Ee(e.subscribe))}(e)?e:Vs(e)?Je(Promise.resolve(e)):B(e)}const E3={exact:function UE(e,n,t){if(!Zr(e.segments,n.segments)||!xc(e.segments,n.segments,t)||e.numberOfChildren!==n.numberOfChildren)return!1;for(const r in n.children)if(!e.children[r]||!UE(e.children[r],n.children[r],t))return!1;return!0},subset:BE},VE={exact:function I3(e,n){return bn(e,n)},subset:function M3(e,n){return Object.keys(n).length<=Object.keys(e).length&&Object.keys(n).every(t=>FE(e[t],n[t]))},ignored:()=>!0};function jE(e,n,t){return E3[t.paths](e.root,n.root,t.matrixParams)&&VE[t.queryParams](e.queryParams,n.queryParams)&&!("exact"===t.fragment&&e.fragment!==n.fragment)}function BE(e,n,t){return HE(e,n,n.segments,t)}function HE(e,n,t,r){if(e.segments.length>t.length){const o=e.segments.slice(0,t.length);return!(!Zr(o,t)||n.hasChildren()||!xc(o,t,r))}if(e.segments.length===t.length){if(!Zr(e.segments,t)||!xc(e.segments,t,r))return!1;for(const o in n.children)if(!e.children[o]||!BE(e.children[o],n.children[o],r))return!1;return!0}{const o=t.slice(0,e.segments.length),i=t.slice(e.segments.length);return!!(Zr(e.segments,o)&&xc(e.segments,o,r)&&e.children[Q])&&HE(e.children[Q],n,i,r)}}function xc(e,n,t){return n.every((r,o)=>VE[t](e[o].parameters,r.parameters))}class ui{constructor(n=new ge([],{}),t={},r=null){this.root=n,this.queryParams=t,this.fragment=r}get queryParamMap(){return this._queryParamMap??=ci(this.queryParams),this._queryParamMap}toString(){return A3.serialize(this)}}class ge{constructor(n,t){this.segments=n,this.children=t,this.parent=null,Object.values(t).forEach(r=>r.parent=this)}hasChildren(){return this.numberOfChildren>0}get numberOfChildren(){return Object.keys(this.children).length}toString(){return Rc(this)}}class Ys{constructor(n,t){this.path=n,this.parameters=t}get parameterMap(){return this._parameterMap??=ci(this.parameters),this._parameterMap}toString(){return zE(this)}}function Zr(e,n){return e.length===n.length&&e.every((t,r)=>t.path===n[r].path)}let di=(()=>{class e{static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=R({token:e,factory:()=>new wp,providedIn:"root"})}return e})();class wp{parse(n){const t=new U3(n);return new ui(t.parseRootSegment(),t.parseQueryParams(),t.parseFragment())}serialize(n){const t=`/${Xs(n.root,!0)}`,r=function R3(e){const n=Object.entries(e).map(([t,r])=>Array.isArray(r)?r.map(o=>`${Oc(t)}=${Oc(o)}`).join("&"):`${Oc(t)}=${Oc(r)}`).filter(t=>t);return n.length?`?${n.join("&")}`:""}(n.queryParams);return`${t}${r}${"string"==typeof n.fragment?`#${function N3(e){return encodeURI(e)}(n.fragment)}`:""}`}}const A3=new wp;function Rc(e){return e.segments.map(n=>zE(n)).join("/")}function Xs(e,n){if(!e.hasChildren())return Rc(e);if(n){const t=e.children[Q]?Xs(e.children[Q],!1):"",r=[];return Object.entries(e.children).forEach(([o,i])=>{o!==Q&&r.push(`${o}:${Xs(i,!1)}`)}),r.length>0?`${t}(${r.join("//")})`:t}{const t=function T3(e,n){let t=[];return Object.entries(e.children).forEach(([r,o])=>{r===Q&&(t=t.concat(n(o,r)))}),Object.entries(e.children).forEach(([r,o])=>{r!==Q&&(t=t.concat(n(o,r)))}),t}(e,(r,o)=>o===Q?[Xs(e.children[Q],!1)]:[`${o}:${Xs(r,!1)}`]);return 1===Object.keys(e.children).length&&null!=e.children[Q]?`${Rc(e)}/${t[0]}`:`${Rc(e)}/(${t.join("//")})`}}function $E(e){return encodeURIComponent(e).replace(/%40/g,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",")}function Oc(e){return $E(e).replace(/%3B/gi,";")}function bp(e){return $E(e).replace(/\(/g,"%28").replace(/\)/g,"%29").replace(/%26/gi,"&")}function Pc(e){return decodeURIComponent(e)}function GE(e){return Pc(e.replace(/\+/g,"%20"))}function zE(e){return`${bp(e.path)}${function x3(e){return Object.entries(e).map(([n,t])=>`;${bp(n)}=${bp(t)}`).join("")}(e.parameters)}`}const O3=/^[^\/()?;#]+/;function Ep(e){const n=e.match(O3);return n?n[0]:""}const P3=/^[^\/()?;=#]+/,F3=/^[^=?&#]+/,V3=/^[^&#]+/;class U3{constructor(n){this.url=n,this.remaining=n}parseRootSegment(){return this.consumeOptional("/"),""===this.remaining||this.peekStartsWith("?")||this.peekStartsWith("#")?new ge([],{}):new ge([],this.parseChildren())}parseQueryParams(){const n={};if(this.consumeOptional("?"))do{this.parseQueryParam(n)}while(this.consumeOptional("&"));return n}parseFragment(){return this.consumeOptional("#")?decodeURIComponent(this.remaining):null}parseChildren(){if(""===this.remaining)return{};this.consumeOptional("/");const n=[];for(this.peekStartsWith("(")||n.push(this.parseSegment());this.peekStartsWith("/")&&!this.peekStartsWith("//")&&!this.peekStartsWith("/(");)this.capture("/"),n.push(this.parseSegment());let t={};this.peekStartsWith("/(")&&(this.capture("/"),t=this.parseParens(!0));let r={};return this.peekStartsWith("(")&&(r=this.parseParens(!1)),(n.length>0||Object.keys(t).length>0)&&(r[Q]=new ge(n,t)),r}parseSegment(){const n=Ep(this.remaining);if(""===n&&this.peekStartsWith(";"))throw new I(4009,!1);return this.capture(n),new Ys(Pc(n),this.parseMatrixParams())}parseMatrixParams(){const n={};for(;this.consumeOptional(";");)this.parseParam(n);return n}parseParam(n){const t=function k3(e){const n=e.match(P3);return n?n[0]:""}(this.remaining);if(!t)return;this.capture(t);let r="";if(this.consumeOptional("=")){const o=Ep(this.remaining);o&&(r=o,this.capture(r))}n[Pc(t)]=Pc(r)}parseQueryParam(n){const t=function L3(e){const n=e.match(F3);return n?n[0]:""}(this.remaining);if(!t)return;this.capture(t);let r="";if(this.consumeOptional("=")){const s=function j3(e){const n=e.match(V3);return n?n[0]:""}(this.remaining);s&&(r=s,this.capture(r))}const o=GE(t),i=GE(r);if(n.hasOwnProperty(o)){let s=n[o];Array.isArray(s)||(s=[s],n[o]=s),s.push(i)}else n[o]=i}parseParens(n){const t={};for(this.capture("(");!this.consumeOptional(")")&&this.remaining.length>0;){const r=Ep(this.remaining),o=this.remaining[r.length];if("/"!==o&&")"!==o&&";"!==o)throw new I(4010,!1);let i;r.indexOf(":")>-1?(i=r.slice(0,r.indexOf(":")),this.capture(i),this.capture(":")):n&&(i=Q);const s=this.parseChildren();t[i]=1===Object.keys(s).length?s[Q]:new ge([],s),this.consumeOptional("//")}return t}peekStartsWith(n){return this.remaining.startsWith(n)}consumeOptional(n){return!!this.peekStartsWith(n)&&(this.remaining=this.remaining.substring(n.length),!0)}capture(n){if(!this.consumeOptional(n))throw new I(4011,!1)}}function qE(e){return e.segments.length>0?new ge([],{[Q]:e}):e}function WE(e){const n={};for(const[r,o]of Object.entries(e.children)){const i=WE(o);if(r===Q&&0===i.segments.length&&i.hasChildren())for(const[s,a]of Object.entries(i.children))n[s]=a;else(i.segments.length>0||i.hasChildren())&&(n[r]=i)}return function B3(e){if(1===e.numberOfChildren&&e.children[Q]){const n=e.children[Q];return new ge(e.segments.concat(n.segments),n.children)}return e}(new ge(e.segments,n))}function fi(e){return e instanceof ui}function ZE(e){let n;const o=qE(function t(i){const s={};for(const l of i.children){const c=t(l);s[l.outlet]=c}const a=new ge(i.url,s);return i===e&&(n=a),a}(e.root));return n??o}function QE(e,n,t,r){let o=e;for(;o.parent;)o=o.parent;if(0===n.length)return Ip(o,o,o,t,r);const i=function $3(e){if("string"==typeof e[0]&&1===e.length&&"/"===e[0])return new XE(!0,0,e);let n=0,t=!1;const r=e.reduce((o,i,s)=>{if("object"==typeof i&&null!=i){if(i.outlets){const a={};return Object.entries(i.outlets).forEach(([l,c])=>{a[l]="string"==typeof c?c.split("/"):c}),[...o,{outlets:a}]}if(i.segmentPath)return[...o,i.segmentPath]}return"string"!=typeof i?[...o,i]:0===s?(i.split("/").forEach((a,l)=>{0==l&&"."===a||(0==l&&""===a?t=!0:".."===a?n++:""!=a&&o.push(a))}),o):[...o,i]},[]);return new XE(t,n,r)}(n);if(i.toRoot())return Ip(o,o,new ge([],{}),t,r);const s=function G3(e,n,t){if(e.isAbsolute)return new Fc(n,!0,0);if(!t)return new Fc(n,!1,NaN);if(null===t.parent)return new Fc(t,!0,0);const r=kc(e.commands[0])?0:1;return function z3(e,n,t){let r=e,o=n,i=t;for(;i>o;){if(i-=o,r=r.parent,!r)throw new I(4005,!1);o=r.segments.length}return new Fc(r,!1,o-i)}(t,t.segments.length-1+r,e.numberOfDoubleDots)}(i,o,e),a=s.processChildren?Ks(s.segmentGroup,s.index,i.commands):JE(s.segmentGroup,s.index,i.commands);return Ip(o,s.segmentGroup,a,t,r)}function kc(e){return"object"==typeof e&&null!=e&&!e.outlets&&!e.segmentPath}function Js(e){return"object"==typeof e&&null!=e&&e.outlets}function Ip(e,n,t,r,o){let s,i={};r&&Object.entries(r).forEach(([l,c])=>{i[l]=Array.isArray(c)?c.map(u=>`${u}`):`${c}`}),s=e===n?t:YE(e,n,t);const a=qE(WE(s));return new ui(a,i,o)}function YE(e,n,t){const r={};return Object.entries(e.children).forEach(([o,i])=>{r[o]=i===n?t:YE(i,n,t)}),new ge(e.segments,r)}class XE{constructor(n,t,r){if(this.isAbsolute=n,this.numberOfDoubleDots=t,this.commands=r,n&&r.length>0&&kc(r[0]))throw new I(4003,!1);const o=r.find(Js);if(o&&o!==LE(r))throw new I(4004,!1)}toRoot(){return this.isAbsolute&&1===this.commands.length&&"/"==this.commands[0]}}class Fc{constructor(n,t,r){this.segmentGroup=n,this.processChildren=t,this.index=r}}function JE(e,n,t){if(e??=new ge([],{}),0===e.segments.length&&e.hasChildren())return Ks(e,n,t);const r=function W3(e,n,t){let r=0,o=n;const i={match:!1,pathIndex:0,commandIndex:0};for(;o=t.length)return i;const s=e.segments[o],a=t[r];if(Js(a))break;const l=`${a}`,c=r0&&void 0===l)break;if(l&&c&&"object"==typeof c&&void 0===c.outlets){if(!eI(l,c,s))return i;r+=2}else{if(!eI(l,{},s))return i;r++}o++}return{match:!0,pathIndex:o,commandIndex:r}}(e,n,t),o=t.slice(r.commandIndex);if(r.match&&r.pathIndexi!==Q)&&e.children[Q]&&1===e.numberOfChildren&&0===e.children[Q].segments.length){const i=Ks(e.children[Q],n,t);return new ge(e.segments,i.children)}return Object.entries(r).forEach(([i,s])=>{"string"==typeof s&&(s=[s]),null!==s&&(o[i]=JE(e.children[i],n,s))}),Object.entries(e.children).forEach(([i,s])=>{void 0===r[i]&&(o[i]=s)}),new ge(e.segments,o)}}function Mp(e,n,t){const r=e.segments.slice(0,n);let o=0;for(;o{"string"==typeof r&&(r=[r]),null!==r&&(n[t]=Mp(new ge([],{}),0,r))}),n}function KE(e){const n={};return Object.entries(e).forEach(([t,r])=>n[t]=`${r}`),n}function eI(e,n,t){return e==t.path&&bn(n,t.parameters)}const ea="imperative";var ee=function(e){return e[e.NavigationStart=0]="NavigationStart",e[e.NavigationEnd=1]="NavigationEnd",e[e.NavigationCancel=2]="NavigationCancel",e[e.NavigationError=3]="NavigationError",e[e.RoutesRecognized=4]="RoutesRecognized",e[e.ResolveStart=5]="ResolveStart",e[e.ResolveEnd=6]="ResolveEnd",e[e.GuardsCheckStart=7]="GuardsCheckStart",e[e.GuardsCheckEnd=8]="GuardsCheckEnd",e[e.RouteConfigLoadStart=9]="RouteConfigLoadStart",e[e.RouteConfigLoadEnd=10]="RouteConfigLoadEnd",e[e.ChildActivationStart=11]="ChildActivationStart",e[e.ChildActivationEnd=12]="ChildActivationEnd",e[e.ActivationStart=13]="ActivationStart",e[e.ActivationEnd=14]="ActivationEnd",e[e.Scroll=15]="Scroll",e[e.NavigationSkipped=16]="NavigationSkipped",e}(ee||{});class En{constructor(n,t){this.id=n,this.url=t}}class Lc extends En{constructor(n,t,r="imperative",o=null){super(n,t),this.type=ee.NavigationStart,this.navigationTrigger=r,this.restoredState=o}toString(){return`NavigationStart(id: ${this.id}, url: '${this.url}')`}}class In extends En{constructor(n,t,r){super(n,t),this.urlAfterRedirects=r,this.type=ee.NavigationEnd}toString(){return`NavigationEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}')`}}var zt=function(e){return e[e.Redirect=0]="Redirect",e[e.SupersededByNewNavigation=1]="SupersededByNewNavigation",e[e.NoDataFromResolver=2]="NoDataFromResolver",e[e.GuardRejected=3]="GuardRejected",e}(zt||{}),Vc=function(e){return e[e.IgnoredSameUrlNavigation=0]="IgnoredSameUrlNavigation",e[e.IgnoredByUrlHandlingStrategy=1]="IgnoredByUrlHandlingStrategy",e}(Vc||{});class hi extends En{constructor(n,t,r,o){super(n,t),this.reason=r,this.code=o,this.type=ee.NavigationCancel}toString(){return`NavigationCancel(id: ${this.id}, url: '${this.url}')`}}class pi extends En{constructor(n,t,r,o){super(n,t),this.reason=r,this.code=o,this.type=ee.NavigationSkipped}}class jc extends En{constructor(n,t,r,o){super(n,t),this.error=r,this.target=o,this.type=ee.NavigationError}toString(){return`NavigationError(id: ${this.id}, url: '${this.url}', error: ${this.error})`}}class tI extends En{constructor(n,t,r,o){super(n,t),this.urlAfterRedirects=r,this.state=o,this.type=ee.RoutesRecognized}toString(){return`RoutesRecognized(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class Q3 extends En{constructor(n,t,r,o){super(n,t),this.urlAfterRedirects=r,this.state=o,this.type=ee.GuardsCheckStart}toString(){return`GuardsCheckStart(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class Y3 extends En{constructor(n,t,r,o,i){super(n,t),this.urlAfterRedirects=r,this.state=o,this.shouldActivate=i,this.type=ee.GuardsCheckEnd}toString(){return`GuardsCheckEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state}, shouldActivate: ${this.shouldActivate})`}}class X3 extends En{constructor(n,t,r,o){super(n,t),this.urlAfterRedirects=r,this.state=o,this.type=ee.ResolveStart}toString(){return`ResolveStart(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class J3 extends En{constructor(n,t,r,o){super(n,t),this.urlAfterRedirects=r,this.state=o,this.type=ee.ResolveEnd}toString(){return`ResolveEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class K3{constructor(n){this.route=n,this.type=ee.RouteConfigLoadStart}toString(){return`RouteConfigLoadStart(path: ${this.route.path})`}}class ej{constructor(n){this.route=n,this.type=ee.RouteConfigLoadEnd}toString(){return`RouteConfigLoadEnd(path: ${this.route.path})`}}class tj{constructor(n){this.snapshot=n,this.type=ee.ChildActivationStart}toString(){return`ChildActivationStart(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class nj{constructor(n){this.snapshot=n,this.type=ee.ChildActivationEnd}toString(){return`ChildActivationEnd(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class rj{constructor(n){this.snapshot=n,this.type=ee.ActivationStart}toString(){return`ActivationStart(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class oj{constructor(n){this.snapshot=n,this.type=ee.ActivationEnd}toString(){return`ActivationEnd(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class nI{constructor(n,t,r){this.routerEvent=n,this.position=t,this.anchor=r,this.type=ee.Scroll}toString(){return`Scroll(anchor: '${this.anchor}', position: '${this.position?`${this.position[0]}, ${this.position[1]}`:null}')`}}class Sp{}class Tp{constructor(n){this.url=n}}class ij{constructor(){this.outlet=null,this.route=null,this.injector=null,this.children=new ta,this.attachRef=null}}let ta=(()=>{class e{constructor(){this.contexts=new Map}onChildOutletCreated(t,r){const o=this.getOrCreateContext(t);o.outlet=r,this.contexts.set(t,o)}onChildOutletDestroyed(t){const r=this.getContext(t);r&&(r.outlet=null,r.attachRef=null)}onOutletDeactivated(){const t=this.contexts;return this.contexts=new Map,t}onOutletReAttached(t){this.contexts=t}getOrCreateContext(t){let r=this.getContext(t);return r||(r=new ij,this.contexts.set(t,r)),r}getContext(t){return this.contexts.get(t)||null}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=R({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();class rI{constructor(n){this._root=n}get root(){return this._root.value}parent(n){const t=this.pathFromRoot(n);return t.length>1?t[t.length-2]:null}children(n){const t=Ap(n,this._root);return t?t.children.map(r=>r.value):[]}firstChild(n){const t=Ap(n,this._root);return t&&t.children.length>0?t.children[0].value:null}siblings(n){const t=Np(n,this._root);return t.length<2?[]:t[t.length-2].children.map(o=>o.value).filter(o=>o!==n)}pathFromRoot(n){return Np(n,this._root).map(t=>t.value)}}function Ap(e,n){if(e===n.value)return n;for(const t of n.children){const r=Ap(e,t);if(r)return r}return null}function Np(e,n){if(e===n.value)return[n];for(const t of n.children){const r=Np(e,t);if(r.length)return r.unshift(n),r}return[]}class un{constructor(n,t){this.value=n,this.children=t}toString(){return`TreeNode(${this.value})`}}function gi(e){const n={};return e&&e.children.forEach(t=>n[t.value.outlet]=t),n}class oI extends rI{constructor(n,t){super(n),this.snapshot=t,Op(this,n)}toString(){return this.snapshot.toString()}}function iI(e){const n=function sj(e){const i=new Rp([],{},{},"",{},Q,e,null,{});return new sI("",new un(i,[]))}(e),t=new jt([new Ys("",{})]),r=new jt({}),o=new jt({}),i=new jt({}),s=new jt(""),a=new Qr(t,r,i,s,o,Q,e,n.root);return a.snapshot=n.root,new oI(new un(a,[]),n)}class Qr{constructor(n,t,r,o,i,s,a,l){this.urlSubject=n,this.paramsSubject=t,this.queryParamsSubject=r,this.fragmentSubject=o,this.dataSubject=i,this.outlet=s,this.component=a,this._futureSnapshot=l,this.title=this.dataSubject?.pipe(K(c=>c[Qs]))??B(void 0),this.url=n,this.params=t,this.queryParams=r,this.fragment=o,this.data=i}get routeConfig(){return this._futureSnapshot.routeConfig}get root(){return this._routerState.root}get parent(){return this._routerState.parent(this)}get firstChild(){return this._routerState.firstChild(this)}get children(){return this._routerState.children(this)}get pathFromRoot(){return this._routerState.pathFromRoot(this)}get paramMap(){return this._paramMap??=this.params.pipe(K(n=>ci(n))),this._paramMap}get queryParamMap(){return this._queryParamMap??=this.queryParams.pipe(K(n=>ci(n))),this._queryParamMap}toString(){return this.snapshot?this.snapshot.toString():`Future(${this._futureSnapshot})`}}function xp(e,n,t="emptyOnly"){let r;const{routeConfig:o}=e;return r=null===n||"always"!==t&&""!==o?.path&&(n.component||n.routeConfig?.loadComponent)?{params:{...e.params},data:{...e.data},resolve:{...e.data,...e._resolvedData??{}}}:{params:{...n.params,...e.params},data:{...n.data,...e.data},resolve:{...e.data,...n.data,...o?.data,...e._resolvedData}},o&&lI(o)&&(r.resolve[Qs]=o.title),r}class Rp{get title(){return this.data?.[Qs]}constructor(n,t,r,o,i,s,a,l,c){this.url=n,this.params=t,this.queryParams=r,this.fragment=o,this.data=i,this.outlet=s,this.component=a,this.routeConfig=l,this._resolve=c}get root(){return this._routerState.root}get parent(){return this._routerState.parent(this)}get firstChild(){return this._routerState.firstChild(this)}get children(){return this._routerState.children(this)}get pathFromRoot(){return this._routerState.pathFromRoot(this)}get paramMap(){return this._paramMap??=ci(this.params),this._paramMap}get queryParamMap(){return this._queryParamMap??=ci(this.queryParams),this._queryParamMap}toString(){return`Route(url:'${this.url.map(r=>r.toString()).join("/")}', path:'${this.routeConfig?this.routeConfig.path:""}')`}}class sI extends rI{constructor(n,t){super(t),this.url=n,Op(this,t)}toString(){return aI(this._root)}}function Op(e,n){n.value._routerState=e,n.children.forEach(t=>Op(e,t))}function aI(e){const n=e.children.length>0?` { ${e.children.map(aI).join(", ")} } `:"";return`${e.value}${n}`}function Pp(e){if(e.snapshot){const n=e.snapshot,t=e._futureSnapshot;e.snapshot=t,bn(n.queryParams,t.queryParams)||e.queryParamsSubject.next(t.queryParams),n.fragment!==t.fragment&&e.fragmentSubject.next(t.fragment),bn(n.params,t.params)||e.paramsSubject.next(t.params),function b3(e,n){if(e.length!==n.length)return!1;for(let t=0;tbn(t.parameters,n[r].parameters))}(e.url,n.url);return t&&!(!e.parent!=!n.parent)&&(!e.parent||kp(e.parent,n.parent))}function lI(e){return"string"==typeof e.title||null===e.title}let Fp=(()=>{class e{constructor(){this.activated=null,this._activatedRoute=null,this.name=Q,this.activateEvents=new Ae,this.deactivateEvents=new Ae,this.attachEvents=new Ae,this.detachEvents=new Ae,this.parentContexts=T(ta),this.location=T(tn),this.changeDetector=T(ms),this.environmentInjector=T(kt),this.inputBinder=T(Uc,{optional:!0}),this.supportsBindingToComponentInputs=!0}get activatedComponentRef(){return this.activated}ngOnChanges(t){if(t.name){const{firstChange:r,previousValue:o}=t.name;if(r)return;this.isTrackedInParentContexts(o)&&(this.deactivate(),this.parentContexts.onChildOutletDestroyed(o)),this.initializeOutletWithName()}}ngOnDestroy(){this.isTrackedInParentContexts(this.name)&&this.parentContexts.onChildOutletDestroyed(this.name),this.inputBinder?.unsubscribeFromRouteData(this)}isTrackedInParentContexts(t){return this.parentContexts.getContext(t)?.outlet===this}ngOnInit(){this.initializeOutletWithName()}initializeOutletWithName(){if(this.parentContexts.onChildOutletCreated(this.name,this),this.activated)return;const t=this.parentContexts.getContext(this.name);t?.route&&(t.attachRef?this.attach(t.attachRef,t.route):this.activateWith(t.route,t.injector))}get isActivated(){return!!this.activated}get component(){if(!this.activated)throw new I(4012,!1);return this.activated.instance}get activatedRoute(){if(!this.activated)throw new I(4012,!1);return this._activatedRoute}get activatedRouteData(){return this._activatedRoute?this._activatedRoute.snapshot.data:{}}detach(){if(!this.activated)throw new I(4012,!1);this.location.detach();const t=this.activated;return this.activated=null,this._activatedRoute=null,this.detachEvents.emit(t.instance),t}attach(t,r){this.activated=t,this._activatedRoute=r,this.location.insert(t.hostView),this.inputBinder?.bindActivatedRouteToOutletComponent(this),this.attachEvents.emit(t.instance)}deactivate(){if(this.activated){const t=this.component;this.activated.destroy(),this.activated=null,this._activatedRoute=null,this.deactivateEvents.emit(t)}}activateWith(t,r){if(this.isActivated)throw new I(4013,!1);this._activatedRoute=t;const o=this.location,s=t.snapshot.component,a=this.parentContexts.getOrCreateContext(this.name).children,l=new aj(t,a,o.injector);this.activated=o.createComponent(s,{index:o.length,injector:l,environmentInjector:r??this.environmentInjector}),this.changeDetector.markForCheck(),this.inputBinder?.bindActivatedRouteToOutletComponent(this),this.activateEvents.emit(this.activated.instance)}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275dir=H({type:e,selectors:[["router-outlet"]],inputs:{name:"name"},outputs:{activateEvents:"activate",deactivateEvents:"deactivate",attachEvents:"attach",detachEvents:"detach"},exportAs:["outlet"],standalone:!0,features:[Ut]})}return e})();class aj{constructor(n,t,r){this.route=n,this.childContexts=t,this.parent=r}get(n,t){return n===Qr?this.route:n===ta?this.childContexts:this.parent.get(n,t)}}const Uc=new N("");let cI=(()=>{class e{constructor(){this.outletDataSubscriptions=new Map}bindActivatedRouteToOutletComponent(t){this.unsubscribeFromRouteData(t),this.subscribeToRouteData(t)}unsubscribeFromRouteData(t){this.outletDataSubscriptions.get(t)?.unsubscribe(),this.outletDataSubscriptions.delete(t)}subscribeToRouteData(t){const{activatedRoute:r}=t,o=up([r.queryParams,r.params,r.data]).pipe(ln(([i,s,a],l)=>(a={...i,...s,...a},0===l?B(a):Promise.resolve(a)))).subscribe(i=>{if(!t.isActivated||!t.activatedComponentRef||t.activatedRoute!==r||null===r.component)return void this.unsubscribeFromRouteData(t);const s=function zF(e){const n=Y(e);if(!n)return null;const t=new Cs(n);return{get selector(){return t.selector},get type(){return t.componentType},get inputs(){return t.inputs},get outputs(){return t.outputs},get ngContentSelectors(){return t.ngContentSelectors},get isStandalone(){return n.standalone},get isSignal(){return n.signals}}}(r.component);if(s)for(const{templateName:a}of s.inputs)t.activatedComponentRef.setInput(a,i[a]);else this.unsubscribeFromRouteData(t)});this.outletDataSubscriptions.set(t,o)}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=R({token:e,factory:e.\u0275fac})}return e})();function na(e,n,t){if(t&&e.shouldReuseRoute(n.value,t.value.snapshot)){const r=t.value;r._futureSnapshot=n.value;const o=function cj(e,n,t){return n.children.map(r=>{for(const o of t.children)if(e.shouldReuseRoute(r.value,o.value.snapshot))return na(e,r,o);return na(e,r)})}(e,n,t);return new un(r,o)}{if(e.shouldAttach(n.value)){const i=e.retrieve(n.value);if(null!==i){const s=i.route;return s.value._futureSnapshot=n.value,s.children=n.children.map(a=>na(e,a)),s}}const r=function uj(e){return new Qr(new jt(e.url),new jt(e.params),new jt(e.queryParams),new jt(e.fragment),new jt(e.data),e.outlet,e.component,e)}(n.value),o=n.children.map(i=>na(e,i));return new un(r,o)}}const uI="ngNavigationCancelingError";function dI(e,n){const{redirectTo:t,navigationBehaviorOptions:r}=fi(n)?{redirectTo:n,navigationBehaviorOptions:void 0}:n,o=fI(!1,zt.Redirect);return o.url=t,o.navigationBehaviorOptions=r,o}function fI(e,n){const t=new Error(`NavigationCancelingError: ${e||""}`);return t[uI]=!0,t.cancellationCode=n,t}function hI(e){return!!e&&e[uI]}let pI=(()=>{class e{static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275cmp=xt({type:e,selectors:[["ng-component"]],standalone:!0,features:[Lt],decls:1,vars:0,template:function(r,o){1&r&&y(0,"router-outlet")},dependencies:[Fp],encapsulation:2})}return e})();function Lp(e){const n=e.children&&e.children.map(Lp),t=n?{...e,children:n}:{...e};return!t.component&&!t.loadComponent&&(n||t.loadChildren)&&t.outlet&&t.outlet!==Q&&(t.component=pI),t}function Mn(e){return e.outlet||Q}function ra(e){if(!e)return null;if(e.routeConfig?._injector)return e.routeConfig._injector;for(let n=e.parent;n;n=n.parent){const t=n.routeConfig;if(t?._loadedInjector)return t._loadedInjector;if(t?._injector)return t._injector}return null}class yj{constructor(n,t,r,o,i){this.routeReuseStrategy=n,this.futureState=t,this.currState=r,this.forwardEvent=o,this.inputBindingEnabled=i}activate(n){const t=this.futureState._root,r=this.currState?this.currState._root:null;this.deactivateChildRoutes(t,r,n),Pp(this.futureState.root),this.activateChildRoutes(t,r,n)}deactivateChildRoutes(n,t,r){const o=gi(t);n.children.forEach(i=>{const s=i.value.outlet;this.deactivateRoutes(i,o[s],r),delete o[s]}),Object.values(o).forEach(i=>{this.deactivateRouteAndItsChildren(i,r)})}deactivateRoutes(n,t,r){const o=n.value,i=t?t.value:null;if(o===i)if(o.component){const s=r.getContext(o.outlet);s&&this.deactivateChildRoutes(n,t,s.children)}else this.deactivateChildRoutes(n,t,r);else i&&this.deactivateRouteAndItsChildren(t,r)}deactivateRouteAndItsChildren(n,t){n.value.component&&this.routeReuseStrategy.shouldDetach(n.value.snapshot)?this.detachAndStoreRouteSubtree(n,t):this.deactivateRouteAndOutlet(n,t)}detachAndStoreRouteSubtree(n,t){const r=t.getContext(n.value.outlet),o=r&&n.value.component?r.children:t,i=gi(n);for(const s of Object.values(i))this.deactivateRouteAndItsChildren(s,o);if(r&&r.outlet){const s=r.outlet.detach(),a=r.children.onOutletDeactivated();this.routeReuseStrategy.store(n.value.snapshot,{componentRef:s,route:n,contexts:a})}}deactivateRouteAndOutlet(n,t){const r=t.getContext(n.value.outlet),o=r&&n.value.component?r.children:t,i=gi(n);for(const s of Object.values(i))this.deactivateRouteAndItsChildren(s,o);r&&(r.outlet&&(r.outlet.deactivate(),r.children.onOutletDeactivated()),r.attachRef=null,r.route=null)}activateChildRoutes(n,t,r){const o=gi(t);n.children.forEach(i=>{this.activateRoutes(i,o[i.value.outlet],r),this.forwardEvent(new oj(i.value.snapshot))}),n.children.length&&this.forwardEvent(new nj(n.value.snapshot))}activateRoutes(n,t,r){const o=n.value,i=t?t.value:null;if(Pp(o),o===i)if(o.component){const s=r.getOrCreateContext(o.outlet);this.activateChildRoutes(n,t,s.children)}else this.activateChildRoutes(n,t,r);else if(o.component){const s=r.getOrCreateContext(o.outlet);if(this.routeReuseStrategy.shouldAttach(o.snapshot)){const a=this.routeReuseStrategy.retrieve(o.snapshot);this.routeReuseStrategy.store(o.snapshot,null),s.children.onOutletReAttached(a.contexts),s.attachRef=a.componentRef,s.route=a.route.value,s.outlet&&s.outlet.attach(a.componentRef,a.route.value),Pp(a.route.value),this.activateChildRoutes(n,null,s.children)}else{const a=ra(o.snapshot);s.attachRef=null,s.route=o,s.injector=a,s.outlet&&s.outlet.activateWith(o,s.injector),this.activateChildRoutes(n,null,s.children)}}else this.activateChildRoutes(n,null,r)}}class gI{constructor(n){this.path=n,this.route=this.path[this.path.length-1]}}class Bc{constructor(n,t){this.component=n,this.route=t}}function _j(e,n,t){const r=e._root;return oa(r,n?n._root:null,t,[r.value])}function mi(e,n){const t=Symbol(),r=n.get(e,t);return r===t?"function"!=typeof e||function P1(e){return null!==ka(e)}(e)?n.get(e):e:r}function oa(e,n,t,r,o={canDeactivateChecks:[],canActivateChecks:[]}){const i=gi(n);return e.children.forEach(s=>{(function Dj(e,n,t,r,o={canDeactivateChecks:[],canActivateChecks:[]}){const i=e.value,s=n?n.value:null,a=t?t.getContext(e.value.outlet):null;if(s&&i.routeConfig===s.routeConfig){const l=function wj(e,n,t){if("function"==typeof t)return t(e,n);switch(t){case"pathParamsChange":return!Zr(e.url,n.url);case"pathParamsOrQueryParamsChange":return!Zr(e.url,n.url)||!bn(e.queryParams,n.queryParams);case"always":return!0;case"paramsOrQueryParamsChange":return!kp(e,n)||!bn(e.queryParams,n.queryParams);default:return!kp(e,n)}}(s,i,i.routeConfig.runGuardsAndResolvers);l?o.canActivateChecks.push(new gI(r)):(i.data=s.data,i._resolvedData=s._resolvedData),oa(e,n,i.component?a?a.children:null:t,r,o),l&&a&&a.outlet&&a.outlet.isActivated&&o.canDeactivateChecks.push(new Bc(a.outlet.component,s))}else s&&ia(n,a,o),o.canActivateChecks.push(new gI(r)),oa(e,null,i.component?a?a.children:null:t,r,o)})(s,i[s.value.outlet],t,r.concat([s.value]),o),delete i[s.value.outlet]}),Object.entries(i).forEach(([s,a])=>ia(a,t.getContext(s),o)),o}function ia(e,n,t){const r=gi(e),o=e.value;Object.entries(r).forEach(([i,s])=>{ia(s,o.component?n?n.children.getContext(i):null:n,t)}),t.canDeactivateChecks.push(new Bc(o.component&&n&&n.outlet&&n.outlet.isActivated?n.outlet.component:null,o))}function sa(e){return"function"==typeof e}function mI(e){return e instanceof Tc||"EmptyError"===e?.name}const Hc=Symbol("INITIAL_VALUE");function vi(){return ln(e=>up(e.map(n=>n.pipe(si(1),function UV(...e){const n=Sc(e);return et((t,r)=>{(n?dp(e,t,n):dp(e,t)).subscribe(r)})}(Hc)))).pipe(K(n=>{for(const t of n)if(!0!==t){if(t===Hc)return Hc;if(!1===t||t instanceof ui)return t}return!0}),cn(n=>n!==Hc),si(1)))}function vI(e){return function R0(...e){return Lg(e)}(ut(n=>{if(fi(n))throw dI(0,n)}),K(n=>!0===n))}class Vp{constructor(n){this.segmentGroup=n||null}}class jp extends Error{constructor(n){super(),this.urlTree=n}}function yi(e){return Ac(new Vp(e))}class Bj{constructor(n,t){this.urlSerializer=n,this.urlTree=t}lineralizeSegments(n,t){let r=[],o=t.root;for(;;){if(r=r.concat(o.segments),0===o.numberOfChildren)return B(r);if(o.numberOfChildren>1||!o.children[Q])return Ac(new I(4e3,!1));o=o.children[Q]}}applyRedirectCommands(n,t,r){const o=this.applyRedirectCreateUrlTree(t,this.urlSerializer.parse(t),n,r);if(t.startsWith("/"))throw new jp(o);return o}applyRedirectCreateUrlTree(n,t,r,o){const i=this.createSegmentGroup(n,t.root,r,o);return new ui(i,this.createQueryParams(t.queryParams,this.urlTree.queryParams),t.fragment)}createQueryParams(n,t){const r={};return Object.entries(n).forEach(([o,i])=>{if("string"==typeof i&&i.startsWith(":")){const a=i.substring(1);r[o]=t[a]}else r[o]=i}),r}createSegmentGroup(n,t,r,o){const i=this.createSegments(n,t.segments,r,o);let s={};return Object.entries(t.children).forEach(([a,l])=>{s[a]=this.createSegmentGroup(n,l,r,o)}),new ge(i,s)}createSegments(n,t,r,o){return t.map(i=>i.path.startsWith(":")?this.findPosParam(n,i,o):this.findOrReturn(i,r))}findPosParam(n,t,r){const o=r[t.path.substring(1)];if(!o)throw new I(4001,!1);return o}findOrReturn(n,t){let r=0;for(const o of t){if(o.path===n.path)return t.splice(r),o;r++}return n}}const Up={matched:!1,consumedSegments:[],remainingSegments:[],parameters:{},positionalParamSegments:{}};function Hj(e,n,t,r,o){const i=Bp(e,n,t);return i.matched?(r=function fj(e,n){return e.providers&&!e._injector&&(e._injector=Wf(e.providers,n,`Route: ${e.path}`)),e._injector??n}(n,r),function Vj(e,n,t,r){const o=n.canMatch;return o&&0!==o.length?B(o.map(s=>{const a=mi(s,e);return mr(function Tj(e){return e&&sa(e.canMatch)}(a)?a.canMatch(n,t):ir(e,()=>a(n,t)))})).pipe(vi(),vI()):B(!0)}(r,n,t).pipe(K(s=>!0===s?i:{...Up}))):B(i)}function Bp(e,n,t){if("**"===n.path)return function $j(e){return{matched:!0,parameters:e.length>0?LE(e).parameters:{},consumedSegments:e,remainingSegments:[],positionalParamSegments:{}}}(t);if(""===n.path)return"full"===n.pathMatch&&(e.hasChildren()||t.length>0)?{...Up}:{matched:!0,consumedSegments:[],remainingSegments:t,parameters:{},positionalParamSegments:{}};const o=(n.matcher||w3)(t,e,n);if(!o)return{...Up};const i={};Object.entries(o.posParams??{}).forEach(([a,l])=>{i[a]=l.path});const s=o.consumed.length>0?{...i,...o.consumed[o.consumed.length-1].parameters}:i;return{matched:!0,consumedSegments:o.consumed,remainingSegments:t.slice(o.consumed.length),parameters:s,positionalParamSegments:o.posParams??{}}}function yI(e,n,t,r){return t.length>0&&function qj(e,n,t){return t.some(r=>$c(e,n,r)&&Mn(r)!==Q)}(e,t,r)?{segmentGroup:new ge(n,zj(r,new ge(t,e.children))),slicedSegments:[]}:0===t.length&&function Wj(e,n,t){return t.some(r=>$c(e,n,r))}(e,t,r)?{segmentGroup:new ge(e.segments,Gj(e,t,r,e.children)),slicedSegments:t}:{segmentGroup:new ge(e.segments,e.children),slicedSegments:t}}function Gj(e,n,t,r){const o={};for(const i of t)if($c(e,n,i)&&!r[Mn(i)]){const s=new ge([],{});o[Mn(i)]=s}return{...r,...o}}function zj(e,n){const t={};t[Q]=n;for(const r of e)if(""===r.path&&Mn(r)!==Q){const o=new ge([],{});t[Mn(r)]=o}return t}function $c(e,n,t){return(!(e.hasChildren()||n.length>0)||"full"!==t.pathMatch)&&""===t.path}class Yj{}class Kj{constructor(n,t,r,o,i,s,a){this.injector=n,this.configLoader=t,this.rootComponentType=r,this.config=o,this.urlTree=i,this.paramsInheritanceStrategy=s,this.urlSerializer=a,this.applyRedirects=new Bj(this.urlSerializer,this.urlTree),this.absoluteRedirectCount=0,this.allowRedirects=!0}noMatchError(n){return new I(4002,`'${n.segmentGroup}'`)}recognize(){const n=yI(this.urlTree.root,[],[],this.config).segmentGroup;return this.match(n).pipe(K(t=>{const r=new Rp([],Object.freeze({}),Object.freeze({...this.urlTree.queryParams}),this.urlTree.fragment,{},Q,this.rootComponentType,null,{}),o=new un(r,t),i=new sI("",o),s=function H3(e,n,t=null,r=null){return QE(ZE(e),n,t,r)}(r,[],this.urlTree.queryParams,this.urlTree.fragment);return s.queryParams=this.urlTree.queryParams,i.url=this.urlSerializer.serialize(s),this.inheritParamsAndData(i._root,null),{state:i,tree:s}}))}match(n){return this.processSegmentGroup(this.injector,this.config,n,Q).pipe(li(r=>{if(r instanceof jp)return this.urlTree=r.urlTree,this.match(r.urlTree.root);throw r instanceof Vp?this.noMatchError(r):r}))}inheritParamsAndData(n,t){const r=n.value,o=xp(r,t,this.paramsInheritanceStrategy);r.params=Object.freeze(o.params),r.data=Object.freeze(o.data),n.children.forEach(i=>this.inheritParamsAndData(i,r))}processSegmentGroup(n,t,r,o){return 0===r.segments.length&&r.hasChildren()?this.processChildren(n,t,r):this.processSegment(n,t,r,r.segments,o,!0).pipe(K(i=>i instanceof un?[i]:[]))}processChildren(n,t,r){const o=[];for(const i of Object.keys(r.children))"primary"===i?o.unshift(i):o.push(i);return Je(o).pipe(ai(i=>{const s=r.children[i],a=function mj(e,n){const t=e.filter(r=>Mn(r)===n);return t.push(...e.filter(r=>Mn(r)!==n)),t}(t,i);return this.processSegmentGroup(n,a,s,i)}),function $V(e,n){return et(function HV(e,n,t,r,o){return(i,s)=>{let a=t,l=n,c=0;i.subscribe(ze(s,u=>{const d=c++;l=a?e(l,u,d):(a=!0,u),r&&s.next(l)},o&&(()=>{a&&s.next(l),s.complete()})))}}(e,n,arguments.length>=2,!0))}((i,s)=>(i.push(...s),i)),Nc(null),function GV(e,n){const t=arguments.length>=2;return r=>r.pipe(e?cn((o,i)=>e(o,i,r)):Mr,hp(1),t?Nc(n):CE(()=>new Tc))}(),nt(i=>{if(null===i)return yi(r);const s=_I(i);return function eU(e){e.sort((n,t)=>n.value.outlet===Q?-1:t.value.outlet===Q?1:n.value.outlet.localeCompare(t.value.outlet))}(s),B(s)}))}processSegment(n,t,r,o,i,s){return Je(t).pipe(ai(a=>this.processSegmentAgainstRoute(a._injector??n,t,a,r,o,i,s).pipe(li(l=>{if(l instanceof Vp)return B(null);throw l}))),Wr(a=>!!a),li(a=>{if(mI(a))return function Qj(e,n,t){return 0===n.length&&!e.children[t]}(r,o,i)?B(new Yj):yi(r);throw a}))}processSegmentAgainstRoute(n,t,r,o,i,s,a){return function Zj(e,n,t,r){return!!(Mn(e)===r||r!==Q&&$c(n,t,e))&&Bp(n,e,t).matched}(r,o,i,s)?void 0===r.redirectTo?this.matchSegmentAgainstRoute(n,o,r,i,s):this.allowRedirects&&a?this.expandSegmentAgainstRouteUsingRedirect(n,o,t,r,i,s):yi(o):yi(o)}expandSegmentAgainstRouteUsingRedirect(n,t,r,o,i,s){const{matched:a,consumedSegments:l,positionalParamSegments:c,remainingSegments:u}=Bp(t,o,i);if(!a)return yi(t);o.redirectTo.startsWith("/")&&(this.absoluteRedirectCount++,this.absoluteRedirectCount>31&&(this.allowRedirects=!1));const d=this.applyRedirects.applyRedirectCommands(l,o.redirectTo,c);return this.applyRedirects.lineralizeSegments(o,d).pipe(nt(g=>this.processSegment(n,r,t,g.concat(u),s,!1)))}matchSegmentAgainstRoute(n,t,r,o,i){const s=Hj(t,r,o,n);return"**"===r.path&&(t.children={}),s.pipe(ln(a=>a.matched?this.getChildConfig(n=r._injector??n,r,o).pipe(ln(({routes:l})=>{const c=r._loadedInjector??n,{consumedSegments:u,remainingSegments:d,parameters:g}=a,m=new Rp(u,g,Object.freeze({...this.urlTree.queryParams}),this.urlTree.fragment,function nU(e){return e.data||{}}(r),Mn(r),r.component??r._loadedComponent??null,r,function rU(e){return e.resolve||{}}(r)),{segmentGroup:v,slicedSegments:_}=yI(t,u,d,l);if(0===_.length&&v.hasChildren())return this.processChildren(c,l,v).pipe(K(E=>null===E?null:new un(m,E)));if(0===l.length&&0===_.length)return B(new un(m,[]));const D=Mn(r)===i;return this.processSegment(c,l,v,_,D?Q:i,!0).pipe(K(E=>new un(m,E instanceof un?[E]:[])))})):yi(t)))}getChildConfig(n,t,r){return t.children?B({routes:t.children,injector:n}):t.loadChildren?void 0!==t._loadedRoutes?B({routes:t._loadedRoutes,injector:t._loadedInjector}):function Lj(e,n,t,r){const o=n.canLoad;return void 0===o||0===o.length?B(!0):B(o.map(s=>{const a=mi(s,e);return mr(function Ej(e){return e&&sa(e.canLoad)}(a)?a.canLoad(n,t):ir(e,()=>a(n,t)))})).pipe(vi(),vI())}(n,t,r).pipe(nt(o=>o?this.configLoader.loadChildren(n,t).pipe(ut(i=>{t._loadedRoutes=i.routes,t._loadedInjector=i.injector})):function Uj(e){return Ac(fI(!1,zt.GuardRejected))}())):B({routes:[],injector:n})}}function tU(e){const n=e.value.routeConfig;return n&&""===n.path}function _I(e){const n=[],t=new Set;for(const r of e){if(!tU(r)){n.push(r);continue}const o=n.find(i=>r.value.routeConfig===i.value.routeConfig);void 0!==o?(o.children.push(...r.children),t.add(o)):n.push(r)}for(const r of t){const o=_I(r.children);n.push(new un(r.value,o))}return n.filter(r=>!t.has(r))}function CI(e){const n=e.children.map(t=>CI(t)).flat();return[e,...n]}function Hp(e){return ln(n=>{const t=e(n);return t?Je(t).pipe(K(()=>n)):B(n)})}let DI=(()=>{class e{buildTitle(t){let r,o=t.root;for(;void 0!==o;)r=this.getResolvedTitleForRoute(o)??r,o=o.children.find(i=>i.outlet===Q);return r}getResolvedTitleForRoute(t){return t.data[Qs]}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=R({token:e,factory:()=>T(cU),providedIn:"root"})}return e})(),cU=(()=>{class e extends DI{constructor(t){super(),this.title=t}updateTitle(t){const r=this.buildTitle(t);void 0!==r&&this.title.setTitle(r)}static#e=this.\u0275fac=function(r){return new(r||e)(P(v3))};static#t=this.\u0275prov=R({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();const _i=new N("",{providedIn:"root",factory:()=>({})}),Ci=new N("");let $p=(()=>{class e{constructor(){this.componentLoaders=new WeakMap,this.childrenLoaders=new WeakMap,this.compiler=T(Bw)}loadComponent(t){if(this.componentLoaders.get(t))return this.componentLoaders.get(t);if(t._loadedComponent)return B(t._loadedComponent);this.onLoadStartListener&&this.onLoadStartListener(t);const r=mr(t.loadComponent()).pipe(K(wI),ut(i=>{this.onLoadEndListener&&this.onLoadEndListener(t),t._loadedComponent=i}),qs(()=>{this.componentLoaders.delete(t)})),o=new _E(r,()=>new dn).pipe(fp());return this.componentLoaders.set(t,o),o}loadChildren(t,r){if(this.childrenLoaders.get(r))return this.childrenLoaders.get(r);if(r._loadedRoutes)return B({routes:r._loadedRoutes,injector:r._loadedInjector});this.onLoadStartListener&&this.onLoadStartListener(r);const i=function uU(e,n,t,r){return mr(e.loadChildren()).pipe(K(wI),nt(o=>o instanceof q_||Array.isArray(o)?B(o):Je(n.compileModuleAsync(o))),K(o=>{r&&r(e);let i,s,a=!1;return Array.isArray(o)?(s=o,!0):(i=o.create(t).injector,s=i.get(Ci,[],{optional:!0,self:!0}).flat()),{routes:s.map(Lp),injector:i}}))}(r,this.compiler,t,this.onLoadEndListener).pipe(qs(()=>{this.childrenLoaders.delete(r)})),s=new _E(i,()=>new dn).pipe(fp());return this.childrenLoaders.set(r,s),s}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=R({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();function wI(e){return function dU(e){return e&&"object"==typeof e&&"default"in e}(e)?e.default:e}let Gp=(()=>{class e{static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=R({token:e,factory:()=>T(fU),providedIn:"root"})}return e})(),fU=(()=>{class e{shouldProcessUrl(t){return!0}extract(t){return t}merge(t,r){return t}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=R({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();const bI=new N(""),EI=new N("");function hU(e,n,t){const r=e.get(EI),o=e.get(Tt);return e.get(se).runOutsideAngular(()=>{if(!o.startViewTransition||r.skipNextTransition)return r.skipNextTransition=!1,Promise.resolve();let i;const s=new Promise(c=>{i=c}),a=o.startViewTransition(()=>(i(),function pU(e){return new Promise(n=>{d_(n,{injector:e})})}(e))),{onViewTransitionCreated:l}=r;return l&&ir(e,()=>l({transition:a,from:n,to:t})),s})}let Gc=(()=>{class e{get hasRequestedNavigation(){return 0!==this.navigationId}constructor(){this.currentNavigation=null,this.currentTransition=null,this.lastSuccessfulNavigation=null,this.events=new dn,this.transitionAbortSubject=new dn,this.configLoader=T($p),this.environmentInjector=T(kt),this.urlSerializer=T(di),this.rootContexts=T(ta),this.location=T(Bs),this.inputBindingEnabled=null!==T(Uc,{optional:!0}),this.titleStrategy=T(DI),this.options=T(_i,{optional:!0})||{},this.paramsInheritanceStrategy=this.options.paramsInheritanceStrategy||"emptyOnly",this.urlHandlingStrategy=T(Gp),this.createViewTransition=T(bI,{optional:!0}),this.navigationId=0,this.afterPreactivation=()=>B(void 0),this.rootComponentType=null,this.configLoader.onLoadEndListener=o=>this.events.next(new ej(o)),this.configLoader.onLoadStartListener=o=>this.events.next(new K3(o))}complete(){this.transitions?.complete()}handleNavigationRequest(t){const r=++this.navigationId;this.transitions?.next({...this.transitions.value,...t,id:r})}setupNavigations(t,r,o){return this.transitions=new jt({id:0,currentUrlTree:r,currentRawUrl:r,extractedUrl:this.urlHandlingStrategy.extract(r),urlAfterRedirects:this.urlHandlingStrategy.extract(r),rawUrl:r,extras:{},resolve:null,reject:null,promise:Promise.resolve(!0),source:ea,restoredState:null,currentSnapshot:o.snapshot,targetSnapshot:null,currentRouterState:o,targetRouterState:null,guards:{canActivateChecks:[],canDeactivateChecks:[]},guardsResult:null}),this.transitions.pipe(cn(i=>0!==i.id),K(i=>({...i,extractedUrl:this.urlHandlingStrategy.extract(i.rawUrl)})),ln(i=>{this.currentTransition=i;let s=!1,a=!1;return B(i).pipe(ut(l=>{this.currentNavigation={id:l.id,initialUrl:l.rawUrl,extractedUrl:l.extractedUrl,trigger:l.source,extras:l.extras,previousNavigation:this.lastSuccessfulNavigation?{...this.lastSuccessfulNavigation,previousNavigation:null}:null}}),ln(l=>{const c=!t.navigated||this.isUpdatingInternalState()||this.isUpdatedBrowserUrl();if(!c&&"reload"!==(l.extras.onSameUrlNavigation??t.onSameUrlNavigation)){const d="";return this.events.next(new pi(l.id,this.urlSerializer.serialize(l.rawUrl),d,Vc.IgnoredSameUrlNavigation)),l.resolve(null),Yn}if(this.urlHandlingStrategy.shouldProcessUrl(l.rawUrl))return B(l).pipe(ln(d=>{const g=this.transitions?.getValue();return this.events.next(new Lc(d.id,this.urlSerializer.serialize(d.extractedUrl),d.source,d.restoredState)),g!==this.transitions?.getValue()?Yn:Promise.resolve(d)}),function oU(e,n,t,r,o,i){return nt(s=>function Xj(e,n,t,r,o,i,s="emptyOnly"){return new Kj(e,n,t,r,o,s,i).recognize()}(e,n,t,r,s.extractedUrl,o,i).pipe(K(({state:a,tree:l})=>({...s,targetSnapshot:a,urlAfterRedirects:l}))))}(this.environmentInjector,this.configLoader,this.rootComponentType,t.config,this.urlSerializer,this.paramsInheritanceStrategy),ut(d=>{i.targetSnapshot=d.targetSnapshot,i.urlAfterRedirects=d.urlAfterRedirects,this.currentNavigation={...this.currentNavigation,finalUrl:d.urlAfterRedirects};const g=new tI(d.id,this.urlSerializer.serialize(d.extractedUrl),this.urlSerializer.serialize(d.urlAfterRedirects),d.targetSnapshot);this.events.next(g)}));if(c&&this.urlHandlingStrategy.shouldProcessUrl(l.currentRawUrl)){const{id:d,extractedUrl:g,source:m,restoredState:v,extras:_}=l,D=new Lc(d,this.urlSerializer.serialize(g),m,v);this.events.next(D);const E=iI(this.rootComponentType).snapshot;return this.currentTransition=i={...l,targetSnapshot:E,urlAfterRedirects:g,extras:{..._,skipLocationChange:!1,replaceUrl:!1}},this.currentNavigation.finalUrl=g,B(i)}{const d="";return this.events.next(new pi(l.id,this.urlSerializer.serialize(l.extractedUrl),d,Vc.IgnoredByUrlHandlingStrategy)),l.resolve(null),Yn}}),ut(l=>{const c=new Q3(l.id,this.urlSerializer.serialize(l.extractedUrl),this.urlSerializer.serialize(l.urlAfterRedirects),l.targetSnapshot);this.events.next(c)}),K(l=>(this.currentTransition=i={...l,guards:_j(l.targetSnapshot,l.currentSnapshot,this.rootContexts)},i)),function Aj(e,n){return nt(t=>{const{targetSnapshot:r,currentSnapshot:o,guards:{canActivateChecks:i,canDeactivateChecks:s}}=t;return 0===s.length&&0===i.length?B({...t,guardsResult:!0}):function Nj(e,n,t,r){return Je(e).pipe(nt(o=>function Fj(e,n,t,r,o){const i=n&&n.routeConfig?n.routeConfig.canDeactivate:null;return i&&0!==i.length?B(i.map(a=>{const l=ra(n)??o,c=mi(a,l);return mr(function Sj(e){return e&&sa(e.canDeactivate)}(c)?c.canDeactivate(e,n,t,r):ir(l,()=>c(e,n,t,r))).pipe(Wr())})).pipe(vi()):B(!0)}(o.component,o.route,t,n,r)),Wr(o=>!0!==o,!0))}(s,r,o,e).pipe(nt(a=>a&&function bj(e){return"boolean"==typeof e}(a)?function xj(e,n,t,r){return Je(n).pipe(ai(o=>dp(function Oj(e,n){return null!==e&&n&&n(new tj(e)),B(!0)}(o.route.parent,r),function Rj(e,n){return null!==e&&n&&n(new rj(e)),B(!0)}(o.route,r),function kj(e,n,t){const r=n[n.length-1],i=n.slice(0,n.length-1).reverse().map(s=>function Cj(e){const n=e.routeConfig?e.routeConfig.canActivateChild:null;return n&&0!==n.length?{node:e,guards:n}:null}(s)).filter(s=>null!==s).map(s=>yE(()=>B(s.guards.map(l=>{const c=ra(s.node)??t,u=mi(l,c);return mr(function Mj(e){return e&&sa(e.canActivateChild)}(u)?u.canActivateChild(r,e):ir(c,()=>u(r,e))).pipe(Wr())})).pipe(vi())));return B(i).pipe(vi())}(e,o.path,t),function Pj(e,n,t){const r=n.routeConfig?n.routeConfig.canActivate:null;if(!r||0===r.length)return B(!0);const o=r.map(i=>yE(()=>{const s=ra(n)??t,a=mi(i,s);return mr(function Ij(e){return e&&sa(e.canActivate)}(a)?a.canActivate(n,e):ir(s,()=>a(n,e))).pipe(Wr())}));return B(o).pipe(vi())}(e,o.route,t))),Wr(o=>!0!==o,!0))}(r,i,e,n):B(a)),K(a=>({...t,guardsResult:a})))})}(this.environmentInjector,l=>this.events.next(l)),ut(l=>{if(i.guardsResult=l.guardsResult,fi(l.guardsResult))throw dI(0,l.guardsResult);const c=new Y3(l.id,this.urlSerializer.serialize(l.extractedUrl),this.urlSerializer.serialize(l.urlAfterRedirects),l.targetSnapshot,!!l.guardsResult);this.events.next(c)}),cn(l=>!!l.guardsResult||(this.cancelNavigationTransition(l,"",zt.GuardRejected),!1)),Hp(l=>{if(l.guards.canActivateChecks.length)return B(l).pipe(ut(c=>{const u=new X3(c.id,this.urlSerializer.serialize(c.extractedUrl),this.urlSerializer.serialize(c.urlAfterRedirects),c.targetSnapshot);this.events.next(u)}),ln(c=>{let u=!1;return B(c).pipe(function iU(e,n){return nt(t=>{const{targetSnapshot:r,guards:{canActivateChecks:o}}=t;if(!o.length)return B(t);const i=new Set(o.map(l=>l.route)),s=new Set;for(const l of i)if(!s.has(l))for(const c of CI(l))s.add(c);let a=0;return Je(s).pipe(ai(l=>i.has(l)?function sU(e,n,t,r){const o=e.routeConfig,i=e._resolve;return void 0!==o?.title&&!lI(o)&&(i[Qs]=o.title),function aU(e,n,t,r){const o=Dp(e);if(0===o.length)return B({});const i={};return Je(o).pipe(nt(s=>function lU(e,n,t,r){const o=ra(n)??r,i=mi(e,o);return mr(i.resolve?i.resolve(n,t):ir(o,()=>i(n,t)))}(e[s],n,t,r).pipe(Wr(),ut(a=>{i[s]=a}))),hp(1),function zV(e){return K(()=>e)}(i),li(s=>mI(s)?Yn:Ac(s)))}(i,e,n,r).pipe(K(s=>(e._resolvedData=s,e.data=xp(e,e.parent,t).resolve,null)))}(l,r,e,n):(l.data=xp(l,l.parent,e).resolve,B(void 0))),ut(()=>a++),hp(1),nt(l=>a===s.size?B(t):Yn))})}(this.paramsInheritanceStrategy,this.environmentInjector),ut({next:()=>u=!0,complete:()=>{u||this.cancelNavigationTransition(c,"",zt.NoDataFromResolver)}}))}),ut(c=>{const u=new J3(c.id,this.urlSerializer.serialize(c.extractedUrl),this.urlSerializer.serialize(c.urlAfterRedirects),c.targetSnapshot);this.events.next(u)}))}),Hp(l=>{const c=u=>{const d=[];u.routeConfig?.loadComponent&&!u.routeConfig._loadedComponent&&d.push(this.configLoader.loadComponent(u.routeConfig).pipe(ut(g=>{u.component=g}),K(()=>{})));for(const g of u.children)d.push(...c(g));return d};return up(c(l.targetSnapshot.root)).pipe(Nc(null),si(1))}),Hp(()=>this.afterPreactivation()),ln(()=>{const{currentSnapshot:l,targetSnapshot:c}=i,u=this.createViewTransition?.(this.environmentInjector,l.root,c.root);return u?Je(u).pipe(K(()=>i)):B(i)}),K(l=>{const c=function lj(e,n,t){const r=na(e,n._root,t?t._root:void 0);return new oI(r,n)}(t.routeReuseStrategy,l.targetSnapshot,l.currentRouterState);return this.currentTransition=i={...l,targetRouterState:c},this.currentNavigation.targetRouterState=c,i}),ut(()=>{this.events.next(new Sp)}),((e,n,t,r)=>K(o=>(new yj(n,o.targetRouterState,o.currentRouterState,t,r).activate(e),o)))(this.rootContexts,t.routeReuseStrategy,l=>this.events.next(l),this.inputBindingEnabled),si(1),ut({next:l=>{s=!0,this.lastSuccessfulNavigation=this.currentNavigation,this.events.next(new In(l.id,this.urlSerializer.serialize(l.extractedUrl),this.urlSerializer.serialize(l.urlAfterRedirects))),this.titleStrategy?.updateTitle(l.targetRouterState.snapshot),l.resolve(!0)},complete:()=>{s=!0}}),function qV(e){return et((n,t)=>{wn(e).subscribe(ze(t,()=>t.complete(),Du)),!t.closed&&n.subscribe(t)})}(this.transitionAbortSubject.pipe(ut(l=>{throw l}))),qs(()=>{!s&&!a&&this.cancelNavigationTransition(i,"",zt.SupersededByNewNavigation),this.currentTransition?.id===i.id&&(this.currentNavigation=null,this.currentTransition=null)}),li(l=>{if(a=!0,hI(l))this.events.next(new hi(i.id,this.urlSerializer.serialize(i.extractedUrl),l.message,l.cancellationCode)),function dj(e){return hI(e)&&fi(e.url)}(l)?this.events.next(new Tp(l.url)):i.resolve(!1);else{this.events.next(new jc(i.id,this.urlSerializer.serialize(i.extractedUrl),l,i.targetSnapshot??void 0));try{i.resolve(t.errorHandler(l))}catch(c){this.options.resolveNavigationPromiseOnError?i.resolve(!1):i.reject(c)}}return Yn}))}))}cancelNavigationTransition(t,r,o){const i=new hi(t.id,this.urlSerializer.serialize(t.extractedUrl),r,o);this.events.next(i),t.resolve(!1)}isUpdatingInternalState(){return this.currentTransition?.extractedUrl.toString()!==this.currentTransition?.currentUrlTree.toString()}isUpdatedBrowserUrl(){return this.urlHandlingStrategy.extract(this.urlSerializer.parse(this.location.path(!0))).toString()!==this.currentTransition?.extractedUrl.toString()&&!this.currentTransition?.extras.skipLocationChange}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=R({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();function gU(e){return e!==ea}let mU=(()=>{class e{static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=R({token:e,factory:()=>T(yU),providedIn:"root"})}return e})();class vU{shouldDetach(n){return!1}store(n,t){}shouldAttach(n){return!1}retrieve(n){return null}shouldReuseRoute(n,t){return n.routeConfig===t.routeConfig}}let yU=(()=>{class e extends vU{static#e=this.\u0275fac=(()=>{let t;return function(o){return(t||(t=Ke(e)))(o||e)}})();static#t=this.\u0275prov=R({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})(),II=(()=>{class e{static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=R({token:e,factory:()=>T(_U),providedIn:"root"})}return e})(),_U=(()=>{class e extends II{constructor(){super(...arguments),this.location=T(Bs),this.urlSerializer=T(di),this.options=T(_i,{optional:!0})||{},this.canceledNavigationResolution=this.options.canceledNavigationResolution||"replace",this.urlHandlingStrategy=T(Gp),this.urlUpdateStrategy=this.options.urlUpdateStrategy||"deferred",this.currentUrlTree=new ui,this.rawUrlTree=this.currentUrlTree,this.currentPageId=0,this.lastSuccessfulId=-1,this.routerState=iI(null),this.stateMemento=this.createStateMemento()}getCurrentUrlTree(){return this.currentUrlTree}getRawUrlTree(){return this.rawUrlTree}restoredState(){return this.location.getState()}get browserPageId(){return"computed"!==this.canceledNavigationResolution?this.currentPageId:this.restoredState()?.\u0275routerPageId??this.currentPageId}getRouterState(){return this.routerState}createStateMemento(){return{rawUrlTree:this.rawUrlTree,currentUrlTree:this.currentUrlTree,routerState:this.routerState}}registerNonRouterCurrentEntryChangeListener(t){return this.location.subscribe(r=>{"popstate"===r.type&&t(r.url,r.state)})}handleRouterEvent(t,r){if(t instanceof Lc)this.stateMemento=this.createStateMemento();else if(t instanceof pi)this.rawUrlTree=r.initialUrl;else if(t instanceof tI){if("eager"===this.urlUpdateStrategy&&!r.extras.skipLocationChange){const o=this.urlHandlingStrategy.merge(r.finalUrl,r.initialUrl);this.setBrowserUrl(o,r)}}else t instanceof Sp?(this.currentUrlTree=r.finalUrl,this.rawUrlTree=this.urlHandlingStrategy.merge(r.finalUrl,r.initialUrl),this.routerState=r.targetRouterState,"deferred"===this.urlUpdateStrategy&&(r.extras.skipLocationChange||this.setBrowserUrl(this.rawUrlTree,r))):t instanceof hi&&(t.code===zt.GuardRejected||t.code===zt.NoDataFromResolver)?this.restoreHistory(r):t instanceof jc?this.restoreHistory(r,!0):t instanceof In&&(this.lastSuccessfulId=t.id,this.currentPageId=this.browserPageId)}setBrowserUrl(t,r){const o=this.urlSerializer.serialize(t);if(this.location.isCurrentPathEqualTo(o)||r.extras.replaceUrl){const s={...r.extras.state,...this.generateNgRouterState(r.id,this.browserPageId)};this.location.replaceState(o,"",s)}else{const i={...r.extras.state,...this.generateNgRouterState(r.id,this.browserPageId+1)};this.location.go(o,"",i)}}restoreHistory(t,r=!1){if("computed"===this.canceledNavigationResolution){const i=this.currentPageId-this.browserPageId;0!==i?this.location.historyGo(i):this.currentUrlTree===t.finalUrl&&0===i&&(this.resetState(t),this.resetUrlToCurrentUrlTree())}else"replace"===this.canceledNavigationResolution&&(r&&this.resetState(t),this.resetUrlToCurrentUrlTree())}resetState(t){this.routerState=this.stateMemento.routerState,this.currentUrlTree=this.stateMemento.currentUrlTree,this.rawUrlTree=this.urlHandlingStrategy.merge(this.currentUrlTree,t.finalUrl??this.rawUrlTree)}resetUrlToCurrentUrlTree(){this.location.replaceState(this.urlSerializer.serialize(this.rawUrlTree),"",this.generateNgRouterState(this.lastSuccessfulId,this.currentPageId))}generateNgRouterState(t,r){return"computed"===this.canceledNavigationResolution?{navigationId:t,\u0275routerPageId:r}:{navigationId:t}}static#e=this.\u0275fac=(()=>{let t;return function(o){return(t||(t=Ke(e)))(o||e)}})();static#t=this.\u0275prov=R({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();var aa=function(e){return e[e.COMPLETE=0]="COMPLETE",e[e.FAILED=1]="FAILED",e[e.REDIRECTING=2]="REDIRECTING",e}(aa||{});function MI(e,n){e.events.pipe(cn(t=>t instanceof In||t instanceof hi||t instanceof jc||t instanceof pi),K(t=>t instanceof In||t instanceof pi?aa.COMPLETE:t instanceof hi&&(t.code===zt.Redirect||t.code===zt.SupersededByNewNavigation)?aa.REDIRECTING:aa.FAILED),cn(t=>t!==aa.REDIRECTING),si(1)).subscribe(()=>{n()})}function CU(e){throw e}const DU={paths:"exact",fragment:"ignored",matrixParams:"ignored",queryParams:"exact"},wU={paths:"subset",fragment:"ignored",matrixParams:"ignored",queryParams:"subset"};let qt=(()=>{class e{get currentUrlTree(){return this.stateManager.getCurrentUrlTree()}get rawUrlTree(){return this.stateManager.getRawUrlTree()}get events(){return this._events}get routerState(){return this.stateManager.getRouterState()}constructor(){this.disposed=!1,this.isNgZoneEnabled=!1,this.console=T(Nw),this.stateManager=T(II),this.options=T(_i,{optional:!0})||{},this.pendingTasks=T(jr),this.urlUpdateStrategy=this.options.urlUpdateStrategy||"deferred",this.navigationTransitions=T(Gc),this.urlSerializer=T(di),this.location=T(Bs),this.urlHandlingStrategy=T(Gp),this._events=new dn,this.errorHandler=this.options.errorHandler||CU,this.navigated=!1,this.routeReuseStrategy=T(mU),this.onSameUrlNavigation=this.options.onSameUrlNavigation||"ignore",this.config=T(Ci,{optional:!0})?.flat()??[],this.componentInputBindingEnabled=!!T(Uc,{optional:!0}),this.eventsSubscription=new yt,this.isNgZoneEnabled=T(se)instanceof se&&se.isInAngularZone(),this.resetConfig(this.config),this.navigationTransitions.setupNavigations(this,this.currentUrlTree,this.routerState).subscribe({error:t=>{this.console.warn(t)}}),this.subscribeToNavigationEvents()}subscribeToNavigationEvents(){const t=this.navigationTransitions.events.subscribe(r=>{try{const o=this.navigationTransitions.currentTransition,i=this.navigationTransitions.currentNavigation;if(null!==o&&null!==i)if(this.stateManager.handleRouterEvent(r,i),r instanceof hi&&r.code!==zt.Redirect&&r.code!==zt.SupersededByNewNavigation)this.navigated=!0;else if(r instanceof In)this.navigated=!0;else if(r instanceof Tp){const s=this.urlHandlingStrategy.merge(r.url,o.currentRawUrl),a={info:o.extras.info,skipLocationChange:o.extras.skipLocationChange,replaceUrl:"eager"===this.urlUpdateStrategy||gU(o.source)};this.scheduleNavigation(s,ea,null,a,{resolve:o.resolve,reject:o.reject,promise:o.promise})}(function EU(e){return!(e instanceof Sp||e instanceof Tp)})(r)&&this._events.next(r)}catch(o){this.navigationTransitions.transitionAbortSubject.next(o)}});this.eventsSubscription.add(t)}resetRootComponentType(t){this.routerState.root.component=t,this.navigationTransitions.rootComponentType=t}initialNavigation(){this.setUpLocationChangeListener(),this.navigationTransitions.hasRequestedNavigation||this.navigateToSyncWithBrowser(this.location.path(!0),ea,this.stateManager.restoredState())}setUpLocationChangeListener(){this.nonRouterCurrentEntryChangeSubscription??=this.stateManager.registerNonRouterCurrentEntryChangeListener((t,r)=>{setTimeout(()=>{this.navigateToSyncWithBrowser(t,"popstate",r)},0)})}navigateToSyncWithBrowser(t,r,o){const i={replaceUrl:!0},s=o?.navigationId?o:null;if(o){const l={...o};delete l.navigationId,delete l.\u0275routerPageId,0!==Object.keys(l).length&&(i.state=l)}const a=this.parseUrl(t);this.scheduleNavigation(a,r,s,i)}get url(){return this.serializeUrl(this.currentUrlTree)}getCurrentNavigation(){return this.navigationTransitions.currentNavigation}get lastSuccessfulNavigation(){return this.navigationTransitions.lastSuccessfulNavigation}resetConfig(t){this.config=t.map(Lp),this.navigated=!1}ngOnDestroy(){this.dispose()}dispose(){this.navigationTransitions.complete(),this.nonRouterCurrentEntryChangeSubscription&&(this.nonRouterCurrentEntryChangeSubscription.unsubscribe(),this.nonRouterCurrentEntryChangeSubscription=void 0),this.disposed=!0,this.eventsSubscription.unsubscribe()}createUrlTree(t,r={}){const{relativeTo:o,queryParams:i,fragment:s,queryParamsHandling:a,preserveFragment:l}=r,c=l?this.currentUrlTree.fragment:s;let d,u=null;switch(a){case"merge":u={...this.currentUrlTree.queryParams,...i};break;case"preserve":u=this.currentUrlTree.queryParams;break;default:u=i||null}null!==u&&(u=this.removeEmptyProps(u));try{d=ZE(o?o.snapshot:this.routerState.snapshot.root)}catch{("string"!=typeof t[0]||!t[0].startsWith("/"))&&(t=[]),d=this.currentUrlTree.root}return QE(d,t,u,c??null)}navigateByUrl(t,r={skipLocationChange:!1}){const o=fi(t)?t:this.parseUrl(t),i=this.urlHandlingStrategy.merge(o,this.rawUrlTree);return this.scheduleNavigation(i,ea,null,r)}navigate(t,r={skipLocationChange:!1}){return function bU(e){for(let n=0;n(null!=i&&(r[o]=i),r),{})}scheduleNavigation(t,r,o,i,s){if(this.disposed)return Promise.resolve(!1);let a,l,c;s?(a=s.resolve,l=s.reject,c=s.promise):c=new Promise((d,g)=>{a=d,l=g});const u=this.pendingTasks.add();return MI(this,()=>{queueMicrotask(()=>this.pendingTasks.remove(u))}),this.navigationTransitions.handleNavigationRequest({source:r,restoredState:o,currentUrlTree:this.currentUrlTree,currentRawUrl:this.currentUrlTree,rawUrl:t,extras:i,resolve:a,reject:l,promise:c,currentSnapshot:this.routerState.snapshot,currentRouterState:this.routerState}),c.catch(d=>Promise.reject(d))}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=R({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})(),Sn=(()=>{class e{constructor(t,r,o,i,s,a){this.router=t,this.route=r,this.tabIndexAttribute=o,this.renderer=i,this.el=s,this.locationStrategy=a,this.href=null,this.commands=null,this.onChanges=new dn,this.preserveFragment=!1,this.skipLocationChange=!1,this.replaceUrl=!1;const l=s.nativeElement.tagName?.toLowerCase();this.isAnchorElement="a"===l||"area"===l,this.isAnchorElement?this.subscription=t.events.subscribe(c=>{c instanceof In&&this.updateHref()}):this.setTabIndexIfNotOnNativeEl("0")}setTabIndexIfNotOnNativeEl(t){null!=this.tabIndexAttribute||this.isAnchorElement||this.applyAttributeValue("tabindex",t)}ngOnChanges(t){this.isAnchorElement&&this.updateHref(),this.onChanges.next(this)}set routerLink(t){null!=t?(this.commands=Array.isArray(t)?t:[t],this.setTabIndexIfNotOnNativeEl("0")):(this.commands=null,this.setTabIndexIfNotOnNativeEl(null))}onClick(t,r,o,i,s){const a=this.urlTree;return!!(null===a||this.isAnchorElement&&(0!==t||r||o||i||s||"string"==typeof this.target&&"_self"!=this.target))||(this.router.navigateByUrl(a,{skipLocationChange:this.skipLocationChange,replaceUrl:this.replaceUrl,state:this.state,info:this.info}),!this.isAnchorElement)}ngOnDestroy(){this.subscription?.unsubscribe()}updateHref(){const t=this.urlTree;this.href=null!==t&&this.locationStrategy?this.locationStrategy?.prepareExternalUrl(this.router.serializeUrl(t)):null;const r=null===this.href?null:function Vv(e,n,t){return function wT(e,n){return"src"===n&&("embed"===e||"frame"===e||"iframe"===e||"media"===e||"script"===e)||"href"===n&&("base"===e||"link"===e)?Lv:Ao}(n,t)(e)}(this.href,this.el.nativeElement.tagName.toLowerCase(),"href");this.applyAttributeValue("href",r)}applyAttributeValue(t,r){const o=this.renderer,i=this.el.nativeElement;null!==r?o.setAttribute(i,t,r):o.removeAttribute(i,t)}get urlTree(){return null===this.commands?null:this.router.createUrlTree(this.commands,{relativeTo:void 0!==this.relativeTo?this.relativeTo:this.route,queryParams:this.queryParams,fragment:this.fragment,queryParamsHandling:this.queryParamsHandling,preserveFragment:this.preserveFragment})}static#e=this.\u0275fac=function(r){return new(r||e)(S(qt),S(Qr),function ll(e){return function BS(e,n){if("class"===n)return e.classes;if("style"===n)return e.styles;const t=e.attrs;if(t){const r=t.length;let o=0;for(;o{class e{get isActive(){return this._isActive}constructor(t,r,o,i,s){this.router=t,this.element=r,this.renderer=o,this.cdr=i,this.link=s,this.classes=[],this._isActive=!1,this.routerLinkActiveOptions={exact:!1},this.isActiveChange=new Ae,this.routerEventsSubscription=t.events.subscribe(a=>{a instanceof In&&this.update()})}ngAfterContentInit(){B(this.links.changes,B(null)).pipe(zs()).subscribe(t=>{this.update(),this.subscribeToEachLinkOnChanges()})}subscribeToEachLinkOnChanges(){this.linkInputChangesSubscription?.unsubscribe();const t=[...this.links.toArray(),this.link].filter(r=>!!r).map(r=>r.onChanges);this.linkInputChangesSubscription=Je(t).pipe(zs()).subscribe(r=>{this._isActive!==this.isLinkActive(this.router)(r)&&this.update()})}set routerLinkActive(t){const r=Array.isArray(t)?t:t.split(" ");this.classes=r.filter(o=>!!o)}ngOnChanges(t){this.update()}ngOnDestroy(){this.routerEventsSubscription.unsubscribe(),this.linkInputChangesSubscription?.unsubscribe()}update(){!this.links||!this.router.navigated||queueMicrotask(()=>{const t=this.hasActiveLinks();this._isActive!==t&&(this._isActive=t,this.cdr.markForCheck(),this.classes.forEach(r=>{t?this.renderer.addClass(this.element.nativeElement,r):this.renderer.removeClass(this.element.nativeElement,r)}),t&&void 0!==this.ariaCurrentWhenActive?this.renderer.setAttribute(this.element.nativeElement,"aria-current",this.ariaCurrentWhenActive.toString()):this.renderer.removeAttribute(this.element.nativeElement,"aria-current"),this.isActiveChange.emit(t))})}isLinkActive(t){const r=function IU(e){return!!e.paths}(this.routerLinkActiveOptions)?this.routerLinkActiveOptions:this.routerLinkActiveOptions.exact||!1;return o=>{const i=o.urlTree;return!!i&&t.isActive(i,r)}}hasActiveLinks(){const t=this.isLinkActive(this.router);return this.link&&t(this.link)||this.links.some(t)}static#e=this.\u0275fac=function(r){return new(r||e)(S(qt),S(Ot),S(Hn),S(ms),S(Sn,8))};static#t=this.\u0275dir=H({type:e,selectors:[["","routerLinkActive",""]],contentQueries:function(r,o,i){if(1&r&&function OD(e,n,t,r){T_(e,n,t,r)}(i,Sn,5),2&r){let s;(function PD(e){const n=b(),t=J(),r=Zu();Aa(r+1);const o=$f(t,r);if(e.dirty&&function l1(e){return 4==(4&e[k])}(n)===(2==(2&o.metadata.flags))){if(null===o.matches)e.reset([]);else{const i=N_(n,r);e.reset(i,Mm),e.notifyOnChanges()}return!0}return!1})(s=kD())&&(o.links=s)}},inputs:{routerLinkActiveOptions:"routerLinkActiveOptions",ariaCurrentWhenActive:"ariaCurrentWhenActive",routerLinkActive:"routerLinkActive"},outputs:{isActiveChange:"isActiveChange"},exportAs:["routerLinkActive"],standalone:!0,features:[Ut]})}return e})();class TI{}let MU=(()=>{class e{constructor(t,r,o,i,s){this.router=t,this.injector=o,this.preloadingStrategy=i,this.loader=s}setUpPreloading(){this.subscription=this.router.events.pipe(cn(t=>t instanceof In),ai(()=>this.preload())).subscribe(()=>{})}preload(){return this.processRoutes(this.injector,this.router.config)}ngOnDestroy(){this.subscription&&this.subscription.unsubscribe()}processRoutes(t,r){const o=[];for(const i of r){i.providers&&!i._injector&&(i._injector=Wf(i.providers,t,`Route: ${i.path}`));const s=i._injector??t,a=i._loadedInjector??s;(i.loadChildren&&!i._loadedRoutes&&void 0===i.canLoad||i.loadComponent&&!i._loadedComponent)&&o.push(this.preloadConfig(s,i)),(i.children||i._loadedRoutes)&&o.push(this.processRoutes(a,i.children??i._loadedRoutes))}return Je(o).pipe(zs())}preloadConfig(t,r){return this.preloadingStrategy.preload(r,()=>{let o;o=r.loadChildren&&void 0===r.canLoad?this.loader.loadChildren(t,r):B(null);const i=o.pipe(nt(s=>null===s?B(void 0):(r._loadedRoutes=s.routes,r._loadedInjector=s.injector,this.processRoutes(s.injector??t,s.routes))));return r.loadComponent&&!r._loadedComponent?Je([i,this.loader.loadComponent(r)]).pipe(zs()):i})}static#e=this.\u0275fac=function(r){return new(r||e)(P(qt),P(Bw),P(kt),P(TI),P($p))};static#t=this.\u0275prov=R({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();const zp=new N("");let AI=(()=>{class e{constructor(t,r,o,i,s={}){this.urlSerializer=t,this.transitions=r,this.viewportScroller=o,this.zone=i,this.options=s,this.lastId=0,this.lastSource="imperative",this.restoredId=0,this.store={},s.scrollPositionRestoration||="disabled",s.anchorScrolling||="disabled"}init(){"disabled"!==this.options.scrollPositionRestoration&&this.viewportScroller.setHistoryScrollRestoration("manual"),this.routerEventsSubscription=this.createScrollEvents(),this.scrollEventsSubscription=this.consumeScrollEvents()}createScrollEvents(){return this.transitions.events.subscribe(t=>{t instanceof Lc?(this.store[this.lastId]=this.viewportScroller.getScrollPosition(),this.lastSource=t.navigationTrigger,this.restoredId=t.restoredState?t.restoredState.navigationId:0):t instanceof In?(this.lastId=t.id,this.scheduleScrollEvent(t,this.urlSerializer.parse(t.urlAfterRedirects).fragment)):t instanceof pi&&t.code===Vc.IgnoredSameUrlNavigation&&(this.lastSource=void 0,this.restoredId=0,this.scheduleScrollEvent(t,this.urlSerializer.parse(t.url).fragment))})}consumeScrollEvents(){return this.transitions.events.subscribe(t=>{t instanceof nI&&(t.position?"top"===this.options.scrollPositionRestoration?this.viewportScroller.scrollToPosition([0,0]):"enabled"===this.options.scrollPositionRestoration&&this.viewportScroller.scrollToPosition(t.position):t.anchor&&"enabled"===this.options.anchorScrolling?this.viewportScroller.scrollToAnchor(t.anchor):"disabled"!==this.options.scrollPositionRestoration&&this.viewportScroller.scrollToPosition([0,0]))})}scheduleScrollEvent(t,r){this.zone.runOutsideAngular(()=>{setTimeout(()=>{this.zone.run(()=>{this.transitions.events.next(new nI(t,"popstate"===this.lastSource?this.store[this.restoredId]:null,r))})},0)})}ngOnDestroy(){this.routerEventsSubscription?.unsubscribe(),this.scrollEventsSubscription?.unsubscribe()}static#e=this.\u0275fac=function(r){!function gy(){throw new Error("invalid")}()};static#t=this.\u0275prov=R({token:e,factory:e.\u0275fac})}return e})();function Tn(e,n){return{\u0275kind:e,\u0275providers:n}}function xI(){const e=T(wt);return n=>{const t=e.get(Gr);if(n!==t.components[0])return;const r=e.get(qt),o=e.get(RI);1===e.get(qp)&&r.initialNavigation(),e.get(OI,null,X.Optional)?.setUpPreloading(),e.get(zp,null,X.Optional)?.init(),r.resetRootComponentType(t.componentTypes[0]),o.closed||(o.next(),o.complete(),o.unsubscribe())}}const RI=new N("",{factory:()=>new dn}),qp=new N("",{providedIn:"root",factory:()=>1}),OI=new N("");function NU(e){return Tn(0,[{provide:OI,useExisting:MU},{provide:TI,useExisting:e}])}function RU(e){return Tn(9,[{provide:bI,useValue:hU},{provide:EI,useValue:{skipNextTransition:!!e?.skipInitialTransition,...e}}])}const PI=new N("ROUTER_FORROOT_GUARD"),OU=[Bs,{provide:di,useClass:wp},qt,ta,{provide:Qr,useFactory:function NI(e){return e.routerState.root},deps:[qt]},$p,[]];let kI=(()=>{class e{constructor(t){}static forRoot(t,r){return{ngModule:e,providers:[OU,[],{provide:Ci,multi:!0,useValue:t},{provide:PI,useFactory:LU,deps:[[qt,new Wa,new Za]]},{provide:_i,useValue:r||{}},r?.useHash?{provide:qr,useClass:YF}:{provide:qr,useClass:wb},{provide:zp,useFactory:()=>{const e=T(mL),n=T(se),t=T(_i),r=T(Gc),o=T(di);return t.scrollOffset&&e.setOffset(t.scrollOffset),new AI(o,r,e,n,t)}},r?.preloadingStrategy?NU(r.preloadingStrategy).\u0275providers:[],r?.initialNavigation?VU(r):[],r?.bindToComponentInputs?Tn(8,[cI,{provide:Uc,useExisting:cI}]).\u0275providers:[],r?.enableViewTransitions?RU().\u0275providers:[],[{provide:FI,useFactory:xI},{provide:xh,multi:!0,useExisting:FI}]]}}static forChild(t){return{ngModule:e,providers:[{provide:Ci,multi:!0,useValue:t}]}}static#e=this.\u0275fac=function(r){return new(r||e)(P(PI,8))};static#t=this.\u0275mod=Jn({type:e});static#n=this.\u0275inj=Ln({})}return e})();function LU(e){return"guarded"}function VU(e){return["disabled"===e.initialNavigation?Tn(3,[{provide:Ah,multi:!0,useFactory:()=>{const n=T(qt);return()=>{n.setUpLocationChangeListener()}}},{provide:qp,useValue:2}]).\u0275providers:[],"enabledBlocking"===e.initialNavigation?Tn(2,[{provide:qp,useValue:0},{provide:Ah,multi:!0,deps:[wt],useFactory:n=>{const t=n.get(ZF,Promise.resolve());return()=>t.then(()=>new Promise(r=>{const o=n.get(qt),i=n.get(RI);MI(o,()=>{r(!0)}),n.get(Gc).afterPreactivation=()=>(r(!0),i.closed?B(void 0):i),o.initialNavigation()}))}}]).\u0275providers:[]]}const FI=new N(""),UU=()=>["/pro"];let BU=(()=>{class e{constructor(){this.years=(new Date).getFullYear()-2009}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275cmp=xt({type:e,selectors:[["app-footer"]],standalone:!0,features:[Lt],decls:94,vars:3,consts:[[1,"container-fluid","mt-5"],[1,"p-5"],[1,"container"],[1,"row"],[1,"col-xs-12","col-md-4","text-center"],["src","resources/portrait_600.jpg","alt","Portrait",1,"img-fluid","img-thumbnail","mb-5","portrait"],[1,"col-xs-12","col-md-8"],[3,"routerLink"],[1,"fa-solid","fa-heart","githubheart"],["href","https://github.com/sponsors/danielpalme","target","_blank"],[1,"col-md-3","offset-md-2"],["href","https://github.com/danielpalme/ReportGenerator","target","_blank"],["href","https://github.com/danielpalme/ReportGenerator/wiki","target","_blank"],["href","https://github.com/danielpalme/ReportGenerator/wiki/FAQ","target","_blank"],[1,"col-md-4","mt-4","mt-md-0"],["href","https://www.nuget.org/packages/ReportGenerator","target","_blank"],["href","https://www.nuget.org/packages/dotnet-reportgenerator-globaltool","target","_blank"],["href","https://www.nuget.org/packages/ReportGenerator.Core","target","_blank"],["href","https://github.com/marketplace/actions/reportgenerator","target","_blank"],["href","https://marketplace.visualstudio.com/items?itemName=Palmmedia.reportgenerator","target","_blank"],[1,"col-md-3","mt-4","mt-md-0"],[1,"fa-brands","fa-github"],["href","https://twitter.com/danielpalme","target","_blank"],[1,"fa-brands","fa-twitter"],["href","https://www.palmmedia.de/Privacy","target","_blank"],["href","https://www.palmmedia.de/Imprint","target","_blank"]],template:function(r,o){1&r&&(h(0,"footer",0)(1,"div",1)(2,"div",2)(3,"div",3)(4,"div",4),y(5,"img",5),p(),h(6,"div",6)(7,"h2"),f(8,"Who's behind"),p(),h(9,"p"),f(10,"My name is Daniel Palme. I'm a software developer from Germany."),p(),h(11,"p"),f(12," Back in 2009 I wanted to create code coverage reports based on "),h(13,"i"),f(14,"PartCover"),p(),f(15," files."),y(16,"br"),f(17," Since no existing tool was able to merge several coverage files and generate a visual appealing report, I decided to create my own."),y(18,"br"),f(19),h(20,"i"),f(21,"ReportGenerator"),p(),f(22,". "),p(),h(23,"p"),f(24," You can support the ongoing maintenance by buying a "),h(25,"a",7),f(26,"PRO license"),p(),f(27," or by becoming a "),y(28,"i",8),f(29,"\xa0"),h(30,"a",9),f(31,"GitHub sponsor"),p(),f(32,". "),p()()()()(),h(33,"div",2)(34,"div",3),y(35,"hr"),p()(),h(36,"div",1)(37,"div",2)(38,"div",3)(39,"div",10)(40,"p")(41,"b"),f(42,"GitHub"),p()(),h(43,"a",11),f(44,"Source code"),p(),y(45,"br"),h(46,"a",12),f(47,"Wiki"),p(),y(48,"br"),h(49,"a",13),f(50,"FAQ"),p()(),h(51,"div",14)(52,"p")(53,"b"),f(54,"Download"),p()(),h(55,"i"),f(56,"NuGet"),p(),y(57,"br"),h(58,"a",15),f(59,"ReportGenerator"),p(),y(60,"br"),h(61,"a",16),f(62,"dotnet-reportgenerator-globaltool"),p(),y(63,"br"),h(64,"a",17),f(65,"ReportGenerator.Core"),p(),y(66,"br")(67,"br"),h(68,"i"),f(69,"Integration"),p(),y(70,"br"),h(71,"a",18),f(72,"GitHub actions"),p(),y(73,"br"),h(74,"a",19),f(75,"Azure DevOps"),p()(),h(76,"div",20)(77,"p")(78,"b"),f(79,"Community"),p()(),h(80,"a",11),y(81,"i",21),f(82," GitHub"),p(),y(83,"br"),h(84,"a",22),y(85,"i",23),f(86," Twitter"),p(),y(87,"br")(88,"br"),h(89,"a",24),f(90,"Privacy"),p(),y(91,"br"),h(92,"a",25),f(93,"Imprint"),p()()()()()()),2&r&&(C(19),Gn(" Fast forward ",o.years," years, I'm still maintaining "),C(6),M("routerLink",te(2,UU)))},dependencies:[Sn],styles:["footer[_ngcontent-%COMP%]{background-color:#464646}footer[_ngcontent-%COMP%], a[_ngcontent-%COMP%]{color:#fff}.portrait[_ngcontent-%COMP%]{max-height:300px}"]})}return e})();const LI=()=>["/"],HU=e=>({show:e}),Di=()=>["link-active"],VI=()=>({exact:!0}),$U=()=>["/features"],GU=()=>["/getstarted"],zU=()=>["/usage"],qU=()=>["/contact"],WU=()=>["/pro"];let ZU=(()=>{class e{constructor(){this.isExpanded=!1}collapse(){this.isExpanded=!1}toggle(){this.isExpanded=!this.isExpanded}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275cmp=xt({type:e,selectors:[["app-nav-menu"]],standalone:!0,features:[Lt],decls:42,vars:34,consts:[[1,"mb-5"],[1,"navbar","fixed-top","navbar-expand-sm","navbar-toggleable-sm","navbar-light","bg-white","border-bottom","box-shadow","mb-3"],[1,"container-xxl","flex-wrap","flex-md-nowrap"],[1,"navbar-brand",3,"routerLink"],["src","resources/logo.svg","height","40","alt","Icon",1,"me-2"],[1,"d-sm-none","d-md-none","d-lg-inline","ms-2"],["type","button","data-toggle","collapse","data-target",".navbar-collapse","aria-label","Toggle navigation",1,"navbar-toggler",3,"click"],[1,"navbar-toggler-icon"],[1,"navbar-collapse","collapse","d-sm-inline-flex",3,"ngClass"],[1,"navbar-nav","flex-grow"],[1,"nav-item",3,"routerLinkActive","routerLinkActiveOptions"],[1,"nav-link","text-dark",3,"routerLink"],[1,"nav-item",3,"routerLinkActive"],[1,"nav-link","text-dark","text-nowrap",3,"routerLink"],[1,"pro-button"],[1,"d-md-none","text-secondary"],[1,"navbar-nav","flex-row","flex-wrap","ms-md-auto","d-sm-none","d-md-flex"],[1,"nav-item","col-6","col-md-auto"],["href","https://github.com/danielpalme/ReportGenerator","target","_blank","title","GitHub",1,"nav-link","text-dark"],[1,"fa-brands","fa-github"],[1,"d-inline","d-sm-none","ms-2"],["href","https://twitter.com/danielpalme","target","_blank","title","Twitter",1,"nav-link","text-dark"],[1,"fa-brands","fa-twitter"]],template:function(r,o){1&r&&(h(0,"header",0)(1,"nav",1)(2,"div",2)(3,"a",3),y(4,"img",4),h(5,"span",5),f(6,"ReportGenerator"),p()(),h(7,"button",6),U("click",function(){return o.toggle()}),y(8,"span",7),p(),h(9,"div",8)(10,"ul",9)(11,"li",10)(12,"a",11),f(13,"Home"),p()(),h(14,"li",10)(15,"a",11),f(16,"Features"),p()(),h(17,"li",12)(18,"a",13),f(19,"Get started"),p()(),h(20,"li",12)(21,"a",11),f(22,"Usage"),p()(),h(23,"li",12)(24,"a",11),f(25,"Contact"),p()(),h(26,"li",12)(27,"a",11)(28,"span",14),f(29,"PRO"),p()()()(),y(30,"hr",15),h(31,"ul",16)(32,"li",17)(33,"a",18),y(34,"i",19),h(35,"span",20),f(36,"GitHub"),p()()(),h(37,"li",17)(38,"a",21),y(39,"i",22),h(40,"span",20),f(41,"Twitter"),p()()()()()()()()),2&r&&(C(3),M("routerLink",te(17,LI)),C(4),nn("aria-expanded",o.isExpanded),C(2),M("ngClass",Rs(18,HU,o.isExpanded)),C(2),M("routerLinkActive",te(20,Di))("routerLinkActiveOptions",te(21,VI)),C(),M("routerLink",te(22,LI)),C(2),M("routerLinkActive",te(23,Di))("routerLinkActiveOptions",te(24,VI)),C(),M("routerLink",te(25,$U)),C(2),M("routerLinkActive",te(26,Di)),C(),M("routerLink",te(27,GU)),C(2),M("routerLinkActive",te(28,Di)),C(),M("routerLink",te(29,zU)),C(2),M("routerLinkActive",te(30,Di)),C(),M("routerLink",te(31,qU)),C(2),M("routerLinkActive",te(32,Di)),C(),M("routerLink",te(33,WU)))},dependencies:[Sn,Ec,SI],styles:[".box-shadow[_ngcontent-%COMP%]{box-shadow:0 .25rem .75rem #0000000d}@keyframes _ngcontent-%COMP%_pro-button-animation{0%{background-color:var(--rg-primary-color);background-image:linear-gradient(50deg,var(--rg-gradient-from) 0%,var(--rg-gradient-to) 100%)}50%{background-color:vvar(--rg-primary-hover-color);background-image:linear-gradient(50deg,var(--rg-gradient-hover-from) 0%,var(--rg-gradient-hover-from) 100%);box-shadow:0 0 6px 1px var(--rg-primary-color)}to{background-color:var(--rg-primary-color);background-image:linear-gradient(50deg,var(--rg-gradient-from) 0%,var(--rg-gradient-to) 100%)}}.pro-button[_ngcontent-%COMP%]{animation-name:_ngcontent-%COMP%_pro-button-animation;animation-duration:2s;animation-iteration-count:2}.pro-button[_ngcontent-%COMP%]:hover, .link-active[_ngcontent-%COMP%] .pro-button[_ngcontent-%COMP%]{background-color:var(--rg-primary-hover-color);background-image:linear-gradient(50deg,var(--rg-gradient-hover-from) 0%,var(--rg-gradient-hover-from) 100%);box-shadow:0 0 6px 1px var(--rg-primary-color)}.nav-link[_ngcontent-%COMP%]{text-transform:uppercase;font-weight:500}.nav-link[_ngcontent-%COMP%]:hover{text-decoration:underline;text-underline-offset:2px}.link-active[_ngcontent-%COMP%] a[_ngcontent-%COMP%]{color:var(--rg-primary-hover-color)!important;font-weight:400}"]})}return e})(),QU=(()=>{class e{constructor(t,r,o){this.dom=t,this.router=r,this.activatedRoute=o}ngOnInit(){this.router.events.pipe(cn(t=>t instanceof In),K(()=>this.activatedRoute),K(t=>{for(;t.firstChild;)t=t.firstChild;return t}),cn(t=>"primary"===t.outlet),nt(t=>t.data)).subscribe(t=>{const r=`${window.location.protocol}//${window.location.hostname}`;this.updateCanonicalUrl(t.canonical?r+t.canonical:r+this.router.url)})}updateCanonicalUrl(t){const r=this.dom.getElementsByTagName("head")[0];var o=this.dom.querySelector("link[rel='canonical']")||null;null==o&&(o=this.dom.createElement("link"),r.appendChild(o)),o.setAttribute("rel","canonical"),o.setAttribute("href",t)}static#e=this.\u0275fac=function(r){return new(r||e)(S(Tt),S(qt),S(Qr))};static#t=this.\u0275cmp=xt({type:e,selectors:[["app-root"]],standalone:!0,features:[Lt],decls:3,vars:0,template:function(r,o){1&r&&y(0,"app-nav-menu")(1,"router-outlet")(2,"app-footer")},dependencies:[ZU,Fp,BU],encapsulation:2})}return e})(),jI=(()=>{class e{constructor(t,r){this._renderer=t,this._elementRef=r,this.onChange=o=>{},this.onTouched=()=>{}}setProperty(t,r){this._renderer.setProperty(this._elementRef.nativeElement,t,r)}registerOnTouched(t){this.onTouched=t}registerOnChange(t){this.onChange=t}setDisabledState(t){this.setProperty("disabled",t)}static#e=this.\u0275fac=function(r){return new(r||e)(S(Hn),S(Ot))};static#t=this.\u0275dir=H({type:e})}return e})(),Yr=(()=>{class e extends jI{static#e=this.\u0275fac=(()=>{let t;return function(o){return(t||(t=Ke(e)))(o||e)}})();static#t=this.\u0275dir=H({type:e,features:[fe]})}return e})();const An=new N(""),JU={provide:An,useExisting:_e(()=>wi),multi:!0},eB=new N("");let wi=(()=>{class e extends jI{constructor(t,r,o){super(t,r),this._compositionMode=o,this._composing=!1,null==this._compositionMode&&(this._compositionMode=!function KU(){const e=pr()?pr().getUserAgent():"";return/android (\d+)/.test(e.toLowerCase())}())}writeValue(t){this.setProperty("value",t??"")}_handleInput(t){(!this._compositionMode||this._compositionMode&&!this._composing)&&this.onChange(t)}_compositionStart(){this._composing=!0}_compositionEnd(t){this._composing=!1,this._compositionMode&&this.onChange(t)}static#e=this.\u0275fac=function(r){return new(r||e)(S(Hn),S(Ot),S(eB,8))};static#t=this.\u0275dir=H({type:e,selectors:[["input","formControlName","",3,"type","checkbox"],["textarea","formControlName",""],["input","formControl","",3,"type","checkbox"],["textarea","formControl",""],["input","ngModel","",3,"type","checkbox"],["textarea","ngModel",""],["","ngDefaultControl",""]],hostBindings:function(r,o){1&r&&U("input",function(s){return o._handleInput(s.target.value)})("blur",function(){return o.onTouched()})("compositionstart",function(){return o._compositionStart()})("compositionend",function(s){return o._compositionEnd(s.target.value)})},features:[Te([JU]),fe]})}return e})();function vr(e){return null==e||("string"==typeof e||Array.isArray(e))&&0===e.length}const dt=new N(""),yr=new N(""),tB=/^(?=.{1,254}$)(?=.{1,64}@)[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+)*@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/;function GI(e){return vr(e.value)?{required:!0}:null}function qI(e){return vr(e.value)||tB.test(e.value)?null:{email:!0}}function zc(e){return null}function YI(e){return null!=e}function XI(e){return Vs(e)?Je(e):e}function JI(e){let n={};return e.forEach(t=>{n=null!=t?{...n,...t}:n}),0===Object.keys(n).length?null:n}function KI(e,n){return n.map(t=>t(e))}function eM(e){return e.map(n=>function nB(e){return!e.validate}(n)?n:t=>n.validate(t))}function Wp(e){return null!=e?function tM(e){if(!e)return null;const n=e.filter(YI);return 0==n.length?null:function(t){return JI(KI(t,n))}}(eM(e)):null}function Zp(e){return null!=e?function nM(e){if(!e)return null;const n=e.filter(YI);return 0==n.length?null:function(t){return function YU(...e){const n=hE(e),{args:t,keys:r}=pE(e),o=new Be(i=>{const{length:s}=t;if(!s)return void i.complete();const a=new Array(s);let l=s,c=s;for(let u=0;u{d||(d=!0,c--),a[u]=g},()=>l--,void 0,()=>{(!l||!d)&&(c||i.next(r?mE(r,a):a),i.complete())}))}});return n?o.pipe(gE(n)):o}(KI(t,n).map(XI)).pipe(K(JI))}}(eM(e)):null}function rM(e,n){return null===e?[n]:Array.isArray(e)?[...e,n]:[e,n]}function Qp(e){return e?Array.isArray(e)?e:[e]:[]}function qc(e,n){return Array.isArray(e)?e.includes(n):e===n}function sM(e,n){const t=Qp(n);return Qp(e).forEach(o=>{qc(t,o)||t.push(o)}),t}function aM(e,n){return Qp(n).filter(t=>!qc(e,t))}class lM{constructor(){this._rawValidators=[],this._rawAsyncValidators=[],this._onDestroyCallbacks=[]}get value(){return this.control?this.control.value:null}get valid(){return this.control?this.control.valid:null}get invalid(){return this.control?this.control.invalid:null}get pending(){return this.control?this.control.pending:null}get disabled(){return this.control?this.control.disabled:null}get enabled(){return this.control?this.control.enabled:null}get errors(){return this.control?this.control.errors:null}get pristine(){return this.control?this.control.pristine:null}get dirty(){return this.control?this.control.dirty:null}get touched(){return this.control?this.control.touched:null}get status(){return this.control?this.control.status:null}get untouched(){return this.control?this.control.untouched:null}get statusChanges(){return this.control?this.control.statusChanges:null}get valueChanges(){return this.control?this.control.valueChanges:null}get path(){return null}_setValidators(n){this._rawValidators=n||[],this._composedValidatorFn=Wp(this._rawValidators)}_setAsyncValidators(n){this._rawAsyncValidators=n||[],this._composedAsyncValidatorFn=Zp(this._rawAsyncValidators)}get validator(){return this._composedValidatorFn||null}get asyncValidator(){return this._composedAsyncValidatorFn||null}_registerOnDestroy(n){this._onDestroyCallbacks.push(n)}_invokeOnDestroyCallbacks(){this._onDestroyCallbacks.forEach(n=>n()),this._onDestroyCallbacks=[]}reset(n=void 0){this.control&&this.control.reset(n)}hasError(n,t){return!!this.control&&this.control.hasError(n,t)}getError(n,t){return this.control?this.control.getError(n,t):null}}class vt extends lM{get formDirective(){return null}get path(){return null}}class _r extends lM{constructor(){super(...arguments),this._parent=null,this.name=null,this.valueAccessor=null}}class cM{constructor(n){this._cd=n}get isTouched(){return!!this._cd?.control?.touched}get isUntouched(){return!!this._cd?.control?.untouched}get isPristine(){return!!this._cd?.control?.pristine}get isDirty(){return!!this._cd?.control?.dirty}get isValid(){return!!this._cd?.control?.valid}get isInvalid(){return!!this._cd?.control?.invalid}get isPending(){return!!this._cd?.control?.pending}get isSubmitted(){return!!this._cd?.submitted}}let Wc=(()=>{class e extends cM{constructor(t){super(t)}static#e=this.\u0275fac=function(r){return new(r||e)(S(_r,2))};static#t=this.\u0275dir=H({type:e,selectors:[["","formControlName",""],["","ngModel",""],["","formControl",""]],hostVars:14,hostBindings:function(r,o){2&r&&Zl("ng-untouched",o.isUntouched)("ng-touched",o.isTouched)("ng-pristine",o.isPristine)("ng-dirty",o.isDirty)("ng-valid",o.isValid)("ng-invalid",o.isInvalid)("ng-pending",o.isPending)},features:[fe]})}return e})(),Zc=(()=>{class e extends cM{constructor(t){super(t)}static#e=this.\u0275fac=function(r){return new(r||e)(S(vt,10))};static#t=this.\u0275dir=H({type:e,selectors:[["","formGroupName",""],["","formArrayName",""],["","ngModelGroup",""],["","formGroup",""],["form",3,"ngNoForm",""],["","ngForm",""]],hostVars:16,hostBindings:function(r,o){2&r&&Zl("ng-untouched",o.isUntouched)("ng-touched",o.isTouched)("ng-pristine",o.isPristine)("ng-dirty",o.isDirty)("ng-valid",o.isValid)("ng-invalid",o.isInvalid)("ng-pending",o.isPending)("ng-submitted",o.isSubmitted)},features:[fe]})}return e})();const la="VALID",Yc="INVALID",bi="PENDING",ca="DISABLED";function Jp(e){return(Xc(e)?e.validators:e)||null}function Kp(e,n){return(Xc(n)?n.asyncValidators:e)||null}function Xc(e){return null!=e&&!Array.isArray(e)&&"object"==typeof e}class eg{constructor(n,t){this._pendingDirty=!1,this._hasOwnPendingAsyncValidator=!1,this._pendingTouched=!1,this._onCollectionChange=()=>{},this._parent=null,this.pristine=!0,this.touched=!1,this._onDisabledChange=[],this._assignValidators(n),this._assignAsyncValidators(t)}get validator(){return this._composedValidatorFn}set validator(n){this._rawValidators=this._composedValidatorFn=n}get asyncValidator(){return this._composedAsyncValidatorFn}set asyncValidator(n){this._rawAsyncValidators=this._composedAsyncValidatorFn=n}get parent(){return this._parent}get valid(){return this.status===la}get invalid(){return this.status===Yc}get pending(){return this.status==bi}get disabled(){return this.status===ca}get enabled(){return this.status!==ca}get dirty(){return!this.pristine}get untouched(){return!this.touched}get updateOn(){return this._updateOn?this._updateOn:this.parent?this.parent.updateOn:"change"}setValidators(n){this._assignValidators(n)}setAsyncValidators(n){this._assignAsyncValidators(n)}addValidators(n){this.setValidators(sM(n,this._rawValidators))}addAsyncValidators(n){this.setAsyncValidators(sM(n,this._rawAsyncValidators))}removeValidators(n){this.setValidators(aM(n,this._rawValidators))}removeAsyncValidators(n){this.setAsyncValidators(aM(n,this._rawAsyncValidators))}hasValidator(n){return qc(this._rawValidators,n)}hasAsyncValidator(n){return qc(this._rawAsyncValidators,n)}clearValidators(){this.validator=null}clearAsyncValidators(){this.asyncValidator=null}markAsTouched(n={}){this.touched=!0,this._parent&&!n.onlySelf&&this._parent.markAsTouched(n)}markAllAsTouched(){this.markAsTouched({onlySelf:!0}),this._forEachChild(n=>n.markAllAsTouched())}markAsUntouched(n={}){this.touched=!1,this._pendingTouched=!1,this._forEachChild(t=>{t.markAsUntouched({onlySelf:!0})}),this._parent&&!n.onlySelf&&this._parent._updateTouched(n)}markAsDirty(n={}){this.pristine=!1,this._parent&&!n.onlySelf&&this._parent.markAsDirty(n)}markAsPristine(n={}){this.pristine=!0,this._pendingDirty=!1,this._forEachChild(t=>{t.markAsPristine({onlySelf:!0})}),this._parent&&!n.onlySelf&&this._parent._updatePristine(n)}markAsPending(n={}){this.status=bi,!1!==n.emitEvent&&this.statusChanges.emit(this.status),this._parent&&!n.onlySelf&&this._parent.markAsPending(n)}disable(n={}){const t=this._parentMarkedDirty(n.onlySelf);this.status=ca,this.errors=null,this._forEachChild(r=>{r.disable({...n,onlySelf:!0})}),this._updateValue(),!1!==n.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._updateAncestors({...n,skipPristineCheck:t}),this._onDisabledChange.forEach(r=>r(!0))}enable(n={}){const t=this._parentMarkedDirty(n.onlySelf);this.status=la,this._forEachChild(r=>{r.enable({...n,onlySelf:!0})}),this.updateValueAndValidity({onlySelf:!0,emitEvent:n.emitEvent}),this._updateAncestors({...n,skipPristineCheck:t}),this._onDisabledChange.forEach(r=>r(!1))}_updateAncestors(n){this._parent&&!n.onlySelf&&(this._parent.updateValueAndValidity(n),n.skipPristineCheck||this._parent._updatePristine(),this._parent._updateTouched())}setParent(n){this._parent=n}getRawValue(){return this.value}updateValueAndValidity(n={}){this._setInitialStatus(),this._updateValue(),this.enabled&&(this._cancelExistingSubscription(),this.errors=this._runValidator(),this.status=this._calculateStatus(),(this.status===la||this.status===bi)&&this._runAsyncValidator(n.emitEvent)),!1!==n.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._parent&&!n.onlySelf&&this._parent.updateValueAndValidity(n)}_updateTreeValidity(n={emitEvent:!0}){this._forEachChild(t=>t._updateTreeValidity(n)),this.updateValueAndValidity({onlySelf:!0,emitEvent:n.emitEvent})}_setInitialStatus(){this.status=this._allControlsDisabled()?ca:la}_runValidator(){return this.validator?this.validator(this):null}_runAsyncValidator(n){if(this.asyncValidator){this.status=bi,this._hasOwnPendingAsyncValidator=!0;const t=XI(this.asyncValidator(this));this._asyncValidationSubscription=t.subscribe(r=>{this._hasOwnPendingAsyncValidator=!1,this.setErrors(r,{emitEvent:n})})}}_cancelExistingSubscription(){this._asyncValidationSubscription&&(this._asyncValidationSubscription.unsubscribe(),this._hasOwnPendingAsyncValidator=!1)}setErrors(n,t={}){this.errors=n,this._updateControlsErrors(!1!==t.emitEvent)}get(n){let t=n;return null==t||(Array.isArray(t)||(t=t.split(".")),0===t.length)?null:t.reduce((r,o)=>r&&r._find(o),this)}getError(n,t){const r=t?this.get(t):this;return r&&r.errors?r.errors[n]:null}hasError(n,t){return!!this.getError(n,t)}get root(){let n=this;for(;n._parent;)n=n._parent;return n}_updateControlsErrors(n){this.status=this._calculateStatus(),n&&this.statusChanges.emit(this.status),this._parent&&this._parent._updateControlsErrors(n)}_initObservables(){this.valueChanges=new Ae,this.statusChanges=new Ae}_calculateStatus(){return this._allControlsDisabled()?ca:this.errors?Yc:this._hasOwnPendingAsyncValidator||this._anyControlsHaveStatus(bi)?bi:this._anyControlsHaveStatus(Yc)?Yc:la}_anyControlsHaveStatus(n){return this._anyControls(t=>t.status===n)}_anyControlsDirty(){return this._anyControls(n=>n.dirty)}_anyControlsTouched(){return this._anyControls(n=>n.touched)}_updatePristine(n={}){this.pristine=!this._anyControlsDirty(),this._parent&&!n.onlySelf&&this._parent._updatePristine(n)}_updateTouched(n={}){this.touched=this._anyControlsTouched(),this._parent&&!n.onlySelf&&this._parent._updateTouched(n)}_registerOnCollectionChange(n){this._onCollectionChange=n}_setUpdateStrategy(n){Xc(n)&&null!=n.updateOn&&(this._updateOn=n.updateOn)}_parentMarkedDirty(n){return!n&&!(!this._parent||!this._parent.dirty)&&!this._parent._anyControlsDirty()}_find(n){return null}_assignValidators(n){this._rawValidators=Array.isArray(n)?n.slice():n,this._composedValidatorFn=function sB(e){return Array.isArray(e)?Wp(e):e||null}(this._rawValidators)}_assignAsyncValidators(n){this._rawAsyncValidators=Array.isArray(n)?n.slice():n,this._composedAsyncValidatorFn=function aB(e){return Array.isArray(e)?Zp(e):e||null}(this._rawAsyncValidators)}}class tg extends eg{constructor(n,t,r){super(Jp(t),Kp(r,t)),this.controls=n,this._initObservables(),this._setUpdateStrategy(t),this._setUpControls(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator})}registerControl(n,t){return this.controls[n]?this.controls[n]:(this.controls[n]=t,t.setParent(this),t._registerOnCollectionChange(this._onCollectionChange),t)}addControl(n,t,r={}){this.registerControl(n,t),this.updateValueAndValidity({emitEvent:r.emitEvent}),this._onCollectionChange()}removeControl(n,t={}){this.controls[n]&&this.controls[n]._registerOnCollectionChange(()=>{}),delete this.controls[n],this.updateValueAndValidity({emitEvent:t.emitEvent}),this._onCollectionChange()}setControl(n,t,r={}){this.controls[n]&&this.controls[n]._registerOnCollectionChange(()=>{}),delete this.controls[n],t&&this.registerControl(n,t),this.updateValueAndValidity({emitEvent:r.emitEvent}),this._onCollectionChange()}contains(n){return this.controls.hasOwnProperty(n)&&this.controls[n].enabled}setValue(n,t={}){(function fM(e,n,t){e._forEachChild((r,o)=>{if(void 0===t[o])throw new I(1002,"")})})(this,0,n),Object.keys(n).forEach(r=>{(function dM(e,n,t){const r=e.controls;if(!(n?Object.keys(r):r).length)throw new I(1e3,"");if(!r[t])throw new I(1001,"")})(this,!0,r),this.controls[r].setValue(n[r],{onlySelf:!0,emitEvent:t.emitEvent})}),this.updateValueAndValidity(t)}patchValue(n,t={}){null!=n&&(Object.keys(n).forEach(r=>{const o=this.controls[r];o&&o.patchValue(n[r],{onlySelf:!0,emitEvent:t.emitEvent})}),this.updateValueAndValidity(t))}reset(n={},t={}){this._forEachChild((r,o)=>{r.reset(n?n[o]:null,{onlySelf:!0,emitEvent:t.emitEvent})}),this._updatePristine(t),this._updateTouched(t),this.updateValueAndValidity(t)}getRawValue(){return this._reduceChildren({},(n,t,r)=>(n[r]=t.getRawValue(),n))}_syncPendingControls(){let n=this._reduceChildren(!1,(t,r)=>!!r._syncPendingControls()||t);return n&&this.updateValueAndValidity({onlySelf:!0}),n}_forEachChild(n){Object.keys(this.controls).forEach(t=>{const r=this.controls[t];r&&n(r,t)})}_setUpControls(){this._forEachChild(n=>{n.setParent(this),n._registerOnCollectionChange(this._onCollectionChange)})}_updateValue(){this.value=this._reduceValue()}_anyControls(n){for(const[t,r]of Object.entries(this.controls))if(this.contains(t)&&n(r))return!0;return!1}_reduceValue(){return this._reduceChildren({},(t,r,o)=>((r.enabled||this.disabled)&&(t[o]=r.value),t))}_reduceChildren(n,t){let r=n;return this._forEachChild((o,i)=>{r=t(r,o,i)}),r}_allControlsDisabled(){for(const n of Object.keys(this.controls))if(this.controls[n].enabled)return!1;return Object.keys(this.controls).length>0||this.disabled}_find(n){return this.controls.hasOwnProperty(n)?this.controls[n]:null}}const Ei=new N("CallSetDisabledState",{providedIn:"root",factory:()=>Jc}),Jc="always";function ua(e,n,t=Jc){ng(e,n),n.valueAccessor.writeValue(e.value),(e.disabled||"always"===t)&&n.valueAccessor.setDisabledState?.(e.disabled),function uB(e,n){n.valueAccessor.registerOnChange(t=>{e._pendingValue=t,e._pendingChange=!0,e._pendingDirty=!0,"change"===e.updateOn&&hM(e,n)})}(e,n),function fB(e,n){const t=(r,o)=>{n.valueAccessor.writeValue(r),o&&n.viewToModelUpdate(r)};e.registerOnChange(t),n._registerOnDestroy(()=>{e._unregisterOnChange(t)})}(e,n),function dB(e,n){n.valueAccessor.registerOnTouched(()=>{e._pendingTouched=!0,"blur"===e.updateOn&&e._pendingChange&&hM(e,n),"submit"!==e.updateOn&&e.markAsTouched()})}(e,n),function cB(e,n){if(n.valueAccessor.setDisabledState){const t=r=>{n.valueAccessor.setDisabledState(r)};e.registerOnDisabledChange(t),n._registerOnDestroy(()=>{e._unregisterOnDisabledChange(t)})}}(e,n)}function tu(e,n){e.forEach(t=>{t.registerOnValidatorChange&&t.registerOnValidatorChange(n)})}function ng(e,n){const t=function oM(e){return e._rawValidators}(e);null!==n.validator?e.setValidators(rM(t,n.validator)):"function"==typeof t&&e.setValidators([t]);const r=function iM(e){return e._rawAsyncValidators}(e);null!==n.asyncValidator?e.setAsyncValidators(rM(r,n.asyncValidator)):"function"==typeof r&&e.setAsyncValidators([r]);const o=()=>e.updateValueAndValidity();tu(n._rawValidators,o),tu(n._rawAsyncValidators,o)}function hM(e,n){e._pendingDirty&&e.markAsDirty(),e.setValue(e._pendingValue,{emitModelToViewChange:!1}),n.viewToModelUpdate(e._pendingValue),e._pendingChange=!1}const vB={provide:vt,useExisting:_e(()=>Ii)},da=Promise.resolve();let Ii=(()=>{class e extends vt{constructor(t,r,o){super(),this.callSetDisabledState=o,this.submitted=!1,this._directives=new Set,this.ngSubmit=new Ae,this.form=new tg({},Wp(t),Zp(r))}ngAfterViewInit(){this._setUpdateStrategy()}get formDirective(){return this}get control(){return this.form}get path(){return[]}get controls(){return this.form.controls}addControl(t){da.then(()=>{const r=this._findContainer(t.path);t.control=r.registerControl(t.name,t.control),ua(t.control,t,this.callSetDisabledState),t.control.updateValueAndValidity({emitEvent:!1}),this._directives.add(t)})}getControl(t){return this.form.get(t.path)}removeControl(t){da.then(()=>{const r=this._findContainer(t.path);r&&r.removeControl(t.name),this._directives.delete(t)})}addFormGroup(t){da.then(()=>{const r=this._findContainer(t.path),o=new tg({});(function pM(e,n){ng(e,n)})(o,t),r.registerControl(t.name,o),o.updateValueAndValidity({emitEvent:!1})})}removeFormGroup(t){da.then(()=>{const r=this._findContainer(t.path);r&&r.removeControl(t.name)})}getFormGroup(t){return this.form.get(t.path)}updateModel(t,r){da.then(()=>{this.form.get(t.path).setValue(r)})}setValue(t){this.control.setValue(t)}onSubmit(t){return this.submitted=!0,function gM(e,n){e._syncPendingControls(),n.forEach(t=>{const r=t.control;"submit"===r.updateOn&&r._pendingChange&&(t.viewToModelUpdate(r._pendingValue),r._pendingChange=!1)})}(this.form,this._directives),this.ngSubmit.emit(t),"dialog"===t?.target?.method}onReset(){this.resetForm()}resetForm(t=void 0){this.form.reset(t),this.submitted=!1}_setUpdateStrategy(){this.options&&null!=this.options.updateOn&&(this.form._updateOn=this.options.updateOn)}_findContainer(t){return t.pop(),t.length?this.form.get(t):this.form}static#e=this.\u0275fac=function(r){return new(r||e)(S(dt,10),S(yr,10),S(Ei,8))};static#t=this.\u0275dir=H({type:e,selectors:[["form",3,"ngNoForm","",3,"formGroup",""],["ng-form"],["","ngForm",""]],hostBindings:function(r,o){1&r&&U("submit",function(s){return o.onSubmit(s)})("reset",function(){return o.onReset()})},inputs:{options:[Ie.None,"ngFormOptions","options"]},outputs:{ngSubmit:"ngSubmit"},exportAs:["ngForm"],features:[Te([vB]),fe]})}return e})();function mM(e,n){const t=e.indexOf(n);t>-1&&e.splice(t,1)}function vM(e){return"object"==typeof e&&null!==e&&2===Object.keys(e).length&&"value"in e&&"disabled"in e}const yM=class extends eg{constructor(n=null,t,r){super(Jp(t),Kp(r,t)),this.defaultValue=null,this._onChange=[],this._pendingChange=!1,this._applyFormState(n),this._setUpdateStrategy(t),this._initObservables(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator}),Xc(t)&&(t.nonNullable||t.initialValueIsDefault)&&(this.defaultValue=vM(n)?n.value:n)}setValue(n,t={}){this.value=this._pendingValue=n,this._onChange.length&&!1!==t.emitModelToViewChange&&this._onChange.forEach(r=>r(this.value,!1!==t.emitViewToModelChange)),this.updateValueAndValidity(t)}patchValue(n,t={}){this.setValue(n,t)}reset(n=this.defaultValue,t={}){this._applyFormState(n),this.markAsPristine(t),this.markAsUntouched(t),this.setValue(this.value,t),this._pendingChange=!1}_updateValue(){}_anyControls(n){return!1}_allControlsDisabled(){return this.disabled}registerOnChange(n){this._onChange.push(n)}_unregisterOnChange(n){mM(this._onChange,n)}registerOnDisabledChange(n){this._onDisabledChange.push(n)}_unregisterOnDisabledChange(n){mM(this._onDisabledChange,n)}_forEachChild(n){}_syncPendingControls(){return!("submit"!==this.updateOn||(this._pendingDirty&&this.markAsDirty(),this._pendingTouched&&this.markAsTouched(),!this._pendingChange)||(this.setValue(this._pendingValue,{onlySelf:!0,emitModelToViewChange:!1}),0))}_applyFormState(n){vM(n)?(this.value=this._pendingValue=n.value,n.disabled?this.disable({onlySelf:!0,emitEvent:!1}):this.enable({onlySelf:!0,emitEvent:!1})):this.value=this._pendingValue=n}},CB={provide:_r,useExisting:_e(()=>fa)},DM=Promise.resolve();let fa=(()=>{class e extends _r{constructor(t,r,o,i,s,a){super(),this._changeDetectorRef=s,this.callSetDisabledState=a,this.control=new yM,this._registered=!1,this.name="",this.update=new Ae,this._parent=t,this._setValidators(r),this._setAsyncValidators(o),this.valueAccessor=function ig(e,n){if(!n)return null;let t,r,o;return Array.isArray(n),n.forEach(i=>{i.constructor===wi?t=i:function gB(e){return Object.getPrototypeOf(e.constructor)===Yr}(i)?r=i:o=i}),o||r||t||null}(0,i)}ngOnChanges(t){if(this._checkForErrors(),!this._registered||"name"in t){if(this._registered&&(this._checkName(),this.formDirective)){const r=t.name.previousValue;this.formDirective.removeControl({name:r,path:this._getPath(r)})}this._setUpControl()}"isDisabled"in t&&this._updateDisabled(t),function og(e,n){if(!e.hasOwnProperty("model"))return!1;const t=e.model;return!!t.isFirstChange()||!Object.is(n,t.currentValue)}(t,this.viewModel)&&(this._updateValue(this.model),this.viewModel=this.model)}ngOnDestroy(){this.formDirective&&this.formDirective.removeControl(this)}get path(){return this._getPath(this.name)}get formDirective(){return this._parent?this._parent.formDirective:null}viewToModelUpdate(t){this.viewModel=t,this.update.emit(t)}_setUpControl(){this._setUpdateStrategy(),this._isStandalone()?this._setUpStandalone():this.formDirective.addControl(this),this._registered=!0}_setUpdateStrategy(){this.options&&null!=this.options.updateOn&&(this.control._updateOn=this.options.updateOn)}_isStandalone(){return!this._parent||!(!this.options||!this.options.standalone)}_setUpStandalone(){ua(this.control,this,this.callSetDisabledState),this.control.updateValueAndValidity({emitEvent:!1})}_checkForErrors(){this._isStandalone()||this._checkParentType(),this._checkName()}_checkParentType(){}_checkName(){this.options&&this.options.name&&(this.name=this.options.name),this._isStandalone()}_updateValue(t){DM.then(()=>{this.control.setValue(t,{emitViewToModelChange:!1}),this._changeDetectorRef?.markForCheck()})}_updateDisabled(t){const r=t.isDisabled.currentValue,o=0!==r&&oi(r);DM.then(()=>{o&&!this.control.disabled?this.control.disable():!o&&this.control.disabled&&this.control.enable(),this._changeDetectorRef?.markForCheck()})}_getPath(t){return this._parent?function Kc(e,n){return[...n.path,e]}(t,this._parent):[t]}static#e=this.\u0275fac=function(r){return new(r||e)(S(vt,9),S(dt,10),S(yr,10),S(An,10),S(ms,8),S(Ei,8))};static#t=this.\u0275dir=H({type:e,selectors:[["","ngModel","",3,"formControlName","",3,"formControl",""]],inputs:{name:"name",isDisabled:[Ie.None,"disabled","isDisabled"],model:[Ie.None,"ngModel","model"],options:[Ie.None,"ngModelOptions","options"]},outputs:{update:"ngModelChange"},exportAs:["ngModel"],features:[Te([CB]),fe,Ut]})}return e})(),ru=(()=>{class e{static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275dir=H({type:e,selectors:[["form",3,"ngNoForm","",3,"ngNativeValidate",""]],hostAttrs:["novalidate",""]})}return e})();const wB={provide:An,useExisting:_e(()=>sg),multi:!0};let bB=(()=>{class e{constructor(){this._accessors=[]}add(t,r){this._accessors.push([t,r])}remove(t){for(let r=this._accessors.length-1;r>=0;--r)if(this._accessors[r][1]===t)return void this._accessors.splice(r,1)}select(t){this._accessors.forEach(r=>{this._isSameGroup(r,t)&&r[1]!==t&&r[1].fireUncheck(t.value)})}_isSameGroup(t,r){return!!t[0].control&&t[0]._parent===r._control._parent&&t[1].name===r.name}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=R({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})(),sg=(()=>{class e extends Yr{constructor(t,r,o,i){super(t,r),this._registry=o,this._injector=i,this.setDisabledStateFired=!1,this.onChange=()=>{},this.callSetDisabledState=T(Ei,{optional:!0})??Jc}ngOnInit(){this._control=this._injector.get(_r),this._checkName(),this._registry.add(this._control,this)}ngOnDestroy(){this._registry.remove(this)}writeValue(t){this._state=t===this.value,this.setProperty("checked",this._state)}registerOnChange(t){this._fn=t,this.onChange=()=>{t(this.value),this._registry.select(this)}}setDisabledState(t){(this.setDisabledStateFired||t||"whenDisabledForLegacyCode"===this.callSetDisabledState)&&this.setProperty("disabled",t),this.setDisabledStateFired=!0}fireUncheck(t){this.writeValue(t)}_checkName(){!this.name&&this.formControlName&&(this.name=this.formControlName)}static#e=this.\u0275fac=function(r){return new(r||e)(S(Hn),S(Ot),S(bB),S(wt))};static#t=this.\u0275dir=H({type:e,selectors:[["input","type","radio","formControlName",""],["input","type","radio","formControl",""],["input","type","radio","ngModel",""]],hostBindings:function(r,o){1&r&&U("change",function(){return o.onChange()})("blur",function(){return o.onTouched()})},inputs:{name:"name",formControlName:"formControlName",value:"value"},features:[Te([wB]),fe]})}return e})();const NB={provide:An,useExisting:_e(()=>ou),multi:!0};function TM(e,n){return null==e?`${n}`:(n&&"object"==typeof n&&(n="Object"),`${e}: ${n}`.slice(0,50))}let ou=(()=>{class e extends Yr{constructor(){super(...arguments),this._optionMap=new Map,this._idCounter=0,this._compareWith=Object.is}set compareWith(t){this._compareWith=t}writeValue(t){this.value=t;const o=TM(this._getOptionId(t),t);this.setProperty("value",o)}registerOnChange(t){this.onChange=r=>{this.value=this._getOptionValue(r),t(this.value)}}_registerOption(){return(this._idCounter++).toString()}_getOptionId(t){for(const r of this._optionMap.keys())if(this._compareWith(this._optionMap.get(r),t))return r;return null}_getOptionValue(t){const r=function xB(e){return e.split(":")[0]}(t);return this._optionMap.has(r)?this._optionMap.get(r):t}static#e=this.\u0275fac=(()=>{let t;return function(o){return(t||(t=Ke(e)))(o||e)}})();static#t=this.\u0275dir=H({type:e,selectors:[["select","formControlName","",3,"multiple",""],["select","formControl","",3,"multiple",""],["select","ngModel","",3,"multiple",""]],hostBindings:function(r,o){1&r&&U("change",function(s){return o.onChange(s.target.value)})("blur",function(){return o.onTouched()})},inputs:{compareWith:"compareWith"},features:[Te([NB]),fe]})}return e})(),AM=(()=>{class e{constructor(t,r,o){this._element=t,this._renderer=r,this._select=o,this._select&&(this.id=this._select._registerOption())}set ngValue(t){null!=this._select&&(this._select._optionMap.set(this.id,t),this._setElementValue(TM(this.id,t)),this._select.writeValue(this._select.value))}set value(t){this._setElementValue(t),this._select&&this._select.writeValue(this._select.value)}_setElementValue(t){this._renderer.setProperty(this._element.nativeElement,"value",t)}ngOnDestroy(){this._select&&(this._select._optionMap.delete(this.id),this._select.writeValue(this._select.value))}static#e=this.\u0275fac=function(r){return new(r||e)(S(Ot),S(Hn),S(ou,9))};static#t=this.\u0275dir=H({type:e,selectors:[["option"]],inputs:{ngValue:"ngValue",value:"value"}})}return e})();const RB={provide:An,useExisting:_e(()=>ug),multi:!0};function NM(e,n){return null==e?`${n}`:("string"==typeof n&&(n=`'${n}'`),n&&"object"==typeof n&&(n="Object"),`${e}: ${n}`.slice(0,50))}let ug=(()=>{class e extends Yr{constructor(){super(...arguments),this._optionMap=new Map,this._idCounter=0,this._compareWith=Object.is}set compareWith(t){this._compareWith=t}writeValue(t){let r;if(this.value=t,Array.isArray(t)){const o=t.map(i=>this._getOptionId(i));r=(i,s)=>{i._setSelected(o.indexOf(s.toString())>-1)}}else r=(o,i)=>{o._setSelected(!1)};this._optionMap.forEach(r)}registerOnChange(t){this.onChange=r=>{const o=[],i=r.selectedOptions;if(void 0!==i){const s=i;for(let a=0;a{let t;return function(o){return(t||(t=Ke(e)))(o||e)}})();static#t=this.\u0275dir=H({type:e,selectors:[["select","multiple","","formControlName",""],["select","multiple","","formControl",""],["select","multiple","","ngModel",""]],hostBindings:function(r,o){1&r&&U("change",function(s){return o.onChange(s.target)})("blur",function(){return o.onTouched()})},inputs:{compareWith:"compareWith"},features:[Te([RB]),fe]})}return e})(),xM=(()=>{class e{constructor(t,r,o){this._element=t,this._renderer=r,this._select=o,this._select&&(this.id=this._select._registerOption(this))}set ngValue(t){null!=this._select&&(this._value=t,this._setElementValue(NM(this.id,t)),this._select.writeValue(this._select.value))}set value(t){this._select?(this._value=t,this._setElementValue(NM(this.id,t)),this._select.writeValue(this._select.value)):this._setElementValue(t)}_setElementValue(t){this._renderer.setProperty(this._element.nativeElement,"value",t)}_setSelected(t){this._renderer.setProperty(this._element.nativeElement,"selected",t)}ngOnDestroy(){this._select&&(this._select._optionMap.delete(this.id),this._select.writeValue(this._select.value))}static#e=this.\u0275fac=function(r){return new(r||e)(S(Ot),S(Hn),S(ug,9))};static#t=this.\u0275dir=H({type:e,selectors:[["option"]],inputs:{ngValue:"ngValue",value:"value"}})}return e})();let Xr=(()=>{class e{constructor(){this._validator=zc}ngOnChanges(t){if(this.inputName in t){const r=this.normalizeInput(t[this.inputName].currentValue);this._enabled=this.enabled(r),this._validator=this._enabled?this.createValidator(r):zc,this._onChange&&this._onChange()}}validate(t){return this._validator(t)}registerOnValidatorChange(t){this._onChange=t}enabled(t){return null!=t}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275dir=H({type:e,features:[Ut]})}return e})();const FB={provide:dt,useExisting:_e(()=>Mi),multi:!0};let Mi=(()=>{class e extends Xr{constructor(){super(...arguments),this.inputName="required",this.normalizeInput=oi,this.createValidator=t=>GI}enabled(t){return t}static#e=this.\u0275fac=(()=>{let t;return function(o){return(t||(t=Ke(e)))(o||e)}})();static#t=this.\u0275dir=H({type:e,selectors:[["","required","","formControlName","",3,"type","checkbox"],["","required","","formControl","",3,"type","checkbox"],["","required","","ngModel","",3,"type","checkbox"]],hostVars:1,hostBindings:function(r,o){2&r&&nn("required",o._enabled?"":null)},inputs:{required:"required"},features:[Te([FB]),fe]})}return e})();const VB={provide:dt,useExisting:_e(()=>iu),multi:!0};let iu=(()=>{class e extends Xr{constructor(){super(...arguments),this.inputName="email",this.normalizeInput=oi,this.createValidator=t=>qI}enabled(t){return t}static#e=this.\u0275fac=(()=>{let t;return function(o){return(t||(t=Ke(e)))(o||e)}})();static#t=this.\u0275dir=H({type:e,selectors:[["","email","","formControlName",""],["","email","","formControl",""],["","email","","ngModel",""]],inputs:{email:"email"},features:[Te([VB]),fe]})}return e})();const UB={provide:dt,useExisting:_e(()=>dg),multi:!0};let dg=(()=>{class e extends Xr{constructor(){super(...arguments),this.inputName="maxlength",this.normalizeInput=t=>function RM(e){return"number"==typeof e?e:parseInt(e,10)}(t),this.createValidator=t=>function ZI(e){return n=>function BI(e){return null!=e&&"number"==typeof e.length}(n.value)&&n.value.length>e?{maxlength:{requiredLength:e,actualLength:n.value.length}}:null}(t)}static#e=this.\u0275fac=(()=>{let t;return function(o){return(t||(t=Ke(e)))(o||e)}})();static#t=this.\u0275dir=H({type:e,selectors:[["","maxlength","","formControlName",""],["","maxlength","","formControl",""],["","maxlength","","ngModel",""]],hostVars:1,hostBindings:function(r,o){2&r&&nn("maxlength",o._enabled?o.maxlength:null)},inputs:{maxlength:"maxlength"},features:[Te([UB]),fe]})}return e})();const BB={provide:dt,useExisting:_e(()=>fg),multi:!0};let fg=(()=>{class e extends Xr{constructor(){super(...arguments),this.inputName="pattern",this.normalizeInput=t=>t,this.createValidator=t=>function QI(e){if(!e)return zc;let n,t;return"string"==typeof e?(t="","^"!==e.charAt(0)&&(t+="^"),t+=e,"$"!==e.charAt(e.length-1)&&(t+="$"),n=new RegExp(t)):(t=e.toString(),n=e),r=>{if(vr(r.value))return null;const o=r.value;return n.test(o)?null:{pattern:{requiredPattern:t,actualValue:o}}}}(t)}static#e=this.\u0275fac=(()=>{let t;return function(o){return(t||(t=Ke(e)))(o||e)}})();static#t=this.\u0275dir=H({type:e,selectors:[["","pattern","","formControlName",""],["","pattern","","formControl",""],["","pattern","","ngModel",""]],hostVars:1,hostBindings:function(r,o){2&r&&nn("pattern",o._enabled?o.pattern:null)},inputs:{pattern:"pattern"},features:[Te([BB]),fe]})}return e})(),HB=(()=>{class e{static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275mod=Jn({type:e});static#n=this.\u0275inj=Ln({})}return e})(),su=(()=>{class e{static withConfig(t){return{ngModule:e,providers:[{provide:Ei,useValue:t.callSetDisabledState??Jc}]}}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275mod=Jn({type:e});static#n=this.\u0275inj=Ln({imports:[HB]})}return e})();class au{}class lu{}class Wt{constructor(n){this.normalizedNames=new Map,this.lazyUpdate=null,n?"string"==typeof n?this.lazyInit=()=>{this.headers=new Map,n.split("\n").forEach(t=>{const r=t.indexOf(":");if(r>0){const o=t.slice(0,r),i=o.toLowerCase(),s=t.slice(r+1).trim();this.maybeSetNormalizedName(o,i),this.headers.has(i)?this.headers.get(i).push(s):this.headers.set(i,[s])}})}:typeof Headers<"u"&&n instanceof Headers?(this.headers=new Map,n.forEach((t,r)=>{this.setHeaderEntries(r,t)})):this.lazyInit=()=>{this.headers=new Map,Object.entries(n).forEach(([t,r])=>{this.setHeaderEntries(t,r)})}:this.headers=new Map}has(n){return this.init(),this.headers.has(n.toLowerCase())}get(n){this.init();const t=this.headers.get(n.toLowerCase());return t&&t.length>0?t[0]:null}keys(){return this.init(),Array.from(this.normalizedNames.values())}getAll(n){return this.init(),this.headers.get(n.toLowerCase())||null}append(n,t){return this.clone({name:n,value:t,op:"a"})}set(n,t){return this.clone({name:n,value:t,op:"s"})}delete(n,t){return this.clone({name:n,value:t,op:"d"})}maybeSetNormalizedName(n,t){this.normalizedNames.has(t)||this.normalizedNames.set(t,n)}init(){this.lazyInit&&(this.lazyInit instanceof Wt?this.copyFrom(this.lazyInit):this.lazyInit(),this.lazyInit=null,this.lazyUpdate&&(this.lazyUpdate.forEach(n=>this.applyUpdate(n)),this.lazyUpdate=null))}copyFrom(n){n.init(),Array.from(n.headers.keys()).forEach(t=>{this.headers.set(t,n.headers.get(t)),this.normalizedNames.set(t,n.normalizedNames.get(t))})}clone(n){const t=new Wt;return t.lazyInit=this.lazyInit&&this.lazyInit instanceof Wt?this.lazyInit:this,t.lazyUpdate=(this.lazyUpdate||[]).concat([n]),t}applyUpdate(n){const t=n.name.toLowerCase();switch(n.op){case"a":case"s":let r=n.value;if("string"==typeof r&&(r=[r]),0===r.length)return;this.maybeSetNormalizedName(n.name,t);const o=("a"===n.op?this.headers.get(t):void 0)||[];o.push(...r),this.headers.set(t,o);break;case"d":const i=n.value;if(i){let s=this.headers.get(t);if(!s)return;s=s.filter(a=>-1===i.indexOf(a)),0===s.length?(this.headers.delete(t),this.normalizedNames.delete(t)):this.headers.set(t,s)}else this.headers.delete(t),this.normalizedNames.delete(t)}}setHeaderEntries(n,t){const r=(Array.isArray(t)?t:[t]).map(i=>i.toString()),o=n.toLowerCase();this.headers.set(o,r),this.maybeSetNormalizedName(n,o)}forEach(n){this.init(),Array.from(this.normalizedNames.keys()).forEach(t=>n(this.normalizedNames.get(t),this.headers.get(t)))}}class GB{encodeKey(n){return VM(n)}encodeValue(n){return VM(n)}decodeKey(n){return decodeURIComponent(n)}decodeValue(n){return decodeURIComponent(n)}}const qB=/%(\d[a-f0-9])/gi,WB={40:"@","3A":":",24:"$","2C":",","3B":";","3D":"=","3F":"?","2F":"/"};function VM(e){return encodeURIComponent(e).replace(qB,(n,t)=>WB[t]??n)}function cu(e){return`${e}`}class Cr{constructor(n={}){if(this.updates=null,this.cloneFrom=null,this.encoder=n.encoder||new GB,n.fromString){if(n.fromObject)throw new Error("Cannot specify both fromString and fromObject.");this.map=function zB(e,n){const t=new Map;return e.length>0&&e.replace(/^\?/,"").split("&").forEach(o=>{const i=o.indexOf("="),[s,a]=-1==i?[n.decodeKey(o),""]:[n.decodeKey(o.slice(0,i)),n.decodeValue(o.slice(i+1))],l=t.get(s)||[];l.push(a),t.set(s,l)}),t}(n.fromString,this.encoder)}else n.fromObject?(this.map=new Map,Object.keys(n.fromObject).forEach(t=>{const r=n.fromObject[t],o=Array.isArray(r)?r.map(cu):[cu(r)];this.map.set(t,o)})):this.map=null}has(n){return this.init(),this.map.has(n)}get(n){this.init();const t=this.map.get(n);return t?t[0]:null}getAll(n){return this.init(),this.map.get(n)||null}keys(){return this.init(),Array.from(this.map.keys())}append(n,t){return this.clone({param:n,value:t,op:"a"})}appendAll(n){const t=[];return Object.keys(n).forEach(r=>{const o=n[r];Array.isArray(o)?o.forEach(i=>{t.push({param:r,value:i,op:"a"})}):t.push({param:r,value:o,op:"a"})}),this.clone(t)}set(n,t){return this.clone({param:n,value:t,op:"s"})}delete(n,t){return this.clone({param:n,value:t,op:"d"})}toString(){return this.init(),this.keys().map(n=>{const t=this.encoder.encodeKey(n);return this.map.get(n).map(r=>t+"="+this.encoder.encodeValue(r)).join("&")}).filter(n=>""!==n).join("&")}clone(n){const t=new Cr({encoder:this.encoder});return t.cloneFrom=this.cloneFrom||this,t.updates=(this.updates||[]).concat(n),t}init(){null===this.map&&(this.map=new Map),null!==this.cloneFrom&&(this.cloneFrom.init(),this.cloneFrom.keys().forEach(n=>this.map.set(n,this.cloneFrom.map.get(n))),this.updates.forEach(n=>{switch(n.op){case"a":case"s":const t=("a"===n.op?this.map.get(n.param):void 0)||[];t.push(cu(n.value)),this.map.set(n.param,t);break;case"d":if(void 0===n.value){this.map.delete(n.param);break}{let r=this.map.get(n.param)||[];const o=r.indexOf(cu(n.value));-1!==o&&r.splice(o,1),r.length>0?this.map.set(n.param,r):this.map.delete(n.param)}}}),this.cloneFrom=this.updates=null)}}class ZB{constructor(){this.map=new Map}set(n,t){return this.map.set(n,t),this}get(n){return this.map.has(n)||this.map.set(n,n.defaultValue()),this.map.get(n)}delete(n){return this.map.delete(n),this}has(n){return this.map.has(n)}keys(){return this.map.keys()}}function jM(e){return typeof ArrayBuffer<"u"&&e instanceof ArrayBuffer}function UM(e){return typeof Blob<"u"&&e instanceof Blob}function BM(e){return typeof FormData<"u"&&e instanceof FormData}class ha{constructor(n,t,r,o){let i;if(this.url=t,this.body=null,this.reportProgress=!1,this.withCredentials=!1,this.responseType="json",this.method=n.toUpperCase(),function QB(e){switch(e){case"DELETE":case"GET":case"HEAD":case"OPTIONS":case"JSONP":return!1;default:return!0}}(this.method)||o?(this.body=void 0!==r?r:null,i=o):i=r,i&&(this.reportProgress=!!i.reportProgress,this.withCredentials=!!i.withCredentials,i.responseType&&(this.responseType=i.responseType),i.headers&&(this.headers=i.headers),i.context&&(this.context=i.context),i.params&&(this.params=i.params),this.transferCache=i.transferCache),this.headers??=new Wt,this.context??=new ZB,this.params){const s=this.params.toString();if(0===s.length)this.urlWithParams=t;else{const a=t.indexOf("?");this.urlWithParams=t+(-1===a?"?":ad.set(g,n.setHeaders[g]),l)),n.setParams&&(c=Object.keys(n.setParams).reduce((d,g)=>d.set(g,n.setParams[g]),c)),new ha(t,r,i,{params:c,headers:l,context:u,reportProgress:a,responseType:o,withCredentials:s})}}var Dr=function(e){return e[e.Sent=0]="Sent",e[e.UploadProgress=1]="UploadProgress",e[e.ResponseHeader=2]="ResponseHeader",e[e.DownloadProgress=3]="DownloadProgress",e[e.Response=4]="Response",e[e.User=5]="User",e}(Dr||{});class hg{constructor(n,t=pa.Ok,r="OK"){this.headers=n.headers||new Wt,this.status=void 0!==n.status?n.status:t,this.statusText=n.statusText||r,this.url=n.url||null,this.ok=this.status>=200&&this.status<300}}class uu extends hg{constructor(n={}){super(n),this.type=Dr.ResponseHeader}clone(n={}){return new uu({headers:n.headers||this.headers,status:void 0!==n.status?n.status:this.status,statusText:n.statusText||this.statusText,url:n.url||this.url||void 0})}}class Jr extends hg{constructor(n={}){super(n),this.type=Dr.Response,this.body=void 0!==n.body?n.body:null}clone(n={}){return new Jr({body:void 0!==n.body?n.body:this.body,headers:n.headers||this.headers,status:void 0!==n.status?n.status:this.status,statusText:n.statusText||this.statusText,url:n.url||this.url||void 0})}}class Si extends hg{constructor(n){super(n,0,"Unknown Error"),this.name="HttpErrorResponse",this.ok=!1,this.message=this.status>=200&&this.status<300?`Http failure during parsing for ${n.url||"(unknown url)"}`:`Http failure response for ${n.url||"(unknown url)"}: ${n.status} ${n.statusText}`,this.error=n.error||null}}var pa=function(e){return e[e.Continue=100]="Continue",e[e.SwitchingProtocols=101]="SwitchingProtocols",e[e.Processing=102]="Processing",e[e.EarlyHints=103]="EarlyHints",e[e.Ok=200]="Ok",e[e.Created=201]="Created",e[e.Accepted=202]="Accepted",e[e.NonAuthoritativeInformation=203]="NonAuthoritativeInformation",e[e.NoContent=204]="NoContent",e[e.ResetContent=205]="ResetContent",e[e.PartialContent=206]="PartialContent",e[e.MultiStatus=207]="MultiStatus",e[e.AlreadyReported=208]="AlreadyReported",e[e.ImUsed=226]="ImUsed",e[e.MultipleChoices=300]="MultipleChoices",e[e.MovedPermanently=301]="MovedPermanently",e[e.Found=302]="Found",e[e.SeeOther=303]="SeeOther",e[e.NotModified=304]="NotModified",e[e.UseProxy=305]="UseProxy",e[e.Unused=306]="Unused",e[e.TemporaryRedirect=307]="TemporaryRedirect",e[e.PermanentRedirect=308]="PermanentRedirect",e[e.BadRequest=400]="BadRequest",e[e.Unauthorized=401]="Unauthorized",e[e.PaymentRequired=402]="PaymentRequired",e[e.Forbidden=403]="Forbidden",e[e.NotFound=404]="NotFound",e[e.MethodNotAllowed=405]="MethodNotAllowed",e[e.NotAcceptable=406]="NotAcceptable",e[e.ProxyAuthenticationRequired=407]="ProxyAuthenticationRequired",e[e.RequestTimeout=408]="RequestTimeout",e[e.Conflict=409]="Conflict",e[e.Gone=410]="Gone",e[e.LengthRequired=411]="LengthRequired",e[e.PreconditionFailed=412]="PreconditionFailed",e[e.PayloadTooLarge=413]="PayloadTooLarge",e[e.UriTooLong=414]="UriTooLong",e[e.UnsupportedMediaType=415]="UnsupportedMediaType",e[e.RangeNotSatisfiable=416]="RangeNotSatisfiable",e[e.ExpectationFailed=417]="ExpectationFailed",e[e.ImATeapot=418]="ImATeapot",e[e.MisdirectedRequest=421]="MisdirectedRequest",e[e.UnprocessableEntity=422]="UnprocessableEntity",e[e.Locked=423]="Locked",e[e.FailedDependency=424]="FailedDependency",e[e.TooEarly=425]="TooEarly",e[e.UpgradeRequired=426]="UpgradeRequired",e[e.PreconditionRequired=428]="PreconditionRequired",e[e.TooManyRequests=429]="TooManyRequests",e[e.RequestHeaderFieldsTooLarge=431]="RequestHeaderFieldsTooLarge",e[e.UnavailableForLegalReasons=451]="UnavailableForLegalReasons",e[e.InternalServerError=500]="InternalServerError",e[e.NotImplemented=501]="NotImplemented",e[e.BadGateway=502]="BadGateway",e[e.ServiceUnavailable=503]="ServiceUnavailable",e[e.GatewayTimeout=504]="GatewayTimeout",e[e.HttpVersionNotSupported=505]="HttpVersionNotSupported",e[e.VariantAlsoNegotiates=506]="VariantAlsoNegotiates",e[e.InsufficientStorage=507]="InsufficientStorage",e[e.LoopDetected=508]="LoopDetected",e[e.NotExtended=510]="NotExtended",e[e.NetworkAuthenticationRequired=511]="NetworkAuthenticationRequired",e}(pa||{});function pg(e,n){return{body:n,headers:e.headers,context:e.context,observe:e.observe,params:e.params,reportProgress:e.reportProgress,responseType:e.responseType,withCredentials:e.withCredentials,transferCache:e.transferCache}}let gg=(()=>{class e{constructor(t){this.handler=t}request(t,r,o={}){let i;if(t instanceof ha)i=t;else{let l,c;l=o.headers instanceof Wt?o.headers:new Wt(o.headers),o.params&&(c=o.params instanceof Cr?o.params:new Cr({fromObject:o.params})),i=new ha(t,r,void 0!==o.body?o.body:null,{headers:l,context:o.context,params:c,reportProgress:o.reportProgress,responseType:o.responseType||"json",withCredentials:o.withCredentials,transferCache:o.transferCache})}const s=B(i).pipe(ai(l=>this.handler.handle(l)));if(t instanceof ha||"events"===o.observe)return s;const a=s.pipe(cn(l=>l instanceof Jr));switch(o.observe||"body"){case"body":switch(i.responseType){case"arraybuffer":return a.pipe(K(l=>{if(null!==l.body&&!(l.body instanceof ArrayBuffer))throw new Error("Response is not an ArrayBuffer.");return l.body}));case"blob":return a.pipe(K(l=>{if(null!==l.body&&!(l.body instanceof Blob))throw new Error("Response is not a Blob.");return l.body}));case"text":return a.pipe(K(l=>{if(null!==l.body&&"string"!=typeof l.body)throw new Error("Response is not a string.");return l.body}));default:return a.pipe(K(l=>l.body))}case"response":return a;default:throw new Error(`Unreachable: unhandled observe type ${o.observe}}`)}}delete(t,r={}){return this.request("DELETE",t,r)}get(t,r={}){return this.request("GET",t,r)}head(t,r={}){return this.request("HEAD",t,r)}jsonp(t,r){return this.request("JSONP",t,{params:(new Cr).append(r,"JSONP_CALLBACK"),observe:"body",responseType:"json"})}options(t,r={}){return this.request("OPTIONS",t,r)}patch(t,r,o={}){return this.request("PATCH",t,pg(o,r))}post(t,r,o={}){return this.request("POST",t,pg(o,r))}put(t,r,o={}){return this.request("PUT",t,pg(o,r))}static#e=this.\u0275fac=function(r){return new(r||e)(P(au))};static#t=this.\u0275prov=R({token:e,factory:e.\u0275fac})}return e})();function $M(e,n){return n(e)}function tH(e,n){return(t,r)=>n.intercept(t,{handle:o=>e(o,r)})}const rH=new N(""),ga=new N(""),GM=new N(""),zM=new N("");function oH(){let e=null;return(n,t)=>{null===e&&(e=(T(rH,{optional:!0})??[]).reduceRight(tH,$M));const r=T(jr),o=r.add();return e(n,t).pipe(qs(()=>r.remove(o)))}}let qM=(()=>{class e extends au{constructor(t,r){super(),this.backend=t,this.injector=r,this.chain=null,this.pendingTasks=T(jr);const o=T(zM,{optional:!0});this.backend=o??t}handle(t){if(null===this.chain){const o=Array.from(new Set([...this.injector.get(ga),...this.injector.get(GM,[])]));this.chain=o.reduceRight((i,s)=>function nH(e,n,t){return(r,o)=>ir(t,()=>n(r,i=>e(i,o)))}(i,s,this.injector),$M)}const r=this.pendingTasks.add();return this.chain(t,o=>this.backend.handle(o)).pipe(qs(()=>this.pendingTasks.remove(r)))}static#e=this.\u0275fac=function(r){return new(r||e)(P(lu),P(kt))};static#t=this.\u0275prov=R({token:e,factory:e.\u0275fac})}return e})();const cH=/^\)\]\}',?\n/;let ZM=(()=>{class e{constructor(t){this.xhrFactory=t}handle(t){if("JSONP"===t.method)throw new I(-2800,!1);const r=this.xhrFactory;return(r.\u0275loadImpl?Je(r.\u0275loadImpl()):B(null)).pipe(ln(()=>new Be(i=>{const s=r.build();if(s.open(t.method,t.urlWithParams),t.withCredentials&&(s.withCredentials=!0),t.headers.forEach((_,D)=>s.setRequestHeader(_,D.join(","))),t.headers.has("Accept")||s.setRequestHeader("Accept","application/json, text/plain, */*"),!t.headers.has("Content-Type")){const _=t.detectContentTypeHeader();null!==_&&s.setRequestHeader("Content-Type",_)}if(t.responseType){const _=t.responseType.toLowerCase();s.responseType="json"!==_?_:"text"}const a=t.serializeBody();let l=null;const c=()=>{if(null!==l)return l;const _=s.statusText||"OK",D=new Wt(s.getAllResponseHeaders()),E=function uH(e){return"responseURL"in e&&e.responseURL?e.responseURL:/^X-Request-URL:/m.test(e.getAllResponseHeaders())?e.getResponseHeader("X-Request-URL"):null}(s)||t.url;return l=new uu({headers:D,status:s.status,statusText:_,url:E}),l},u=()=>{let{headers:_,status:D,statusText:E,url:w}=c(),x=null;D!==pa.NoContent&&(x=typeof s.response>"u"?s.responseText:s.response),0===D&&(D=x?pa.Ok:0);let F=D>=200&&D<300;if("json"===t.responseType&&"string"==typeof x){const $=x;x=x.replace(cH,"");try{x=""!==x?JSON.parse(x):null}catch(he){x=$,F&&(F=!1,x={error:he,text:x})}}F?(i.next(new Jr({body:x,headers:_,status:D,statusText:E,url:w||void 0})),i.complete()):i.error(new Si({error:x,headers:_,status:D,statusText:E,url:w||void 0}))},d=_=>{const{url:D}=c(),E=new Si({error:_,status:s.status||0,statusText:s.statusText||"Unknown Error",url:D||void 0});i.error(E)};let g=!1;const m=_=>{g||(i.next(c()),g=!0);let D={type:Dr.DownloadProgress,loaded:_.loaded};_.lengthComputable&&(D.total=_.total),"text"===t.responseType&&s.responseText&&(D.partialText=s.responseText),i.next(D)},v=_=>{let D={type:Dr.UploadProgress,loaded:_.loaded};_.lengthComputable&&(D.total=_.total),i.next(D)};return s.addEventListener("load",u),s.addEventListener("error",d),s.addEventListener("timeout",d),s.addEventListener("abort",d),t.reportProgress&&(s.addEventListener("progress",m),null!==a&&s.upload&&s.upload.addEventListener("progress",v)),s.send(a),i.next({type:Dr.Sent}),()=>{s.removeEventListener("error",d),s.removeEventListener("abort",d),s.removeEventListener("load",u),s.removeEventListener("timeout",d),t.reportProgress&&(s.removeEventListener("progress",m),null!==a&&s.upload&&s.upload.removeEventListener("progress",v)),s.readyState!==s.DONE&&s.abort()}})))}static#e=this.\u0275fac=function(r){return new(r||e)(P(Bb))};static#t=this.\u0275prov=R({token:e,factory:e.\u0275fac})}return e})();const yg=new N(""),QM=new N("",{providedIn:"root",factory:()=>"XSRF-TOKEN"}),YM=new N("",{providedIn:"root",factory:()=>"X-XSRF-TOKEN"});class XM{}let hH=(()=>{class e{constructor(t,r,o){this.doc=t,this.platform=r,this.cookieName=o,this.lastCookieString="",this.lastToken=null,this.parseCount=0}getToken(){if("server"===this.platform)return null;const t=this.doc.cookie||"";return t!==this.lastCookieString&&(this.parseCount++,this.lastToken=Rb(t,this.cookieName),this.lastCookieString=t),this.lastToken}static#e=this.\u0275fac=function(r){return new(r||e)(P(Tt),P(rr),P(QM))};static#t=this.\u0275prov=R({token:e,factory:e.\u0275fac})}return e})();function pH(e,n){const t=e.url.toLowerCase();if(!T(yg)||"GET"===e.method||"HEAD"===e.method||t.startsWith("http://")||t.startsWith("https://"))return n(e);const r=T(XM).getToken(),o=T(YM);return null!=r&&!e.headers.has(o)&&(e=e.clone({headers:e.headers.set(o,r)})),n(e)}var wr=function(e){return e[e.Interceptors=0]="Interceptors",e[e.LegacyInterceptors=1]="LegacyInterceptors",e[e.CustomXsrfConfiguration=2]="CustomXsrfConfiguration",e[e.NoXsrfProtection=3]="NoXsrfProtection",e[e.JsonpSupport=4]="JsonpSupport",e[e.RequestsMadeViaParent=5]="RequestsMadeViaParent",e[e.Fetch=6]="Fetch",e}(wr||{});const JM=new N("");class wH{constructor(){this.name="",this.email="",this.message=""}}let s0=(()=>{class e{constructor(t){this.httpClient=t}postContactForm(t){return this.httpClient.post(`${De_apiBaseUrl}contact`,t)}static#e=this.\u0275fac=function(r){return new(r||e)(P(gg))};static#t=this.\u0275prov=R({token:e,factory:e.\u0275fac})}return e})();function bH(e,n){if(1&e){const t=Le();h(0,"form",4,5),U("ngSubmit",function(){return re(t),oe(O().submit())}),h(2,"div",6)(3,"label",7),f(4,"Name "),h(5,"span",8),f(6,"*"),p()(),h(7,"input",9),je("ngModelChange",function(o){re(t);const i=O();return $e(i.contactViewModel.name,o)||(i.contactViewModel.name=o),oe(o)}),p()(),h(8,"div",6)(9,"label",10),f(10,"Email address "),h(11,"span",8),f(12,"*"),p()(),h(13,"input",11),je("ngModelChange",function(o){re(t);const i=O();return $e(i.contactViewModel.email,o)||(i.contactViewModel.email=o),oe(o)}),p()(),h(14,"div",6)(15,"label",12),f(16,"Message "),h(17,"span",8),f(18,"*"),p()(),h(19,"textarea",13),je("ngModelChange",function(o){re(t);const i=O();return $e(i.contactViewModel.message,o)||(i.contactViewModel.message=o),oe(o)}),p()(),h(20,"button",14),f(21,"Submit"),p()()}if(2&e){const t=gh(1),r=O();C(7),Ve("ngModel",r.contactViewModel.name),C(6),Ve("ngModel",r.contactViewModel.email),C(6),Ve("ngModel",r.contactViewModel.message),C(),M("disabled",!t.valid||r.enableFormCountDown>0)}}function EH(e,n){1&e&&(h(0,"p"),f(1,"Thanks for your message."),p())}function IH(e,n){1&e&&(h(0,"p",15),f(1,"Something went wrong. Please try again later."),p())}let MH=(()=>{class e{constructor(t){this.contactService=t,this.contactViewModel=new wH,this.success=!1,this.error=!1,this.enableFormCountDown=100,this.intervalId=null}ngOnInit(){this.intervalId=setInterval(()=>{this.enableFormCountDown-=1,0===this.enableFormCountDown&&clearInterval(this.intervalId)},50)}ngOnDestroy(){this.intervalId&&clearInterval(this.intervalId)}submit(){this.contactService.postContactForm(this.contactViewModel).subscribe({next:t=>{console.log("Submitted form"),this.success=!0},error:t=>{console.error(t),this.error=!0},complete:()=>console.info("complete")})}static#e=this.\u0275fac=function(r){return new(r||e)(S(s0))};static#t=this.\u0275cmp=xt({type:e,selectors:[["app-contact-component"]],standalone:!0,features:[Lt],decls:6,vars:3,consts:[[1,"container"],[1,"mb-4"],["method","post"],["class","text-danger"],["method","post",3,"ngSubmit"],["contactForm","ngForm"],[1,"mb-3"],["for","Name"],[1,"required"],["type","text","id","Name","name","Name","required","",1,"form-control",3,"ngModel","ngModelChange"],["for","Email"],["type","email","id","Email","name","Email","email","","required","",1,"form-control",3,"ngModel","ngModelChange"],["for","Message"],["rows","7","id","Message","name","Message","required","",1,"form-control",3,"ngModel","ngModelChange"],["type","submit",1,"btn","btn-primary",3,"disabled"],[1,"text-danger"]],template:function(r,o){1&r&&(h(0,"div",0)(1,"h1",1),f(2,"Contact"),p(),W(3,bH,22,4,"form",2)(4,EH,2,0,"p")(5,IH,2,0,"p",3),p()),2&r&&(C(3),Jo(3,o.success||o.error?-1:3),C(),Jo(4,o.success?4:-1),C(),Jo(5,o.error?5:-1))},dependencies:[su,ru,wi,Wc,Zc,Mi,iu,fa,Ii]})}return e})();const a0=()=>["/pro"];let SH=(()=>{class e{scrollToAnchor(t){return document.querySelector(t)?.scrollIntoView(!0),!1}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275cmp=xt({type:e,selectors:[["app-features-component"]],standalone:!0,features:[Lt],decls:131,vars:4,consts:[[1,"container"],[1,"mb-4"],["id","coveragequota"],[1,"pro-text"],["href","https://en.wikipedia.org/wiki/Code_coverage","target","_blank"],[1,"fa-solid","fa-arrow-up-right-from-square"],[3,"routerLink"],[1,"pro-button","pro-button-tiny"],["loading","lazy","srcset","resources/features/quota@1x.webp 1x, resources/features/quota@2x.webp 2x","src","resources/features/quota1x.webp","alt","Coverage quotas",1,"img-fluid"],["id","coveragehistory",1,"mt-5"],["loading","lazy","srcset","resources/features/history@1x.webp 1x, resources/features/history@2x.webp 2x","src","resources/features/history@1x.webp","alt","Coverage history",1,"img-fluid"],["id","summary",1,"mt-5"],["loading","lazy","srcset","resources/features/summary@1x.webp 1x, resources/features/summary@2x.webp 2x","src","resources/features/summary.webp","alt","Summary table / Overview",1,"img-fluid"],["id","details",1,"mt-5"],["loading","lazy","srcset","resources/features/details@1x.webp 1x, resources/features/details@2x.webp 2x","src","resources/features/details.webp","alt","Details",1,"img-fluid"],["id","metrics",1,"mt-5"],["href","https://github.com/danielpalme/ReportGenerator/wiki/FAQ#which-coverage-tool-supports-which-features-in-the-html-report","target","_blank"],["href","",3,"click"],["loading","lazy","srcset","resources/features/metrics_details@1x.webp 1x, resources/features/metrics_details@2x.webp 2x","src","resources/features/metrics_details.webp","alt","Metrics - Details",1,"img-fluid"],["loading","lazy","srcset","resources/features/metrics_summary@1x.webp 1x, resources/features/metrics_summary@2x.webp 2x","src","resources/features/metrics_summary.webp","alt","Metrics - Summary",1,"img-fluid"],["id","riskhotspots",1,"mt-5"],["href","https://en.wikipedia.org/wiki/Cyclomatic_complexity","target","_blank"],["href","https://modess.io/npath-complexity-cyclomatic-complexity-explained","target","_blank"],["href","https://testing.googleblog.com/2011/02/this-code-is-crap.html","target","_blank"],["loading","lazy","srcset","resources/features/riskhotspots@1x.webp 1x, resources/features/riskhotspots@2x.webp 2x","src","resources/features/riskhotspots.webp","alt","Risk Hotspots",1,"img-fluid"]],template:function(r,o){1&r&&(h(0,"div",0)(1,"h1",1),f(2,"Features"),p(),h(3,"h2",2),f(4,"Coverage quotas"),p(),h(5,"p"),f(6," The overiew cards provide a quick "),h(7,"span",3),f(8,"overview"),p(),f(9," of your coverage quotas."),y(10,"br"),f(11," You can use them to get a glimpse into the different "),h(12,"a",4),f(13,"coverage metrics"),p(),f(14,"\xa0"),h(15,"a",4),y(16,"i",5),p(),f(17,": "),p(),h(18,"ul")(19,"li"),f(20,"Line coverage"),p(),h(21,"li"),f(22,"Branch coverage"),p(),h(23,"li"),f(24,"Method coverage "),h(25,"a",6)(26,"span",7),f(27,"PRO"),p()()()(),y(28,"img",8)(29,"br"),h(30,"h2",9),f(31,"Coverage history"),p(),h(32,"p"),f(33," The history chart helps you to understand how your coverage quotas are "),h(34,"span",3),f(35,"evolving over time"),p(),f(36,". "),p(),y(37,"img",10)(38,"br"),h(39,"h2",11),f(40,"Summary table / Overview"),p(),h(41,"p"),f(42," The summary table helps you to identify classes with "),h(43,"span",3),f(44,"low test coverage"),p(),f(45,"."),y(46,"br"),f(47," The table offers various "),h(48,"span",3),f(49,"filter and sorting"),p(),f(50," options for quick navigation. "),p(),y(51,"img",12)(52,"br"),h(53,"h2",13),f(54,"Details page"),p(),h(55,"p"),f(56," The details page visualizes your "),h(57,"span",3),f(58,"line and branch coverage"),p(),f(59,". "),p(),h(60,"ul")(61,"li"),f(62,"Colors indicate the coverage status of each line."),p(),h(63,"li"),f(64,"Branch indicators help you to identity uncovered conditions."),p()(),y(65,"img",14)(66,"br"),h(67,"h2",15),f(68,"Metrics"),p(),h(69,"p"),f(70," Depending on your "),h(71,"a",16),f(72,"coverage tool"),p(),f(73,", metrics are provided to get further insigths in your "),h(74,"span",3),f(75,"code quality"),p(),f(76,". "),p(),h(77,"ul")(78,"li"),f(79,"The "),h(80,"a",17),U("click",function(){return o.scrollToAnchor("#details")}),f(81,"details page"),p(),f(82," contains information about the metrics of all methods of a class."),p(),h(83,"li"),f(84,"The "),h(85,"a",17),U("click",function(){return o.scrollToAnchor("#summary")}),f(86,"summary table"),p(),f(87," shows the lowest metrics of all methods of a class "),h(88,"a",6)(89,"span",7),f(90,"PRO"),p()()()(),h(91,"b"),f(92,"Details page"),p(),y(93,"br")(94,"img",18)(95,"br")(96,"br"),h(97,"b"),f(98,"Summary table"),p(),y(99,"br")(100,"img",19)(101,"br"),h(102,"h2",20),f(103,"Risk Hotspots"),p(),h(104,"p"),f(105," Based on the "),h(106,"a",17),U("click",function(){return o.scrollToAnchor("#metrics")}),f(107,"metrics"),p(),f(108," you get a list of potential risk hotspots."),y(109,"br"),f(110," The following metrics are analyzed if available, the warning thresholds are configurable: "),p(),h(111,"ul")(112,"li")(113,"a",21),f(114,"Cyclomatic complexity"),p(),f(115,"\xa0"),h(116,"a",21),y(117,"i",5),p()(),h(118,"li")(119,"a",22),f(120,"NPath complexity"),p(),f(121,"\xa0"),h(122,"a",22),y(123,"i",5),p()(),h(124,"li")(125,"a",23),f(126,"Crap score"),p(),f(127,"\xa0"),h(128,"a",23),y(129,"i",5),p()()(),y(130,"img",24),p()),2&r&&(C(25),M("routerLink",te(2,a0)),C(63),M("routerLink",te(3,a0)))},dependencies:[Sn]})}return e})();const Zt={dotnetSDKVersion:"8.x",majorVersion:"5",version:"5.2.3"},TH=()=>["/usage"];let AH=(()=>{class e{constructor(){this.versions=Zt}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275cmp=xt({type:e,selectors:[["app-getstarted"]],standalone:!0,features:[Lt],decls:72,vars:6,consts:[[1,"container"],[1,"mb-4"],[3,"routerLink"],["id","net",1,"mt-5"],["href","https://github.com/coverlet-coverage/coverlet"],["href","https://github.com/SteveGilham/altcover"],[1,"text-dark","bg-light","p-2","border"],["id","java",1,"mt-5"],["href","https://github.com/jacoco/jacoco"],["id","nodejs",1,"mt-5"],["href","https://github.com/istanbuljs/nyc"]],template:function(r,o){1&r&&(h(0,"div",0)(1,"h1",1),f(2,"Get started"),p(),h(3,"h2"),f(4,"General"),p(),h(5,"p"),f(6,"In general you need a tool that instruments your test code and collects coverage information."),y(7,"br"),f(8,"This information is typically stored in a XML file (e.g. in Cobertura format)."),y(9,"br"),h(10,"em"),f(11,"ReportGenerator"),p(),f(12," uses this file and generates a report in HTML format (other formats are available)."),p(),h(13,"p"),f(14,"Use the online "),h(15,"a",2),f(16,"configuration tool"),p(),f(17," to get started quickly."),p(),h(18,"h2",3),f(19,".NET"),p(),h(20,"p"),f(21,"For .NET you can use "),h(22,"a",4),f(23,"coverlet"),p(),f(24," or "),h(25,"a",5),f(26,"altcover"),p(),f(27," for instrumenting your test code."),p(),h(28,"p"),f(29,"After adding the dependencies to your project, you can execute your tests and generate the coverage report."),p(),h(30,"p")(31,"strong"),f(32,"Add dependencies to your "),h(33,"code"),f(34,"*.csproj"),p(),f(35," file:"),p()(),h(36,"pre",6),f(37),p(),h(38,"p")(39,"strong"),f(40,"Execute tests and create coverage report"),p()(),h(41,"pre",6),f(42),p(),h(43,"h2",7),f(44,"Java"),p(),h(45,"p"),f(46,"For Java you can use "),h(47,"a",8),f(48,"JaCoCo"),p(),f(49," for instrumenting your test code.\nAfter adding JaCoCo to your project (here with Maven), you can execute your tests and generate the coverage report."),p(),h(50,"p")(51,"strong"),f(52,"Add dependencies to your "),h(53,"code"),f(54,"pom.xml"),p(),f(55," file:"),p()(),h(56,"pre",6),f(57,"\n \n \n \n org.jacoco\n jacoco-maven-plugin\n 0.8.6\n \n \n \n prepare-agent\n \n \n \n report\n prepare-package\n \n report\n \n \n \n \n \n \n \n \n \n org.jacoco\n jacoco-maven-plugin\n \n \n \n report\n \n \n \n \n \n \n\n"),p(),h(58,"p")(59,"strong"),f(60,"Execute tests and create coverage report"),p()(),h(61,"pre",6),f(62),p(),h(63,"h2",9),f(64,"NodeJS"),p(),h(65,"p"),f(66,"For NodeJS you can use "),h(67,"a",10),f(68,"Istanbul"),p(),f(69," for instrumenting your test code.\nAfter installing Istanbul, you can execute your tests and generate the coverage report."),p(),h(70,"pre",6),f(71),p()()),2&r&&(C(15),M("routerLink",te(5,TH)),C(22),Gn('\n \n runtime; build; native; contentfiles; analyzers; buildtransitive\n all\n \n \n \n \n all\n runtime; build; native; contentfiles; analyzers\n \n\n'),C(5),Gn('dotnet test --collect:"XPlat Code Coverage"\n"%UserProfile%\\.nuget\\packages\\reportgenerator\\',o.versions.version,'\\tools\\net8.0\\ReportGenerator.exe" -reports:*\\TestResults\\*\\coverage.cobertura.xml -targetdir:coveragereport\n'),C(20),Gn("mvn test jacoco:report\n\ndotnet tool update dotnet-reportgenerator-globaltool --tool-path tools --version ",o.versions.version,"\ntools\\reportgenerator -reports:target\\site\\jacoco\\jacoco.xml -targetdir:coveragereport -sourcedirs:src\\main\\java\n"),C(9),Gn("npm i nyc --save-dev\nnyc --reporter=cobertura mocha\n\ndotnet tool update dotnet-reportgenerator-globaltool --tool-path tools --version ",o.versions.version,"\ntools\\reportgenerator -reports:coverage/cobertura-coverage.xml -targetdir:coveragereport\n"))},dependencies:[Sn]})}return e})(),l0=(()=>{class e{static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275cmp=xt({type:e,selectors:[["app-testimonials"]],standalone:!0,features:[Lt],decls:30,vars:0,consts:[[1,"container-fluid","mt-5","pt-5","pb-5","bg-light"],[1,"container"],[1,"text-center"],[1,"row","mt-5"],[1,"col","text-center"],[1,"fa-brands","fa-microsoft","h1","text-secondary"],["href","https://github.com/dotnet/runtime/blob/main/docs/workflow/building/libraries/code-coverage.md","target","_blank",1,"text-dark","d-none","d-lg-block"],[1,"fa-brands","fa-google","h1","text-secondary"],["href","https://github.com/GoogleCloudPlatform/iam-windows-authenticator","target","_blank",1,"text-dark","d-none","d-lg-block"],[1,"fa-brands","fa-aws","h1","text-secondary"],["href","https://github.com/aws/aws-encryption-sdk-dafny/blob/mainline/aws-encryption-sdk-net/README.md","target","_blank",1,"text-dark","d-none","d-lg-block"],[1,"col","text-center","d-none","d-lg-block"],[1,"fa-solid","fa-heart","h1","text-secondary"],["href","https://github.com/danielpalme/ReportGenerator/network/dependents","target","_blank",1,"text-dark"],["href","https://www.nuget.org/packages?q=ReportGenerator+danielpalme","target","_blank",1,"btn","btn-outline-secondary"],[1,"fa-solid","fa-download"]],template:function(r,o){1&r&&(h(0,"section",0)(1,"div",1)(2,"h2",2),f(3,"Code coverage reports trusted by"),p(),h(4,"div",3)(5,"div",4),y(6,"i",5)(7,"br"),h(8,"a",6),f(9,".NET Runtime"),p()(),h(10,"div",4),y(11,"i",7)(12,"br"),h(13,"a",8),f(14,"Google Cloud"),p()(),h(15,"div",4),y(16,"i",9)(17,"br"),h(18,"a",10),f(19,"AWS Encryption SDK"),p()(),h(20,"div",11),y(21,"i",12)(22,"br"),h(23,"a",13),f(24,"Many more"),p()()(),h(25,"div",3)(26,"div",4)(27,"a",14),y(28,"i",15),f(29," Over 70 million downloads on Nuget"),p()()()()())},encapsulation:2})}return e})();const NH=()=>["/pro"],xH=()=>["/usage"],RH=()=>["/getstarted"],OH=()=>["/features"];let PH=(()=>{class e{static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275cmp=xt({type:e,selectors:[["app-home"]],standalone:!0,features:[Lt],decls:114,vars:8,consts:[[1,"container"],[1,"row"],[1,"col-4","col-md-3"],["src","resources/logo.svg","alt","Logo ReportGenerator",1,"img-fluid"],[1,"col-xs-12","col-md-9","ps-4"],[1,"mt-5"],[1,"line","btn-primary"],[1,"mt-4","h5"],[1,"pro-text"],["href","resources/reports/Html/index.html","target","_blank",1,"btn","btn-primary","me-2","mb-2"],[1,"fa-solid","fa-eye"],[1,"row","mt-5"],[1,"col-sm-12","col-md-4"],[1,"icon"],[1,"fa-solid","fa-scale-balanced"],[1,"h5","ms-3","mt-3"],[1,"mt-3"],[3,"routerLink"],[1,"col-sm-12","col-md-4","mt-4","mt-md-0"],[1,"fa-solid","fa-lightbulb"],[1,"fa-solid","fa-plug"],["href","https://github.com/marketplace/actions/reportgenerator","target","_blank"],["href","https://marketplace.visualstudio.com/items?itemName=Palmmedia.reportgenerator","target","_blank"],[1,"col"],[1,"btn","btn-primary","me-2","mb-2",3,"routerLink"],[1,"fa-solid","fa-wrench"],["href","https://github.com/danielpalme/ReportGenerator","target","_blank",1,"btn","btn-outline-dark","mb-2"],[1,"fa-brands","fa-github"],[1,"container-fluid","mt-5","pt-5","pb-5"],["href","resources/reports/Html/index.html","target","_blank"],["href","https://danielpalme.github.io/ReportGenerator/resources/SampleReports.zip"],[1,"col-sm-12","col-md-6","pb-2"],["href","resources/screenshot1@2x.webp"],["loading","lazy","srcset","resources/screenshot1.webp 1x, resources/screenshot1@2x.webp 2x","src","resources/screenshot1.webp","alt","Screenshot",1,"img-fluid"],[1,"col-sm-12","col-md-6"],["href","resources/screenshot2@2x.webp"],["loading","lazy","srcset","resources/screenshot2.webp 1x, resources/screenshot2@2x.webp 2x","src","resources/screenshot2.webp","alt","Screenshot",1,"img-fluid"]],template:function(r,o){1&r&&(h(0,"section",0)(1,"div",1)(2,"div",2),y(3,"img",3),p(),h(4,"div",4)(5,"h1"),f(6,"ReportGenerator"),p(),h(7,"h2",5),f(8,"Powerful code coverage visualization"),p(),h(9,"div",6),f(10,"\xa0"),p(),h(11,"div",7)(12,"p")(13,"i"),f(14,"ReportGenerator"),p(),f(15," converts "),h(16,"span",8),f(17,"coverage reports"),p(),f(18," generated by coverlet, OpenCover, dotCover, Visual Studio, NCover, Cobertura, JaCoCo, Clover, gcov or lcov into "),h(19,"span",8),f(20,"human readable reports in various formats"),p(),f(21,"."),p(),h(22,"p"),f(23,"The reports show the "),h(24,"span",8),f(25,"coverage quotas"),p(),f(26," and also visualize which lines of your source code have been covered."),p(),h(27,"p")(28,"a",9),y(29,"i",10),f(30," Browse example report"),p()()()()(),h(31,"div",11)(32,"div",12)(33,"div",13),y(34,"i",14),p(),h(35,"span",15),f(36,"Open source"),p(),h(37,"p",16)(38,"i"),f(39,"ReportGenerator"),p(),f(40," is open source under the permissive Apache License."),p(),h(41,"p"),f(42,"It's free to use."),y(43,"br"),f(44,"The "),h(45,"a",17),f(46,"PRO"),p(),f(47," version offers additional features."),p()(),h(48,"div",18)(49,"div",13),y(50,"i",19),p(),h(51,"span",15),f(52,"Easy to use"),p(),h(53,"p",16)(54,"i"),f(55,"ReportGenerator"),p(),f(56," is a command line tool which only requires a "),h(57,"a",17),f(58,"few parameters"),p(),f(59,"."),p(),h(60,"p"),f(61,"Integration into your build pipeline will only take a couple of minutes."),p()(),h(62,"div",18)(63,"div",13),y(64,"i",20),p(),h(65,"span",15),f(66,"Integration"),p(),h(67,"p",16)(68,"i"),f(69,"ReportGenerator"),p(),f(70," works on Windows, Linux and macOS."),p(),h(71,"p"),f(72,"Support for "),h(73,"a",21),f(74,"GitHub actions"),p(),f(75," and "),h(76,"a",22),f(77,"Azure DevOps"),p(),f(78," is available."),p()()(),h(79,"div",11)(80,"div",23)(81,"a",24),y(82,"i",25),f(83," Learn how to use"),p(),h(84,"a",26),y(85,"i",27),f(86," GitHub"),p()()()(),y(87,"app-testimonials"),h(88,"section",28)(89,"div",0)(90,"h2"),f(91,"Screenshots"),p(),h(92,"p"),f(93,"The screenshots show two snippets of the generated code coverage reports."),p(),h(94,"p"),f(95," Have a look the "),h(96,"a",17),f(97,"features page"),p(),f(98," to explore the elements in a coverage report or "),h(99,"a",29),f(100,"browse the example report"),p(),f(101,". "),y(102,"br"),f(103," You can also download "),h(104,"a",30),f(105,"sample reports"),p(),f(106," of all supported output formats."),p(),h(107,"div",1)(108,"div",31)(109,"a",32),y(110,"img",33),p()(),h(111,"div",34)(112,"a",35),y(113,"img",36),p()()()()()),2&r&&(C(45),M("routerLink",te(4,NH)),C(12),M("routerLink",te(5,xH)),C(24),M("routerLink",te(6,RH)),C(15),M("routerLink",te(7,OH)))},dependencies:[Sn,l0],styles:[".h5[_ngcontent-%COMP%]{font-weight:300}section[_ngcontent-%COMP%]:first-of-type{padding-top:120px;min-height:calc(100vh - 171px)}.icon[_ngcontent-%COMP%]{background-color:#2e89df;background-image:linear-gradient(50deg,var(--rg-gradient-from) 0%,var(--rg-gradient-to) 100%);height:50px;width:50px;border-radius:8px;text-align:center;color:#fff;line-height:50px;font-size:1.5rem;display:inline-block}@media (max-width: 767px){section[_ngcontent-%COMP%]:first-of-type{padding-top:40px}}"]})}return e})(),kH=(()=>{class e{static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275cmp=xt({type:e,selectors:[["app-not-found"]],standalone:!0,features:[Lt],decls:5,vars:0,consts:[[1,"container"],[1,"mb-4"],[1,"fa-solid","fa-triangle-exclamation","fs-1","me-4"]],template:function(r,o){1&r&&(h(0,"div",0)(1,"h1",1),f(2,"Not found"),p(),y(3,"i",2),f(4," The requested page does not exist.\n"),p())}})}return e})();class c0{constructor(){this.error=null,this.licenses=[]}}class FH{constructor(){this.error=null,this.isSponsor=!1,this.license=null}}let u0=(()=>{class e{initCodeFlow(){const o=`https://github.com/login/oauth/authorize?response_type=code&client_id=ecab9484932b59a12fd4&state=${this.createAndSaveNonce()}&redirect_uri=${window.location.origin}/pro`;console.log("Redirecting to: "+o),location.href=o}validateStateAndExtractCode(){let t=location.href;const r=t.indexOf("?");r>-1&&(t=t.substring(r+1));const o=this.parseQueryString(t);return o.state&&o.code&&this.validateNonce(o.state)?o.code:null}createAndSaveNonce(){const t=this.createNonce();return typeof window.localStorage<"u"&&localStorage.setItem("nonce",t),t}validateNonce(t){let r;return typeof window.localStorage<"u"&&(r=localStorage.getItem("nonce"),localStorage.removeItem("nonce")),r&&0!==r.length?r===t||(console.error("Validating nonce failed. Values do not match.",r,t),!1):(console.error("Validating nonce failed. No saved nonce available.",r,t),!1)}createNonce(){const t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-._~";let r=45,o="";const i=typeof self>"u"?null:self.crypto||self.msCrypto;if(i){let a=new Uint8Array(r);i.getRandomValues(a),a.map||(a.map=Array.prototype.map);const l=[];for(var s=0;s0&&(c=decodeURIComponent(a),u=decodeURIComponent(l),"/"===c.substring(0,1)&&(c=c.substring(1)),r[c]=u);return r}base64UrlEncode(t){return btoa(t).replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=R({token:e,factory:e.\u0275fac})}return e})(),d0=(()=>{class e{constructor(t){this.httpClient=t}getLicense(t){return this.httpClient.get(`${De_apiBaseUrl}reportgenerator/license?code=${encodeURIComponent(t)}`)}getTrialLicense(t){return this.httpClient.post(`${De_apiBaseUrl}reportgenerator/triallicense`,t)}getPaddleLicense(t){return this.httpClient.post(`${De_apiBaseUrl}reportgenerator/paddlelicense`,t)}static#e=this.\u0275fac=function(r){return new(r||e)(P(gg))};static#t=this.\u0275prov=R({token:e,factory:e.\u0275fac})}return e})(),LH=(()=>{class e{constructor(){this.isActive=!1,this.isActive=new Date({active:e});function VH(e,n){if(1&e){const t=Le();h(0,"span",70)(1,"span",71),U("click",function(){return re(t),oe(O().lifetimeLicense=!1)}),y(2,"i",72),f(3," Annual subscription"),p(),h(4,"span",71),U("click",function(){return re(t),oe(O().lifetimeLicense=!0)}),y(5,"i",73),f(6," Lifetime license"),p()()}if(2&e){const t=O();C(),M("ngClass",Rs(2,f0,!t.lifetimeLicense)),C(3),M("ngClass",Rs(4,f0,t.lifetimeLicense))}}function jH(e,n){if(1&e){const t=Le();h(0,"button",93),U("click",function(){return re(t),oe(O(2).requestTrial())}),y(1,"i",31),f(2," Start trial"),p()}2&e&&M("disabled",O(2).trialDisabled)}function UH(e,n){1&e&&(h(0,"button",94),f(1,"Coming soon"),p())}function BH(e,n){1&e&&(It(0),y(1,"i",72),f(2," Annual subscription"),Mt())}function HH(e,n){1&e&&(It(0),y(1,"i",73),f(2," Lifetime license"),Mt())}function $H(e,n){if(1&e){const t=Le();h(0,"button",95),U("click",function(){return re(t),oe(O(2).openPaddleCheckout("individual"))}),y(1,"i",96),f(2," Buy now"),p()}}function GH(e,n){1&e&&(h(0,"button",94),f(1,"Coming soon"),p())}function zH(e,n){1&e&&(It(0),y(1,"i",72),f(2," Annual subscription"),Mt())}function qH(e,n){1&e&&(It(0),y(1,"i",73),f(2," Lifetime license"),Mt())}function WH(e,n){if(1&e){const t=Le();h(0,"button",95),U("click",function(){return re(t),oe(O(2).openPaddleCheckout("team"))}),y(1,"i",96),f(2," Buy now"),p()}}function ZH(e,n){1&e&&(h(0,"button",94),f(1,"Coming soon"),p())}function QH(e,n){1&e&&(It(0),y(1,"i",72),f(2," Annual subscription"),Mt())}function YH(e,n){1&e&&(It(0),y(1,"i",73),f(2," Lifetime license"),Mt())}function XH(e,n){if(1&e){const t=Le();h(0,"button",95),U("click",function(){return re(t),oe(O(2).openPaddleCheckout("enterprise"))}),y(1,"i",96),f(2," Buy now"),p()}}function JH(e,n){1&e&&(h(0,"button",94),f(1,"Coming soon"),p())}function KH(e,n){if(1&e&&(h(0,"div",2)(1,"div",74)(2,"div",75),y(3,"img",76),h(4,"h4",77),f(5,"Free"),y(6,"br"),f(7,"Trial"),p(),h(8,"p"),y(9,"i",78),f(10," Get full access"),y(11,"br")(12,"i",79),f(13," 10 day trial period "),p(),W(14,jH,3,1,"button",80)(15,UH,2,0,"button",81),p()(),h(16,"div",82)(17,"div",83),y(18,"img",84),h(19,"h4",77),f(20,"Individual"),y(21,"br"),f(22),p(),h(23,"p"),y(24,"i",85),f(25," Per developer license."),y(26,"br"),W(27,BH,3,0,"ng-container",24)(28,HH,3,0,"ng-container",24),p(),W(29,$H,3,0,"button",86)(30,GH,2,0,"button",81),p()(),h(31,"div",87)(32,"div",83),y(33,"img",88),h(34,"h4",77),f(35,"Team"),y(36,"br"),f(37),p(),h(38,"p"),y(39,"i",89),f(40," Up to 10 developers."),y(41,"br"),W(42,zH,3,0,"ng-container",24)(43,qH,3,0,"ng-container",24),p(),W(44,WH,3,0,"button",86)(45,ZH,2,0,"button",81),p()(),h(46,"div",90)(47,"div",83),y(48,"img",91),h(49,"h4",77),f(50,"Enterprise"),y(51,"br"),f(52),p(),h(53,"p"),y(54,"i",92),f(55," Unlimited developers."),y(56,"br"),W(57,QH,3,0,"ng-container",24)(58,YH,3,0,"ng-container",24),p(),W(59,XH,3,0,"button",86)(60,JH,2,0,"button",81),p()()()),2&e){const t=O();C(14),M("ngIf",t.enablePaddle),C(),M("ngIf",!t.enablePaddle),C(7),Se(t.lifetimeLicense?t.paddleIndividualLifetimeLicensePrice:t.paddleIndividualLicensePrice),C(5),M("ngIf",!t.lifetimeLicense),C(),M("ngIf",t.lifetimeLicense),C(),M("ngIf",t.enablePaddle),C(),M("ngIf",!t.enablePaddle),C(7),Se(t.lifetimeLicense?t.paddleTeamLifetimeLicensePrice:t.paddleTeamLicensePrice),C(5),M("ngIf",!t.lifetimeLicense),C(),M("ngIf",t.lifetimeLicense),C(),M("ngIf",t.enablePaddle),C(),M("ngIf",!t.enablePaddle),C(7),Se(t.lifetimeLicense?t.paddleEnterpriseLifetimeLicensePrice:t.paddleEnterpriseLicensePrice),C(5),M("ngIf",!t.lifetimeLicense),C(),M("ngIf",t.lifetimeLicense),C(),M("ngIf",t.enablePaddle),C(),M("ngIf",!t.enablePaddle)}}function e$(e,n){1&e&&(It(0),h(1,"div",98)(2,"span",99),f(3,"Loading..."),p()(),h(4,"span",100),f(5,"Your license is being generated. Please wait."),p(),Mt())}const _g=()=>["/contact"];function t$(e,n){if(1&e&&(h(0,"div")(1,"p"),f(2),p(),h(3,"p"),f(4,"Please try again later or use the "),h(5,"a",18),f(6," contact form"),p(),f(7,"."),p()()),2&e){const t=O(3);C(2),Se(t.paddleLicense.error),C(3),M("routerLink",te(2,_g))}}function n$(e,n){1&e&&(h(0,"span"),y(1,"i",107),f(2," Copy"),p())}function r$(e,n){1&e&&(h(0,"span"),y(1,"i",108),f(2," Copied"),p())}function o$(e,n){if(1&e){const t=Le();h(0,"div",104)(1,"textarea",105),f(2),p(),h(3,"button",106),U("click",function(){const i=re(t).$implicit;return oe(O(4).copyPaddle(i))}),W(4,n$,3,0,"span",24)(5,r$,3,0,"span",24),p()()}if(2&e){const t=n.$implicit,r=O(4);C(2),Se(t),C(2),M("ngIf",-1===r.copiedPaddledLicenses.indexOf(t)),C(),M("ngIf",r.copiedPaddledLicenses.indexOf(t)>-1)}}function i$(e,n){if(1&e&&(h(0,"div")(1,"label",102),f(2,"Thank you! Please save your license key persistently:"),p(),W(3,o$,6,3,"div",103),p()),2&e){const t=O(3);C(3),M("ngForOf",t.paddleLicense.licenses)}}function s$(e,n){if(1&e&&(h(0,"div",101),W(1,t$,8,3,"div",24)(2,i$,4,1,"div",24),p()),2&e){const t=O(2);C(),M("ngIf",t.paddleLicense.error),C(),M("ngIf",!t.paddleLicense.error)}}function a$(e,n){if(1&e&&(h(0,"div",2),W(1,e$,6,0,"ng-container",24)(2,s$,3,2,"div",97),p()),2&e){const t=O();C(),M("ngIf",t.paddleLicenseRequested&&!t.paddleLicense),C(),M("ngIf",t.paddleLicense)}}function l$(e,n){1&e&&(h(0,"p")(1,"i"),f(2,"ReportGenerator"),p(),f(3," subscription based licences are provided with a 30 day money back guarantee."),p())}function c$(e,n){1&e&&(h(0,"div",98)(1,"span",99),f(2,"Loading..."),p()())}function u$(e,n){1&e&&(h(0,"div",109),y(1,"i",110),p())}function d$(e,n){if(1&e&&(h(0,"div")(1,"p"),f(2),p(),h(3,"p"),f(4,"Please try again later or use the "),h(5,"a",18),f(6," contact form"),p(),f(7,"."),p()()),2&e){const t=O(2);C(2),Se(t.license.error),C(3),M("routerLink",te(2,_g))}}function f$(e,n){1&e&&(h(0,"div")(1,"p"),f(2,"Please become a "),h(3,"a",111),f(4,"GitHub sponsor"),p(),f(5," first."),p()())}function h$(e,n){1&e&&(h(0,"span"),y(1,"i",107),f(2," Copy"),p())}function p$(e,n){1&e&&(h(0,"span"),y(1,"i",108),f(2," Copied"),p())}function g$(e,n){if(1&e){const t=Le();h(0,"div")(1,"label",112),f(2,"Thank you for becoming a sponsor. Here's your license:"),p(),h(3,"textarea",113),f(4),p(),h(5,"button",106),U("click",function(){return re(t),oe(O(2).copy())}),W(6,h$,3,0,"span",24)(7,p$,3,0,"span",24),p()()}if(2&e){const t=O(2);C(4),Se(t.license.license),C(2),M("ngIf",!t.licenseCopied),C(),M("ngIf",t.licenseCopied)}}function m$(e,n){if(1&e&&(h(0,"div",26),W(1,d$,8,3,"div",24)(2,f$,6,0,"div",24)(3,g$,8,3,"div",24),p()),2&e){const t=O();C(),M("ngIf",t.license.error),C(),M("ngIf",!t.license.error&&!t.license.isSponsor),C(),M("ngIf",!t.license.error&&t.license.isSponsor&&t.license.license)}}const Ti=()=>["/features"];let v$=(()=>{class e{get lifetimeLicense(){return this._lifetimeLicense}set lifetimeLicense(t){this._lifetimeLicense=t,this.lifetimeLicenseChangeTracked||(this.lifetimeLicenseChangeTracked=!0,this.trackingService.track("Licensetype changed"))}constructor(t,r,o){this.oauthService=t,this.licenseService=r,this.trackingService=o,this.paddleIndividualLicensePrice="US$49",this.paddleTeamLicensePrice="US$149",this.paddleEnterpriseLicensePrice="US$299",this.paddleIndividualLifetimeLicensePrice="US$79",this.paddleTeamLifetimeLicensePrice="US$249",this.paddleEnterpriseLifetimeLicensePrice="US$449",this.licenseRequested=!1,this.licenseCopied=!1,this.license=null,this.enablePaddle=!0,this.trialDisabled=!1,this.requestTrialData={name:"",email:""},this.paddleLicenseRequested=!1,this.paddleLicense=null,this.copiedPaddledLicenses=[],this.self=this,this.lifetimeLicenseChangeTracked=!1,this._lifetimeLicense=!0,window.paddleCheckoutComplete=i=>{this.paddleCheckoutComplete(i)},window.Paddle.Setup({vendor:144162}),window.Paddle.Product.Prices(762579,i=>{this.paddleIndividualLicensePrice=i.recurring.price.gross}),window.Paddle.Product.Prices(762580,i=>{this.paddleTeamLicensePrice=i.recurring.price.gross}),window.Paddle.Product.Prices(762581,i=>{this.paddleEnterpriseLicensePrice=i.recurring.price.gross}),window.Paddle.Product.Prices(833943,i=>{this.paddleIndividualLifetimeLicensePrice=i.price.gross}),window.Paddle.Product.Prices(833944,i=>{this.paddleTeamLifetimeLicensePrice=i.price.gross}),window.Paddle.Product.Prices(833945,i=>{this.paddleEnterpriseLifetimeLicensePrice=i.price.gross})}ngOnInit(){const t=this.oauthService.validateStateAndExtractCode();null!==t?(console.log("Code received",t),this.licenseRequested=!0,this.licenseService.getLicense(t).subscribe({next:r=>{console.log("Received license response"),this.license=r,this.scrollToGithub()},error:r=>{console.error(r),this.license=new FH,this.license.error="Unable to generate license.",this.scrollToGithub()},complete:()=>console.info("complete")})):console.log("No code available"),location.href.indexOf("?source=trial")>-1&&this.trackingService.track("Trial2Pro"),this.requestTrialModal=new window.bootstrap.Modal("#requestTrialModal");try{this.trialDisabled=null!==window.localStorage.getItem("trialRequested")}catch{}}requestLicense(){this.licenseRequested=!0,this.oauthService.initCodeFlow()}copy(){try{navigator.clipboard.writeText(this.license.license),this.licenseCopied=!0}catch(t){console.error("Failed to copy license",t)}}copyPaddle(t){try{navigator.clipboard.writeText(t),this.copiedPaddledLicenses.push(t)}catch(r){console.error("Failed to copy paddle license",r)}}scrollToGithub(){return document.querySelector("#github").scrollIntoView(!0),!1}scrollToPaddle(){return document.querySelector("#paddle").scrollIntoView(!0),!1}requestTrial(){this.requestTrialModal.show(),this.trackingService.track("Trial-Started")}completeTrial(){console.log("Trial completed"),this.requestTrialModal.hide(),this.paddleLicenseRequested=!0,this.licenseService.getTrialLicense(this.requestTrialData).subscribe({next:t=>{console.log("Received trial license response"),this.paddleLicense=t,this.scrollToPaddle();try{window.localStorage.setItem("trialRequested","true"),this.trialDisabled=!0}catch{}this.trackingService.track("Trial-Completed")},error:t=>{console.error(t),this.paddleLicense=new c0,this.paddleLicense.error="Unable to generate trial license."},complete:()=>{console.info("complete"),this.requestTrialData={name:"",email:""}}})}openPaddleCheckout(t){"enterprise"===t?window.Paddle.Checkout.open({product:this.lifetimeLicense?833945:762581,successCallback:"paddleCheckoutComplete"}):"team"===t?window.Paddle.Checkout.open({product:this.lifetimeLicense?833944:762580,successCallback:"paddleCheckoutComplete"}):window.Paddle.Checkout.open({product:this.lifetimeLicense?833943:762579,successCallback:"paddleCheckoutComplete"}),this.trackingService.track("Paddle-Started",{props:{product:t,lifetimeLicense:this.lifetimeLicense}})}paddleCheckoutComplete(t){console.log("Checkout completed",t),this.paddleLicenseRequested=!0,this.licenseService.getPaddleLicense(t).subscribe({next:r=>{console.log("Received paddle license response"),this.paddleLicense=r,this.scrollToPaddle(),this.trackingService.track("Paddle-Completed",{props:{product:t.product.name,lifetimeLicense:this.lifetimeLicense}})},error:r=>{console.error(r),this.paddleLicense=new c0,this.paddleLicense.error="Unable to generate Paddle license."},complete:()=>console.info("complete")})}static#e=this.\u0275fac=function(r){return new(r||e)(S(u0),S(d0),S(LH))};static#t=this.\u0275cmp=xt({type:e,selectors:[["app-pro-component"]],standalone:!0,features:[Lt],decls:229,vars:25,consts:[[1,"container"],[1,"mb-4"],[1,"row"],[1,"col-xs-12","col-md-6","order-2","order-md-1"],[1,"table"],["scope","col"],["scope","col",1,"text-center"],[1,"pro-button"],["scope","row"],["fragment","metrics","title","Show feature details",3,"routerLink"],[1,"fa-solid","fa-circle-info","text-secondary"],[1,"text-center"],[1,"fa-solid","fa-circle-check","text-secondary"],["fragment","riskhotspots","title","Show feature details",3,"routerLink"],["title","Show feature details",3,"routerLink"],[1,"fa-solid","fa-circle-check","pro-text"],[1,"col-xs-12","col-md-6","order-1","order-md-2"],["href","",3,"click"],[3,"routerLink"],["id","paddle",1,"container-fluid","mt-5","pt-5","pb-5","bg-light"],[1,"text-center","mb-3"],["class","togglecontainer",4,"ngIf"],["class","row",4,"ngIf"],[1,"mt-5"],[4,"ngIf"],["id","github",1,"container-fluid","mt-5","pt-5","pb-5","bg-light"],[1,"col-xs-12","col-md-6","pb-3"],[1,"fs-2","me-3","number"],["href","https://github.com/sponsors/danielpalme","target","_blank",1,"btn","btn-outline-dark"],[1,"fa-solid","fa-heart","githubheart"],["type","button",1,"btn","btn-primary","me-3",3,"disabled","click"],[1,"fa-solid","fa-rocket"],["class","spinner-border text-info","role","status",4,"ngIf"],["class","col-md-6 pb-3 d-none d-lg-block position-relative",4,"ngIf"],["class","col-xs-12 col-md-6 pb-3",4,"ngIf"],[1,"container-fluid","mt-4","pt-5","pb-5","bg-light"],[1,"container","text-center"],[1,"row","mt-5","testimonial"],["href","https://twitter.com/fredyfx/status/1642807795828543488","target","_blank"],["loading","lazy","src","resources/twitter_light.webp","alt","Testimonial",1,"img-fluid"],["id","faq",1,"container","mt-5","pt-5","pb-5"],["id","accordionFaq",1,"accordion","accordion-flush"],[1,"accordion-item"],["id","headingOne",1,"accordion-header"],["type","button","data-bs-toggle","collapse","data-bs-target","#collapseOne","aria-expanded","true","aria-controls","collapseOne",1,"accordion-button"],["id","collapseOne","aria-labelledby","headingOne","data-bs-parent","#accordionFaq",1,"accordion-collapse","collapse","show"],[1,"accordion-body"],["id","headingTwo",1,"accordion-header"],["type","button","data-bs-toggle","collapse","data-bs-target","#collapseTwo","aria-expanded","false","aria-controls","collapseTwo",1,"accordion-button","collapsed"],["id","collapseTwo","aria-labelledby","headingTwo","data-bs-parent","#accordionFaq",1,"accordion-collapse","collapse"],["id","headingThree",1,"accordion-header"],["type","button","data-bs-toggle","collapse","data-bs-target","#collapseThree","aria-expanded","false","aria-controls","collapseThree",1,"accordion-button","collapsed"],["id","collapseThree","aria-labelledby","headingThree","data-bs-parent","#accordionFaq",1,"accordion-collapse","collapse"],["tabindex","-1","id","requestTrialModal",1,"modal"],[1,"modal-dialog"],[1,"modal-content"],["method","post",3,"ngSubmit"],["trialForm","ngForm"],[1,"modal-header"],[1,"modal-title"],["type","button","data-bs-dismiss","modal","aria-label","Close",1,"btn-close"],[1,"modal-body"],[1,"form-floating","mb-3"],["type","text","id","name","name","name","required","","maxlength","150",1,"form-control",3,"ngModel","ngModelChange"],["for","floatingInput"],[1,"required"],["type","email","id","email","name","email","required","","email","","maxlength","150",1,"form-control",3,"ngModel","ngModelChange"],[1,"modal-footer"],["type","button","data-bs-dismiss","modal",1,"btn","btn-secondary"],["type","submit",1,"btn","btn-primary",3,"disabled"],[1,"togglecontainer"],[1,"option",3,"ngClass","click"],[1,"fa-solid","fa-rotate-right"],[1,"fa-solid","fa-infinity"],[1,"col-xs-12","col-md-6","col-lg-3","mt-0","pb-3","text-center","paddle-container"],[1,"paddle","trial"],["src","resources/trial.svg","alt","Trial",1,"img-fluid"],[1,"mt-3"],[1,"fa-solid","fa-magnifying-glass"],[1,"fa-solid","fa-calendar-days"],["type","button","class","btn btn-primary",3,"disabled","click",4,"ngIf"],["type","button","class","btn btn-primary","disabled","",4,"ngIf"],[1,"col-xs-12","col-md-6","col-lg-3","mt-4","mt-md-0","pb-3","text-center","paddle-container"],[1,"paddle"],["src","resources/individual.svg","alt","Individual",1,"img-fluid"],[1,"fa-solid","fa-user"],["type","button","class","btn btn-primary",3,"click",4,"ngIf"],[1,"col-xs-12","col-md-6","col-lg-3","mt-4","mt-lg-0","pb-3","text-center","paddle-container"],["src","resources/team.svg","alt","Team",1,"img-fluid"],[1,"fa-solid","fa-users"],[1,"col-xs-6","col-md-6","col-lg-3","mt-4","mt-lg-0","pb-3","text-center","paddle-container"],["src","resources/enterprise.svg","alt","Enterprise",1,"img-fluid"],[1,"fa-solid","fa-industry"],["type","button",1,"btn","btn-primary",3,"disabled","click"],["type","button","disabled","",1,"btn","btn-primary"],["type","button",1,"btn","btn-primary",3,"click"],[1,"fa-solid","fa-cart-shopping"],["class","col-xs-12 col-md-6",4,"ngIf"],["role","status",1,"spinner-border","text-info"],[1,"visually-hidden"],[1,"position-relative","paddle-loading"],[1,"col-xs-12","col-md-6"],["for","paddlelicensetext"],["class","mt-2",4,"ngFor","ngForOf"],[1,"mt-2"],["id","paddlelicensetext","rows","5","readonly","",1,"form-control"],[1,"btn","btn-outline-dark","mt-2",3,"click"],[1,"fa-solid","fa-copy"],[1,"fa-solid","fa-check","text-success"],[1,"col-md-6","pb-3","d-none","d-lg-block","position-relative"],[1,"fa-solid","fa-heart","githubheartlarge"],["href","https://github.com/sponsors/danielpalme","target","_blank"],["for","licensetext"],["id","licensetext","rows","5","readonly","",1,"form-control","mt-2"]],template:function(r,o){if(1&r&&(h(0,"div",0)(1,"h1",1),f(2,"PRO"),p(),h(3,"div",2)(4,"div",3)(5,"table",4)(6,"thead")(7,"tr"),y(8,"th",5),h(9,"th",6),f(10,"Free"),p(),h(11,"th",6)(12,"span",7),f(13,"PRO"),p()()()(),h(14,"tbody")(15,"tr")(16,"th",8),f(17,"Metrics "),h(18,"a",9),y(19,"i",10),p()(),h(20,"td",11),y(21,"i",12),p(),h(22,"td",11),y(23,"i",12),p()(),h(24,"tr")(25,"th",8),f(26,"Risk Hotspots "),h(27,"a",13),y(28,"i",10),p()(),h(29,"td",11),y(30,"i",12),p(),h(31,"td",11),y(32,"i",12),p()(),h(33,"tr")(34,"th",8),f(35,"Line coverage "),h(36,"a",14),y(37,"i",10),p()(),h(38,"td",11),y(39,"i",12),p(),h(40,"td",11),y(41,"i",12),p()(),h(42,"tr")(43,"th",8),f(44,"Branch coverage "),h(45,"a",14),y(46,"i",10),p()(),h(47,"td",11),y(48,"i",12),p(),h(49,"td",11),y(50,"i",12),p()(),h(51,"tr")(52,"th",8),f(53,"Method coverage "),h(54,"a",14),y(55,"i",10),p()(),y(56,"td",11),h(57,"td",11),y(58,"i",15),p()(),h(59,"tr")(60,"th",8),f(61,"Metrics on summary page "),h(62,"a",9),y(63,"i",10),p()(),y(64,"td",11),h(65,"td",11),y(66,"i",15),p()(),h(67,"tr")(68,"th",8)(69,"i"),f(70,"OpenCover"),p(),f(71," output format"),p(),y(72,"td",11),h(73,"td",11),y(74,"i",15),p()()()()(),h(75,"div",16)(76,"p")(77,"i"),f(78,"ReportGenerator"),p(),f(79," is Open Source and free to use."),y(80,"br"),f(81," Some of the advanced features require a PRO license. "),p(),h(82,"p"),f(83," You can either "),h(84,"a",17),U("click",function(){return o.scrollToPaddle()}),f(85,"buy a license"),p(),f(86," or you can become a "),h(87,"a",17),U("click",function(){return o.scrollToGithub()}),f(88,"GitHub sponsor"),p(),f(89,"."),y(90,"br"),f(91," A "),h(92,"a",17),U("click",function(){return o.scrollToPaddle()}),f(93,"free trial version"),p(),f(94," is available too. "),p(),h(95,"p"),f(96," Get "),h(97,"a",18),f(98,"in touch"),p(),f(99," if you have any issues and we will figure it out. "),p()()()(),h(100,"section",19)(101,"div",0)(102,"h2",1),f(103,"Buy a license"),p(),h(104,"div",20),W(105,VH,7,6,"span",21),p(),W(106,KH,61,17,"div",22)(107,a$,3,2,"div",22),h(108,"div",23),W(109,l$,4,0,"p",24),h(110,"p"),f(111,"The order process is conducted by Paddle.com. Paddle.com is the Merchant of Record for all orders. Paddle provides all customer service inquiries and handles returns."),p()()()(),h(112,"section",25)(113,"div",0)(114,"h2",1),f(115,"Get your license as a GitHub sponsor"),p(),h(116,"div",2)(117,"div",26)(118,"p"),f(119,"You can obtain your license in two easy steps (no sign up required):"),p(),h(120,"span",27),f(121,"1."),p(),h(122,"a",28),y(123,"i",29),f(124," Become a GitHub sponsor"),p(),y(125,"br"),h(126,"span",27),f(127,"2."),p(),h(128,"button",30),U("click",function(){return o.requestLicense()}),y(129,"i",31),f(130," Get license"),p(),W(131,c$,3,0,"div",32),p(),W(132,u$,2,0,"div",33)(133,m$,4,3,"div",34),p()()(),y(134,"app-testimonials"),h(135,"section",35)(136,"div",36)(137,"h3"),f(138,"Customers"),p(),h(139,"div",37)(140,"a",38),y(141,"img",39),p()()()(),h(142,"section",40)(143,"h2",1),f(144,"Frequently Asked Questions"),p(),h(145,"div",41)(146,"div",42)(147,"h2",43)(148,"button",44),f(149," How do I use/activate my license? "),p()(),h(150,"div",45)(151,"div",46),f(152," Your license key is passed to "),h(153,"i"),f(154,"ReportGenerator"),p(),f(155," via a command line parameter: "),h(156,"i"),f(157,"-license:YOUR_KEY"),p()()()(),h(158,"div",42)(159,"h2",47)(160,"button",48),f(161," Are there limitations on number of users? "),p()(),h(162,"div",49)(163,"div",46)(164,"b"),f(165,"GitHub sponsors"),p(),y(166,"br"),h(167,"p"),f(168,"There's no enforced limit. Please pick a sponsor level that fits your company size and budget."),p(),h(169,"b"),f(170,"Bought license"),p(),y(171,"br"),h(172,"p"),f(173,"There's no enforced limit. Please choose a plan that matches the number of developers using "),h(174,"i"),f(175,"ReportGenerator"),p(),f(176,"."),p()()()(),h(177,"div",42)(178,"h2",50)(179,"button",51),f(180," Will my license expire? "),p()(),h(181,"div",52)(182,"div",46)(183,"b"),f(184,"GitHub sponsors"),p(),y(185,"br"),h(186,"p"),f(187,"Your license will not expire."),p(),h(188,"b"),f(189,"Bought license"),p(),y(190,"br"),h(191,"p")(192,"b"),f(193,"Annual subscription"),p(),f(194,": Your license may get revoked for new releases of "),h(195,"i"),f(196,"ReportGenerator"),p(),f(197,", if you cancel your subscription."),y(198,"br"),h(199,"b"),f(200,"Lifetime licenses"),p(),f(201,": Lifetime licenses will not expire. "),p()()()()()(),h(202,"div",53)(203,"div",54)(204,"div",55)(205,"form",56,57),U("ngSubmit",function(){return o.completeTrial()}),h(207,"div",58)(208,"h5",59),f(209,"Free Trial"),p(),y(210,"button",60),p(),h(211,"div",61)(212,"div",62)(213,"input",63),je("ngModelChange",function(s){return $e(o.requestTrialData.name,s)||(o.requestTrialData.name=s),s}),p(),h(214,"label",64),f(215,"Name "),h(216,"span",65),f(217,"*"),p()()(),h(218,"div",62)(219,"input",66),je("ngModelChange",function(s){return $e(o.requestTrialData.email,s)||(o.requestTrialData.email=s),s}),p(),h(220,"label",64),f(221,"Email address "),h(222,"span",65),f(223,"*"),p()()()(),h(224,"div",67)(225,"button",68),f(226,"Close"),p(),h(227,"button",69),f(228,"Get trial license"),p()()()()()()),2&r){const i=gh(206);C(18),M("routerLink",te(18,Ti)),C(9),M("routerLink",te(19,Ti)),C(9),M("routerLink",te(20,Ti)),C(9),M("routerLink",te(21,Ti)),C(9),M("routerLink",te(22,Ti)),C(8),M("routerLink",te(23,Ti)),C(35),M("routerLink",te(24,_g)),C(8),M("ngIf",!o.paddleLicenseRequested),C(),M("ngIf",!o.paddleLicenseRequested),C(),M("ngIf",o.paddleLicenseRequested),C(2),M("ngIf",!o.lifetimeLicense),C(19),M("disabled",o.licenseRequested),C(3),M("ngIf",o.licenseRequested&&!o.license),C(),M("ngIf",!o.license),C(),M("ngIf",o.license),C(80),Ve("ngModel",o.requestTrialData.name),C(6),Ve("ngModel",o.requestTrialData.email),C(8),M("disabled",!i.valid)}},dependencies:[Sn,Jh,Kh,Ec,su,ru,wi,Wc,Zc,Mi,dg,iu,fa,Ii,l0],styles:[".number[_ngcontent-%COMP%]{display:inline-block;position:relative;top:8px}.spinner-border[_ngcontent-%COMP%]{position:relative;top:9px}.paddle-container[_ngcontent-%COMP%]{padding:10px}.paddle[_ngcontent-%COMP%]{border:1px solid #8c8888;border-radius:20px;padding:20px;background-color:#d8e8f0}.trial[_ngcontent-%COMP%]{background-color:#b2cad7}.githubheartlarge[_ngcontent-%COMP%]{position:absolute;top:-120px;left:40%;font-size:20rem;color:#ffd2ed}.togglecontainer[_ngcontent-%COMP%]{background-color:#fff;display:inline-block;border-radius:20px;white-space:nowrap}.togglecontainer[_ngcontent-%COMP%] .option[_ngcontent-%COMP%]{background-color:#fff;padding:8px 15px;border-radius:20px;cursor:pointer;display:inline-block}.togglecontainer[_ngcontent-%COMP%] .option.active[_ngcontent-%COMP%]{color:#fff;background-color:var(--rg-primary-color);background-image:linear-gradient(50deg,var(--rg-gradient-from) 0%,var(--rg-gradient-to) 100%)}@media only screen and (max-width: 400px){.togglecontainer[_ngcontent-%COMP%] .option[_ngcontent-%COMP%] .fa-solid[_ngcontent-%COMP%]{display:none}}.paddle-loading[_ngcontent-%COMP%]{position:relative;left:35px;top:-20px}.testimonial[_ngcontent-%COMP%]{max-width:550px;margin:auto}"]})}return e})();class fu{constructor(n,t,r,o,i,s){this.name=n,this.url=t,this.runtimes=r,this.description=o,this.installOptions=i,this.executables=s}formatExecutable(n){return n.tool}formatArgument(n,t){if(""===(t=t.trim()))return"";const r=t.indexOf(" ")>-1?'"':"";return`\r\n${r}-${n}:${t}${r}`}formatArguments(n,t){return this.formatArgument(n,t.filter(r=>null!=r&&0!==r.length&&0!==r.trim().length).join(";"))}}class y$ extends fu{formatExecutable(n){let t=`- task: ${n.tool}@${Zt.majorVersion}`;return t+="\r\n displayName: ReportGenerator",t+="\r\n inputs:",console.log("hello",t),t}formatArgument(n,t){if(""===(t=t.trim()))return"";const r=t.indexOf(" ")>-1?"'":"";return`\r\n ${n}: ${r}${t}${r}`}}class _${constructor(){this.verbosities=["Verbose","Info","Warning","Error","Off"],this.types=["Html","Coverage tool","Json","Markdown","Xml","Text","Image"],this.reports=["cobertura.xml"],this.targetdir="coveragereport",this.reporttypes=[{name:"Html",types:["Html"],description:"The default output format. Creates a summary overview (index.html) and detailed reports for each class.",requiresHistoryDir:!1,checked:!0,sampleReport:"resources/reports/Html/index.html"},{name:"Html_Light",types:["Html"],description:"Same as Html but with a light theme.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/Html_Light/index.html"},{name:"Html_Dark",types:["Html"],description:"Same as Html but with a dark theme.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/Html_Dark/index.html"},{name:"Html_BlueRed",types:["Html"],description:"Same as Html but with the colors blue/red instead of green/red.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/Html_BlueRed/index.html"},{name:"HtmlSummary",types:["Html"],description:"Creates a single HTML file (summary.html) without links.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/HtmlSummary/summary.html"},{name:"Html_BlueRed_Summary",types:["Html"],description:"Same as HtmlSummary but with the colors blue/red instead of green/red.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/Html_BlueRed_Summary/summary.html"},{name:"HtmlChart",types:["Html"],description:"Creates a single HTML file containing a chart with historic coverage information.",requiresHistoryDir:!0,checked:!1,sampleReport:"resources/reports/HtmlChart/CoverageHistory.html"},{name:"HtmlInline",types:["Html"],description:"Same as HTML but CSS and JavaScript is included in every HTML page. This results in larger file sizes, but can be useful for integration into build servers like Azure DevOps (VSTS), since they may block referenced CSS and JavaScript files.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/HtmlInline/index.html"},{name:"HtmlInline_AzurePipelines",types:["Html"],description:"Same as HtmlInline but with an adaptive light/dark theme matching the look and feel of Azure Pipelines",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/HtmlInline_AzurePipelines/index.html"},{name:"HtmlInline_AzurePipelines_Light",types:["Html"],description:"Same as HtmlInline but with a light theme matching the look and feel of Azure Pipelines.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/HtmlInline_AzurePipelines_Light/index.html"},{name:"HtmlInline_AzurePipelines_Dark",types:["Html"],description:"Same as HtmlInline but with a dark theme matching the look and feel of Azure Pipelines.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/HtmlInline_AzurePipelines_Dark/index.html"},{name:"MHtml",types:["Html"],description:"Same as HTML but packaged into a single MHTML file.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/MHtml/Summary.mht"},{name:"Clover",types:["Coverage tool"],description:"Creates a XML file in Clover format. This format integrates with tools like Atlassian Bamboo.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/Clover/Clover.xml"},{name:"Cobertura",types:["Coverage tool"],description:"Creates a XML file in Cobertura format. This format integrates with tools like Azure DevOps (VSTS) or Jenkins.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/Cobertura/Cobertura.xml"},{name:"OpenCover",types:["Coverage tool"],description:"Creates a XML file in OpenCover format (PRO version only).",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/OpenCover/OpenCover.xml"},{name:"SonarQube",types:["Coverage tool"],description:"Creates a XML file in SonarQube 'Generic Test Data' format.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/SonarQube/SonarQube.xml"},{name:"lcov",types:["Coverage tool"],description:"Creates a text file in 'lcov' format.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/lcov/lcov.info"},{name:"XML",types:["Xml"],description:"Creates a XML file containing a summary for all classes and detailed reports for each class.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/Xml/Summary.xml"},{name:"XMLSummary",types:["Xml"],description:"Creates a single XML file containing a summary for all classes.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/XmlSummary/Summary.xml"},{name:"JsonSummary",types:["Json"],description:"Creates a single JSON file containing a summary for all classes.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/JsonSummary/Summary.json"},{name:"CodeClimate",types:["Json"],description:"Creates a single JSON file containing a (Gitlab) code climate report.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/CodeClimate/codeclimate.json"},{name:"Latex",types:["Text"],description:"Creates a single TEX file containing a summary for all classes and detailed reports for each class.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/Summary/Summary.tex"},{name:"LatexSummary",types:["Text"],description:"Creates a single TEX file containing a summary for all classes.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/LatexSummary/Summary.tex"},{name:"TeamCitySummary",types:["Coverage tool"],description:"Command line output interpreted by TeamCity.",requiresHistoryDir:!1,checked:!1,sampleReport:null},{name:"TextSummary",types:["Text"],description:"Creates a single TXT file containing coverage information per class.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/TextSummary/Summary.txt"},{name:"TextDeltaSummary",types:["Text"],description:"Creates a single TXT file containing delta coverage information.",requiresHistoryDir:!0,checked:!1,sampleReport:"resources/reports/TextDeltaSummary/DeltaSummary.txt"},{name:"CsvSummary",types:["Text"],description:"Creates a single CSV file containing coverage information per class.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/CsvSummary/Summary.csv"},{name:"MarkdownSummary",types:["Text","Markdown"],description:"Creates a single Markdown file containing coverage information per class.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/MarkdownSummary/Summary.md"},{name:"MarkdownSummaryGithub",types:["Text","Markdown"],description:"Creates a single Markdown file containing coverage information per class. The report is optimized for GitHub.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/MarkdownSummaryGithub/SummaryGithub.md"},{name:"MarkdownDeltaSummary",types:["Text","Markdown"],description:"Creates a single Markdown file containing delta coverage information.",requiresHistoryDir:!0,checked:!1,sampleReport:"resources/reports/MarkdownDeltaSummary/DeltaSummary.md"},{name:"SvgChart",types:["Image"],description:"Creates a single SVG file containing a chart with historic coverage information.",requiresHistoryDir:!0,checked:!1,sampleReport:"resources/reports/SvgChart/CoverageHistory.svg"},{name:"Badges",types:["Image"],description:"Creates SVG files that show line and/or branch coverage information.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/Badges/index.html"}],this.sourcedirectories=[],this.historydir="",this.plugins=[],this.assemblyfilters=[],this.classfilters=[],this.filefilters=[],this.selectedverbosity=this.verbosities[1],this.selectedType=null,this.title="",this.tag="",this.license=""}addSourceDirectory(){return this.sourcedirectories.push(""),!1}removeSourceDirectory(n){return this.sourcedirectories.splice(n,1),!1}addReport(){return this.reports.push(""),!1}removeReport(n){return this.reports.splice(n,1),!1}addPlugin(){return this.plugins.push(""),!1}removePlugin(n){return this.plugins.splice(n,1),!1}addAssemblyFilter(){return this.assemblyfilters.push(""),!1}removeAssemblyFilter(n){return this.assemblyfilters.splice(n,1),!1}addClassFilter(){return this.classfilters.push(""),!1}removeClassFilter(n){return this.classfilters.splice(n,1),!1}addFileFilter(){return this.filefilters.push(""),!1}removeFileFilter(n){return this.filefilters.splice(n,1),!1}getUsage(n,t){const r=n.executables.find(a=>a.runtime==t);let o=void 0!==r?n.formatExecutable(r):"";o+=n.formatArguments("reports",this.reports),o+=n.formatArgument("targetdir",this.targetdir);for(var i="",s=0;s0&&(i+=";"),i+=this.reporttypes[s].name);return i.length>0&&"Html"!==i&&(o+=n.formatArgument("reporttypes",i)),o+=n.formatArguments("sourcedirs",this.sourcedirectories),o+=n.formatArgument("historydir",this.historydir),o+=n.formatArguments("plugins",this.plugins),o+=n.formatArguments("assemblyfilters",this.assemblyfilters),o+=n.formatArguments("classfilters",this.classfilters),o+=n.formatArguments("filefilters",this.filefilters),"Info"!==this.selectedverbosity&&(o+=n.formatArgument("verbosity",this.selectedverbosity)),o+=n.formatArgument("title",this.title),o+=n.formatArgument("tag",this.tag),o+=n.formatArgument("license",this.license),o}historyDirRequired(){for(let n=0;n-1?"'":"";return`\r\n ${n}: ${r}${t}${r}`}}class Cg{constructor(n,t){this.tool=n,this.command=t}}function D$(e,n){if(1&e){const t=Le();h(0,"div",35)(1,"label",36)(2,"input",37),je("ngModelChange",function(o){re(t);const i=O();return $e(i.selectedEnvironment,o)||(i.selectedEnvironment=o),oe(o)}),U("ngModelChange",function(){return re(t),oe(O().selectedEnvironmentChanged())}),p(),h(3,"b"),f(4),p(),y(5,"br"),h(6,"div",38),f(7),p()()()}if(2&e){const t=n.$implicit,r=O();C(2),Ve("ngModel",r.selectedEnvironment),M("value",t)("checked",r.selectedEnvironment.name===t.name),C(2),Se(t.name),C(3),Se(t.description)}}function w$(e,n){if(1&e){const t=Le();h(0,"div",35)(1,"label",36)(2,"input",41),je("ngModelChange",function(o){re(t);const i=O(3);return $e(i.selectedPackage,o)||(i.selectedPackage=o),oe(o)}),p(),h(3,"b"),f(4),p(),y(5,"br"),h(6,"div",38),f(7),p()()()}if(2&e){const t=O().$implicit,r=O(2);C(2),Ve("ngModel",r.selectedPackage),M("value",t),C(2),Se(t.name),C(3),Se(t.description)}}function b$(e,n){if(1&e&&(It(0),W(1,w$,8,4,"div",40),Mt()),2&e){const t=n.$implicit,r=O(2);C(),M("ngIf",t.runtimes.indexOf(r.selectedEnvironment.name)>-1)}}function E$(e,n){if(1&e&&(It(0),h(1,"h4"),f(2,"NuGet Package"),p(),W(3,b$,2,1,"ng-container",39),Mt()),2&e){const t=O();C(3),M("ngForOf",t.packages)}}function I$(e,n){if(1&e){const t=Le();h(0,"span",45),U("click",function(){re(t);const o=O().index;return oe(O().configuration.removeReport(o))}),h(1,"a",46),y(2,"i",47),p()()}}const M$=e=>({"input-group":e});function S$(e,n){if(1&e){const t=Le();h(0,"div",38)(1,"div",42)(2,"input",43),je("ngModelChange",function(o){const s=re(t).index,a=O();return $e(a.configuration.reports[s],o)||(a.configuration.reports[s]=o),oe(o)}),p(),W(3,I$,3,0,"span",44),p()()}if(2&e){const t=n.index,r=O();C(),M("ngClass",Rs(4,M$,t>0)),C(),$n("name","report_",t,""),Ve("ngModel",r.configuration.reports[t]),C(),M("ngIf",t>0)}}const T$=(e,n)=>({"btn-outline-primary":e,"btn-primary":n});function A$(e,n){if(1&e){const t=Le();h(0,"button",48),U("click",function(){const i=re(t).$implicit,s=O();return oe(s.configuration.selectedType=s.configuration.selectedType===i?null:i)}),f(1),p()}if(2&e){const t=n.$implicit,r=O();M("ngClass",cw(2,T$,t!==r.configuration.selectedType,t===r.configuration.selectedType)),C(),Se(t)}}function N$(e,n){if(1&e){const t=Le();h(0,"span",53),y(1,"i",54),f(2," Please specify a "),h(3,"a",9),U("click",function(){return re(t),oe(O(3).scrollToHistoryDir())}),f(4,"history directory"),p()()}}function x$(e,n){if(1&e&&(It(0),y(1,"br",55),h(2,"a",29),f(3,"Sample report"),p(),f(4,"\xa0"),h(5,"a",29),y(6,"i",56),p(),Mt()),2&e){const t=O(2).$implicit;C(2),M("href",t.sampleReport,Ao),C(3),M("href",t.sampleReport,Ao)}}function R$(e,n){if(1&e){const t=Le();h(0,"div",50)(1,"label",36)(2,"input",51),U("change",function(){re(t);const o=O().$implicit;return oe(o.checked=!o.checked)}),p(),h(3,"b"),f(4),p(),W(5,N$,5,0,"span",52),y(6,"br"),h(7,"div",38),f(8),W(9,x$,7,2,"ng-container",5),p()()()}if(2&e){const t=O().$implicit,r=O();C(2),M("checked",t.checked),C(2),Se(t.name),C(),M("ngIf",t.checked&&t.requiresHistoryDir&&!r.configuration.historydir),C(3),Gn("",t.description," "),C(),M("ngIf",t.sampleReport)}}function O$(e,n){if(1&e&&(It(0),W(1,R$,10,5,"div",49),Mt()),2&e){const t=n.$implicit,r=O();C(),M("ngIf",!r.configuration.selectedType||t.types.indexOf(r.configuration.selectedType)>-1)}}function P$(e,n){if(1&e){const t=Le();h(0,"div",8)(1,"div",57)(2,"input",58),je("ngModelChange",function(o){const s=re(t).index,a=O();return $e(a.configuration.sourcedirectories[s],o)||(a.configuration.sourcedirectories[s]=o),oe(o)}),p(),h(3,"span",45),U("click",function(){const i=re(t).index;return oe(O().configuration.removeSourceDirectory(i))}),h(4,"a",46),y(5,"i",47),p()()()()}if(2&e){const t=n.index,r=O();C(2),$n("name","sourcedir_",t,""),Ve("ngModel",r.configuration.sourcedirectories[t])}}function k$(e,n){if(1&e){const t=Le();h(0,"div",8)(1,"div",57)(2,"input",59),je("ngModelChange",function(o){const s=re(t).index,a=O();return $e(a.configuration.plugins[s],o)||(a.configuration.plugins[s]=o),oe(o)}),p(),h(3,"span",45),U("click",function(){const i=re(t).index;return oe(O().configuration.removePlugin(i))}),h(4,"a",46),y(5,"i",47),p()()()()}if(2&e){const t=n.index,r=O();C(2),$n("name","plugin_",t,""),Ve("ngModel",r.configuration.plugins[t])}}function F$(e,n){if(1&e){const t=Le();h(0,"div",8)(1,"div",57)(2,"input",60),je("ngModelChange",function(o){const s=re(t).index,a=O();return $e(a.configuration.assemblyfilters[s],o)||(a.configuration.assemblyfilters[s]=o),oe(o)}),p(),h(3,"span",45),U("click",function(){const i=re(t).index;return oe(O().configuration.removeAssemblyFilter(i))}),h(4,"a",46),y(5,"i",47),p()()()()}if(2&e){const t=n.index,r=O();C(2),$n("name","assemblyfilter_",t,""),Ve("ngModel",r.configuration.assemblyfilters[t])}}function L$(e,n){if(1&e){const t=Le();h(0,"div",8)(1,"div",57)(2,"input",61),je("ngModelChange",function(o){const s=re(t).index,a=O();return $e(a.configuration.classfilters[s],o)||(a.configuration.classfilters[s]=o),oe(o)}),p(),h(3,"span",45),U("click",function(){const i=re(t).index;return oe(O().configuration.removeClassFilter(i))}),h(4,"a",46),y(5,"i",47),p()()()()}if(2&e){const t=n.index,r=O();C(2),$n("name","classfilter_",t,""),Ve("ngModel",r.configuration.classfilters[t])}}function V$(e,n){if(1&e){const t=Le();h(0,"div",8)(1,"div",57)(2,"input",62),je("ngModelChange",function(o){const s=re(t).index,a=O();return $e(a.configuration.filefilters[s],o)||(a.configuration.filefilters[s]=o),oe(o)}),p(),h(3,"span",45),U("click",function(){const i=re(t).index;return oe(O().configuration.removeFileFilter(i))}),h(4,"a",46),y(5,"i",47),p()()()()}if(2&e){const t=n.index,r=O();C(2),$n("name","filefilter_",t,""),Ve("ngModel",r.configuration.filefilters[t])}}function j$(e,n){if(1&e&&(h(0,"option",63),f(1),p()),2&e){const t=n.$implicit;M("value",t),C(),Se(t)}}function U$(e,n){if(1&e&&(h(0,"div",64)(1,"b"),f(2),p(),y(3,"br"),h(4,"pre",32),f(5),p()()),2&e){const t=n.$implicit;C(2),Se(t.tool),C(3),Se(t.command)}}function B$(e,n){1&e&&(y(0,"i",65),f(1," Copied "))}function H$(e,n){1&e&&(y(0,"i",66),f(1," Copy "))}function $$(e,n){if(1&e&&(h(0,"div",64)(1,"b"),f(2),p(),y(3,"br"),h(4,"pre",32),f(5),p()()),2&e){const t=n.$implicit;C(2),Se(t.tool),C(3),Se(t.command)}}function G$(e,n){1&e&&(y(0,"i",65),f(1," Copied "))}function z$(e,n){1&e&&(y(0,"i",66),f(1," Copy "))}const q$=()=>["/pro"],eo=" | ReportGenerator - Code coverage reports",Z$=[{path:"",component:PH,pathMatch:"full",title:"Home"+eo,data:{canonical:"/"}},{path:"features",component:SH,title:"Features"+eo,data:{canonical:"/features"}},{path:"features.html",redirectTo:"/features"},{path:"getstarted",component:AH,title:"Get started"+eo,data:{canonical:"/getstarted"}},{path:"getstarted.html",redirectTo:"/getstarted"},{path:"usage",component:(()=>{class e{constructor(){this.versions=Zt,this.lastResult="",this.usageCopied=!1,this.configuration=new _$,this.environments=[new hu(".NET Core",".NET Core"),new hu(".NET Framework","The full .NET framework"),new hu("Azure DevOps",null),new hu("Github Action",null)],this.packages=[new fu("ReportGenerator","https://www.nuget.org/packages/ReportGenerator",[".NET Framework",".NET Core"],"Use this package if your project is based on .NET Framework or .NET Core and you want to use ReportGenerator via the command line or a build script.",[new Cg("Package Manager",`Install-Package ReportGenerator -Version ${Zt.version}`),new Cg(".NET CLI",`dotnet add package ReportGenerator --version ${Zt.version}`)],[new ma(".NET Framework",`$(UserProfile)\\.nuget\\packages\\reportgenerator\\${Zt.version}\\tools\\net47\\ReportGenerator.exe`),new ma(".NET Core",`dotnet $(UserProfile)\\.nuget\\packages\\reportgenerator\\${Zt.version}\\tools\\net6.0\\ReportGenerator.dll`)]),new fu("dotnet-reportgenerator-globaltool","https://www.nuget.org/packages/dotnet-reportgenerator-globaltool",[".NET Core"],"Use this package if your project is based on .NET Core and you want to use ReportGenerator as a (global) 'DotnetTool'.",[new Cg(".NET CLI",`dotnet tool install --global dotnet-reportgenerator-globaltool --version ${Zt.version}\r\n\r\ndotnet tool install dotnet-reportgenerator-globaltool --tool-path tools --version ${Zt.version}\r\n\r\ndotnet new tool-manifest\r\ndotnet tool install dotnet-reportgenerator-globaltool --version ${Zt.version}`)],[new ma(".NET Core","reportgenerator")]),new y$("Azure DevOps","https://marketplace.visualstudio.com/items?itemName=Palmmedia.reportgenerator",["Azure DevOps"],"Use this package within Azure DevOps",[],[new ma("Azure DevOps","reportgenerator")]),new C$("GitHub Action","https://github.com/marketplace/actions/reportgenerator",["Github Action"],"Use this package within Github Actions",[],[new ma("Github Action","danielpalme/ReportGenerator-GitHub-Action")])],this.selectedEnvironment=this.environments[0],this.selectedPackage=this.packages[0]}selectedEnvironmentChanged(){this.selectedPackage=this.packages.find(t=>t.runtimes.indexOf(this.selectedEnvironment.name)>-1)}severalPackagesAvailable(){return this.packages.filter(t=>t.runtimes.indexOf(this.selectedEnvironment.name)>-1).length>1}getUsage(){const t=this.configuration.getUsage(this.selectedPackage,this.selectedEnvironment.name);return this.lastResult!==t&&(this.lastResult=t,this.usageCopied=!1),t}copy(){try{navigator.clipboard.writeText(this.getUsage()),this.usageCopied=!0}catch(t){console.error("Failed to copy license",t)}}scrollToHistoryDir(){return document.querySelector("#historydir").scrollIntoView(!0),!1}trackByIndex(t,r){return t}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275cmp=xt({type:e,selectors:[["app-usage-component"]],standalone:!0,features:[Lt],decls:219,vars:39,consts:[[1,"container"],[1,"mb-4"],[1,"row"],[1,"col-md-7"],["class","form-check",4,"ngFor","ngForOf"],[4,"ngIf"],[1,"alert","alert-info"],["class","mb-3",4,"ngFor","ngForOf","ngForTrackBy"],[1,"input-group","mb-3"],["href","",3,"click"],[1,"fa","fa-plus-circle"],["type","text","name","targetdir","placeholder","The target directory","required","",1,"form-control",3,"ngModel","ngModelChange"],["href","https://danielpalme.github.io/ReportGenerator/resources/SampleReports.zip"],[1,"me-2"],["type","button","class","btn btn-sm me-1 mb-1",3,"ngClass","click",4,"ngFor","ngForOf","ngForTrackBy"],[4,"ngFor","ngForOf","ngForTrackBy"],["class","input-group mb-3",4,"ngFor","ngForOf","ngForTrackBy"],["id","historydir"],["type","text","name","historydir","placeholder","The history directory",1,"form-control",3,"ngModel","required","ngModelChange"],["href","https://github.com/danielpalme/ReportGenerator/wiki/Custom-reports"],["href","https://github.com/danielpalme/ReportGenerator/wiki/Custom-history-storage"],["name","verbosity",1,"form-select",3,"ngModel","ngModelChange"],[3,"value",4,"ngFor","ngForOf","ngForTrackBy"],["type","text","name","title","placeholder","Title",1,"form-control",3,"ngModel","ngModelChange"],["type","text","name","tag","placeholder","Optional tag or build version",1,"form-control",3,"ngModel","ngModelChange"],[3,"routerLink"],["type","text","name","license","placeholder","Optional license for PRO version","rows","4",1,"form-control",3,"ngModel","ngModelChange"],[1,"col-md-5"],[1,"d-md-none","mt-5"],["target","_blank",3,"href"],["class","mt-2",4,"ngFor","ngForOf"],[1,"mt-4"],[1,"text-dark","bg-light","p-2","border"],[1,"btn","btn-outline-dark","mt-2",3,"click"],[1,"d-none","d-md-block","sticky"],[1,"form-check"],[1,"form-check-label"],["type","radio","name","environment",1,"form-check-input",3,"ngModel","value","checked","ngModelChange"],[1,"mb-3"],[4,"ngFor","ngForOf"],["class","form-check",4,"ngIf"],["type","radio","name","package",1,"form-check-input",3,"ngModel","value","ngModelChange"],[3,"ngClass"],["type","text","placeholder","The path of the coverage file","required","",1,"form-control",3,"name","ngModel","ngModelChange"],["class","input-group-text",3,"click",4,"ngIf"],[1,"input-group-text",3,"click"],["href",""],[1,"fa","fa-trash","text-danger"],["type","button",1,"btn","btn-sm","me-1","mb-1",3,"ngClass","click"],["class","form-check mt-1",4,"ngIf"],[1,"form-check","mt-1"],["type","checkbox","name","reporttype",1,"form-check-input",3,"checked","change"],["class","text-danger ms-2",4,"ngIf"],[1,"text-danger","ms-2"],[1,"fa-solid","fa-triangle-exclamation"],[1,"mt-1"],[1,"fa-solid","fa-arrow-up-right-from-square"],[1,"input-group"],["type","text","placeholder","The source directory","required","",1,"form-control",3,"name","ngModel","ngModelChange"],["type","text","placeholder","The path of the plugin","required","",1,"form-control",3,"name","ngModel","ngModelChange"],["type","text","placeholder","The include or exclude filter for assemlies","pattern","^[+-].+$","required","",1,"form-control",3,"name","ngModel","ngModelChange"],["type","text","placeholder","The include or exclude filter for classes","pattern","^[+-].+$","required","",1,"form-control",3,"name","ngModel","ngModelChange"],["type","text","placeholder","The include or exclude filter for files","pattern","^[+-].+$","required","",1,"form-control",3,"name","ngModel","ngModelChange"],[3,"value"],[1,"mt-2"],[1,"fa-solid","fa-check","text-success"],[1,"fa-solid","fa-copy"]],template:function(r,o){1&r&&(h(0,"div",0)(1,"h1",1),f(2,"Usage"),p(),h(3,"div",2)(4,"div",3)(5,"form")(6,"h3"),f(7,"Environment"),p(),W(8,D$,8,5,"div",4),y(9,"hr"),W(10,E$,4,1,"ng-container",5),y(11,"hr"),h(12,"h3"),f(13,"Reports"),p(),h(14,"div",6),f(15,"Path to the coverage report(s) that should be parsed."),y(16,"br"),f(17,"Globbing is supported."),p(),W(18,S$,4,6,"div",7),h(19,"div",8)(20,"a",9),U("click",function(){return o.configuration.addReport()}),y(21,"i",10),f(22," Add report"),p()(),y(23,"br"),h(24,"h3"),f(25,"Target directory"),p(),h(26,"div",6),f(27,"The directory where the generated report(s) should be saved."),p(),h(28,"div",8)(29,"input",11),je("ngModelChange",function(s){return $e(o.configuration.targetdir,s)||(o.configuration.targetdir=s),s}),p()(),y(30,"br"),h(31,"h3"),f(32,"Report types"),p(),h(33,"div",6),f(34,"Download "),h(35,"a",12),f(36,"sample reports"),p()(),h(37,"span",13),f(38,"Filter:"),p(),W(39,A$,2,5,"button",14),y(40,"br"),W(41,O$,2,1,"ng-container",15),h(42,"h3"),f(43,"Source directories"),p(),h(44,"div",6),f(45,"Optional directories which contain the corresponding source code."),y(46,"br"),f(47,"The source directories are used if coverage report contains classes without path information."),p(),W(48,P$,6,2,"div",16),h(49,"div",8)(50,"a",9),U("click",function(){return o.configuration.addSourceDirectory()}),y(51,"i",10),f(52," Add source directory"),p()(),y(53,"br"),h(54,"h3",17),f(55,"History directory"),p(),h(56,"div",6),f(57,"Optional directory for storing "),h(58,"b"),f(59,"persistent"),p(),f(60," coverage information. Choose a directory which does not get deleted between builds."),y(61,"br"),f(62,"Required to show the history chart in the HTML reports."),p(),h(63,"div",8)(64,"input",18),je("ngModelChange",function(s){return $e(o.configuration.historydir,s)||(o.configuration.historydir=s),s}),p()(),y(65,"br"),h(66,"h3"),f(67,"Plugins"),p(),h(68,"div",6),f(69,"Optional plugin files for "),h(70,"a",19),f(71,"custom reports"),p(),f(72," or "),h(73,"a",20),f(74,"custom history storage"),p(),f(75,"."),p(),W(76,k$,6,2,"div",16),h(77,"div",8)(78,"a",9),U("click",function(){return o.configuration.addPlugin()}),y(79,"i",10),f(80," Add plugin"),p()(),y(81,"br"),h(82,"h3"),f(83,"Assembly filters"),p(),h(84,"div",6),f(85,"Optional list of "),h(86,"b"),f(87,"assemblies"),p(),f(88," that should be included or excluded in the report. "),y(89,"br"),f(90,"Exclusion filters take precedence over inclusion filters. "),y(91,"br"),f(92,"Wildcards are allowed."),y(93,"br"),h(94,"p"),f(95,"Examples:"),y(96,"br"),h(97,"code"),f(98,"+Included"),p(),y(99,"br"),h(100,"code"),f(101,"-Excluded"),p()()(),W(102,F$,6,2,"div",16),h(103,"div",8)(104,"a",9),U("click",function(){return o.configuration.addAssemblyFilter()}),y(105,"i",10),f(106," Add assembly filter"),p()(),y(107,"br"),h(108,"h3"),f(109,"Class filters"),p(),h(110,"div",6),f(111,"Optional list of "),h(112,"b"),f(113,"classes"),p(),f(114," that should be included or excluded in the report. "),y(115,"br"),f(116,"Exclusion filters take precedence over inclusion filters. "),y(117,"br"),f(118,"Wildcards are allowed."),y(119,"br"),h(120,"p"),f(121,"Examples:"),y(122,"br"),h(123,"code"),f(124,"+Included"),p(),y(125,"br"),h(126,"code"),f(127,"-Excluded"),p()()(),W(128,L$,6,2,"div",16),h(129,"div",8)(130,"a",9),U("click",function(){return o.configuration.addClassFilter()}),y(131,"i",10),f(132," Add class filter"),p()(),y(133,"br"),h(134,"h3"),f(135,"File filters"),p(),h(136,"div",6),f(137,"Optional list of "),h(138,"b"),f(139,"files"),p(),f(140," that should be included or excluded in the report. "),y(141,"br"),f(142,"Exclusion filters take precedence over inclusion filters. "),y(143,"br"),f(144,"Wildcards are allowed."),y(145,"br"),h(146,"p"),f(147,"Examples:"),y(148,"br"),h(149,"code"),f(150,"+Included"),p(),y(151,"br"),h(152,"code"),f(153,"-Excluded"),p()()(),W(154,V$,6,2,"div",16),h(155,"div",8)(156,"a",9),U("click",function(){return o.configuration.addFileFilter()}),y(157,"i",10),f(158," Add file filter"),p()(),y(159,"br"),h(160,"h3"),f(161,"Verbosity"),p(),h(162,"div",6),f(163,"The verbosity level of the log messages."),p(),h(164,"div",8)(165,"select",21),je("ngModelChange",function(s){return $e(o.configuration.selectedverbosity,s)||(o.configuration.selectedverbosity=s),s}),W(166,j$,2,2,"option",22),p()(),y(167,"br"),h(168,"h3"),f(169,"Title"),p(),h(170,"div",6),f(171,"Optional title."),p(),h(172,"div",8)(173,"input",23),je("ngModelChange",function(s){return $e(o.configuration.title,s)||(o.configuration.title=s),s}),p()(),y(174,"br"),h(175,"h3"),f(176,"Tag"),p(),h(177,"div",6),f(178,"Optional tag or build version."),p(),h(179,"div",8)(180,"input",24),je("ngModelChange",function(s){return $e(o.configuration.tag,s)||(o.configuration.tag=s),s}),p()(),y(181,"br"),h(182,"h3"),f(183,"License"),p(),h(184,"div",6),f(185,"Optional license. Get your license here: "),h(186,"a",25),f(187,"https://reportgenerator.io/pro"),p()(),h(188,"div",8)(189,"textarea",26),je("ngModelChange",function(s){return $e(o.configuration.license,s)||(o.configuration.license=s),s}),p()()()(),h(190,"div",27)(191,"div",28)(192,"h3"),f(193,"Instructions"),p(),f(194," Install "),h(195,"a",29),f(196),p(),W(197,U$,6,2,"div",30),h(198,"h4",31),f(199,"Usage"),p(),h(200,"pre",32),f(201),p(),h(202,"button",33),U("click",function(){return o.copy()}),W(203,B$,2,0)(204,H$,2,0),p()(),h(205,"div",34)(206,"h3"),f(207,"Instructions"),p(),f(208," Install "),h(209,"a",29),f(210),p(),W(211,$$,6,2,"div",30),h(212,"h4",31),f(213,"Usage"),p(),h(214,"pre",32),f(215),p(),h(216,"button",33),U("click",function(){return o.copy()}),W(217,G$,2,0)(218,z$,2,0),p()()()()()),2&r&&(C(8),M("ngForOf",o.environments),C(2),M("ngIf",o.severalPackagesAvailable()),C(8),M("ngForOf",o.configuration.reports)("ngForTrackBy",o.trackByIndex),C(11),Ve("ngModel",o.configuration.targetdir),C(10),M("ngForOf",o.configuration.types)("ngForTrackBy",o.trackByIndex),C(2),M("ngForOf",o.configuration.reporttypes)("ngForTrackBy",o.trackByIndex),C(7),M("ngForOf",o.configuration.sourcedirectories)("ngForTrackBy",o.trackByIndex),C(16),Ve("ngModel",o.configuration.historydir),M("required",o.configuration.historyDirRequired()),C(12),M("ngForOf",o.configuration.plugins)("ngForTrackBy",o.trackByIndex),C(26),M("ngForOf",o.configuration.assemblyfilters)("ngForTrackBy",o.trackByIndex),C(26),M("ngForOf",o.configuration.classfilters)("ngForTrackBy",o.trackByIndex),C(26),M("ngForOf",o.configuration.filefilters)("ngForTrackBy",o.trackByIndex),C(11),Ve("ngModel",o.configuration.selectedverbosity),C(),M("ngForOf",o.configuration.verbosities)("ngForTrackBy",o.trackByIndex),C(7),Ve("ngModel",o.configuration.title),C(7),Ve("ngModel",o.configuration.tag),C(6),M("routerLink",te(38,q$)),C(3),Ve("ngModel",o.configuration.license),C(6),M("href",o.selectedPackage.url,Ao),C(),Se(o.selectedPackage.name),C(),M("ngForOf",o.selectedPackage.installOptions),C(4),Se(o.getUsage()),C(2),Jo(203,o.usageCopied?203:204),C(6),M("href",o.selectedPackage.url,Ao),C(),Se(o.selectedPackage.name),C(),M("ngForOf",o.selectedPackage.installOptions),C(4),Se(o.getUsage()),C(2),Jo(217,o.usageCopied?217:218))},dependencies:[su,ru,AM,xM,wi,ou,sg,Wc,Zc,Mi,fg,fa,Ii,Jh,Kh,Ec,Sn],styles:[".sticky[_ngcontent-%COMP%]{position:sticky;top:100px}"]})}return e})(),title:"Usage"+eo,data:{canonical:"/usage"}},{path:"usage.html",redirectTo:"/usage"},{path:"pro",component:v$,title:"PRO"+eo,data:{canonical:"/pro"}},{path:"pro.html",redirectTo:"/pro"},{path:"contact",component:MH,title:"Contact"+eo,data:{canonical:"/contact"}},{path:"contact.html",redirectTo:"/contact"},{path:"404",component:kH,title:"404 - Not found"+eo},{path:"**",redirectTo:"/404"}];(function u3(e,n){return xF({rootComponent:e,...NE(n)})})(QU,{providers:[Zm(m3,(()=>{class e{static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275mod=Jn({type:e});static#n=this.\u0275inj=Ln({imports:[kI.forRoot(Z$,{scrollPositionRestoration:"enabled",scrollOffset:[0,0],anchorScrolling:"enabled"}),kI]})}return e})(),su),u0,d0,s0,function gH(...e){const n=[gg,ZM,qM,{provide:au,useExisting:qM},{provide:lu,useExisting:ZM},{provide:ga,useValue:pH,multi:!0},{provide:yg,useValue:!0},{provide:XM,useClass:hH}];for(const t of e)n.push(...t.\u0275providers);return Ya(n)}(function mH(){return function Kr(e,n){return{\u0275kind:e,\u0275providers:n}}(wr.LegacyInterceptors,[{provide:JM,useFactory:oH},{provide:ga,useExisting:JM,multi:!0}])}())]}).catch(e=>console.error(e))}},Ai=>{Ai(Ai.s=632)}]); \ No newline at end of file +"use strict";(self.webpackChunkReportGenerator_io=self.webpackChunkReportGenerator_io||[]).push([[590],{632:()=>{let Re=null,va=1;const br=Symbol("SIGNAL");function xe(e){const n=Re;return Re=e,n}function Dg(e){if((!Ri(e)||e.dirty)&&(e.dirty||e.lastCleanEpoch!==va)){if(!e.producerMustRecompute(e)&&!mu(e))return e.dirty=!1,void(e.lastCleanEpoch=va);e.producerRecomputeValue(e),e.dirty=!1,e.lastCleanEpoch=va}}function mu(e){no(e);for(let n=0;n0}function no(e){e.producerNode??=[],e.producerIndexOfThis??=[],e.producerLastReadVersion??=[]}let Ng=null;function Ee(e){return"function"==typeof e}function yu(e){const t=e(r=>{Error.call(r),r.stack=(new Error).stack});return t.prototype=Object.create(Error.prototype),t.prototype.constructor=t,t}const _u=yu(e=>function(t){e(this),this.message=t?`${t.length} errors occurred during unsubscription:\n${t.map((r,o)=>`${o+1}) ${r.toString()}`).join("\n ")}`:"",this.name="UnsubscriptionError",this.errors=t});function Cu(e,n){if(e){const t=e.indexOf(n);0<=t&&e.splice(t,1)}}class yt{constructor(n){this.initialTeardown=n,this.closed=!1,this._parentage=null,this._finalizers=null}unsubscribe(){let n;if(!this.closed){this.closed=!0;const{_parentage:t}=this;if(t)if(this._parentage=null,Array.isArray(t))for(const i of t)i.remove(this);else t.remove(this);const{initialTeardown:r}=this;if(Ee(r))try{r()}catch(i){n=i instanceof _u?i.errors:[i]}const{_finalizers:o}=this;if(o){this._finalizers=null;for(const i of o)try{kg(i)}catch(s){n=n??[],s instanceof _u?n=[...n,...s.errors]:n.push(s)}}if(n)throw new _u(n)}}add(n){var t;if(n&&n!==this)if(this.closed)kg(n);else{if(n instanceof yt){if(n.closed||n._hasParent(this))return;n._addParent(this)}(this._finalizers=null!==(t=this._finalizers)&&void 0!==t?t:[]).push(n)}}_hasParent(n){const{_parentage:t}=this;return t===n||Array.isArray(t)&&t.includes(n)}_addParent(n){const{_parentage:t}=this;this._parentage=Array.isArray(t)?(t.push(n),t):t?[t,n]:n}_removeParent(n){const{_parentage:t}=this;t===n?this._parentage=null:Array.isArray(t)&&Cu(t,n)}remove(n){const{_finalizers:t}=this;t&&Cu(t,n),n instanceof yt&&n._removeParent(this)}}yt.EMPTY=(()=>{const e=new yt;return e.closed=!0,e})();const Og=yt.EMPTY;function Pg(e){return e instanceof yt||e&&"closed"in e&&Ee(e.remove)&&Ee(e.add)&&Ee(e.unsubscribe)}function kg(e){Ee(e)?e():e.unsubscribe()}const Er={onUnhandledError:null,onStoppedNotification:null,Promise:void 0,useDeprecatedSynchronousErrorHandling:!1,useDeprecatedNextContext:!1},_a={setTimeout(e,n,...t){const{delegate:r}=_a;return r?.setTimeout?r.setTimeout(e,n,...t):setTimeout(e,n,...t)},clearTimeout(e){const{delegate:n}=_a;return(n?.clearTimeout||clearTimeout)(e)},delegate:void 0};function Fg(e){_a.setTimeout(()=>{const{onUnhandledError:n}=Er;if(!n)throw e;n(e)})}function Du(){}const E0=wu("C",void 0,void 0);function wu(e,n,t){return{kind:e,value:n,error:t}}let Ir=null;function Ca(e){if(Er.useDeprecatedSynchronousErrorHandling){const n=!Ir;if(n&&(Ir={errorThrown:!1,error:null}),e(),n){const{errorThrown:t,error:r}=Ir;if(Ir=null,t)throw r}}else e()}class bu extends yt{constructor(n){super(),this.isStopped=!1,n?(this.destination=n,Pg(n)&&n.add(this)):this.destination=x0}static create(n,t,r){return new Iu(n,t,r)}next(n){this.isStopped?Mu(function M0(e){return wu("N",e,void 0)}(n),this):this._next(n)}error(n){this.isStopped?Mu(function I0(e){return wu("E",void 0,e)}(n),this):(this.isStopped=!0,this._error(n))}complete(){this.isStopped?Mu(E0,this):(this.isStopped=!0,this._complete())}unsubscribe(){this.closed||(this.isStopped=!0,super.unsubscribe(),this.destination=null)}_next(n){this.destination.next(n)}_error(n){try{this.destination.error(n)}finally{this.unsubscribe()}}_complete(){try{this.destination.complete()}finally{this.unsubscribe()}}}const T0=Function.prototype.bind;function Eu(e,n){return T0.call(e,n)}class A0{constructor(n){this.partialObserver=n}next(n){const{partialObserver:t}=this;if(t.next)try{t.next(n)}catch(r){Da(r)}}error(n){const{partialObserver:t}=this;if(t.error)try{t.error(n)}catch(r){Da(r)}else Da(n)}complete(){const{partialObserver:n}=this;if(n.complete)try{n.complete()}catch(t){Da(t)}}}class Iu extends bu{constructor(n,t,r){let o;if(super(),Ee(n)||!n)o={next:n??void 0,error:t??void 0,complete:r??void 0};else{let i;this&&Er.useDeprecatedNextContext?(i=Object.create(n),i.unsubscribe=()=>this.unsubscribe(),o={next:n.next&&Eu(n.next,i),error:n.error&&Eu(n.error,i),complete:n.complete&&Eu(n.complete,i)}):o=n}this.destination=new A0(o)}}function Da(e){Er.useDeprecatedSynchronousErrorHandling?function S0(e){Er.useDeprecatedSynchronousErrorHandling&&Ir&&(Ir.errorThrown=!0,Ir.error=e)}(e):Fg(e)}function Mu(e,n){const{onStoppedNotification:t}=Er;t&&_a.setTimeout(()=>t(e,n))}const x0={closed:!0,next:Du,error:function N0(e){throw e},complete:Du},Su="function"==typeof Symbol&&Symbol.observable||"@@observable";function Mr(e){return e}function Lg(e){return 0===e.length?Mr:1===e.length?e[0]:function(t){return e.reduce((r,o)=>o(r),t)}}let Be=(()=>{class e{constructor(t){t&&(this._subscribe=t)}lift(t){const r=new e;return r.source=this,r.operator=t,r}subscribe(t,r,o){const i=function P0(e){return e&&e instanceof bu||function O0(e){return e&&Ee(e.next)&&Ee(e.error)&&Ee(e.complete)}(e)&&Pg(e)}(t)?t:new Iu(t,r,o);return Ca(()=>{const{operator:s,source:a}=this;i.add(s?s.call(i,a):a?this._subscribe(i):this._trySubscribe(i))}),i}_trySubscribe(t){try{return this._subscribe(t)}catch(r){t.error(r)}}forEach(t,r){return new(r=Vg(r))((o,i)=>{const s=new Iu({next:a=>{try{t(a)}catch(l){i(l),s.unsubscribe()}},error:i,complete:o});this.subscribe(s)})}_subscribe(t){var r;return null===(r=this.source)||void 0===r?void 0:r.subscribe(t)}[Su](){return this}pipe(...t){return Lg(t)(this)}toPromise(t){return new(t=Vg(t))((r,o)=>{let i;this.subscribe(s=>i=s,s=>o(s),()=>r(i))})}}return e.create=n=>new e(n),e})();function Vg(e){var n;return null!==(n=e??Er.Promise)&&void 0!==n?n:Promise}const k0=yu(e=>function(){e(this),this.name="ObjectUnsubscribedError",this.message="object unsubscribed"});let dn=(()=>{class e extends Be{constructor(){super(),this.closed=!1,this.currentObservers=null,this.observers=[],this.isStopped=!1,this.hasError=!1,this.thrownError=null}lift(t){const r=new jg(this,this);return r.operator=t,r}_throwIfClosed(){if(this.closed)throw new k0}next(t){Ca(()=>{if(this._throwIfClosed(),!this.isStopped){this.currentObservers||(this.currentObservers=Array.from(this.observers));for(const r of this.currentObservers)r.next(t)}})}error(t){Ca(()=>{if(this._throwIfClosed(),!this.isStopped){this.hasError=this.isStopped=!0,this.thrownError=t;const{observers:r}=this;for(;r.length;)r.shift().error(t)}})}complete(){Ca(()=>{if(this._throwIfClosed(),!this.isStopped){this.isStopped=!0;const{observers:t}=this;for(;t.length;)t.shift().complete()}})}unsubscribe(){this.isStopped=this.closed=!0,this.observers=this.currentObservers=null}get observed(){var t;return(null===(t=this.observers)||void 0===t?void 0:t.length)>0}_trySubscribe(t){return this._throwIfClosed(),super._trySubscribe(t)}_subscribe(t){return this._throwIfClosed(),this._checkFinalizedStatuses(t),this._innerSubscribe(t)}_innerSubscribe(t){const{hasError:r,isStopped:o,observers:i}=this;return r||o?Og:(this.currentObservers=null,i.push(t),new yt(()=>{this.currentObservers=null,Cu(i,t)}))}_checkFinalizedStatuses(t){const{hasError:r,thrownError:o,isStopped:i}=this;r?t.error(o):i&&t.complete()}asObservable(){const t=new Be;return t.source=this,t}}return e.create=(n,t)=>new jg(n,t),e})();class jg extends dn{constructor(n,t){super(),this.destination=n,this.source=t}next(n){var t,r;null===(r=null===(t=this.destination)||void 0===t?void 0:t.next)||void 0===r||r.call(t,n)}error(n){var t,r;null===(r=null===(t=this.destination)||void 0===t?void 0:t.error)||void 0===r||r.call(t,n)}complete(){var n,t;null===(t=null===(n=this.destination)||void 0===n?void 0:n.complete)||void 0===t||t.call(n)}_subscribe(n){var t,r;return null!==(r=null===(t=this.source)||void 0===t?void 0:t.subscribe(n))&&void 0!==r?r:Og}}class jt extends dn{constructor(n){super(),this._value=n}get value(){return this.getValue()}_subscribe(n){const t=super._subscribe(n);return!t.closed&&n.next(this._value),t}getValue(){const{hasError:n,thrownError:t,_value:r}=this;if(n)throw t;return this._throwIfClosed(),r}next(n){super.next(this._value=n)}}function Ug(e){return Ee(e?.lift)}function et(e){return n=>{if(Ug(n))return n.lift(function(t){try{return e(t,this)}catch(r){this.error(r)}});throw new TypeError("Unable to lift unknown Observable type")}}function ze(e,n,t,r,o){return new F0(e,n,t,r,o)}class F0 extends bu{constructor(n,t,r,o,i,s){super(n),this.onFinalize=i,this.shouldUnsubscribe=s,this._next=t?function(a){try{t(a)}catch(l){n.error(l)}}:super._next,this._error=o?function(a){try{o(a)}catch(l){n.error(l)}finally{this.unsubscribe()}}:super._error,this._complete=r?function(){try{r()}catch(a){n.error(a)}finally{this.unsubscribe()}}:super._complete}unsubscribe(){var n;if(!this.shouldUnsubscribe||this.shouldUnsubscribe()){const{closed:t}=this;super.unsubscribe(),!t&&(null===(n=this.onFinalize)||void 0===n||n.call(this))}}}function K(e,n){return et((t,r)=>{let o=0;t.subscribe(ze(r,i=>{r.next(e.call(n,i,o++))}))})}const Bg="https://g.co/ng/security#xss";class I extends Error{constructor(n,t){super(function ro(e,n){return`NG0${Math.abs(e)}${n?": "+n:""}`}(n,t)),this.code=n}}function Tu(e){return n=>{setTimeout(e,void 0,n)}}const Ae=class L0 extends dn{constructor(n=!1){super(),this.__isAsync=n}emit(n){super.next(n)}subscribe(n,t,r){let o=n,i=t||(()=>null),s=r;if(n&&"object"==typeof n){const l=n;o=l.next?.bind(l),i=l.error?.bind(l),s=l.complete?.bind(l)}this.__isAsync&&(i=Tu(i),o&&(o=Tu(o)),s&&(s=Tu(s)));const a=super.subscribe({next:o,error:i,complete:s});return n instanceof yt&&n.add(a),a}};var X=function(e){return e[e.Default=0]="Default",e[e.Host=1]="Host",e[e.Self=2]="Self",e[e.SkipSelf=4]="SkipSelf",e[e.Optional=8]="Optional",e}(X||{});function qe(e){if("string"==typeof e)return e;if(Array.isArray(e))return"["+e.map(qe).join(", ")+"]";if(null==e)return""+e;if(e.overriddenName)return`${e.overriddenName}`;if(e.name)return`${e.name}`;const n=e.toString();if(null==n)return""+n;const t=n.indexOf("\n");return-1===t?n:n.substring(0,t)}function Au(e,n){return null==e||""===e?null===n?"":n:null==n||""===n?e:e+" "+n}var ba=function(e){return e[e.OnPush=0]="OnPush",e[e.Default=1]="Default",e}(ba||{}),Qt=function(e){return e[e.Emulated=0]="Emulated",e[e.None=2]="None",e[e.ShadowDom=3]="ShadowDom",e}(Qt||{});function xn(e){return{toString:e}.toString()}const ce=globalThis,fn={},ne=[];function ue(e){for(let n in e)if(e[n]===ue)return n;throw Error("Could not find renamed property on target object.")}function B0(e,n){for(const t in n)n.hasOwnProperty(t)&&!e.hasOwnProperty(t)&&(e[t]=n[t])}const Oi=ue({\u0275cmp:ue}),Nu=ue({\u0275dir:ue}),xu=ue({\u0275pipe:ue}),Gg=ue({\u0275mod:ue}),Rn=ue({\u0275fac:ue}),Pi=ue({__NG_ELEMENT_ID__:ue}),zg=ue({__NG_ENV_ID__:ue});var Ie=function(e){return e[e.None=0]="None",e[e.SignalBased=1]="SignalBased",e[e.HasDecoratorInputTransform=2]="HasDecoratorInputTransform",e}(Ie||{});function qg(e,n,t){let r=e.length;for(;;){const o=e.indexOf(n,t);if(-1===o)return o;if(0===o||e.charCodeAt(o-1)<=32){const i=n.length;if(o+i===r||e.charCodeAt(o+i)<=32)return o}t=o+1}}function Ru(e,n,t){let r=0;for(;rn){s=i-1;break}}}for(;ii?"":o[d+1].toLowerCase();const m=8&r?g:null;if(m&&-1!==qg(m,c,0)||2&r&&c!==g){if(Yt(r))return!1;s=!0}}}}else{if(!s&&!Yt(r)&&!Yt(l))return!1;if(s&&Yt(l))continue;s=!1,r=l|1&r}}return Yt(r)||s}function Yt(e){return 0==(1&e)}function z0(e,n,t,r){if(null===n)return-1;let o=0;if(r||!t){let i=!1;for(;o-1)for(t++;t0?'="'+a+'"':"")+"]"}else 8&r?o+="."+s:4&r&&(o+=" "+s);else""!==o&&!Yt(s)&&(n+=Kg(i,o),o=""),r=s,i=i||!Yt(r);t++}return""!==o&&(n+=Kg(i,o)),n}function xt(e){return xn(()=>{const n=tm(e),t={...n,decls:e.decls,vars:e.vars,template:e.template,consts:e.consts||null,ngContentSelectors:e.ngContentSelectors,onPush:e.changeDetection===ba.OnPush,directiveDefs:null,pipeDefs:null,dependencies:n.standalone&&e.dependencies||null,getStandaloneInjector:null,signals:e.signals??!1,data:e.data||{},encapsulation:e.encapsulation||Qt.Emulated,styles:e.styles||ne,_:null,schemas:e.schemas||null,tView:null,id:""};nm(t);const r=e.dependencies;return t.directiveDefs=Ea(r,!1),t.pipeDefs=Ea(r,!0),t.id=function n1(e){let n=0;const t=[e.selectors,e.ngContentSelectors,e.hostVars,e.hostAttrs,e.consts,e.vars,e.decls,e.encapsulation,e.standalone,e.signals,e.exportAs,JSON.stringify(e.inputs),JSON.stringify(e.outputs),Object.getOwnPropertyNames(e.type.prototype),!!e.contentQueries,!!e.viewQuery].join("|");for(const o of t)n=Math.imul(31,n)+o.charCodeAt(0)<<0;return n+=2147483648,"c"+n}(t),t})}function K0(e){return Y(e)||We(e)}function e1(e){return null!==e}function Jn(e){return xn(()=>({type:e.type,bootstrap:e.bootstrap||ne,declarations:e.declarations||ne,imports:e.imports||ne,exports:e.exports||ne,transitiveCompileScopes:null,schemas:e.schemas||null,id:e.id||null}))}function em(e,n){if(null==e)return fn;const t={};for(const r in e)if(e.hasOwnProperty(r)){const o=e[r];let i,s,a=Ie.None;Array.isArray(o)?(a=o[0],i=o[1],s=o[2]??i):(i=o,s=o),n?(t[i]=a!==Ie.None?[r,a]:r,n[i]=s):t[i]=r}return t}function H(e){return xn(()=>{const n=tm(e);return nm(n),n})}function Y(e){return e[Oi]||null}function We(e){return e[Nu]||null}function tt(e){return e[xu]||null}function rt(e,n){const t=e[Gg]||null;if(!t&&!0===n)throw new Error(`Type ${qe(e)} does not have '\u0275mod' property.`);return t}function tm(e){const n={};return{type:e.type,providersResolver:null,factory:null,hostBindings:e.hostBindings||null,hostVars:e.hostVars||0,hostAttrs:e.hostAttrs||null,contentQueries:e.contentQueries||null,declaredInputs:n,inputTransforms:null,inputConfig:e.inputs||fn,exportAs:e.exportAs||null,standalone:!0===e.standalone,signals:!0===e.signals,selectors:e.selectors||ne,viewQuery:e.viewQuery||null,features:e.features||null,setInput:null,findHostDirectiveDefs:null,hostDirectives:null,inputs:em(e.inputs,n),outputs:em(e.outputs),debugInfo:null}}function nm(e){e.features?.forEach(n=>n(e))}function Ea(e,n){if(!e)return null;const t=n?tt:K0;return()=>("function"==typeof e?e():e).map(r=>t(r)).filter(e1)}const Me=0,A=1,k=2,Oe=3,Xt=4,ot=5,Jt=6,oo=7,ve=8,it=9,On=10,G=11,Fi=12,rm=13,io=14,Ne=15,Li=16,so=17,Pn=18,Vi=19,om=20,er=21,Ia=22,Sr=23,z=25,Ou=1,hn=7,ao=9,Pe=10;var Pu=function(e){return e[e.None=0]="None",e[e.HasTransplantedViews=2]="HasTransplantedViews",e}(Pu||{});function st(e){return Array.isArray(e)&&"object"==typeof e[Ou]}function at(e){return Array.isArray(e)&&!0===e[Ou]}function ku(e){return 0!=(4&e.flags)}function Tr(e){return e.componentOffset>-1}function Sa(e){return 1==(1&e.flags)}function Kt(e){return!!e.template}function Fu(e){return 0!=(512&e[k])}let um=!1;function pe(e){for(;Array.isArray(e);)e=e[Me];return e}function Ui(e,n){return pe(n[e])}function ft(e,n){return pe(n[e.index])}function Bi(e,n){return e.data[n]}function Rt(e,n){const t=n[e];return st(t)?t:t[Me]}function Uu(e){return 128==(128&e[k])}function pn(e,n){return null==n?null:e[n]}function dm(e){e[so]=0}function u1(e){1024&e[k]||(e[k]|=1024,Uu(e)&&Hi(e))}function Bu(e){return!!(9216&e[k]||e[Sr]?.dirty)}function Hu(e){Bu(e)?Hi(e):64&e[k]&&(function s1(){return um}()?(e[k]|=1024,Hi(e)):e[On].changeDetectionScheduler?.notify())}function Hi(e){e[On].changeDetectionScheduler?.notify();let n=Ar(e);for(;null!==n&&!(8192&n[k])&&(n[k]|=8192,Uu(n));)n=Ar(n)}function Ta(e,n){if(256==(256&e[k]))throw new I(911,!1);null===e[er]&&(e[er]=[]),e[er].push(n)}function Ar(e){const n=e[Oe];return at(n)?n[Oe]:n}const j={lFrame:Dm(null),bindingsEnabled:!0,skipHydrationRootTNode:null};function pm(){return j.bindingsEnabled}function b(){return j.lFrame.lView}function J(){return j.lFrame.tView}function re(e){return j.lFrame.contextLView=e,e[ve]}function oe(e){return j.lFrame.contextLView=null,e}function de(){let e=gm();for(;null!==e&&64===e.type;)e=e.parent;return e}function gm(){return j.lFrame.currentTNode}function gn(e,n){const t=j.lFrame;t.currentTNode=e,t.isParent=n}function Gu(){return j.lFrame.isParent}function zu(){j.lFrame.isParent=!1}function ht(){const e=j.lFrame;let n=e.bindingRootIndex;return-1===n&&(n=e.bindingRootIndex=e.tView.bindingStartIndex),n}function en(){return j.lFrame.bindingIndex++}function D1(e,n){const t=j.lFrame;t.bindingIndex=t.bindingRootIndex=e,qu(n)}function qu(e){j.lFrame.currentDirectiveIndex=e}function Zu(){return j.lFrame.currentQueryIndex}function Aa(e){j.lFrame.currentQueryIndex=e}function b1(e){const n=e[A];return 2===n.type?n.declTNode:1===n.type?e[ot]:null}function _m(e,n,t){if(t&X.SkipSelf){let o=n,i=e;for(;!(o=o.parent,null!==o||t&X.Host||(o=b1(i),null===o||(i=i[io],10&o.type))););if(null===o)return!1;n=o,e=i}const r=j.lFrame=Cm();return r.currentTNode=n,r.lView=e,!0}function Qu(e){const n=Cm(),t=e[A];j.lFrame=n,n.currentTNode=t.firstChild,n.lView=e,n.tView=t,n.contextLView=e,n.bindingIndex=t.bindingStartIndex,n.inI18n=!1}function Cm(){const e=j.lFrame,n=null===e?null:e.child;return null===n?Dm(e):n}function Dm(e){const n={currentTNode:null,isParent:!0,lView:null,tView:null,selectedIndex:-1,contextLView:null,elementDepthCount:0,currentNamespace:null,currentDirectiveIndex:-1,bindingRootIndex:-1,bindingIndex:-1,currentQueryIndex:0,parent:e,child:null,inI18n:!1};return null!==e&&(e.child=n),n}function wm(){const e=j.lFrame;return j.lFrame=e.parent,e.currentTNode=null,e.lView=null,e}const bm=wm;function Yu(){const e=wm();e.isParent=!0,e.tView=null,e.selectedIndex=-1,e.contextLView=null,e.elementDepthCount=0,e.currentDirectiveIndex=-1,e.currentNamespace=null,e.bindingRootIndex=-1,e.bindingIndex=-1,e.currentQueryIndex=0}function lt(){return j.lFrame.selectedIndex}function Nr(e){j.lFrame.selectedIndex=e}function ye(){const e=j.lFrame;return Bi(e.tView,e.selectedIndex)}let Im=!0;function Na(){return Im}function tr(e){Im=e}function A1(){return uo(de(),b())}function uo(e,n){return new Ot(ft(e,n))}let ed,Ot=(()=>{class e{constructor(t){this.nativeElement=t}static#e=this.__NG_ELEMENT_ID__=A1}return e})();function Mm(e){return e instanceof Ot?e.nativeElement:e}function fo(e,n){e.forEach(t=>Array.isArray(t)?fo(t,n):n(t))}function Sm(e,n,t){n>=e.length?e.push(t):e.splice(n,0,t)}function xa(e,n){return n>=e.length-1?e.pop():e.splice(n,1)[0]}function Pt(e,n,t){let r=ho(e,n);return r>=0?e[1|r]=t:(r=~r,function Tm(e,n,t,r){let o=e.length;if(o==n)e.push(t,r);else if(1===o)e.push(r,e[0]),e[0]=t;else{for(o--,e.push(e[o-1],e[o]);o>n;)e[o]=e[o-2],o--;e[n]=t,e[n+1]=r}}(e,r,n,t)),r}function Ju(e,n){const t=ho(e,n);if(t>=0)return e[1|t]}function ho(e,n){return function Am(e,n,t){let r=0,o=e.length>>t;for(;o!==r;){const i=r+(o-r>>1),s=e[i<n?o=i:r=i+1}return~(o<L1}),L1="ng",Pm=new N(""),rr=new N("",{providedIn:"platform",factory:()=>"unknown"}),km=new N("",{providedIn:"root",factory:()=>function nr(){if(void 0!==ed)return ed;if(typeof document<"u")return document;throw new I(210,!1)}().body?.querySelector("[ngCspNonce]")?.getAttribute("ngCspNonce")||null}),U1=ue({__forward_ref__:ue});function _e(e){return e.__forward_ref__=_e,e.toString=function(){return qe(this())},e}function V(e){return ja(e)?e():e}function ja(e){return"function"==typeof e&&e.hasOwnProperty(U1)&&e.__forward_ref__===_e}function sd(e){return e&&!!e.\u0275providers}function q(e){return"string"==typeof e?e:null==e?"":String(e)}function ad(e,n){throw new I(-201,!1)}let ld;function Lm(){return ld}function Dt(e){const n=ld;return ld=e,n}function Vm(e,n,t){const r=ka(e);return r&&"root"==r.providedIn?void 0===r.value?r.value=r.factory():r.value:t&X.Optional?null:void 0!==n?n:void ad()}const zi={},cd="__NG_DI_FLAG__",Ua="ngTempTokenPath",q1=/\n/gm,jm="__source";let po;function or(e){const n=po;return po=e,n}function Q1(e,n=X.Default){if(void 0===po)throw new I(-203,!1);return null===po?Vm(e,void 0,n):po.get(e,n&X.Optional?null:void 0,n)}function P(e,n=X.Default){return(Lm()||Q1)(V(e),n)}function T(e,n=X.Default){return P(e,Ba(n))}function Ba(e){return typeof e>"u"||"number"==typeof e?e:0|(e.optional&&8)|(e.host&&1)|(e.self&&2)|(e.skipSelf&&4)}function ud(e){const n=[];for(let t=0;tnull;function yd(e,n,t=!1){return Bm(e,n,t)}const _o="__parameters__";function Do(e,n,t){return xn(()=>{const r=function wd(e){return function(...t){if(e){const r=e(...t);for(const o in r)this[o]=r[o]}}}(n);function o(...i){if(this instanceof o)return r.apply(this,i),this;const s=new o(...i);return a.annotation=s,a;function a(l,c,u){const d=l.hasOwnProperty(_o)?l[_o]:Object.defineProperty(l,_o,{value:[]})[_o];for(;d.length<=u;)d.push(null);return(d[u]=d[u]||[]).push(s),l}}return t&&(o.prototype=Object.create(t.prototype)),o.prototype.ngMetadataName=e,o.annotationCls=o,o})}const Wa=qi(Do("Optional"),8),Za=qi(Do("SkipSelf"),4);function xr(e,n){return e.hasOwnProperty(Rn)?e[Rn]:null}const Rr=new N(""),Wm=new N("",-1),bd=new N("");class Qa{get(n,t=zi){if(t===zi){const r=new Error(`NullInjectorError: No provider for ${qe(n)}!`);throw r.name="NullInjectorError",r}return t}}function Ya(e){return{\u0275providers:e}}function Zm(...e){return{\u0275providers:Qm(0,e),\u0275fromNgModule:!0}}function Qm(e,...n){const t=[],r=new Set;let o;const i=s=>{t.push(s)};return fo(n,s=>{const a=s;Xa(a,i,[],r)&&(o||=[],o.push(a))}),void 0!==o&&Ym(o,i),t}function Ym(e,n){for(let t=0;t{n(i,r)})}}function Xa(e,n,t,r){if(!(e=V(e)))return!1;let o=null,i=Fa(e);const s=!i&&Y(e);if(i||s){if(s&&!s.standalone)return!1;o=e}else{const l=e.ngModule;if(i=Fa(l),!i)return!1;o=l}const a=r.has(o);if(s){if(a)return!1;if(r.add(o),s.dependencies){const l="function"==typeof s.dependencies?s.dependencies():s.dependencies;for(const c of l)Xa(c,n,t,r)}}else{if(!i)return!1;{if(null!=i.imports&&!a){let c;r.add(o);try{fo(i.imports,u=>{Xa(u,n,t,r)&&(c||=[],c.push(u))})}finally{}void 0!==c&&Ym(c,n)}if(!a){const c=xr(o)||(()=>new o);n({provide:o,useFactory:c,deps:ne},o),n({provide:bd,useValue:o,multi:!0},o),n({provide:Rr,useValue:()=>P(o),multi:!0},o)}const l=i.providers;if(null!=l&&!a){const c=e;Ed(l,u=>{n(u,c)})}}}return o!==e&&void 0!==e.providers}function Ed(e,n){for(let t of e)sd(t)&&(t=t.\u0275providers),Array.isArray(t)?Ed(t,n):n(t)}const uS=ue({provide:String,useValue:ue});function Id(e){return null!==e&&"object"==typeof e&&uS in e}function Or(e){return"function"==typeof e}const Md=new N(""),Ja={},fS={};let Sd;function Ka(){return void 0===Sd&&(Sd=new Qa),Sd}class kt{}class wo extends kt{get destroyed(){return this._destroyed}constructor(n,t,r,o){super(),this.parent=t,this.source=r,this.scopes=o,this.records=new Map,this._ngOnDestroyHooks=new Set,this._onDestroyHooks=[],this._destroyed=!1,Ad(n,s=>this.processProvider(s)),this.records.set(Wm,bo(void 0,this)),o.has("environment")&&this.records.set(kt,bo(void 0,this));const i=this.records.get(Md);null!=i&&"string"==typeof i.value&&this.scopes.add(i.value),this.injectorDefTypes=new Set(this.get(bd,ne,X.Self))}destroy(){this.assertNotDestroyed(),this._destroyed=!0;try{for(const t of this._ngOnDestroyHooks)t.ngOnDestroy();const n=this._onDestroyHooks;this._onDestroyHooks=[];for(const t of n)t()}finally{this.records.clear(),this._ngOnDestroyHooks.clear(),this.injectorDefTypes.clear()}}onDestroy(n){return this.assertNotDestroyed(),this._onDestroyHooks.push(n),()=>this.removeOnDestroy(n)}runInContext(n){this.assertNotDestroyed();const t=or(this),r=Dt(void 0);try{return n()}finally{or(t),Dt(r)}}get(n,t=zi,r=X.Default){if(this.assertNotDestroyed(),n.hasOwnProperty(zg))return n[zg](this);r=Ba(r);const i=or(this),s=Dt(void 0);try{if(!(r&X.SkipSelf)){let l=this.records.get(n);if(void 0===l){const c=function vS(e){return"function"==typeof e||"object"==typeof e&&e instanceof N}(n)&&ka(n);l=c&&this.injectableDefInScope(c)?bo(Td(n),Ja):null,this.records.set(n,l)}if(null!=l)return this.hydrate(n,l)}return(r&X.Self?Ka():this.parent).get(n,t=r&X.Optional&&t===zi?null:t)}catch(a){if("NullInjectorError"===a.name){if((a[Ua]=a[Ua]||[]).unshift(qe(n)),i)throw a;return function X1(e,n,t,r){const o=e[Ua];throw n[jm]&&o.unshift(n[jm]),e.message=function J1(e,n,t,r=null){e=e&&"\n"===e.charAt(0)&&"\u0275"==e.charAt(1)?e.slice(2):e;let o=qe(n);if(Array.isArray(n))o=n.map(qe).join(" -> ");else if("object"==typeof n){let i=[];for(let s in n)if(n.hasOwnProperty(s)){let a=n[s];i.push(s+":"+("string"==typeof a?JSON.stringify(a):qe(a)))}o=`{${i.join(", ")}}`}return`${t}${r?"("+r+")":""}[${o}]: ${e.replace(q1,"\n ")}`}("\n"+e.message,o,t,r),e.ngTokenPath=o,e[Ua]=null,e}(a,n,"R3InjectorError",this.source)}throw a}finally{Dt(s),or(i)}}resolveInjectorInitializers(){const n=or(this),t=Dt(void 0);try{const o=this.get(Rr,ne,X.Self);for(const i of o)i()}finally{or(n),Dt(t)}}toString(){const n=[],t=this.records;for(const r of t.keys())n.push(qe(r));return`R3Injector[${n.join(", ")}]`}assertNotDestroyed(){if(this._destroyed)throw new I(205,!1)}processProvider(n){let t=Or(n=V(n))?n:V(n&&n.provide);const r=function pS(e){return Id(e)?bo(void 0,e.useValue):bo(Km(e),Ja)}(n);if(!Or(n)&&!0===n.multi){let o=this.records.get(t);o||(o=bo(void 0,Ja,!0),o.factory=()=>ud(o.multi),this.records.set(t,o)),t=n,o.multi.push(n)}this.records.set(t,r)}hydrate(n,t){return t.value===Ja&&(t.value=fS,t.value=t.factory()),"object"==typeof t.value&&t.value&&function mS(e){return null!==e&&"object"==typeof e&&"function"==typeof e.ngOnDestroy}(t.value)&&this._ngOnDestroyHooks.add(t.value),t.value}injectableDefInScope(n){if(!n.providedIn)return!1;const t=V(n.providedIn);return"string"==typeof t?"any"===t||this.scopes.has(t):this.injectorDefTypes.has(t)}removeOnDestroy(n){const t=this._onDestroyHooks.indexOf(n);-1!==t&&this._onDestroyHooks.splice(t,1)}}function Td(e){const n=ka(e),t=null!==n?n.factory:xr(e);if(null!==t)return t;if(e instanceof N)throw new I(204,!1);if(e instanceof Function)return function hS(e){if(e.length>0)throw new I(204,!1);const t=function k1(e){return e&&(e[La]||e[Om])||null}(e);return null!==t?()=>t.factory(e):()=>new e}(e);throw new I(204,!1)}function Km(e,n,t){let r;if(Or(e)){const o=V(e);return xr(o)||Td(o)}if(Id(e))r=()=>V(e.useValue);else if(function Jm(e){return!(!e||!e.useFactory)}(e))r=()=>e.useFactory(...ud(e.deps||[]));else if(function Xm(e){return!(!e||!e.useExisting)}(e))r=()=>P(V(e.useExisting));else{const o=V(e&&(e.useClass||e.provide));if(!function gS(e){return!!e.deps}(e))return xr(o)||Td(o);r=()=>new o(...ud(e.deps))}return r}function bo(e,n,t=!1){return{factory:e,value:n,multi:t?[]:void 0}}function Ad(e,n){for(const t of e)Array.isArray(t)?Ad(t,n):t&&sd(t)?Ad(t.\u0275providers,n):n(t)}function ir(e,n){e instanceof wo&&e.assertNotDestroyed();const r=or(e),o=Dt(void 0);try{return n()}finally{or(r),Dt(o)}}class SS{constructor(n,t,r){this.previousValue=n,this.currentValue=t,this.firstChange=r}isFirstChange(){return this.firstChange}}function tv(e,n,t,r){null!==n?n.applyValueToInputSignal(n,r):e[t]=r}function Ut(){return nv}function nv(e){return e.type.prototype.ngOnChanges&&(e.setInput=AS),TS}function TS(){const e=ov(this),n=e?.current;if(n){const t=e.previous;if(t===fn)e.previous=n;else for(let r in n)t[r]=n[r];e.current=null,this.ngOnChanges(n)}}function AS(e,n,t,r,o){const i=this.declaredInputs[r],s=ov(e)||function NS(e,n){return e[rv]=n}(e,{previous:fn,current:null}),a=s.current||(s.current={}),l=s.previous,c=l[i];a[i]=new SS(c&&c.currentValue,t,l===fn),tv(e,n,o,t)}Ut.ngInherit=!0;const rv="__ngSimpleChanges__";function ov(e){return e[rv]||null}const mn=function(e,n,t){};function tl(e,n){for(let t=n.directiveStart,r=n.directiveEnd;t=r)break}else n[l]<0&&(e[so]+=65536),(a>14>16&&(3&e[k])===n&&(e[k]+=16384,sv(a,i)):sv(a,i)}const Io=-1;class Xi{constructor(n,t,r){this.factory=n,this.resolving=!1,this.canSeeViewProviders=t,this.injectImpl=r}}function kd(e){return e!==Io}function Ji(e){return 32767&e}function Ki(e,n){let t=function VS(e){return e>>16}(e),r=n;for(;t>0;)r=r[io],t--;return r}let Fd=!0;function ol(e){const n=Fd;return Fd=e,n}const av=255,lv=5;let jS=0;const vn={};function il(e,n){const t=cv(e,n);if(-1!==t)return t;const r=n[A];r.firstCreatePass&&(e.injectorIndex=n.length,Ld(r.data,e),Ld(n,null),Ld(r.blueprint,null));const o=sl(e,n),i=e.injectorIndex;if(kd(o)){const s=Ji(o),a=Ki(o,n),l=a[A].data;for(let c=0;c<8;c++)n[i+c]=a[s+c]|l[s+c]}return n[i+8]=o,i}function Ld(e,n){e.push(0,0,0,0,0,0,0,0,n)}function cv(e,n){return-1===e.injectorIndex||e.parent&&e.parent.injectorIndex===e.injectorIndex||null===n[e.injectorIndex+8]?-1:e.injectorIndex}function sl(e,n){if(e.parent&&-1!==e.parent.injectorIndex)return e.parent.injectorIndex;let t=0,r=null,o=n;for(;null!==o;){if(r=mv(o),null===r)return Io;if(t++,o=o[io],-1!==r.injectorIndex)return r.injectorIndex|t<<16}return Io}function Vd(e,n,t){!function US(e,n,t){let r;"string"==typeof t?r=t.charCodeAt(0)||0:t.hasOwnProperty(Pi)&&(r=t[Pi]),null==r&&(r=t[Pi]=jS++);const o=r&av;n.data[e+(o>>lv)]|=1<=0?n&av:GS:n}(t);if("function"==typeof i){if(!_m(n,e,r))return r&X.Host?uv(o,0,r):dv(n,t,r,o);try{let s;if(s=i(r),null!=s||r&X.Optional)return s;ad()}finally{bm()}}else if("number"==typeof i){let s=null,a=cv(e,n),l=Io,c=r&X.Host?n[Ne][ot]:null;for((-1===a||r&X.SkipSelf)&&(l=-1===a?sl(e,n):n[a+8],l!==Io&&gv(r,!1)?(s=n[A],a=Ji(l),n=Ki(l,n)):a=-1);-1!==a;){const u=n[A];if(pv(i,a,u.data)){const d=HS(a,n,t,s,r,c);if(d!==vn)return d}l=n[a+8],l!==Io&&gv(r,n[A].data[a+8]===c)&&pv(i,a,n)?(s=u,a=Ji(l),n=Ki(l,n)):a=-1}}return o}function HS(e,n,t,r,o,i){const s=n[A],a=s.data[e+8],u=al(a,s,t,null==r?Tr(a)&&Fd:r!=s&&0!=(3&a.type),o&X.Host&&i===a);return null!==u?Pr(n,s,u,a):vn}function al(e,n,t,r,o){const i=e.providerIndexes,s=n.data,a=1048575&i,l=e.directiveStart,u=i>>20,g=o?a+u:e.directiveEnd;for(let m=r?a:a+u;m=l&&v.type===t)return m}if(o){const m=s[l];if(m&&Kt(m)&&m.type===t)return l}return null}function Pr(e,n,t,r){let o=e[t];const i=n.data;if(function PS(e){return e instanceof Xi}(o)){const s=o;s.resolving&&function $1(e,n){throw n&&n.join(" > "),new I(-200,e)}(function ie(e){return"function"==typeof e?e.name||e.toString():"object"==typeof e&&null!=e&&"function"==typeof e.type?e.type.name||e.type.toString():q(e)}(i[t]));const a=ol(s.canSeeViewProviders);s.resolving=!0;const c=s.injectImpl?Dt(s.injectImpl):null;_m(e,r,X.Default);try{o=e[t]=s.factory(void 0,i,e,r),n.firstCreatePass&&t>=r.directiveStart&&function RS(e,n,t){const{ngOnChanges:r,ngOnInit:o,ngDoCheck:i}=n.type.prototype;if(r){const s=nv(n);(t.preOrderHooks??=[]).push(e,s),(t.preOrderCheckHooks??=[]).push(e,s)}o&&(t.preOrderHooks??=[]).push(0-e,o),i&&((t.preOrderHooks??=[]).push(e,i),(t.preOrderCheckHooks??=[]).push(e,i))}(t,i[t],n)}finally{null!==c&&Dt(c),ol(a),s.resolving=!1,bm()}}return o}function pv(e,n,t){return!!(t[n+(e>>lv)]&1<{const n=e.prototype.constructor,t=n[Rn]||jd(n),r=Object.prototype;let o=Object.getPrototypeOf(e.prototype).constructor;for(;o&&o!==r;){const i=o[Rn]||jd(o);if(i&&i!==t)return i;o=Object.getPrototypeOf(o)}return i=>new i})}function jd(e){return ja(e)?()=>{const n=jd(V(e));return n&&n()}:xr(e)}function mv(e){const n=e[A],t=n.type;return 2===t?n.declTNode:1===t?e[ot]:null}function Dv(e,n=null,t=null,r){const o=wv(e,n,t,r);return o.resolveInjectorInitializers(),o}function wv(e,n=null,t=null,r,o=new Set){const i=[t||ne,Zm(e)];return r=r||("object"==typeof e?void 0:qe(e)),new wo(i,n||Ka(),r||null,o)}let wt=(()=>{class e{static#e=this.THROW_IF_NOT_FOUND=zi;static#t=this.NULL=new Qa;static create(t,r){if(Array.isArray(t))return Dv({name:""},r,t,"");{const o=t.name??"";return Dv({name:o},t.parent,t.providers,o)}}static#n=this.\u0275prov=R({token:e,providedIn:"any",factory:()=>P(Wm)});static#r=this.__NG_ELEMENT_ID__=-1}return e})();function Bd(e){return e.ngOriginalError}class Vn{constructor(){this._console=console}handleError(n){const t=this._findOriginalError(n);this._console.error("ERROR",n),t&&this._console.error("ORIGINAL ERROR",t)}_findOriginalError(n){let t=n&&Bd(n);for(;t&&Bd(t);)t=Bd(t);return t||null}}const Ev=new N("",{providedIn:"root",factory:()=>T(Vn).handleError.bind(void 0)}),Mv=new N("",{providedIn:"root",factory:()=>!1});let fl;function Av(e){return function $d(){if(void 0===fl&&(fl=null,ce.trustedTypes))try{fl=ce.trustedTypes.createPolicy("angular#unsafe-bypass",{createHTML:e=>e,createScript:e=>e,createScriptURL:e=>e})}catch{}return fl}()?.createScriptURL(e)||e}class Nv{constructor(n){this.changingThisBreaksApplicationSecurity=n}toString(){return`SafeValue must use [property]=binding: ${this.changingThisBreaksApplicationSecurity} (see ${Bg})`}}function sr(e){return e instanceof Nv?e.changingThisBreaksApplicationSecurity:e}function es(e,n){const t=function sT(e){return e instanceof Nv&&e.getTypeName()||null}(e);if(null!=t&&t!==n){if("ResourceURL"===t&&"URL"===n)return!0;throw new Error(`Required a safe ${n}, got a ${t} (see ${Bg})`)}return t===n}const uT=/^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:\/?#]*(?:[\/?#]|$))/i;var Ao=function(e){return e[e.NONE=0]="NONE",e[e.HTML=1]="HTML",e[e.STYLE=2]="STYLE",e[e.SCRIPT=3]="SCRIPT",e[e.URL=4]="URL",e[e.RESOURCE_URL=5]="RESOURCE_URL",e}(Ao||{});function No(e){const n=ns();return n?n.sanitize(Ao.URL,e)||"":es(e,"URL")?sr(e):function Gd(e){return(e=String(e)).match(uT)?e:"unsafe:"+e}(q(e))}function Lv(e){const n=ns();if(n)return Av(n.sanitize(Ao.RESOURCE_URL,e)||"");if(es(e,"ResourceURL"))return Av(sr(e));throw new I(904,!1)}function ns(){const e=b();return e&&e[On].sanitizer}const bT=/^>|^->||--!>|)/g,IT="\u200b$1\u200b";const Zd=new Map;let NT=0;const Yd="__ngContext__";function ct(e,n){st(n)?(e[Yd]=n[Vi],function RT(e){Zd.set(e[Vi],e)}(n)):e[Yd]=n}function Ft(e){return e instanceof Function?e():e}var lr=function(e){return e[e.Important=1]="Important",e[e.DashCase=2]="DashCase",e}(lr||{});let ef;function tf(e,n){return ef(e,n)}function Ro(e,n,t,r,o){if(null!=r){let i,s=!1;at(r)?i=r:st(r)&&(s=!0,r=r[Me]);const a=pe(r);0===e&&null!==t?null==o?ry(n,t,a):kr(n,t,a,o||null,!0):1===e&&null!==t?kr(n,t,a,o||null,!0):2===e?function Dl(e,n,t){const r=_l(e,n);r&&function eA(e,n,t,r){e.removeChild(n,t,r)}(e,r,n,t)}(n,a,s):3===e&&n.destroyNode(a),null!=i&&function rA(e,n,t,r,o){const i=t[hn];i!==pe(t)&&Ro(n,e,r,i,o);for(let a=Pe;an.replace(ET,IT))}(n))}function vl(e,n,t){return e.createElement(n,t)}function ey(e,n){wl(e,n,n[G],2,null,null)}function ty(e,n){const t=e[ao],r=t.indexOf(n);t.splice(r,1)}function os(e,n){if(e.length<=Pe)return;const t=Pe+n,r=e[t];if(r){const o=r[Li];null!==o&&o!==e&&ty(o,r),n>0&&(e[t-1][Xt]=r[Xt]);const i=xa(e,Pe+n);!function WT(e,n){ey(e,n),n[Me]=null,n[ot]=null}(r[A],r);const s=i[Pn];null!==s&&s.detachView(i[A]),r[Oe]=null,r[Xt]=null,r[k]&=-129}return r}function yl(e,n){if(!(256&n[k])){const t=n[G];t.destroyNode&&wl(e,n,t,3,null,null),function QT(e){let n=e[Fi];if(!n)return rf(e[A],e);for(;n;){let t=null;if(st(n))t=n[Fi];else{const r=n[Pe];r&&(t=r)}if(!t){for(;n&&!n[Xt]&&n!==e;)st(n)&&rf(n[A],n),n=n[Oe];null===n&&(n=e),st(n)&&rf(n[A],n),t=n&&n[Xt]}n=t}}(n)}}function rf(e,n){if(!(256&n[k])){n[k]&=-129,n[k]|=256,n[Sr]&&function Sg(e){if(no(e),Ri(e))for(let n=0;n=0?r[s]():r[-s].unsubscribe(),i+=2}else t[i].call(r[t[i+1]]);null!==r&&(n[oo]=null);const o=n[er];if(null!==o){n[er]=null;for(let i=0;i-1){const{encapsulation:i}=e.data[r.directiveStart+o];if(i===Qt.None||i===Qt.Emulated)return null}return ft(r,t)}}(e,n.parent,t)}function kr(e,n,t,r,o){e.insertBefore(n,t,r,o)}function ry(e,n,t){e.appendChild(n,t)}function oy(e,n,t,r,o){null!==r?kr(e,n,t,r,o):ry(e,n,t)}function _l(e,n){return e.parentNode(n)}let af,ay=function sy(e,n,t){return 40&e.type?ft(e,t):null};function Cl(e,n,t,r){const o=sf(e,r,n),i=n[G],a=function iy(e,n,t){return ay(e,n,t)}(r.parent||n[ot],r,n);if(null!=o)if(Array.isArray(t))for(let l=0;lz&&py(e,n,z,!1),mn(s?2:0,o),t(r,o)}finally{Nr(i),mn(s?3:1,o)}}function df(e,n,t){if(ku(n)){const r=xe(null);try{const i=n.directiveEnd;for(let s=n.directiveStart;snull;function Cy(e,n,t,r,o){for(let i in n){if(!n.hasOwnProperty(i))continue;const s=n[i];if(void 0===s)continue;r??={};let a,l=Ie.None;Array.isArray(s)?(a=s[0],l=s[1]):a=s;let c=i;if(null!==o){if(!o.hasOwnProperty(i))continue;c=o[i]}0===e?Dy(r,t,c,a,l):Dy(r,t,c,a)}return r}function Dy(e,n,t,r,o){let i;e.hasOwnProperty(t)?(i=e[t]).push(n,r):i=e[t]=[n,r],void 0!==o&&i.push(o)}function Et(e,n,t,r,o,i,s,a){const l=ft(n,t);let u,c=n.inputs;!a&&null!=c&&(u=c[r])?(_f(e,t,u,r,o),Tr(n)&&function mA(e,n){const t=Rt(n,e);16&t[k]||(t[k]|=64)}(t,n.index)):3&n.type&&(r=function gA(e){return"class"===e?"className":"for"===e?"htmlFor":"formaction"===e?"formAction":"innerHtml"===e?"innerHTML":"readonly"===e?"readOnly":"tabindex"===e?"tabIndex":e}(r),o=null!=s?s(o,n.value||"",r):o,i.setProperty(l,r,o))}function gf(e,n,t,r){if(pm()){const o=null===r?null:{"":-1},i=function wA(e,n){const t=e.directiveRegistry;let r=null,o=null;if(t)for(let i=0;i0;){const t=e[--n];if("number"==typeof t&&t<0)return t}return 0})(s)!=a&&s.push(a),s.push(t,r,i)}}(e,n,r,ss(e,t,o.hostVars,Z),o)}function yn(e,n,t,r,o,i){const s=ft(e,n);!function vf(e,n,t,r,o,i,s){if(null==i)e.removeAttribute(n,o,t);else{const a=null==s?q(i):s(i,r||"",o);e.setAttribute(n,o,a,t)}}(n[G],s,i,e.value,t,r,o)}function TA(e,n,t,r,o,i){const s=i[n];if(null!==s)for(let a=0;a0&&(t[o-1][Xt]=n),r!1,producerRecomputeValue:()=>{},consumerMarkedDirty:()=>{},consumerOnSignalRead:()=>{},consumerIsAlwaysLive:!0,consumerMarkedDirty:e=>{Hi(e.lView)},consumerOnSignalRead(){this.lView[Sr]=this}};function Ry(e){return Py(e[Fi])}function Oy(e){return Py(e[Xt])}function Py(e){for(;null!==e&&!at(e);)e=e[Xt];return e}function Ml(e,n=!0,t=0){const r=e[On],o=r.rendererFactory;o.begin?.();try{!function jA(e,n){wf(e,n);let t=0;for(;Bu(e);){if(100===t)throw new I(103,!1);t++,wf(e,1)}}(e,t)}catch(s){throw n&&Il(e,s),s}finally{o.end?.(),r.inlineEffectRunner?.flush()}}function UA(e,n,t,r){const o=n[k];if(256==(256&o))return;n[On].inlineEffectRunner?.flush(),Qu(n);let s=null,a=null;(function BA(e){return 2!==e.type})(e)&&(a=function OA(e){return e[Sr]??function PA(e){const n=xy.pop()??Object.create(FA);return n.lView=e,n}(e)}(n),s=function Ig(e){return e&&(e.nextProducerIndex=0),xe(e)}(a));try{dm(n),function vm(e){return j.lFrame.bindingIndex=e}(e.bindingStartIndex),null!==t&&vy(e,n,t,2,r);const l=3==(3&o);if(l){const d=e.preOrderCheckHooks;null!==d&&nl(n,d,null)}else{const d=e.preOrderHooks;null!==d&&rl(n,d,0,null),Od(n,0)}if(function HA(e){for(let n=Ry(e);null!==n;n=Oy(n)){if(!(n[k]&Pu.HasTransplantedViews))continue;const t=n[ao];for(let r=0;re.nextProducerIndex;)e.producerNode.pop(),e.producerLastReadVersion.pop(),e.producerIndexOfThis.pop()}}(a,s),function kA(e){e.lView[Sr]!==e&&(e.lView=null,xy.push(e))}(a)),Yu()}}function Fy(e,n){for(let t=Ry(e);null!==t;t=Oy(t))for(let r=Pe;r-1&&(os(n,r),xa(t,r))}this._attachedToViewContainer=!1}yl(this._lView[A],this._lView)}onDestroy(n){Ta(this._lView,n)}markForCheck(){us(this._cdRefInjectingView||this._lView)}detach(){this._lView[k]&=-129}reattach(){Hu(this._lView),this._lView[k]|=128}detectChanges(){this._lView[k]|=1024,Ml(this._lView,this.notifyErrorHandler)}checkNoChanges(){}attachToViewContainerRef(){if(this._appRef)throw new I(902,!1);this._attachedToViewContainer=!0}detachFromAppRef(){this._appRef=null,ey(this._lView[A],this._lView)}attachToAppRef(n){if(this._attachedToViewContainer)throw new I(902,!1);this._appRef=n,Hu(this._lView)}}let Bn=(()=>{class e{static#e=this.__NG_ELEMENT_ID__=qA}return e})();const GA=Bn,zA=class extends GA{constructor(n,t,r){super(),this._declarationLView=n,this._declarationTContainer=t,this.elementRef=r}get ssrId(){return this._declarationTContainer.tView?.ssrId||null}createEmbeddedView(n,t){return this.createEmbeddedViewImpl(n,t)}createEmbeddedViewImpl(n,t,r){const o=as(this._declarationLView,this._declarationTContainer,n,{injector:t,dehydratedView:r});return new ds(o)}};function qA(){return Sl(de(),b())}function Sl(e,n){return 4&e.type?new zA(n,e,uo(e,n)):null}let Gy=()=>null;function ko(e,n){return Gy(e,n)}class zy{}class pN{}class qy{}class mN{resolveComponentFactory(n){throw function gN(e){const n=Error(`No component factory found for ${qe(e)}.`);return n.ngComponent=e,n}(n)}}let Rl=(()=>{class e{static#e=this.NULL=new mN}return e})();class Zy{}let Hn=(()=>{class e{constructor(){this.destroyNode=null}static#e=this.__NG_ELEMENT_ID__=()=>function vN(){const e=b(),t=Rt(de().index,e);return(st(t)?t:e)[G]}()}return e})(),yN=(()=>{class e{static#e=this.\u0275prov=R({token:e,providedIn:"root",factory:()=>null})}return e})();const Tf={};function Yy(e){return function Qy(e){return"function"==typeof e&&void 0!==e[br]}(e)&&"function"==typeof e.set}function Ol(e){return!!function Af(e){return null!==e&&("function"==typeof e||"object"==typeof e)}(e)&&(Array.isArray(e)||!(e instanceof Map)&&Symbol.iterator in e)}class Jy{constructor(){}supports(n){return Ol(n)}create(n){return new EN(n)}}const bN=(e,n)=>n;class EN{constructor(n){this.length=0,this._linkedRecords=null,this._unlinkedRecords=null,this._previousItHead=null,this._itHead=null,this._itTail=null,this._additionsHead=null,this._additionsTail=null,this._movesHead=null,this._movesTail=null,this._removalsHead=null,this._removalsTail=null,this._identityChangesHead=null,this._identityChangesTail=null,this._trackByFn=n||bN}forEachItem(n){let t;for(t=this._itHead;null!==t;t=t._next)n(t)}forEachOperation(n){let t=this._itHead,r=this._removalsHead,o=0,i=null;for(;t||r;){const s=!r||t&&t.currentIndex{s=this._trackByFn(o,a),null!==t&&Object.is(t.trackById,s)?(r&&(t=this._verifyReinsertion(t,a,s,o)),Object.is(t.item,a)||this._addIdentityChange(t,a)):(t=this._mismatch(t,a,s,o),r=!0),t=t._next,o++}),this.length=o;return this._truncate(t),this.collection=n,this.isDirty}get isDirty(){return null!==this._additionsHead||null!==this._movesHead||null!==this._removalsHead||null!==this._identityChangesHead}_reset(){if(this.isDirty){let n;for(n=this._previousItHead=this._itHead;null!==n;n=n._next)n._nextPrevious=n._next;for(n=this._additionsHead;null!==n;n=n._nextAdded)n.previousIndex=n.currentIndex;for(this._additionsHead=this._additionsTail=null,n=this._movesHead;null!==n;n=n._nextMoved)n.previousIndex=n.currentIndex;this._movesHead=this._movesTail=null,this._removalsHead=this._removalsTail=null,this._identityChangesHead=this._identityChangesTail=null}}_mismatch(n,t,r,o){let i;return null===n?i=this._itTail:(i=n._prev,this._remove(n)),null!==(n=null===this._unlinkedRecords?null:this._unlinkedRecords.get(r,null))?(Object.is(n.item,t)||this._addIdentityChange(n,t),this._reinsertAfter(n,i,o)):null!==(n=null===this._linkedRecords?null:this._linkedRecords.get(r,o))?(Object.is(n.item,t)||this._addIdentityChange(n,t),this._moveAfter(n,i,o)):n=this._addAfter(new IN(t,r),i,o),n}_verifyReinsertion(n,t,r,o){let i=null===this._unlinkedRecords?null:this._unlinkedRecords.get(r,null);return null!==i?n=this._reinsertAfter(i,n._prev,o):n.currentIndex!=o&&(n.currentIndex=o,this._addToMoves(n,o)),n}_truncate(n){for(;null!==n;){const t=n._next;this._addToRemovals(this._unlink(n)),n=t}null!==this._unlinkedRecords&&this._unlinkedRecords.clear(),null!==this._additionsTail&&(this._additionsTail._nextAdded=null),null!==this._movesTail&&(this._movesTail._nextMoved=null),null!==this._itTail&&(this._itTail._next=null),null!==this._removalsTail&&(this._removalsTail._nextRemoved=null),null!==this._identityChangesTail&&(this._identityChangesTail._nextIdentityChange=null)}_reinsertAfter(n,t,r){null!==this._unlinkedRecords&&this._unlinkedRecords.remove(n);const o=n._prevRemoved,i=n._nextRemoved;return null===o?this._removalsHead=i:o._nextRemoved=i,null===i?this._removalsTail=o:i._prevRemoved=o,this._insertAfter(n,t,r),this._addToMoves(n,r),n}_moveAfter(n,t,r){return this._unlink(n),this._insertAfter(n,t,r),this._addToMoves(n,r),n}_addAfter(n,t,r){return this._insertAfter(n,t,r),this._additionsTail=null===this._additionsTail?this._additionsHead=n:this._additionsTail._nextAdded=n,n}_insertAfter(n,t,r){const o=null===t?this._itHead:t._next;return n._next=o,n._prev=t,null===o?this._itTail=n:o._prev=n,null===t?this._itHead=n:t._next=n,null===this._linkedRecords&&(this._linkedRecords=new Ky),this._linkedRecords.put(n),n.currentIndex=r,n}_remove(n){return this._addToRemovals(this._unlink(n))}_unlink(n){null!==this._linkedRecords&&this._linkedRecords.remove(n);const t=n._prev,r=n._next;return null===t?this._itHead=r:t._next=r,null===r?this._itTail=t:r._prev=t,n}_addToMoves(n,t){return n.previousIndex===t||(this._movesTail=null===this._movesTail?this._movesHead=n:this._movesTail._nextMoved=n),n}_addToRemovals(n){return null===this._unlinkedRecords&&(this._unlinkedRecords=new Ky),this._unlinkedRecords.put(n),n.currentIndex=null,n._nextRemoved=null,null===this._removalsTail?(this._removalsTail=this._removalsHead=n,n._prevRemoved=null):(n._prevRemoved=this._removalsTail,this._removalsTail=this._removalsTail._nextRemoved=n),n}_addIdentityChange(n,t){return n.item=t,this._identityChangesTail=null===this._identityChangesTail?this._identityChangesHead=n:this._identityChangesTail._nextIdentityChange=n,n}}class IN{constructor(n,t){this.item=n,this.trackById=t,this.currentIndex=null,this.previousIndex=null,this._nextPrevious=null,this._prev=null,this._next=null,this._prevDup=null,this._nextDup=null,this._prevRemoved=null,this._nextRemoved=null,this._nextAdded=null,this._nextMoved=null,this._nextIdentityChange=null}}class MN{constructor(){this._head=null,this._tail=null}add(n){null===this._head?(this._head=this._tail=n,n._nextDup=null,n._prevDup=null):(this._tail._nextDup=n,n._prevDup=this._tail,n._nextDup=null,this._tail=n)}get(n,t){let r;for(r=this._head;null!==r;r=r._nextDup)if((null===t||t<=r.currentIndex)&&Object.is(r.trackById,n))return r;return null}remove(n){const t=n._prevDup,r=n._nextDup;return null===t?this._head=r:t._nextDup=r,null===r?this._tail=t:r._prevDup=t,null===this._head}}class Ky{constructor(){this.map=new Map}put(n){const t=n.trackById;let r=this.map.get(t);r||(r=new MN,this.map.set(t,r)),r.add(n)}get(n,t){const o=this.map.get(n);return o?o.get(n,t):null}remove(n){const t=n.trackById;return this.map.get(t).remove(n)&&this.map.delete(t),n}get isEmpty(){return 0===this.map.size}clear(){this.map.clear()}}function e_(e,n,t){const r=e.previousIndex;if(null===r)return r;let o=0;return t&&r{class e{static#e=this.\u0275prov=R({token:e,providedIn:"root",factory:n_});constructor(t){this.factories=t}static create(t,r){if(null!=r){const o=r.factories.slice();t=t.concat(o)}return new e(t)}static extend(t){return{provide:e,useFactory:r=>e.create(t,r||n_()),deps:[[e,new Za,new Wa]]}}find(t){const r=this.factories.find(o=>o.supports(t));if(null!=r)return r;throw new I(901,!1)}}return e})(),ms=(()=>{class e{static#e=this.__NG_ELEMENT_ID__=NN}return e})();function NN(e){return function xN(e,n,t){if(Tr(e)&&!t){const r=Rt(e.index,n);return new ds(r,r)}return 47&e.type?new ds(n[Ne],n):null}(de(),b(),16==(16&e))}let kl=(()=>{class e{static#e=this.__NG_ELEMENT_ID__=kN;static#t=this.__NG_ENV_ID__=t=>t}return e})();class PN extends kl{constructor(n){super(),this._lView=n}onDestroy(n){return Ta(this._lView,n),()=>function $u(e,n){if(null===e[er])return;const t=e[er].indexOf(n);-1!==t&&e[er].splice(t,1)}(this._lView,n)}}function kN(){return new PN(b())}const o_=new Set;function Fr(e){o_.has(e)||(o_.add(e),performance?.mark?.("mark_feature_usage",{detail:{feature:e}}))}function i_(...e){}class se{constructor({enableLongStackTrace:n=!1,shouldCoalesceEventChangeDetection:t=!1,shouldCoalesceRunChangeDetection:r=!1}){if(this.hasPendingMacrotasks=!1,this.hasPendingMicrotasks=!1,this.isStable=!0,this.onUnstable=new Ae(!1),this.onMicrotaskEmpty=new Ae(!1),this.onStable=new Ae(!1),this.onError=new Ae(!1),typeof Zone>"u")throw new I(908,!1);Zone.assertZonePatched();const o=this;o._nesting=0,o._outer=o._inner=Zone.current,Zone.TaskTrackingZoneSpec&&(o._inner=o._inner.fork(new Zone.TaskTrackingZoneSpec)),n&&Zone.longStackTraceZoneSpec&&(o._inner=o._inner.fork(Zone.longStackTraceZoneSpec)),o.shouldCoalesceEventChangeDetection=!r&&t,o.shouldCoalesceRunChangeDetection=r,o.lastRequestAnimationFrameId=-1,o.nativeRequestAnimationFrame=function BN(){const e="function"==typeof ce.requestAnimationFrame;let n=ce[e?"requestAnimationFrame":"setTimeout"],t=ce[e?"cancelAnimationFrame":"clearTimeout"];if(typeof Zone<"u"&&n&&t){const r=n[Zone.__symbol__("OriginalDelegate")];r&&(n=r);const o=t[Zone.__symbol__("OriginalDelegate")];o&&(t=o)}return{nativeRequestAnimationFrame:n,nativeCancelAnimationFrame:t}}().nativeRequestAnimationFrame,function GN(e){const n=()=>{!function $N(e){e.isCheckStableRunning||-1!==e.lastRequestAnimationFrameId||(e.lastRequestAnimationFrameId=e.nativeRequestAnimationFrame.call(ce,()=>{e.fakeTopEventTask||(e.fakeTopEventTask=Zone.root.scheduleEventTask("fakeTopEventTask",()=>{e.lastRequestAnimationFrameId=-1,Rf(e),e.isCheckStableRunning=!0,xf(e),e.isCheckStableRunning=!1},void 0,()=>{},()=>{})),e.fakeTopEventTask.invoke()}),Rf(e))}(e)};e._inner=e._inner.fork({name:"angular",properties:{isAngularZone:!0},onInvokeTask:(t,r,o,i,s,a)=>{if(function zN(e){return!(!Array.isArray(e)||1!==e.length)&&!0===e[0].data?.__ignore_ng_zone__}(a))return t.invokeTask(o,i,s,a);try{return s_(e),t.invokeTask(o,i,s,a)}finally{(e.shouldCoalesceEventChangeDetection&&"eventTask"===i.type||e.shouldCoalesceRunChangeDetection)&&n(),a_(e)}},onInvoke:(t,r,o,i,s,a,l)=>{try{return s_(e),t.invoke(o,i,s,a,l)}finally{e.shouldCoalesceRunChangeDetection&&n(),a_(e)}},onHasTask:(t,r,o,i)=>{t.hasTask(o,i),r===o&&("microTask"==i.change?(e._hasPendingMicrotasks=i.microTask,Rf(e),xf(e)):"macroTask"==i.change&&(e.hasPendingMacrotasks=i.macroTask))},onHandleError:(t,r,o,i)=>(t.handleError(o,i),e.runOutsideAngular(()=>e.onError.emit(i)),!1)})}(o)}static isInAngularZone(){return typeof Zone<"u"&&!0===Zone.current.get("isAngularZone")}static assertInAngularZone(){if(!se.isInAngularZone())throw new I(909,!1)}static assertNotInAngularZone(){if(se.isInAngularZone())throw new I(909,!1)}run(n,t,r){return this._inner.run(n,t,r)}runTask(n,t,r,o){const i=this._inner,s=i.scheduleEventTask("NgZoneEvent: "+o,n,HN,i_,i_);try{return i.runTask(s,t,r)}finally{i.cancelTask(s)}}runGuarded(n,t,r){return this._inner.runGuarded(n,t,r)}runOutsideAngular(n){return this._outer.run(n)}}const HN={};function xf(e){if(0==e._nesting&&!e.hasPendingMicrotasks&&!e.isStable)try{e._nesting++,e.onMicrotaskEmpty.emit(null)}finally{if(e._nesting--,!e.hasPendingMicrotasks)try{e.runOutsideAngular(()=>e.onStable.emit(null))}finally{e.isStable=!0}}}function Rf(e){e.hasPendingMicrotasks=!!(e._hasPendingMicrotasks||(e.shouldCoalesceEventChangeDetection||e.shouldCoalesceRunChangeDetection)&&-1!==e.lastRequestAnimationFrameId)}function s_(e){e._nesting++,e.isStable&&(e.isStable=!1,e.onUnstable.emit(null))}function a_(e){e._nesting--,xf(e)}var Lr=function(e){return e[e.EarlyRead=0]="EarlyRead",e[e.Write=1]="Write",e[e.MixedReadWrite=2]="MixedReadWrite",e[e.Read=3]="Read",e}(Lr||{});const c_={destroy(){}};function d_(e,n){!n&&function Nd(e){if(!Lm()&&!function Z1(){return po}())throw new I(-203,!1)}();const t=n?.injector??T(wt);if(!function ar(e){return"browser"===(e??T(wt)).get(rr)}(t))return c_;Fr("NgAfterNextRender");const r=t.get(vs),o=r.handler??=new h_,i=n?.phase??Lr.MixedReadWrite,s=()=>{o.unregister(l),a()},a=t.get(kl).onDestroy(s),l=new f_(t,i,()=>{s(),e()});return o.register(l),{destroy:s}}class f_{constructor(n,t,r){this.phase=t,this.callbackFn=r,this.zone=n.get(se),this.errorHandler=n.get(Vn,null,{optional:!0})}invoke(){try{this.zone.runOutsideAngular(this.callbackFn)}catch(n){this.errorHandler?.handleError(n)}}}class h_{constructor(){this.executingCallbacks=!1,this.buckets={[Lr.EarlyRead]:new Set,[Lr.Write]:new Set,[Lr.MixedReadWrite]:new Set,[Lr.Read]:new Set},this.deferredCallbacks=new Set}register(n){(this.executingCallbacks?this.deferredCallbacks:this.buckets[n.phase]).add(n)}unregister(n){this.buckets[n.phase].delete(n),this.deferredCallbacks.delete(n)}execute(){this.executingCallbacks=!0;for(const n of Object.values(this.buckets))for(const t of n)t.invoke();this.executingCallbacks=!1;for(const n of this.deferredCallbacks)this.buckets[n.phase].add(n);this.deferredCallbacks.clear()}destroy(){for(const n of Object.values(this.buckets))n.clear();this.deferredCallbacks.clear()}}let vs=(()=>{class e{constructor(){this.handler=null,this.internalCallbacks=[]}execute(){const t=[...this.internalCallbacks];this.internalCallbacks.length=0;for(const r of t)r();this.handler?.execute()}ngOnDestroy(){this.handler?.destroy(),this.handler=null,this.internalCallbacks.length=0}static#e=this.\u0275prov=R({token:e,providedIn:"root",factory:()=>new e})}return e})();function Ll(e,n,t){let r=t?e.styles:null,o=t?e.classes:null,i=0;if(null!==n)for(let s=0;s0&&fy(e,t,i.join(" "))}}(g,$,v,r),void 0!==t&&function ox(e,n,t){const r=e.projection=[];for(let o=0;o{class e{static#e=this.__NG_ELEMENT_ID__=sx}return e})();function sx(){return C_(de(),b())}const ax=tn,y_=class extends ax{constructor(n,t,r){super(),this._lContainer=n,this._hostTNode=t,this._hostLView=r}get element(){return uo(this._hostTNode,this._hostLView)}get injector(){return new Qe(this._hostTNode,this._hostLView)}get parentInjector(){const n=sl(this._hostTNode,this._hostLView);if(kd(n)){const t=Ki(n,this._hostLView),r=Ji(n);return new Qe(t[A].data[r+8],t)}return new Qe(null,this._hostLView)}clear(){for(;this.length>0;)this.remove(this.length-1)}get(n){const t=__(this._lContainer);return null!==t&&t[n]||null}get length(){return this._lContainer.length-Pe}createEmbeddedView(n,t,r){let o,i;"number"==typeof r?o=r:null!=r&&(o=r.index,i=r.injector);const s=ko(this._lContainer,n.ssrId),a=n.createEmbeddedViewImpl(t||{},i,s);return this.insertImpl(a,o,Po(this._hostTNode,s)),a}createComponent(n,t,r,o,i){const s=n&&!function Yi(e){return"function"==typeof e}(n);let a;if(s)a=t;else{const v=t||{};a=v.index,r=v.injector,o=v.projectableNodes,i=v.environmentInjector||v.ngModuleRef}const l=s?n:new Cs(Y(n)),c=r||this.parentInjector;if(!i&&null==l.ngModule){const _=(s?c:this.parentInjector).get(kt,null);_&&(i=_)}const u=Y(l.componentType??{}),d=ko(this._lContainer,u?.id??null),m=l.create(c,o,d?.firstChild??null,i);return this.insertImpl(m.hostView,a,Po(this._hostTNode,d)),m}insert(n,t){return this.insertImpl(n,t,!0)}insertImpl(n,t,r){const o=n._lView;if(function c1(e){return at(e[Oe])}(o)){const a=this.indexOf(n);if(-1!==a)this.detach(a);else{const l=o[Oe],c=new y_(l,l[ot],l[Oe]);c.detach(c.indexOf(n))}}const i=this._adjustIndex(t),s=this._lContainer;return ls(s,o,i,r),n.attachToViewContainerRef(),Sm(kf(s),i,n),n}move(n,t){return this.insert(n,t)}indexOf(n){const t=__(this._lContainer);return null!==t?t.indexOf(n):-1}remove(n){const t=this._adjustIndex(n,-1),r=os(this._lContainer,t);r&&(xa(kf(this._lContainer),t),yl(r[A],r))}detach(n){const t=this._adjustIndex(n,-1),r=os(this._lContainer,t);return r&&null!=xa(kf(this._lContainer),t)?new ds(r):null}_adjustIndex(n,t=0){return n??this.length+t}};function __(e){return e[8]}function kf(e){return e[8]||(e[8]=[])}function C_(e,n){let t;const r=n[e.index];return at(r)?t=r:(t=Ey(r,n,null,e),n[e.index]=t,El(n,t)),D_(t,n,e,r),new y_(t,e,n)}let D_=function b_(e,n,t,r){if(e[hn])return;let o;o=8&t.type?pe(r):function lx(e,n){const t=e[G],r=t.createComment(""),o=ft(n,e);return kr(t,_l(t,o),r,function tA(e,n){return e.nextSibling(n)}(t,o),!1),r}(n,t),e[hn]=o},Ff=()=>!1;class Lf{constructor(n){this.queryList=n,this.matches=null}clone(){return new Lf(this.queryList)}setDirty(){this.queryList.setDirty()}}class Vf{constructor(n=[]){this.queries=n}createEmbeddedView(n){const t=n.queries;if(null!==t){const r=null!==n.contentQueries?n.contentQueries[0]:t.length,o=[];for(let i=0;in.trim())}(n):n}}class jf{constructor(n=[]){this.queries=n}elementStart(n,t){for(let r=0;r0)r.push(s[a/2]);else{const c=i[a+1],u=n[-l];for(let d=Pe;d=0;r--){const o=e[r];o.hostVars=n+=o.hostVars,o.hostAttrs=ki(o.hostAttrs,t=ki(t,o.hostAttrs))}}(r)}function Sx(e,n){for(const t in n.inputs){if(!n.inputs.hasOwnProperty(t)||e.inputs.hasOwnProperty(t))continue;const r=n.inputs[t];if(void 0!==r&&(e.inputs[t]=r,e.declaredInputs[t]=n.declaredInputs[t],null!==n.inputTransforms)){const o=Array.isArray(r)?r[0]:r;if(!n.inputTransforms.hasOwnProperty(o))continue;e.inputTransforms??={},e.inputTransforms[o]=n.inputTransforms[o]}}}function jl(e){return e===fn?{}:e===ne?[]:e}function Ax(e,n){const t=e.viewQuery;e.viewQuery=t?(r,o)=>{n(r,o),t(r,o)}:n}function Nx(e,n){const t=e.contentQueries;e.contentQueries=t?(r,o,i)=>{n(r,o,i),t(r,o,i)}:n}function xx(e,n){const t=e.hostBindings;e.hostBindings=t?(r,o)=>{n(r,o),t(r,o)}:n}function z_(e){const n=e.inputConfig,t={};for(const r in n)if(n.hasOwnProperty(r)){const o=n[r];Array.isArray(o)&&o[3]&&(t[r]=o[3])}e.inputTransforms=t}class Vr{}class q_{}class zf extends Vr{constructor(n,t,r){super(),this._parent=t,this._bootstrapComponents=[],this.destroyCbs=[],this.componentFactoryResolver=new m_(this);const o=rt(n);this._bootstrapComponents=Ft(o.bootstrap),this._r3Injector=wv(n,t,[{provide:Vr,useValue:this},{provide:Rl,useValue:this.componentFactoryResolver},...r],qe(n),new Set(["environment"])),this._r3Injector.resolveInjectorInitializers(),this.instance=this._r3Injector.get(n)}get injector(){return this._r3Injector}destroy(){const n=this._r3Injector;!n.destroyed&&n.destroy(),this.destroyCbs.forEach(t=>t()),this.destroyCbs=null}onDestroy(n){this.destroyCbs.push(n)}}class qf extends q_{constructor(n){super(),this.moduleType=n}create(n){return new zf(this.moduleType,n,[])}}class W_ extends Vr{constructor(n){super(),this.componentFactoryResolver=new m_(this),this.instance=null;const t=new wo([...n.providers,{provide:Vr,useValue:this},{provide:Rl,useValue:this.componentFactoryResolver}],n.parent||Ka(),n.debugName,new Set(["environment"]));this.injector=t,n.runEnvironmentInitializers&&t.resolveInjectorInitializers()}destroy(){this.injector.destroy()}onDestroy(n){this.injector.onDestroy(n)}}function Wf(e,n,t=null){return new W_({providers:e,parent:n,debugName:t,runEnvironmentInitializers:!0}).injector}let jr=(()=>{class e{constructor(){this.taskId=0,this.pendingTasks=new Set,this.hasPendingTasks=new jt(!1)}get _hasPendingTasks(){return this.hasPendingTasks.value}add(){this._hasPendingTasks||this.hasPendingTasks.next(!0);const t=this.taskId++;return this.pendingTasks.add(t),t}remove(t){this.pendingTasks.delete(t),0===this.pendingTasks.size&&this._hasPendingTasks&&this.hasPendingTasks.next(!1)}ngOnDestroy(){this.pendingTasks.clear(),this._hasPendingTasks&&this.hasPendingTasks.next(!1)}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=R({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();function _n(e,n,t){return e[n]=t}function ke(e,n,t){return!Object.is(e[n],t)&&(e[n]=t,!0)}function W(e,n,t,r,o,i,s,a){const l=b(),c=J(),u=e+z,d=c.firstCreatePass?function Ux(e,n,t,r,o,i,s,a,l){const c=n.consts,u=Oo(n,e,4,s||null,pn(c,a));gf(n,t,u,pn(c,l)),tl(n,u);const d=u.tView=pf(2,u,r,o,i,n.directiveRegistry,n.pipeRegistry,null,n.schemas,c,null);return null!==n.queries&&(n.queries.template(n,u),d.queries=n.queries.embeddedTView(u)),u}(u,c,l,n,t,r,o,i,s):c.data[u];gn(d,!1);const g=Z_(c,l,d,e);Na()&&Cl(c,l,g,d),ct(g,l);const m=Ey(g,l,g,d);return l[u]=m,El(l,m),function w_(e,n,t){return Ff(e,n,t)}(m,d,l),Sa(d)&&ff(c,l,d),null!=s&&hf(l,d,a),W}let Z_=function Q_(e,n,t,r){return tr(!0),n[G].createComment("")};function nn(e,n,t,r){const o=b();return ke(o,en(),n)&&(J(),yn(ye(),o,e,n,t,r)),nn}function Go(e,n,t,r){return ke(e,en(),t)?n+q(t)+r:Z}function Wl(e,n){return e<<17|n<<2}function fr(e){return e>>17&32767}function rh(e){return 2|e}function Hr(e){return(131068&e)>>2}function oh(e,n){return-131069&e|n<<2}function ih(e){return 1|e}function MC(e,n,t,r){const o=e[t+1],i=null===n;let s=r?fr(o):Hr(o),a=!1;for(;0!==s&&(!1===a||i);){const c=e[s+1];ER(e[s],n)&&(a=!0,e[s+1]=r?ih(c):rh(c)),s=r?fr(c):Hr(c)}a&&(e[t+1]=r?rh(o):ih(o))}function ER(e,n){return null===e||null==n||(Array.isArray(e)?e[1]:e)===n||!(!Array.isArray(e)||"string"!=typeof n)&&ho(e,n)>=0}function M(e,n,t){const r=b();return ke(r,en(),n)&&Et(J(),ye(),r,e,n,r[G],t,!1),M}function sh(e,n,t,r,o){const s=o?"class":"style";_f(e,t,n.inputs[s],s,r)}function Zl(e,n){return function rn(e,n,t,r){const o=b(),i=J(),s=function Fn(e){const n=j.lFrame,t=n.bindingIndex;return n.bindingIndex=n.bindingIndex+e,t}(2);i.firstUpdatePass&&function kC(e,n,t,r){const o=e.data;if(null===o[t+1]){const i=o[lt()],s=function PC(e,n){return n>=e.expandoStartIndex}(e,t);(function jC(e,n){return 0!=(e.flags&(n?8:16))})(i,r)&&null===n&&!s&&(n=!1),n=function OR(e,n,t,r){const o=function Wu(e){const n=j.lFrame.currentDirectiveIndex;return-1===n?null:e[n]}(e);let i=r?n.residualClasses:n.residualStyles;if(null===o)0===(r?n.classBindings:n.styleBindings)&&(t=Ms(t=ah(null,e,n,t,r),n.attrs,r),i=null);else{const s=n.directiveStylingLast;if(-1===s||e[s]!==o)if(t=ah(o,e,n,t,r),null===i){let l=function PR(e,n,t){const r=t?n.classBindings:n.styleBindings;if(0!==Hr(r))return e[fr(r)]}(e,n,r);void 0!==l&&Array.isArray(l)&&(l=ah(null,e,n,l[1],r),l=Ms(l,n.attrs,r),function kR(e,n,t,r){e[fr(t?n.classBindings:n.styleBindings)]=r}(e,n,r,l))}else i=function FR(e,n,t){let r;const o=n.directiveEnd;for(let i=1+n.directiveStylingLast;i0)&&(c=!0)):u=t,o)if(0!==l){const g=fr(e[a+1]);e[r+1]=Wl(g,a),0!==g&&(e[g+1]=oh(e[g+1],r)),e[a+1]=function CR(e,n){return 131071&e|n<<17}(e[a+1],r)}else e[r+1]=Wl(a,0),0!==a&&(e[a+1]=oh(e[a+1],r)),a=r;else e[r+1]=Wl(l,0),0===a?a=r:e[l+1]=oh(e[l+1],r),l=r;c&&(e[r+1]=rh(e[r+1])),MC(e,u,r,!0),MC(e,u,r,!1),function bR(e,n,t,r,o){const i=o?e.residualClasses:e.residualStyles;null!=i&&"string"==typeof n&&ho(i,n)>=0&&(t[r+1]=ih(t[r+1]))}(n,u,e,r,i),s=Wl(a,l),i?n.classBindings=s:n.styleBindings=s}(o,i,n,t,s,r)}}(i,e,s,r),n!==Z&&ke(o,s,n)&&function LC(e,n,t,r,o,i,s,a){if(!(3&n.type))return;const l=e.data,c=l[a+1],u=function DR(e){return 1==(1&e)}(c)?VC(l,n,t,o,Hr(c),s):void 0;Ql(u)||(Ql(i)||function _R(e){return 2==(2&e)}(c)&&(i=VC(l,null,t,o,a,s)),function oA(e,n,t,r,o){if(n)o?e.addClass(t,r):e.removeClass(t,r);else{let i=-1===r.indexOf("-")?void 0:lr.DashCase;null==o?e.removeStyle(t,r,i):("string"==typeof o&&o.endsWith("!important")&&(o=o.slice(0,-10),i|=lr.Important),e.setStyle(t,r,o,i))}}(r,s,Ui(lt(),t),o,i))}(i,i.data[lt()],o,o[G],e,o[s+1]=function UR(e,n){return null==e||""===e||("string"==typeof n?e+=n:"object"==typeof e&&(e=qe(sr(e)))),e}(n,t),r,s)}(e,n,null,!0),Zl}function ah(e,n,t,r,o){let i=null;const s=t.directiveEnd;let a=t.directiveStylingLast;for(-1===a?a=t.directiveStart:a++;a0;){const l=e[o],c=Array.isArray(l),u=c?l[1]:l,d=null===u;let g=t[o+1];g===Z&&(g=d?ne:void 0);let m=d?Ju(g,r):u===r?g:void 0;if(c&&!Ql(m)&&(m=Ju(l,r)),Ql(m)&&(a=m,s))return a;const v=e[o+1];o=s?fr(v):Hr(v)}if(null!==n){let l=i?n.residualClasses:n.residualStyles;null!=l&&(a=Ju(l,r))}return a}function Ql(e){return void 0!==e}function Ko(e,n,t){Fr("NgControlFlow");const r=b(),o=en(),i=function uh(e,n){return e[n]}(r,z+e);if(ke(r,o,n)){const a=xe(null);try{if(function Df(e,n){const t=os(e,n);return void 0!==t&&yl(t[A],t),t}(i,0),-1!==n){const l=function dh(e,n){return Bi(e,n)}(r[A],z+n),c=ko(i,l.tView.ssrId);ls(i,as(r,l,t,{dehydratedView:c}),0,Po(l,c))}}finally{xe(a)}}else{const a=function Ay(e,n){const t=Pe+n;if(t(tr(!0),vl(r,o,function Em(){return j.lFrame.currentNamespace}()));function It(e,n,t){const r=b(),o=J(),i=e+z,s=o.firstCreatePass?function dO(e,n,t,r,o){const i=n.consts,s=pn(i,r),a=Oo(n,e,8,"ng-container",s);return null!==s&&Ll(a,s,!0),gf(n,t,a,pn(i,o)),null!==n.queries&&n.queries.elementStart(n,a),a}(i,o,r,n,t):o.data[i];gn(s,!0);const a=zC(o,r,s,e);return r[i]=a,Na()&&Cl(o,r,a,s),ct(a,r),Sa(s)&&(ff(o,r,s),df(o,s,r)),null!=t&&hf(r,s),It}function Mt(){let e=de();const n=J();return Gu()?zu():(e=e.parent,gn(e,!1)),n.firstCreatePass&&(tl(n,e),ku(e)&&n.queries.elementEnd(e)),Mt}let zC=(e,n,t,r)=>(tr(!0),nf(n[G],""));function Le(){return b()}const ti="en-US";let YC=ti;function U(e,n,t,r){const o=b(),i=J(),s=de();return ph(i,o,o[G],s,e,n,r),U}function ph(e,n,t,r,o,i,s){const a=Sa(r),c=e.firstCreatePass&&Sy(e),u=n[ve],d=My(n);let g=!0;if(3&r.type||s){const _=ft(r,n),D=s?s(_):_,E=d.length,w=s?F=>s(pe(F[r.index])):r.index;let x=null;if(!s&&a&&(x=function uP(e,n,t,r){const o=e.cleanup;if(null!=o)for(let i=0;il?a[l]:null}"string"==typeof s&&(i+=2)}return null}(e,n,o,r.index)),null!==x)(x.__ngLastListenerFn__||x).__ngNextListenerFn__=i,x.__ngLastListenerFn__=i,g=!1;else{i=bD(r,n,u,i,!1);const F=t.listen(D,o,i);d.push(i,F),c&&c.push(o,w,E,E+1)}}else i=bD(r,n,u,i,!1);const m=r.outputs;let v;if(g&&null!==m&&(v=m[o])){const _=v.length;if(_)for(let D=0;D<_;D+=2){const $=n[v[D]][v[D+1]].subscribe(i),he=d.length;d.push(i,$),c&&c.push(o,r.index,he,"function"==typeof $?he+1:-(he+1))}}}function wD(e,n,t,r){try{return mn(6,n,t),!1!==t(r)}catch(o){return Il(e,o),!1}finally{mn(7,n,t)}}function bD(e,n,t,r,o){return function i(s){if(s===Function)return r;us(e.componentOffset>-1?Rt(e.index,n):n);let l=wD(n,t,r,s),c=i.__ngNextListenerFn__;for(;c;)l=wD(n,t,c,s)&&l,c=c.__ngNextListenerFn__;return o&&!1===l&&s.preventDefault(),l}}function O(e=1){return function E1(e){return(j.lFrame.contextLView=function fm(e,n){for(;e>0;)n=n[io],e--;return n}(e,j.lFrame.contextLView))[ve]}(e)}function $n(e,n,t,r,o){const i=b(),s=Go(i,n,t,r);return s!==Z&&Et(J(),ye(),i,e,s,i[G],o,!1),$n}function kD(){return function Hf(e,n){return e[Pn].queries[n].queryList}(b(),Zu())}function gh(e){return function lo(e,n){return e[n]}(function _1(){return j.lFrame.contextLView}(),z+e)}function f(e,n=""){const t=b(),r=J(),o=e+z,i=r.firstCreatePass?Oo(r,o,1,n,null):r.data[o],s=zD(r,t,i,n,e);t[o]=s,Na()&&Cl(r,t,s,i),gn(i,!1)}let zD=(e,n,t,r,o)=>(tr(!0),function ml(e,n){return e.createText(n)}(n[G],r));function Se(e){return Gn("",e,""),Se}function Gn(e,n,t){const r=b(),o=Go(r,e,n,t);return o!==Z&&function Un(e,n,t){const r=Ui(n,e);!function Kv(e,n,t){e.setValue(n,t)}(e[G],r,t)}(r,lt(),o),Gn}function Ve(e,n,t){Yy(n)&&(n=n());const r=b();return ke(r,en(),n)&&Et(J(),ye(),r,e,n,r[G],t,!1),Ve}function $e(e,n){const t=Yy(e);return t&&e.set(n),t}function je(e,n){const t=b(),r=J(),o=de();return ph(r,t,t[G],o,e,n),je}function mh(e,n,t,r,o){if(e=V(e),Array.isArray(e))for(let i=0;i>20;if(Or(e)||!e.multi){const m=new Xi(c,o,S),v=yh(l,n,o?u:u+g,d);-1===v?(Vd(il(a,s),i,l),vh(i,e,n.length),n.push(l),a.directiveStart++,a.directiveEnd++,o&&(a.providerIndexes+=1048576),t.push(m),s.push(m)):(t[v]=m,s[v]=m)}else{const m=yh(l,n,u+g,d),v=yh(l,n,u,u+g),D=v>=0&&t[v];if(o&&!D||!o&&!(m>=0&&t[m])){Vd(il(a,s),i,l);const E=function OP(e,n,t,r,o){const i=new Xi(e,t,S);return i.multi=[],i.index=n,i.componentProviders=0,ew(i,o,r&&!t),i}(o?RP:xP,t.length,o,r,c);!o&&D&&(t[v].providerFactory=E),vh(i,e,n.length,0),n.push(l),a.directiveStart++,a.directiveEnd++,o&&(a.providerIndexes+=1048576),t.push(E),s.push(E)}else vh(i,e,m>-1?m:v,ew(t[o?v:m],c,!o&&r));!o&&r&&D&&t[v].componentProviders++}}}function vh(e,n,t,r){const o=Or(n),i=function dS(e){return!!e.useClass}(n);if(o||i){const l=(i?V(n.useClass):n).prototype.ngOnDestroy;if(l){const c=e.destroyHooks||(e.destroyHooks=[]);if(!o&&n.multi){const u=c.indexOf(t);-1===u?c.push(t,[r,l]):c[u+1].push(r,l)}else c.push(t,l)}}}function ew(e,n,t){return t&&e.componentProviders++,e.multi.push(n)-1}function yh(e,n,t,r){for(let o=t;o{t.providersResolver=(r,o)=>function NP(e,n,t){const r=J();if(r.firstCreatePass){const o=Kt(e);mh(t,r.data,r.blueprint,o,!0),mh(n,r.data,r.blueprint,o,!1)}}(r,o?o(e):e,n)}}let PP=(()=>{class e{constructor(t){this._injector=t,this.cachedInjectors=new Map}getOrCreateStandaloneInjector(t){if(!t.standalone)return null;if(!this.cachedInjectors.has(t)){const r=Qm(0,t.type),o=r.length>0?Wf([r],this._injector,`Standalone[${t.type.name}]`):null;this.cachedInjectors.set(t,o)}return this.cachedInjectors.get(t)}ngOnDestroy(){try{for(const t of this.cachedInjectors.values())null!==t&&t.destroy()}finally{this.cachedInjectors.clear()}}static#e=this.\u0275prov=R({token:e,providedIn:"environment",factory:()=>new e(P(kt))})}return e})();function Lt(e){Fr("NgStandalone"),e.getStandaloneInjector=n=>n.get(PP).getOrCreateStandaloneInjector(e)}function ee(e,n,t){const r=ht()+e,o=b();return o[r]===Z?_n(o,r,t?n.call(t):n()):function ws(e,n){return e[n]}(o,r)}function Rs(e,n,t,r){return function uw(e,n,t,r,o,i){const s=n+t;return ke(e,s,o)?_n(e,s+1,i?r.call(i,o):r(o)):Os(e,s+1)}(b(),ht(),e,n,t,r)}function cw(e,n,t,r,o){return function dw(e,n,t,r,o,i,s){const a=n+t;return function Ur(e,n,t,r){const o=ke(e,n,t);return ke(e,n+1,r)||o}(e,a,o,i)?_n(e,a+2,s?r.call(s,o,i):r(o,i)):Os(e,a+2)}(b(),ht(),e,n,t,r,o)}function Os(e,n){const t=e[n];return t===Z?void 0:t}let Nw=(()=>{class e{log(t){console.log(t)}warn(t){console.warn(t)}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=R({token:e,factory:e.\u0275fac,providedIn:"platform"})}return e})();const kw=new N(""),rc=new N("");let Th,Mh=(()=>{class e{constructor(t,r,o){this._ngZone=t,this.registry=r,this._pendingCount=0,this._isZoneStable=!0,this._callbacks=[],this.taskTrackingZone=null,Th||(function Xk(e){Th=e}(o),o.addToWindow(r)),this._watchAngularEvents(),t.run(()=>{this.taskTrackingZone=typeof Zone>"u"?null:Zone.current.get("TaskTrackingZone")})}_watchAngularEvents(){this._ngZone.onUnstable.subscribe({next:()=>{this._isZoneStable=!1}}),this._ngZone.runOutsideAngular(()=>{this._ngZone.onStable.subscribe({next:()=>{se.assertNotInAngularZone(),queueMicrotask(()=>{this._isZoneStable=!0,this._runCallbacksIfReady()})}})})}increasePendingRequestCount(){return this._pendingCount+=1,this._pendingCount}decreasePendingRequestCount(){if(this._pendingCount-=1,this._pendingCount<0)throw new Error("pending async requests below zero");return this._runCallbacksIfReady(),this._pendingCount}isStable(){return this._isZoneStable&&0===this._pendingCount&&!this._ngZone.hasPendingMacrotasks}_runCallbacksIfReady(){if(this.isStable())queueMicrotask(()=>{for(;0!==this._callbacks.length;){let t=this._callbacks.pop();clearTimeout(t.timeoutId),t.doneCb()}});else{let t=this.getPendingTasks();this._callbacks=this._callbacks.filter(r=>!r.updateCb||!r.updateCb(t)||(clearTimeout(r.timeoutId),!1))}}getPendingTasks(){return this.taskTrackingZone?this.taskTrackingZone.macroTasks.map(t=>({source:t.source,creationLocation:t.creationLocation,data:t.data})):[]}addCallback(t,r,o){let i=-1;r&&r>0&&(i=setTimeout(()=>{this._callbacks=this._callbacks.filter(s=>s.timeoutId!==i),t()},r)),this._callbacks.push({doneCb:t,timeoutId:i,updateCb:o})}whenStable(t,r,o){if(o&&!this.taskTrackingZone)throw new Error('Task tracking zone is required when passing an update callback to whenStable(). Is "zone.js/plugins/task-tracking" loaded?');this.addCallback(t,r,o),this._runCallbacksIfReady()}getPendingRequestCount(){return this._pendingCount}registerApplication(t){this.registry.registerApplication(t,this)}unregisterApplication(t){this.registry.unregisterApplication(t)}findProviders(t,r,o){return[]}static#e=this.\u0275fac=function(r){return new(r||e)(P(se),P(Sh),P(rc))};static#t=this.\u0275prov=R({token:e,factory:e.\u0275fac})}return e})(),Sh=(()=>{class e{constructor(){this._applications=new Map}registerApplication(t,r){this._applications.set(t,r)}unregisterApplication(t){this._applications.delete(t)}unregisterAllApplications(){this._applications.clear()}getTestability(t){return this._applications.get(t)||null}getAllTestabilities(){return Array.from(this._applications.values())}getAllRootElements(){return Array.from(this._applications.keys())}findTestabilityInTree(t,r=!0){return Th?.findTestabilityInTree(this,t,r)??null}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=R({token:e,factory:e.\u0275fac,providedIn:"platform"})}return e})();function Vs(e){return!!e&&"function"==typeof e.then}function Fw(e){return!!e&&"function"==typeof e.subscribe}const Ah=new N("");let Nh=(()=>{class e{constructor(){this.initialized=!1,this.done=!1,this.donePromise=new Promise((t,r)=>{this.resolve=t,this.reject=r}),this.appInits=T(Ah,{optional:!0})??[]}runInitializers(){if(this.initialized)return;const t=[];for(const o of this.appInits){const i=o();if(Vs(i))t.push(i);else if(Fw(i)){const s=new Promise((a,l)=>{i.subscribe({complete:a,error:l})});t.push(s)}}const r=()=>{this.done=!0,this.resolve()};Promise.all(t).then(()=>{r()}).catch(o=>{this.reject(o)}),0===t.length&&r(),this.initialized=!0}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=R({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();const xh=new N("");let Gr=(()=>{class e{constructor(){this._bootstrapListeners=[],this._runningTick=!1,this._destroyed=!1,this._destroyListeners=[],this._views=[],this.internalErrorHandler=T(Ev),this.afterRenderEffectManager=T(vs),this.componentTypes=[],this.components=[],this.isStable=T(jr).hasPendingTasks.pipe(K(t=>!t)),this._injector=T(kt)}get destroyed(){return this._destroyed}get injector(){return this._injector}bootstrap(t,r){const o=t instanceof qy;if(!this._injector.get(Nh).done)throw!o&&function Kn(e){const n=Y(e)||We(e)||tt(e);return null!==n&&n.standalone}(t),new I(405,!1);let s;s=o?t:this._injector.get(Rl).resolveComponentFactory(t),this.componentTypes.push(s.componentType);const a=function Jk(e){return e.isBoundToModule}(s)?void 0:this._injector.get(Vr),c=s.create(wt.NULL,[],r||s.selector,a),u=c.location.nativeElement,d=c.injector.get(kw,null);return d?.registerApplication(u),c.onDestroy(()=>{this.detachView(c.hostView),oc(this.components,c),d?.unregisterApplication(u)}),this._loadComponent(c),c}tick(){if(this._runningTick)throw new I(101,!1);try{this._runningTick=!0,this.detectChangesInAttachedViews()}catch(t){this.internalErrorHandler(t)}finally{this._runningTick=!1}}detectChangesInAttachedViews(){let t=0;do{if(100===t)throw new I(103,!1);const r=0===t;for(let{_lView:o,notifyErrorHandler:i}of this._views)!r&&!Uw(o)||this.detectChangesInView(o,i,r);this.afterRenderEffectManager.execute(),t++}while(this._views.some(({_lView:r})=>Uw(r)))}detectChangesInView(t,r,o){let i;o?(i=0,t[k]|=1024):i=64&t[k]?0:1,Ml(t,r,i)}attachView(t){const r=t;this._views.push(r),r.attachToAppRef(this)}detachView(t){const r=t;oc(this._views,r),r.detachFromAppRef()}_loadComponent(t){this.attachView(t.hostView),this.tick(),this.components.push(t);const r=this._injector.get(xh,[]);[...this._bootstrapListeners,...r].forEach(o=>o(t))}ngOnDestroy(){if(!this._destroyed)try{this._destroyListeners.forEach(t=>t()),this._views.slice().forEach(t=>t.destroy())}finally{this._destroyed=!0,this._views=[],this._bootstrapListeners=[],this._destroyListeners=[]}}onDestroy(t){return this._destroyListeners.push(t),()=>oc(this._destroyListeners,t)}destroy(){if(this._destroyed)throw new I(406,!1);const t=this._injector;t.destroy&&!t.destroyed&&t.destroy()}get viewCount(){return this._views.length}warnIfDestroyed(){}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=R({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();function oc(e,n){const t=e.indexOf(n);t>-1&&e.splice(t,1)}function Uw(e){return Bu(e)}class eF{constructor(n,t){this.ngModuleFactory=n,this.componentFactories=t}}let Bw=(()=>{class e{compileModuleSync(t){return new qf(t)}compileModuleAsync(t){return Promise.resolve(this.compileModuleSync(t))}compileModuleAndAllComponentsSync(t){const r=this.compileModuleSync(t),i=Ft(rt(t).declarations).reduce((s,a)=>{const l=Y(a);return l&&s.push(new Cs(l)),s},[]);return new eF(r,i)}compileModuleAndAllComponentsAsync(t){return Promise.resolve(this.compileModuleAndAllComponentsSync(t))}clearCache(){}clearCacheFor(t){}getModuleId(t){}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=R({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})(),rF=(()=>{class e{constructor(){this.zone=T(se),this.applicationRef=T(Gr)}initialize(){this._onMicrotaskEmptySubscription||(this._onMicrotaskEmptySubscription=this.zone.onMicrotaskEmpty.subscribe({next:()=>{this.zone.run(()=>{this.applicationRef.tick()})}}))}ngOnDestroy(){this._onMicrotaskEmptySubscription?.unsubscribe()}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=R({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();function $w(e){return[{provide:se,useFactory:e},{provide:Rr,multi:!0,useFactory:()=>{const n=T(rF,{optional:!0});return()=>n.initialize()}},{provide:Rr,multi:!0,useFactory:()=>{const n=T(sF);return()=>{n.initialize()}}},{provide:Ev,useFactory:oF}]}function oF(){const e=T(se),n=T(Vn);return t=>e.runOutsideAngular(()=>n.handleError(t))}function iF(e){return Ya([[],$w(()=>new se(function Gw(e){return{enableLongStackTrace:!1,shouldCoalesceEventChangeDetection:e?.eventCoalescing??!1,shouldCoalesceRunChangeDetection:e?.runCoalescing??!1}}(e)))])}let sF=(()=>{class e{constructor(){this.subscription=new yt,this.initialized=!1,this.zone=T(se),this.pendingTasks=T(jr)}initialize(){if(this.initialized)return;this.initialized=!0;let t=null;!this.zone.isStable&&!this.zone.hasPendingMacrotasks&&!this.zone.hasPendingMicrotasks&&(t=this.pendingTasks.add()),this.zone.runOutsideAngular(()=>{this.subscription.add(this.zone.onStable.subscribe(()=>{se.assertNotInAngularZone(),queueMicrotask(()=>{null!==t&&!this.zone.hasPendingMacrotasks&&!this.zone.hasPendingMicrotasks&&(this.pendingTasks.remove(t),t=null)})}))}),this.subscription.add(this.zone.onUnstable.subscribe(()=>{se.assertInAngularZone(),t??=this.pendingTasks.add()}))}ngOnDestroy(){this.subscription.unsubscribe()}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=R({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();const zn=new N("",{providedIn:"root",factory:()=>T(zn,X.Optional|X.SkipSelf)||function aF(){return typeof $localize<"u"&&$localize.locale||ti}()}),Rh=new N("");let hr=null;let mF=(()=>{class e{constructor(t){}static#e=this.\u0275fac=function(r){return new(r||e)(P(Gr))};static#t=this.\u0275mod=Jn({type:e});static#n=this.\u0275inj=Ln({})}return e})();function xF(e){try{const{rootComponent:n,appProviders:t,platformProviders:r}=e,o=function fF(e=[]){if(hr)return hr;const n=function Ww(e=[],n){return wt.create({name:n,providers:[{provide:Md,useValue:"platform"},{provide:Rh,useValue:new Set([()=>hr=null])},...e]})}(e);return hr=n,function Lw(){!function _0(e){Ng=e}(()=>{throw new I(600,!1)})}(),function Zw(e){e.get(Pm,null)?.forEach(t=>t())}(n),n}(r),i=[iF(),...t||[]],a=new W_({providers:i,parent:o,debugName:"",runEnvironmentInitializers:!1}).injector,l=a.get(se);return l.run(()=>{a.resolveInjectorInitializers();const c=a.get(Vn,null);let u;l.runOutsideAngular(()=>{u=l.onError.subscribe({next:m=>{c.handleError(m)}})});const d=()=>a.destroy(),g=o.get(Rh);return g.add(d),a.onDestroy(()=>{u.unsubscribe(),g.delete(d)}),function Vw(e,n,t){try{const r=t();return Vs(r)?r.catch(o=>{throw n.runOutsideAngular(()=>e.handleError(o)),o}):r}catch(r){throw n.runOutsideAngular(()=>e.handleError(r)),r}}(c,l,()=>{const m=a.get(Nh);return m.runInitializers(),m.donePromise.then(()=>{!function XC(e){"string"==typeof e&&(YC=e.toLowerCase().replace(/_/g,"-"))}(a.get(zn,ti)||ti);const _=a.get(Gr);return void 0!==n&&_.bootstrap(n),_})})})}catch(n){return Promise.reject(n)}}function ii(e){return"boolean"==typeof e?e:null!=e&&"false"!==e}const De_apiBaseUrl="https://www.palmmedia.de/api/";let _b=null;function pr(){return _b}class WF{}const Tt=new N("");let Uh=(()=>{class e{historyGo(t){throw new Error("")}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=R({token:e,factory:()=>T(QF),providedIn:"platform"})}return e})();const ZF=new N("");let QF=(()=>{class e extends Uh{constructor(){super(),this._doc=T(Tt),this._location=window.location,this._history=window.history}getBaseHrefFromDOM(){return pr().getBaseHref(this._doc)}onPopState(t){const r=pr().getGlobalEventTarget(this._doc,"window");return r.addEventListener("popstate",t,!1),()=>r.removeEventListener("popstate",t)}onHashChange(t){const r=pr().getGlobalEventTarget(this._doc,"window");return r.addEventListener("hashchange",t,!1),()=>r.removeEventListener("hashchange",t)}get href(){return this._location.href}get protocol(){return this._location.protocol}get hostname(){return this._location.hostname}get port(){return this._location.port}get pathname(){return this._location.pathname}get search(){return this._location.search}get hash(){return this._location.hash}set pathname(t){this._location.pathname=t}pushState(t,r,o){this._history.pushState(t,r,o)}replaceState(t,r,o){this._history.replaceState(t,r,o)}forward(){this._history.forward()}back(){this._history.back()}historyGo(t=0){this._history.go(t)}getState(){return this._history.state}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=R({token:e,factory:()=>new e,providedIn:"platform"})}return e})();function Bh(e,n){if(0==e.length)return n;if(0==n.length)return e;let t=0;return e.endsWith("/")&&t++,n.startsWith("/")&&t++,2==t?e+n.substring(1):1==t?e+n:e+"/"+n}function Cb(e){const n=e.match(/#|\?|$/),t=n&&n.index||e.length;return e.slice(0,t-("/"===e[t-1]?1:0))+e.slice(t)}function qn(e){return e&&"?"!==e[0]?"?"+e:e}let qr=(()=>{class e{historyGo(t){throw new Error("")}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=R({token:e,factory:()=>T(wb),providedIn:"root"})}return e})();const Db=new N("");let wb=(()=>{class e extends qr{constructor(t,r){super(),this._platformLocation=t,this._removeListenerFns=[],this._baseHref=r??this._platformLocation.getBaseHrefFromDOM()??T(Tt).location?.origin??""}ngOnDestroy(){for(;this._removeListenerFns.length;)this._removeListenerFns.pop()()}onPopState(t){this._removeListenerFns.push(this._platformLocation.onPopState(t),this._platformLocation.onHashChange(t))}getBaseHref(){return this._baseHref}prepareExternalUrl(t){return Bh(this._baseHref,t)}path(t=!1){const r=this._platformLocation.pathname+qn(this._platformLocation.search),o=this._platformLocation.hash;return o&&t?`${r}${o}`:r}pushState(t,r,o,i){const s=this.prepareExternalUrl(o+qn(i));this._platformLocation.pushState(t,r,s)}replaceState(t,r,o,i){const s=this.prepareExternalUrl(o+qn(i));this._platformLocation.replaceState(t,r,s)}forward(){this._platformLocation.forward()}back(){this._platformLocation.back()}getState(){return this._platformLocation.getState()}historyGo(t=0){this._platformLocation.historyGo?.(t)}static#e=this.\u0275fac=function(r){return new(r||e)(P(Uh),P(Db,8))};static#t=this.\u0275prov=R({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})(),YF=(()=>{class e extends qr{constructor(t,r){super(),this._platformLocation=t,this._baseHref="",this._removeListenerFns=[],null!=r&&(this._baseHref=r)}ngOnDestroy(){for(;this._removeListenerFns.length;)this._removeListenerFns.pop()()}onPopState(t){this._removeListenerFns.push(this._platformLocation.onPopState(t),this._platformLocation.onHashChange(t))}getBaseHref(){return this._baseHref}path(t=!1){const r=this._platformLocation.hash??"#";return r.length>0?r.substring(1):r}prepareExternalUrl(t){const r=Bh(this._baseHref,t);return r.length>0?"#"+r:r}pushState(t,r,o,i){let s=this.prepareExternalUrl(o+qn(i));0==s.length&&(s=this._platformLocation.pathname),this._platformLocation.pushState(t,r,s)}replaceState(t,r,o,i){let s=this.prepareExternalUrl(o+qn(i));0==s.length&&(s=this._platformLocation.pathname),this._platformLocation.replaceState(t,r,s)}forward(){this._platformLocation.forward()}back(){this._platformLocation.back()}getState(){return this._platformLocation.getState()}historyGo(t=0){this._platformLocation.historyGo?.(t)}static#e=this.\u0275fac=function(r){return new(r||e)(P(Uh),P(Db,8))};static#t=this.\u0275prov=R({token:e,factory:e.\u0275fac})}return e})(),Bs=(()=>{class e{constructor(t){this._subject=new Ae,this._urlChangeListeners=[],this._urlChangeSubscription=null,this._locationStrategy=t;const r=this._locationStrategy.getBaseHref();this._basePath=function KF(e){if(new RegExp("^(https?:)?//").test(e)){const[,t]=e.split(/\/\/[^\/]+/);return t}return e}(Cb(bb(r))),this._locationStrategy.onPopState(o=>{this._subject.emit({url:this.path(!0),pop:!0,state:o.state,type:o.type})})}ngOnDestroy(){this._urlChangeSubscription?.unsubscribe(),this._urlChangeListeners=[]}path(t=!1){return this.normalize(this._locationStrategy.path(t))}getState(){return this._locationStrategy.getState()}isCurrentPathEqualTo(t,r=""){return this.path()==this.normalize(t+qn(r))}normalize(t){return e.stripTrailingSlash(function JF(e,n){if(!e||!n.startsWith(e))return n;const t=n.substring(e.length);return""===t||["/",";","?","#"].includes(t[0])?t:n}(this._basePath,bb(t)))}prepareExternalUrl(t){return t&&"/"!==t[0]&&(t="/"+t),this._locationStrategy.prepareExternalUrl(t)}go(t,r="",o=null){this._locationStrategy.pushState(o,"",t,r),this._notifyUrlChangeListeners(this.prepareExternalUrl(t+qn(r)),o)}replaceState(t,r="",o=null){this._locationStrategy.replaceState(o,"",t,r),this._notifyUrlChangeListeners(this.prepareExternalUrl(t+qn(r)),o)}forward(){this._locationStrategy.forward()}back(){this._locationStrategy.back()}historyGo(t=0){this._locationStrategy.historyGo?.(t)}onUrlChange(t){return this._urlChangeListeners.push(t),this._urlChangeSubscription??=this.subscribe(r=>{this._notifyUrlChangeListeners(r.url,r.state)}),()=>{const r=this._urlChangeListeners.indexOf(t);this._urlChangeListeners.splice(r,1),0===this._urlChangeListeners.length&&(this._urlChangeSubscription?.unsubscribe(),this._urlChangeSubscription=null)}}_notifyUrlChangeListeners(t="",r){this._urlChangeListeners.forEach(o=>o(t,r))}subscribe(t,r,o){return this._subject.subscribe({next:t,error:r,complete:o})}static#e=this.normalizeQueryParams=qn;static#t=this.joinWithSlash=Bh;static#n=this.stripTrailingSlash=Cb;static#r=this.\u0275fac=function(r){return new(r||e)(P(qr))};static#o=this.\u0275prov=R({token:e,factory:()=>function XF(){return new Bs(P(qr))}(),providedIn:"root"})}return e})();function bb(e){return e.replace(/\/index.html$/,"")}function Rb(e,n){n=encodeURIComponent(n);for(const t of e.split(";")){const r=t.indexOf("="),[o,i]=-1==r?[t,""]:[t.slice(0,r),t.slice(r+1)];if(o.trim()===n)return decodeURIComponent(i)}return null}const Xh=/\s+/,Ob=[];let Ec=(()=>{class e{constructor(t,r){this._ngEl=t,this._renderer=r,this.initialClasses=Ob,this.stateMap=new Map}set klass(t){this.initialClasses=null!=t?t.trim().split(Xh):Ob}set ngClass(t){this.rawClass="string"==typeof t?t.trim().split(Xh):t}ngDoCheck(){for(const r of this.initialClasses)this._updateState(r,!0);const t=this.rawClass;if(Array.isArray(t)||t instanceof Set)for(const r of t)this._updateState(r,!0);else if(null!=t)for(const r of Object.keys(t))this._updateState(r,!!t[r]);this._applyStateDiff()}_updateState(t,r){const o=this.stateMap.get(t);void 0!==o?(o.enabled!==r&&(o.changed=!0,o.enabled=r),o.touched=!0):this.stateMap.set(t,{enabled:r,changed:!0,touched:!0})}_applyStateDiff(){for(const t of this.stateMap){const r=t[0],o=t[1];o.changed?(this._toggleClass(r,o.enabled),o.changed=!1):o.touched||(o.enabled&&this._toggleClass(r,!1),this.stateMap.delete(r)),o.touched=!1}}_toggleClass(t,r){(t=t.trim()).length>0&&t.split(Xh).forEach(o=>{r?this._renderer.addClass(this._ngEl.nativeElement,o):this._renderer.removeClass(this._ngEl.nativeElement,o)})}static#e=this.\u0275fac=function(r){return new(r||e)(S(Ot),S(Hn))};static#t=this.\u0275dir=H({type:e,selectors:[["","ngClass",""]],inputs:{klass:[Ie.None,"class","klass"],ngClass:"ngClass"},standalone:!0})}return e})();class V2{constructor(n,t,r,o){this.$implicit=n,this.ngForOf=t,this.index=r,this.count=o}get first(){return 0===this.index}get last(){return this.index===this.count-1}get even(){return this.index%2==0}get odd(){return!this.even}}let Jh=(()=>{class e{set ngForOf(t){this._ngForOf=t,this._ngForOfDirty=!0}set ngForTrackBy(t){this._trackByFn=t}get ngForTrackBy(){return this._trackByFn}constructor(t,r,o){this._viewContainer=t,this._template=r,this._differs=o,this._ngForOf=null,this._ngForOfDirty=!0,this._differ=null}set ngForTemplate(t){t&&(this._template=t)}ngDoCheck(){if(this._ngForOfDirty){this._ngForOfDirty=!1;const t=this._ngForOf;!this._differ&&t&&(this._differ=this._differs.find(t).create(this.ngForTrackBy))}if(this._differ){const t=this._differ.diff(this._ngForOf);t&&this._applyChanges(t)}}_applyChanges(t){const r=this._viewContainer;t.forEachOperation((o,i,s)=>{if(null==o.previousIndex)r.createEmbeddedView(this._template,new V2(o.item,this._ngForOf,-1,-1),null===s?void 0:s);else if(null==s)r.remove(null===i?void 0:i);else if(null!==i){const a=r.get(i);r.move(a,s),kb(a,o)}});for(let o=0,i=r.length;o{kb(r.get(o.currentIndex),o)})}static ngTemplateContextGuard(t,r){return!0}static#e=this.\u0275fac=function(r){return new(r||e)(S(tn),S(Bn),S(Nf))};static#t=this.\u0275dir=H({type:e,selectors:[["","ngFor","","ngForOf",""]],inputs:{ngForOf:"ngForOf",ngForTrackBy:"ngForTrackBy",ngForTemplate:"ngForTemplate"},standalone:!0})}return e})();function kb(e,n){e.context.$implicit=n.item}let Kh=(()=>{class e{constructor(t,r){this._viewContainer=t,this._context=new j2,this._thenTemplateRef=null,this._elseTemplateRef=null,this._thenViewRef=null,this._elseViewRef=null,this._thenTemplateRef=r}set ngIf(t){this._context.$implicit=this._context.ngIf=t,this._updateView()}set ngIfThen(t){Fb("ngIfThen",t),this._thenTemplateRef=t,this._thenViewRef=null,this._updateView()}set ngIfElse(t){Fb("ngIfElse",t),this._elseTemplateRef=t,this._elseViewRef=null,this._updateView()}_updateView(){this._context.$implicit?this._thenViewRef||(this._viewContainer.clear(),this._elseViewRef=null,this._thenTemplateRef&&(this._thenViewRef=this._viewContainer.createEmbeddedView(this._thenTemplateRef,this._context))):this._elseViewRef||(this._viewContainer.clear(),this._thenViewRef=null,this._elseTemplateRef&&(this._elseViewRef=this._viewContainer.createEmbeddedView(this._elseTemplateRef,this._context)))}static ngTemplateContextGuard(t,r){return!0}static#e=this.\u0275fac=function(r){return new(r||e)(S(tn),S(Bn))};static#t=this.\u0275dir=H({type:e,selectors:[["","ngIf",""]],inputs:{ngIf:"ngIf",ngIfThen:"ngIfThen",ngIfElse:"ngIfElse"},standalone:!0})}return e})();class j2{constructor(){this.$implicit=null,this.ngIf=null}}function Fb(e,n){if(n&&!n.createEmbeddedView)throw new Error(`${e} must be a TemplateRef, but received '${qe(n)}'.`)}let dL=(()=>{class e{static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275mod=Jn({type:e});static#n=this.\u0275inj=Ln({})}return e})();const jb="browser";function Ub(e){return"server"===e}let mL=(()=>{class e{static#e=this.\u0275prov=R({token:e,providedIn:"root",factory:()=>function gL(e){return e===jb}(T(rr))?new vL(T(Tt),window):new _L})}return e})();class vL{constructor(n,t){this.document=n,this.window=t,this.offset=()=>[0,0]}setOffset(n){this.offset=Array.isArray(n)?()=>n:n}getScrollPosition(){return[this.window.scrollX,this.window.scrollY]}scrollToPosition(n){this.window.scrollTo(n[0],n[1])}scrollToAnchor(n){const t=function yL(e,n){const t=e.getElementById(n)||e.getElementsByName(n)[0];if(t)return t;if("function"==typeof e.createTreeWalker&&e.body&&"function"==typeof e.body.attachShadow){const r=e.createTreeWalker(e.body,NodeFilter.SHOW_ELEMENT);let o=r.currentNode;for(;o;){const i=o.shadowRoot;if(i){const s=i.getElementById(n)||i.querySelector(`[name="${n}"]`);if(s)return s}o=r.nextNode()}}return null}(this.document,n);t&&(this.scrollToElement(t),t.focus())}setHistoryScrollRestoration(n){this.window.history.scrollRestoration=n}scrollToElement(n){const t=n.getBoundingClientRect(),r=t.left+this.window.pageXOffset,o=t.top+this.window.pageYOffset,i=this.offset();this.window.scrollTo(r-i[0],o-i[1])}}class _L{setOffset(n){}getScrollPosition(){return[0,0]}scrollToPosition(n){}scrollToAnchor(n){}setHistoryScrollRestoration(n){}}class Bb{}function gr(e){return this instanceof gr?(this.v=e,this):new gr(e)}function Kb(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t,n=e[Symbol.asyncIterator];return n?n.call(e):(e=function lp(e){var n="function"==typeof Symbol&&Symbol.iterator,t=n&&e[n],r=0;if(t)return t.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(n?"Object is not iterable.":"Symbol.iterator is not defined.")}(e),t={},r("next"),r("throw"),r("return"),t[Symbol.asyncIterator]=function(){return this},t);function r(i){t[i]=e[i]&&function(s){return new Promise(function(a,l){!function o(i,s,a,l){Promise.resolve(l).then(function(c){i({value:c,done:a})},s)}(a,l,(s=e[i](s)).done,s.value)})}}}"function"==typeof SuppressedError&&SuppressedError;const eE=e=>e&&"number"==typeof e.length&&"function"!=typeof e;function tE(e){return Ee(e?.then)}function nE(e){return Ee(e[Su])}function rE(e){return Symbol.asyncIterator&&Ee(e?.[Symbol.asyncIterator])}function oE(e){return new TypeError(`You provided ${null!==e&&"object"==typeof e?"an invalid object":`'${e}'`} where a stream was expected. You can provide an Observable, Promise, ReadableStream, Array, AsyncIterable, or Iterable.`)}const iE=function gV(){return"function"==typeof Symbol&&Symbol.iterator?Symbol.iterator:"@@iterator"}();function sE(e){return Ee(e?.[iE])}function aE(e){return function Jb(e,n,t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var o,r=t.apply(e,n||[]),i=[];return o={},s("next"),s("throw"),s("return"),o[Symbol.asyncIterator]=function(){return this},o;function s(g){r[g]&&(o[g]=function(m){return new Promise(function(v,_){i.push([g,m,v,_])>1||a(g,m)})})}function a(g,m){try{!function l(g){g.value instanceof gr?Promise.resolve(g.value.v).then(c,u):d(i[0][2],g)}(r[g](m))}catch(v){d(i[0][3],v)}}function c(g){a("next",g)}function u(g){a("throw",g)}function d(g,m){g(m),i.shift(),i.length&&a(i[0][0],i[0][1])}}(this,arguments,function*(){const t=e.getReader();try{for(;;){const{value:r,done:o}=yield gr(t.read());if(o)return yield gr(void 0);yield yield gr(r)}}finally{t.releaseLock()}})}function lE(e){return Ee(e?.getReader)}function wn(e){if(e instanceof Be)return e;if(null!=e){if(nE(e))return function mV(e){return new Be(n=>{const t=e[Su]();if(Ee(t.subscribe))return t.subscribe(n);throw new TypeError("Provided object does not correctly implement Symbol.observable")})}(e);if(eE(e))return function vV(e){return new Be(n=>{for(let t=0;t{e.then(t=>{n.closed||(n.next(t),n.complete())},t=>n.error(t)).then(null,Fg)})}(e);if(rE(e))return cE(e);if(sE(e))return function _V(e){return new Be(n=>{for(const t of e)if(n.next(t),n.closed)return;n.complete()})}(e);if(lE(e))return function CV(e){return cE(aE(e))}(e)}throw oE(e)}function cE(e){return new Be(n=>{(function DV(e,n){var t,r,o,i;return function Yb(e,n,t,r){return new(t||(t=Promise))(function(i,s){function a(u){try{c(r.next(u))}catch(d){s(d)}}function l(u){try{c(r.throw(u))}catch(d){s(d)}}function c(u){u.done?i(u.value):function o(i){return i instanceof t?i:new t(function(s){s(i)})}(u.value).then(a,l)}c((r=r.apply(e,n||[])).next())})}(this,void 0,void 0,function*(){try{for(t=Kb(e);!(r=yield t.next()).done;)if(n.next(r.value),n.closed)return}catch(s){o={error:s}}finally{try{r&&!r.done&&(i=t.return)&&(yield i.call(t))}finally{if(o)throw o.error}}n.complete()})})(e,n).catch(t=>n.error(t))})}function Qn(e,n,t,r=0,o=!1){const i=n.schedule(function(){t(),o?e.add(this.schedule(null,r)):this.unsubscribe()},r);if(e.add(i),!o)return i}function uE(e,n=0){return et((t,r)=>{t.subscribe(ze(r,o=>Qn(r,e,()=>r.next(o),n),()=>Qn(r,e,()=>r.complete(),n),o=>Qn(r,e,()=>r.error(o),n)))})}function dE(e,n=0){return et((t,r)=>{r.add(e.schedule(()=>t.subscribe(r),n))})}function fE(e,n){if(!e)throw new Error("Iterable cannot be null");return new Be(t=>{Qn(t,n,()=>{const r=e[Symbol.asyncIterator]();Qn(t,n,()=>{r.next().then(o=>{o.done?t.complete():t.next(o.value)})},0,!0)})})}function Je(e,n){return n?function SV(e,n){if(null!=e){if(nE(e))return function wV(e,n){return wn(e).pipe(dE(n),uE(n))}(e,n);if(eE(e))return function EV(e,n){return new Be(t=>{let r=0;return n.schedule(function(){r===e.length?t.complete():(t.next(e[r++]),t.closed||this.schedule())})})}(e,n);if(tE(e))return function bV(e,n){return wn(e).pipe(dE(n),uE(n))}(e,n);if(rE(e))return fE(e,n);if(sE(e))return function IV(e,n){return new Be(t=>{let r;return Qn(t,n,()=>{r=e[iE](),Qn(t,n,()=>{let o,i;try{({value:o,done:i}=r.next())}catch(s){return void t.error(s)}i?t.complete():t.next(o)},0,!0)}),()=>Ee(r?.return)&&r.return()})}(e,n);if(lE(e))return function MV(e,n){return fE(aE(e),n)}(e,n)}throw oE(e)}(e,n):wn(e)}function cp(e){return e[e.length-1]}function hE(e){return Ee(cp(e))?e.pop():void 0}function Sc(e){return function TV(e){return e&&Ee(e.schedule)}(cp(e))?e.pop():void 0}function B(...e){return Je(e,Sc(e))}const{isArray:AV}=Array,{getPrototypeOf:NV,prototype:xV,keys:RV}=Object;function pE(e){if(1===e.length){const n=e[0];if(AV(n))return{args:n,keys:null};if(function OV(e){return e&&"object"==typeof e&&NV(e)===xV}(n)){const t=RV(n);return{args:t.map(r=>n[r]),keys:t}}}return{args:e,keys:null}}const{isArray:PV}=Array;function gE(e){return K(n=>function kV(e,n){return PV(n)?e(...n):e(n)}(e,n))}function mE(e,n){return e.reduce((t,r,o)=>(t[r]=n[o],t),{})}function up(...e){const n=Sc(e),t=hE(e),{args:r,keys:o}=pE(e);if(0===r.length)return Je([],n);const i=new Be(function FV(e,n,t=Mr){return r=>{vE(n,()=>{const{length:o}=e,i=new Array(o);let s=o,a=o;for(let l=0;l{const c=Je(e[l],n);let u=!1;c.subscribe(ze(r,d=>{i[l]=d,u||(u=!0,a--),a||r.next(t(i.slice()))},()=>{--s||r.complete()}))},r)},r)}}(r,n,o?s=>mE(o,s):Mr));return t?i.pipe(gE(t)):i}function vE(e,n,t){e?Qn(t,e,n):n()}const Tc=yu(e=>function(){e(this),this.name="EmptyError",this.message="no elements in sequence"});function nt(e,n,t=1/0){return Ee(n)?nt((r,o)=>K((i,s)=>n(r,i,o,s))(wn(e(r,o))),t):("number"==typeof n&&(t=n),et((r,o)=>function LV(e,n,t,r,o,i,s,a){const l=[];let c=0,u=0,d=!1;const g=()=>{d&&!l.length&&!c&&n.complete()},m=_=>c{i&&n.next(_),c++;let D=!1;wn(t(_,u++)).subscribe(ze(n,E=>{o?.(E),i?m(E):n.next(E)},()=>{D=!0},void 0,()=>{if(D)try{for(c--;l.length&&cv(E)):v(E)}g()}catch(E){n.error(E)}}))};return e.subscribe(ze(n,m,()=>{d=!0,g()})),()=>{a?.()}}(r,o,e,t)))}function zs(e=1/0){return nt(Mr,e)}function dp(...e){return function VV(){return zs(1)}()(Je(e,Sc(e)))}function yE(e){return new Be(n=>{wn(e()).subscribe(n)})}function Ac(e,n){const t=Ee(e)?e:()=>e,r=o=>o.error(t());return new Be(n?o=>n.schedule(r,0,o):r)}const Yn=new Be(e=>e.complete());function fp(){return et((e,n)=>{let t=null;e._refCount++;const r=ze(n,void 0,void 0,void 0,()=>{if(!e||e._refCount<=0||0<--e._refCount)return void(t=null);const o=e._connection,i=t;t=null,o&&(!i||o===i)&&o.unsubscribe(),n.unsubscribe()});e.subscribe(r),r.closed||(t=e.connect())})}class _E extends Be{constructor(n,t){super(),this.source=n,this.subjectFactory=t,this._subject=null,this._refCount=0,this._connection=null,Ug(n)&&(this.lift=n.lift)}_subscribe(n){return this.getSubject().subscribe(n)}getSubject(){const n=this._subject;return(!n||n.isStopped)&&(this._subject=this.subjectFactory()),this._subject}_teardown(){this._refCount=0;const{_connection:n}=this;this._subject=this._connection=null,n?.unsubscribe()}connect(){let n=this._connection;if(!n){n=this._connection=new yt;const t=this.getSubject();n.add(this.source.subscribe(ze(t,void 0,()=>{this._teardown(),t.complete()},r=>{this._teardown(),t.error(r)},()=>this._teardown()))),n.closed&&(this._connection=null,n=yt.EMPTY)}return n}refCount(){return fp()(this)}}function ln(e,n){return et((t,r)=>{let o=null,i=0,s=!1;const a=()=>s&&!o&&r.complete();t.subscribe(ze(r,l=>{o?.unsubscribe();let c=0;const u=i++;wn(e(l,u)).subscribe(o=ze(r,d=>r.next(n?n(l,d,u,c++):d),()=>{o=null,a()}))},()=>{s=!0,a()}))})}function ai(e){return e<=0?()=>Yn:et((n,t)=>{let r=0;n.subscribe(ze(t,o=>{++r<=e&&(t.next(o),e<=r&&t.complete())}))})}function cn(e,n){return et((t,r)=>{let o=0;t.subscribe(ze(r,i=>e.call(n,i,o++)&&r.next(i)))})}function Nc(e){return et((n,t)=>{let r=!1;n.subscribe(ze(t,o=>{r=!0,t.next(o)},()=>{r||t.next(e),t.complete()}))})}function CE(e=BV){return et((n,t)=>{let r=!1;n.subscribe(ze(t,o=>{r=!0,t.next(o)},()=>r?t.complete():t.error(e())))})}function BV(){return new Tc}function Wr(e,n){const t=arguments.length>=2;return r=>r.pipe(e?cn((o,i)=>e(o,i,r)):Mr,ai(1),t?Nc(n):CE(()=>new Tc))}function li(e,n){return Ee(n)?nt(e,n,1):nt(e,1)}function ut(e,n,t){const r=Ee(e)||n||t?{next:e,error:n,complete:t}:e;return r?et((o,i)=>{var s;null===(s=r.subscribe)||void 0===s||s.call(r);let a=!0;o.subscribe(ze(i,l=>{var c;null===(c=r.next)||void 0===c||c.call(r,l),i.next(l)},()=>{var l;a=!1,null===(l=r.complete)||void 0===l||l.call(r),i.complete()},l=>{var c;a=!1,null===(c=r.error)||void 0===c||c.call(r,l),i.error(l)},()=>{var l,c;a&&(null===(l=r.unsubscribe)||void 0===l||l.call(r)),null===(c=r.finalize)||void 0===c||c.call(r)}))}):Mr}function ci(e){return et((n,t)=>{let i,r=null,o=!1;r=n.subscribe(ze(t,void 0,void 0,s=>{i=wn(e(s,ci(e)(n))),r?(r.unsubscribe(),r=null,i.subscribe(t)):o=!0})),o&&(r.unsubscribe(),r=null,i.subscribe(t))})}function hp(e){return e<=0?()=>Yn:et((n,t)=>{let r=[];n.subscribe(ze(t,o=>{r.push(o),e{for(const o of r)t.next(o);t.complete()},void 0,()=>{r=null}))})}function qs(e){return et((n,t)=>{try{n.subscribe(t)}finally{t.add(e)}})}class WV extends WF{constructor(){super(...arguments),this.supportsDOMEvents=!0}}class pp extends WV{static makeCurrent(){!function qF(e){_b??=e}(new pp)}onAndCancel(n,t,r){return n.addEventListener(t,r),()=>{n.removeEventListener(t,r)}}dispatchEvent(n,t){n.dispatchEvent(t)}remove(n){n.parentNode&&n.parentNode.removeChild(n)}createElement(n,t){return(t=t||this.getDefaultDocument()).createElement(n)}createHtmlDocument(){return document.implementation.createHTMLDocument("fakeTitle")}getDefaultDocument(){return document}isElementNode(n){return n.nodeType===Node.ELEMENT_NODE}isShadowRoot(n){return n instanceof DocumentFragment}getGlobalEventTarget(n,t){return"window"===t?window:"document"===t?n:"body"===t?n.body:null}getBaseHref(n){const t=function ZV(){return Ws=Ws||document.querySelector("base"),Ws?Ws.getAttribute("href"):null}();return null==t?null:function QV(e){return new URL(e,document.baseURI).pathname}(t)}resetBaseElement(){Ws=null}getUserAgent(){return window.navigator.userAgent}getCookie(n){return Rb(document.cookie,n)}}let Ws=null,XV=(()=>{class e{build(){return new XMLHttpRequest}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=R({token:e,factory:e.\u0275fac})}return e})();const gp=new N("");let DE=(()=>{class e{constructor(t,r){this._zone=r,this._eventNameToPlugin=new Map,t.forEach(o=>{o.manager=this}),this._plugins=t.slice().reverse()}addEventListener(t,r,o){return this._findPluginFor(r).addEventListener(t,r,o)}getZone(){return this._zone}_findPluginFor(t){let r=this._eventNameToPlugin.get(t);if(r)return r;if(r=this._plugins.find(i=>i.supports(t)),!r)throw new I(5101,!1);return this._eventNameToPlugin.set(t,r),r}static#e=this.\u0275fac=function(r){return new(r||e)(P(gp),P(se))};static#t=this.\u0275prov=R({token:e,factory:e.\u0275fac})}return e})();class wE{constructor(n){this._doc=n}}const mp="ng-app-id";let bE=(()=>{class e{constructor(t,r,o,i={}){this.doc=t,this.appId=r,this.nonce=o,this.platformId=i,this.styleRef=new Map,this.hostNodes=new Set,this.styleNodesInDOM=this.collectServerRenderedStyles(),this.platformIsServer=Ub(i),this.resetHostNodes()}addStyles(t){for(const r of t)1===this.changeUsageCount(r,1)&&this.onStyleAdded(r)}removeStyles(t){for(const r of t)this.changeUsageCount(r,-1)<=0&&this.onStyleRemoved(r)}ngOnDestroy(){const t=this.styleNodesInDOM;t&&(t.forEach(r=>r.remove()),t.clear());for(const r of this.getAllStyles())this.onStyleRemoved(r);this.resetHostNodes()}addHost(t){this.hostNodes.add(t);for(const r of this.getAllStyles())this.addStyleToHost(t,r)}removeHost(t){this.hostNodes.delete(t)}getAllStyles(){return this.styleRef.keys()}onStyleAdded(t){for(const r of this.hostNodes)this.addStyleToHost(r,t)}onStyleRemoved(t){const r=this.styleRef;r.get(t)?.elements?.forEach(o=>o.remove()),r.delete(t)}collectServerRenderedStyles(){const t=this.doc.head?.querySelectorAll(`style[${mp}="${this.appId}"]`);if(t?.length){const r=new Map;return t.forEach(o=>{null!=o.textContent&&r.set(o.textContent,o)}),r}return null}changeUsageCount(t,r){const o=this.styleRef;if(o.has(t)){const i=o.get(t);return i.usage+=r,i.usage}return o.set(t,{usage:r,elements:[]}),r}getStyleElement(t,r){const o=this.styleNodesInDOM,i=o?.get(r);if(i?.parentNode===t)return o.delete(r),i.removeAttribute(mp),i;{const s=this.doc.createElement("style");return this.nonce&&s.setAttribute("nonce",this.nonce),s.textContent=r,this.platformIsServer&&s.setAttribute(mp,this.appId),t.appendChild(s),s}}addStyleToHost(t,r){const o=this.getStyleElement(t,r),i=this.styleRef,s=i.get(r)?.elements;s?s.push(o):i.set(r,{elements:[o],usage:1})}resetHostNodes(){const t=this.hostNodes;t.clear(),t.add(this.doc.head)}static#e=this.\u0275fac=function(r){return new(r||e)(P(Tt),P(Va),P(km,8),P(rr))};static#t=this.\u0275prov=R({token:e,factory:e.\u0275fac})}return e})();const vp={svg:"http://www.w3.org/2000/svg",xhtml:"http://www.w3.org/1999/xhtml",xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/",math:"http://www.w3.org/1998/MathML/"},yp=/%COMP%/g,t3=new N("",{providedIn:"root",factory:()=>!0});function IE(e,n){return n.map(t=>t.replace(yp,e))}let ME=(()=>{class e{constructor(t,r,o,i,s,a,l,c=null){this.eventManager=t,this.sharedStylesHost=r,this.appId=o,this.removeStylesOnCompDestroy=i,this.doc=s,this.platformId=a,this.ngZone=l,this.nonce=c,this.rendererByCompId=new Map,this.platformIsServer=Ub(a),this.defaultRenderer=new _p(t,s,l,this.platformIsServer)}createRenderer(t,r){if(!t||!r)return this.defaultRenderer;this.platformIsServer&&r.encapsulation===Qt.ShadowDom&&(r={...r,encapsulation:Qt.Emulated});const o=this.getOrCreateRenderer(t,r);return o instanceof TE?o.applyToHost(t):o instanceof Cp&&o.applyStyles(),o}getOrCreateRenderer(t,r){const o=this.rendererByCompId;let i=o.get(r.id);if(!i){const s=this.doc,a=this.ngZone,l=this.eventManager,c=this.sharedStylesHost,u=this.removeStylesOnCompDestroy,d=this.platformIsServer;switch(r.encapsulation){case Qt.Emulated:i=new TE(l,c,r,this.appId,u,s,a,d);break;case Qt.ShadowDom:return new i3(l,c,t,r,s,a,this.nonce,d);default:i=new Cp(l,c,r,u,s,a,d)}o.set(r.id,i)}return i}ngOnDestroy(){this.rendererByCompId.clear()}static#e=this.\u0275fac=function(r){return new(r||e)(P(DE),P(bE),P(Va),P(t3),P(Tt),P(rr),P(se),P(km))};static#t=this.\u0275prov=R({token:e,factory:e.\u0275fac})}return e})();class _p{constructor(n,t,r,o){this.eventManager=n,this.doc=t,this.ngZone=r,this.platformIsServer=o,this.data=Object.create(null),this.throwOnSyntheticProps=!0,this.destroyNode=null}destroy(){}createElement(n,t){return t?this.doc.createElementNS(vp[t]||t,n):this.doc.createElement(n)}createComment(n){return this.doc.createComment(n)}createText(n){return this.doc.createTextNode(n)}appendChild(n,t){(SE(n)?n.content:n).appendChild(t)}insertBefore(n,t,r){n&&(SE(n)?n.content:n).insertBefore(t,r)}removeChild(n,t){n&&n.removeChild(t)}selectRootElement(n,t){let r="string"==typeof n?this.doc.querySelector(n):n;if(!r)throw new I(-5104,!1);return t||(r.textContent=""),r}parentNode(n){return n.parentNode}nextSibling(n){return n.nextSibling}setAttribute(n,t,r,o){if(o){t=o+":"+t;const i=vp[o];i?n.setAttributeNS(i,t,r):n.setAttribute(t,r)}else n.setAttribute(t,r)}removeAttribute(n,t,r){if(r){const o=vp[r];o?n.removeAttributeNS(o,t):n.removeAttribute(`${r}:${t}`)}else n.removeAttribute(t)}addClass(n,t){n.classList.add(t)}removeClass(n,t){n.classList.remove(t)}setStyle(n,t,r,o){o&(lr.DashCase|lr.Important)?n.style.setProperty(t,r,o&lr.Important?"important":""):n.style[t]=r}removeStyle(n,t,r){r&lr.DashCase?n.style.removeProperty(t):n.style[t]=""}setProperty(n,t,r){null!=n&&(n[t]=r)}setValue(n,t){n.nodeValue=t}listen(n,t,r){if("string"==typeof n&&!(n=pr().getGlobalEventTarget(this.doc,n)))throw new Error(`Unsupported event target ${n} for event ${t}`);return this.eventManager.addEventListener(n,t,this.decoratePreventDefault(r))}decoratePreventDefault(n){return t=>{if("__ngUnwrap__"===t)return n;!1===(this.platformIsServer?this.ngZone.runGuarded(()=>n(t)):n(t))&&t.preventDefault()}}}function SE(e){return"TEMPLATE"===e.tagName&&void 0!==e.content}class i3 extends _p{constructor(n,t,r,o,i,s,a,l){super(n,i,s,l),this.sharedStylesHost=t,this.hostEl=r,this.shadowRoot=r.attachShadow({mode:"open"}),this.sharedStylesHost.addHost(this.shadowRoot);const c=IE(o.id,o.styles);for(const u of c){const d=document.createElement("style");a&&d.setAttribute("nonce",a),d.textContent=u,this.shadowRoot.appendChild(d)}}nodeOrShadowRoot(n){return n===this.hostEl?this.shadowRoot:n}appendChild(n,t){return super.appendChild(this.nodeOrShadowRoot(n),t)}insertBefore(n,t,r){return super.insertBefore(this.nodeOrShadowRoot(n),t,r)}removeChild(n,t){return super.removeChild(this.nodeOrShadowRoot(n),t)}parentNode(n){return this.nodeOrShadowRoot(super.parentNode(this.nodeOrShadowRoot(n)))}destroy(){this.sharedStylesHost.removeHost(this.shadowRoot)}}class Cp extends _p{constructor(n,t,r,o,i,s,a,l){super(n,i,s,a),this.sharedStylesHost=t,this.removeStylesOnCompDestroy=o,this.styles=l?IE(l,r.styles):r.styles}applyStyles(){this.sharedStylesHost.addStyles(this.styles)}destroy(){this.removeStylesOnCompDestroy&&this.sharedStylesHost.removeStyles(this.styles)}}class TE extends Cp{constructor(n,t,r,o,i,s,a,l){const c=o+"-"+r.id;super(n,t,r,i,s,a,l,c),this.contentAttr=function n3(e){return"_ngcontent-%COMP%".replace(yp,e)}(c),this.hostAttr=function r3(e){return"_nghost-%COMP%".replace(yp,e)}(c)}applyToHost(n){this.applyStyles(),this.setAttribute(n,this.hostAttr,"")}createElement(n,t){const r=super.createElement(n,t);return super.setAttribute(r,this.contentAttr,""),r}}let s3=(()=>{class e extends wE{constructor(t){super(t)}supports(t){return!0}addEventListener(t,r,o){return t.addEventListener(r,o,!1),()=>this.removeEventListener(t,r,o)}removeEventListener(t,r,o){return t.removeEventListener(r,o)}static#e=this.\u0275fac=function(r){return new(r||e)(P(Tt))};static#t=this.\u0275prov=R({token:e,factory:e.\u0275fac})}return e})();const AE=["alt","control","meta","shift"],a3={"\b":"Backspace","\t":"Tab","\x7f":"Delete","\x1b":"Escape",Del:"Delete",Esc:"Escape",Left:"ArrowLeft",Right:"ArrowRight",Up:"ArrowUp",Down:"ArrowDown",Menu:"ContextMenu",Scroll:"ScrollLock",Win:"OS"},l3={alt:e=>e.altKey,control:e=>e.ctrlKey,meta:e=>e.metaKey,shift:e=>e.shiftKey};let c3=(()=>{class e extends wE{constructor(t){super(t)}supports(t){return null!=e.parseEventName(t)}addEventListener(t,r,o){const i=e.parseEventName(r),s=e.eventCallback(i.fullKey,o,this.manager.getZone());return this.manager.getZone().runOutsideAngular(()=>pr().onAndCancel(t,i.domEventName,s))}static parseEventName(t){const r=t.toLowerCase().split("."),o=r.shift();if(0===r.length||"keydown"!==o&&"keyup"!==o)return null;const i=e._normalizeKey(r.pop());let s="",a=r.indexOf("code");if(a>-1&&(r.splice(a,1),s="code."),AE.forEach(c=>{const u=r.indexOf(c);u>-1&&(r.splice(u,1),s+=c+".")}),s+=i,0!=r.length||0===i.length)return null;const l={};return l.domEventName=o,l.fullKey=s,l}static matchEventFullKeyCode(t,r){let o=a3[t.key]||t.key,i="";return r.indexOf("code.")>-1&&(o=t.code,i="code."),!(null==o||!o)&&(o=o.toLowerCase()," "===o?o="space":"."===o&&(o="dot"),AE.forEach(s=>{s!==o&&(0,l3[s])(t)&&(i+=s+".")}),i+=o,i===r)}static eventCallback(t,r,o){return i=>{e.matchEventFullKeyCode(i,t)&&o.runGuarded(()=>r(i))}}static _normalizeKey(t){return"esc"===t?"escape":t}static#e=this.\u0275fac=function(r){return new(r||e)(P(Tt))};static#t=this.\u0275prov=R({token:e,factory:e.\u0275fac})}return e})();function NE(e){return{appProviders:[...RE,...e?.providers??[]],platformProviders:p3}}const p3=[{provide:rr,useValue:jb},{provide:Pm,useValue:function d3(){pp.makeCurrent()},multi:!0},{provide:Tt,useFactory:function h3(){return function O1(e){ed=e}(document),document},deps:[]}],g3=new N(""),xE=[{provide:rc,useClass:class YV{addToWindow(n){ce.getAngularTestability=(r,o=!0)=>{const i=n.findTestabilityInTree(r,o);if(null==i)throw new I(5103,!1);return i},ce.getAllAngularTestabilities=()=>n.getAllTestabilities(),ce.getAllAngularRootElements=()=>n.getAllRootElements(),ce.frameworkStabilizers||(ce.frameworkStabilizers=[]),ce.frameworkStabilizers.push(r=>{const o=ce.getAllAngularTestabilities();let i=o.length;const s=function(){i--,0==i&&r()};o.forEach(a=>{a.whenStable(s)})})}findTestabilityInTree(n,t,r){return null==t?null:n.getTestability(t)??(r?pr().isShadowRoot(t)?this.findTestabilityInTree(n,t.host,!0):this.findTestabilityInTree(n,t.parentElement,!0):null)}},deps:[]},{provide:kw,useClass:Mh,deps:[se,Sh,rc]},{provide:Mh,useClass:Mh,deps:[se,Sh,rc]}],RE=[{provide:Md,useValue:"root"},{provide:Vn,useFactory:function f3(){return new Vn},deps:[]},{provide:gp,useClass:s3,multi:!0,deps:[Tt,se,rr]},{provide:gp,useClass:c3,multi:!0,deps:[Tt]},ME,bE,DE,{provide:Zy,useExisting:ME},{provide:Bb,useClass:XV,deps:[]},[]];let m3=(()=>{class e{constructor(t){}static withServerTransition(t){return{ngModule:e,providers:[{provide:Va,useValue:t.appId}]}}static#e=this.\u0275fac=function(r){return new(r||e)(P(g3,12))};static#t=this.\u0275mod=Jn({type:e});static#n=this.\u0275inj=Ln({providers:[...RE,...xE],imports:[dL,mF]})}return e})(),v3=(()=>{class e{constructor(t){this._doc=t}getTitle(){return this._doc.title}setTitle(t){this._doc.title=t||""}static#e=this.\u0275fac=function(r){return new(r||e)(P(Tt))};static#t=this.\u0275prov=R({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();const Q="primary",Qs=Symbol("RouteTitle");class D3{constructor(n){this.params=n||{}}has(n){return Object.prototype.hasOwnProperty.call(this.params,n)}get(n){if(this.has(n)){const t=this.params[n];return Array.isArray(t)?t[0]:t}return null}getAll(n){if(this.has(n)){const t=this.params[n];return Array.isArray(t)?t:[t]}return[]}get keys(){return Object.keys(this.params)}}function ui(e){return new D3(e)}function w3(e,n,t){const r=t.path.split("/");if(r.length>e.length||"full"===t.pathMatch&&(n.hasChildren()||r.lengthr[i]===o)}return e===n}function LE(e){return e.length>0?e[e.length-1]:null}function mr(e){return function WL(e){return!!e&&(e instanceof Be||Ee(e.lift)&&Ee(e.subscribe))}(e)?e:Vs(e)?Je(Promise.resolve(e)):B(e)}const E3={exact:function UE(e,n,t){if(!Zr(e.segments,n.segments)||!xc(e.segments,n.segments,t)||e.numberOfChildren!==n.numberOfChildren)return!1;for(const r in n.children)if(!e.children[r]||!UE(e.children[r],n.children[r],t))return!1;return!0},subset:BE},VE={exact:function I3(e,n){return bn(e,n)},subset:function M3(e,n){return Object.keys(n).length<=Object.keys(e).length&&Object.keys(n).every(t=>FE(e[t],n[t]))},ignored:()=>!0};function jE(e,n,t){return E3[t.paths](e.root,n.root,t.matrixParams)&&VE[t.queryParams](e.queryParams,n.queryParams)&&!("exact"===t.fragment&&e.fragment!==n.fragment)}function BE(e,n,t){return HE(e,n,n.segments,t)}function HE(e,n,t,r){if(e.segments.length>t.length){const o=e.segments.slice(0,t.length);return!(!Zr(o,t)||n.hasChildren()||!xc(o,t,r))}if(e.segments.length===t.length){if(!Zr(e.segments,t)||!xc(e.segments,t,r))return!1;for(const o in n.children)if(!e.children[o]||!BE(e.children[o],n.children[o],r))return!1;return!0}{const o=t.slice(0,e.segments.length),i=t.slice(e.segments.length);return!!(Zr(e.segments,o)&&xc(e.segments,o,r)&&e.children[Q])&&HE(e.children[Q],n,i,r)}}function xc(e,n,t){return n.every((r,o)=>VE[t](e[o].parameters,r.parameters))}class di{constructor(n=new ge([],{}),t={},r=null){this.root=n,this.queryParams=t,this.fragment=r}get queryParamMap(){return this._queryParamMap??=ui(this.queryParams),this._queryParamMap}toString(){return A3.serialize(this)}}class ge{constructor(n,t){this.segments=n,this.children=t,this.parent=null,Object.values(t).forEach(r=>r.parent=this)}hasChildren(){return this.numberOfChildren>0}get numberOfChildren(){return Object.keys(this.children).length}toString(){return Rc(this)}}class Ys{constructor(n,t){this.path=n,this.parameters=t}get parameterMap(){return this._parameterMap??=ui(this.parameters),this._parameterMap}toString(){return zE(this)}}function Zr(e,n){return e.length===n.length&&e.every((t,r)=>t.path===n[r].path)}let fi=(()=>{class e{static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=R({token:e,factory:()=>new wp,providedIn:"root"})}return e})();class wp{parse(n){const t=new U3(n);return new di(t.parseRootSegment(),t.parseQueryParams(),t.parseFragment())}serialize(n){const t=`/${Xs(n.root,!0)}`,r=function R3(e){const n=Object.entries(e).map(([t,r])=>Array.isArray(r)?r.map(o=>`${Oc(t)}=${Oc(o)}`).join("&"):`${Oc(t)}=${Oc(r)}`).filter(t=>t);return n.length?`?${n.join("&")}`:""}(n.queryParams);return`${t}${r}${"string"==typeof n.fragment?`#${function N3(e){return encodeURI(e)}(n.fragment)}`:""}`}}const A3=new wp;function Rc(e){return e.segments.map(n=>zE(n)).join("/")}function Xs(e,n){if(!e.hasChildren())return Rc(e);if(n){const t=e.children[Q]?Xs(e.children[Q],!1):"",r=[];return Object.entries(e.children).forEach(([o,i])=>{o!==Q&&r.push(`${o}:${Xs(i,!1)}`)}),r.length>0?`${t}(${r.join("//")})`:t}{const t=function T3(e,n){let t=[];return Object.entries(e.children).forEach(([r,o])=>{r===Q&&(t=t.concat(n(o,r)))}),Object.entries(e.children).forEach(([r,o])=>{r!==Q&&(t=t.concat(n(o,r)))}),t}(e,(r,o)=>o===Q?[Xs(e.children[Q],!1)]:[`${o}:${Xs(r,!1)}`]);return 1===Object.keys(e.children).length&&null!=e.children[Q]?`${Rc(e)}/${t[0]}`:`${Rc(e)}/(${t.join("//")})`}}function $E(e){return encodeURIComponent(e).replace(/%40/g,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",")}function Oc(e){return $E(e).replace(/%3B/gi,";")}function bp(e){return $E(e).replace(/\(/g,"%28").replace(/\)/g,"%29").replace(/%26/gi,"&")}function Pc(e){return decodeURIComponent(e)}function GE(e){return Pc(e.replace(/\+/g,"%20"))}function zE(e){return`${bp(e.path)}${function x3(e){return Object.entries(e).map(([n,t])=>`;${bp(n)}=${bp(t)}`).join("")}(e.parameters)}`}const O3=/^[^\/()?;#]+/;function Ep(e){const n=e.match(O3);return n?n[0]:""}const P3=/^[^\/()?;=#]+/,F3=/^[^=?&#]+/,V3=/^[^&#]+/;class U3{constructor(n){this.url=n,this.remaining=n}parseRootSegment(){return this.consumeOptional("/"),""===this.remaining||this.peekStartsWith("?")||this.peekStartsWith("#")?new ge([],{}):new ge([],this.parseChildren())}parseQueryParams(){const n={};if(this.consumeOptional("?"))do{this.parseQueryParam(n)}while(this.consumeOptional("&"));return n}parseFragment(){return this.consumeOptional("#")?decodeURIComponent(this.remaining):null}parseChildren(){if(""===this.remaining)return{};this.consumeOptional("/");const n=[];for(this.peekStartsWith("(")||n.push(this.parseSegment());this.peekStartsWith("/")&&!this.peekStartsWith("//")&&!this.peekStartsWith("/(");)this.capture("/"),n.push(this.parseSegment());let t={};this.peekStartsWith("/(")&&(this.capture("/"),t=this.parseParens(!0));let r={};return this.peekStartsWith("(")&&(r=this.parseParens(!1)),(n.length>0||Object.keys(t).length>0)&&(r[Q]=new ge(n,t)),r}parseSegment(){const n=Ep(this.remaining);if(""===n&&this.peekStartsWith(";"))throw new I(4009,!1);return this.capture(n),new Ys(Pc(n),this.parseMatrixParams())}parseMatrixParams(){const n={};for(;this.consumeOptional(";");)this.parseParam(n);return n}parseParam(n){const t=function k3(e){const n=e.match(P3);return n?n[0]:""}(this.remaining);if(!t)return;this.capture(t);let r="";if(this.consumeOptional("=")){const o=Ep(this.remaining);o&&(r=o,this.capture(r))}n[Pc(t)]=Pc(r)}parseQueryParam(n){const t=function L3(e){const n=e.match(F3);return n?n[0]:""}(this.remaining);if(!t)return;this.capture(t);let r="";if(this.consumeOptional("=")){const s=function j3(e){const n=e.match(V3);return n?n[0]:""}(this.remaining);s&&(r=s,this.capture(r))}const o=GE(t),i=GE(r);if(n.hasOwnProperty(o)){let s=n[o];Array.isArray(s)||(s=[s],n[o]=s),s.push(i)}else n[o]=i}parseParens(n){const t={};for(this.capture("(");!this.consumeOptional(")")&&this.remaining.length>0;){const r=Ep(this.remaining),o=this.remaining[r.length];if("/"!==o&&")"!==o&&";"!==o)throw new I(4010,!1);let i;r.indexOf(":")>-1?(i=r.slice(0,r.indexOf(":")),this.capture(i),this.capture(":")):n&&(i=Q);const s=this.parseChildren();t[i]=1===Object.keys(s).length?s[Q]:new ge([],s),this.consumeOptional("//")}return t}peekStartsWith(n){return this.remaining.startsWith(n)}consumeOptional(n){return!!this.peekStartsWith(n)&&(this.remaining=this.remaining.substring(n.length),!0)}capture(n){if(!this.consumeOptional(n))throw new I(4011,!1)}}function qE(e){return e.segments.length>0?new ge([],{[Q]:e}):e}function WE(e){const n={};for(const[r,o]of Object.entries(e.children)){const i=WE(o);if(r===Q&&0===i.segments.length&&i.hasChildren())for(const[s,a]of Object.entries(i.children))n[s]=a;else(i.segments.length>0||i.hasChildren())&&(n[r]=i)}return function B3(e){if(1===e.numberOfChildren&&e.children[Q]){const n=e.children[Q];return new ge(e.segments.concat(n.segments),n.children)}return e}(new ge(e.segments,n))}function hi(e){return e instanceof di}function ZE(e){let n;const o=qE(function t(i){const s={};for(const l of i.children){const c=t(l);s[l.outlet]=c}const a=new ge(i.url,s);return i===e&&(n=a),a}(e.root));return n??o}function QE(e,n,t,r){let o=e;for(;o.parent;)o=o.parent;if(0===n.length)return Ip(o,o,o,t,r);const i=function $3(e){if("string"==typeof e[0]&&1===e.length&&"/"===e[0])return new XE(!0,0,e);let n=0,t=!1;const r=e.reduce((o,i,s)=>{if("object"==typeof i&&null!=i){if(i.outlets){const a={};return Object.entries(i.outlets).forEach(([l,c])=>{a[l]="string"==typeof c?c.split("/"):c}),[...o,{outlets:a}]}if(i.segmentPath)return[...o,i.segmentPath]}return"string"!=typeof i?[...o,i]:0===s?(i.split("/").forEach((a,l)=>{0==l&&"."===a||(0==l&&""===a?t=!0:".."===a?n++:""!=a&&o.push(a))}),o):[...o,i]},[]);return new XE(t,n,r)}(n);if(i.toRoot())return Ip(o,o,new ge([],{}),t,r);const s=function G3(e,n,t){if(e.isAbsolute)return new Fc(n,!0,0);if(!t)return new Fc(n,!1,NaN);if(null===t.parent)return new Fc(t,!0,0);const r=kc(e.commands[0])?0:1;return function z3(e,n,t){let r=e,o=n,i=t;for(;i>o;){if(i-=o,r=r.parent,!r)throw new I(4005,!1);o=r.segments.length}return new Fc(r,!1,o-i)}(t,t.segments.length-1+r,e.numberOfDoubleDots)}(i,o,e),a=s.processChildren?Ks(s.segmentGroup,s.index,i.commands):JE(s.segmentGroup,s.index,i.commands);return Ip(o,s.segmentGroup,a,t,r)}function kc(e){return"object"==typeof e&&null!=e&&!e.outlets&&!e.segmentPath}function Js(e){return"object"==typeof e&&null!=e&&e.outlets}function Ip(e,n,t,r,o){let s,i={};r&&Object.entries(r).forEach(([l,c])=>{i[l]=Array.isArray(c)?c.map(u=>`${u}`):`${c}`}),s=e===n?t:YE(e,n,t);const a=qE(WE(s));return new di(a,i,o)}function YE(e,n,t){const r={};return Object.entries(e.children).forEach(([o,i])=>{r[o]=i===n?t:YE(i,n,t)}),new ge(e.segments,r)}class XE{constructor(n,t,r){if(this.isAbsolute=n,this.numberOfDoubleDots=t,this.commands=r,n&&r.length>0&&kc(r[0]))throw new I(4003,!1);const o=r.find(Js);if(o&&o!==LE(r))throw new I(4004,!1)}toRoot(){return this.isAbsolute&&1===this.commands.length&&"/"==this.commands[0]}}class Fc{constructor(n,t,r){this.segmentGroup=n,this.processChildren=t,this.index=r}}function JE(e,n,t){if(e??=new ge([],{}),0===e.segments.length&&e.hasChildren())return Ks(e,n,t);const r=function W3(e,n,t){let r=0,o=n;const i={match:!1,pathIndex:0,commandIndex:0};for(;o=t.length)return i;const s=e.segments[o],a=t[r];if(Js(a))break;const l=`${a}`,c=r0&&void 0===l)break;if(l&&c&&"object"==typeof c&&void 0===c.outlets){if(!eI(l,c,s))return i;r+=2}else{if(!eI(l,{},s))return i;r++}o++}return{match:!0,pathIndex:o,commandIndex:r}}(e,n,t),o=t.slice(r.commandIndex);if(r.match&&r.pathIndexi!==Q)&&e.children[Q]&&1===e.numberOfChildren&&0===e.children[Q].segments.length){const i=Ks(e.children[Q],n,t);return new ge(e.segments,i.children)}return Object.entries(r).forEach(([i,s])=>{"string"==typeof s&&(s=[s]),null!==s&&(o[i]=JE(e.children[i],n,s))}),Object.entries(e.children).forEach(([i,s])=>{void 0===r[i]&&(o[i]=s)}),new ge(e.segments,o)}}function Mp(e,n,t){const r=e.segments.slice(0,n);let o=0;for(;o{"string"==typeof r&&(r=[r]),null!==r&&(n[t]=Mp(new ge([],{}),0,r))}),n}function KE(e){const n={};return Object.entries(e).forEach(([t,r])=>n[t]=`${r}`),n}function eI(e,n,t){return e==t.path&&bn(n,t.parameters)}const ea="imperative";var te=function(e){return e[e.NavigationStart=0]="NavigationStart",e[e.NavigationEnd=1]="NavigationEnd",e[e.NavigationCancel=2]="NavigationCancel",e[e.NavigationError=3]="NavigationError",e[e.RoutesRecognized=4]="RoutesRecognized",e[e.ResolveStart=5]="ResolveStart",e[e.ResolveEnd=6]="ResolveEnd",e[e.GuardsCheckStart=7]="GuardsCheckStart",e[e.GuardsCheckEnd=8]="GuardsCheckEnd",e[e.RouteConfigLoadStart=9]="RouteConfigLoadStart",e[e.RouteConfigLoadEnd=10]="RouteConfigLoadEnd",e[e.ChildActivationStart=11]="ChildActivationStart",e[e.ChildActivationEnd=12]="ChildActivationEnd",e[e.ActivationStart=13]="ActivationStart",e[e.ActivationEnd=14]="ActivationEnd",e[e.Scroll=15]="Scroll",e[e.NavigationSkipped=16]="NavigationSkipped",e}(te||{});class En{constructor(n,t){this.id=n,this.url=t}}class Lc extends En{constructor(n,t,r="imperative",o=null){super(n,t),this.type=te.NavigationStart,this.navigationTrigger=r,this.restoredState=o}toString(){return`NavigationStart(id: ${this.id}, url: '${this.url}')`}}class In extends En{constructor(n,t,r){super(n,t),this.urlAfterRedirects=r,this.type=te.NavigationEnd}toString(){return`NavigationEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}')`}}var zt=function(e){return e[e.Redirect=0]="Redirect",e[e.SupersededByNewNavigation=1]="SupersededByNewNavigation",e[e.NoDataFromResolver=2]="NoDataFromResolver",e[e.GuardRejected=3]="GuardRejected",e}(zt||{}),Vc=function(e){return e[e.IgnoredSameUrlNavigation=0]="IgnoredSameUrlNavigation",e[e.IgnoredByUrlHandlingStrategy=1]="IgnoredByUrlHandlingStrategy",e}(Vc||{});class pi extends En{constructor(n,t,r,o){super(n,t),this.reason=r,this.code=o,this.type=te.NavigationCancel}toString(){return`NavigationCancel(id: ${this.id}, url: '${this.url}')`}}class gi extends En{constructor(n,t,r,o){super(n,t),this.reason=r,this.code=o,this.type=te.NavigationSkipped}}class jc extends En{constructor(n,t,r,o){super(n,t),this.error=r,this.target=o,this.type=te.NavigationError}toString(){return`NavigationError(id: ${this.id}, url: '${this.url}', error: ${this.error})`}}class tI extends En{constructor(n,t,r,o){super(n,t),this.urlAfterRedirects=r,this.state=o,this.type=te.RoutesRecognized}toString(){return`RoutesRecognized(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class Q3 extends En{constructor(n,t,r,o){super(n,t),this.urlAfterRedirects=r,this.state=o,this.type=te.GuardsCheckStart}toString(){return`GuardsCheckStart(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class Y3 extends En{constructor(n,t,r,o,i){super(n,t),this.urlAfterRedirects=r,this.state=o,this.shouldActivate=i,this.type=te.GuardsCheckEnd}toString(){return`GuardsCheckEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state}, shouldActivate: ${this.shouldActivate})`}}class X3 extends En{constructor(n,t,r,o){super(n,t),this.urlAfterRedirects=r,this.state=o,this.type=te.ResolveStart}toString(){return`ResolveStart(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class J3 extends En{constructor(n,t,r,o){super(n,t),this.urlAfterRedirects=r,this.state=o,this.type=te.ResolveEnd}toString(){return`ResolveEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class K3{constructor(n){this.route=n,this.type=te.RouteConfigLoadStart}toString(){return`RouteConfigLoadStart(path: ${this.route.path})`}}class ej{constructor(n){this.route=n,this.type=te.RouteConfigLoadEnd}toString(){return`RouteConfigLoadEnd(path: ${this.route.path})`}}class tj{constructor(n){this.snapshot=n,this.type=te.ChildActivationStart}toString(){return`ChildActivationStart(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class nj{constructor(n){this.snapshot=n,this.type=te.ChildActivationEnd}toString(){return`ChildActivationEnd(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class rj{constructor(n){this.snapshot=n,this.type=te.ActivationStart}toString(){return`ActivationStart(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class oj{constructor(n){this.snapshot=n,this.type=te.ActivationEnd}toString(){return`ActivationEnd(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class nI{constructor(n,t,r){this.routerEvent=n,this.position=t,this.anchor=r,this.type=te.Scroll}toString(){return`Scroll(anchor: '${this.anchor}', position: '${this.position?`${this.position[0]}, ${this.position[1]}`:null}')`}}class Sp{}class Tp{constructor(n){this.url=n}}class ij{constructor(){this.outlet=null,this.route=null,this.injector=null,this.children=new ta,this.attachRef=null}}let ta=(()=>{class e{constructor(){this.contexts=new Map}onChildOutletCreated(t,r){const o=this.getOrCreateContext(t);o.outlet=r,this.contexts.set(t,o)}onChildOutletDestroyed(t){const r=this.getContext(t);r&&(r.outlet=null,r.attachRef=null)}onOutletDeactivated(){const t=this.contexts;return this.contexts=new Map,t}onOutletReAttached(t){this.contexts=t}getOrCreateContext(t){let r=this.getContext(t);return r||(r=new ij,this.contexts.set(t,r)),r}getContext(t){return this.contexts.get(t)||null}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=R({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();class rI{constructor(n){this._root=n}get root(){return this._root.value}parent(n){const t=this.pathFromRoot(n);return t.length>1?t[t.length-2]:null}children(n){const t=Ap(n,this._root);return t?t.children.map(r=>r.value):[]}firstChild(n){const t=Ap(n,this._root);return t&&t.children.length>0?t.children[0].value:null}siblings(n){const t=Np(n,this._root);return t.length<2?[]:t[t.length-2].children.map(o=>o.value).filter(o=>o!==n)}pathFromRoot(n){return Np(n,this._root).map(t=>t.value)}}function Ap(e,n){if(e===n.value)return n;for(const t of n.children){const r=Ap(e,t);if(r)return r}return null}function Np(e,n){if(e===n.value)return[n];for(const t of n.children){const r=Np(e,t);if(r.length)return r.unshift(n),r}return[]}class un{constructor(n,t){this.value=n,this.children=t}toString(){return`TreeNode(${this.value})`}}function mi(e){const n={};return e&&e.children.forEach(t=>n[t.value.outlet]=t),n}class oI extends rI{constructor(n,t){super(n),this.snapshot=t,Op(this,n)}toString(){return this.snapshot.toString()}}function iI(e){const n=function sj(e){const i=new Rp([],{},{},"",{},Q,e,null,{});return new sI("",new un(i,[]))}(e),t=new jt([new Ys("",{})]),r=new jt({}),o=new jt({}),i=new jt({}),s=new jt(""),a=new Qr(t,r,i,s,o,Q,e,n.root);return a.snapshot=n.root,new oI(new un(a,[]),n)}class Qr{constructor(n,t,r,o,i,s,a,l){this.urlSubject=n,this.paramsSubject=t,this.queryParamsSubject=r,this.fragmentSubject=o,this.dataSubject=i,this.outlet=s,this.component=a,this._futureSnapshot=l,this.title=this.dataSubject?.pipe(K(c=>c[Qs]))??B(void 0),this.url=n,this.params=t,this.queryParams=r,this.fragment=o,this.data=i}get routeConfig(){return this._futureSnapshot.routeConfig}get root(){return this._routerState.root}get parent(){return this._routerState.parent(this)}get firstChild(){return this._routerState.firstChild(this)}get children(){return this._routerState.children(this)}get pathFromRoot(){return this._routerState.pathFromRoot(this)}get paramMap(){return this._paramMap??=this.params.pipe(K(n=>ui(n))),this._paramMap}get queryParamMap(){return this._queryParamMap??=this.queryParams.pipe(K(n=>ui(n))),this._queryParamMap}toString(){return this.snapshot?this.snapshot.toString():`Future(${this._futureSnapshot})`}}function xp(e,n,t="emptyOnly"){let r;const{routeConfig:o}=e;return r=null===n||"always"!==t&&""!==o?.path&&(n.component||n.routeConfig?.loadComponent)?{params:{...e.params},data:{...e.data},resolve:{...e.data,...e._resolvedData??{}}}:{params:{...n.params,...e.params},data:{...n.data,...e.data},resolve:{...e.data,...n.data,...o?.data,...e._resolvedData}},o&&lI(o)&&(r.resolve[Qs]=o.title),r}class Rp{get title(){return this.data?.[Qs]}constructor(n,t,r,o,i,s,a,l,c){this.url=n,this.params=t,this.queryParams=r,this.fragment=o,this.data=i,this.outlet=s,this.component=a,this.routeConfig=l,this._resolve=c}get root(){return this._routerState.root}get parent(){return this._routerState.parent(this)}get firstChild(){return this._routerState.firstChild(this)}get children(){return this._routerState.children(this)}get pathFromRoot(){return this._routerState.pathFromRoot(this)}get paramMap(){return this._paramMap??=ui(this.params),this._paramMap}get queryParamMap(){return this._queryParamMap??=ui(this.queryParams),this._queryParamMap}toString(){return`Route(url:'${this.url.map(r=>r.toString()).join("/")}', path:'${this.routeConfig?this.routeConfig.path:""}')`}}class sI extends rI{constructor(n,t){super(t),this.url=n,Op(this,t)}toString(){return aI(this._root)}}function Op(e,n){n.value._routerState=e,n.children.forEach(t=>Op(e,t))}function aI(e){const n=e.children.length>0?` { ${e.children.map(aI).join(", ")} } `:"";return`${e.value}${n}`}function Pp(e){if(e.snapshot){const n=e.snapshot,t=e._futureSnapshot;e.snapshot=t,bn(n.queryParams,t.queryParams)||e.queryParamsSubject.next(t.queryParams),n.fragment!==t.fragment&&e.fragmentSubject.next(t.fragment),bn(n.params,t.params)||e.paramsSubject.next(t.params),function b3(e,n){if(e.length!==n.length)return!1;for(let t=0;tbn(t.parameters,n[r].parameters))}(e.url,n.url);return t&&!(!e.parent!=!n.parent)&&(!e.parent||kp(e.parent,n.parent))}function lI(e){return"string"==typeof e.title||null===e.title}let Fp=(()=>{class e{constructor(){this.activated=null,this._activatedRoute=null,this.name=Q,this.activateEvents=new Ae,this.deactivateEvents=new Ae,this.attachEvents=new Ae,this.detachEvents=new Ae,this.parentContexts=T(ta),this.location=T(tn),this.changeDetector=T(ms),this.environmentInjector=T(kt),this.inputBinder=T(Uc,{optional:!0}),this.supportsBindingToComponentInputs=!0}get activatedComponentRef(){return this.activated}ngOnChanges(t){if(t.name){const{firstChange:r,previousValue:o}=t.name;if(r)return;this.isTrackedInParentContexts(o)&&(this.deactivate(),this.parentContexts.onChildOutletDestroyed(o)),this.initializeOutletWithName()}}ngOnDestroy(){this.isTrackedInParentContexts(this.name)&&this.parentContexts.onChildOutletDestroyed(this.name),this.inputBinder?.unsubscribeFromRouteData(this)}isTrackedInParentContexts(t){return this.parentContexts.getContext(t)?.outlet===this}ngOnInit(){this.initializeOutletWithName()}initializeOutletWithName(){if(this.parentContexts.onChildOutletCreated(this.name,this),this.activated)return;const t=this.parentContexts.getContext(this.name);t?.route&&(t.attachRef?this.attach(t.attachRef,t.route):this.activateWith(t.route,t.injector))}get isActivated(){return!!this.activated}get component(){if(!this.activated)throw new I(4012,!1);return this.activated.instance}get activatedRoute(){if(!this.activated)throw new I(4012,!1);return this._activatedRoute}get activatedRouteData(){return this._activatedRoute?this._activatedRoute.snapshot.data:{}}detach(){if(!this.activated)throw new I(4012,!1);this.location.detach();const t=this.activated;return this.activated=null,this._activatedRoute=null,this.detachEvents.emit(t.instance),t}attach(t,r){this.activated=t,this._activatedRoute=r,this.location.insert(t.hostView),this.inputBinder?.bindActivatedRouteToOutletComponent(this),this.attachEvents.emit(t.instance)}deactivate(){if(this.activated){const t=this.component;this.activated.destroy(),this.activated=null,this._activatedRoute=null,this.deactivateEvents.emit(t)}}activateWith(t,r){if(this.isActivated)throw new I(4013,!1);this._activatedRoute=t;const o=this.location,s=t.snapshot.component,a=this.parentContexts.getOrCreateContext(this.name).children,l=new aj(t,a,o.injector);this.activated=o.createComponent(s,{index:o.length,injector:l,environmentInjector:r??this.environmentInjector}),this.changeDetector.markForCheck(),this.inputBinder?.bindActivatedRouteToOutletComponent(this),this.activateEvents.emit(this.activated.instance)}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275dir=H({type:e,selectors:[["router-outlet"]],inputs:{name:"name"},outputs:{activateEvents:"activate",deactivateEvents:"deactivate",attachEvents:"attach",detachEvents:"detach"},exportAs:["outlet"],standalone:!0,features:[Ut]})}return e})();class aj{constructor(n,t,r){this.route=n,this.childContexts=t,this.parent=r}get(n,t){return n===Qr?this.route:n===ta?this.childContexts:this.parent.get(n,t)}}const Uc=new N("");let cI=(()=>{class e{constructor(){this.outletDataSubscriptions=new Map}bindActivatedRouteToOutletComponent(t){this.unsubscribeFromRouteData(t),this.subscribeToRouteData(t)}unsubscribeFromRouteData(t){this.outletDataSubscriptions.get(t)?.unsubscribe(),this.outletDataSubscriptions.delete(t)}subscribeToRouteData(t){const{activatedRoute:r}=t,o=up([r.queryParams,r.params,r.data]).pipe(ln(([i,s,a],l)=>(a={...i,...s,...a},0===l?B(a):Promise.resolve(a)))).subscribe(i=>{if(!t.isActivated||!t.activatedComponentRef||t.activatedRoute!==r||null===r.component)return void this.unsubscribeFromRouteData(t);const s=function zF(e){const n=Y(e);if(!n)return null;const t=new Cs(n);return{get selector(){return t.selector},get type(){return t.componentType},get inputs(){return t.inputs},get outputs(){return t.outputs},get ngContentSelectors(){return t.ngContentSelectors},get isStandalone(){return n.standalone},get isSignal(){return n.signals}}}(r.component);if(s)for(const{templateName:a}of s.inputs)t.activatedComponentRef.setInput(a,i[a]);else this.unsubscribeFromRouteData(t)});this.outletDataSubscriptions.set(t,o)}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=R({token:e,factory:e.\u0275fac})}return e})();function na(e,n,t){if(t&&e.shouldReuseRoute(n.value,t.value.snapshot)){const r=t.value;r._futureSnapshot=n.value;const o=function cj(e,n,t){return n.children.map(r=>{for(const o of t.children)if(e.shouldReuseRoute(r.value,o.value.snapshot))return na(e,r,o);return na(e,r)})}(e,n,t);return new un(r,o)}{if(e.shouldAttach(n.value)){const i=e.retrieve(n.value);if(null!==i){const s=i.route;return s.value._futureSnapshot=n.value,s.children=n.children.map(a=>na(e,a)),s}}const r=function uj(e){return new Qr(new jt(e.url),new jt(e.params),new jt(e.queryParams),new jt(e.fragment),new jt(e.data),e.outlet,e.component,e)}(n.value),o=n.children.map(i=>na(e,i));return new un(r,o)}}const uI="ngNavigationCancelingError";function dI(e,n){const{redirectTo:t,navigationBehaviorOptions:r}=hi(n)?{redirectTo:n,navigationBehaviorOptions:void 0}:n,o=fI(!1,zt.Redirect);return o.url=t,o.navigationBehaviorOptions=r,o}function fI(e,n){const t=new Error(`NavigationCancelingError: ${e||""}`);return t[uI]=!0,t.cancellationCode=n,t}function hI(e){return!!e&&e[uI]}let pI=(()=>{class e{static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275cmp=xt({type:e,selectors:[["ng-component"]],standalone:!0,features:[Lt],decls:1,vars:0,template:function(r,o){1&r&&y(0,"router-outlet")},dependencies:[Fp],encapsulation:2})}return e})();function Lp(e){const n=e.children&&e.children.map(Lp),t=n?{...e,children:n}:{...e};return!t.component&&!t.loadComponent&&(n||t.loadChildren)&&t.outlet&&t.outlet!==Q&&(t.component=pI),t}function Mn(e){return e.outlet||Q}function ra(e){if(!e)return null;if(e.routeConfig?._injector)return e.routeConfig._injector;for(let n=e.parent;n;n=n.parent){const t=n.routeConfig;if(t?._loadedInjector)return t._loadedInjector;if(t?._injector)return t._injector}return null}class yj{constructor(n,t,r,o,i){this.routeReuseStrategy=n,this.futureState=t,this.currState=r,this.forwardEvent=o,this.inputBindingEnabled=i}activate(n){const t=this.futureState._root,r=this.currState?this.currState._root:null;this.deactivateChildRoutes(t,r,n),Pp(this.futureState.root),this.activateChildRoutes(t,r,n)}deactivateChildRoutes(n,t,r){const o=mi(t);n.children.forEach(i=>{const s=i.value.outlet;this.deactivateRoutes(i,o[s],r),delete o[s]}),Object.values(o).forEach(i=>{this.deactivateRouteAndItsChildren(i,r)})}deactivateRoutes(n,t,r){const o=n.value,i=t?t.value:null;if(o===i)if(o.component){const s=r.getContext(o.outlet);s&&this.deactivateChildRoutes(n,t,s.children)}else this.deactivateChildRoutes(n,t,r);else i&&this.deactivateRouteAndItsChildren(t,r)}deactivateRouteAndItsChildren(n,t){n.value.component&&this.routeReuseStrategy.shouldDetach(n.value.snapshot)?this.detachAndStoreRouteSubtree(n,t):this.deactivateRouteAndOutlet(n,t)}detachAndStoreRouteSubtree(n,t){const r=t.getContext(n.value.outlet),o=r&&n.value.component?r.children:t,i=mi(n);for(const s of Object.values(i))this.deactivateRouteAndItsChildren(s,o);if(r&&r.outlet){const s=r.outlet.detach(),a=r.children.onOutletDeactivated();this.routeReuseStrategy.store(n.value.snapshot,{componentRef:s,route:n,contexts:a})}}deactivateRouteAndOutlet(n,t){const r=t.getContext(n.value.outlet),o=r&&n.value.component?r.children:t,i=mi(n);for(const s of Object.values(i))this.deactivateRouteAndItsChildren(s,o);r&&(r.outlet&&(r.outlet.deactivate(),r.children.onOutletDeactivated()),r.attachRef=null,r.route=null)}activateChildRoutes(n,t,r){const o=mi(t);n.children.forEach(i=>{this.activateRoutes(i,o[i.value.outlet],r),this.forwardEvent(new oj(i.value.snapshot))}),n.children.length&&this.forwardEvent(new nj(n.value.snapshot))}activateRoutes(n,t,r){const o=n.value,i=t?t.value:null;if(Pp(o),o===i)if(o.component){const s=r.getOrCreateContext(o.outlet);this.activateChildRoutes(n,t,s.children)}else this.activateChildRoutes(n,t,r);else if(o.component){const s=r.getOrCreateContext(o.outlet);if(this.routeReuseStrategy.shouldAttach(o.snapshot)){const a=this.routeReuseStrategy.retrieve(o.snapshot);this.routeReuseStrategy.store(o.snapshot,null),s.children.onOutletReAttached(a.contexts),s.attachRef=a.componentRef,s.route=a.route.value,s.outlet&&s.outlet.attach(a.componentRef,a.route.value),Pp(a.route.value),this.activateChildRoutes(n,null,s.children)}else{const a=ra(o.snapshot);s.attachRef=null,s.route=o,s.injector=a,s.outlet&&s.outlet.activateWith(o,s.injector),this.activateChildRoutes(n,null,s.children)}}else this.activateChildRoutes(n,null,r)}}class gI{constructor(n){this.path=n,this.route=this.path[this.path.length-1]}}class Bc{constructor(n,t){this.component=n,this.route=t}}function _j(e,n,t){const r=e._root;return oa(r,n?n._root:null,t,[r.value])}function vi(e,n){const t=Symbol(),r=n.get(e,t);return r===t?"function"!=typeof e||function P1(e){return null!==ka(e)}(e)?n.get(e):e:r}function oa(e,n,t,r,o={canDeactivateChecks:[],canActivateChecks:[]}){const i=mi(n);return e.children.forEach(s=>{(function Dj(e,n,t,r,o={canDeactivateChecks:[],canActivateChecks:[]}){const i=e.value,s=n?n.value:null,a=t?t.getContext(e.value.outlet):null;if(s&&i.routeConfig===s.routeConfig){const l=function wj(e,n,t){if("function"==typeof t)return t(e,n);switch(t){case"pathParamsChange":return!Zr(e.url,n.url);case"pathParamsOrQueryParamsChange":return!Zr(e.url,n.url)||!bn(e.queryParams,n.queryParams);case"always":return!0;case"paramsOrQueryParamsChange":return!kp(e,n)||!bn(e.queryParams,n.queryParams);default:return!kp(e,n)}}(s,i,i.routeConfig.runGuardsAndResolvers);l?o.canActivateChecks.push(new gI(r)):(i.data=s.data,i._resolvedData=s._resolvedData),oa(e,n,i.component?a?a.children:null:t,r,o),l&&a&&a.outlet&&a.outlet.isActivated&&o.canDeactivateChecks.push(new Bc(a.outlet.component,s))}else s&&ia(n,a,o),o.canActivateChecks.push(new gI(r)),oa(e,null,i.component?a?a.children:null:t,r,o)})(s,i[s.value.outlet],t,r.concat([s.value]),o),delete i[s.value.outlet]}),Object.entries(i).forEach(([s,a])=>ia(a,t.getContext(s),o)),o}function ia(e,n,t){const r=mi(e),o=e.value;Object.entries(r).forEach(([i,s])=>{ia(s,o.component?n?n.children.getContext(i):null:n,t)}),t.canDeactivateChecks.push(new Bc(o.component&&n&&n.outlet&&n.outlet.isActivated?n.outlet.component:null,o))}function sa(e){return"function"==typeof e}function mI(e){return e instanceof Tc||"EmptyError"===e?.name}const Hc=Symbol("INITIAL_VALUE");function yi(){return ln(e=>up(e.map(n=>n.pipe(ai(1),function UV(...e){const n=Sc(e);return et((t,r)=>{(n?dp(e,t,n):dp(e,t)).subscribe(r)})}(Hc)))).pipe(K(n=>{for(const t of n)if(!0!==t){if(t===Hc)return Hc;if(!1===t||t instanceof di)return t}return!0}),cn(n=>n!==Hc),ai(1)))}function vI(e){return function R0(...e){return Lg(e)}(ut(n=>{if(hi(n))throw dI(0,n)}),K(n=>!0===n))}class Vp{constructor(n){this.segmentGroup=n||null}}class jp extends Error{constructor(n){super(),this.urlTree=n}}function _i(e){return Ac(new Vp(e))}class Bj{constructor(n,t){this.urlSerializer=n,this.urlTree=t}lineralizeSegments(n,t){let r=[],o=t.root;for(;;){if(r=r.concat(o.segments),0===o.numberOfChildren)return B(r);if(o.numberOfChildren>1||!o.children[Q])return Ac(new I(4e3,!1));o=o.children[Q]}}applyRedirectCommands(n,t,r){const o=this.applyRedirectCreateUrlTree(t,this.urlSerializer.parse(t),n,r);if(t.startsWith("/"))throw new jp(o);return o}applyRedirectCreateUrlTree(n,t,r,o){const i=this.createSegmentGroup(n,t.root,r,o);return new di(i,this.createQueryParams(t.queryParams,this.urlTree.queryParams),t.fragment)}createQueryParams(n,t){const r={};return Object.entries(n).forEach(([o,i])=>{if("string"==typeof i&&i.startsWith(":")){const a=i.substring(1);r[o]=t[a]}else r[o]=i}),r}createSegmentGroup(n,t,r,o){const i=this.createSegments(n,t.segments,r,o);let s={};return Object.entries(t.children).forEach(([a,l])=>{s[a]=this.createSegmentGroup(n,l,r,o)}),new ge(i,s)}createSegments(n,t,r,o){return t.map(i=>i.path.startsWith(":")?this.findPosParam(n,i,o):this.findOrReturn(i,r))}findPosParam(n,t,r){const o=r[t.path.substring(1)];if(!o)throw new I(4001,!1);return o}findOrReturn(n,t){let r=0;for(const o of t){if(o.path===n.path)return t.splice(r),o;r++}return n}}const Up={matched:!1,consumedSegments:[],remainingSegments:[],parameters:{},positionalParamSegments:{}};function Hj(e,n,t,r,o){const i=Bp(e,n,t);return i.matched?(r=function fj(e,n){return e.providers&&!e._injector&&(e._injector=Wf(e.providers,n,`Route: ${e.path}`)),e._injector??n}(n,r),function Vj(e,n,t,r){const o=n.canMatch;return o&&0!==o.length?B(o.map(s=>{const a=vi(s,e);return mr(function Tj(e){return e&&sa(e.canMatch)}(a)?a.canMatch(n,t):ir(e,()=>a(n,t)))})).pipe(yi(),vI()):B(!0)}(r,n,t).pipe(K(s=>!0===s?i:{...Up}))):B(i)}function Bp(e,n,t){if("**"===n.path)return function $j(e){return{matched:!0,parameters:e.length>0?LE(e).parameters:{},consumedSegments:e,remainingSegments:[],positionalParamSegments:{}}}(t);if(""===n.path)return"full"===n.pathMatch&&(e.hasChildren()||t.length>0)?{...Up}:{matched:!0,consumedSegments:[],remainingSegments:t,parameters:{},positionalParamSegments:{}};const o=(n.matcher||w3)(t,e,n);if(!o)return{...Up};const i={};Object.entries(o.posParams??{}).forEach(([a,l])=>{i[a]=l.path});const s=o.consumed.length>0?{...i,...o.consumed[o.consumed.length-1].parameters}:i;return{matched:!0,consumedSegments:o.consumed,remainingSegments:t.slice(o.consumed.length),parameters:s,positionalParamSegments:o.posParams??{}}}function yI(e,n,t,r){return t.length>0&&function qj(e,n,t){return t.some(r=>$c(e,n,r)&&Mn(r)!==Q)}(e,t,r)?{segmentGroup:new ge(n,zj(r,new ge(t,e.children))),slicedSegments:[]}:0===t.length&&function Wj(e,n,t){return t.some(r=>$c(e,n,r))}(e,t,r)?{segmentGroup:new ge(e.segments,Gj(e,t,r,e.children)),slicedSegments:t}:{segmentGroup:new ge(e.segments,e.children),slicedSegments:t}}function Gj(e,n,t,r){const o={};for(const i of t)if($c(e,n,i)&&!r[Mn(i)]){const s=new ge([],{});o[Mn(i)]=s}return{...r,...o}}function zj(e,n){const t={};t[Q]=n;for(const r of e)if(""===r.path&&Mn(r)!==Q){const o=new ge([],{});t[Mn(r)]=o}return t}function $c(e,n,t){return(!(e.hasChildren()||n.length>0)||"full"!==t.pathMatch)&&""===t.path}class Yj{}class Kj{constructor(n,t,r,o,i,s,a){this.injector=n,this.configLoader=t,this.rootComponentType=r,this.config=o,this.urlTree=i,this.paramsInheritanceStrategy=s,this.urlSerializer=a,this.applyRedirects=new Bj(this.urlSerializer,this.urlTree),this.absoluteRedirectCount=0,this.allowRedirects=!0}noMatchError(n){return new I(4002,`'${n.segmentGroup}'`)}recognize(){const n=yI(this.urlTree.root,[],[],this.config).segmentGroup;return this.match(n).pipe(K(t=>{const r=new Rp([],Object.freeze({}),Object.freeze({...this.urlTree.queryParams}),this.urlTree.fragment,{},Q,this.rootComponentType,null,{}),o=new un(r,t),i=new sI("",o),s=function H3(e,n,t=null,r=null){return QE(ZE(e),n,t,r)}(r,[],this.urlTree.queryParams,this.urlTree.fragment);return s.queryParams=this.urlTree.queryParams,i.url=this.urlSerializer.serialize(s),this.inheritParamsAndData(i._root,null),{state:i,tree:s}}))}match(n){return this.processSegmentGroup(this.injector,this.config,n,Q).pipe(ci(r=>{if(r instanceof jp)return this.urlTree=r.urlTree,this.match(r.urlTree.root);throw r instanceof Vp?this.noMatchError(r):r}))}inheritParamsAndData(n,t){const r=n.value,o=xp(r,t,this.paramsInheritanceStrategy);r.params=Object.freeze(o.params),r.data=Object.freeze(o.data),n.children.forEach(i=>this.inheritParamsAndData(i,r))}processSegmentGroup(n,t,r,o){return 0===r.segments.length&&r.hasChildren()?this.processChildren(n,t,r):this.processSegment(n,t,r,r.segments,o,!0).pipe(K(i=>i instanceof un?[i]:[]))}processChildren(n,t,r){const o=[];for(const i of Object.keys(r.children))"primary"===i?o.unshift(i):o.push(i);return Je(o).pipe(li(i=>{const s=r.children[i],a=function mj(e,n){const t=e.filter(r=>Mn(r)===n);return t.push(...e.filter(r=>Mn(r)!==n)),t}(t,i);return this.processSegmentGroup(n,a,s,i)}),function $V(e,n){return et(function HV(e,n,t,r,o){return(i,s)=>{let a=t,l=n,c=0;i.subscribe(ze(s,u=>{const d=c++;l=a?e(l,u,d):(a=!0,u),r&&s.next(l)},o&&(()=>{a&&s.next(l),s.complete()})))}}(e,n,arguments.length>=2,!0))}((i,s)=>(i.push(...s),i)),Nc(null),function GV(e,n){const t=arguments.length>=2;return r=>r.pipe(e?cn((o,i)=>e(o,i,r)):Mr,hp(1),t?Nc(n):CE(()=>new Tc))}(),nt(i=>{if(null===i)return _i(r);const s=_I(i);return function eU(e){e.sort((n,t)=>n.value.outlet===Q?-1:t.value.outlet===Q?1:n.value.outlet.localeCompare(t.value.outlet))}(s),B(s)}))}processSegment(n,t,r,o,i,s){return Je(t).pipe(li(a=>this.processSegmentAgainstRoute(a._injector??n,t,a,r,o,i,s).pipe(ci(l=>{if(l instanceof Vp)return B(null);throw l}))),Wr(a=>!!a),ci(a=>{if(mI(a))return function Qj(e,n,t){return 0===n.length&&!e.children[t]}(r,o,i)?B(new Yj):_i(r);throw a}))}processSegmentAgainstRoute(n,t,r,o,i,s,a){return function Zj(e,n,t,r){return!!(Mn(e)===r||r!==Q&&$c(n,t,e))&&Bp(n,e,t).matched}(r,o,i,s)?void 0===r.redirectTo?this.matchSegmentAgainstRoute(n,o,r,i,s):this.allowRedirects&&a?this.expandSegmentAgainstRouteUsingRedirect(n,o,t,r,i,s):_i(o):_i(o)}expandSegmentAgainstRouteUsingRedirect(n,t,r,o,i,s){const{matched:a,consumedSegments:l,positionalParamSegments:c,remainingSegments:u}=Bp(t,o,i);if(!a)return _i(t);o.redirectTo.startsWith("/")&&(this.absoluteRedirectCount++,this.absoluteRedirectCount>31&&(this.allowRedirects=!1));const d=this.applyRedirects.applyRedirectCommands(l,o.redirectTo,c);return this.applyRedirects.lineralizeSegments(o,d).pipe(nt(g=>this.processSegment(n,r,t,g.concat(u),s,!1)))}matchSegmentAgainstRoute(n,t,r,o,i){const s=Hj(t,r,o,n);return"**"===r.path&&(t.children={}),s.pipe(ln(a=>a.matched?this.getChildConfig(n=r._injector??n,r,o).pipe(ln(({routes:l})=>{const c=r._loadedInjector??n,{consumedSegments:u,remainingSegments:d,parameters:g}=a,m=new Rp(u,g,Object.freeze({...this.urlTree.queryParams}),this.urlTree.fragment,function nU(e){return e.data||{}}(r),Mn(r),r.component??r._loadedComponent??null,r,function rU(e){return e.resolve||{}}(r)),{segmentGroup:v,slicedSegments:_}=yI(t,u,d,l);if(0===_.length&&v.hasChildren())return this.processChildren(c,l,v).pipe(K(E=>null===E?null:new un(m,E)));if(0===l.length&&0===_.length)return B(new un(m,[]));const D=Mn(r)===i;return this.processSegment(c,l,v,_,D?Q:i,!0).pipe(K(E=>new un(m,E instanceof un?[E]:[])))})):_i(t)))}getChildConfig(n,t,r){return t.children?B({routes:t.children,injector:n}):t.loadChildren?void 0!==t._loadedRoutes?B({routes:t._loadedRoutes,injector:t._loadedInjector}):function Lj(e,n,t,r){const o=n.canLoad;return void 0===o||0===o.length?B(!0):B(o.map(s=>{const a=vi(s,e);return mr(function Ej(e){return e&&sa(e.canLoad)}(a)?a.canLoad(n,t):ir(e,()=>a(n,t)))})).pipe(yi(),vI())}(n,t,r).pipe(nt(o=>o?this.configLoader.loadChildren(n,t).pipe(ut(i=>{t._loadedRoutes=i.routes,t._loadedInjector=i.injector})):function Uj(e){return Ac(fI(!1,zt.GuardRejected))}())):B({routes:[],injector:n})}}function tU(e){const n=e.value.routeConfig;return n&&""===n.path}function _I(e){const n=[],t=new Set;for(const r of e){if(!tU(r)){n.push(r);continue}const o=n.find(i=>r.value.routeConfig===i.value.routeConfig);void 0!==o?(o.children.push(...r.children),t.add(o)):n.push(r)}for(const r of t){const o=_I(r.children);n.push(new un(r.value,o))}return n.filter(r=>!t.has(r))}function CI(e){const n=e.children.map(t=>CI(t)).flat();return[e,...n]}function Hp(e){return ln(n=>{const t=e(n);return t?Je(t).pipe(K(()=>n)):B(n)})}let DI=(()=>{class e{buildTitle(t){let r,o=t.root;for(;void 0!==o;)r=this.getResolvedTitleForRoute(o)??r,o=o.children.find(i=>i.outlet===Q);return r}getResolvedTitleForRoute(t){return t.data[Qs]}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=R({token:e,factory:()=>T(cU),providedIn:"root"})}return e})(),cU=(()=>{class e extends DI{constructor(t){super(),this.title=t}updateTitle(t){const r=this.buildTitle(t);void 0!==r&&this.title.setTitle(r)}static#e=this.\u0275fac=function(r){return new(r||e)(P(v3))};static#t=this.\u0275prov=R({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();const Ci=new N("",{providedIn:"root",factory:()=>({})}),Di=new N("");let $p=(()=>{class e{constructor(){this.componentLoaders=new WeakMap,this.childrenLoaders=new WeakMap,this.compiler=T(Bw)}loadComponent(t){if(this.componentLoaders.get(t))return this.componentLoaders.get(t);if(t._loadedComponent)return B(t._loadedComponent);this.onLoadStartListener&&this.onLoadStartListener(t);const r=mr(t.loadComponent()).pipe(K(wI),ut(i=>{this.onLoadEndListener&&this.onLoadEndListener(t),t._loadedComponent=i}),qs(()=>{this.componentLoaders.delete(t)})),o=new _E(r,()=>new dn).pipe(fp());return this.componentLoaders.set(t,o),o}loadChildren(t,r){if(this.childrenLoaders.get(r))return this.childrenLoaders.get(r);if(r._loadedRoutes)return B({routes:r._loadedRoutes,injector:r._loadedInjector});this.onLoadStartListener&&this.onLoadStartListener(r);const i=function uU(e,n,t,r){return mr(e.loadChildren()).pipe(K(wI),nt(o=>o instanceof q_||Array.isArray(o)?B(o):Je(n.compileModuleAsync(o))),K(o=>{r&&r(e);let i,s,a=!1;return Array.isArray(o)?(s=o,!0):(i=o.create(t).injector,s=i.get(Di,[],{optional:!0,self:!0}).flat()),{routes:s.map(Lp),injector:i}}))}(r,this.compiler,t,this.onLoadEndListener).pipe(qs(()=>{this.childrenLoaders.delete(r)})),s=new _E(i,()=>new dn).pipe(fp());return this.childrenLoaders.set(r,s),s}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=R({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();function wI(e){return function dU(e){return e&&"object"==typeof e&&"default"in e}(e)?e.default:e}let Gp=(()=>{class e{static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=R({token:e,factory:()=>T(fU),providedIn:"root"})}return e})(),fU=(()=>{class e{shouldProcessUrl(t){return!0}extract(t){return t}merge(t,r){return t}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=R({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();const bI=new N(""),EI=new N("");function hU(e,n,t){const r=e.get(EI),o=e.get(Tt);return e.get(se).runOutsideAngular(()=>{if(!o.startViewTransition||r.skipNextTransition)return r.skipNextTransition=!1,Promise.resolve();let i;const s=new Promise(c=>{i=c}),a=o.startViewTransition(()=>(i(),function pU(e){return new Promise(n=>{d_(n,{injector:e})})}(e))),{onViewTransitionCreated:l}=r;return l&&ir(e,()=>l({transition:a,from:n,to:t})),s})}let Gc=(()=>{class e{get hasRequestedNavigation(){return 0!==this.navigationId}constructor(){this.currentNavigation=null,this.currentTransition=null,this.lastSuccessfulNavigation=null,this.events=new dn,this.transitionAbortSubject=new dn,this.configLoader=T($p),this.environmentInjector=T(kt),this.urlSerializer=T(fi),this.rootContexts=T(ta),this.location=T(Bs),this.inputBindingEnabled=null!==T(Uc,{optional:!0}),this.titleStrategy=T(DI),this.options=T(Ci,{optional:!0})||{},this.paramsInheritanceStrategy=this.options.paramsInheritanceStrategy||"emptyOnly",this.urlHandlingStrategy=T(Gp),this.createViewTransition=T(bI,{optional:!0}),this.navigationId=0,this.afterPreactivation=()=>B(void 0),this.rootComponentType=null,this.configLoader.onLoadEndListener=o=>this.events.next(new ej(o)),this.configLoader.onLoadStartListener=o=>this.events.next(new K3(o))}complete(){this.transitions?.complete()}handleNavigationRequest(t){const r=++this.navigationId;this.transitions?.next({...this.transitions.value,...t,id:r})}setupNavigations(t,r,o){return this.transitions=new jt({id:0,currentUrlTree:r,currentRawUrl:r,extractedUrl:this.urlHandlingStrategy.extract(r),urlAfterRedirects:this.urlHandlingStrategy.extract(r),rawUrl:r,extras:{},resolve:null,reject:null,promise:Promise.resolve(!0),source:ea,restoredState:null,currentSnapshot:o.snapshot,targetSnapshot:null,currentRouterState:o,targetRouterState:null,guards:{canActivateChecks:[],canDeactivateChecks:[]},guardsResult:null}),this.transitions.pipe(cn(i=>0!==i.id),K(i=>({...i,extractedUrl:this.urlHandlingStrategy.extract(i.rawUrl)})),ln(i=>{this.currentTransition=i;let s=!1,a=!1;return B(i).pipe(ut(l=>{this.currentNavigation={id:l.id,initialUrl:l.rawUrl,extractedUrl:l.extractedUrl,trigger:l.source,extras:l.extras,previousNavigation:this.lastSuccessfulNavigation?{...this.lastSuccessfulNavigation,previousNavigation:null}:null}}),ln(l=>{const c=!t.navigated||this.isUpdatingInternalState()||this.isUpdatedBrowserUrl();if(!c&&"reload"!==(l.extras.onSameUrlNavigation??t.onSameUrlNavigation)){const d="";return this.events.next(new gi(l.id,this.urlSerializer.serialize(l.rawUrl),d,Vc.IgnoredSameUrlNavigation)),l.resolve(null),Yn}if(this.urlHandlingStrategy.shouldProcessUrl(l.rawUrl))return B(l).pipe(ln(d=>{const g=this.transitions?.getValue();return this.events.next(new Lc(d.id,this.urlSerializer.serialize(d.extractedUrl),d.source,d.restoredState)),g!==this.transitions?.getValue()?Yn:Promise.resolve(d)}),function oU(e,n,t,r,o,i){return nt(s=>function Xj(e,n,t,r,o,i,s="emptyOnly"){return new Kj(e,n,t,r,o,s,i).recognize()}(e,n,t,r,s.extractedUrl,o,i).pipe(K(({state:a,tree:l})=>({...s,targetSnapshot:a,urlAfterRedirects:l}))))}(this.environmentInjector,this.configLoader,this.rootComponentType,t.config,this.urlSerializer,this.paramsInheritanceStrategy),ut(d=>{i.targetSnapshot=d.targetSnapshot,i.urlAfterRedirects=d.urlAfterRedirects,this.currentNavigation={...this.currentNavigation,finalUrl:d.urlAfterRedirects};const g=new tI(d.id,this.urlSerializer.serialize(d.extractedUrl),this.urlSerializer.serialize(d.urlAfterRedirects),d.targetSnapshot);this.events.next(g)}));if(c&&this.urlHandlingStrategy.shouldProcessUrl(l.currentRawUrl)){const{id:d,extractedUrl:g,source:m,restoredState:v,extras:_}=l,D=new Lc(d,this.urlSerializer.serialize(g),m,v);this.events.next(D);const E=iI(this.rootComponentType).snapshot;return this.currentTransition=i={...l,targetSnapshot:E,urlAfterRedirects:g,extras:{..._,skipLocationChange:!1,replaceUrl:!1}},this.currentNavigation.finalUrl=g,B(i)}{const d="";return this.events.next(new gi(l.id,this.urlSerializer.serialize(l.extractedUrl),d,Vc.IgnoredByUrlHandlingStrategy)),l.resolve(null),Yn}}),ut(l=>{const c=new Q3(l.id,this.urlSerializer.serialize(l.extractedUrl),this.urlSerializer.serialize(l.urlAfterRedirects),l.targetSnapshot);this.events.next(c)}),K(l=>(this.currentTransition=i={...l,guards:_j(l.targetSnapshot,l.currentSnapshot,this.rootContexts)},i)),function Aj(e,n){return nt(t=>{const{targetSnapshot:r,currentSnapshot:o,guards:{canActivateChecks:i,canDeactivateChecks:s}}=t;return 0===s.length&&0===i.length?B({...t,guardsResult:!0}):function Nj(e,n,t,r){return Je(e).pipe(nt(o=>function Fj(e,n,t,r,o){const i=n&&n.routeConfig?n.routeConfig.canDeactivate:null;return i&&0!==i.length?B(i.map(a=>{const l=ra(n)??o,c=vi(a,l);return mr(function Sj(e){return e&&sa(e.canDeactivate)}(c)?c.canDeactivate(e,n,t,r):ir(l,()=>c(e,n,t,r))).pipe(Wr())})).pipe(yi()):B(!0)}(o.component,o.route,t,n,r)),Wr(o=>!0!==o,!0))}(s,r,o,e).pipe(nt(a=>a&&function bj(e){return"boolean"==typeof e}(a)?function xj(e,n,t,r){return Je(n).pipe(li(o=>dp(function Oj(e,n){return null!==e&&n&&n(new tj(e)),B(!0)}(o.route.parent,r),function Rj(e,n){return null!==e&&n&&n(new rj(e)),B(!0)}(o.route,r),function kj(e,n,t){const r=n[n.length-1],i=n.slice(0,n.length-1).reverse().map(s=>function Cj(e){const n=e.routeConfig?e.routeConfig.canActivateChild:null;return n&&0!==n.length?{node:e,guards:n}:null}(s)).filter(s=>null!==s).map(s=>yE(()=>B(s.guards.map(l=>{const c=ra(s.node)??t,u=vi(l,c);return mr(function Mj(e){return e&&sa(e.canActivateChild)}(u)?u.canActivateChild(r,e):ir(c,()=>u(r,e))).pipe(Wr())})).pipe(yi())));return B(i).pipe(yi())}(e,o.path,t),function Pj(e,n,t){const r=n.routeConfig?n.routeConfig.canActivate:null;if(!r||0===r.length)return B(!0);const o=r.map(i=>yE(()=>{const s=ra(n)??t,a=vi(i,s);return mr(function Ij(e){return e&&sa(e.canActivate)}(a)?a.canActivate(n,e):ir(s,()=>a(n,e))).pipe(Wr())}));return B(o).pipe(yi())}(e,o.route,t))),Wr(o=>!0!==o,!0))}(r,i,e,n):B(a)),K(a=>({...t,guardsResult:a})))})}(this.environmentInjector,l=>this.events.next(l)),ut(l=>{if(i.guardsResult=l.guardsResult,hi(l.guardsResult))throw dI(0,l.guardsResult);const c=new Y3(l.id,this.urlSerializer.serialize(l.extractedUrl),this.urlSerializer.serialize(l.urlAfterRedirects),l.targetSnapshot,!!l.guardsResult);this.events.next(c)}),cn(l=>!!l.guardsResult||(this.cancelNavigationTransition(l,"",zt.GuardRejected),!1)),Hp(l=>{if(l.guards.canActivateChecks.length)return B(l).pipe(ut(c=>{const u=new X3(c.id,this.urlSerializer.serialize(c.extractedUrl),this.urlSerializer.serialize(c.urlAfterRedirects),c.targetSnapshot);this.events.next(u)}),ln(c=>{let u=!1;return B(c).pipe(function iU(e,n){return nt(t=>{const{targetSnapshot:r,guards:{canActivateChecks:o}}=t;if(!o.length)return B(t);const i=new Set(o.map(l=>l.route)),s=new Set;for(const l of i)if(!s.has(l))for(const c of CI(l))s.add(c);let a=0;return Je(s).pipe(li(l=>i.has(l)?function sU(e,n,t,r){const o=e.routeConfig,i=e._resolve;return void 0!==o?.title&&!lI(o)&&(i[Qs]=o.title),function aU(e,n,t,r){const o=Dp(e);if(0===o.length)return B({});const i={};return Je(o).pipe(nt(s=>function lU(e,n,t,r){const o=ra(n)??r,i=vi(e,o);return mr(i.resolve?i.resolve(n,t):ir(o,()=>i(n,t)))}(e[s],n,t,r).pipe(Wr(),ut(a=>{i[s]=a}))),hp(1),function zV(e){return K(()=>e)}(i),ci(s=>mI(s)?Yn:Ac(s)))}(i,e,n,r).pipe(K(s=>(e._resolvedData=s,e.data=xp(e,e.parent,t).resolve,null)))}(l,r,e,n):(l.data=xp(l,l.parent,e).resolve,B(void 0))),ut(()=>a++),hp(1),nt(l=>a===s.size?B(t):Yn))})}(this.paramsInheritanceStrategy,this.environmentInjector),ut({next:()=>u=!0,complete:()=>{u||this.cancelNavigationTransition(c,"",zt.NoDataFromResolver)}}))}),ut(c=>{const u=new J3(c.id,this.urlSerializer.serialize(c.extractedUrl),this.urlSerializer.serialize(c.urlAfterRedirects),c.targetSnapshot);this.events.next(u)}))}),Hp(l=>{const c=u=>{const d=[];u.routeConfig?.loadComponent&&!u.routeConfig._loadedComponent&&d.push(this.configLoader.loadComponent(u.routeConfig).pipe(ut(g=>{u.component=g}),K(()=>{})));for(const g of u.children)d.push(...c(g));return d};return up(c(l.targetSnapshot.root)).pipe(Nc(null),ai(1))}),Hp(()=>this.afterPreactivation()),ln(()=>{const{currentSnapshot:l,targetSnapshot:c}=i,u=this.createViewTransition?.(this.environmentInjector,l.root,c.root);return u?Je(u).pipe(K(()=>i)):B(i)}),K(l=>{const c=function lj(e,n,t){const r=na(e,n._root,t?t._root:void 0);return new oI(r,n)}(t.routeReuseStrategy,l.targetSnapshot,l.currentRouterState);return this.currentTransition=i={...l,targetRouterState:c},this.currentNavigation.targetRouterState=c,i}),ut(()=>{this.events.next(new Sp)}),((e,n,t,r)=>K(o=>(new yj(n,o.targetRouterState,o.currentRouterState,t,r).activate(e),o)))(this.rootContexts,t.routeReuseStrategy,l=>this.events.next(l),this.inputBindingEnabled),ai(1),ut({next:l=>{s=!0,this.lastSuccessfulNavigation=this.currentNavigation,this.events.next(new In(l.id,this.urlSerializer.serialize(l.extractedUrl),this.urlSerializer.serialize(l.urlAfterRedirects))),this.titleStrategy?.updateTitle(l.targetRouterState.snapshot),l.resolve(!0)},complete:()=>{s=!0}}),function qV(e){return et((n,t)=>{wn(e).subscribe(ze(t,()=>t.complete(),Du)),!t.closed&&n.subscribe(t)})}(this.transitionAbortSubject.pipe(ut(l=>{throw l}))),qs(()=>{!s&&!a&&this.cancelNavigationTransition(i,"",zt.SupersededByNewNavigation),this.currentTransition?.id===i.id&&(this.currentNavigation=null,this.currentTransition=null)}),ci(l=>{if(a=!0,hI(l))this.events.next(new pi(i.id,this.urlSerializer.serialize(i.extractedUrl),l.message,l.cancellationCode)),function dj(e){return hI(e)&&hi(e.url)}(l)?this.events.next(new Tp(l.url)):i.resolve(!1);else{this.events.next(new jc(i.id,this.urlSerializer.serialize(i.extractedUrl),l,i.targetSnapshot??void 0));try{i.resolve(t.errorHandler(l))}catch(c){this.options.resolveNavigationPromiseOnError?i.resolve(!1):i.reject(c)}}return Yn}))}))}cancelNavigationTransition(t,r,o){const i=new pi(t.id,this.urlSerializer.serialize(t.extractedUrl),r,o);this.events.next(i),t.resolve(!1)}isUpdatingInternalState(){return this.currentTransition?.extractedUrl.toString()!==this.currentTransition?.currentUrlTree.toString()}isUpdatedBrowserUrl(){return this.urlHandlingStrategy.extract(this.urlSerializer.parse(this.location.path(!0))).toString()!==this.currentTransition?.extractedUrl.toString()&&!this.currentTransition?.extras.skipLocationChange}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=R({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();function gU(e){return e!==ea}let mU=(()=>{class e{static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=R({token:e,factory:()=>T(yU),providedIn:"root"})}return e})();class vU{shouldDetach(n){return!1}store(n,t){}shouldAttach(n){return!1}retrieve(n){return null}shouldReuseRoute(n,t){return n.routeConfig===t.routeConfig}}let yU=(()=>{class e extends vU{static#e=this.\u0275fac=(()=>{let t;return function(o){return(t||(t=Ke(e)))(o||e)}})();static#t=this.\u0275prov=R({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})(),II=(()=>{class e{static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=R({token:e,factory:()=>T(_U),providedIn:"root"})}return e})(),_U=(()=>{class e extends II{constructor(){super(...arguments),this.location=T(Bs),this.urlSerializer=T(fi),this.options=T(Ci,{optional:!0})||{},this.canceledNavigationResolution=this.options.canceledNavigationResolution||"replace",this.urlHandlingStrategy=T(Gp),this.urlUpdateStrategy=this.options.urlUpdateStrategy||"deferred",this.currentUrlTree=new di,this.rawUrlTree=this.currentUrlTree,this.currentPageId=0,this.lastSuccessfulId=-1,this.routerState=iI(null),this.stateMemento=this.createStateMemento()}getCurrentUrlTree(){return this.currentUrlTree}getRawUrlTree(){return this.rawUrlTree}restoredState(){return this.location.getState()}get browserPageId(){return"computed"!==this.canceledNavigationResolution?this.currentPageId:this.restoredState()?.\u0275routerPageId??this.currentPageId}getRouterState(){return this.routerState}createStateMemento(){return{rawUrlTree:this.rawUrlTree,currentUrlTree:this.currentUrlTree,routerState:this.routerState}}registerNonRouterCurrentEntryChangeListener(t){return this.location.subscribe(r=>{"popstate"===r.type&&t(r.url,r.state)})}handleRouterEvent(t,r){if(t instanceof Lc)this.stateMemento=this.createStateMemento();else if(t instanceof gi)this.rawUrlTree=r.initialUrl;else if(t instanceof tI){if("eager"===this.urlUpdateStrategy&&!r.extras.skipLocationChange){const o=this.urlHandlingStrategy.merge(r.finalUrl,r.initialUrl);this.setBrowserUrl(o,r)}}else t instanceof Sp?(this.currentUrlTree=r.finalUrl,this.rawUrlTree=this.urlHandlingStrategy.merge(r.finalUrl,r.initialUrl),this.routerState=r.targetRouterState,"deferred"===this.urlUpdateStrategy&&(r.extras.skipLocationChange||this.setBrowserUrl(this.rawUrlTree,r))):t instanceof pi&&(t.code===zt.GuardRejected||t.code===zt.NoDataFromResolver)?this.restoreHistory(r):t instanceof jc?this.restoreHistory(r,!0):t instanceof In&&(this.lastSuccessfulId=t.id,this.currentPageId=this.browserPageId)}setBrowserUrl(t,r){const o=this.urlSerializer.serialize(t);if(this.location.isCurrentPathEqualTo(o)||r.extras.replaceUrl){const s={...r.extras.state,...this.generateNgRouterState(r.id,this.browserPageId)};this.location.replaceState(o,"",s)}else{const i={...r.extras.state,...this.generateNgRouterState(r.id,this.browserPageId+1)};this.location.go(o,"",i)}}restoreHistory(t,r=!1){if("computed"===this.canceledNavigationResolution){const i=this.currentPageId-this.browserPageId;0!==i?this.location.historyGo(i):this.currentUrlTree===t.finalUrl&&0===i&&(this.resetState(t),this.resetUrlToCurrentUrlTree())}else"replace"===this.canceledNavigationResolution&&(r&&this.resetState(t),this.resetUrlToCurrentUrlTree())}resetState(t){this.routerState=this.stateMemento.routerState,this.currentUrlTree=this.stateMemento.currentUrlTree,this.rawUrlTree=this.urlHandlingStrategy.merge(this.currentUrlTree,t.finalUrl??this.rawUrlTree)}resetUrlToCurrentUrlTree(){this.location.replaceState(this.urlSerializer.serialize(this.rawUrlTree),"",this.generateNgRouterState(this.lastSuccessfulId,this.currentPageId))}generateNgRouterState(t,r){return"computed"===this.canceledNavigationResolution?{navigationId:t,\u0275routerPageId:r}:{navigationId:t}}static#e=this.\u0275fac=(()=>{let t;return function(o){return(t||(t=Ke(e)))(o||e)}})();static#t=this.\u0275prov=R({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();var aa=function(e){return e[e.COMPLETE=0]="COMPLETE",e[e.FAILED=1]="FAILED",e[e.REDIRECTING=2]="REDIRECTING",e}(aa||{});function MI(e,n){e.events.pipe(cn(t=>t instanceof In||t instanceof pi||t instanceof jc||t instanceof gi),K(t=>t instanceof In||t instanceof gi?aa.COMPLETE:t instanceof pi&&(t.code===zt.Redirect||t.code===zt.SupersededByNewNavigation)?aa.REDIRECTING:aa.FAILED),cn(t=>t!==aa.REDIRECTING),ai(1)).subscribe(()=>{n()})}function CU(e){throw e}const DU={paths:"exact",fragment:"ignored",matrixParams:"ignored",queryParams:"exact"},wU={paths:"subset",fragment:"ignored",matrixParams:"ignored",queryParams:"subset"};let qt=(()=>{class e{get currentUrlTree(){return this.stateManager.getCurrentUrlTree()}get rawUrlTree(){return this.stateManager.getRawUrlTree()}get events(){return this._events}get routerState(){return this.stateManager.getRouterState()}constructor(){this.disposed=!1,this.isNgZoneEnabled=!1,this.console=T(Nw),this.stateManager=T(II),this.options=T(Ci,{optional:!0})||{},this.pendingTasks=T(jr),this.urlUpdateStrategy=this.options.urlUpdateStrategy||"deferred",this.navigationTransitions=T(Gc),this.urlSerializer=T(fi),this.location=T(Bs),this.urlHandlingStrategy=T(Gp),this._events=new dn,this.errorHandler=this.options.errorHandler||CU,this.navigated=!1,this.routeReuseStrategy=T(mU),this.onSameUrlNavigation=this.options.onSameUrlNavigation||"ignore",this.config=T(Di,{optional:!0})?.flat()??[],this.componentInputBindingEnabled=!!T(Uc,{optional:!0}),this.eventsSubscription=new yt,this.isNgZoneEnabled=T(se)instanceof se&&se.isInAngularZone(),this.resetConfig(this.config),this.navigationTransitions.setupNavigations(this,this.currentUrlTree,this.routerState).subscribe({error:t=>{this.console.warn(t)}}),this.subscribeToNavigationEvents()}subscribeToNavigationEvents(){const t=this.navigationTransitions.events.subscribe(r=>{try{const o=this.navigationTransitions.currentTransition,i=this.navigationTransitions.currentNavigation;if(null!==o&&null!==i)if(this.stateManager.handleRouterEvent(r,i),r instanceof pi&&r.code!==zt.Redirect&&r.code!==zt.SupersededByNewNavigation)this.navigated=!0;else if(r instanceof In)this.navigated=!0;else if(r instanceof Tp){const s=this.urlHandlingStrategy.merge(r.url,o.currentRawUrl),a={info:o.extras.info,skipLocationChange:o.extras.skipLocationChange,replaceUrl:"eager"===this.urlUpdateStrategy||gU(o.source)};this.scheduleNavigation(s,ea,null,a,{resolve:o.resolve,reject:o.reject,promise:o.promise})}(function EU(e){return!(e instanceof Sp||e instanceof Tp)})(r)&&this._events.next(r)}catch(o){this.navigationTransitions.transitionAbortSubject.next(o)}});this.eventsSubscription.add(t)}resetRootComponentType(t){this.routerState.root.component=t,this.navigationTransitions.rootComponentType=t}initialNavigation(){this.setUpLocationChangeListener(),this.navigationTransitions.hasRequestedNavigation||this.navigateToSyncWithBrowser(this.location.path(!0),ea,this.stateManager.restoredState())}setUpLocationChangeListener(){this.nonRouterCurrentEntryChangeSubscription??=this.stateManager.registerNonRouterCurrentEntryChangeListener((t,r)=>{setTimeout(()=>{this.navigateToSyncWithBrowser(t,"popstate",r)},0)})}navigateToSyncWithBrowser(t,r,o){const i={replaceUrl:!0},s=o?.navigationId?o:null;if(o){const l={...o};delete l.navigationId,delete l.\u0275routerPageId,0!==Object.keys(l).length&&(i.state=l)}const a=this.parseUrl(t);this.scheduleNavigation(a,r,s,i)}get url(){return this.serializeUrl(this.currentUrlTree)}getCurrentNavigation(){return this.navigationTransitions.currentNavigation}get lastSuccessfulNavigation(){return this.navigationTransitions.lastSuccessfulNavigation}resetConfig(t){this.config=t.map(Lp),this.navigated=!1}ngOnDestroy(){this.dispose()}dispose(){this.navigationTransitions.complete(),this.nonRouterCurrentEntryChangeSubscription&&(this.nonRouterCurrentEntryChangeSubscription.unsubscribe(),this.nonRouterCurrentEntryChangeSubscription=void 0),this.disposed=!0,this.eventsSubscription.unsubscribe()}createUrlTree(t,r={}){const{relativeTo:o,queryParams:i,fragment:s,queryParamsHandling:a,preserveFragment:l}=r,c=l?this.currentUrlTree.fragment:s;let d,u=null;switch(a){case"merge":u={...this.currentUrlTree.queryParams,...i};break;case"preserve":u=this.currentUrlTree.queryParams;break;default:u=i||null}null!==u&&(u=this.removeEmptyProps(u));try{d=ZE(o?o.snapshot:this.routerState.snapshot.root)}catch{("string"!=typeof t[0]||!t[0].startsWith("/"))&&(t=[]),d=this.currentUrlTree.root}return QE(d,t,u,c??null)}navigateByUrl(t,r={skipLocationChange:!1}){const o=hi(t)?t:this.parseUrl(t),i=this.urlHandlingStrategy.merge(o,this.rawUrlTree);return this.scheduleNavigation(i,ea,null,r)}navigate(t,r={skipLocationChange:!1}){return function bU(e){for(let n=0;n(null!=i&&(r[o]=i),r),{})}scheduleNavigation(t,r,o,i,s){if(this.disposed)return Promise.resolve(!1);let a,l,c;s?(a=s.resolve,l=s.reject,c=s.promise):c=new Promise((d,g)=>{a=d,l=g});const u=this.pendingTasks.add();return MI(this,()=>{queueMicrotask(()=>this.pendingTasks.remove(u))}),this.navigationTransitions.handleNavigationRequest({source:r,restoredState:o,currentUrlTree:this.currentUrlTree,currentRawUrl:this.currentUrlTree,rawUrl:t,extras:i,resolve:a,reject:l,promise:c,currentSnapshot:this.routerState.snapshot,currentRouterState:this.routerState}),c.catch(d=>Promise.reject(d))}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=R({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})(),Sn=(()=>{class e{constructor(t,r,o,i,s,a){this.router=t,this.route=r,this.tabIndexAttribute=o,this.renderer=i,this.el=s,this.locationStrategy=a,this.href=null,this.commands=null,this.onChanges=new dn,this.preserveFragment=!1,this.skipLocationChange=!1,this.replaceUrl=!1;const l=s.nativeElement.tagName?.toLowerCase();this.isAnchorElement="a"===l||"area"===l,this.isAnchorElement?this.subscription=t.events.subscribe(c=>{c instanceof In&&this.updateHref()}):this.setTabIndexIfNotOnNativeEl("0")}setTabIndexIfNotOnNativeEl(t){null!=this.tabIndexAttribute||this.isAnchorElement||this.applyAttributeValue("tabindex",t)}ngOnChanges(t){this.isAnchorElement&&this.updateHref(),this.onChanges.next(this)}set routerLink(t){null!=t?(this.commands=Array.isArray(t)?t:[t],this.setTabIndexIfNotOnNativeEl("0")):(this.commands=null,this.setTabIndexIfNotOnNativeEl(null))}onClick(t,r,o,i,s){const a=this.urlTree;return!!(null===a||this.isAnchorElement&&(0!==t||r||o||i||s||"string"==typeof this.target&&"_self"!=this.target))||(this.router.navigateByUrl(a,{skipLocationChange:this.skipLocationChange,replaceUrl:this.replaceUrl,state:this.state,info:this.info}),!this.isAnchorElement)}ngOnDestroy(){this.subscription?.unsubscribe()}updateHref(){const t=this.urlTree;this.href=null!==t&&this.locationStrategy?this.locationStrategy?.prepareExternalUrl(this.router.serializeUrl(t)):null;const r=null===this.href?null:function Vv(e,n,t){return function wT(e,n){return"src"===n&&("embed"===e||"frame"===e||"iframe"===e||"media"===e||"script"===e)||"href"===n&&("base"===e||"link"===e)?Lv:No}(n,t)(e)}(this.href,this.el.nativeElement.tagName.toLowerCase(),"href");this.applyAttributeValue("href",r)}applyAttributeValue(t,r){const o=this.renderer,i=this.el.nativeElement;null!==r?o.setAttribute(i,t,r):o.removeAttribute(i,t)}get urlTree(){return null===this.commands?null:this.router.createUrlTree(this.commands,{relativeTo:void 0!==this.relativeTo?this.relativeTo:this.route,queryParams:this.queryParams,fragment:this.fragment,queryParamsHandling:this.queryParamsHandling,preserveFragment:this.preserveFragment})}static#e=this.\u0275fac=function(r){return new(r||e)(S(qt),S(Qr),function ll(e){return function BS(e,n){if("class"===n)return e.classes;if("style"===n)return e.styles;const t=e.attrs;if(t){const r=t.length;let o=0;for(;o{class e{get isActive(){return this._isActive}constructor(t,r,o,i,s){this.router=t,this.element=r,this.renderer=o,this.cdr=i,this.link=s,this.classes=[],this._isActive=!1,this.routerLinkActiveOptions={exact:!1},this.isActiveChange=new Ae,this.routerEventsSubscription=t.events.subscribe(a=>{a instanceof In&&this.update()})}ngAfterContentInit(){B(this.links.changes,B(null)).pipe(zs()).subscribe(t=>{this.update(),this.subscribeToEachLinkOnChanges()})}subscribeToEachLinkOnChanges(){this.linkInputChangesSubscription?.unsubscribe();const t=[...this.links.toArray(),this.link].filter(r=>!!r).map(r=>r.onChanges);this.linkInputChangesSubscription=Je(t).pipe(zs()).subscribe(r=>{this._isActive!==this.isLinkActive(this.router)(r)&&this.update()})}set routerLinkActive(t){const r=Array.isArray(t)?t:t.split(" ");this.classes=r.filter(o=>!!o)}ngOnChanges(t){this.update()}ngOnDestroy(){this.routerEventsSubscription.unsubscribe(),this.linkInputChangesSubscription?.unsubscribe()}update(){!this.links||!this.router.navigated||queueMicrotask(()=>{const t=this.hasActiveLinks();this._isActive!==t&&(this._isActive=t,this.cdr.markForCheck(),this.classes.forEach(r=>{t?this.renderer.addClass(this.element.nativeElement,r):this.renderer.removeClass(this.element.nativeElement,r)}),t&&void 0!==this.ariaCurrentWhenActive?this.renderer.setAttribute(this.element.nativeElement,"aria-current",this.ariaCurrentWhenActive.toString()):this.renderer.removeAttribute(this.element.nativeElement,"aria-current"),this.isActiveChange.emit(t))})}isLinkActive(t){const r=function IU(e){return!!e.paths}(this.routerLinkActiveOptions)?this.routerLinkActiveOptions:this.routerLinkActiveOptions.exact||!1;return o=>{const i=o.urlTree;return!!i&&t.isActive(i,r)}}hasActiveLinks(){const t=this.isLinkActive(this.router);return this.link&&t(this.link)||this.links.some(t)}static#e=this.\u0275fac=function(r){return new(r||e)(S(qt),S(Ot),S(Hn),S(ms),S(Sn,8))};static#t=this.\u0275dir=H({type:e,selectors:[["","routerLinkActive",""]],contentQueries:function(r,o,i){if(1&r&&function OD(e,n,t,r){T_(e,n,t,r)}(i,Sn,5),2&r){let s;(function PD(e){const n=b(),t=J(),r=Zu();Aa(r+1);const o=$f(t,r);if(e.dirty&&function l1(e){return 4==(4&e[k])}(n)===(2==(2&o.metadata.flags))){if(null===o.matches)e.reset([]);else{const i=N_(n,r);e.reset(i,Mm),e.notifyOnChanges()}return!0}return!1})(s=kD())&&(o.links=s)}},inputs:{routerLinkActiveOptions:"routerLinkActiveOptions",ariaCurrentWhenActive:"ariaCurrentWhenActive",routerLinkActive:"routerLinkActive"},outputs:{isActiveChange:"isActiveChange"},exportAs:["routerLinkActive"],standalone:!0,features:[Ut]})}return e})();class TI{}let MU=(()=>{class e{constructor(t,r,o,i,s){this.router=t,this.injector=o,this.preloadingStrategy=i,this.loader=s}setUpPreloading(){this.subscription=this.router.events.pipe(cn(t=>t instanceof In),li(()=>this.preload())).subscribe(()=>{})}preload(){return this.processRoutes(this.injector,this.router.config)}ngOnDestroy(){this.subscription&&this.subscription.unsubscribe()}processRoutes(t,r){const o=[];for(const i of r){i.providers&&!i._injector&&(i._injector=Wf(i.providers,t,`Route: ${i.path}`));const s=i._injector??t,a=i._loadedInjector??s;(i.loadChildren&&!i._loadedRoutes&&void 0===i.canLoad||i.loadComponent&&!i._loadedComponent)&&o.push(this.preloadConfig(s,i)),(i.children||i._loadedRoutes)&&o.push(this.processRoutes(a,i.children??i._loadedRoutes))}return Je(o).pipe(zs())}preloadConfig(t,r){return this.preloadingStrategy.preload(r,()=>{let o;o=r.loadChildren&&void 0===r.canLoad?this.loader.loadChildren(t,r):B(null);const i=o.pipe(nt(s=>null===s?B(void 0):(r._loadedRoutes=s.routes,r._loadedInjector=s.injector,this.processRoutes(s.injector??t,s.routes))));return r.loadComponent&&!r._loadedComponent?Je([i,this.loader.loadComponent(r)]).pipe(zs()):i})}static#e=this.\u0275fac=function(r){return new(r||e)(P(qt),P(Bw),P(kt),P(TI),P($p))};static#t=this.\u0275prov=R({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();const zp=new N("");let AI=(()=>{class e{constructor(t,r,o,i,s={}){this.urlSerializer=t,this.transitions=r,this.viewportScroller=o,this.zone=i,this.options=s,this.lastId=0,this.lastSource="imperative",this.restoredId=0,this.store={},s.scrollPositionRestoration||="disabled",s.anchorScrolling||="disabled"}init(){"disabled"!==this.options.scrollPositionRestoration&&this.viewportScroller.setHistoryScrollRestoration("manual"),this.routerEventsSubscription=this.createScrollEvents(),this.scrollEventsSubscription=this.consumeScrollEvents()}createScrollEvents(){return this.transitions.events.subscribe(t=>{t instanceof Lc?(this.store[this.lastId]=this.viewportScroller.getScrollPosition(),this.lastSource=t.navigationTrigger,this.restoredId=t.restoredState?t.restoredState.navigationId:0):t instanceof In?(this.lastId=t.id,this.scheduleScrollEvent(t,this.urlSerializer.parse(t.urlAfterRedirects).fragment)):t instanceof gi&&t.code===Vc.IgnoredSameUrlNavigation&&(this.lastSource=void 0,this.restoredId=0,this.scheduleScrollEvent(t,this.urlSerializer.parse(t.url).fragment))})}consumeScrollEvents(){return this.transitions.events.subscribe(t=>{t instanceof nI&&(t.position?"top"===this.options.scrollPositionRestoration?this.viewportScroller.scrollToPosition([0,0]):"enabled"===this.options.scrollPositionRestoration&&this.viewportScroller.scrollToPosition(t.position):t.anchor&&"enabled"===this.options.anchorScrolling?this.viewportScroller.scrollToAnchor(t.anchor):"disabled"!==this.options.scrollPositionRestoration&&this.viewportScroller.scrollToPosition([0,0]))})}scheduleScrollEvent(t,r){this.zone.runOutsideAngular(()=>{setTimeout(()=>{this.zone.run(()=>{this.transitions.events.next(new nI(t,"popstate"===this.lastSource?this.store[this.restoredId]:null,r))})},0)})}ngOnDestroy(){this.routerEventsSubscription?.unsubscribe(),this.scrollEventsSubscription?.unsubscribe()}static#e=this.\u0275fac=function(r){!function gy(){throw new Error("invalid")}()};static#t=this.\u0275prov=R({token:e,factory:e.\u0275fac})}return e})();function Tn(e,n){return{\u0275kind:e,\u0275providers:n}}function xI(){const e=T(wt);return n=>{const t=e.get(Gr);if(n!==t.components[0])return;const r=e.get(qt),o=e.get(RI);1===e.get(qp)&&r.initialNavigation(),e.get(OI,null,X.Optional)?.setUpPreloading(),e.get(zp,null,X.Optional)?.init(),r.resetRootComponentType(t.componentTypes[0]),o.closed||(o.next(),o.complete(),o.unsubscribe())}}const RI=new N("",{factory:()=>new dn}),qp=new N("",{providedIn:"root",factory:()=>1}),OI=new N("");function NU(e){return Tn(0,[{provide:OI,useExisting:MU},{provide:TI,useExisting:e}])}function RU(e){return Tn(9,[{provide:bI,useValue:hU},{provide:EI,useValue:{skipNextTransition:!!e?.skipInitialTransition,...e}}])}const PI=new N("ROUTER_FORROOT_GUARD"),OU=[Bs,{provide:fi,useClass:wp},qt,ta,{provide:Qr,useFactory:function NI(e){return e.routerState.root},deps:[qt]},$p,[]];let kI=(()=>{class e{constructor(t){}static forRoot(t,r){return{ngModule:e,providers:[OU,[],{provide:Di,multi:!0,useValue:t},{provide:PI,useFactory:LU,deps:[[qt,new Wa,new Za]]},{provide:Ci,useValue:r||{}},r?.useHash?{provide:qr,useClass:YF}:{provide:qr,useClass:wb},{provide:zp,useFactory:()=>{const e=T(mL),n=T(se),t=T(Ci),r=T(Gc),o=T(fi);return t.scrollOffset&&e.setOffset(t.scrollOffset),new AI(o,r,e,n,t)}},r?.preloadingStrategy?NU(r.preloadingStrategy).\u0275providers:[],r?.initialNavigation?VU(r):[],r?.bindToComponentInputs?Tn(8,[cI,{provide:Uc,useExisting:cI}]).\u0275providers:[],r?.enableViewTransitions?RU().\u0275providers:[],[{provide:FI,useFactory:xI},{provide:xh,multi:!0,useExisting:FI}]]}}static forChild(t){return{ngModule:e,providers:[{provide:Di,multi:!0,useValue:t}]}}static#e=this.\u0275fac=function(r){return new(r||e)(P(PI,8))};static#t=this.\u0275mod=Jn({type:e});static#n=this.\u0275inj=Ln({})}return e})();function LU(e){return"guarded"}function VU(e){return["disabled"===e.initialNavigation?Tn(3,[{provide:Ah,multi:!0,useFactory:()=>{const n=T(qt);return()=>{n.setUpLocationChangeListener()}}},{provide:qp,useValue:2}]).\u0275providers:[],"enabledBlocking"===e.initialNavigation?Tn(2,[{provide:qp,useValue:0},{provide:Ah,multi:!0,deps:[wt],useFactory:n=>{const t=n.get(ZF,Promise.resolve());return()=>t.then(()=>new Promise(r=>{const o=n.get(qt),i=n.get(RI);MI(o,()=>{r(!0)}),n.get(Gc).afterPreactivation=()=>(r(!0),i.closed?B(void 0):i),o.initialNavigation()}))}}]).\u0275providers:[]]}const FI=new N(""),UU=()=>["/pro"];let BU=(()=>{class e{constructor(){this.years=(new Date).getFullYear()-2009}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275cmp=xt({type:e,selectors:[["app-footer"]],standalone:!0,features:[Lt],decls:94,vars:3,consts:[[1,"container-fluid","mt-5"],[1,"p-5"],[1,"container"],[1,"row"],[1,"col-xs-12","col-md-4","text-center"],["src","resources/portrait_600.jpg","alt","Portrait",1,"img-fluid","img-thumbnail","mb-5","portrait"],[1,"col-xs-12","col-md-8"],[3,"routerLink"],[1,"fa-solid","fa-heart","githubheart"],["href","https://github.com/sponsors/danielpalme","target","_blank"],[1,"col-md-3","offset-md-2"],["href","https://github.com/danielpalme/ReportGenerator","target","_blank"],["href","https://github.com/danielpalme/ReportGenerator/wiki","target","_blank"],["href","https://github.com/danielpalme/ReportGenerator/wiki/FAQ","target","_blank"],[1,"col-md-4","mt-4","mt-md-0"],["href","https://www.nuget.org/packages/ReportGenerator","target","_blank"],["href","https://www.nuget.org/packages/dotnet-reportgenerator-globaltool","target","_blank"],["href","https://www.nuget.org/packages/ReportGenerator.Core","target","_blank"],["href","https://github.com/marketplace/actions/reportgenerator","target","_blank"],["href","https://marketplace.visualstudio.com/items?itemName=Palmmedia.reportgenerator","target","_blank"],[1,"col-md-3","mt-4","mt-md-0"],[1,"fa-brands","fa-github"],["href","https://twitter.com/danielpalme","target","_blank"],[1,"fa-brands","fa-twitter"],["href","https://www.palmmedia.de/Privacy","target","_blank"],["href","https://www.palmmedia.de/Imprint","target","_blank"]],template:function(r,o){1&r&&(h(0,"footer",0)(1,"div",1)(2,"div",2)(3,"div",3)(4,"div",4),y(5,"img",5),p(),h(6,"div",6)(7,"h2"),f(8,"Who's behind"),p(),h(9,"p"),f(10,"My name is Daniel Palme. I'm a software developer from Germany."),p(),h(11,"p"),f(12," Back in 2009 I wanted to create code coverage reports based on "),h(13,"i"),f(14,"PartCover"),p(),f(15," files."),y(16,"br"),f(17," Since no existing tool was able to merge several coverage files and generate a visual appealing report, I decided to create my own."),y(18,"br"),f(19),h(20,"i"),f(21,"ReportGenerator"),p(),f(22,". "),p(),h(23,"p"),f(24," You can support the ongoing maintenance by buying a "),h(25,"a",7),f(26,"PRO license"),p(),f(27," or by becoming a "),y(28,"i",8),f(29,"\xa0"),h(30,"a",9),f(31,"GitHub sponsor"),p(),f(32,". "),p()()()()(),h(33,"div",2)(34,"div",3),y(35,"hr"),p()(),h(36,"div",1)(37,"div",2)(38,"div",3)(39,"div",10)(40,"p")(41,"b"),f(42,"GitHub"),p()(),h(43,"a",11),f(44,"Source code"),p(),y(45,"br"),h(46,"a",12),f(47,"Wiki"),p(),y(48,"br"),h(49,"a",13),f(50,"FAQ"),p()(),h(51,"div",14)(52,"p")(53,"b"),f(54,"Download"),p()(),h(55,"i"),f(56,"NuGet"),p(),y(57,"br"),h(58,"a",15),f(59,"ReportGenerator"),p(),y(60,"br"),h(61,"a",16),f(62,"dotnet-reportgenerator-globaltool"),p(),y(63,"br"),h(64,"a",17),f(65,"ReportGenerator.Core"),p(),y(66,"br")(67,"br"),h(68,"i"),f(69,"Integration"),p(),y(70,"br"),h(71,"a",18),f(72,"GitHub actions"),p(),y(73,"br"),h(74,"a",19),f(75,"Azure DevOps"),p()(),h(76,"div",20)(77,"p")(78,"b"),f(79,"Community"),p()(),h(80,"a",11),y(81,"i",21),f(82," GitHub"),p(),y(83,"br"),h(84,"a",22),y(85,"i",23),f(86," Twitter"),p(),y(87,"br")(88,"br"),h(89,"a",24),f(90,"Privacy"),p(),y(91,"br"),h(92,"a",25),f(93,"Imprint"),p()()()()()()),2&r&&(C(19),Gn(" Fast forward ",o.years," years, I'm still maintaining "),C(6),M("routerLink",ee(2,UU)))},dependencies:[Sn],styles:["footer[_ngcontent-%COMP%]{background-color:#464646}footer[_ngcontent-%COMP%], a[_ngcontent-%COMP%]{color:#fff}.portrait[_ngcontent-%COMP%]{max-height:300px}"]})}return e})();const LI=()=>["/"],HU=e=>({show:e}),wi=()=>["link-active"],VI=()=>({exact:!0}),$U=()=>["/features"],GU=()=>["/getstarted"],zU=()=>["/usage"],qU=()=>["/contact"],WU=()=>["/pro"];let ZU=(()=>{class e{constructor(){this.isExpanded=!1}collapse(){this.isExpanded=!1}toggle(){this.isExpanded=!this.isExpanded}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275cmp=xt({type:e,selectors:[["app-nav-menu"]],standalone:!0,features:[Lt],decls:42,vars:34,consts:[[1,"mb-5"],[1,"navbar","fixed-top","navbar-expand-sm","navbar-toggleable-sm","navbar-light","bg-white","border-bottom","box-shadow","mb-3"],[1,"container-xxl","flex-wrap","flex-md-nowrap"],[1,"navbar-brand",3,"routerLink"],["src","resources/logo.svg","height","40","alt","Icon",1,"me-2"],[1,"d-sm-none","d-md-none","d-lg-inline","ms-2"],["type","button","data-toggle","collapse","data-target",".navbar-collapse","aria-label","Toggle navigation",1,"navbar-toggler",3,"click"],[1,"navbar-toggler-icon"],[1,"navbar-collapse","collapse","d-sm-inline-flex",3,"ngClass"],[1,"navbar-nav","flex-grow"],[1,"nav-item",3,"routerLinkActive","routerLinkActiveOptions"],[1,"nav-link","text-dark",3,"routerLink"],[1,"nav-item",3,"routerLinkActive"],[1,"nav-link","text-dark","text-nowrap",3,"routerLink"],[1,"pro-button"],[1,"d-md-none","text-secondary"],[1,"navbar-nav","flex-row","flex-wrap","ms-md-auto","d-sm-none","d-md-flex"],[1,"nav-item","col-6","col-md-auto"],["href","https://github.com/danielpalme/ReportGenerator","target","_blank","title","GitHub",1,"nav-link","text-dark"],[1,"fa-brands","fa-github"],[1,"d-inline","d-sm-none","ms-2"],["href","https://twitter.com/danielpalme","target","_blank","title","Twitter",1,"nav-link","text-dark"],[1,"fa-brands","fa-twitter"]],template:function(r,o){1&r&&(h(0,"header",0)(1,"nav",1)(2,"div",2)(3,"a",3),y(4,"img",4),h(5,"span",5),f(6,"ReportGenerator"),p()(),h(7,"button",6),U("click",function(){return o.toggle()}),y(8,"span",7),p(),h(9,"div",8)(10,"ul",9)(11,"li",10)(12,"a",11),f(13,"Home"),p()(),h(14,"li",10)(15,"a",11),f(16,"Features"),p()(),h(17,"li",12)(18,"a",13),f(19,"Get started"),p()(),h(20,"li",12)(21,"a",11),f(22,"Usage"),p()(),h(23,"li",12)(24,"a",11),f(25,"Contact"),p()(),h(26,"li",12)(27,"a",11)(28,"span",14),f(29,"PRO"),p()()()(),y(30,"hr",15),h(31,"ul",16)(32,"li",17)(33,"a",18),y(34,"i",19),h(35,"span",20),f(36,"GitHub"),p()()(),h(37,"li",17)(38,"a",21),y(39,"i",22),h(40,"span",20),f(41,"Twitter"),p()()()()()()()()),2&r&&(C(3),M("routerLink",ee(17,LI)),C(4),nn("aria-expanded",o.isExpanded),C(2),M("ngClass",Rs(18,HU,o.isExpanded)),C(2),M("routerLinkActive",ee(20,wi))("routerLinkActiveOptions",ee(21,VI)),C(),M("routerLink",ee(22,LI)),C(2),M("routerLinkActive",ee(23,wi))("routerLinkActiveOptions",ee(24,VI)),C(),M("routerLink",ee(25,$U)),C(2),M("routerLinkActive",ee(26,wi)),C(),M("routerLink",ee(27,GU)),C(2),M("routerLinkActive",ee(28,wi)),C(),M("routerLink",ee(29,zU)),C(2),M("routerLinkActive",ee(30,wi)),C(),M("routerLink",ee(31,qU)),C(2),M("routerLinkActive",ee(32,wi)),C(),M("routerLink",ee(33,WU)))},dependencies:[Sn,Ec,SI],styles:[".box-shadow[_ngcontent-%COMP%]{box-shadow:0 .25rem .75rem #0000000d}@keyframes _ngcontent-%COMP%_pro-button-animation{0%{background-color:var(--rg-primary-color);background-image:linear-gradient(50deg,var(--rg-gradient-from) 0%,var(--rg-gradient-to) 100%)}50%{background-color:vvar(--rg-primary-hover-color);background-image:linear-gradient(50deg,var(--rg-gradient-hover-from) 0%,var(--rg-gradient-hover-from) 100%);box-shadow:0 0 6px 1px var(--rg-primary-color)}to{background-color:var(--rg-primary-color);background-image:linear-gradient(50deg,var(--rg-gradient-from) 0%,var(--rg-gradient-to) 100%)}}.pro-button[_ngcontent-%COMP%]{animation-name:_ngcontent-%COMP%_pro-button-animation;animation-duration:2s;animation-iteration-count:2}.pro-button[_ngcontent-%COMP%]:hover, .link-active[_ngcontent-%COMP%] .pro-button[_ngcontent-%COMP%]{background-color:var(--rg-primary-hover-color);background-image:linear-gradient(50deg,var(--rg-gradient-hover-from) 0%,var(--rg-gradient-hover-from) 100%);box-shadow:0 0 6px 1px var(--rg-primary-color)}.nav-link[_ngcontent-%COMP%]{text-transform:uppercase;font-weight:500}.nav-link[_ngcontent-%COMP%]:hover{text-decoration:underline;text-underline-offset:2px}.link-active[_ngcontent-%COMP%] a[_ngcontent-%COMP%]{color:var(--rg-primary-hover-color)!important;font-weight:400}"]})}return e})(),QU=(()=>{class e{constructor(t,r,o){this.dom=t,this.router=r,this.activatedRoute=o}ngOnInit(){this.router.events.pipe(cn(t=>t instanceof In),K(()=>this.activatedRoute),K(t=>{for(;t.firstChild;)t=t.firstChild;return t}),cn(t=>"primary"===t.outlet),nt(t=>t.data)).subscribe(t=>{const r=`${window.location.protocol}//${window.location.hostname}`;this.updateCanonicalUrl(t.canonical?r+t.canonical:r+this.router.url)})}updateCanonicalUrl(t){const r=this.dom.getElementsByTagName("head")[0];var o=this.dom.querySelector("link[rel='canonical']")||null;null==o&&(o=this.dom.createElement("link"),r.appendChild(o)),o.setAttribute("rel","canonical"),o.setAttribute("href",t)}static#e=this.\u0275fac=function(r){return new(r||e)(S(Tt),S(qt),S(Qr))};static#t=this.\u0275cmp=xt({type:e,selectors:[["app-root"]],standalone:!0,features:[Lt],decls:3,vars:0,template:function(r,o){1&r&&y(0,"app-nav-menu")(1,"router-outlet")(2,"app-footer")},dependencies:[ZU,Fp,BU],encapsulation:2})}return e})(),jI=(()=>{class e{constructor(t,r){this._renderer=t,this._elementRef=r,this.onChange=o=>{},this.onTouched=()=>{}}setProperty(t,r){this._renderer.setProperty(this._elementRef.nativeElement,t,r)}registerOnTouched(t){this.onTouched=t}registerOnChange(t){this.onChange=t}setDisabledState(t){this.setProperty("disabled",t)}static#e=this.\u0275fac=function(r){return new(r||e)(S(Hn),S(Ot))};static#t=this.\u0275dir=H({type:e})}return e})(),Yr=(()=>{class e extends jI{static#e=this.\u0275fac=(()=>{let t;return function(o){return(t||(t=Ke(e)))(o||e)}})();static#t=this.\u0275dir=H({type:e,features:[fe]})}return e})();const An=new N(""),JU={provide:An,useExisting:_e(()=>bi),multi:!0},eB=new N("");let bi=(()=>{class e extends jI{constructor(t,r,o){super(t,r),this._compositionMode=o,this._composing=!1,null==this._compositionMode&&(this._compositionMode=!function KU(){const e=pr()?pr().getUserAgent():"";return/android (\d+)/.test(e.toLowerCase())}())}writeValue(t){this.setProperty("value",t??"")}_handleInput(t){(!this._compositionMode||this._compositionMode&&!this._composing)&&this.onChange(t)}_compositionStart(){this._composing=!0}_compositionEnd(t){this._composing=!1,this._compositionMode&&this.onChange(t)}static#e=this.\u0275fac=function(r){return new(r||e)(S(Hn),S(Ot),S(eB,8))};static#t=this.\u0275dir=H({type:e,selectors:[["input","formControlName","",3,"type","checkbox"],["textarea","formControlName",""],["input","formControl","",3,"type","checkbox"],["textarea","formControl",""],["input","ngModel","",3,"type","checkbox"],["textarea","ngModel",""],["","ngDefaultControl",""]],hostBindings:function(r,o){1&r&&U("input",function(s){return o._handleInput(s.target.value)})("blur",function(){return o.onTouched()})("compositionstart",function(){return o._compositionStart()})("compositionend",function(s){return o._compositionEnd(s.target.value)})},features:[Te([JU]),fe]})}return e})();function vr(e){return null==e||("string"==typeof e||Array.isArray(e))&&0===e.length}const dt=new N(""),yr=new N(""),tB=/^(?=.{1,254}$)(?=.{1,64}@)[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+)*@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/;function GI(e){return vr(e.value)?{required:!0}:null}function qI(e){return vr(e.value)||tB.test(e.value)?null:{email:!0}}function zc(e){return null}function YI(e){return null!=e}function XI(e){return Vs(e)?Je(e):e}function JI(e){let n={};return e.forEach(t=>{n=null!=t?{...n,...t}:n}),0===Object.keys(n).length?null:n}function KI(e,n){return n.map(t=>t(e))}function eM(e){return e.map(n=>function nB(e){return!e.validate}(n)?n:t=>n.validate(t))}function Wp(e){return null!=e?function tM(e){if(!e)return null;const n=e.filter(YI);return 0==n.length?null:function(t){return JI(KI(t,n))}}(eM(e)):null}function Zp(e){return null!=e?function nM(e){if(!e)return null;const n=e.filter(YI);return 0==n.length?null:function(t){return function YU(...e){const n=hE(e),{args:t,keys:r}=pE(e),o=new Be(i=>{const{length:s}=t;if(!s)return void i.complete();const a=new Array(s);let l=s,c=s;for(let u=0;u{d||(d=!0,c--),a[u]=g},()=>l--,void 0,()=>{(!l||!d)&&(c||i.next(r?mE(r,a):a),i.complete())}))}});return n?o.pipe(gE(n)):o}(KI(t,n).map(XI)).pipe(K(JI))}}(eM(e)):null}function rM(e,n){return null===e?[n]:Array.isArray(e)?[...e,n]:[e,n]}function Qp(e){return e?Array.isArray(e)?e:[e]:[]}function qc(e,n){return Array.isArray(e)?e.includes(n):e===n}function sM(e,n){const t=Qp(n);return Qp(e).forEach(o=>{qc(t,o)||t.push(o)}),t}function aM(e,n){return Qp(n).filter(t=>!qc(e,t))}class lM{constructor(){this._rawValidators=[],this._rawAsyncValidators=[],this._onDestroyCallbacks=[]}get value(){return this.control?this.control.value:null}get valid(){return this.control?this.control.valid:null}get invalid(){return this.control?this.control.invalid:null}get pending(){return this.control?this.control.pending:null}get disabled(){return this.control?this.control.disabled:null}get enabled(){return this.control?this.control.enabled:null}get errors(){return this.control?this.control.errors:null}get pristine(){return this.control?this.control.pristine:null}get dirty(){return this.control?this.control.dirty:null}get touched(){return this.control?this.control.touched:null}get status(){return this.control?this.control.status:null}get untouched(){return this.control?this.control.untouched:null}get statusChanges(){return this.control?this.control.statusChanges:null}get valueChanges(){return this.control?this.control.valueChanges:null}get path(){return null}_setValidators(n){this._rawValidators=n||[],this._composedValidatorFn=Wp(this._rawValidators)}_setAsyncValidators(n){this._rawAsyncValidators=n||[],this._composedAsyncValidatorFn=Zp(this._rawAsyncValidators)}get validator(){return this._composedValidatorFn||null}get asyncValidator(){return this._composedAsyncValidatorFn||null}_registerOnDestroy(n){this._onDestroyCallbacks.push(n)}_invokeOnDestroyCallbacks(){this._onDestroyCallbacks.forEach(n=>n()),this._onDestroyCallbacks=[]}reset(n=void 0){this.control&&this.control.reset(n)}hasError(n,t){return!!this.control&&this.control.hasError(n,t)}getError(n,t){return this.control?this.control.getError(n,t):null}}class vt extends lM{get formDirective(){return null}get path(){return null}}class _r extends lM{constructor(){super(...arguments),this._parent=null,this.name=null,this.valueAccessor=null}}class cM{constructor(n){this._cd=n}get isTouched(){return!!this._cd?.control?.touched}get isUntouched(){return!!this._cd?.control?.untouched}get isPristine(){return!!this._cd?.control?.pristine}get isDirty(){return!!this._cd?.control?.dirty}get isValid(){return!!this._cd?.control?.valid}get isInvalid(){return!!this._cd?.control?.invalid}get isPending(){return!!this._cd?.control?.pending}get isSubmitted(){return!!this._cd?.submitted}}let Wc=(()=>{class e extends cM{constructor(t){super(t)}static#e=this.\u0275fac=function(r){return new(r||e)(S(_r,2))};static#t=this.\u0275dir=H({type:e,selectors:[["","formControlName",""],["","ngModel",""],["","formControl",""]],hostVars:14,hostBindings:function(r,o){2&r&&Zl("ng-untouched",o.isUntouched)("ng-touched",o.isTouched)("ng-pristine",o.isPristine)("ng-dirty",o.isDirty)("ng-valid",o.isValid)("ng-invalid",o.isInvalid)("ng-pending",o.isPending)},features:[fe]})}return e})(),Zc=(()=>{class e extends cM{constructor(t){super(t)}static#e=this.\u0275fac=function(r){return new(r||e)(S(vt,10))};static#t=this.\u0275dir=H({type:e,selectors:[["","formGroupName",""],["","formArrayName",""],["","ngModelGroup",""],["","formGroup",""],["form",3,"ngNoForm",""],["","ngForm",""]],hostVars:16,hostBindings:function(r,o){2&r&&Zl("ng-untouched",o.isUntouched)("ng-touched",o.isTouched)("ng-pristine",o.isPristine)("ng-dirty",o.isDirty)("ng-valid",o.isValid)("ng-invalid",o.isInvalid)("ng-pending",o.isPending)("ng-submitted",o.isSubmitted)},features:[fe]})}return e})();const la="VALID",Yc="INVALID",Ei="PENDING",ca="DISABLED";function Jp(e){return(Xc(e)?e.validators:e)||null}function Kp(e,n){return(Xc(n)?n.asyncValidators:e)||null}function Xc(e){return null!=e&&!Array.isArray(e)&&"object"==typeof e}class eg{constructor(n,t){this._pendingDirty=!1,this._hasOwnPendingAsyncValidator=!1,this._pendingTouched=!1,this._onCollectionChange=()=>{},this._parent=null,this.pristine=!0,this.touched=!1,this._onDisabledChange=[],this._assignValidators(n),this._assignAsyncValidators(t)}get validator(){return this._composedValidatorFn}set validator(n){this._rawValidators=this._composedValidatorFn=n}get asyncValidator(){return this._composedAsyncValidatorFn}set asyncValidator(n){this._rawAsyncValidators=this._composedAsyncValidatorFn=n}get parent(){return this._parent}get valid(){return this.status===la}get invalid(){return this.status===Yc}get pending(){return this.status==Ei}get disabled(){return this.status===ca}get enabled(){return this.status!==ca}get dirty(){return!this.pristine}get untouched(){return!this.touched}get updateOn(){return this._updateOn?this._updateOn:this.parent?this.parent.updateOn:"change"}setValidators(n){this._assignValidators(n)}setAsyncValidators(n){this._assignAsyncValidators(n)}addValidators(n){this.setValidators(sM(n,this._rawValidators))}addAsyncValidators(n){this.setAsyncValidators(sM(n,this._rawAsyncValidators))}removeValidators(n){this.setValidators(aM(n,this._rawValidators))}removeAsyncValidators(n){this.setAsyncValidators(aM(n,this._rawAsyncValidators))}hasValidator(n){return qc(this._rawValidators,n)}hasAsyncValidator(n){return qc(this._rawAsyncValidators,n)}clearValidators(){this.validator=null}clearAsyncValidators(){this.asyncValidator=null}markAsTouched(n={}){this.touched=!0,this._parent&&!n.onlySelf&&this._parent.markAsTouched(n)}markAllAsTouched(){this.markAsTouched({onlySelf:!0}),this._forEachChild(n=>n.markAllAsTouched())}markAsUntouched(n={}){this.touched=!1,this._pendingTouched=!1,this._forEachChild(t=>{t.markAsUntouched({onlySelf:!0})}),this._parent&&!n.onlySelf&&this._parent._updateTouched(n)}markAsDirty(n={}){this.pristine=!1,this._parent&&!n.onlySelf&&this._parent.markAsDirty(n)}markAsPristine(n={}){this.pristine=!0,this._pendingDirty=!1,this._forEachChild(t=>{t.markAsPristine({onlySelf:!0})}),this._parent&&!n.onlySelf&&this._parent._updatePristine(n)}markAsPending(n={}){this.status=Ei,!1!==n.emitEvent&&this.statusChanges.emit(this.status),this._parent&&!n.onlySelf&&this._parent.markAsPending(n)}disable(n={}){const t=this._parentMarkedDirty(n.onlySelf);this.status=ca,this.errors=null,this._forEachChild(r=>{r.disable({...n,onlySelf:!0})}),this._updateValue(),!1!==n.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._updateAncestors({...n,skipPristineCheck:t}),this._onDisabledChange.forEach(r=>r(!0))}enable(n={}){const t=this._parentMarkedDirty(n.onlySelf);this.status=la,this._forEachChild(r=>{r.enable({...n,onlySelf:!0})}),this.updateValueAndValidity({onlySelf:!0,emitEvent:n.emitEvent}),this._updateAncestors({...n,skipPristineCheck:t}),this._onDisabledChange.forEach(r=>r(!1))}_updateAncestors(n){this._parent&&!n.onlySelf&&(this._parent.updateValueAndValidity(n),n.skipPristineCheck||this._parent._updatePristine(),this._parent._updateTouched())}setParent(n){this._parent=n}getRawValue(){return this.value}updateValueAndValidity(n={}){this._setInitialStatus(),this._updateValue(),this.enabled&&(this._cancelExistingSubscription(),this.errors=this._runValidator(),this.status=this._calculateStatus(),(this.status===la||this.status===Ei)&&this._runAsyncValidator(n.emitEvent)),!1!==n.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._parent&&!n.onlySelf&&this._parent.updateValueAndValidity(n)}_updateTreeValidity(n={emitEvent:!0}){this._forEachChild(t=>t._updateTreeValidity(n)),this.updateValueAndValidity({onlySelf:!0,emitEvent:n.emitEvent})}_setInitialStatus(){this.status=this._allControlsDisabled()?ca:la}_runValidator(){return this.validator?this.validator(this):null}_runAsyncValidator(n){if(this.asyncValidator){this.status=Ei,this._hasOwnPendingAsyncValidator=!0;const t=XI(this.asyncValidator(this));this._asyncValidationSubscription=t.subscribe(r=>{this._hasOwnPendingAsyncValidator=!1,this.setErrors(r,{emitEvent:n})})}}_cancelExistingSubscription(){this._asyncValidationSubscription&&(this._asyncValidationSubscription.unsubscribe(),this._hasOwnPendingAsyncValidator=!1)}setErrors(n,t={}){this.errors=n,this._updateControlsErrors(!1!==t.emitEvent)}get(n){let t=n;return null==t||(Array.isArray(t)||(t=t.split(".")),0===t.length)?null:t.reduce((r,o)=>r&&r._find(o),this)}getError(n,t){const r=t?this.get(t):this;return r&&r.errors?r.errors[n]:null}hasError(n,t){return!!this.getError(n,t)}get root(){let n=this;for(;n._parent;)n=n._parent;return n}_updateControlsErrors(n){this.status=this._calculateStatus(),n&&this.statusChanges.emit(this.status),this._parent&&this._parent._updateControlsErrors(n)}_initObservables(){this.valueChanges=new Ae,this.statusChanges=new Ae}_calculateStatus(){return this._allControlsDisabled()?ca:this.errors?Yc:this._hasOwnPendingAsyncValidator||this._anyControlsHaveStatus(Ei)?Ei:this._anyControlsHaveStatus(Yc)?Yc:la}_anyControlsHaveStatus(n){return this._anyControls(t=>t.status===n)}_anyControlsDirty(){return this._anyControls(n=>n.dirty)}_anyControlsTouched(){return this._anyControls(n=>n.touched)}_updatePristine(n={}){this.pristine=!this._anyControlsDirty(),this._parent&&!n.onlySelf&&this._parent._updatePristine(n)}_updateTouched(n={}){this.touched=this._anyControlsTouched(),this._parent&&!n.onlySelf&&this._parent._updateTouched(n)}_registerOnCollectionChange(n){this._onCollectionChange=n}_setUpdateStrategy(n){Xc(n)&&null!=n.updateOn&&(this._updateOn=n.updateOn)}_parentMarkedDirty(n){return!n&&!(!this._parent||!this._parent.dirty)&&!this._parent._anyControlsDirty()}_find(n){return null}_assignValidators(n){this._rawValidators=Array.isArray(n)?n.slice():n,this._composedValidatorFn=function sB(e){return Array.isArray(e)?Wp(e):e||null}(this._rawValidators)}_assignAsyncValidators(n){this._rawAsyncValidators=Array.isArray(n)?n.slice():n,this._composedAsyncValidatorFn=function aB(e){return Array.isArray(e)?Zp(e):e||null}(this._rawAsyncValidators)}}class tg extends eg{constructor(n,t,r){super(Jp(t),Kp(r,t)),this.controls=n,this._initObservables(),this._setUpdateStrategy(t),this._setUpControls(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator})}registerControl(n,t){return this.controls[n]?this.controls[n]:(this.controls[n]=t,t.setParent(this),t._registerOnCollectionChange(this._onCollectionChange),t)}addControl(n,t,r={}){this.registerControl(n,t),this.updateValueAndValidity({emitEvent:r.emitEvent}),this._onCollectionChange()}removeControl(n,t={}){this.controls[n]&&this.controls[n]._registerOnCollectionChange(()=>{}),delete this.controls[n],this.updateValueAndValidity({emitEvent:t.emitEvent}),this._onCollectionChange()}setControl(n,t,r={}){this.controls[n]&&this.controls[n]._registerOnCollectionChange(()=>{}),delete this.controls[n],t&&this.registerControl(n,t),this.updateValueAndValidity({emitEvent:r.emitEvent}),this._onCollectionChange()}contains(n){return this.controls.hasOwnProperty(n)&&this.controls[n].enabled}setValue(n,t={}){(function fM(e,n,t){e._forEachChild((r,o)=>{if(void 0===t[o])throw new I(1002,"")})})(this,0,n),Object.keys(n).forEach(r=>{(function dM(e,n,t){const r=e.controls;if(!(n?Object.keys(r):r).length)throw new I(1e3,"");if(!r[t])throw new I(1001,"")})(this,!0,r),this.controls[r].setValue(n[r],{onlySelf:!0,emitEvent:t.emitEvent})}),this.updateValueAndValidity(t)}patchValue(n,t={}){null!=n&&(Object.keys(n).forEach(r=>{const o=this.controls[r];o&&o.patchValue(n[r],{onlySelf:!0,emitEvent:t.emitEvent})}),this.updateValueAndValidity(t))}reset(n={},t={}){this._forEachChild((r,o)=>{r.reset(n?n[o]:null,{onlySelf:!0,emitEvent:t.emitEvent})}),this._updatePristine(t),this._updateTouched(t),this.updateValueAndValidity(t)}getRawValue(){return this._reduceChildren({},(n,t,r)=>(n[r]=t.getRawValue(),n))}_syncPendingControls(){let n=this._reduceChildren(!1,(t,r)=>!!r._syncPendingControls()||t);return n&&this.updateValueAndValidity({onlySelf:!0}),n}_forEachChild(n){Object.keys(this.controls).forEach(t=>{const r=this.controls[t];r&&n(r,t)})}_setUpControls(){this._forEachChild(n=>{n.setParent(this),n._registerOnCollectionChange(this._onCollectionChange)})}_updateValue(){this.value=this._reduceValue()}_anyControls(n){for(const[t,r]of Object.entries(this.controls))if(this.contains(t)&&n(r))return!0;return!1}_reduceValue(){return this._reduceChildren({},(t,r,o)=>((r.enabled||this.disabled)&&(t[o]=r.value),t))}_reduceChildren(n,t){let r=n;return this._forEachChild((o,i)=>{r=t(r,o,i)}),r}_allControlsDisabled(){for(const n of Object.keys(this.controls))if(this.controls[n].enabled)return!1;return Object.keys(this.controls).length>0||this.disabled}_find(n){return this.controls.hasOwnProperty(n)?this.controls[n]:null}}const Ii=new N("CallSetDisabledState",{providedIn:"root",factory:()=>Jc}),Jc="always";function ua(e,n,t=Jc){ng(e,n),n.valueAccessor.writeValue(e.value),(e.disabled||"always"===t)&&n.valueAccessor.setDisabledState?.(e.disabled),function uB(e,n){n.valueAccessor.registerOnChange(t=>{e._pendingValue=t,e._pendingChange=!0,e._pendingDirty=!0,"change"===e.updateOn&&hM(e,n)})}(e,n),function fB(e,n){const t=(r,o)=>{n.valueAccessor.writeValue(r),o&&n.viewToModelUpdate(r)};e.registerOnChange(t),n._registerOnDestroy(()=>{e._unregisterOnChange(t)})}(e,n),function dB(e,n){n.valueAccessor.registerOnTouched(()=>{e._pendingTouched=!0,"blur"===e.updateOn&&e._pendingChange&&hM(e,n),"submit"!==e.updateOn&&e.markAsTouched()})}(e,n),function cB(e,n){if(n.valueAccessor.setDisabledState){const t=r=>{n.valueAccessor.setDisabledState(r)};e.registerOnDisabledChange(t),n._registerOnDestroy(()=>{e._unregisterOnDisabledChange(t)})}}(e,n)}function tu(e,n){e.forEach(t=>{t.registerOnValidatorChange&&t.registerOnValidatorChange(n)})}function ng(e,n){const t=function oM(e){return e._rawValidators}(e);null!==n.validator?e.setValidators(rM(t,n.validator)):"function"==typeof t&&e.setValidators([t]);const r=function iM(e){return e._rawAsyncValidators}(e);null!==n.asyncValidator?e.setAsyncValidators(rM(r,n.asyncValidator)):"function"==typeof r&&e.setAsyncValidators([r]);const o=()=>e.updateValueAndValidity();tu(n._rawValidators,o),tu(n._rawAsyncValidators,o)}function hM(e,n){e._pendingDirty&&e.markAsDirty(),e.setValue(e._pendingValue,{emitModelToViewChange:!1}),n.viewToModelUpdate(e._pendingValue),e._pendingChange=!1}const vB={provide:vt,useExisting:_e(()=>Mi)},da=Promise.resolve();let Mi=(()=>{class e extends vt{constructor(t,r,o){super(),this.callSetDisabledState=o,this.submitted=!1,this._directives=new Set,this.ngSubmit=new Ae,this.form=new tg({},Wp(t),Zp(r))}ngAfterViewInit(){this._setUpdateStrategy()}get formDirective(){return this}get control(){return this.form}get path(){return[]}get controls(){return this.form.controls}addControl(t){da.then(()=>{const r=this._findContainer(t.path);t.control=r.registerControl(t.name,t.control),ua(t.control,t,this.callSetDisabledState),t.control.updateValueAndValidity({emitEvent:!1}),this._directives.add(t)})}getControl(t){return this.form.get(t.path)}removeControl(t){da.then(()=>{const r=this._findContainer(t.path);r&&r.removeControl(t.name),this._directives.delete(t)})}addFormGroup(t){da.then(()=>{const r=this._findContainer(t.path),o=new tg({});(function pM(e,n){ng(e,n)})(o,t),r.registerControl(t.name,o),o.updateValueAndValidity({emitEvent:!1})})}removeFormGroup(t){da.then(()=>{const r=this._findContainer(t.path);r&&r.removeControl(t.name)})}getFormGroup(t){return this.form.get(t.path)}updateModel(t,r){da.then(()=>{this.form.get(t.path).setValue(r)})}setValue(t){this.control.setValue(t)}onSubmit(t){return this.submitted=!0,function gM(e,n){e._syncPendingControls(),n.forEach(t=>{const r=t.control;"submit"===r.updateOn&&r._pendingChange&&(t.viewToModelUpdate(r._pendingValue),r._pendingChange=!1)})}(this.form,this._directives),this.ngSubmit.emit(t),"dialog"===t?.target?.method}onReset(){this.resetForm()}resetForm(t=void 0){this.form.reset(t),this.submitted=!1}_setUpdateStrategy(){this.options&&null!=this.options.updateOn&&(this.form._updateOn=this.options.updateOn)}_findContainer(t){return t.pop(),t.length?this.form.get(t):this.form}static#e=this.\u0275fac=function(r){return new(r||e)(S(dt,10),S(yr,10),S(Ii,8))};static#t=this.\u0275dir=H({type:e,selectors:[["form",3,"ngNoForm","",3,"formGroup",""],["ng-form"],["","ngForm",""]],hostBindings:function(r,o){1&r&&U("submit",function(s){return o.onSubmit(s)})("reset",function(){return o.onReset()})},inputs:{options:[Ie.None,"ngFormOptions","options"]},outputs:{ngSubmit:"ngSubmit"},exportAs:["ngForm"],features:[Te([vB]),fe]})}return e})();function mM(e,n){const t=e.indexOf(n);t>-1&&e.splice(t,1)}function vM(e){return"object"==typeof e&&null!==e&&2===Object.keys(e).length&&"value"in e&&"disabled"in e}const yM=class extends eg{constructor(n=null,t,r){super(Jp(t),Kp(r,t)),this.defaultValue=null,this._onChange=[],this._pendingChange=!1,this._applyFormState(n),this._setUpdateStrategy(t),this._initObservables(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator}),Xc(t)&&(t.nonNullable||t.initialValueIsDefault)&&(this.defaultValue=vM(n)?n.value:n)}setValue(n,t={}){this.value=this._pendingValue=n,this._onChange.length&&!1!==t.emitModelToViewChange&&this._onChange.forEach(r=>r(this.value,!1!==t.emitViewToModelChange)),this.updateValueAndValidity(t)}patchValue(n,t={}){this.setValue(n,t)}reset(n=this.defaultValue,t={}){this._applyFormState(n),this.markAsPristine(t),this.markAsUntouched(t),this.setValue(this.value,t),this._pendingChange=!1}_updateValue(){}_anyControls(n){return!1}_allControlsDisabled(){return this.disabled}registerOnChange(n){this._onChange.push(n)}_unregisterOnChange(n){mM(this._onChange,n)}registerOnDisabledChange(n){this._onDisabledChange.push(n)}_unregisterOnDisabledChange(n){mM(this._onDisabledChange,n)}_forEachChild(n){}_syncPendingControls(){return!("submit"!==this.updateOn||(this._pendingDirty&&this.markAsDirty(),this._pendingTouched&&this.markAsTouched(),!this._pendingChange)||(this.setValue(this._pendingValue,{onlySelf:!0,emitModelToViewChange:!1}),0))}_applyFormState(n){vM(n)?(this.value=this._pendingValue=n.value,n.disabled?this.disable({onlySelf:!0,emitEvent:!1}):this.enable({onlySelf:!0,emitEvent:!1})):this.value=this._pendingValue=n}},CB={provide:_r,useExisting:_e(()=>fa)},DM=Promise.resolve();let fa=(()=>{class e extends _r{constructor(t,r,o,i,s,a){super(),this._changeDetectorRef=s,this.callSetDisabledState=a,this.control=new yM,this._registered=!1,this.name="",this.update=new Ae,this._parent=t,this._setValidators(r),this._setAsyncValidators(o),this.valueAccessor=function ig(e,n){if(!n)return null;let t,r,o;return Array.isArray(n),n.forEach(i=>{i.constructor===bi?t=i:function gB(e){return Object.getPrototypeOf(e.constructor)===Yr}(i)?r=i:o=i}),o||r||t||null}(0,i)}ngOnChanges(t){if(this._checkForErrors(),!this._registered||"name"in t){if(this._registered&&(this._checkName(),this.formDirective)){const r=t.name.previousValue;this.formDirective.removeControl({name:r,path:this._getPath(r)})}this._setUpControl()}"isDisabled"in t&&this._updateDisabled(t),function og(e,n){if(!e.hasOwnProperty("model"))return!1;const t=e.model;return!!t.isFirstChange()||!Object.is(n,t.currentValue)}(t,this.viewModel)&&(this._updateValue(this.model),this.viewModel=this.model)}ngOnDestroy(){this.formDirective&&this.formDirective.removeControl(this)}get path(){return this._getPath(this.name)}get formDirective(){return this._parent?this._parent.formDirective:null}viewToModelUpdate(t){this.viewModel=t,this.update.emit(t)}_setUpControl(){this._setUpdateStrategy(),this._isStandalone()?this._setUpStandalone():this.formDirective.addControl(this),this._registered=!0}_setUpdateStrategy(){this.options&&null!=this.options.updateOn&&(this.control._updateOn=this.options.updateOn)}_isStandalone(){return!this._parent||!(!this.options||!this.options.standalone)}_setUpStandalone(){ua(this.control,this,this.callSetDisabledState),this.control.updateValueAndValidity({emitEvent:!1})}_checkForErrors(){this._isStandalone()||this._checkParentType(),this._checkName()}_checkParentType(){}_checkName(){this.options&&this.options.name&&(this.name=this.options.name),this._isStandalone()}_updateValue(t){DM.then(()=>{this.control.setValue(t,{emitViewToModelChange:!1}),this._changeDetectorRef?.markForCheck()})}_updateDisabled(t){const r=t.isDisabled.currentValue,o=0!==r&&ii(r);DM.then(()=>{o&&!this.control.disabled?this.control.disable():!o&&this.control.disabled&&this.control.enable(),this._changeDetectorRef?.markForCheck()})}_getPath(t){return this._parent?function Kc(e,n){return[...n.path,e]}(t,this._parent):[t]}static#e=this.\u0275fac=function(r){return new(r||e)(S(vt,9),S(dt,10),S(yr,10),S(An,10),S(ms,8),S(Ii,8))};static#t=this.\u0275dir=H({type:e,selectors:[["","ngModel","",3,"formControlName","",3,"formControl",""]],inputs:{name:"name",isDisabled:[Ie.None,"disabled","isDisabled"],model:[Ie.None,"ngModel","model"],options:[Ie.None,"ngModelOptions","options"]},outputs:{update:"ngModelChange"},exportAs:["ngModel"],features:[Te([CB]),fe,Ut]})}return e})(),ru=(()=>{class e{static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275dir=H({type:e,selectors:[["form",3,"ngNoForm","",3,"ngNativeValidate",""]],hostAttrs:["novalidate",""]})}return e})();const wB={provide:An,useExisting:_e(()=>sg),multi:!0};let bB=(()=>{class e{constructor(){this._accessors=[]}add(t,r){this._accessors.push([t,r])}remove(t){for(let r=this._accessors.length-1;r>=0;--r)if(this._accessors[r][1]===t)return void this._accessors.splice(r,1)}select(t){this._accessors.forEach(r=>{this._isSameGroup(r,t)&&r[1]!==t&&r[1].fireUncheck(t.value)})}_isSameGroup(t,r){return!!t[0].control&&t[0]._parent===r._control._parent&&t[1].name===r.name}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=R({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})(),sg=(()=>{class e extends Yr{constructor(t,r,o,i){super(t,r),this._registry=o,this._injector=i,this.setDisabledStateFired=!1,this.onChange=()=>{},this.callSetDisabledState=T(Ii,{optional:!0})??Jc}ngOnInit(){this._control=this._injector.get(_r),this._checkName(),this._registry.add(this._control,this)}ngOnDestroy(){this._registry.remove(this)}writeValue(t){this._state=t===this.value,this.setProperty("checked",this._state)}registerOnChange(t){this._fn=t,this.onChange=()=>{t(this.value),this._registry.select(this)}}setDisabledState(t){(this.setDisabledStateFired||t||"whenDisabledForLegacyCode"===this.callSetDisabledState)&&this.setProperty("disabled",t),this.setDisabledStateFired=!0}fireUncheck(t){this.writeValue(t)}_checkName(){!this.name&&this.formControlName&&(this.name=this.formControlName)}static#e=this.\u0275fac=function(r){return new(r||e)(S(Hn),S(Ot),S(bB),S(wt))};static#t=this.\u0275dir=H({type:e,selectors:[["input","type","radio","formControlName",""],["input","type","radio","formControl",""],["input","type","radio","ngModel",""]],hostBindings:function(r,o){1&r&&U("change",function(){return o.onChange()})("blur",function(){return o.onTouched()})},inputs:{name:"name",formControlName:"formControlName",value:"value"},features:[Te([wB]),fe]})}return e})();const NB={provide:An,useExisting:_e(()=>ou),multi:!0};function TM(e,n){return null==e?`${n}`:(n&&"object"==typeof n&&(n="Object"),`${e}: ${n}`.slice(0,50))}let ou=(()=>{class e extends Yr{constructor(){super(...arguments),this._optionMap=new Map,this._idCounter=0,this._compareWith=Object.is}set compareWith(t){this._compareWith=t}writeValue(t){this.value=t;const o=TM(this._getOptionId(t),t);this.setProperty("value",o)}registerOnChange(t){this.onChange=r=>{this.value=this._getOptionValue(r),t(this.value)}}_registerOption(){return(this._idCounter++).toString()}_getOptionId(t){for(const r of this._optionMap.keys())if(this._compareWith(this._optionMap.get(r),t))return r;return null}_getOptionValue(t){const r=function xB(e){return e.split(":")[0]}(t);return this._optionMap.has(r)?this._optionMap.get(r):t}static#e=this.\u0275fac=(()=>{let t;return function(o){return(t||(t=Ke(e)))(o||e)}})();static#t=this.\u0275dir=H({type:e,selectors:[["select","formControlName","",3,"multiple",""],["select","formControl","",3,"multiple",""],["select","ngModel","",3,"multiple",""]],hostBindings:function(r,o){1&r&&U("change",function(s){return o.onChange(s.target.value)})("blur",function(){return o.onTouched()})},inputs:{compareWith:"compareWith"},features:[Te([NB]),fe]})}return e})(),AM=(()=>{class e{constructor(t,r,o){this._element=t,this._renderer=r,this._select=o,this._select&&(this.id=this._select._registerOption())}set ngValue(t){null!=this._select&&(this._select._optionMap.set(this.id,t),this._setElementValue(TM(this.id,t)),this._select.writeValue(this._select.value))}set value(t){this._setElementValue(t),this._select&&this._select.writeValue(this._select.value)}_setElementValue(t){this._renderer.setProperty(this._element.nativeElement,"value",t)}ngOnDestroy(){this._select&&(this._select._optionMap.delete(this.id),this._select.writeValue(this._select.value))}static#e=this.\u0275fac=function(r){return new(r||e)(S(Ot),S(Hn),S(ou,9))};static#t=this.\u0275dir=H({type:e,selectors:[["option"]],inputs:{ngValue:"ngValue",value:"value"}})}return e})();const RB={provide:An,useExisting:_e(()=>ug),multi:!0};function NM(e,n){return null==e?`${n}`:("string"==typeof n&&(n=`'${n}'`),n&&"object"==typeof n&&(n="Object"),`${e}: ${n}`.slice(0,50))}let ug=(()=>{class e extends Yr{constructor(){super(...arguments),this._optionMap=new Map,this._idCounter=0,this._compareWith=Object.is}set compareWith(t){this._compareWith=t}writeValue(t){let r;if(this.value=t,Array.isArray(t)){const o=t.map(i=>this._getOptionId(i));r=(i,s)=>{i._setSelected(o.indexOf(s.toString())>-1)}}else r=(o,i)=>{o._setSelected(!1)};this._optionMap.forEach(r)}registerOnChange(t){this.onChange=r=>{const o=[],i=r.selectedOptions;if(void 0!==i){const s=i;for(let a=0;a{let t;return function(o){return(t||(t=Ke(e)))(o||e)}})();static#t=this.\u0275dir=H({type:e,selectors:[["select","multiple","","formControlName",""],["select","multiple","","formControl",""],["select","multiple","","ngModel",""]],hostBindings:function(r,o){1&r&&U("change",function(s){return o.onChange(s.target)})("blur",function(){return o.onTouched()})},inputs:{compareWith:"compareWith"},features:[Te([RB]),fe]})}return e})(),xM=(()=>{class e{constructor(t,r,o){this._element=t,this._renderer=r,this._select=o,this._select&&(this.id=this._select._registerOption(this))}set ngValue(t){null!=this._select&&(this._value=t,this._setElementValue(NM(this.id,t)),this._select.writeValue(this._select.value))}set value(t){this._select?(this._value=t,this._setElementValue(NM(this.id,t)),this._select.writeValue(this._select.value)):this._setElementValue(t)}_setElementValue(t){this._renderer.setProperty(this._element.nativeElement,"value",t)}_setSelected(t){this._renderer.setProperty(this._element.nativeElement,"selected",t)}ngOnDestroy(){this._select&&(this._select._optionMap.delete(this.id),this._select.writeValue(this._select.value))}static#e=this.\u0275fac=function(r){return new(r||e)(S(Ot),S(Hn),S(ug,9))};static#t=this.\u0275dir=H({type:e,selectors:[["option"]],inputs:{ngValue:"ngValue",value:"value"}})}return e})();let Xr=(()=>{class e{constructor(){this._validator=zc}ngOnChanges(t){if(this.inputName in t){const r=this.normalizeInput(t[this.inputName].currentValue);this._enabled=this.enabled(r),this._validator=this._enabled?this.createValidator(r):zc,this._onChange&&this._onChange()}}validate(t){return this._validator(t)}registerOnValidatorChange(t){this._onChange=t}enabled(t){return null!=t}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275dir=H({type:e,features:[Ut]})}return e})();const FB={provide:dt,useExisting:_e(()=>Si),multi:!0};let Si=(()=>{class e extends Xr{constructor(){super(...arguments),this.inputName="required",this.normalizeInput=ii,this.createValidator=t=>GI}enabled(t){return t}static#e=this.\u0275fac=(()=>{let t;return function(o){return(t||(t=Ke(e)))(o||e)}})();static#t=this.\u0275dir=H({type:e,selectors:[["","required","","formControlName","",3,"type","checkbox"],["","required","","formControl","",3,"type","checkbox"],["","required","","ngModel","",3,"type","checkbox"]],hostVars:1,hostBindings:function(r,o){2&r&&nn("required",o._enabled?"":null)},inputs:{required:"required"},features:[Te([FB]),fe]})}return e})();const VB={provide:dt,useExisting:_e(()=>iu),multi:!0};let iu=(()=>{class e extends Xr{constructor(){super(...arguments),this.inputName="email",this.normalizeInput=ii,this.createValidator=t=>qI}enabled(t){return t}static#e=this.\u0275fac=(()=>{let t;return function(o){return(t||(t=Ke(e)))(o||e)}})();static#t=this.\u0275dir=H({type:e,selectors:[["","email","","formControlName",""],["","email","","formControl",""],["","email","","ngModel",""]],inputs:{email:"email"},features:[Te([VB]),fe]})}return e})();const UB={provide:dt,useExisting:_e(()=>dg),multi:!0};let dg=(()=>{class e extends Xr{constructor(){super(...arguments),this.inputName="maxlength",this.normalizeInput=t=>function RM(e){return"number"==typeof e?e:parseInt(e,10)}(t),this.createValidator=t=>function ZI(e){return n=>function BI(e){return null!=e&&"number"==typeof e.length}(n.value)&&n.value.length>e?{maxlength:{requiredLength:e,actualLength:n.value.length}}:null}(t)}static#e=this.\u0275fac=(()=>{let t;return function(o){return(t||(t=Ke(e)))(o||e)}})();static#t=this.\u0275dir=H({type:e,selectors:[["","maxlength","","formControlName",""],["","maxlength","","formControl",""],["","maxlength","","ngModel",""]],hostVars:1,hostBindings:function(r,o){2&r&&nn("maxlength",o._enabled?o.maxlength:null)},inputs:{maxlength:"maxlength"},features:[Te([UB]),fe]})}return e})();const BB={provide:dt,useExisting:_e(()=>fg),multi:!0};let fg=(()=>{class e extends Xr{constructor(){super(...arguments),this.inputName="pattern",this.normalizeInput=t=>t,this.createValidator=t=>function QI(e){if(!e)return zc;let n,t;return"string"==typeof e?(t="","^"!==e.charAt(0)&&(t+="^"),t+=e,"$"!==e.charAt(e.length-1)&&(t+="$"),n=new RegExp(t)):(t=e.toString(),n=e),r=>{if(vr(r.value))return null;const o=r.value;return n.test(o)?null:{pattern:{requiredPattern:t,actualValue:o}}}}(t)}static#e=this.\u0275fac=(()=>{let t;return function(o){return(t||(t=Ke(e)))(o||e)}})();static#t=this.\u0275dir=H({type:e,selectors:[["","pattern","","formControlName",""],["","pattern","","formControl",""],["","pattern","","ngModel",""]],hostVars:1,hostBindings:function(r,o){2&r&&nn("pattern",o._enabled?o.pattern:null)},inputs:{pattern:"pattern"},features:[Te([BB]),fe]})}return e})(),HB=(()=>{class e{static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275mod=Jn({type:e});static#n=this.\u0275inj=Ln({})}return e})(),su=(()=>{class e{static withConfig(t){return{ngModule:e,providers:[{provide:Ii,useValue:t.callSetDisabledState??Jc}]}}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275mod=Jn({type:e});static#n=this.\u0275inj=Ln({imports:[HB]})}return e})();class au{}class lu{}class Wt{constructor(n){this.normalizedNames=new Map,this.lazyUpdate=null,n?"string"==typeof n?this.lazyInit=()=>{this.headers=new Map,n.split("\n").forEach(t=>{const r=t.indexOf(":");if(r>0){const o=t.slice(0,r),i=o.toLowerCase(),s=t.slice(r+1).trim();this.maybeSetNormalizedName(o,i),this.headers.has(i)?this.headers.get(i).push(s):this.headers.set(i,[s])}})}:typeof Headers<"u"&&n instanceof Headers?(this.headers=new Map,n.forEach((t,r)=>{this.setHeaderEntries(r,t)})):this.lazyInit=()=>{this.headers=new Map,Object.entries(n).forEach(([t,r])=>{this.setHeaderEntries(t,r)})}:this.headers=new Map}has(n){return this.init(),this.headers.has(n.toLowerCase())}get(n){this.init();const t=this.headers.get(n.toLowerCase());return t&&t.length>0?t[0]:null}keys(){return this.init(),Array.from(this.normalizedNames.values())}getAll(n){return this.init(),this.headers.get(n.toLowerCase())||null}append(n,t){return this.clone({name:n,value:t,op:"a"})}set(n,t){return this.clone({name:n,value:t,op:"s"})}delete(n,t){return this.clone({name:n,value:t,op:"d"})}maybeSetNormalizedName(n,t){this.normalizedNames.has(t)||this.normalizedNames.set(t,n)}init(){this.lazyInit&&(this.lazyInit instanceof Wt?this.copyFrom(this.lazyInit):this.lazyInit(),this.lazyInit=null,this.lazyUpdate&&(this.lazyUpdate.forEach(n=>this.applyUpdate(n)),this.lazyUpdate=null))}copyFrom(n){n.init(),Array.from(n.headers.keys()).forEach(t=>{this.headers.set(t,n.headers.get(t)),this.normalizedNames.set(t,n.normalizedNames.get(t))})}clone(n){const t=new Wt;return t.lazyInit=this.lazyInit&&this.lazyInit instanceof Wt?this.lazyInit:this,t.lazyUpdate=(this.lazyUpdate||[]).concat([n]),t}applyUpdate(n){const t=n.name.toLowerCase();switch(n.op){case"a":case"s":let r=n.value;if("string"==typeof r&&(r=[r]),0===r.length)return;this.maybeSetNormalizedName(n.name,t);const o=("a"===n.op?this.headers.get(t):void 0)||[];o.push(...r),this.headers.set(t,o);break;case"d":const i=n.value;if(i){let s=this.headers.get(t);if(!s)return;s=s.filter(a=>-1===i.indexOf(a)),0===s.length?(this.headers.delete(t),this.normalizedNames.delete(t)):this.headers.set(t,s)}else this.headers.delete(t),this.normalizedNames.delete(t)}}setHeaderEntries(n,t){const r=(Array.isArray(t)?t:[t]).map(i=>i.toString()),o=n.toLowerCase();this.headers.set(o,r),this.maybeSetNormalizedName(n,o)}forEach(n){this.init(),Array.from(this.normalizedNames.keys()).forEach(t=>n(this.normalizedNames.get(t),this.headers.get(t)))}}class GB{encodeKey(n){return VM(n)}encodeValue(n){return VM(n)}decodeKey(n){return decodeURIComponent(n)}decodeValue(n){return decodeURIComponent(n)}}const qB=/%(\d[a-f0-9])/gi,WB={40:"@","3A":":",24:"$","2C":",","3B":";","3D":"=","3F":"?","2F":"/"};function VM(e){return encodeURIComponent(e).replace(qB,(n,t)=>WB[t]??n)}function cu(e){return`${e}`}class Cr{constructor(n={}){if(this.updates=null,this.cloneFrom=null,this.encoder=n.encoder||new GB,n.fromString){if(n.fromObject)throw new Error("Cannot specify both fromString and fromObject.");this.map=function zB(e,n){const t=new Map;return e.length>0&&e.replace(/^\?/,"").split("&").forEach(o=>{const i=o.indexOf("="),[s,a]=-1==i?[n.decodeKey(o),""]:[n.decodeKey(o.slice(0,i)),n.decodeValue(o.slice(i+1))],l=t.get(s)||[];l.push(a),t.set(s,l)}),t}(n.fromString,this.encoder)}else n.fromObject?(this.map=new Map,Object.keys(n.fromObject).forEach(t=>{const r=n.fromObject[t],o=Array.isArray(r)?r.map(cu):[cu(r)];this.map.set(t,o)})):this.map=null}has(n){return this.init(),this.map.has(n)}get(n){this.init();const t=this.map.get(n);return t?t[0]:null}getAll(n){return this.init(),this.map.get(n)||null}keys(){return this.init(),Array.from(this.map.keys())}append(n,t){return this.clone({param:n,value:t,op:"a"})}appendAll(n){const t=[];return Object.keys(n).forEach(r=>{const o=n[r];Array.isArray(o)?o.forEach(i=>{t.push({param:r,value:i,op:"a"})}):t.push({param:r,value:o,op:"a"})}),this.clone(t)}set(n,t){return this.clone({param:n,value:t,op:"s"})}delete(n,t){return this.clone({param:n,value:t,op:"d"})}toString(){return this.init(),this.keys().map(n=>{const t=this.encoder.encodeKey(n);return this.map.get(n).map(r=>t+"="+this.encoder.encodeValue(r)).join("&")}).filter(n=>""!==n).join("&")}clone(n){const t=new Cr({encoder:this.encoder});return t.cloneFrom=this.cloneFrom||this,t.updates=(this.updates||[]).concat(n),t}init(){null===this.map&&(this.map=new Map),null!==this.cloneFrom&&(this.cloneFrom.init(),this.cloneFrom.keys().forEach(n=>this.map.set(n,this.cloneFrom.map.get(n))),this.updates.forEach(n=>{switch(n.op){case"a":case"s":const t=("a"===n.op?this.map.get(n.param):void 0)||[];t.push(cu(n.value)),this.map.set(n.param,t);break;case"d":if(void 0===n.value){this.map.delete(n.param);break}{let r=this.map.get(n.param)||[];const o=r.indexOf(cu(n.value));-1!==o&&r.splice(o,1),r.length>0?this.map.set(n.param,r):this.map.delete(n.param)}}}),this.cloneFrom=this.updates=null)}}class ZB{constructor(){this.map=new Map}set(n,t){return this.map.set(n,t),this}get(n){return this.map.has(n)||this.map.set(n,n.defaultValue()),this.map.get(n)}delete(n){return this.map.delete(n),this}has(n){return this.map.has(n)}keys(){return this.map.keys()}}function jM(e){return typeof ArrayBuffer<"u"&&e instanceof ArrayBuffer}function UM(e){return typeof Blob<"u"&&e instanceof Blob}function BM(e){return typeof FormData<"u"&&e instanceof FormData}class ha{constructor(n,t,r,o){let i;if(this.url=t,this.body=null,this.reportProgress=!1,this.withCredentials=!1,this.responseType="json",this.method=n.toUpperCase(),function QB(e){switch(e){case"DELETE":case"GET":case"HEAD":case"OPTIONS":case"JSONP":return!1;default:return!0}}(this.method)||o?(this.body=void 0!==r?r:null,i=o):i=r,i&&(this.reportProgress=!!i.reportProgress,this.withCredentials=!!i.withCredentials,i.responseType&&(this.responseType=i.responseType),i.headers&&(this.headers=i.headers),i.context&&(this.context=i.context),i.params&&(this.params=i.params),this.transferCache=i.transferCache),this.headers??=new Wt,this.context??=new ZB,this.params){const s=this.params.toString();if(0===s.length)this.urlWithParams=t;else{const a=t.indexOf("?");this.urlWithParams=t+(-1===a?"?":ad.set(g,n.setHeaders[g]),l)),n.setParams&&(c=Object.keys(n.setParams).reduce((d,g)=>d.set(g,n.setParams[g]),c)),new ha(t,r,i,{params:c,headers:l,context:u,reportProgress:a,responseType:o,withCredentials:s})}}var Dr=function(e){return e[e.Sent=0]="Sent",e[e.UploadProgress=1]="UploadProgress",e[e.ResponseHeader=2]="ResponseHeader",e[e.DownloadProgress=3]="DownloadProgress",e[e.Response=4]="Response",e[e.User=5]="User",e}(Dr||{});class hg{constructor(n,t=pa.Ok,r="OK"){this.headers=n.headers||new Wt,this.status=void 0!==n.status?n.status:t,this.statusText=n.statusText||r,this.url=n.url||null,this.ok=this.status>=200&&this.status<300}}class uu extends hg{constructor(n={}){super(n),this.type=Dr.ResponseHeader}clone(n={}){return new uu({headers:n.headers||this.headers,status:void 0!==n.status?n.status:this.status,statusText:n.statusText||this.statusText,url:n.url||this.url||void 0})}}class Jr extends hg{constructor(n={}){super(n),this.type=Dr.Response,this.body=void 0!==n.body?n.body:null}clone(n={}){return new Jr({body:void 0!==n.body?n.body:this.body,headers:n.headers||this.headers,status:void 0!==n.status?n.status:this.status,statusText:n.statusText||this.statusText,url:n.url||this.url||void 0})}}class Ti extends hg{constructor(n){super(n,0,"Unknown Error"),this.name="HttpErrorResponse",this.ok=!1,this.message=this.status>=200&&this.status<300?`Http failure during parsing for ${n.url||"(unknown url)"}`:`Http failure response for ${n.url||"(unknown url)"}: ${n.status} ${n.statusText}`,this.error=n.error||null}}var pa=function(e){return e[e.Continue=100]="Continue",e[e.SwitchingProtocols=101]="SwitchingProtocols",e[e.Processing=102]="Processing",e[e.EarlyHints=103]="EarlyHints",e[e.Ok=200]="Ok",e[e.Created=201]="Created",e[e.Accepted=202]="Accepted",e[e.NonAuthoritativeInformation=203]="NonAuthoritativeInformation",e[e.NoContent=204]="NoContent",e[e.ResetContent=205]="ResetContent",e[e.PartialContent=206]="PartialContent",e[e.MultiStatus=207]="MultiStatus",e[e.AlreadyReported=208]="AlreadyReported",e[e.ImUsed=226]="ImUsed",e[e.MultipleChoices=300]="MultipleChoices",e[e.MovedPermanently=301]="MovedPermanently",e[e.Found=302]="Found",e[e.SeeOther=303]="SeeOther",e[e.NotModified=304]="NotModified",e[e.UseProxy=305]="UseProxy",e[e.Unused=306]="Unused",e[e.TemporaryRedirect=307]="TemporaryRedirect",e[e.PermanentRedirect=308]="PermanentRedirect",e[e.BadRequest=400]="BadRequest",e[e.Unauthorized=401]="Unauthorized",e[e.PaymentRequired=402]="PaymentRequired",e[e.Forbidden=403]="Forbidden",e[e.NotFound=404]="NotFound",e[e.MethodNotAllowed=405]="MethodNotAllowed",e[e.NotAcceptable=406]="NotAcceptable",e[e.ProxyAuthenticationRequired=407]="ProxyAuthenticationRequired",e[e.RequestTimeout=408]="RequestTimeout",e[e.Conflict=409]="Conflict",e[e.Gone=410]="Gone",e[e.LengthRequired=411]="LengthRequired",e[e.PreconditionFailed=412]="PreconditionFailed",e[e.PayloadTooLarge=413]="PayloadTooLarge",e[e.UriTooLong=414]="UriTooLong",e[e.UnsupportedMediaType=415]="UnsupportedMediaType",e[e.RangeNotSatisfiable=416]="RangeNotSatisfiable",e[e.ExpectationFailed=417]="ExpectationFailed",e[e.ImATeapot=418]="ImATeapot",e[e.MisdirectedRequest=421]="MisdirectedRequest",e[e.UnprocessableEntity=422]="UnprocessableEntity",e[e.Locked=423]="Locked",e[e.FailedDependency=424]="FailedDependency",e[e.TooEarly=425]="TooEarly",e[e.UpgradeRequired=426]="UpgradeRequired",e[e.PreconditionRequired=428]="PreconditionRequired",e[e.TooManyRequests=429]="TooManyRequests",e[e.RequestHeaderFieldsTooLarge=431]="RequestHeaderFieldsTooLarge",e[e.UnavailableForLegalReasons=451]="UnavailableForLegalReasons",e[e.InternalServerError=500]="InternalServerError",e[e.NotImplemented=501]="NotImplemented",e[e.BadGateway=502]="BadGateway",e[e.ServiceUnavailable=503]="ServiceUnavailable",e[e.GatewayTimeout=504]="GatewayTimeout",e[e.HttpVersionNotSupported=505]="HttpVersionNotSupported",e[e.VariantAlsoNegotiates=506]="VariantAlsoNegotiates",e[e.InsufficientStorage=507]="InsufficientStorage",e[e.LoopDetected=508]="LoopDetected",e[e.NotExtended=510]="NotExtended",e[e.NetworkAuthenticationRequired=511]="NetworkAuthenticationRequired",e}(pa||{});function pg(e,n){return{body:n,headers:e.headers,context:e.context,observe:e.observe,params:e.params,reportProgress:e.reportProgress,responseType:e.responseType,withCredentials:e.withCredentials,transferCache:e.transferCache}}let gg=(()=>{class e{constructor(t){this.handler=t}request(t,r,o={}){let i;if(t instanceof ha)i=t;else{let l,c;l=o.headers instanceof Wt?o.headers:new Wt(o.headers),o.params&&(c=o.params instanceof Cr?o.params:new Cr({fromObject:o.params})),i=new ha(t,r,void 0!==o.body?o.body:null,{headers:l,context:o.context,params:c,reportProgress:o.reportProgress,responseType:o.responseType||"json",withCredentials:o.withCredentials,transferCache:o.transferCache})}const s=B(i).pipe(li(l=>this.handler.handle(l)));if(t instanceof ha||"events"===o.observe)return s;const a=s.pipe(cn(l=>l instanceof Jr));switch(o.observe||"body"){case"body":switch(i.responseType){case"arraybuffer":return a.pipe(K(l=>{if(null!==l.body&&!(l.body instanceof ArrayBuffer))throw new Error("Response is not an ArrayBuffer.");return l.body}));case"blob":return a.pipe(K(l=>{if(null!==l.body&&!(l.body instanceof Blob))throw new Error("Response is not a Blob.");return l.body}));case"text":return a.pipe(K(l=>{if(null!==l.body&&"string"!=typeof l.body)throw new Error("Response is not a string.");return l.body}));default:return a.pipe(K(l=>l.body))}case"response":return a;default:throw new Error(`Unreachable: unhandled observe type ${o.observe}}`)}}delete(t,r={}){return this.request("DELETE",t,r)}get(t,r={}){return this.request("GET",t,r)}head(t,r={}){return this.request("HEAD",t,r)}jsonp(t,r){return this.request("JSONP",t,{params:(new Cr).append(r,"JSONP_CALLBACK"),observe:"body",responseType:"json"})}options(t,r={}){return this.request("OPTIONS",t,r)}patch(t,r,o={}){return this.request("PATCH",t,pg(o,r))}post(t,r,o={}){return this.request("POST",t,pg(o,r))}put(t,r,o={}){return this.request("PUT",t,pg(o,r))}static#e=this.\u0275fac=function(r){return new(r||e)(P(au))};static#t=this.\u0275prov=R({token:e,factory:e.\u0275fac})}return e})();function $M(e,n){return n(e)}function tH(e,n){return(t,r)=>n.intercept(t,{handle:o=>e(o,r)})}const rH=new N(""),ga=new N(""),GM=new N(""),zM=new N("");function oH(){let e=null;return(n,t)=>{null===e&&(e=(T(rH,{optional:!0})??[]).reduceRight(tH,$M));const r=T(jr),o=r.add();return e(n,t).pipe(qs(()=>r.remove(o)))}}let qM=(()=>{class e extends au{constructor(t,r){super(),this.backend=t,this.injector=r,this.chain=null,this.pendingTasks=T(jr);const o=T(zM,{optional:!0});this.backend=o??t}handle(t){if(null===this.chain){const o=Array.from(new Set([...this.injector.get(ga),...this.injector.get(GM,[])]));this.chain=o.reduceRight((i,s)=>function nH(e,n,t){return(r,o)=>ir(t,()=>n(r,i=>e(i,o)))}(i,s,this.injector),$M)}const r=this.pendingTasks.add();return this.chain(t,o=>this.backend.handle(o)).pipe(qs(()=>this.pendingTasks.remove(r)))}static#e=this.\u0275fac=function(r){return new(r||e)(P(lu),P(kt))};static#t=this.\u0275prov=R({token:e,factory:e.\u0275fac})}return e})();const cH=/^\)\]\}',?\n/;let ZM=(()=>{class e{constructor(t){this.xhrFactory=t}handle(t){if("JSONP"===t.method)throw new I(-2800,!1);const r=this.xhrFactory;return(r.\u0275loadImpl?Je(r.\u0275loadImpl()):B(null)).pipe(ln(()=>new Be(i=>{const s=r.build();if(s.open(t.method,t.urlWithParams),t.withCredentials&&(s.withCredentials=!0),t.headers.forEach((_,D)=>s.setRequestHeader(_,D.join(","))),t.headers.has("Accept")||s.setRequestHeader("Accept","application/json, text/plain, */*"),!t.headers.has("Content-Type")){const _=t.detectContentTypeHeader();null!==_&&s.setRequestHeader("Content-Type",_)}if(t.responseType){const _=t.responseType.toLowerCase();s.responseType="json"!==_?_:"text"}const a=t.serializeBody();let l=null;const c=()=>{if(null!==l)return l;const _=s.statusText||"OK",D=new Wt(s.getAllResponseHeaders()),E=function uH(e){return"responseURL"in e&&e.responseURL?e.responseURL:/^X-Request-URL:/m.test(e.getAllResponseHeaders())?e.getResponseHeader("X-Request-URL"):null}(s)||t.url;return l=new uu({headers:D,status:s.status,statusText:_,url:E}),l},u=()=>{let{headers:_,status:D,statusText:E,url:w}=c(),x=null;D!==pa.NoContent&&(x=typeof s.response>"u"?s.responseText:s.response),0===D&&(D=x?pa.Ok:0);let F=D>=200&&D<300;if("json"===t.responseType&&"string"==typeof x){const $=x;x=x.replace(cH,"");try{x=""!==x?JSON.parse(x):null}catch(he){x=$,F&&(F=!1,x={error:he,text:x})}}F?(i.next(new Jr({body:x,headers:_,status:D,statusText:E,url:w||void 0})),i.complete()):i.error(new Ti({error:x,headers:_,status:D,statusText:E,url:w||void 0}))},d=_=>{const{url:D}=c(),E=new Ti({error:_,status:s.status||0,statusText:s.statusText||"Unknown Error",url:D||void 0});i.error(E)};let g=!1;const m=_=>{g||(i.next(c()),g=!0);let D={type:Dr.DownloadProgress,loaded:_.loaded};_.lengthComputable&&(D.total=_.total),"text"===t.responseType&&s.responseText&&(D.partialText=s.responseText),i.next(D)},v=_=>{let D={type:Dr.UploadProgress,loaded:_.loaded};_.lengthComputable&&(D.total=_.total),i.next(D)};return s.addEventListener("load",u),s.addEventListener("error",d),s.addEventListener("timeout",d),s.addEventListener("abort",d),t.reportProgress&&(s.addEventListener("progress",m),null!==a&&s.upload&&s.upload.addEventListener("progress",v)),s.send(a),i.next({type:Dr.Sent}),()=>{s.removeEventListener("error",d),s.removeEventListener("abort",d),s.removeEventListener("load",u),s.removeEventListener("timeout",d),t.reportProgress&&(s.removeEventListener("progress",m),null!==a&&s.upload&&s.upload.removeEventListener("progress",v)),s.readyState!==s.DONE&&s.abort()}})))}static#e=this.\u0275fac=function(r){return new(r||e)(P(Bb))};static#t=this.\u0275prov=R({token:e,factory:e.\u0275fac})}return e})();const yg=new N(""),QM=new N("",{providedIn:"root",factory:()=>"XSRF-TOKEN"}),YM=new N("",{providedIn:"root",factory:()=>"X-XSRF-TOKEN"});class XM{}let hH=(()=>{class e{constructor(t,r,o){this.doc=t,this.platform=r,this.cookieName=o,this.lastCookieString="",this.lastToken=null,this.parseCount=0}getToken(){if("server"===this.platform)return null;const t=this.doc.cookie||"";return t!==this.lastCookieString&&(this.parseCount++,this.lastToken=Rb(t,this.cookieName),this.lastCookieString=t),this.lastToken}static#e=this.\u0275fac=function(r){return new(r||e)(P(Tt),P(rr),P(QM))};static#t=this.\u0275prov=R({token:e,factory:e.\u0275fac})}return e})();function pH(e,n){const t=e.url.toLowerCase();if(!T(yg)||"GET"===e.method||"HEAD"===e.method||t.startsWith("http://")||t.startsWith("https://"))return n(e);const r=T(XM).getToken(),o=T(YM);return null!=r&&!e.headers.has(o)&&(e=e.clone({headers:e.headers.set(o,r)})),n(e)}var wr=function(e){return e[e.Interceptors=0]="Interceptors",e[e.LegacyInterceptors=1]="LegacyInterceptors",e[e.CustomXsrfConfiguration=2]="CustomXsrfConfiguration",e[e.NoXsrfProtection=3]="NoXsrfProtection",e[e.JsonpSupport=4]="JsonpSupport",e[e.RequestsMadeViaParent=5]="RequestsMadeViaParent",e[e.Fetch=6]="Fetch",e}(wr||{});const JM=new N("");class wH{constructor(){this.name="",this.email="",this.message=""}}let s0=(()=>{class e{constructor(t){this.httpClient=t}postContactForm(t){return this.httpClient.post(`${De_apiBaseUrl}contact`,t)}static#e=this.\u0275fac=function(r){return new(r||e)(P(gg))};static#t=this.\u0275prov=R({token:e,factory:e.\u0275fac})}return e})();function bH(e,n){if(1&e){const t=Le();h(0,"form",4,5),U("ngSubmit",function(){return re(t),oe(O().submit())}),h(2,"div",6)(3,"label",7),f(4,"Name "),h(5,"span",8),f(6,"*"),p()(),h(7,"input",9),je("ngModelChange",function(o){re(t);const i=O();return $e(i.contactViewModel.name,o)||(i.contactViewModel.name=o),oe(o)}),p()(),h(8,"div",6)(9,"label",10),f(10,"Email address "),h(11,"span",8),f(12,"*"),p()(),h(13,"input",11),je("ngModelChange",function(o){re(t);const i=O();return $e(i.contactViewModel.email,o)||(i.contactViewModel.email=o),oe(o)}),p()(),h(14,"div",6)(15,"label",12),f(16,"Message "),h(17,"span",8),f(18,"*"),p()(),h(19,"textarea",13),je("ngModelChange",function(o){re(t);const i=O();return $e(i.contactViewModel.message,o)||(i.contactViewModel.message=o),oe(o)}),p()(),h(20,"button",14),f(21,"Submit"),p()()}if(2&e){const t=gh(1),r=O();C(7),Ve("ngModel",r.contactViewModel.name),C(6),Ve("ngModel",r.contactViewModel.email),C(6),Ve("ngModel",r.contactViewModel.message),C(),M("disabled",!t.valid||r.enableFormCountDown>0)}}function EH(e,n){1&e&&(h(0,"p"),f(1,"Thanks for your message."),p())}function IH(e,n){1&e&&(h(0,"p",15),f(1,"Something went wrong. Please try again later."),p())}let MH=(()=>{class e{constructor(t){this.contactService=t,this.contactViewModel=new wH,this.success=!1,this.error=!1,this.enableFormCountDown=100,this.intervalId=null}ngOnInit(){this.intervalId=setInterval(()=>{this.enableFormCountDown-=1,0===this.enableFormCountDown&&clearInterval(this.intervalId)},50)}ngOnDestroy(){this.intervalId&&clearInterval(this.intervalId)}submit(){this.contactService.postContactForm(this.contactViewModel).subscribe({next:t=>{console.log("Submitted form"),this.success=!0},error:t=>{console.error(t),this.error=!0},complete:()=>console.info("complete")})}static#e=this.\u0275fac=function(r){return new(r||e)(S(s0))};static#t=this.\u0275cmp=xt({type:e,selectors:[["app-contact-component"]],standalone:!0,features:[Lt],decls:6,vars:3,consts:[[1,"container"],[1,"mb-4"],["method","post"],["class","text-danger"],["method","post",3,"ngSubmit"],["contactForm","ngForm"],[1,"mb-3"],["for","Name"],[1,"required"],["type","text","id","Name","name","Name","required","",1,"form-control",3,"ngModel","ngModelChange"],["for","Email"],["type","email","id","Email","name","Email","email","","required","",1,"form-control",3,"ngModel","ngModelChange"],["for","Message"],["rows","7","id","Message","name","Message","required","",1,"form-control",3,"ngModel","ngModelChange"],["type","submit",1,"btn","btn-primary",3,"disabled"],[1,"text-danger"]],template:function(r,o){1&r&&(h(0,"div",0)(1,"h1",1),f(2,"Contact"),p(),W(3,bH,22,4,"form",2)(4,EH,2,0,"p")(5,IH,2,0,"p",3),p()),2&r&&(C(3),Ko(3,o.success||o.error?-1:3),C(),Ko(4,o.success?4:-1),C(),Ko(5,o.error?5:-1))},dependencies:[su,ru,bi,Wc,Zc,Si,iu,fa,Mi]})}return e})();const a0=()=>["/pro"];let SH=(()=>{class e{scrollToAnchor(t){return document.querySelector(t)?.scrollIntoView(!0),!1}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275cmp=xt({type:e,selectors:[["app-features-component"]],standalone:!0,features:[Lt],decls:157,vars:4,consts:[[1,"container"],[1,"mb-4"],["id","coveragequota"],[1,"pro-text"],["href","https://en.wikipedia.org/wiki/Code_coverage","target","_blank"],[1,"fa-solid","fa-arrow-up-right-from-square"],[3,"routerLink"],[1,"pro-button","pro-button-tiny"],["loading","lazy","srcset","resources/features/quota@1x.webp 1x, resources/features/quota@2x.webp 2x","src","resources/features/quota1x.webp","alt","Coverage quotas",1,"img-fluid"],["id","coveragehistory",1,"mt-5"],["loading","lazy","srcset","resources/features/history@1x.webp 1x, resources/features/history@2x.webp 2x","src","resources/features/history@1x.webp","alt","Coverage history",1,"img-fluid"],["id","summary",1,"mt-5"],["loading","lazy","srcset","resources/features/summary@1x.webp 1x, resources/features/summary@2x.webp 2x","src","resources/features/summary.webp","alt","Summary table / Overview",1,"img-fluid"],["id","details",1,"mt-5"],["loading","lazy","srcset","resources/features/details@1x.webp 1x, resources/features/details@2x.webp 2x","src","resources/features/details.webp","alt","Details",1,"img-fluid"],["id","metrics",1,"mt-5"],["href","https://github.com/danielpalme/ReportGenerator/wiki/FAQ#which-coverage-tool-supports-which-features-in-the-html-report","target","_blank"],["href","",3,"click"],["loading","lazy","srcset","resources/features/metrics_details@1x.webp 1x, resources/features/metrics_details@2x.webp 2x","src","resources/features/metrics_details.webp","alt","Metrics - Details",1,"img-fluid"],["loading","lazy","srcset","resources/features/metrics_summary@1x.webp 1x, resources/features/metrics_summary@2x.webp 2x","src","resources/features/metrics_summary.webp","alt","Metrics - Summary",1,"img-fluid"],["id","riskhotspots",1,"mt-5"],["href","https://en.wikipedia.org/wiki/Cyclomatic_complexity","target","_blank"],["href","https://modess.io/npath-complexity-cyclomatic-complexity-explained","target","_blank"],["href","https://testing.googleblog.com/2011/02/this-code-is-crap.html","target","_blank"],["loading","lazy","srcset","resources/features/riskhotspots@1x.webp 1x, resources/features/riskhotspots@2x.webp 2x","src","resources/features/riskhotspots.webp","alt","Risk Hotspots",1,"img-fluid"],["id","rawmode",1,"mt-5"],["href","https://github.com/danielpalme/ReportGenerator/wiki/Settings#other-settings","target","_blank"]],template:function(r,o){1&r&&(h(0,"div",0)(1,"h1",1),f(2,"Features"),p(),h(3,"h2",2),f(4,"Coverage quotas"),p(),h(5,"p"),f(6," The overiew cards provide a quick "),h(7,"span",3),f(8,"overview"),p(),f(9," of your coverage quotas."),y(10,"br"),f(11," You can use them to get a glimpse into the different "),h(12,"a",4),f(13,"coverage metrics"),p(),f(14,"\xa0"),h(15,"a",4),y(16,"i",5),p(),f(17,": "),p(),h(18,"ul")(19,"li"),f(20,"Line coverage"),p(),h(21,"li"),f(22,"Branch coverage"),p(),h(23,"li"),f(24,"Method coverage "),h(25,"a",6)(26,"span",7),f(27,"PRO"),p()()()(),y(28,"img",8)(29,"br"),h(30,"h2",9),f(31,"Coverage history"),p(),h(32,"p"),f(33," The history chart helps you to understand how your coverage quotas are "),h(34,"span",3),f(35,"evolving over time"),p(),f(36,". "),p(),y(37,"img",10)(38,"br"),h(39,"h2",11),f(40,"Summary table / Overview"),p(),h(41,"p"),f(42," The summary table helps you to identify classes with "),h(43,"span",3),f(44,"low test coverage"),p(),f(45,"."),y(46,"br"),f(47," The table offers various "),h(48,"span",3),f(49,"filter and sorting"),p(),f(50," options for quick navigation. "),p(),y(51,"img",12)(52,"br"),h(53,"h2",13),f(54,"Details page"),p(),h(55,"p"),f(56," The details page visualizes your "),h(57,"span",3),f(58,"line and branch coverage"),p(),f(59,". "),p(),h(60,"ul")(61,"li"),f(62,"Colors indicate the coverage status of each line."),p(),h(63,"li"),f(64,"Branch indicators help you to identity uncovered conditions."),p()(),y(65,"img",14)(66,"br"),h(67,"h2",15),f(68,"Metrics"),p(),h(69,"p"),f(70," Depending on your "),h(71,"a",16),f(72,"coverage tool"),p(),f(73,", metrics are provided to get further insigths in your "),h(74,"span",3),f(75,"code quality"),p(),f(76,". "),p(),h(77,"ul")(78,"li"),f(79,"The "),h(80,"a",17),U("click",function(){return o.scrollToAnchor("#details")}),f(81,"details page"),p(),f(82," contains information about the metrics of all methods of a class."),p(),h(83,"li"),f(84,"The "),h(85,"a",17),U("click",function(){return o.scrollToAnchor("#summary")}),f(86,"summary table"),p(),f(87," shows the lowest metrics of all methods of a class "),h(88,"a",6)(89,"span",7),f(90,"PRO"),p()()()(),h(91,"b"),f(92,"Details page"),p(),y(93,"br")(94,"img",18)(95,"br")(96,"br"),h(97,"b"),f(98,"Summary table"),p(),y(99,"br")(100,"img",19)(101,"br"),h(102,"h2",20),f(103,"Risk Hotspots"),p(),h(104,"p"),f(105," Based on the "),h(106,"a",17),U("click",function(){return o.scrollToAnchor("#metrics")}),f(107,"metrics"),p(),f(108," you get a list of potential risk hotspots."),y(109,"br"),f(110," The following metrics are analyzed if available, the warning thresholds are configurable: "),p(),h(111,"ul")(112,"li")(113,"a",21),f(114,"Cyclomatic complexity"),p(),f(115,"\xa0"),h(116,"a",21),y(117,"i",5),p()(),h(118,"li")(119,"a",22),f(120,"NPath complexity"),p(),f(121,"\xa0"),h(122,"a",22),y(123,"i",5),p()(),h(124,"li")(125,"a",23),f(126,"Crap score"),p(),f(127,"\xa0"),h(128,"a",23),y(129,"i",5),p()()(),y(130,"img",24),h(131,"h2",25),f(132,"Raw mode (for "),h(133,"i"),f(134,"Cobertura"),p(),f(135,") "),h(136,"span",7),f(137,"PRO"),p()(),h(138,"p"),f(139,' With "raw mode" (settings:rawMode=true) you can disable that coverage data of nested or compiler generated classes is included in the parent class.'),y(140,"br"),f(141," This is useful to merge several "),h(142,"i"),f(143,"Cobertura"),p(),f(144," files into a single file, since the original class structure remains untouched. "),p(),h(145,"p"),f(146,"See "),h(147,"a",26),f(148,"Settings"),p(),f(149,"\xa0"),h(150,"a",26),y(151,"i",5),p()(),h(152,"p"),f(153,"Limitation: Raw mode is currently only supported for "),h(154,"i"),f(155,"Cobertura"),p(),f(156," files."),p()()),2&r&&(C(25),M("routerLink",ee(2,a0)),C(63),M("routerLink",ee(3,a0)))},dependencies:[Sn]})}return e})();const Zt={dotnetSDKVersion:"8.x",majorVersion:"5",version:"5.2.4"},TH=()=>["/usage"];let AH=(()=>{class e{constructor(){this.versions=Zt}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275cmp=xt({type:e,selectors:[["app-getstarted"]],standalone:!0,features:[Lt],decls:72,vars:6,consts:[[1,"container"],[1,"mb-4"],[3,"routerLink"],["id","net",1,"mt-5"],["href","https://github.com/coverlet-coverage/coverlet"],["href","https://github.com/SteveGilham/altcover"],[1,"text-dark","bg-light","p-2","border"],["id","java",1,"mt-5"],["href","https://github.com/jacoco/jacoco"],["id","nodejs",1,"mt-5"],["href","https://github.com/istanbuljs/nyc"]],template:function(r,o){1&r&&(h(0,"div",0)(1,"h1",1),f(2,"Get started"),p(),h(3,"h2"),f(4,"General"),p(),h(5,"p"),f(6,"In general you need a tool that instruments your test code and collects coverage information."),y(7,"br"),f(8,"This information is typically stored in a XML file (e.g. in Cobertura format)."),y(9,"br"),h(10,"em"),f(11,"ReportGenerator"),p(),f(12," uses this file and generates a report in HTML format (other formats are available)."),p(),h(13,"p"),f(14,"Use the online "),h(15,"a",2),f(16,"configuration tool"),p(),f(17," to get started quickly."),p(),h(18,"h2",3),f(19,".NET"),p(),h(20,"p"),f(21,"For .NET you can use "),h(22,"a",4),f(23,"coverlet"),p(),f(24," or "),h(25,"a",5),f(26,"altcover"),p(),f(27," for instrumenting your test code."),p(),h(28,"p"),f(29,"After adding the dependencies to your project, you can execute your tests and generate the coverage report."),p(),h(30,"p")(31,"strong"),f(32,"Add dependencies to your "),h(33,"code"),f(34,"*.csproj"),p(),f(35," file:"),p()(),h(36,"pre",6),f(37),p(),h(38,"p")(39,"strong"),f(40,"Execute tests and create coverage report"),p()(),h(41,"pre",6),f(42),p(),h(43,"h2",7),f(44,"Java"),p(),h(45,"p"),f(46,"For Java you can use "),h(47,"a",8),f(48,"JaCoCo"),p(),f(49," for instrumenting your test code.\nAfter adding JaCoCo to your project (here with Maven), you can execute your tests and generate the coverage report."),p(),h(50,"p")(51,"strong"),f(52,"Add dependencies to your "),h(53,"code"),f(54,"pom.xml"),p(),f(55," file:"),p()(),h(56,"pre",6),f(57,"\n \n \n \n org.jacoco\n jacoco-maven-plugin\n 0.8.6\n \n \n \n prepare-agent\n \n \n \n report\n prepare-package\n \n report\n \n \n \n \n \n \n \n \n \n org.jacoco\n jacoco-maven-plugin\n \n \n \n report\n \n \n \n \n \n \n\n"),p(),h(58,"p")(59,"strong"),f(60,"Execute tests and create coverage report"),p()(),h(61,"pre",6),f(62),p(),h(63,"h2",9),f(64,"NodeJS"),p(),h(65,"p"),f(66,"For NodeJS you can use "),h(67,"a",10),f(68,"Istanbul"),p(),f(69," for instrumenting your test code.\nAfter installing Istanbul, you can execute your tests and generate the coverage report."),p(),h(70,"pre",6),f(71),p()()),2&r&&(C(15),M("routerLink",ee(5,TH)),C(22),Gn('\n \n runtime; build; native; contentfiles; analyzers; buildtransitive\n all\n \n \n \n \n all\n runtime; build; native; contentfiles; analyzers\n \n\n'),C(5),Gn('dotnet test --collect:"XPlat Code Coverage"\n"%UserProfile%\\.nuget\\packages\\reportgenerator\\',o.versions.version,'\\tools\\net8.0\\ReportGenerator.exe" -reports:*\\TestResults\\*\\coverage.cobertura.xml -targetdir:coveragereport\n'),C(20),Gn("mvn test jacoco:report\n\ndotnet tool update dotnet-reportgenerator-globaltool --tool-path tools --version ",o.versions.version,"\ntools\\reportgenerator -reports:target\\site\\jacoco\\jacoco.xml -targetdir:coveragereport -sourcedirs:src\\main\\java\n"),C(9),Gn("npm i nyc --save-dev\nnyc --reporter=cobertura mocha\n\ndotnet tool update dotnet-reportgenerator-globaltool --tool-path tools --version ",o.versions.version,"\ntools\\reportgenerator -reports:coverage/cobertura-coverage.xml -targetdir:coveragereport\n"))},dependencies:[Sn]})}return e})(),l0=(()=>{class e{static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275cmp=xt({type:e,selectors:[["app-testimonials"]],standalone:!0,features:[Lt],decls:30,vars:0,consts:[[1,"container-fluid","mt-5","pt-5","pb-5","bg-light"],[1,"container"],[1,"text-center"],[1,"row","mt-5"],[1,"col","text-center"],[1,"fa-brands","fa-microsoft","h1","text-secondary"],["href","https://github.com/dotnet/runtime/blob/main/docs/workflow/building/libraries/code-coverage.md","target","_blank",1,"text-dark","d-none","d-lg-block"],[1,"fa-brands","fa-google","h1","text-secondary"],["href","https://github.com/GoogleCloudPlatform/iam-windows-authenticator","target","_blank",1,"text-dark","d-none","d-lg-block"],[1,"fa-brands","fa-aws","h1","text-secondary"],["href","https://github.com/aws/aws-encryption-sdk-dafny/blob/mainline/aws-encryption-sdk-net/README.md","target","_blank",1,"text-dark","d-none","d-lg-block"],[1,"col","text-center","d-none","d-lg-block"],[1,"fa-solid","fa-heart","h1","text-secondary"],["href","https://github.com/danielpalme/ReportGenerator/network/dependents","target","_blank",1,"text-dark"],["href","https://www.nuget.org/packages?q=ReportGenerator+danielpalme","target","_blank",1,"btn","btn-outline-secondary"],[1,"fa-solid","fa-download"]],template:function(r,o){1&r&&(h(0,"section",0)(1,"div",1)(2,"h2",2),f(3,"Code coverage reports trusted by"),p(),h(4,"div",3)(5,"div",4),y(6,"i",5)(7,"br"),h(8,"a",6),f(9,".NET Runtime"),p()(),h(10,"div",4),y(11,"i",7)(12,"br"),h(13,"a",8),f(14,"Google Cloud"),p()(),h(15,"div",4),y(16,"i",9)(17,"br"),h(18,"a",10),f(19,"AWS Encryption SDK"),p()(),h(20,"div",11),y(21,"i",12)(22,"br"),h(23,"a",13),f(24,"Many more"),p()()(),h(25,"div",3)(26,"div",4)(27,"a",14),y(28,"i",15),f(29," Over 70 million downloads on Nuget"),p()()()()())},encapsulation:2})}return e})();const NH=()=>["/pro"],xH=()=>["/usage"],RH=()=>["/getstarted"],OH=()=>["/features"];let PH=(()=>{class e{static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275cmp=xt({type:e,selectors:[["app-home"]],standalone:!0,features:[Lt],decls:114,vars:8,consts:[[1,"container"],[1,"row"],[1,"col-4","col-md-3"],["src","resources/logo.svg","alt","Logo ReportGenerator",1,"img-fluid"],[1,"col-xs-12","col-md-9","ps-4"],[1,"mt-5"],[1,"line","btn-primary"],[1,"mt-4","h5"],[1,"pro-text"],["href","resources/reports/Html/index.html","target","_blank",1,"btn","btn-primary","me-2","mb-2"],[1,"fa-solid","fa-eye"],[1,"row","mt-5"],[1,"col-sm-12","col-md-4"],[1,"icon"],[1,"fa-solid","fa-scale-balanced"],[1,"h5","ms-3","mt-3"],[1,"mt-3"],[3,"routerLink"],[1,"col-sm-12","col-md-4","mt-4","mt-md-0"],[1,"fa-solid","fa-lightbulb"],[1,"fa-solid","fa-plug"],["href","https://github.com/marketplace/actions/reportgenerator","target","_blank"],["href","https://marketplace.visualstudio.com/items?itemName=Palmmedia.reportgenerator","target","_blank"],[1,"col"],[1,"btn","btn-primary","me-2","mb-2",3,"routerLink"],[1,"fa-solid","fa-wrench"],["href","https://github.com/danielpalme/ReportGenerator","target","_blank",1,"btn","btn-outline-dark","mb-2"],[1,"fa-brands","fa-github"],[1,"container-fluid","mt-5","pt-5","pb-5"],["href","resources/reports/Html/index.html","target","_blank"],["href","https://danielpalme.github.io/ReportGenerator/resources/SampleReports.zip"],[1,"col-sm-12","col-md-6","pb-2"],["href","resources/screenshot1@2x.webp"],["loading","lazy","srcset","resources/screenshot1.webp 1x, resources/screenshot1@2x.webp 2x","src","resources/screenshot1.webp","alt","Screenshot",1,"img-fluid"],[1,"col-sm-12","col-md-6"],["href","resources/screenshot2@2x.webp"],["loading","lazy","srcset","resources/screenshot2.webp 1x, resources/screenshot2@2x.webp 2x","src","resources/screenshot2.webp","alt","Screenshot",1,"img-fluid"]],template:function(r,o){1&r&&(h(0,"section",0)(1,"div",1)(2,"div",2),y(3,"img",3),p(),h(4,"div",4)(5,"h1"),f(6,"ReportGenerator"),p(),h(7,"h2",5),f(8,"Powerful code coverage visualization"),p(),h(9,"div",6),f(10,"\xa0"),p(),h(11,"div",7)(12,"p")(13,"i"),f(14,"ReportGenerator"),p(),f(15," converts "),h(16,"span",8),f(17,"coverage reports"),p(),f(18," generated by coverlet, OpenCover, dotCover, Visual Studio, NCover, Cobertura, JaCoCo, Clover, gcov or lcov into "),h(19,"span",8),f(20,"human readable reports in various formats"),p(),f(21,"."),p(),h(22,"p"),f(23,"The reports show the "),h(24,"span",8),f(25,"coverage quotas"),p(),f(26," and also visualize which lines of your source code have been covered."),p(),h(27,"p")(28,"a",9),y(29,"i",10),f(30," Browse example report"),p()()()()(),h(31,"div",11)(32,"div",12)(33,"div",13),y(34,"i",14),p(),h(35,"span",15),f(36,"Open source"),p(),h(37,"p",16)(38,"i"),f(39,"ReportGenerator"),p(),f(40," is open source under the permissive Apache License."),p(),h(41,"p"),f(42,"It's free to use."),y(43,"br"),f(44,"The "),h(45,"a",17),f(46,"PRO"),p(),f(47," version offers additional features."),p()(),h(48,"div",18)(49,"div",13),y(50,"i",19),p(),h(51,"span",15),f(52,"Easy to use"),p(),h(53,"p",16)(54,"i"),f(55,"ReportGenerator"),p(),f(56," is a command line tool which only requires a "),h(57,"a",17),f(58,"few parameters"),p(),f(59,"."),p(),h(60,"p"),f(61,"Integration into your build pipeline will only take a couple of minutes."),p()(),h(62,"div",18)(63,"div",13),y(64,"i",20),p(),h(65,"span",15),f(66,"Integration"),p(),h(67,"p",16)(68,"i"),f(69,"ReportGenerator"),p(),f(70," works on Windows, Linux and macOS."),p(),h(71,"p"),f(72,"Support for "),h(73,"a",21),f(74,"GitHub actions"),p(),f(75," and "),h(76,"a",22),f(77,"Azure DevOps"),p(),f(78," is available."),p()()(),h(79,"div",11)(80,"div",23)(81,"a",24),y(82,"i",25),f(83," Learn how to use"),p(),h(84,"a",26),y(85,"i",27),f(86," GitHub"),p()()()(),y(87,"app-testimonials"),h(88,"section",28)(89,"div",0)(90,"h2"),f(91,"Screenshots"),p(),h(92,"p"),f(93,"The screenshots show two snippets of the generated code coverage reports."),p(),h(94,"p"),f(95," Have a look the "),h(96,"a",17),f(97,"features page"),p(),f(98," to explore the elements in a coverage report or "),h(99,"a",29),f(100,"browse the example report"),p(),f(101,". "),y(102,"br"),f(103," You can also download "),h(104,"a",30),f(105,"sample reports"),p(),f(106," of all supported output formats."),p(),h(107,"div",1)(108,"div",31)(109,"a",32),y(110,"img",33),p()(),h(111,"div",34)(112,"a",35),y(113,"img",36),p()()()()()),2&r&&(C(45),M("routerLink",ee(4,NH)),C(12),M("routerLink",ee(5,xH)),C(24),M("routerLink",ee(6,RH)),C(15),M("routerLink",ee(7,OH)))},dependencies:[Sn,l0],styles:[".h5[_ngcontent-%COMP%]{font-weight:300}section[_ngcontent-%COMP%]:first-of-type{padding-top:120px;min-height:calc(100vh - 171px)}.icon[_ngcontent-%COMP%]{background-color:#2e89df;background-image:linear-gradient(50deg,var(--rg-gradient-from) 0%,var(--rg-gradient-to) 100%);height:50px;width:50px;border-radius:8px;text-align:center;color:#fff;line-height:50px;font-size:1.5rem;display:inline-block}@media (max-width: 767px){section[_ngcontent-%COMP%]:first-of-type{padding-top:40px}}"]})}return e})(),kH=(()=>{class e{static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275cmp=xt({type:e,selectors:[["app-not-found"]],standalone:!0,features:[Lt],decls:5,vars:0,consts:[[1,"container"],[1,"mb-4"],[1,"fa-solid","fa-triangle-exclamation","fs-1","me-4"]],template:function(r,o){1&r&&(h(0,"div",0)(1,"h1",1),f(2,"Not found"),p(),y(3,"i",2),f(4," The requested page does not exist.\n"),p())}})}return e})();class c0{constructor(){this.error=null,this.licenses=[]}}class FH{constructor(){this.error=null,this.isSponsor=!1,this.license=null}}let u0=(()=>{class e{initCodeFlow(){const o=`https://github.com/login/oauth/authorize?response_type=code&client_id=ecab9484932b59a12fd4&state=${this.createAndSaveNonce()}&redirect_uri=${window.location.origin}/pro`;console.log("Redirecting to: "+o),location.href=o}validateStateAndExtractCode(){let t=location.href;const r=t.indexOf("?");r>-1&&(t=t.substring(r+1));const o=this.parseQueryString(t);return o.state&&o.code&&this.validateNonce(o.state)?o.code:null}createAndSaveNonce(){const t=this.createNonce();return typeof window.localStorage<"u"&&localStorage.setItem("nonce",t),t}validateNonce(t){let r;return typeof window.localStorage<"u"&&(r=localStorage.getItem("nonce"),localStorage.removeItem("nonce")),r&&0!==r.length?r===t||(console.error("Validating nonce failed. Values do not match.",r,t),!1):(console.error("Validating nonce failed. No saved nonce available.",r,t),!1)}createNonce(){const t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-._~";let r=45,o="";const i=typeof self>"u"?null:self.crypto||self.msCrypto;if(i){let a=new Uint8Array(r);i.getRandomValues(a),a.map||(a.map=Array.prototype.map);const l=[];for(var s=0;s0&&(c=decodeURIComponent(a),u=decodeURIComponent(l),"/"===c.substring(0,1)&&(c=c.substring(1)),r[c]=u);return r}base64UrlEncode(t){return btoa(t).replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275prov=R({token:e,factory:e.\u0275fac})}return e})(),d0=(()=>{class e{constructor(t){this.httpClient=t}getLicense(t){return this.httpClient.get(`${De_apiBaseUrl}reportgenerator/license?code=${encodeURIComponent(t)}`)}getTrialLicense(t){return this.httpClient.post(`${De_apiBaseUrl}reportgenerator/triallicense`,t)}getPaddleLicense(t){return this.httpClient.post(`${De_apiBaseUrl}reportgenerator/paddlelicense`,t)}static#e=this.\u0275fac=function(r){return new(r||e)(P(gg))};static#t=this.\u0275prov=R({token:e,factory:e.\u0275fac})}return e})(),LH=(()=>{class e{constructor(){this.isActive=!1,this.isActive=new Date({active:e});function VH(e,n){if(1&e){const t=Le();h(0,"span",71)(1,"span",72),U("click",function(){return re(t),oe(O().lifetimeLicense=!1)}),y(2,"i",73),f(3," Annual subscription"),p(),h(4,"span",72),U("click",function(){return re(t),oe(O().lifetimeLicense=!0)}),y(5,"i",74),f(6," Lifetime license"),p()()}if(2&e){const t=O();C(),M("ngClass",Rs(2,f0,!t.lifetimeLicense)),C(3),M("ngClass",Rs(4,f0,t.lifetimeLicense))}}function jH(e,n){if(1&e){const t=Le();h(0,"button",94),U("click",function(){return re(t),oe(O(2).requestTrial())}),y(1,"i",32),f(2," Start trial"),p()}2&e&&M("disabled",O(2).trialDisabled)}function UH(e,n){1&e&&(h(0,"button",95),f(1,"Coming soon"),p())}function BH(e,n){1&e&&(It(0),y(1,"i",73),f(2," Annual subscription"),Mt())}function HH(e,n){1&e&&(It(0),y(1,"i",74),f(2," Lifetime license"),Mt())}function $H(e,n){if(1&e){const t=Le();h(0,"button",96),U("click",function(){return re(t),oe(O(2).openPaddleCheckout("individual"))}),y(1,"i",97),f(2," Buy now"),p()}}function GH(e,n){1&e&&(h(0,"button",95),f(1,"Coming soon"),p())}function zH(e,n){1&e&&(It(0),y(1,"i",73),f(2," Annual subscription"),Mt())}function qH(e,n){1&e&&(It(0),y(1,"i",74),f(2," Lifetime license"),Mt())}function WH(e,n){if(1&e){const t=Le();h(0,"button",96),U("click",function(){return re(t),oe(O(2).openPaddleCheckout("team"))}),y(1,"i",97),f(2," Buy now"),p()}}function ZH(e,n){1&e&&(h(0,"button",95),f(1,"Coming soon"),p())}function QH(e,n){1&e&&(It(0),y(1,"i",73),f(2," Annual subscription"),Mt())}function YH(e,n){1&e&&(It(0),y(1,"i",74),f(2," Lifetime license"),Mt())}function XH(e,n){if(1&e){const t=Le();h(0,"button",96),U("click",function(){return re(t),oe(O(2).openPaddleCheckout("enterprise"))}),y(1,"i",97),f(2," Buy now"),p()}}function JH(e,n){1&e&&(h(0,"button",95),f(1,"Coming soon"),p())}function KH(e,n){if(1&e&&(h(0,"div",2)(1,"div",75)(2,"div",76),y(3,"img",77),h(4,"h4",78),f(5,"Free"),y(6,"br"),f(7,"Trial"),p(),h(8,"p"),y(9,"i",79),f(10," Get full access"),y(11,"br")(12,"i",80),f(13," 10 day trial period "),p(),W(14,jH,3,1,"button",81)(15,UH,2,0,"button",82),p()(),h(16,"div",83)(17,"div",84),y(18,"img",85),h(19,"h4",78),f(20,"Individual"),y(21,"br"),f(22),p(),h(23,"p"),y(24,"i",86),f(25," Per developer license."),y(26,"br"),W(27,BH,3,0,"ng-container",25)(28,HH,3,0,"ng-container",25),p(),W(29,$H,3,0,"button",87)(30,GH,2,0,"button",82),p()(),h(31,"div",88)(32,"div",84),y(33,"img",89),h(34,"h4",78),f(35,"Team"),y(36,"br"),f(37),p(),h(38,"p"),y(39,"i",90),f(40," Up to 10 developers."),y(41,"br"),W(42,zH,3,0,"ng-container",25)(43,qH,3,0,"ng-container",25),p(),W(44,WH,3,0,"button",87)(45,ZH,2,0,"button",82),p()(),h(46,"div",91)(47,"div",84),y(48,"img",92),h(49,"h4",78),f(50,"Enterprise"),y(51,"br"),f(52),p(),h(53,"p"),y(54,"i",93),f(55," Unlimited developers."),y(56,"br"),W(57,QH,3,0,"ng-container",25)(58,YH,3,0,"ng-container",25),p(),W(59,XH,3,0,"button",87)(60,JH,2,0,"button",82),p()()()),2&e){const t=O();C(14),M("ngIf",t.enablePaddle),C(),M("ngIf",!t.enablePaddle),C(7),Se(t.lifetimeLicense?t.paddleIndividualLifetimeLicensePrice:t.paddleIndividualLicensePrice),C(5),M("ngIf",!t.lifetimeLicense),C(),M("ngIf",t.lifetimeLicense),C(),M("ngIf",t.enablePaddle),C(),M("ngIf",!t.enablePaddle),C(7),Se(t.lifetimeLicense?t.paddleTeamLifetimeLicensePrice:t.paddleTeamLicensePrice),C(5),M("ngIf",!t.lifetimeLicense),C(),M("ngIf",t.lifetimeLicense),C(),M("ngIf",t.enablePaddle),C(),M("ngIf",!t.enablePaddle),C(7),Se(t.lifetimeLicense?t.paddleEnterpriseLifetimeLicensePrice:t.paddleEnterpriseLicensePrice),C(5),M("ngIf",!t.lifetimeLicense),C(),M("ngIf",t.lifetimeLicense),C(),M("ngIf",t.enablePaddle),C(),M("ngIf",!t.enablePaddle)}}function e4(e,n){1&e&&(It(0),h(1,"div",99)(2,"span",100),f(3,"Loading..."),p()(),h(4,"span",101),f(5,"Your license is being generated. Please wait."),p(),Mt())}const _g=()=>["/contact"];function t4(e,n){if(1&e&&(h(0,"div")(1,"p"),f(2),p(),h(3,"p"),f(4,"Please try again later or use the "),h(5,"a",19),f(6," contact form"),p(),f(7,"."),p()()),2&e){const t=O(3);C(2),Se(t.paddleLicense.error),C(3),M("routerLink",ee(2,_g))}}function n4(e,n){1&e&&(h(0,"span"),y(1,"i",108),f(2," Copy"),p())}function r4(e,n){1&e&&(h(0,"span"),y(1,"i",109),f(2," Copied"),p())}function o4(e,n){if(1&e){const t=Le();h(0,"div",105)(1,"textarea",106),f(2),p(),h(3,"button",107),U("click",function(){const i=re(t).$implicit;return oe(O(4).copyPaddle(i))}),W(4,n4,3,0,"span",25)(5,r4,3,0,"span",25),p()()}if(2&e){const t=n.$implicit,r=O(4);C(2),Se(t),C(2),M("ngIf",-1===r.copiedPaddledLicenses.indexOf(t)),C(),M("ngIf",r.copiedPaddledLicenses.indexOf(t)>-1)}}function i4(e,n){if(1&e&&(h(0,"div")(1,"label",103),f(2,"Thank you! Please save your license key persistently:"),p(),W(3,o4,6,3,"div",104),p()),2&e){const t=O(3);C(3),M("ngForOf",t.paddleLicense.licenses)}}function s4(e,n){if(1&e&&(h(0,"div",102),W(1,t4,8,3,"div",25)(2,i4,4,1,"div",25),p()),2&e){const t=O(2);C(),M("ngIf",t.paddleLicense.error),C(),M("ngIf",!t.paddleLicense.error)}}function a4(e,n){if(1&e&&(h(0,"div",2),W(1,e4,6,0,"ng-container",25)(2,s4,3,2,"div",98),p()),2&e){const t=O();C(),M("ngIf",t.paddleLicenseRequested&&!t.paddleLicense),C(),M("ngIf",t.paddleLicense)}}function l4(e,n){1&e&&(h(0,"p")(1,"i"),f(2,"ReportGenerator"),p(),f(3," subscription based licences are provided with a 30 day money back guarantee."),p())}function c4(e,n){1&e&&(h(0,"div",99)(1,"span",100),f(2,"Loading..."),p()())}function u4(e,n){1&e&&(h(0,"div",110),y(1,"i",111),p())}function d4(e,n){if(1&e&&(h(0,"div")(1,"p"),f(2),p(),h(3,"p"),f(4,"Please try again later or use the "),h(5,"a",19),f(6," contact form"),p(),f(7,"."),p()()),2&e){const t=O(2);C(2),Se(t.license.error),C(3),M("routerLink",ee(2,_g))}}function f4(e,n){1&e&&(h(0,"div")(1,"p"),f(2,"Please become a "),h(3,"a",112),f(4,"GitHub sponsor"),p(),f(5," first."),p()())}function h4(e,n){1&e&&(h(0,"span"),y(1,"i",108),f(2," Copy"),p())}function p4(e,n){1&e&&(h(0,"span"),y(1,"i",109),f(2," Copied"),p())}function g4(e,n){if(1&e){const t=Le();h(0,"div")(1,"label",113),f(2,"Thank you for becoming a sponsor. Here's your license:"),p(),h(3,"textarea",114),f(4),p(),h(5,"button",107),U("click",function(){return re(t),oe(O(2).copy())}),W(6,h4,3,0,"span",25)(7,p4,3,0,"span",25),p()()}if(2&e){const t=O(2);C(4),Se(t.license.license),C(2),M("ngIf",!t.licenseCopied),C(),M("ngIf",t.licenseCopied)}}function m4(e,n){if(1&e&&(h(0,"div",27),W(1,d4,8,3,"div",25)(2,f4,6,0,"div",25)(3,g4,8,3,"div",25),p()),2&e){const t=O();C(),M("ngIf",t.license.error),C(),M("ngIf",!t.license.error&&!t.license.isSponsor),C(),M("ngIf",!t.license.error&&t.license.isSponsor&&t.license.license)}}const eo=()=>["/features"];let v4=(()=>{class e{get lifetimeLicense(){return this._lifetimeLicense}set lifetimeLicense(t){this._lifetimeLicense=t,this.lifetimeLicenseChangeTracked||(this.lifetimeLicenseChangeTracked=!0,this.trackingService.track("Licensetype changed"))}constructor(t,r,o){this.oauthService=t,this.licenseService=r,this.trackingService=o,this.paddleIndividualLicensePrice="US$49",this.paddleTeamLicensePrice="US$149",this.paddleEnterpriseLicensePrice="US$299",this.paddleIndividualLifetimeLicensePrice="US$79",this.paddleTeamLifetimeLicensePrice="US$249",this.paddleEnterpriseLifetimeLicensePrice="US$449",this.licenseRequested=!1,this.licenseCopied=!1,this.license=null,this.enablePaddle=!0,this.trialDisabled=!1,this.requestTrialData={name:"",email:""},this.paddleLicenseRequested=!1,this.paddleLicense=null,this.copiedPaddledLicenses=[],this.self=this,this.lifetimeLicenseChangeTracked=!1,this._lifetimeLicense=!0,window.paddleCheckoutComplete=i=>{this.paddleCheckoutComplete(i)},window.Paddle.Setup({vendor:144162}),window.Paddle.Product.Prices(762579,i=>{this.paddleIndividualLicensePrice=i.recurring.price.gross}),window.Paddle.Product.Prices(762580,i=>{this.paddleTeamLicensePrice=i.recurring.price.gross}),window.Paddle.Product.Prices(762581,i=>{this.paddleEnterpriseLicensePrice=i.recurring.price.gross}),window.Paddle.Product.Prices(833943,i=>{this.paddleIndividualLifetimeLicensePrice=i.price.gross}),window.Paddle.Product.Prices(833944,i=>{this.paddleTeamLifetimeLicensePrice=i.price.gross}),window.Paddle.Product.Prices(833945,i=>{this.paddleEnterpriseLifetimeLicensePrice=i.price.gross})}ngOnInit(){const t=this.oauthService.validateStateAndExtractCode();null!==t?(console.log("Code received",t),this.licenseRequested=!0,this.licenseService.getLicense(t).subscribe({next:r=>{console.log("Received license response"),this.license=r,this.scrollToGithub()},error:r=>{console.error(r),this.license=new FH,this.license.error="Unable to generate license.",this.scrollToGithub()},complete:()=>console.info("complete")})):console.log("No code available"),location.href.indexOf("?source=trial")>-1&&this.trackingService.track("Trial2Pro"),this.requestTrialModal=new window.bootstrap.Modal("#requestTrialModal");try{this.trialDisabled=null!==window.localStorage.getItem("trialRequested")}catch{}}requestLicense(){this.licenseRequested=!0,this.oauthService.initCodeFlow()}copy(){try{navigator.clipboard.writeText(this.license.license),this.licenseCopied=!0}catch(t){console.error("Failed to copy license",t)}}copyPaddle(t){try{navigator.clipboard.writeText(t),this.copiedPaddledLicenses.push(t)}catch(r){console.error("Failed to copy paddle license",r)}}scrollToGithub(){return document.querySelector("#github").scrollIntoView(!0),!1}scrollToPaddle(){return document.querySelector("#paddle").scrollIntoView(!0),!1}requestTrial(){this.requestTrialModal.show(),this.trackingService.track("Trial-Started")}completeTrial(){console.log("Trial completed"),this.requestTrialModal.hide(),this.paddleLicenseRequested=!0,this.licenseService.getTrialLicense(this.requestTrialData).subscribe({next:t=>{console.log("Received trial license response"),this.paddleLicense=t,this.scrollToPaddle();try{window.localStorage.setItem("trialRequested","true"),this.trialDisabled=!0}catch{}this.trackingService.track("Trial-Completed")},error:t=>{console.error(t),this.paddleLicense=new c0,this.paddleLicense.error="Unable to generate trial license."},complete:()=>{console.info("complete"),this.requestTrialData={name:"",email:""}}})}openPaddleCheckout(t){"enterprise"===t?window.Paddle.Checkout.open({product:this.lifetimeLicense?833945:762581,successCallback:"paddleCheckoutComplete"}):"team"===t?window.Paddle.Checkout.open({product:this.lifetimeLicense?833944:762580,successCallback:"paddleCheckoutComplete"}):window.Paddle.Checkout.open({product:this.lifetimeLicense?833943:762579,successCallback:"paddleCheckoutComplete"}),this.trackingService.track("Paddle-Started",{props:{product:t,lifetimeLicense:this.lifetimeLicense}})}paddleCheckoutComplete(t){console.log("Checkout completed",t),this.paddleLicenseRequested=!0,this.licenseService.getPaddleLicense(t).subscribe({next:r=>{console.log("Received paddle license response"),this.paddleLicense=r,this.scrollToPaddle(),this.trackingService.track("Paddle-Completed",{props:{product:t.product.name,lifetimeLicense:this.lifetimeLicense}})},error:r=>{console.error(r),this.paddleLicense=new c0,this.paddleLicense.error="Unable to generate Paddle license."},complete:()=>console.info("complete")})}static#e=this.\u0275fac=function(r){return new(r||e)(S(u0),S(d0),S(LH))};static#t=this.\u0275cmp=xt({type:e,selectors:[["app-pro-component"]],standalone:!0,features:[Lt],decls:240,vars:27,consts:[[1,"container"],[1,"mb-4"],[1,"row"],[1,"col-xs-12","col-md-6","order-2","order-md-1"],[1,"table"],["scope","col"],["scope","col",1,"text-center"],[1,"pro-button"],["scope","row"],["fragment","metrics","title","Show feature details",3,"routerLink"],[1,"fa-solid","fa-circle-info","text-secondary"],[1,"text-center"],[1,"fa-solid","fa-circle-check","text-secondary"],["fragment","riskhotspots","title","Show feature details",3,"routerLink"],["title","Show feature details",3,"routerLink"],[1,"fa-solid","fa-circle-check","pro-text"],["fragment","rawmode","title","Show feature details",3,"routerLink"],[1,"col-xs-12","col-md-6","order-1","order-md-2"],["href","",3,"click"],[3,"routerLink"],["id","paddle",1,"container-fluid","mt-5","pt-5","pb-5","bg-light"],[1,"text-center","mb-3"],["class","togglecontainer",4,"ngIf"],["class","row",4,"ngIf"],[1,"mt-5"],[4,"ngIf"],["id","github",1,"container-fluid","mt-5","pt-5","pb-5","bg-light"],[1,"col-xs-12","col-md-6","pb-3"],[1,"fs-2","me-3","number"],["href","https://github.com/sponsors/danielpalme","target","_blank",1,"btn","btn-outline-dark"],[1,"fa-solid","fa-heart","githubheart"],["type","button",1,"btn","btn-primary","me-3",3,"disabled","click"],[1,"fa-solid","fa-rocket"],["class","spinner-border text-info","role","status",4,"ngIf"],["class","col-md-6 pb-3 d-none d-lg-block position-relative",4,"ngIf"],["class","col-xs-12 col-md-6 pb-3",4,"ngIf"],[1,"container-fluid","mt-4","pt-5","pb-5","bg-light"],[1,"container","text-center"],[1,"row","mt-5","testimonial"],["href","https://twitter.com/fredyfx/status/1642807795828543488","target","_blank"],["loading","lazy","src","resources/twitter_light.webp","alt","Testimonial",1,"img-fluid"],["id","faq",1,"container","mt-5","pt-5","pb-5"],["id","accordionFaq",1,"accordion","accordion-flush"],[1,"accordion-item"],["id","headingOne",1,"accordion-header"],["type","button","data-bs-toggle","collapse","data-bs-target","#collapseOne","aria-expanded","true","aria-controls","collapseOne",1,"accordion-button"],["id","collapseOne","aria-labelledby","headingOne","data-bs-parent","#accordionFaq",1,"accordion-collapse","collapse","show"],[1,"accordion-body"],["id","headingTwo",1,"accordion-header"],["type","button","data-bs-toggle","collapse","data-bs-target","#collapseTwo","aria-expanded","false","aria-controls","collapseTwo",1,"accordion-button","collapsed"],["id","collapseTwo","aria-labelledby","headingTwo","data-bs-parent","#accordionFaq",1,"accordion-collapse","collapse"],["id","headingThree",1,"accordion-header"],["type","button","data-bs-toggle","collapse","data-bs-target","#collapseThree","aria-expanded","false","aria-controls","collapseThree",1,"accordion-button","collapsed"],["id","collapseThree","aria-labelledby","headingThree","data-bs-parent","#accordionFaq",1,"accordion-collapse","collapse"],["tabindex","-1","id","requestTrialModal",1,"modal"],[1,"modal-dialog"],[1,"modal-content"],["method","post",3,"ngSubmit"],["trialForm","ngForm"],[1,"modal-header"],[1,"modal-title"],["type","button","data-bs-dismiss","modal","aria-label","Close",1,"btn-close"],[1,"modal-body"],[1,"form-floating","mb-3"],["type","text","id","name","name","name","required","","maxlength","150",1,"form-control",3,"ngModel","ngModelChange"],["for","floatingInput"],[1,"required"],["type","email","id","email","name","email","required","","email","","maxlength","150",1,"form-control",3,"ngModel","ngModelChange"],[1,"modal-footer"],["type","button","data-bs-dismiss","modal",1,"btn","btn-secondary"],["type","submit",1,"btn","btn-primary",3,"disabled"],[1,"togglecontainer"],[1,"option",3,"ngClass","click"],[1,"fa-solid","fa-rotate-right"],[1,"fa-solid","fa-infinity"],[1,"col-xs-12","col-md-6","col-lg-3","mt-0","pb-3","text-center","paddle-container"],[1,"paddle","trial"],["src","resources/trial.svg","alt","Trial",1,"img-fluid"],[1,"mt-3"],[1,"fa-solid","fa-magnifying-glass"],[1,"fa-solid","fa-calendar-days"],["type","button","class","btn btn-primary",3,"disabled","click",4,"ngIf"],["type","button","class","btn btn-primary","disabled","",4,"ngIf"],[1,"col-xs-12","col-md-6","col-lg-3","mt-4","mt-md-0","pb-3","text-center","paddle-container"],[1,"paddle"],["src","resources/individual.svg","alt","Individual",1,"img-fluid"],[1,"fa-solid","fa-user"],["type","button","class","btn btn-primary",3,"click",4,"ngIf"],[1,"col-xs-12","col-md-6","col-lg-3","mt-4","mt-lg-0","pb-3","text-center","paddle-container"],["src","resources/team.svg","alt","Team",1,"img-fluid"],[1,"fa-solid","fa-users"],[1,"col-xs-6","col-md-6","col-lg-3","mt-4","mt-lg-0","pb-3","text-center","paddle-container"],["src","resources/enterprise.svg","alt","Enterprise",1,"img-fluid"],[1,"fa-solid","fa-industry"],["type","button",1,"btn","btn-primary",3,"disabled","click"],["type","button","disabled","",1,"btn","btn-primary"],["type","button",1,"btn","btn-primary",3,"click"],[1,"fa-solid","fa-cart-shopping"],["class","col-xs-12 col-md-6",4,"ngIf"],["role","status",1,"spinner-border","text-info"],[1,"visually-hidden"],[1,"position-relative","paddle-loading"],[1,"col-xs-12","col-md-6"],["for","paddlelicensetext"],["class","mt-2",4,"ngFor","ngForOf"],[1,"mt-2"],["id","paddlelicensetext","rows","5","readonly","",1,"form-control"],[1,"btn","btn-outline-dark","mt-2",3,"click"],[1,"fa-solid","fa-copy"],[1,"fa-solid","fa-check","text-success"],[1,"col-md-6","pb-3","d-none","d-lg-block","position-relative"],[1,"fa-solid","fa-heart","githubheartlarge"],["href","https://github.com/sponsors/danielpalme","target","_blank"],["for","licensetext"],["id","licensetext","rows","5","readonly","",1,"form-control","mt-2"]],template:function(r,o){if(1&r&&(h(0,"div",0)(1,"h1",1),f(2,"PRO"),p(),h(3,"div",2)(4,"div",3)(5,"table",4)(6,"thead")(7,"tr"),y(8,"th",5),h(9,"th",6),f(10,"Free"),p(),h(11,"th",6)(12,"span",7),f(13,"PRO"),p()()()(),h(14,"tbody")(15,"tr")(16,"th",8),f(17,"Metrics "),h(18,"a",9),y(19,"i",10),p()(),h(20,"td",11),y(21,"i",12),p(),h(22,"td",11),y(23,"i",12),p()(),h(24,"tr")(25,"th",8),f(26,"Risk Hotspots "),h(27,"a",13),y(28,"i",10),p()(),h(29,"td",11),y(30,"i",12),p(),h(31,"td",11),y(32,"i",12),p()(),h(33,"tr")(34,"th",8),f(35,"Line coverage "),h(36,"a",14),y(37,"i",10),p()(),h(38,"td",11),y(39,"i",12),p(),h(40,"td",11),y(41,"i",12),p()(),h(42,"tr")(43,"th",8),f(44,"Branch coverage "),h(45,"a",14),y(46,"i",10),p()(),h(47,"td",11),y(48,"i",12),p(),h(49,"td",11),y(50,"i",12),p()(),h(51,"tr")(52,"th",8),f(53,"Method coverage "),h(54,"a",14),y(55,"i",10),p()(),y(56,"td",11),h(57,"td",11),y(58,"i",15),p()(),h(59,"tr")(60,"th",8),f(61,"Metrics on summary page "),h(62,"a",9),y(63,"i",10),p()(),y(64,"td",11),h(65,"td",11),y(66,"i",15),p()(),h(67,"tr")(68,"th",8)(69,"i"),f(70,"OpenCover"),p(),f(71," output format"),p(),y(72,"td",11),h(73,"td",11),y(74,"i",15),p()(),h(75,"tr")(76,"th",8),f(77,"Raw mode (for "),h(78,"i"),f(79,"Cobertura"),p(),f(80,") "),h(81,"a",16),y(82,"i",10),p()(),y(83,"td",11),h(84,"td",11),y(85,"i",15),p()()()()(),h(86,"div",17)(87,"p")(88,"i"),f(89,"ReportGenerator"),p(),f(90," is Open Source and free to use."),y(91,"br"),f(92," Some of the advanced features require a PRO license. "),p(),h(93,"p"),f(94," You can either "),h(95,"a",18),U("click",function(){return o.scrollToPaddle()}),f(96,"buy a license"),p(),f(97," or you can become a "),h(98,"a",18),U("click",function(){return o.scrollToGithub()}),f(99,"GitHub sponsor"),p(),f(100,"."),y(101,"br"),f(102," A "),h(103,"a",18),U("click",function(){return o.scrollToPaddle()}),f(104,"free trial version"),p(),f(105," is available too. "),p(),h(106,"p"),f(107," Get "),h(108,"a",19),f(109,"in touch"),p(),f(110," if you have any issues and we will figure it out. "),p()()()(),h(111,"section",20)(112,"div",0)(113,"h2",1),f(114,"Buy a license"),p(),h(115,"div",21),W(116,VH,7,6,"span",22),p(),W(117,KH,61,17,"div",23)(118,a4,3,2,"div",23),h(119,"div",24),W(120,l4,4,0,"p",25),h(121,"p"),f(122,"The order process is conducted by Paddle.com. Paddle.com is the Merchant of Record for all orders. Paddle provides all customer service inquiries and handles returns."),p()()()(),h(123,"section",26)(124,"div",0)(125,"h2",1),f(126,"Get your license as a GitHub sponsor"),p(),h(127,"div",2)(128,"div",27)(129,"p"),f(130,"You can obtain your license in two easy steps (no sign up required):"),p(),h(131,"span",28),f(132,"1."),p(),h(133,"a",29),y(134,"i",30),f(135," Become a GitHub sponsor"),p(),y(136,"br"),h(137,"span",28),f(138,"2."),p(),h(139,"button",31),U("click",function(){return o.requestLicense()}),y(140,"i",32),f(141," Get license"),p(),W(142,c4,3,0,"div",33),p(),W(143,u4,2,0,"div",34)(144,m4,4,3,"div",35),p()()(),y(145,"app-testimonials"),h(146,"section",36)(147,"div",37)(148,"h3"),f(149,"Customers"),p(),h(150,"div",38)(151,"a",39),y(152,"img",40),p()()()(),h(153,"section",41)(154,"h2",1),f(155,"Frequently Asked Questions"),p(),h(156,"div",42)(157,"div",43)(158,"h2",44)(159,"button",45),f(160," How do I use/activate my license? "),p()(),h(161,"div",46)(162,"div",47),f(163," Your license key is passed to "),h(164,"i"),f(165,"ReportGenerator"),p(),f(166," via a command line parameter: "),h(167,"i"),f(168,"-license:YOUR_KEY"),p()()()(),h(169,"div",43)(170,"h2",48)(171,"button",49),f(172," Are there limitations on number of users? "),p()(),h(173,"div",50)(174,"div",47)(175,"b"),f(176,"GitHub sponsors"),p(),y(177,"br"),h(178,"p"),f(179,"There's no enforced limit. Please pick a sponsor level that fits your company size and budget."),p(),h(180,"b"),f(181,"Bought license"),p(),y(182,"br"),h(183,"p"),f(184,"There's no enforced limit. Please choose a plan that matches the number of developers using "),h(185,"i"),f(186,"ReportGenerator"),p(),f(187,"."),p()()()(),h(188,"div",43)(189,"h2",51)(190,"button",52),f(191," Will my license expire? "),p()(),h(192,"div",53)(193,"div",47)(194,"b"),f(195,"GitHub sponsors"),p(),y(196,"br"),h(197,"p"),f(198,"Your license will not expire."),p(),h(199,"b"),f(200,"Bought license"),p(),y(201,"br"),h(202,"p")(203,"b"),f(204,"Annual subscription"),p(),f(205,": Your license may get revoked for new releases of "),h(206,"i"),f(207,"ReportGenerator"),p(),f(208,", if you cancel your subscription."),y(209,"br"),h(210,"b"),f(211,"Lifetime licenses"),p(),f(212,": Lifetime licenses will not expire. "),p()()()()()(),h(213,"div",54)(214,"div",55)(215,"div",56)(216,"form",57,58),U("ngSubmit",function(){return o.completeTrial()}),h(218,"div",59)(219,"h5",60),f(220,"Free Trial"),p(),y(221,"button",61),p(),h(222,"div",62)(223,"div",63)(224,"input",64),je("ngModelChange",function(s){return $e(o.requestTrialData.name,s)||(o.requestTrialData.name=s),s}),p(),h(225,"label",65),f(226,"Name "),h(227,"span",66),f(228,"*"),p()()(),h(229,"div",63)(230,"input",67),je("ngModelChange",function(s){return $e(o.requestTrialData.email,s)||(o.requestTrialData.email=s),s}),p(),h(231,"label",65),f(232,"Email address "),h(233,"span",66),f(234,"*"),p()()()(),h(235,"div",68)(236,"button",69),f(237,"Close"),p(),h(238,"button",70),f(239,"Get trial license"),p()()()()()()),2&r){const i=gh(217);C(18),M("routerLink",ee(19,eo)),C(9),M("routerLink",ee(20,eo)),C(9),M("routerLink",ee(21,eo)),C(9),M("routerLink",ee(22,eo)),C(9),M("routerLink",ee(23,eo)),C(8),M("routerLink",ee(24,eo)),C(19),M("routerLink",ee(25,eo)),C(27),M("routerLink",ee(26,_g)),C(8),M("ngIf",!o.paddleLicenseRequested),C(),M("ngIf",!o.paddleLicenseRequested),C(),M("ngIf",o.paddleLicenseRequested),C(2),M("ngIf",!o.lifetimeLicense),C(19),M("disabled",o.licenseRequested),C(3),M("ngIf",o.licenseRequested&&!o.license),C(),M("ngIf",!o.license),C(),M("ngIf",o.license),C(80),Ve("ngModel",o.requestTrialData.name),C(6),Ve("ngModel",o.requestTrialData.email),C(8),M("disabled",!i.valid)}},dependencies:[Sn,Jh,Kh,Ec,su,ru,bi,Wc,Zc,Si,dg,iu,fa,Mi,l0],styles:[".number[_ngcontent-%COMP%]{display:inline-block;position:relative;top:8px}.spinner-border[_ngcontent-%COMP%]{position:relative;top:9px}.paddle-container[_ngcontent-%COMP%]{padding:10px}.paddle[_ngcontent-%COMP%]{border:1px solid #8c8888;border-radius:20px;padding:20px;background-color:#d8e8f0}.trial[_ngcontent-%COMP%]{background-color:#b2cad7}.githubheartlarge[_ngcontent-%COMP%]{position:absolute;top:-120px;left:40%;font-size:20rem;color:#ffd2ed}.togglecontainer[_ngcontent-%COMP%]{background-color:#fff;display:inline-block;border-radius:20px;white-space:nowrap}.togglecontainer[_ngcontent-%COMP%] .option[_ngcontent-%COMP%]{background-color:#fff;padding:8px 15px;border-radius:20px;cursor:pointer;display:inline-block}.togglecontainer[_ngcontent-%COMP%] .option.active[_ngcontent-%COMP%]{color:#fff;background-color:var(--rg-primary-color);background-image:linear-gradient(50deg,var(--rg-gradient-from) 0%,var(--rg-gradient-to) 100%)}@media only screen and (max-width: 400px){.togglecontainer[_ngcontent-%COMP%] .option[_ngcontent-%COMP%] .fa-solid[_ngcontent-%COMP%]{display:none}}.paddle-loading[_ngcontent-%COMP%]{position:relative;left:35px;top:-20px}.testimonial[_ngcontent-%COMP%]{max-width:550px;margin:auto}"]})}return e})();class fu{constructor(n,t,r,o,i,s){this.name=n,this.url=t,this.runtimes=r,this.description=o,this.installOptions=i,this.executables=s}formatExecutable(n){return n.tool}formatArgument(n,t){if(""===(t=t.trim()))return"";const r=t.indexOf(" ")>-1?'"':"";return`\r\n${r}-${n}:${t}${r}`}formatArguments(n,t){return this.formatArgument(n,t.filter(r=>null!=r&&0!==r.length&&0!==r.trim().length).join(";"))}}class y4 extends fu{formatExecutable(n){let t=`- task: ${n.tool}@${Zt.majorVersion}`;return t+="\r\n displayName: ReportGenerator",t+="\r\n inputs:",console.log("hello",t),t}formatArgument(n,t){if(""===(t=t.trim()))return"";const r=t.indexOf(" ")>-1?"'":"";return`\r\n ${n}: ${r}${t}${r}`}}class _4{constructor(){this.verbosities=["Verbose","Info","Warning","Error","Off"],this.types=["Html","Coverage tool","Json","Markdown","Xml","Text","Image"],this.reports=["cobertura.xml"],this.targetdir="coveragereport",this.reporttypes=[{name:"Html",types:["Html"],description:"The default output format. Creates a summary overview (index.html) and detailed reports for each class.",requiresHistoryDir:!1,checked:!0,sampleReport:"resources/reports/Html/index.html"},{name:"Html_Light",types:["Html"],description:"Same as Html but with a light theme.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/Html_Light/index.html"},{name:"Html_Dark",types:["Html"],description:"Same as Html but with a dark theme.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/Html_Dark/index.html"},{name:"Html_BlueRed",types:["Html"],description:"Same as Html but with the colors blue/red instead of green/red.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/Html_BlueRed/index.html"},{name:"HtmlSummary",types:["Html"],description:"Creates a single HTML file (summary.html) without links.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/HtmlSummary/summary.html"},{name:"Html_BlueRed_Summary",types:["Html"],description:"Same as HtmlSummary but with the colors blue/red instead of green/red.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/Html_BlueRed_Summary/summary.html"},{name:"HtmlChart",types:["Html"],description:"Creates a single HTML file containing a chart with historic coverage information.",requiresHistoryDir:!0,checked:!1,sampleReport:"resources/reports/HtmlChart/CoverageHistory.html"},{name:"HtmlInline",types:["Html"],description:"Same as HTML but CSS and JavaScript is included in every HTML page. This results in larger file sizes, but can be useful for integration into build servers like Azure DevOps (VSTS), since they may block referenced CSS and JavaScript files.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/HtmlInline/index.html"},{name:"HtmlInline_AzurePipelines",types:["Html"],description:"Same as HtmlInline but with an adaptive light/dark theme matching the look and feel of Azure Pipelines",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/HtmlInline_AzurePipelines/index.html"},{name:"HtmlInline_AzurePipelines_Light",types:["Html"],description:"Same as HtmlInline but with a light theme matching the look and feel of Azure Pipelines.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/HtmlInline_AzurePipelines_Light/index.html"},{name:"HtmlInline_AzurePipelines_Dark",types:["Html"],description:"Same as HtmlInline but with a dark theme matching the look and feel of Azure Pipelines.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/HtmlInline_AzurePipelines_Dark/index.html"},{name:"MHtml",types:["Html"],description:"Same as HTML but packaged into a single MHTML file.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/MHtml/Summary.mht"},{name:"Clover",types:["Coverage tool"],description:"Creates a XML file in Clover format. This format integrates with tools like Atlassian Bamboo.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/Clover/Clover.xml"},{name:"Cobertura",types:["Coverage tool"],description:"Creates a XML file in Cobertura format. This format integrates with tools like Azure DevOps (VSTS) or Jenkins.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/Cobertura/Cobertura.xml"},{name:"OpenCover",types:["Coverage tool"],description:"Creates a XML file in OpenCover format (PRO version only).",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/OpenCover/OpenCover.xml"},{name:"SonarQube",types:["Coverage tool"],description:"Creates a XML file in SonarQube 'Generic Test Data' format.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/SonarQube/SonarQube.xml"},{name:"lcov",types:["Coverage tool"],description:"Creates a text file in 'lcov' format.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/lcov/lcov.info"},{name:"XML",types:["Xml"],description:"Creates a XML file containing a summary for all classes and detailed reports for each class.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/Xml/Summary.xml"},{name:"XMLSummary",types:["Xml"],description:"Creates a single XML file containing a summary for all classes.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/XmlSummary/Summary.xml"},{name:"JsonSummary",types:["Json"],description:"Creates a single JSON file containing a summary for all classes.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/JsonSummary/Summary.json"},{name:"CodeClimate",types:["Json"],description:"Creates a single JSON file containing a (Gitlab) code climate report.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/CodeClimate/codeclimate.json"},{name:"Latex",types:["Text"],description:"Creates a single TEX file containing a summary for all classes and detailed reports for each class.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/Summary/Summary.tex"},{name:"LatexSummary",types:["Text"],description:"Creates a single TEX file containing a summary for all classes.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/LatexSummary/Summary.tex"},{name:"TeamCitySummary",types:["Coverage tool"],description:"Command line output interpreted by TeamCity.",requiresHistoryDir:!1,checked:!1,sampleReport:null},{name:"TextSummary",types:["Text"],description:"Creates a single TXT file containing coverage information per class.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/TextSummary/Summary.txt"},{name:"TextDeltaSummary",types:["Text"],description:"Creates a single TXT file containing delta coverage information.",requiresHistoryDir:!0,checked:!1,sampleReport:"resources/reports/TextDeltaSummary/DeltaSummary.txt"},{name:"CsvSummary",types:["Text"],description:"Creates a single CSV file containing coverage information per class.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/CsvSummary/Summary.csv"},{name:"MarkdownSummary",types:["Text","Markdown"],description:"Creates a single Markdown file containing coverage information per class.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/MarkdownSummary/Summary.md"},{name:"MarkdownSummaryGithub",types:["Text","Markdown"],description:"Creates a single Markdown file containing coverage information per class. The report is optimized for GitHub.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/MarkdownSummaryGithub/SummaryGithub.md"},{name:"MarkdownDeltaSummary",types:["Text","Markdown"],description:"Creates a single Markdown file containing delta coverage information.",requiresHistoryDir:!0,checked:!1,sampleReport:"resources/reports/MarkdownDeltaSummary/DeltaSummary.md"},{name:"SvgChart",types:["Image"],description:"Creates a single SVG file containing a chart with historic coverage information.",requiresHistoryDir:!0,checked:!1,sampleReport:"resources/reports/SvgChart/CoverageHistory.svg"},{name:"Badges",types:["Image"],description:"Creates SVG files that show line and/or branch coverage information.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/Badges/index.html"}],this.sourcedirectories=[],this.historydir="",this.plugins=[],this.assemblyfilters=[],this.classfilters=[],this.filefilters=[],this.selectedverbosity=this.verbosities[1],this.selectedType=null,this.title="",this.tag="",this.license=""}addSourceDirectory(){return this.sourcedirectories.push(""),!1}removeSourceDirectory(n){return this.sourcedirectories.splice(n,1),!1}addReport(){return this.reports.push(""),!1}removeReport(n){return this.reports.splice(n,1),!1}addPlugin(){return this.plugins.push(""),!1}removePlugin(n){return this.plugins.splice(n,1),!1}addAssemblyFilter(){return this.assemblyfilters.push(""),!1}removeAssemblyFilter(n){return this.assemblyfilters.splice(n,1),!1}addClassFilter(){return this.classfilters.push(""),!1}removeClassFilter(n){return this.classfilters.splice(n,1),!1}addFileFilter(){return this.filefilters.push(""),!1}removeFileFilter(n){return this.filefilters.splice(n,1),!1}getUsage(n,t){const r=n.executables.find(a=>a.runtime==t);let o=void 0!==r?n.formatExecutable(r):"";o+=n.formatArguments("reports",this.reports),o+=n.formatArgument("targetdir",this.targetdir);for(var i="",s=0;s0&&(i+=";"),i+=this.reporttypes[s].name);return i.length>0&&"Html"!==i&&(o+=n.formatArgument("reporttypes",i)),o+=n.formatArguments("sourcedirs",this.sourcedirectories),o+=n.formatArgument("historydir",this.historydir),o+=n.formatArguments("plugins",this.plugins),o+=n.formatArguments("assemblyfilters",this.assemblyfilters),o+=n.formatArguments("classfilters",this.classfilters),o+=n.formatArguments("filefilters",this.filefilters),"Info"!==this.selectedverbosity&&(o+=n.formatArgument("verbosity",this.selectedverbosity)),o+=n.formatArgument("title",this.title),o+=n.formatArgument("tag",this.tag),o+=n.formatArgument("license",this.license),o}historyDirRequired(){for(let n=0;n-1?"'":"";return`\r\n ${n}: ${r}${t}${r}`}}class Cg{constructor(n,t){this.tool=n,this.command=t}}function D4(e,n){if(1&e){const t=Le();h(0,"div",35)(1,"label",36)(2,"input",37),je("ngModelChange",function(o){re(t);const i=O();return $e(i.selectedEnvironment,o)||(i.selectedEnvironment=o),oe(o)}),U("ngModelChange",function(){return re(t),oe(O().selectedEnvironmentChanged())}),p(),h(3,"b"),f(4),p(),y(5,"br"),h(6,"div",38),f(7),p()()()}if(2&e){const t=n.$implicit,r=O();C(2),Ve("ngModel",r.selectedEnvironment),M("value",t)("checked",r.selectedEnvironment.name===t.name),C(2),Se(t.name),C(3),Se(t.description)}}function w4(e,n){if(1&e){const t=Le();h(0,"div",35)(1,"label",36)(2,"input",41),je("ngModelChange",function(o){re(t);const i=O(3);return $e(i.selectedPackage,o)||(i.selectedPackage=o),oe(o)}),p(),h(3,"b"),f(4),p(),y(5,"br"),h(6,"div",38),f(7),p()()()}if(2&e){const t=O().$implicit,r=O(2);C(2),Ve("ngModel",r.selectedPackage),M("value",t),C(2),Se(t.name),C(3),Se(t.description)}}function b4(e,n){if(1&e&&(It(0),W(1,w4,8,4,"div",40),Mt()),2&e){const t=n.$implicit,r=O(2);C(),M("ngIf",t.runtimes.indexOf(r.selectedEnvironment.name)>-1)}}function E4(e,n){if(1&e&&(It(0),h(1,"h4"),f(2,"NuGet Package"),p(),W(3,b4,2,1,"ng-container",39),Mt()),2&e){const t=O();C(3),M("ngForOf",t.packages)}}function I4(e,n){if(1&e){const t=Le();h(0,"span",45),U("click",function(){re(t);const o=O().index;return oe(O().configuration.removeReport(o))}),h(1,"a",46),y(2,"i",47),p()()}}const M4=e=>({"input-group":e});function S4(e,n){if(1&e){const t=Le();h(0,"div",38)(1,"div",42)(2,"input",43),je("ngModelChange",function(o){const s=re(t).index,a=O();return $e(a.configuration.reports[s],o)||(a.configuration.reports[s]=o),oe(o)}),p(),W(3,I4,3,0,"span",44),p()()}if(2&e){const t=n.index,r=O();C(),M("ngClass",Rs(4,M4,t>0)),C(),$n("name","report_",t,""),Ve("ngModel",r.configuration.reports[t]),C(),M("ngIf",t>0)}}const T4=(e,n)=>({"btn-outline-primary":e,"btn-primary":n});function A4(e,n){if(1&e){const t=Le();h(0,"button",48),U("click",function(){const i=re(t).$implicit,s=O();return oe(s.configuration.selectedType=s.configuration.selectedType===i?null:i)}),f(1),p()}if(2&e){const t=n.$implicit,r=O();M("ngClass",cw(2,T4,t!==r.configuration.selectedType,t===r.configuration.selectedType)),C(),Se(t)}}function N4(e,n){if(1&e){const t=Le();h(0,"span",53),y(1,"i",54),f(2," Please specify a "),h(3,"a",9),U("click",function(){return re(t),oe(O(3).scrollToHistoryDir())}),f(4,"history directory"),p()()}}function x4(e,n){if(1&e&&(It(0),y(1,"br",55),h(2,"a",29),f(3,"Sample report"),p(),f(4,"\xa0"),h(5,"a",29),y(6,"i",56),p(),Mt()),2&e){const t=O(2).$implicit;C(2),M("href",t.sampleReport,No),C(3),M("href",t.sampleReport,No)}}function R4(e,n){if(1&e){const t=Le();h(0,"div",50)(1,"label",36)(2,"input",51),U("change",function(){re(t);const o=O().$implicit;return oe(o.checked=!o.checked)}),p(),h(3,"b"),f(4),p(),W(5,N4,5,0,"span",52),y(6,"br"),h(7,"div",38),f(8),W(9,x4,7,2,"ng-container",5),p()()()}if(2&e){const t=O().$implicit,r=O();C(2),M("checked",t.checked),C(2),Se(t.name),C(),M("ngIf",t.checked&&t.requiresHistoryDir&&!r.configuration.historydir),C(3),Gn("",t.description," "),C(),M("ngIf",t.sampleReport)}}function O4(e,n){if(1&e&&(It(0),W(1,R4,10,5,"div",49),Mt()),2&e){const t=n.$implicit,r=O();C(),M("ngIf",!r.configuration.selectedType||t.types.indexOf(r.configuration.selectedType)>-1)}}function P4(e,n){if(1&e){const t=Le();h(0,"div",8)(1,"div",57)(2,"input",58),je("ngModelChange",function(o){const s=re(t).index,a=O();return $e(a.configuration.sourcedirectories[s],o)||(a.configuration.sourcedirectories[s]=o),oe(o)}),p(),h(3,"span",45),U("click",function(){const i=re(t).index;return oe(O().configuration.removeSourceDirectory(i))}),h(4,"a",46),y(5,"i",47),p()()()()}if(2&e){const t=n.index,r=O();C(2),$n("name","sourcedir_",t,""),Ve("ngModel",r.configuration.sourcedirectories[t])}}function k4(e,n){if(1&e){const t=Le();h(0,"div",8)(1,"div",57)(2,"input",59),je("ngModelChange",function(o){const s=re(t).index,a=O();return $e(a.configuration.plugins[s],o)||(a.configuration.plugins[s]=o),oe(o)}),p(),h(3,"span",45),U("click",function(){const i=re(t).index;return oe(O().configuration.removePlugin(i))}),h(4,"a",46),y(5,"i",47),p()()()()}if(2&e){const t=n.index,r=O();C(2),$n("name","plugin_",t,""),Ve("ngModel",r.configuration.plugins[t])}}function F4(e,n){if(1&e){const t=Le();h(0,"div",8)(1,"div",57)(2,"input",60),je("ngModelChange",function(o){const s=re(t).index,a=O();return $e(a.configuration.assemblyfilters[s],o)||(a.configuration.assemblyfilters[s]=o),oe(o)}),p(),h(3,"span",45),U("click",function(){const i=re(t).index;return oe(O().configuration.removeAssemblyFilter(i))}),h(4,"a",46),y(5,"i",47),p()()()()}if(2&e){const t=n.index,r=O();C(2),$n("name","assemblyfilter_",t,""),Ve("ngModel",r.configuration.assemblyfilters[t])}}function L4(e,n){if(1&e){const t=Le();h(0,"div",8)(1,"div",57)(2,"input",61),je("ngModelChange",function(o){const s=re(t).index,a=O();return $e(a.configuration.classfilters[s],o)||(a.configuration.classfilters[s]=o),oe(o)}),p(),h(3,"span",45),U("click",function(){const i=re(t).index;return oe(O().configuration.removeClassFilter(i))}),h(4,"a",46),y(5,"i",47),p()()()()}if(2&e){const t=n.index,r=O();C(2),$n("name","classfilter_",t,""),Ve("ngModel",r.configuration.classfilters[t])}}function V4(e,n){if(1&e){const t=Le();h(0,"div",8)(1,"div",57)(2,"input",62),je("ngModelChange",function(o){const s=re(t).index,a=O();return $e(a.configuration.filefilters[s],o)||(a.configuration.filefilters[s]=o),oe(o)}),p(),h(3,"span",45),U("click",function(){const i=re(t).index;return oe(O().configuration.removeFileFilter(i))}),h(4,"a",46),y(5,"i",47),p()()()()}if(2&e){const t=n.index,r=O();C(2),$n("name","filefilter_",t,""),Ve("ngModel",r.configuration.filefilters[t])}}function j4(e,n){if(1&e&&(h(0,"option",63),f(1),p()),2&e){const t=n.$implicit;M("value",t),C(),Se(t)}}function U4(e,n){if(1&e&&(h(0,"div",64)(1,"b"),f(2),p(),y(3,"br"),h(4,"pre",32),f(5),p()()),2&e){const t=n.$implicit;C(2),Se(t.tool),C(3),Se(t.command)}}function B4(e,n){1&e&&(y(0,"i",65),f(1," Copied "))}function H4(e,n){1&e&&(y(0,"i",66),f(1," Copy "))}function $4(e,n){if(1&e&&(h(0,"div",64)(1,"b"),f(2),p(),y(3,"br"),h(4,"pre",32),f(5),p()()),2&e){const t=n.$implicit;C(2),Se(t.tool),C(3),Se(t.command)}}function G4(e,n){1&e&&(y(0,"i",65),f(1," Copied "))}function z4(e,n){1&e&&(y(0,"i",66),f(1," Copy "))}const q4=()=>["/pro"],to=" | ReportGenerator - Code coverage reports",Z4=[{path:"",component:PH,pathMatch:"full",title:"Home"+to,data:{canonical:"/"}},{path:"features",component:SH,title:"Features"+to,data:{canonical:"/features"}},{path:"features.html",redirectTo:"/features"},{path:"getstarted",component:AH,title:"Get started"+to,data:{canonical:"/getstarted"}},{path:"getstarted.html",redirectTo:"/getstarted"},{path:"usage",component:(()=>{class e{constructor(){this.versions=Zt,this.lastResult="",this.usageCopied=!1,this.configuration=new _4,this.environments=[new hu(".NET Core",".NET Core"),new hu(".NET Framework","The full .NET framework"),new hu("Azure DevOps",null),new hu("Github Action",null)],this.packages=[new fu("ReportGenerator","https://www.nuget.org/packages/ReportGenerator",[".NET Framework",".NET Core"],"Use this package if your project is based on .NET Framework or .NET Core and you want to use ReportGenerator via the command line or a build script.",[new Cg("Package Manager",`Install-Package ReportGenerator -Version ${Zt.version}`),new Cg(".NET CLI",`dotnet add package ReportGenerator --version ${Zt.version}`)],[new ma(".NET Framework",`$(UserProfile)\\.nuget\\packages\\reportgenerator\\${Zt.version}\\tools\\net47\\ReportGenerator.exe`),new ma(".NET Core",`dotnet $(UserProfile)\\.nuget\\packages\\reportgenerator\\${Zt.version}\\tools\\net6.0\\ReportGenerator.dll`)]),new fu("dotnet-reportgenerator-globaltool","https://www.nuget.org/packages/dotnet-reportgenerator-globaltool",[".NET Core"],"Use this package if your project is based on .NET Core and you want to use ReportGenerator as a (global) 'DotnetTool'.",[new Cg(".NET CLI",`dotnet tool install --global dotnet-reportgenerator-globaltool --version ${Zt.version}\r\n\r\ndotnet tool install dotnet-reportgenerator-globaltool --tool-path tools --version ${Zt.version}\r\n\r\ndotnet new tool-manifest\r\ndotnet tool install dotnet-reportgenerator-globaltool --version ${Zt.version}`)],[new ma(".NET Core","reportgenerator")]),new y4("Azure DevOps","https://marketplace.visualstudio.com/items?itemName=Palmmedia.reportgenerator",["Azure DevOps"],"Use this package within Azure DevOps",[],[new ma("Azure DevOps","reportgenerator")]),new C4("GitHub Action","https://github.com/marketplace/actions/reportgenerator",["Github Action"],"Use this package within Github Actions",[],[new ma("Github Action","danielpalme/ReportGenerator-GitHub-Action")])],this.selectedEnvironment=this.environments[0],this.selectedPackage=this.packages[0]}selectedEnvironmentChanged(){this.selectedPackage=this.packages.find(t=>t.runtimes.indexOf(this.selectedEnvironment.name)>-1)}severalPackagesAvailable(){return this.packages.filter(t=>t.runtimes.indexOf(this.selectedEnvironment.name)>-1).length>1}getUsage(){const t=this.configuration.getUsage(this.selectedPackage,this.selectedEnvironment.name);return this.lastResult!==t&&(this.lastResult=t,this.usageCopied=!1),t}copy(){try{navigator.clipboard.writeText(this.getUsage()),this.usageCopied=!0}catch(t){console.error("Failed to copy license",t)}}scrollToHistoryDir(){return document.querySelector("#historydir").scrollIntoView(!0),!1}trackByIndex(t,r){return t}static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275cmp=xt({type:e,selectors:[["app-usage-component"]],standalone:!0,features:[Lt],decls:219,vars:39,consts:[[1,"container"],[1,"mb-4"],[1,"row"],[1,"col-md-7"],["class","form-check",4,"ngFor","ngForOf"],[4,"ngIf"],[1,"alert","alert-info"],["class","mb-3",4,"ngFor","ngForOf","ngForTrackBy"],[1,"input-group","mb-3"],["href","",3,"click"],[1,"fa","fa-plus-circle"],["type","text","name","targetdir","placeholder","The target directory","required","",1,"form-control",3,"ngModel","ngModelChange"],["href","https://danielpalme.github.io/ReportGenerator/resources/SampleReports.zip"],[1,"me-2"],["type","button","class","btn btn-sm me-1 mb-1",3,"ngClass","click",4,"ngFor","ngForOf","ngForTrackBy"],[4,"ngFor","ngForOf","ngForTrackBy"],["class","input-group mb-3",4,"ngFor","ngForOf","ngForTrackBy"],["id","historydir"],["type","text","name","historydir","placeholder","The history directory",1,"form-control",3,"ngModel","required","ngModelChange"],["href","https://github.com/danielpalme/ReportGenerator/wiki/Custom-reports"],["href","https://github.com/danielpalme/ReportGenerator/wiki/Custom-history-storage"],["name","verbosity",1,"form-select",3,"ngModel","ngModelChange"],[3,"value",4,"ngFor","ngForOf","ngForTrackBy"],["type","text","name","title","placeholder","Title",1,"form-control",3,"ngModel","ngModelChange"],["type","text","name","tag","placeholder","Optional tag or build version",1,"form-control",3,"ngModel","ngModelChange"],[3,"routerLink"],["type","text","name","license","placeholder","Optional license for PRO version","rows","4",1,"form-control",3,"ngModel","ngModelChange"],[1,"col-md-5"],[1,"d-md-none","mt-5"],["target","_blank",3,"href"],["class","mt-2",4,"ngFor","ngForOf"],[1,"mt-4"],[1,"text-dark","bg-light","p-2","border"],[1,"btn","btn-outline-dark","mt-2",3,"click"],[1,"d-none","d-md-block","sticky"],[1,"form-check"],[1,"form-check-label"],["type","radio","name","environment",1,"form-check-input",3,"ngModel","value","checked","ngModelChange"],[1,"mb-3"],[4,"ngFor","ngForOf"],["class","form-check",4,"ngIf"],["type","radio","name","package",1,"form-check-input",3,"ngModel","value","ngModelChange"],[3,"ngClass"],["type","text","placeholder","The path of the coverage file","required","",1,"form-control",3,"name","ngModel","ngModelChange"],["class","input-group-text",3,"click",4,"ngIf"],[1,"input-group-text",3,"click"],["href",""],[1,"fa","fa-trash","text-danger"],["type","button",1,"btn","btn-sm","me-1","mb-1",3,"ngClass","click"],["class","form-check mt-1",4,"ngIf"],[1,"form-check","mt-1"],["type","checkbox","name","reporttype",1,"form-check-input",3,"checked","change"],["class","text-danger ms-2",4,"ngIf"],[1,"text-danger","ms-2"],[1,"fa-solid","fa-triangle-exclamation"],[1,"mt-1"],[1,"fa-solid","fa-arrow-up-right-from-square"],[1,"input-group"],["type","text","placeholder","The source directory","required","",1,"form-control",3,"name","ngModel","ngModelChange"],["type","text","placeholder","The path of the plugin","required","",1,"form-control",3,"name","ngModel","ngModelChange"],["type","text","placeholder","The include or exclude filter for assemlies","pattern","^[+-].+$","required","",1,"form-control",3,"name","ngModel","ngModelChange"],["type","text","placeholder","The include or exclude filter for classes","pattern","^[+-].+$","required","",1,"form-control",3,"name","ngModel","ngModelChange"],["type","text","placeholder","The include or exclude filter for files","pattern","^[+-].+$","required","",1,"form-control",3,"name","ngModel","ngModelChange"],[3,"value"],[1,"mt-2"],[1,"fa-solid","fa-check","text-success"],[1,"fa-solid","fa-copy"]],template:function(r,o){1&r&&(h(0,"div",0)(1,"h1",1),f(2,"Usage"),p(),h(3,"div",2)(4,"div",3)(5,"form")(6,"h3"),f(7,"Environment"),p(),W(8,D4,8,5,"div",4),y(9,"hr"),W(10,E4,4,1,"ng-container",5),y(11,"hr"),h(12,"h3"),f(13,"Reports"),p(),h(14,"div",6),f(15,"Path to the coverage report(s) that should be parsed."),y(16,"br"),f(17,"Globbing is supported."),p(),W(18,S4,4,6,"div",7),h(19,"div",8)(20,"a",9),U("click",function(){return o.configuration.addReport()}),y(21,"i",10),f(22," Add report"),p()(),y(23,"br"),h(24,"h3"),f(25,"Target directory"),p(),h(26,"div",6),f(27,"The directory where the generated report(s) should be saved."),p(),h(28,"div",8)(29,"input",11),je("ngModelChange",function(s){return $e(o.configuration.targetdir,s)||(o.configuration.targetdir=s),s}),p()(),y(30,"br"),h(31,"h3"),f(32,"Report types"),p(),h(33,"div",6),f(34,"Download "),h(35,"a",12),f(36,"sample reports"),p()(),h(37,"span",13),f(38,"Filter:"),p(),W(39,A4,2,5,"button",14),y(40,"br"),W(41,O4,2,1,"ng-container",15),h(42,"h3"),f(43,"Source directories"),p(),h(44,"div",6),f(45,"Optional directories which contain the corresponding source code."),y(46,"br"),f(47,"The source directories are used if coverage report contains classes without path information."),p(),W(48,P4,6,2,"div",16),h(49,"div",8)(50,"a",9),U("click",function(){return o.configuration.addSourceDirectory()}),y(51,"i",10),f(52," Add source directory"),p()(),y(53,"br"),h(54,"h3",17),f(55,"History directory"),p(),h(56,"div",6),f(57,"Optional directory for storing "),h(58,"b"),f(59,"persistent"),p(),f(60," coverage information. Choose a directory which does not get deleted between builds."),y(61,"br"),f(62,"Required to show the history chart in the HTML reports."),p(),h(63,"div",8)(64,"input",18),je("ngModelChange",function(s){return $e(o.configuration.historydir,s)||(o.configuration.historydir=s),s}),p()(),y(65,"br"),h(66,"h3"),f(67,"Plugins"),p(),h(68,"div",6),f(69,"Optional plugin files for "),h(70,"a",19),f(71,"custom reports"),p(),f(72," or "),h(73,"a",20),f(74,"custom history storage"),p(),f(75,"."),p(),W(76,k4,6,2,"div",16),h(77,"div",8)(78,"a",9),U("click",function(){return o.configuration.addPlugin()}),y(79,"i",10),f(80," Add plugin"),p()(),y(81,"br"),h(82,"h3"),f(83,"Assembly filters"),p(),h(84,"div",6),f(85,"Optional list of "),h(86,"b"),f(87,"assemblies"),p(),f(88," that should be included or excluded in the report. "),y(89,"br"),f(90,"Exclusion filters take precedence over inclusion filters. "),y(91,"br"),f(92,"Wildcards are allowed."),y(93,"br"),h(94,"p"),f(95,"Examples:"),y(96,"br"),h(97,"code"),f(98,"+Included"),p(),y(99,"br"),h(100,"code"),f(101,"-Excluded"),p()()(),W(102,F4,6,2,"div",16),h(103,"div",8)(104,"a",9),U("click",function(){return o.configuration.addAssemblyFilter()}),y(105,"i",10),f(106," Add assembly filter"),p()(),y(107,"br"),h(108,"h3"),f(109,"Class filters"),p(),h(110,"div",6),f(111,"Optional list of "),h(112,"b"),f(113,"classes"),p(),f(114," that should be included or excluded in the report. "),y(115,"br"),f(116,"Exclusion filters take precedence over inclusion filters. "),y(117,"br"),f(118,"Wildcards are allowed."),y(119,"br"),h(120,"p"),f(121,"Examples:"),y(122,"br"),h(123,"code"),f(124,"+Included"),p(),y(125,"br"),h(126,"code"),f(127,"-Excluded"),p()()(),W(128,L4,6,2,"div",16),h(129,"div",8)(130,"a",9),U("click",function(){return o.configuration.addClassFilter()}),y(131,"i",10),f(132," Add class filter"),p()(),y(133,"br"),h(134,"h3"),f(135,"File filters"),p(),h(136,"div",6),f(137,"Optional list of "),h(138,"b"),f(139,"files"),p(),f(140," that should be included or excluded in the report. "),y(141,"br"),f(142,"Exclusion filters take precedence over inclusion filters. "),y(143,"br"),f(144,"Wildcards are allowed."),y(145,"br"),h(146,"p"),f(147,"Examples:"),y(148,"br"),h(149,"code"),f(150,"+Included"),p(),y(151,"br"),h(152,"code"),f(153,"-Excluded"),p()()(),W(154,V4,6,2,"div",16),h(155,"div",8)(156,"a",9),U("click",function(){return o.configuration.addFileFilter()}),y(157,"i",10),f(158," Add file filter"),p()(),y(159,"br"),h(160,"h3"),f(161,"Verbosity"),p(),h(162,"div",6),f(163,"The verbosity level of the log messages."),p(),h(164,"div",8)(165,"select",21),je("ngModelChange",function(s){return $e(o.configuration.selectedverbosity,s)||(o.configuration.selectedverbosity=s),s}),W(166,j4,2,2,"option",22),p()(),y(167,"br"),h(168,"h3"),f(169,"Title"),p(),h(170,"div",6),f(171,"Optional title."),p(),h(172,"div",8)(173,"input",23),je("ngModelChange",function(s){return $e(o.configuration.title,s)||(o.configuration.title=s),s}),p()(),y(174,"br"),h(175,"h3"),f(176,"Tag"),p(),h(177,"div",6),f(178,"Optional tag or build version."),p(),h(179,"div",8)(180,"input",24),je("ngModelChange",function(s){return $e(o.configuration.tag,s)||(o.configuration.tag=s),s}),p()(),y(181,"br"),h(182,"h3"),f(183,"License"),p(),h(184,"div",6),f(185,"Optional license. Get your license here: "),h(186,"a",25),f(187,"https://reportgenerator.io/pro"),p()(),h(188,"div",8)(189,"textarea",26),je("ngModelChange",function(s){return $e(o.configuration.license,s)||(o.configuration.license=s),s}),p()()()(),h(190,"div",27)(191,"div",28)(192,"h3"),f(193,"Instructions"),p(),f(194," Install "),h(195,"a",29),f(196),p(),W(197,U4,6,2,"div",30),h(198,"h4",31),f(199,"Usage"),p(),h(200,"pre",32),f(201),p(),h(202,"button",33),U("click",function(){return o.copy()}),W(203,B4,2,0)(204,H4,2,0),p()(),h(205,"div",34)(206,"h3"),f(207,"Instructions"),p(),f(208," Install "),h(209,"a",29),f(210),p(),W(211,$4,6,2,"div",30),h(212,"h4",31),f(213,"Usage"),p(),h(214,"pre",32),f(215),p(),h(216,"button",33),U("click",function(){return o.copy()}),W(217,G4,2,0)(218,z4,2,0),p()()()()()),2&r&&(C(8),M("ngForOf",o.environments),C(2),M("ngIf",o.severalPackagesAvailable()),C(8),M("ngForOf",o.configuration.reports)("ngForTrackBy",o.trackByIndex),C(11),Ve("ngModel",o.configuration.targetdir),C(10),M("ngForOf",o.configuration.types)("ngForTrackBy",o.trackByIndex),C(2),M("ngForOf",o.configuration.reporttypes)("ngForTrackBy",o.trackByIndex),C(7),M("ngForOf",o.configuration.sourcedirectories)("ngForTrackBy",o.trackByIndex),C(16),Ve("ngModel",o.configuration.historydir),M("required",o.configuration.historyDirRequired()),C(12),M("ngForOf",o.configuration.plugins)("ngForTrackBy",o.trackByIndex),C(26),M("ngForOf",o.configuration.assemblyfilters)("ngForTrackBy",o.trackByIndex),C(26),M("ngForOf",o.configuration.classfilters)("ngForTrackBy",o.trackByIndex),C(26),M("ngForOf",o.configuration.filefilters)("ngForTrackBy",o.trackByIndex),C(11),Ve("ngModel",o.configuration.selectedverbosity),C(),M("ngForOf",o.configuration.verbosities)("ngForTrackBy",o.trackByIndex),C(7),Ve("ngModel",o.configuration.title),C(7),Ve("ngModel",o.configuration.tag),C(6),M("routerLink",ee(38,q4)),C(3),Ve("ngModel",o.configuration.license),C(6),M("href",o.selectedPackage.url,No),C(),Se(o.selectedPackage.name),C(),M("ngForOf",o.selectedPackage.installOptions),C(4),Se(o.getUsage()),C(2),Ko(203,o.usageCopied?203:204),C(6),M("href",o.selectedPackage.url,No),C(),Se(o.selectedPackage.name),C(),M("ngForOf",o.selectedPackage.installOptions),C(4),Se(o.getUsage()),C(2),Ko(217,o.usageCopied?217:218))},dependencies:[su,ru,AM,xM,bi,ou,sg,Wc,Zc,Si,fg,fa,Mi,Jh,Kh,Ec,Sn],styles:[".sticky[_ngcontent-%COMP%]{position:sticky;top:100px}"]})}return e})(),title:"Usage"+to,data:{canonical:"/usage"}},{path:"usage.html",redirectTo:"/usage"},{path:"pro",component:v4,title:"PRO"+to,data:{canonical:"/pro"}},{path:"pro.html",redirectTo:"/pro"},{path:"contact",component:MH,title:"Contact"+to,data:{canonical:"/contact"}},{path:"contact.html",redirectTo:"/contact"},{path:"404",component:kH,title:"404 - Not found"+to},{path:"**",redirectTo:"/404"}];(function u3(e,n){return xF({rootComponent:e,...NE(n)})})(QU,{providers:[Zm(m3,(()=>{class e{static#e=this.\u0275fac=function(r){return new(r||e)};static#t=this.\u0275mod=Jn({type:e});static#n=this.\u0275inj=Ln({imports:[kI.forRoot(Z4,{scrollPositionRestoration:"enabled",scrollOffset:[0,0],anchorScrolling:"enabled"}),kI]})}return e})(),su),u0,d0,s0,function gH(...e){const n=[gg,ZM,qM,{provide:au,useExisting:qM},{provide:lu,useExisting:ZM},{provide:ga,useValue:pH,multi:!0},{provide:yg,useValue:!0},{provide:XM,useClass:hH}];for(const t of e)n.push(...t.\u0275providers);return Ya(n)}(function mH(){return function Kr(e,n){return{\u0275kind:e,\u0275providers:n}}(wr.LegacyInterceptors,[{provide:JM,useFactory:oH},{provide:ga,useExisting:JM,multi:!0}])}())]}).catch(e=>console.error(e))}},Ai=>{Ai(Ai.s=632)}]); \ No newline at end of file diff --git a/docs/pro.html b/docs/pro.html index c14e9f2e..c52f1194 100644 --- a/docs/pro.html +++ b/docs/pro.html @@ -11,5 +11,5 @@ - + \ No newline at end of file diff --git a/docs/usage.html b/docs/usage.html index ed2e0c6d..e9254bab 100644 --- a/docs/usage.html +++ b/docs/usage.html @@ -11,5 +11,5 @@ - + \ No newline at end of file diff --git a/src/Readme.txt b/src/Readme.txt index 968d8a34..da563ba1 100644 --- a/src/Readme.txt +++ b/src/Readme.txt @@ -67,6 +67,11 @@ For further details take a look at LICENSE.txt. CHANGELOG +5.2.4.0 + + * New: #630 Added "raw mode" (settings:rawMode=true) to disable that coverage data of nested or compiler generated + classes is included in the parent class. This is useful to merge several Cobertura files into one file. + 5.2.3.0 * Fix: #656 Changed handling of files which are not found in source directory diff --git a/src/ReportGenerator.Core/Generator.cs b/src/ReportGenerator.Core/Generator.cs index ed1f147d..071c904e 100644 --- a/src/ReportGenerator.Core/Generator.cs +++ b/src/ReportGenerator.Core/Generator.cs @@ -9,7 +9,6 @@ using Palmmedia.ReportGenerator.Core.Logging; using Palmmedia.ReportGenerator.Core.Parser; using Palmmedia.ReportGenerator.Core.Parser.FileReading; -using Palmmedia.ReportGenerator.Core.Parser.Filtering; using Palmmedia.ReportGenerator.Core.Plugin; using Palmmedia.ReportGenerator.Core.Properties; using Palmmedia.ReportGenerator.Core.Reporting; @@ -159,14 +158,7 @@ public bool GenerateReport(IReportConfiguration reportConfiguration) var stopWatch = Stopwatch.StartNew(); var parserResult = new CoverageReportParser( - settings.NumberOfReportsParsedInParallel, - settings.NumberOfReportsMergedInParallel, - settings.ExcludeTestProjects, - settings.DefaultAssemblyName, - reportConfiguration.SourceDirectories, - new DefaultFilter(reportConfiguration.AssemblyFilters), - new DefaultFilter(reportConfiguration.ClassFilters), - new DefaultFilter(reportConfiguration.FileFilters)) + new ReportContext(reportConfiguration, settings)) .ParseFiles(reportConfiguration.ReportFiles); Logger.DebugFormat(Resources.ReportParsingTook, stopWatch.ElapsedMilliseconds / 1000d); diff --git a/src/ReportGenerator.Core/Parser/CoberturaParser.cs b/src/ReportGenerator.Core/Parser/CoberturaParser.cs index d5814e58..adf33375 100644 --- a/src/ReportGenerator.Core/Parser/CoberturaParser.cs +++ b/src/ReportGenerator.Core/Parser/CoberturaParser.cs @@ -137,6 +137,12 @@ private Assembly ProcessAssembly(XElement[] modules, string assemblyName) .Select(c => { string fullname = c.Attribute("name").Value; + + if (this.RawMode) + { + return Tuple.Create(fullname, fullname); + } + int nestedClassSeparatorIndex = fullname.IndexOf('/'); if (nestedClassSeparatorIndex > -1) @@ -159,8 +165,9 @@ private Assembly ProcessAssembly(XElement[] modules, string assemblyName) return Tuple.Create(fullname, fullname); }) - .Where(c => !c.Item1.Contains("$") - && (!c.Item1.Contains("<") || GenericClassRegex.IsMatch(c.Item1))) + .Where(c => this.RawMode + || (!c.Item1.Contains("$") + && (!c.Item1.Contains("<") || GenericClassRegex.IsMatch(c.Item1)))) .Distinct() .Where(c => this.ClassFilter.IsElementIncludedInReport(c.Item1)) .OrderBy(c => c.Item1) @@ -187,9 +194,10 @@ private void ProcessClass(XElement[] modules, Assembly assembly, string classNam .Elements("classes") .Elements("class") .Where(c => c.Attribute("name").Value.Equals(className) - || c.Attribute("name").Value.StartsWith(className + "$", StringComparison.Ordinal) - || c.Attribute("name").Value.StartsWith(className + "/", StringComparison.Ordinal) - || c.Attribute("name").Value.StartsWith(className + ".", StringComparison.Ordinal)) + || (!this.RawMode + && (c.Attribute("name").Value.StartsWith(className + "$", StringComparison.Ordinal) + || c.Attribute("name").Value.StartsWith(className + "/", StringComparison.Ordinal) + || c.Attribute("name").Value.StartsWith(className + ".", StringComparison.Ordinal)))) .Select(c => c.Attribute("filename").Value) .Distinct() .ToArray(); @@ -205,7 +213,7 @@ private void ProcessClass(XElement[] modules, Assembly assembly, string classNam foreach (var file in filteredFiles) { - @class.AddFile(ProcessFile(modules, @class, className, file)); + @class.AddFile(this.ProcessFile(modules, @class, className, file)); } assembly.AddClass(@class); @@ -220,16 +228,17 @@ private void ProcessClass(XElement[] modules, Assembly assembly, string classNam /// Name of the class. /// The file path. /// The . - private static CodeFile ProcessFile(XElement[] modules, Class @class, string className, string filePath) + private CodeFile ProcessFile(XElement[] modules, Class @class, string className, string filePath) { var classes = modules .Where(m => m.Attribute("name").Value.Equals(@class.Assembly.Name)) .Elements("classes") .Elements("class") .Where(c => c.Attribute("name").Value.Equals(className) - || c.Attribute("name").Value.StartsWith(className + "$", StringComparison.Ordinal) - || c.Attribute("name").Value.StartsWith(className + "/", StringComparison.Ordinal) - || c.Attribute("name").Value.StartsWith(className + ".", StringComparison.Ordinal)) + || (!this.RawMode + && (c.Attribute("name").Value.StartsWith(className + "$", StringComparison.Ordinal) + || c.Attribute("name").Value.StartsWith(className + "/", StringComparison.Ordinal) + || c.Attribute("name").Value.StartsWith(className + ".", StringComparison.Ordinal)))) .Where(c => c.Attribute("filename").Value.Equals(filePath)) .ToArray(); diff --git a/src/ReportGenerator.Core/Parser/CoverageReportParser.cs b/src/ReportGenerator.Core/Parser/CoverageReportParser.cs index 482606c4..53f42731 100644 --- a/src/ReportGenerator.Core/Parser/CoverageReportParser.cs +++ b/src/ReportGenerator.Core/Parser/CoverageReportParser.cs @@ -8,10 +8,12 @@ using System.Xml; using System.Xml.Linq; using Palmmedia.ReportGenerator.Core.Common; +using Palmmedia.ReportGenerator.Core.Licensing; using Palmmedia.ReportGenerator.Core.Logging; using Palmmedia.ReportGenerator.Core.Parser.Filtering; using Palmmedia.ReportGenerator.Core.Parser.Preprocessing; using Palmmedia.ReportGenerator.Core.Properties; +using Palmmedia.ReportGenerator.Core.Reporting; namespace Palmmedia.ReportGenerator.Core.Parser { @@ -25,6 +27,11 @@ public class CoverageReportParser /// private static readonly ILogger Logger = LoggerFactory.GetLogger(typeof(CoverageReportParser)); + /// + /// The report context. + /// + private readonly IReportContext reportContext; + /// /// The number reports that are parsed and processed in parallel. /// @@ -70,6 +77,11 @@ public class CoverageReportParser /// private int mergeCount; + /// + /// Indicates the raw mode is not supported under current license. + /// + private bool rawModeProhibited; + /// /// Initializes a new instance of the class. /// @@ -79,7 +91,13 @@ public class CoverageReportParser /// The assembly filter. /// The class filter. /// The file filter. - public CoverageReportParser(int numberOfReportsParsedInParallel, int numberOfReportsMergedInParallel, IEnumerable sourceDirectories, IFilter assemblyFilter, IFilter classFilter, IFilter fileFilter) + public CoverageReportParser( + int numberOfReportsParsedInParallel, + int numberOfReportsMergedInParallel, + IEnumerable sourceDirectories, + IFilter assemblyFilter, + IFilter classFilter, + IFilter fileFilter) { this.numberOfReportsParsedInParallel = Math.Max(1, numberOfReportsParsedInParallel); this.numberOfReportsMergedInParallel = Math.Max(1, numberOfReportsMergedInParallel); @@ -99,7 +117,14 @@ public CoverageReportParser(int numberOfReportsParsedInParallel, int numberOfRep /// The assembly filter. /// The class filter. /// The file filter. - public CoverageReportParser(int numberOfReportsParsedInParallel, int numberOfReportsMergedInParallel, bool excludeTestProjects, IEnumerable sourceDirectories, IFilter assemblyFilter, IFilter classFilter, IFilter fileFilter) + public CoverageReportParser( + int numberOfReportsParsedInParallel, + int numberOfReportsMergedInParallel, + bool excludeTestProjects, + IEnumerable sourceDirectories, + IFilter assemblyFilter, + IFilter classFilter, + IFilter fileFilter) { this.numberOfReportsParsedInParallel = Math.Max(1, numberOfReportsParsedInParallel); this.numberOfReportsMergedInParallel = Math.Max(1, numberOfReportsMergedInParallel); @@ -121,7 +146,15 @@ public CoverageReportParser(int numberOfReportsParsedInParallel, int numberOfRep /// The assembly filter. /// The class filter. /// The file filter. - public CoverageReportParser(int numberOfReportsParsedInParallel, int numberOfReportsMergedInParallel, bool excludeTestProjects, string defaultAssemblyName, IEnumerable sourceDirectories, IFilter assemblyFilter, IFilter classFilter, IFilter fileFilter) + public CoverageReportParser( + int numberOfReportsParsedInParallel, + int numberOfReportsMergedInParallel, + bool excludeTestProjects, + string defaultAssemblyName, + IEnumerable sourceDirectories, + IFilter assemblyFilter, + IFilter classFilter, + IFilter fileFilter) { this.numberOfReportsParsedInParallel = Math.Max(1, numberOfReportsParsedInParallel); this.numberOfReportsMergedInParallel = Math.Max(1, numberOfReportsMergedInParallel); @@ -133,6 +166,24 @@ public CoverageReportParser(int numberOfReportsParsedInParallel, int numberOfRep this.fileFilter = fileFilter ?? throw new ArgumentNullException(nameof(fileFilter)); } + /// + /// Initializes a new instance of the class. + /// + /// The report context. + public CoverageReportParser(IReportContext reportContext) + { + this.reportContext = reportContext ?? throw new ArgumentNullException(nameof(reportContext)); + + this.numberOfReportsParsedInParallel = Math.Max(1, reportContext.Settings.NumberOfReportsParsedInParallel); + this.numberOfReportsMergedInParallel = Math.Max(1, reportContext.Settings.NumberOfReportsMergedInParallel); + this.excludeTestProjects = reportContext.Settings.ExcludeTestProjects; + this.defaultAssemblyName = reportContext.Settings.DefaultAssemblyName ?? throw new ArgumentNullException(nameof(reportContext.Settings.DefaultAssemblyName)); + this.sourceDirectories = reportContext.ReportConfiguration.SourceDirectories ?? throw new ArgumentNullException(nameof(reportContext.ReportConfiguration.SourceDirectories)); + this.assemblyFilter = new DefaultFilter(reportContext.ReportConfiguration.AssemblyFilters); + this.classFilter = new DefaultFilter(reportContext.ReportConfiguration.ClassFilters); + this.fileFilter = new DefaultFilter(reportContext.ReportConfiguration.FileFilters); + } + /// /// Tries to initiate the correct parsers for the given reports. /// @@ -147,6 +198,14 @@ public ParserResult ParseFiles(IReadOnlyCollection reportFiles) throw new ArgumentNullException(nameof(reportFiles)); } + if (this.reportContext != null + && this.reportContext.Settings.RawMode + && this.reportContext.ReportConfiguration.License.DetermineLicenseType() != LicenseType.Pro) + { + Logger.Warn(Resources.RawModeProVersion); + this.rawModeProhibited = true; + } + List> consumers = new List>(); try @@ -411,7 +470,10 @@ private IEnumerable ParseXmlFile(string filePath) new CoberturaReportPreprocessor().Execute(item); Logger.DebugFormat(Resources.InitiatingParser, "Cobertura"); - yield return new CoberturaParser(this.assemblyFilter, this.classFilter, this.fileFilter).Parse(item); + yield return new CoberturaParser(this.assemblyFilter, this.classFilter, this.fileFilter) + { + RawMode = !this.rawModeProhibited && this.reportContext?.Settings.RawMode == true + }.Parse(item); } else { diff --git a/src/ReportGenerator.Core/Parser/ParserBase.cs b/src/ReportGenerator.Core/Parser/ParserBase.cs index 844904de..7819fd73 100644 --- a/src/ReportGenerator.Core/Parser/ParserBase.cs +++ b/src/ReportGenerator.Core/Parser/ParserBase.cs @@ -21,6 +21,13 @@ protected ParserBase(IFilter assemblyFilter, IFilter classFilter, IFilter fileFi this.FileFilter = fileFilter ?? throw new ArgumentNullException(nameof(fileFilter)); } + /// + /// Gets or sets a value indicating whether class names are interpreted (true) or not (false). + /// Interpreted means that the coverage data of nested or compiler generated classes is included in the parent class. + /// In raw mode the coverage data is reported for each class separately. + /// + public bool RawMode { get; set; } + /// /// Gets the assembly filter. /// diff --git a/src/ReportGenerator.Core/Properties/Resources.Designer.cs b/src/ReportGenerator.Core/Properties/Resources.Designer.cs index 822bf957..f87e90ae 100644 --- a/src/ReportGenerator.Core/Properties/Resources.Designer.cs +++ b/src/ReportGenerator.Core/Properties/Resources.Designer.cs @@ -601,6 +601,15 @@ internal class Resources { } } + /// + /// Looks up a localized string similar to Raw mode is only available for sponsors. Get your license here: https://reportgenerator.io/pro. + /// + internal static string RawModeProVersion { + get { + return ResourceManager.GetString("RawModeProVersion", resourceCulture); + } + } + /// /// Looks up a localized string similar to Reading historic reports. /// diff --git a/src/ReportGenerator.Core/Properties/Resources.resx b/src/ReportGenerator.Core/Properties/Resources.resx index 5efb200c..9211dc03 100644 --- a/src/ReportGenerator.Core/Properties/Resources.resx +++ b/src/ReportGenerator.Core/Properties/Resources.resx @@ -298,6 +298,9 @@ Preprocessing report + + Raw mode is only available for sponsors. Get your license here: https://reportgenerator.io/pro + Reading historic reports diff --git a/src/ReportGenerator.Core/Settings.cs b/src/ReportGenerator.Core/Settings.cs index 9d6ab185..1e49b4c8 100644 --- a/src/ReportGenerator.Core/Settings.cs +++ b/src/ReportGenerator.Core/Settings.cs @@ -80,5 +80,12 @@ public int CachingDuringOfRemoteFilesInMinutes /// Gets or sets the prefix for history files. /// public string HistoryFileNamePrefix { get; set; } + + /// + /// Gets or sets a value indicating whether class names are interpreted (true) or not (false). + /// Interpreted means that the coverage data of nested or compiler generated classes is included in the parent class. + /// In raw mode the coverage data is reported for each class separately. + /// + public bool RawMode { get; set; } } } diff --git a/src/ReportGenerator.Core/appsettings.json b/src/ReportGenerator.Core/appsettings.json index cd0fac04..ea26d1b3 100644 --- a/src/ReportGenerator.Core/appsettings.json +++ b/src/ReportGenerator.Core/appsettings.json @@ -20,6 +20,7 @@ "customHeadersForRemoteFiles": null, "defaultAssemblyName": "Default", "maximumDecimalPlacesForCoverageQuotas": 1, - "historyFileNamePrefix": null + "historyFileNamePrefix": null, + "rawMode": false } } \ No newline at end of file