"use strict";(self.webpackChunkmortgage_calculator=self.webpackChunkmortgage_calculator||[]).push([[792],{240:()=>{function ts(e,n){return Object.is(e,n)}let Oe=null,kr=!1,Rr=1;const rn=Symbol("SIGNAL");function W(e){const n=Oe;return Oe=e,n}const nl={version:0,lastCleanEpoch:0,dirty:!1,producerNode:void 0,producerLastReadVersion:void 0,producerIndexOfThis:void 0,nextProducerIndex:0,liveConsumerNode:void 0,liveConsumerIndexOfThis:void 0,consumerAllowSignalWrites:!1,consumerIsAlwaysLive:!1,producerMustRecompute:()=>!1,producerRecomputeValue:()=>{},consumerMarkedDirty:()=>{},consumerOnSignalRead:()=>{}};function Id(e){if(kr)throw new Error("");if(null===Oe)return;Oe.consumerOnSignalRead(e);const n=Oe.nextProducerIndex++;ol(Oe),n<Oe.producerNode.length&&Oe.producerNode[n]!==e&&ns(Oe)&&rl(Oe.producerNode[n],Oe.producerIndexOfThis[n]),Oe.producerNode[n]!==e&&(Oe.producerNode[n]=e,Oe.producerIndexOfThis[n]=ns(Oe)?wy(e,Oe,n):0),Oe.producerLastReadVersion[n]=e.version}function vy(e){if((!ns(e)||e.dirty)&&(e.dirty||e.lastCleanEpoch!==Rr)){if(!e.producerMustRecompute(e)&&!Sd(e))return e.dirty=!1,void(e.lastCleanEpoch=Rr);e.producerRecomputeValue(e),e.dirty=!1,e.lastCleanEpoch=Rr}}function _y(e){if(void 0===e.liveConsumerNode)return;const n=kr;kr=!0;try{for(const t of e.liveConsumerNode)t.dirty||Dy(t)}finally{kr=n}}function by(){return!1!==Oe?.consumerAllowSignalWrites}function Dy(e){e.dirty=!0,_y(e),e.consumerMarkedDirty?.(e)}function il(e){return e&&(e.nextProducerIndex=0),W(e)}function xd(e,n){if(W(n),e&&void 0!==e.producerNode&&void 0!==e.producerIndexOfThis&&void 0!==e.producerLastReadVersion){if(ns(e))for(let t=e.nextProducerIndex;t<e.producerNode.length;t++)rl(e.producerNode[t],e.producerIndexOfThis[t]);for(;e.producerNode.length>e.nextProducerIndex;)e.producerNode.pop(),e.producerLastReadVersion.pop(),e.producerIndexOfThis.pop()}}function Sd(e){ol(e);for(let n=0;n<e.producerNode.length;n++){const t=e.producerNode[n],i=e.producerLastReadVersion[n];if(i!==t.version||(vy(t),i!==t.version))return!0}return!1}function Td(e){if(ol(e),ns(e))for(let n=0;n<e.producerNode.length;n++)rl(e.producerNode[n],e.producerIndexOfThis[n]);e.producerNode.length=e.producerLastReadVersion.length=e.producerIndexOfThis.length=0,e.liveConsumerNode&&(e.liveConsumerNode.length=e.liveConsumerIndexOfThis.length=0)}function wy(e,n,t){if(Cy(e),0===e.liveConsumerNode.length&&Ey(e))for(let i=0;i<e.producerNode.length;i++)e.producerIndexOfThis[i]=wy(e.producerNode[i],e,i);return e.liveConsumerIndexOfThis.push(t),e.liveConsumerNode.push(n)-1}function rl(e,n){if(Cy(e),1===e.liveConsumerNode.length&&Ey(e))for(let i=0;i<e.producerNode.length;i++)rl(e.producerNode[i],e.producerIndexOfThis[i]);const t=e.liveConsumerNode.length-1;if(e.liveConsumerNode[n]=e.liveConsumerNode[t],e.liveConsumerIndexOfThis[n]=e.liveConsumerIndexOfThis[t],e.liveConsumerNode.length--,e.liveConsumerIndexOfThis.length--,n<e.liveConsumerNode.length){const i=e.liveConsumerIndexOfThis[n],r=e.liveConsumerNode[n];ol(r),r.producerIndexOfThis[i]=n}}function ns(e){return e.consumerIsAlwaysLive||(e?.liveConsumerNode?.length??0)>0}function ol(e){e.producerNode??=[],e.producerIndexOfThis??=[],e.producerLastReadVersion??=[]}function Cy(e){e.liveConsumerNode??=[],e.liveConsumerIndexOfThis??=[]}function Ey(e){return void 0!==e.producerNode}const Ad=Symbol("UNSET"),Nd=Symbol("COMPUTING"),sl=Symbol("ERRORED"),fA={...nl,value:Ad,dirty:!0,error:null,equal:ts,producerMustRecompute:e=>e.value===Ad||e.value===Nd,producerRecomputeValue(e){if(e.value===Nd)throw new Error("Detected cycle in computations.");const n=e.value;e.value=Nd;const t=il(e);let i;try{i=e.computation()}catch(r){i=sl,e.error=r}finally{xd(e,t)}n!==Ad&&n!==sl&&i!==sl&&e.equal(n,i)?e.value=n:(e.value=i,e.version++)}};let My=function hA(){throw new Error};function Iy(){My()}let al=null;function xy(e,n){by()||Iy(),e.equal(e.value,n)||(e.value=n,function vA(e){e.version++,function uA(){Rr++}(),_y(e),al?.()}(e))}const yA={...nl,equal:ts,value:void 0};function Te(e){return"function"==typeof e}function Ty(e){const t=e(i=>{Error.call(i),i.stack=(new Error).stack});return t.prototype=Object.create(Error.prototype),t.prototype.constructor=t,t}const Pd=Ty(e=>function(t){e(this),this.message=t?`${t.length} errors occurred during unsubscription:\n${t.map((i,r)=>`${r+1}) ${i.toString()}`).join("\n  ")}`:"",this.name="UnsubscriptionError",this.errors=t});function ll(e,n){if(e){const t=e.indexOf(n);0<=t&&e.splice(t,1)}}class Ft{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 o of t)o.remove(this);else t.remove(this);const{initialTeardown:i}=this;if(Te(i))try{i()}catch(o){n=o instanceof Pd?o.errors:[o]}const{_finalizers:r}=this;if(r){this._finalizers=null;for(const o of r)try{Py(o)}catch(s){n=n??[],s instanceof Pd?n=[...n,...s.errors]:n.push(s)}}if(n)throw new Pd(n)}}add(n){var t;if(n&&n!==this)if(this.closed)Py(n);else{if(n instanceof Ft){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)&&ll(t,n)}remove(n){const{_finalizers:t}=this;t&&ll(t,n),n instanceof Ft&&n._removeParent(this)}}Ft.EMPTY=(()=>{const e=new Ft;return e.closed=!0,e})();const Ay=Ft.EMPTY;function Ny(e){return e instanceof Ft||e&&"closed"in e&&Te(e.remove)&&Te(e.add)&&Te(e.unsubscribe)}function Py(e){Te(e)?e():e.unsubscribe()}const ji={onUnhandledError:null,onStoppedNotification:null,Promise:void 0,useDeprecatedSynchronousErrorHandling:!1,useDeprecatedNextContext:!1},cl={setTimeout(e,n,...t){const{delegate:i}=cl;return i?.setTimeout?i.setTimeout(e,n,...t):setTimeout(e,n,...t)},clearTimeout(e){const{delegate:n}=cl;return(n?.clearTimeout||clearTimeout)(e)},delegate:void 0};function Oy(e){cl.setTimeout(()=>{const{onUnhandledError:n}=ji;if(!n)throw e;n(e)})}function ky(){}const bA=Od("C",void 0,void 0);function Od(e,n,t){return{kind:e,value:n,error:t}}let Hi=null;function ul(e){if(ji.useDeprecatedSynchronousErrorHandling){const n=!Hi;if(n&&(Hi={errorThrown:!1,error:null}),e(),n){const{errorThrown:t,error:i}=Hi;if(Hi=null,t)throw i}}else e()}class kd extends Ft{constructor(n){super(),this.isStopped=!1,n?(this.destination=n,Ny(n)&&n.add(this)):this.destination=xA}static create(n,t,i){return new is(n,t,i)}next(n){this.isStopped?Fd(function wA(e){return Od("N",e,void 0)}(n),this):this._next(n)}error(n){this.isStopped?Fd(function DA(e){return Od("E",void 0,e)}(n),this):(this.isStopped=!0,this._error(n))}complete(){this.isStopped?Fd(bA,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 EA=Function.prototype.bind;function Rd(e,n){return EA.call(e,n)}class MA{constructor(n){this.partialObserver=n}next(n){const{partialObserver:t}=this;if(t.next)try{t.next(n)}catch(i){dl(i)}}error(n){const{partialObserver:t}=this;if(t.error)try{t.error(n)}catch(i){dl(i)}else dl(n)}complete(){const{partialObserver:n}=this;if(n.complete)try{n.complete()}catch(t){dl(t)}}}class is extends kd{constructor(n,t,i){let r;if(super(),Te(n)||!n)r={next:n??void 0,error:t??void 0,complete:i??void 0};else{let o;this&&ji.useDeprecatedNextContext?(o=Object.create(n),o.unsubscribe=()=>this.unsubscribe(),r={next:n.next&&Rd(n.next,o),error:n.error&&Rd(n.error,o),complete:n.complete&&Rd(n.complete,o)}):r=n}this.destination=new MA(r)}}function dl(e){ji.useDeprecatedSynchronousErrorHandling?function CA(e){ji.useDeprecatedSynchronousErrorHandling&&Hi&&(Hi.errorThrown=!0,Hi.error=e)}(e):Oy(e)}function Fd(e,n){const{onStoppedNotification:t}=ji;t&&cl.setTimeout(()=>t(e,n))}const xA={closed:!0,next:ky,error:function IA(e){throw e},complete:ky},Ld="function"==typeof Symbol&&Symbol.observable||"@@observable";function fl(e){return e}let yt=(()=>{class e{constructor(t){t&&(this._subscribe=t)}lift(t){const i=new e;return i.source=this,i.operator=t,i}subscribe(t,i,r){const o=function TA(e){return e&&e instanceof kd||function SA(e){return e&&Te(e.next)&&Te(e.error)&&Te(e.complete)}(e)&&Ny(e)}(t)?t:new is(t,i,r);return ul(()=>{const{operator:s,source:a}=this;o.add(s?s.call(o,a):a?this._subscribe(o):this._trySubscribe(o))}),o}_trySubscribe(t){try{return this._subscribe(t)}catch(i){t.error(i)}}forEach(t,i){return new(i=Fy(i))((r,o)=>{const s=new is({next:a=>{try{t(a)}catch(l){o(l),s.unsubscribe()}},error:o,complete:r});this.subscribe(s)})}_subscribe(t){var i;return null===(i=this.source)||void 0===i?void 0:i.subscribe(t)}[Ld](){return this}pipe(...t){return function Ry(e){return 0===e.length?fl:1===e.length?e[0]:function(t){return e.reduce((i,r)=>r(i),t)}}(t)(this)}toPromise(t){return new(t=Fy(t))((i,r)=>{let o;this.subscribe(s=>o=s,s=>r(s),()=>i(o))})}}return e.create=n=>new e(n),e})();function Fy(e){var n;return null!==(n=e??ji.Promise)&&void 0!==n?n:Promise}const AA=Ty(e=>function(){e(this),this.name="ObjectUnsubscribedError",this.message="object unsubscribed"});let ci=(()=>{class e extends yt{constructor(){super(),this.closed=!1,this.currentObservers=null,this.observers=[],this.isStopped=!1,this.hasError=!1,this.thrownError=null}lift(t){const i=new Ly(this,this);return i.operator=t,i}_throwIfClosed(){if(this.closed)throw new AA}next(t){ul(()=>{if(this._throwIfClosed(),!this.isStopped){this.currentObservers||(this.currentObservers=Array.from(this.observers));for(const i of this.currentObservers)i.next(t)}})}error(t){ul(()=>{if(this._throwIfClosed(),!this.isStopped){this.hasError=this.isStopped=!0,this.thrownError=t;const{observers:i}=this;for(;i.length;)i.shift().error(t)}})}complete(){ul(()=>{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:i,isStopped:r,observers:o}=this;return i||r?Ay:(this.currentObservers=null,o.push(t),new Ft(()=>{this.currentObservers=null,ll(o,t)}))}_checkFinalizedStatuses(t){const{hasError:i,thrownError:r,isStopped:o}=this;i?t.error(r):o&&t.complete()}asObservable(){const t=new yt;return t.source=this,t}}return e.create=(n,t)=>new Ly(n,t),e})();class Ly extends ci{constructor(n,t){super(),this.destination=n,this.source=t}next(n){var t,i;null===(i=null===(t=this.destination)||void 0===t?void 0:t.next)||void 0===i||i.call(t,n)}error(n){var t,i;null===(i=null===(t=this.destination)||void 0===t?void 0:t.error)||void 0===i||i.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,i;return null!==(i=null===(t=this.source)||void 0===t?void 0:t.subscribe(n))&&void 0!==i?i:Ay}}class NA extends ci{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:i}=this;if(n)throw t;return this._throwIfClosed(),i}next(n){super.next(this._value=n)}}function on(e){return n=>{if(function PA(e){return Te(e?.lift)}(n))return n.lift(function(t){try{return e(t,this)}catch(i){this.error(i)}});throw new TypeError("Unable to lift unknown Observable type")}}function bn(e,n,t,i,r){return new OA(e,n,t,i,r)}class OA extends kd{constructor(n,t,i,r,o,s){super(n),this.onFinalize=o,this.shouldUnsubscribe=s,this._next=t?function(a){try{t(a)}catch(l){n.error(l)}}:super._next,this._error=r?function(a){try{r(a)}catch(l){n.error(l)}finally{this.unsubscribe()}}:super._error,this._complete=i?function(){try{i()}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 st(e,n){return on((t,i)=>{let r=0;t.subscribe(bn(i,o=>{i.next(e.call(n,o,r++))}))})}class M extends Error{constructor(n,t){super(function Fr(e,n){return`NG0${Math.abs(e)}${n?": "+n:""}`}(n,t)),this.code=n}}function Bn(e){return{toString:e}.toString()}const Vr="__parameters__";function jr(e,n,t){return Bn(()=>{const i=function Vd(e){return function(...t){if(e){const i=e(...t);for(const r in i)this[r]=i[r]}}}(n);function r(...o){if(this instanceof r)return i.apply(this,o),this;const s=new r(...o);return a.annotation=s,a;function a(l,c,u){const d=l.hasOwnProperty(Vr)?l[Vr]:Object.defineProperty(l,Vr,{value:[]})[Vr];for(;d.length<=u;)d.push(null);return(d[u]=d[u]||[]).push(s),l}}return t&&(r.prototype=Object.create(t.prototype)),r.prototype.ngMetadataName=e,r.annotationCls=r,r})}const be=globalThis;function ae(e){for(let n in e)if(e[n]===ae)return n;throw Error("Could not find renamed property on target object.")}function kA(e,n){for(const t in n)n.hasOwnProperty(t)&&!e.hasOwnProperty(t)&&(e[t]=n[t])}function Ge(e){if("string"==typeof e)return e;if(Array.isArray(e))return"["+e.map(Ge).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 Bd(e,n){return null==e||""===e?null===n?"":n:null==n||""===n?e:e+" "+n}const RA=ae({__forward_ref__:ae});function pe(e){return e.__forward_ref__=pe,e.toString=function(){return Ge(this())},e}function L(e){return pl(e)?e():e}function pl(e){return"function"==typeof e&&e.hasOwnProperty(RA)&&e.__forward_ref__===pe}function R(e){return{token:e.token,providedIn:e.providedIn||null,factory:e.factory,value:void 0}}function di(e){return{providers:e.providers||[],imports:e.imports||[]}}function gl(e){return Uy(e,yl)||Uy(e,$y)}function Uy(e,n){return e.hasOwnProperty(n)?e[n]:null}function ml(e){return e&&(e.hasOwnProperty(jd)||e.hasOwnProperty(jA))?e[jd]:null}const yl=ae({\u0275prov:ae}),jd=ae({\u0275inj:ae}),$y=ae({ngInjectableDef:ae}),jA=ae({ngInjectorDef:ae});class T{constructor(n,t){this._desc=n,this.ngMetadataName="InjectionToken",this.\u0275prov=void 0,"number"==typeof t?this.__NG_ELEMENT_ID__=t:void 0!==t&&(this.\u0275prov=R({token:this,providedIn:t.providedIn||"root",factory:t.factory}))}get multi(){return this}toString(){return`InjectionToken ${this._desc}`}}function Wd(e){return e&&!!e.\u0275providers}const rs=ae({\u0275cmp:ae}),Gd=ae({\u0275dir:ae}),qd=ae({\u0275pipe:ae}),Wy=ae({\u0275mod:ae}),jn=ae({\u0275fac:ae}),os=ae({__NG_ELEMENT_ID__:ae}),Gy=ae({__NG_ENV_ID__:ae});function j(e){return"string"==typeof e?e:null==e?"":String(e)}function Yd(e,n){throw new M(-201,!1)}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||{});let Zd;function qy(){return Zd}function It(e){const n=Zd;return Zd=e,n}function Yy(e,n,t){const i=gl(e);return i&&"root"==i.providedIn?void 0===i.value?i.value=i.factory():i.value:t&X.Optional?null:void 0!==n?n:void Yd()}const ss={},Xd="__NG_DI_FLAG__",vl="ngTempTokenPath",GA=/\n/gm,Zy="__source";let Hr;function fi(e){const n=Hr;return Hr=e,n}function ZA(e,n=X.Default){if(void 0===Hr)throw new M(-203,!1);return null===Hr?Yy(e,void 0,n):Hr.get(e,n&X.Optional?null:void 0,n)}function F(e,n=X.Default){return(qy()||ZA)(L(e),n)}function A(e,n=X.Default){return F(e,_l(n))}function _l(e){return typeof e>"u"||"number"==typeof e?e:(e.optional&&8)|(e.host&&1)|(e.self&&2)|(e.skipSelf&&4)}function Qd(e){const n=[];for(let t=0;t<e.length;t++){const i=L(e[t]);if(Array.isArray(i)){if(0===i.length)throw new M(900,!1);let r,o=X.Default;for(let s=0;s<i.length;s++){const a=i[s],l=XA(a);"number"==typeof l?-1===l?r=a.token:o|=l:r=a}n.push(F(r,o))}else n.push(F(i))}return n}function as(e,n){return e[Xd]=n,e.prototype[Xd]=n,e}function XA(e){return e[Xd]}const Kd=as(jr("Optional"),8),Jd=as(jr("SkipSelf"),4);function Ui(e,n){return e.hasOwnProperty(jn)?e[jn]:null}function Ur(e,n){e.forEach(t=>Array.isArray(t)?Ur(t,n):n(t))}function Qy(e,n,t){n>=e.length?e.push(t):e.splice(n,0,t)}function bl(e,n){return n>=e.length-1?e.pop():e.splice(n,1)[0]}function Bt(e,n,t){let i=$r(e,n);return i>=0?e[1|i]=t:(i=~i,function Ky(e,n,t,i){let r=e.length;if(r==n)e.push(t,i);else if(1===r)e.push(i,e[0]),e[0]=t;else{for(r--,e.push(e[r-1],e[r]);r>n;)e[r]=e[r-2],r--;e[n]=t,e[n+1]=i}}(e,i,n,t)),i}function tf(e,n){const t=$r(e,n);if(t>=0)return e[1|t]}function $r(e,n){return function Jy(e,n,t){let i=0,r=e.length>>t;for(;r!==i;){const o=i+(r-i>>1),s=e[o<<t];if(n===s)return o<<t;s>n?r=o:i=o+1}return~(r<<t)}(e,n,1)}const Dn={},ee=[],Hn=new T(""),ev=new T("",-1),nf=new T("");class wl{get(n,t=ss){if(t===ss){const i=new Error(`NullInjectorError: No provider for ${Ge(n)}!`);throw i.name="NullInjectorError",i}return t}}var Cl=function(e){return e[e.OnPush=0]="OnPush",e[e.Default=1]="Default",e}(Cl||{}),sn=function(e){return e[e.Emulated=0]="Emulated",e[e.None=2]="None",e[e.ShadowDom=3]="ShadowDom",e}(sn||{}),hi=function(e){return e[e.None=0]="None",e[e.SignalBased=1]="SignalBased",e[e.HasDecoratorInputTransform=2]="HasDecoratorInputTransform",e}(hi||{});function iN(e,n,t){let i=e.length;for(;;){const r=e.indexOf(n,t);if(-1===r)return r;if(0===r||e.charCodeAt(r-1)<=32){const o=n.length;if(r+o===i||e.charCodeAt(r+o)<=32)return r}t=r+1}}function rf(e,n,t){let i=0;for(;i<t.length;){const r=t[i];if("number"==typeof r){if(0!==r)break;i++;const o=t[i++],s=t[i++],a=t[i++];e.setAttribute(n,s,a,o)}else{const o=r,s=t[++i];nv(o)?e.setProperty(n,o,s):e.setAttribute(n,o,s),i++}}return i}function tv(e){return 3===e||4===e||6===e}function nv(e){return 64===e.charCodeAt(0)}function ls(e,n){if(null!==n&&0!==n.length)if(null===e||0===e.length)e=n.slice();else{let t=-1;for(let i=0;i<n.length;i++){const r=n[i];"number"==typeof r?t=r:0===t||iv(e,t,r,null,-1===t||2===t?n[++i]:null)}}return e}function iv(e,n,t,i,r){let o=0,s=e.length;if(-1===n)s=-1;else for(;o<e.length;){const a=e[o++];if("number"==typeof a){if(a===n){s=-1;break}if(a>n){s=o-1;break}}}for(;o<e.length;){const a=e[o];if("number"==typeof a)break;if(a===t){if(null===i)return void(null!==r&&(e[o+1]=r));if(i===e[o+1])return void(e[o+2]=r)}o++,null!==i&&o++,null!==r&&o++}-1!==s&&(e.splice(s,0,n),o=s+1),e.splice(o++,0,t),null!==i&&e.splice(o++,0,i),null!==r&&e.splice(o++,0,r)}const rv="ng-template";function rN(e,n,t,i){let r=0;if(i){for(;r<n.length&&"string"==typeof n[r];r+=2)if("class"===n[r]&&-1!==iN(n[r+1].toLowerCase(),t,0))return!0}else if(sf(e))return!1;if(r=n.indexOf(1,r),r>-1){let o;for(;++r<n.length&&"string"==typeof(o=n[r]);)if(o.toLowerCase()===t)return!0}return!1}function sf(e){return 4===e.type&&e.value!==rv}function oN(e,n,t){return n===(4!==e.type||t?e.value:rv)}function sN(e,n,t){let i=4;const r=e.attrs,o=null!==r?function cN(e){for(let n=0;n<e.length;n++)if(tv(e[n]))return n;return e.length}(r):0;let s=!1;for(let a=0;a<n.length;a++){const l=n[a];if("number"!=typeof l){if(!s)if(4&i){if(i=2|1&i,""!==l&&!oN(e,l,t)||""===l&&1===n.length){if(an(i))return!1;s=!0}}else if(8&i){if(null===r||!rN(e,r,l,t)){if(an(i))return!1;s=!0}}else{const c=n[++a],u=aN(l,r,sf(e),t);if(-1===u){if(an(i))return!1;s=!0;continue}if(""!==c){let d;if(d=u>o?"":r[u+1].toLowerCase(),2&i&&c!==d){if(an(i))return!1;s=!0}}}}else{if(!s&&!an(i)&&!an(l))return!1;if(s&&an(l))continue;s=!1,i=l|1&i}}return an(i)||s}function an(e){return!(1&e)}function aN(e,n,t,i){if(null===n)return-1;let r=0;if(i||!t){let o=!1;for(;r<n.length;){const s=n[r];if(s===e)return r;if(3===s||6===s)o=!0;else{if(1===s||2===s){let a=n[++r];for(;"string"==typeof a;)a=n[++r];continue}if(4===s)break;if(0===s){r+=4;continue}}r+=o?1:2}return-1}return function uN(e,n){let t=e.indexOf(4);if(t>-1)for(t++;t<e.length;){const i=e[t];if("number"==typeof i)return-1;if(i===n)return t;t++}return-1}(n,e)}function ov(e,n,t=!1){for(let i=0;i<n.length;i++)if(sN(e,n[i],t))return!0;return!1}function sv(e,n){return e?":not("+n.trim()+")":n}function fN(e){let n=e[0],t=1,i=2,r="",o=!1;for(;t<e.length;){let s=e[t];if("string"==typeof s)if(2&i){const a=e[++t];r+="["+s+(a.length>0?'="'+a+'"':"")+"]"}else 8&i?r+="."+s:4&i&&(r+=" "+s);else""!==r&&!an(s)&&(n+=sv(o,r),r=""),i=s,o=o||!an(i);t++}return""!==r&&(n+=sv(o,r)),n}function af(e){return Bn(()=>{const n=lv(e),t={...n,decls:e.decls,vars:e.vars,template:e.template,consts:e.consts||null,ngContentSelectors:e.ngContentSelectors,onPush:e.changeDetection===Cl.OnPush,directiveDefs:null,pipeDefs:null,dependencies:n.standalone&&e.dependencies||null,getStandaloneInjector:null,signals:e.signals??!1,data:e.data||{},encapsulation:e.encapsulation||sn.Emulated,styles:e.styles||ee,_:null,schemas:e.schemas||null,tView:null,id:""};cv(t);const i=e.dependencies;return t.directiveDefs=El(i,!1),t.pipeDefs=El(i,!0),t.id=function vN(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 r of t)n=Math.imul(31,n)+r.charCodeAt(0)|0;return n+=2147483648,"c"+n}(t),t})}function gN(e){return Y(e)||qe(e)}function mN(e){return null!==e}function $i(e){return Bn(()=>({type:e.type,bootstrap:e.bootstrap||ee,declarations:e.declarations||ee,imports:e.imports||ee,exports:e.exports||ee,transitiveCompileScopes:null,schemas:e.schemas||null,id:e.id||null}))}function av(e,n){if(null==e)return Dn;const t={};for(const i in e)if(e.hasOwnProperty(i)){const r=e[i];let o,s,a=hi.None;Array.isArray(r)?(a=r[0],o=r[1],s=r[2]??o):(o=r,s=r),n?(t[o]=a!==hi.None?[i,a]:i,n[o]=s):t[o]=i}return t}function H(e){return Bn(()=>{const n=lv(e);return cv(n),n})}function St(e){return{type:e.type,name:e.name,factory:null,pure:!1!==e.pure,standalone:!0===e.standalone,onDestroy:e.type.prototype.ngOnDestroy||null}}function Y(e){return e[rs]||null}function qe(e){return e[Gd]||null}function nt(e){return e[qd]||null}function lv(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||Dn,exportAs:e.exportAs||null,standalone:!0===e.standalone,signals:!0===e.signals,selectors:e.selectors||ee,viewQuery:e.viewQuery||null,features:e.features||null,setInput:null,findHostDirectiveDefs:null,hostDirectives:null,inputs:av(e.inputs,n),outputs:av(e.outputs),debugInfo:null}}function cv(e){e.features?.forEach(n=>n(e))}function El(e,n){if(!e)return null;const t=n?nt:gN;return()=>("function"==typeof e?e():e).map(i=>t(i)).filter(mN)}function _N(...e){return{\u0275providers:lf(0,e),\u0275fromNgModule:!0}}function lf(e,...n){const t=[],i=new Set;let r;const o=s=>{t.push(s)};return Ur(n,s=>{const a=s;Ml(a,o,[],i)&&(r||=[],r.push(a))}),void 0!==r&&uv(r,o),t}function uv(e,n){for(let t=0;t<e.length;t++){const{ngModule:i,providers:r}=e[t];cf(r,o=>{n(o,i)})}}function Ml(e,n,t,i){if(!(e=L(e)))return!1;let r=null,o=ml(e);const s=!o&&Y(e);if(o||s){if(s&&!s.standalone)return!1;r=e}else{const l=e.ngModule;if(o=ml(l),!o)return!1;r=l}const a=i.has(r);if(s){if(a)return!1;if(i.add(r),s.dependencies){const l="function"==typeof s.dependencies?s.dependencies():s.dependencies;for(const c of l)Ml(c,n,t,i)}}else{if(!o)return!1;{if(null!=o.imports&&!a){let c;i.add(r);try{Ur(o.imports,u=>{Ml(u,n,t,i)&&(c||=[],c.push(u))})}finally{}void 0!==c&&uv(c,n)}if(!a){const c=Ui(r)||(()=>new r);n({provide:r,useFactory:c,deps:ee},r),n({provide:nf,useValue:r,multi:!0},r),n({provide:Hn,useValue:()=>F(r),multi:!0},r)}const l=o.providers;if(null!=l&&!a){const c=e;cf(l,u=>{n(u,c)})}}}return r!==e&&void 0!==e.providers}function cf(e,n){for(let t of e)Wd(t)&&(t=t.\u0275providers),Array.isArray(t)?cf(t,n):n(t)}const bN=ae({provide:String,useValue:ae});function uf(e){return null!==e&&"object"==typeof e&&bN in e}function Wi(e){return"function"==typeof e}const df=new T(""),Il={},wN={};let ff;function xl(){return void 0===ff&&(ff=new wl),ff}class Xt{}class zr extends Xt{get destroyed(){return this._destroyed}constructor(n,t,i,r){super(),this.parent=t,this.source=i,this.scopes=r,this.records=new Map,this._ngOnDestroyHooks=new Set,this._onDestroyHooks=[],this._destroyed=!1,pf(n,s=>this.processProvider(s)),this.records.set(ev,Wr(void 0,this)),r.has("environment")&&this.records.set(Xt,Wr(void 0,this));const o=this.records.get(df);null!=o&&"string"==typeof o.value&&this.scopes.add(o.value),this.injectorDefTypes=new Set(this.get(nf,ee,X.Self))}destroy(){this.assertNotDestroyed(),this._destroyed=!0;const n=W(null);try{for(const i of this._ngOnDestroyHooks)i.ngOnDestroy();const t=this._onDestroyHooks;this._onDestroyHooks=[];for(const i of t)i()}finally{this.records.clear(),this._ngOnDestroyHooks.clear(),this.injectorDefTypes.clear(),W(n)}}onDestroy(n){return this.assertNotDestroyed(),this._onDestroyHooks.push(n),()=>this.removeOnDestroy(n)}runInContext(n){this.assertNotDestroyed();const t=fi(this),i=It(void 0);try{return n()}finally{fi(t),It(i)}}get(n,t=ss,i=X.Default){if(this.assertNotDestroyed(),n.hasOwnProperty(Gy))return n[Gy](this);i=_l(i);const o=fi(this),s=It(void 0);try{if(!(i&X.SkipSelf)){let l=this.records.get(n);if(void 0===l){const c=function xN(e){return"function"==typeof e||"object"==typeof e&&e instanceof T}(n)&&gl(n);l=c&&this.injectableDefInScope(c)?Wr(hf(n),Il):null,this.records.set(n,l)}if(null!=l)return this.hydrate(n,l)}return(i&X.Self?xl():this.parent).get(n,t=i&X.Optional&&t===ss?null:t)}catch(a){if("NullInjectorError"===a.name){if((a[vl]=a[vl]||[]).unshift(Ge(n)),o)throw a;return function QA(e,n,t,i){const r=e[vl];throw n[Zy]&&r.unshift(n[Zy]),e.message=function KA(e,n,t,i=null){e=e&&"\n"===e.charAt(0)&&"\u0275"==e.charAt(1)?e.slice(2):e;let r=Ge(n);if(Array.isArray(n))r=n.map(Ge).join(" -> ");else if("object"==typeof n){let o=[];for(let s in n)if(n.hasOwnProperty(s)){let a=n[s];o.push(s+":"+("string"==typeof a?JSON.stringify(a):Ge(a)))}r=`{${o.join(", ")}}`}return`${t}${i?"("+i+")":""}[${r}]: ${e.replace(GA,"\n  ")}`}("\n"+e.message,r,t,i),e.ngTokenPath=r,e[vl]=null,e}(a,n,"R3InjectorError",this.source)}throw a}finally{It(s),fi(o)}}resolveInjectorInitializers(){const n=W(null),t=fi(this),i=It(void 0);try{const o=this.get(Hn,ee,X.Self);for(const s of o)s()}finally{fi(t),It(i),W(n)}}toString(){const n=[],t=this.records;for(const i of t.keys())n.push(Ge(i));return`R3Injector[${n.join(", ")}]`}assertNotDestroyed(){if(this._destroyed)throw new M(205,!1)}processProvider(n){let t=Wi(n=L(n))?n:L(n&&n.provide);const i=function EN(e){return uf(e)?Wr(void 0,e.useValue):Wr(hv(e),Il)}(n);if(!Wi(n)&&!0===n.multi){let r=this.records.get(t);r||(r=Wr(void 0,Il,!0),r.factory=()=>Qd(r.multi),this.records.set(t,r)),t=n,r.multi.push(n)}this.records.set(t,i)}hydrate(n,t){const i=W(null);try{return t.value===Il&&(t.value=wN,t.value=t.factory()),"object"==typeof t.value&&t.value&&function IN(e){return null!==e&&"object"==typeof e&&"function"==typeof e.ngOnDestroy}(t.value)&&this._ngOnDestroyHooks.add(t.value),t.value}finally{W(i)}}injectableDefInScope(n){if(!n.providedIn)return!1;const t=L(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 hf(e){const n=gl(e),t=null!==n?n.factory:Ui(e);if(null!==t)return t;if(e instanceof T)throw new M(204,!1);if(e instanceof Function)return function CN(e){if(e.length>0)throw new M(204,!1);const t=function BA(e){return e&&(e[yl]||e[$y])||null}(e);return null!==t?()=>t.factory(e):()=>new e}(e);throw new M(204,!1)}function hv(e,n,t){let i;if(Wi(e)){const r=L(e);return Ui(r)||hf(r)}if(uf(e))i=()=>L(e.useValue);else if(function fv(e){return!(!e||!e.useFactory)}(e))i=()=>e.useFactory(...Qd(e.deps||[]));else if(function dv(e){return!(!e||!e.useExisting)}(e))i=()=>F(L(e.useExisting));else{const r=L(e&&(e.useClass||e.provide));if(!function MN(e){return!!e.deps}(e))return Ui(r)||hf(r);i=()=>new r(...Qd(e.deps))}return i}function Wr(e,n,t=!1){return{factory:e,value:n,multi:t?[]:void 0}}function pf(e,n){for(const t of e)Array.isArray(t)?pf(t,n):t&&Wd(t)?pf(t.\u0275providers,n):n(t)}const Me=0,S=1,O=2,He=3,ln=4,it=5,vt=6,qr=7,ge=8,Ue=9,wn=10,V=11,ds=12,mv=13,Yr=14,Ie=15,Gi=16,Zr=17,Un=18,Xr=19,yv=20,pi=21,Tl=22,Qt=23,P=25,yf=1,Cn=7,Qr=9,ke=10;var Nl=function(e){return e[e.None=0]="None",e[e.HasTransplantedViews=2]="HasTransplantedViews",e}(Nl||{});function Ze(e){return Array.isArray(e)&&"object"==typeof e[yf]}function lt(e){return Array.isArray(e)&&!0===e[yf]}function vf(e){return!!(4&e.flags)}function qi(e){return e.componentOffset>-1}function Pl(e){return!(1&~e.flags)}function cn(e){return!!e.template}function hs(e){return!!(512&e[O])}class jN{constructor(n,t,i){this.previousValue=n,this.currentValue=t,this.firstChange=i}isFirstChange(){return this.firstChange}}function wv(e,n,t,i){null!==n?n.applyValueToInputSignal(n,i):e[t]=i}function En(){return Cv}function Cv(e){return e.type.prototype.ngOnChanges&&(e.setInput=UN),HN}function HN(){const e=Mv(this),n=e?.current;if(n){const t=e.previous;if(t===Dn)e.previous=n;else for(let i in n)t[i]=n[i];e.current=null,this.ngOnChanges(n)}}function UN(e,n,t,i,r){const o=this.declaredInputs[i],s=Mv(e)||function $N(e,n){return e[Ev]=n}(e,{previous:Dn,current:null}),a=s.current||(s.current={}),l=s.previous,c=l[o];a[o]=new jN(c&&c.currentValue,t,l===Dn),wv(e,n,r,t)}En.ngInherit=!0;const Ev="__ngSimpleChanges__";function Mv(e){return e[Ev]||null}const Mn=function(e,n,t){};function te(e){for(;Array.isArray(e);)e=e[Me];return e}function ps(e,n){return te(n[e])}function _t(e,n){return te(n[e.index])}function gs(e,n){return e.data[n]}function jt(e,n){const t=n[e];return Ze(t)?t:t[Me]}function Cf(e){return!(128&~e[O])}function Kt(e,n){return null==n?null:e[n]}function Sv(e){e[Zr]=0}function Tv(e){1024&e[O]||(e[O]|=1024,Cf(e)&&kl(e))}function Ol(e){return!!(9216&e[O]||e[Qt]?.dirty)}function Ef(e){e[wn].changeDetectionScheduler?.notify(8),64&e[O]&&(e[O]|=1024),Ol(e)&&kl(e)}function kl(e){e[wn].changeDetectionScheduler?.notify(0);let n=$n(e);for(;null!==n&&!(8192&n[O])&&(n[O]|=8192,Cf(n));)n=$n(n)}function Rl(e,n){if(!(256&~e[O]))throw new M(911,!1);null===e[pi]&&(e[pi]=[]),e[pi].push(n)}function $n(e){const n=e[He];return lt(n)?n[He]:n}const B={lFrame:Uv(null),bindingsEnabled:!0,skipHydrationRootTNode:null};let Nv=!1;function Pv(){return B.bindingsEnabled}function C(){return B.lFrame.lView}function G(){return B.lFrame.tView}function Ht(e){return B.lFrame.contextLView=e,e[ge]}function Ut(e){return B.lFrame.contextLView=null,e}function le(){let e=Ov();for(;null!==e&&64===e.type;)e=e.parent;return e}function Ov(){return B.lFrame.currentTNode}function un(e,n){const t=B.lFrame;t.currentTNode=e,t.isParent=n}function xf(){return B.lFrame.isParent}function Fv(){return Nv}function Lv(e){Nv=e}function dn(){return B.lFrame.bindingIndex++}function Wn(e){const n=B.lFrame,t=n.bindingIndex;return n.bindingIndex=n.bindingIndex+e,t}function iP(e,n){const t=B.lFrame;t.bindingIndex=t.bindingRootIndex=e,Tf(n)}function Tf(e){B.lFrame.currentDirectiveIndex=e}function Nf(){return B.lFrame.currentQueryIndex}function Ll(e){B.lFrame.currentQueryIndex=e}function oP(e){const n=e[S];return 2===n.type?n.declTNode:1===n.type?e[it]:null}function jv(e,n,t){if(t&X.SkipSelf){let r=n,o=e;for(;!(r=r.parent,null!==r||t&X.Host||(r=oP(o),null===r||(o=o[Yr],10&r.type))););if(null===r)return!1;n=r,e=o}const i=B.lFrame=Hv();return i.currentTNode=n,i.lView=e,!0}function Pf(e){const n=Hv(),t=e[S];B.lFrame=n,n.currentTNode=t.firstChild,n.lView=e,n.tView=t,n.contextLView=e,n.bindingIndex=t.bindingStartIndex,n.inI18n=!1}function Hv(){const e=B.lFrame,n=null===e?null:e.child;return null===n?Uv(e):n}function Uv(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 $v(){const e=B.lFrame;return B.lFrame=e.parent,e.currentTNode=null,e.lView=null,e}const zv=$v;function Of(){const e=$v();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 rt(){return B.lFrame.selectedIndex}function Xi(e){B.lFrame.selectedIndex=e}function me(){const e=B.lFrame;return gs(e.tView,e.selectedIndex)}let Gv=!0;function ys(){return Gv}function In(e){Gv=e}function Vl(e,n){for(let t=n.directiveStart,i=n.directiveEnd;t<i;t++){const o=e.data[t].type.prototype,{ngAfterContentInit:s,ngAfterContentChecked:a,ngAfterViewInit:l,ngAfterViewChecked:c,ngOnDestroy:u}=o;s&&(e.contentHooks??=[]).push(-t,s),a&&((e.contentHooks??=[]).push(t,a),(e.contentCheckHooks??=[]).push(t,a)),l&&(e.viewHooks??=[]).push(-t,l),c&&((e.viewHooks??=[]).push(t,c),(e.viewCheckHooks??=[]).push(t,c)),null!=u&&(e.destroyHooks??=[]).push(t,u)}}function Bl(e,n,t){qv(e,n,3,t)}function jl(e,n,t,i){(3&e[O])===t&&qv(e,n,t,i)}function kf(e,n){let t=e[O];(3&t)===n&&(t&=16383,t+=1,e[O]=t)}function qv(e,n,t,i){const o=i??-1,s=n.length-1;let a=0;for(let l=void 0!==i?65535&e[Zr]:0;l<s;l++)if("number"==typeof n[l+1]){if(a=n[l],null!=i&&a>=i)break}else n[l]<0&&(e[Zr]+=65536),(a<o||-1==o)&&(fP(e,t,n,l),e[Zr]=(4294901760&e[Zr])+l+2),l++}function Yv(e,n){Mn(4,e,n);const t=W(null);try{n.call(e)}finally{W(t),Mn(5,e,n)}}function fP(e,n,t,i){const r=t[i]<0,o=t[i+1],a=e[r?-t[i]:t[i]];r?e[O]>>14<e[Zr]>>16&&(3&e[O])===n&&(e[O]+=16384,Yv(a,o)):Yv(a,o)}const Kr=-1;class vs{constructor(n,t,i){this.factory=n,this.resolving=!1,this.canSeeViewProviders=t,this.injectImpl=i}}const Ff={};class Qi{constructor(n,t){this.injector=n,this.parentInjector=t}get(n,t,i){i=_l(i);const r=this.injector.get(n,Ff,i);return r!==Ff||t===Ff?r:this.parentInjector.get(n,t,i)}}function Lf(e){return e!==Kr}function _s(e){return 32767&e}function bs(e,n){let t=function yP(e){return e>>16}(e),i=n;for(;t>0;)i=i[Yr],t--;return i}let Vf=!0;function Hl(e){const n=Vf;return Vf=e,n}const Xv=255,Qv=5;let _P=0;const xn={};function Ul(e,n){const t=Kv(e,n);if(-1!==t)return t;const i=n[S];i.firstCreatePass&&(e.injectorIndex=n.length,Bf(i.data,e),Bf(n,null),Bf(i.blueprint,null));const r=$l(e,n),o=e.injectorIndex;if(Lf(r)){const s=_s(r),a=bs(r,n),l=a[S].data;for(let c=0;c<8;c++)n[o+c]=a[s+c]|l[s+c]}return n[o+8]=r,o}function Bf(e,n){e.push(0,0,0,0,0,0,0,0,n)}function Kv(e,n){return-1===e.injectorIndex||e.parent&&e.parent.injectorIndex===e.injectorIndex||null===n[e.injectorIndex+8]?-1:e.injectorIndex}function $l(e,n){if(e.parent&&-1!==e.parent.injectorIndex)return e.parent.injectorIndex;let t=0,i=null,r=n;for(;null!==r;){if(i=o_(r),null===i)return Kr;if(t++,r=r[Yr],-1!==i.injectorIndex)return i.injectorIndex|t<<16}return Kr}function jf(e,n,t){!function bP(e,n,t){let i;"string"==typeof t?i=t.charCodeAt(0)||0:t.hasOwnProperty(os)&&(i=t[os]),null==i&&(i=t[os]=_P++);const r=i&Xv;n.data[e+(r>>Qv)]|=1<<r}(e,n,t)}function Jv(e,n,t){if(t&X.Optional||void 0!==e)return e;Yd()}function e_(e,n,t,i){if(t&X.Optional&&void 0===i&&(i=null),!(t&(X.Self|X.Host))){const r=e[Ue],o=It(void 0);try{return r?r.get(n,i,t&X.Optional):Yy(n,i,t&X.Optional)}finally{It(o)}}return Jv(i,0,t)}function t_(e,n,t,i=X.Default,r){if(null!==e){if(2048&n[O]&&!(i&X.Self)){const s=function MP(e,n,t,i,r){let o=e,s=n;for(;null!==o&&null!==s&&2048&s[O]&&!(512&s[O]);){const a=n_(o,s,t,i|X.Self,xn);if(a!==xn)return a;let l=o.parent;if(!l){const c=s[yv];if(c){const u=c.get(t,xn,i);if(u!==xn)return u}l=o_(s),s=s[Yr]}o=l}return r}(e,n,t,i,xn);if(s!==xn)return s}const o=n_(e,n,t,i,xn);if(o!==xn)return o}return e_(n,t,i,r)}function n_(e,n,t,i,r){const o=function CP(e){if("string"==typeof e)return e.charCodeAt(0)||0;const n=e.hasOwnProperty(os)?e[os]:void 0;return"number"==typeof n?n>=0?n&Xv:EP:n}(t);if("function"==typeof o){if(!jv(n,e,i))return i&X.Host?Jv(r,0,i):e_(n,t,i,r);try{let s;if(s=o(i),null!=s||i&X.Optional)return s;Yd()}finally{zv()}}else if("number"==typeof o){let s=null,a=Kv(e,n),l=Kr,c=i&X.Host?n[Ie][it]:null;for((-1===a||i&X.SkipSelf)&&(l=-1===a?$l(e,n):n[a+8],l!==Kr&&r_(i,!1)?(s=n[S],a=_s(l),n=bs(l,n)):a=-1);-1!==a;){const u=n[S];if(i_(o,a,u.data)){const d=wP(a,n,t,s,i,c);if(d!==xn)return d}l=n[a+8],l!==Kr&&r_(i,n[S].data[a+8]===c)&&i_(o,a,n)?(s=u,a=_s(l),n=bs(l,n)):a=-1}}return r}function wP(e,n,t,i,r,o){const s=n[S],a=s.data[e+8],u=zl(a,s,t,null==i?qi(a)&&Vf:i!=s&&!!(3&a.type),r&X.Host&&o===a);return null!==u?Ki(n,s,u,a):xn}function zl(e,n,t,i,r){const o=e.providerIndexes,s=n.data,a=1048575&o,l=e.directiveStart,u=o>>20,f=r?a+u:e.directiveEnd;for(let h=i?a:a+u;h<f;h++){const p=s[h];if(h<l&&t===p||h>=l&&p.type===t)return h}if(r){const h=s[l];if(h&&cn(h)&&h.type===t)return l}return null}function Ki(e,n,t,i){let r=e[t];const o=n.data;if(function hP(e){return e instanceof vs}(r)){const s=r;s.resolving&&function $A(e,n){throw n&&n.join(" > "),new M(-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():j(e)}(o[t]));const a=Hl(s.canSeeViewProviders);s.resolving=!0;const c=s.injectImpl?It(s.injectImpl):null;jv(e,i,X.Default);try{r=e[t]=s.factory(void 0,o,e,i),n.firstCreatePass&&t>=i.directiveStart&&function dP(e,n,t){const{ngOnChanges:i,ngOnInit:r,ngDoCheck:o}=n.type.prototype;if(i){const s=Cv(n);(t.preOrderHooks??=[]).push(e,s),(t.preOrderCheckHooks??=[]).push(e,s)}r&&(t.preOrderHooks??=[]).push(0-e,r),o&&((t.preOrderHooks??=[]).push(e,o),(t.preOrderCheckHooks??=[]).push(e,o))}(t,o[t],n)}finally{null!==c&&It(c),Hl(a),s.resolving=!1,zv()}}return r}function i_(e,n,t){return!!(t[n+(e>>Qv)]&1<<e)}function r_(e,n){return!(e&X.Self||e&X.Host&&n)}class Xe{constructor(n,t){this._tNode=n,this._lView=t}get(n,t,i){return t_(this._tNode,this._lView,n,_l(i),t)}}function EP(){return new Xe(le(),C())}function ct(e){return Bn(()=>{const n=e.prototype.constructor,t=n[jn]||Hf(n),i=Object.prototype;let r=Object.getPrototypeOf(e.prototype).constructor;for(;r&&r!==i;){const o=r[jn]||Hf(r);if(o&&o!==t)return o;r=Object.getPrototypeOf(r)}return o=>new o})}function Hf(e){return pl(e)?()=>{const n=Hf(L(e));return n&&n()}:Ui(e)}function o_(e){const n=e[S],t=n.type;return 2===t?n.declTNode:1===t?e[it]:null}function u_(e,n=null,t=null,i){const r=d_(e,n,t,i);return r.resolveInjectorInitializers(),r}function d_(e,n=null,t=null,i,r=new Set){const o=[t||ee,_N(e)];return i=i||("object"==typeof e?void 0:Ge(e)),new zr(o,n||xl(),i||null,r)}class ut{static{this.THROW_IF_NOT_FOUND=ss}static{this.NULL=new wl}static create(n,t){if(Array.isArray(n))return u_({name:""},t,n,"");{const i=n.name??"";return u_({name:i},n.parent,n.providers,i)}}static{this.\u0275prov=R({token:ut,providedIn:"any",factory:()=>F(ev)})}static{this.__NG_ELEMENT_ID__=-1}}new T("").__NG_ELEMENT_ID__=e=>{const n=le();if(null===n)throw new M(204,!1);if(2&n.type)return n.value;if(e&X.Optional)return null;throw new M(204,!1)};function $f(e){return e.ngOriginalError}const h_=!0;let Ds=(()=>{class e{static{this.__NG_ELEMENT_ID__=RP}static{this.__NG_ENV_ID__=t=>t}}return e})();class kP extends Ds{constructor(n){super(),this._lView=n}onDestroy(n){return Rl(this._lView,n),()=>function Mf(e,n){if(null===e[pi])return;const t=e[pi].indexOf(n);-1!==t&&e[pi].splice(t,1)}(this._lView,n)}}function RP(){return new kP(C())}let gi=(()=>{class e{constructor(){this.taskId=0,this.pendingTasks=new Set,this.hasPendingTasks=new NA(!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{this.\u0275prov=R({token:e,providedIn:"root",factory:()=>new e})}}return e})();const Qe=class FP extends ci{constructor(n=!1){super(),this.destroyRef=void 0,this.pendingTasks=void 0,this.__isAsync=n,function pv(){return void 0!==qy()||null!=function YA(){return Hr}()}()&&(this.destroyRef=A(Ds,{optional:!0})??void 0,this.pendingTasks=A(gi,{optional:!0})??void 0)}emit(n){const t=W(null);try{super.next(n)}finally{W(t)}}subscribe(n,t,i){let r=n,o=t||(()=>null),s=i;if(n&&"object"==typeof n){const l=n;r=l.next?.bind(l),o=l.error?.bind(l),s=l.complete?.bind(l)}this.__isAsync&&(o=this.wrapInTimeout(o),r&&(r=this.wrapInTimeout(r)),s&&(s=this.wrapInTimeout(s)));const a=super.subscribe({next:r,error:o,complete:s});return n instanceof Ft&&n.add(a),a}wrapInTimeout(n){return t=>{const i=this.pendingTasks?.add();setTimeout(()=>{n(t),void 0!==i&&this.pendingTasks?.remove(i)})}}};function ql(...e){}function p_(e){let n,t;function i(){e=ql;try{void 0!==t&&"function"==typeof cancelAnimationFrame&&cancelAnimationFrame(t),void 0!==n&&clearTimeout(n)}catch{}}return n=setTimeout(()=>{e(),i()}),"function"==typeof requestAnimationFrame&&(t=requestAnimationFrame(()=>{e(),i()})),()=>i()}function g_(e){return queueMicrotask(()=>e()),()=>{e=ql}}const zf="isAngularZone",Yl=zf+"_ID";let LP=0;class se{constructor(n){this.hasPendingMacrotasks=!1,this.hasPendingMicrotasks=!1,this.isStable=!0,this.onUnstable=new Qe(!1),this.onMicrotaskEmpty=new Qe(!1),this.onStable=new Qe(!1),this.onError=new Qe(!1);const{enableLongStackTrace:t=!1,shouldCoalesceEventChangeDetection:i=!1,shouldCoalesceRunChangeDetection:r=!1,scheduleInRootZone:o=h_}=n;if(typeof Zone>"u")throw new M(908,!1);Zone.assertZonePatched();const s=this;s._nesting=0,s._outer=s._inner=Zone.current,Zone.TaskTrackingZoneSpec&&(s._inner=s._inner.fork(new Zone.TaskTrackingZoneSpec)),t&&Zone.longStackTraceZoneSpec&&(s._inner=s._inner.fork(Zone.longStackTraceZoneSpec)),s.shouldCoalesceEventChangeDetection=!r&&i,s.shouldCoalesceRunChangeDetection=r,s.callbackScheduled=!1,s.scheduleInRootZone=o,function jP(e){const n=()=>{!function BP(e){function n(){p_(()=>{e.callbackScheduled=!1,Gf(e),e.isCheckStableRunning=!0,Wf(e),e.isCheckStableRunning=!1})}e.isCheckStableRunning||e.callbackScheduled||(e.callbackScheduled=!0,e.scheduleInRootZone?Zone.root.run(()=>{n()}):e._outer.run(()=>{n()}),Gf(e))}(e)},t=LP++;e._inner=e._inner.fork({name:"angular",properties:{[zf]:!0,[Yl]:t,[Yl+t]:!0},onInvokeTask:(i,r,o,s,a,l)=>{if(function HP(e){return v_(e,"__ignore_ng_zone__")}(l))return i.invokeTask(o,s,a,l);try{return m_(e),i.invokeTask(o,s,a,l)}finally{(e.shouldCoalesceEventChangeDetection&&"eventTask"===s.type||e.shouldCoalesceRunChangeDetection)&&n(),y_(e)}},onInvoke:(i,r,o,s,a,l,c)=>{try{return m_(e),i.invoke(o,s,a,l,c)}finally{e.shouldCoalesceRunChangeDetection&&!e.callbackScheduled&&!function UP(e){return v_(e,"__scheduler_tick__")}(l)&&n(),y_(e)}},onHasTask:(i,r,o,s)=>{i.hasTask(o,s),r===o&&("microTask"==s.change?(e._hasPendingMicrotasks=s.microTask,Gf(e),Wf(e)):"macroTask"==s.change&&(e.hasPendingMacrotasks=s.macroTask))},onHandleError:(i,r,o,s)=>(i.handleError(o,s),e.runOutsideAngular(()=>e.onError.emit(s)),!1)})}(s)}static isInAngularZone(){return typeof Zone<"u"&&!0===Zone.current.get(zf)}static assertInAngularZone(){if(!se.isInAngularZone())throw new M(909,!1)}static assertNotInAngularZone(){if(se.isInAngularZone())throw new M(909,!1)}run(n,t,i){return this._inner.run(n,t,i)}runTask(n,t,i,r){const o=this._inner,s=o.scheduleEventTask("NgZoneEvent: "+r,n,VP,ql,ql);try{return o.runTask(s,t,i)}finally{o.cancelTask(s)}}runGuarded(n,t,i){return this._inner.runGuarded(n,t,i)}runOutsideAngular(n){return this._outer.run(n)}}const VP={};function Wf(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 Gf(e){e.hasPendingMicrotasks=!!(e._hasPendingMicrotasks||(e.shouldCoalesceEventChangeDetection||e.shouldCoalesceRunChangeDetection)&&!0===e.callbackScheduled)}function m_(e){e._nesting++,e.isStable&&(e.isStable=!1,e.onUnstable.emit(null))}function y_(e){e._nesting--,Wf(e)}class qf{constructor(){this.hasPendingMicrotasks=!1,this.hasPendingMacrotasks=!1,this.isStable=!0,this.onUnstable=new Qe,this.onMicrotaskEmpty=new Qe,this.onStable=new Qe,this.onError=new Qe}run(n,t,i){return n.apply(t,i)}runGuarded(n,t,i){return n.apply(t,i)}runOutsideAngular(n){return n()}runTask(n,t,i,r){return n.apply(t,i)}}function v_(e,n){return!(!Array.isArray(e)||1!==e.length)&&!0===e[0]?.data?.[n]}class Sn{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&&$f(n);for(;t&&$f(t);)t=$f(t);return t||null}}const zP=new T("",{providedIn:"root",factory:()=>{const e=A(se),n=A(Sn);return t=>e.runOutsideAngular(()=>n.handleError(t))}});function WP(){return to(le(),C())}function to(e,n){return new Tt(_t(e,n))}let Tt=(()=>{class e{constructor(t){this.nativeElement=t}static{this.__NG_ELEMENT_ID__=WP}}return e})();function b_(e){return e instanceof Tt?e.nativeElement:e}function GP(){return this._results[Symbol.iterator]()}class Yf{get changes(){return this._changes??=new Qe}constructor(n=!1){this._emitDistinctChangesOnly=n,this.dirty=!0,this._onDirty=void 0,this._results=[],this._changesDetected=!1,this._changes=void 0,this.length=0,this.first=void 0,this.last=void 0;const t=Yf.prototype;t[Symbol.iterator]||(t[Symbol.iterator]=GP)}get(n){return this._results[n]}map(n){return this._results.map(n)}filter(n){return this._results.filter(n)}find(n){return this._results.find(n)}reduce(n,t){return this._results.reduce(n,t)}forEach(n){this._results.forEach(n)}some(n){return this._results.some(n)}toArray(){return this._results.slice()}toString(){return this._results.toString()}reset(n,t){this.dirty=!1;const i=function xt(e){return e.flat(Number.POSITIVE_INFINITY)}(n);(this._changesDetected=!function nN(e,n,t){if(e.length!==n.length)return!1;for(let i=0;i<e.length;i++){let r=e[i],o=n[i];if(t&&(r=t(r),o=t(o)),o!==r)return!1}return!0}(this._results,i,t))&&(this._results=i,this.length=i.length,this.last=i[this.length-1],this.first=i[0])}notifyOnChanges(){void 0!==this._changes&&(this._changesDetected||!this._emitDistinctChangesOnly)&&this._changes.emit(this)}onDirty(n){this._onDirty=n}setDirty(){this.dirty=!0,this._onDirty?.()}destroy(){void 0!==this._changes&&(this._changes.complete(),this._changes.unsubscribe())}}function Cs(e){return!(128&~e.flags)}const Xf=new Map;let YP=0;function Qf(e){Xf.delete(e[Xr])}const Zl="__ngContext__";function dt(e,n){Ze(n)?(e[Zl]=n[Xr],function XP(e){Xf.set(e[Xr],e)}(n)):e[Zl]=n}function A_(e){return P_(e[ds])}function N_(e){return P_(e[ln])}function P_(e){for(;null!==e&&!lt(e);)e=e[ln];return e}let Jf;const io=new T("",{providedIn:"root",factory:()=>hO}),hO="ng",j_=new T(""),yi=new T("",{providedIn:"platform",factory:()=>"unknown"}),H_=new T("",{providedIn:"root",factory:()=>function mi(){if(void 0!==Jf)return Jf;if(typeof document<"u")return document;throw new M(210,!1)}().body?.querySelector("[ngCspNonce]")?.getAttribute("ngCspNonce")||null});let U_=()=>null;function sh(e,n,t=!1){return U_(e,n,t)}const X_=new T("",{providedIn:"root",factory:()=>!1});class nb{constructor(n){this.changingThisBreaksApplicationSecurity=n}toString(){return`SafeValue must use [property]=binding: ${this.changingThisBreaksApplicationSecurity} (see https://g.co/ng/security#xss)`}}function yb(e){return e.ownerDocument.defaultView}var _i=function(e){return e[e.Important=1]="Important",e[e.DashCase=2]="DashCase",e}(_i||{});let _h;function bh(e,n){return _h(e,n)}function co(e,n,t,i,r){if(null!=i){let o,s=!1;lt(i)?o=i:Ze(i)&&(s=!0,i=i[Me]);const a=te(i);0===e&&null!==t?null==r?Ib(n,t,a):er(n,t,a,r||null,!0):1===e&&null!==t?er(n,t,a,r||null,!0):2===e?function ks(e,n,t){e.removeChild(null,n,t)}(n,a,s):3===e&&n.destroyNode(a),null!=o&&function bk(e,n,t,i,r){const o=t[Cn];o!==te(t)&&co(n,e,i,o,r);for(let a=ke;a<t.length;a++){const l=t[a];dc(l[S],l,e,n,i,o)}}(n,e,o,t,r)}}function lc(e,n,t){return e.createElement(n,t)}function Cb(e,n){n[wn].changeDetectionScheduler?.notify(9),dc(e,n,n[V],2,null,null)}function Eb(e,n){const t=e[Qr],i=n[He];(Ze(i)||n[Ie]!==i[He][Ie])&&(e[O]|=Nl.HasTransplantedViews),null===t?e[Qr]=[n]:t.push(n)}function Ch(e,n){const t=e[Qr],i=t.indexOf(n);t.splice(i,1)}function Os(e,n){if(e.length<=ke)return;const t=ke+n,i=e[t];if(i){const r=i[Gi];null!==r&&r!==e&&Ch(r,i),n>0&&(e[t-1][ln]=i[ln]);const o=bl(e,ke+n);!function fk(e,n){Cb(e,n),n[Me]=null,n[it]=null}(i[S],i);const s=o[Un];null!==s&&s.detachView(o[S]),i[He]=null,i[ln]=null,i[O]&=-129}return i}function cc(e,n){if(!(256&n[O])){const t=n[V];t.destroyNode&&dc(e,n,t,3,null,null),function pk(e){let n=e[ds];if(!n)return Eh(e[S],e);for(;n;){let t=null;if(Ze(n))t=n[ds];else{const i=n[ke];i&&(t=i)}if(!t){for(;n&&!n[ln]&&n!==e;)Ze(n)&&Eh(n[S],n),n=n[He];null===n&&(n=e),Ze(n)&&Eh(n[S],n),t=n&&n[ln]}n=t}}(n)}}function Eh(e,n){if(256&n[O])return;const t=W(null);try{n[O]&=-129,n[O]|=256,n[Qt]&&Td(n[Qt]),function yk(e,n){let t;if(null!=e&&null!=(t=e.destroyHooks))for(let i=0;i<t.length;i+=2){const r=n[t[i]];if(!(r instanceof vs)){const o=t[i+1];if(Array.isArray(o))for(let s=0;s<o.length;s+=2){const a=r[o[s]],l=o[s+1];Mn(4,a,l);try{l.call(a)}finally{Mn(5,a,l)}}else{Mn(4,r,o);try{o.call(r)}finally{Mn(5,r,o)}}}}}(e,n),function mk(e,n){const t=e.cleanup,i=n[qr];if(null!==t)for(let o=0;o<t.length-1;o+=2)if("string"==typeof t[o]){const s=t[o+3];s>=0?i[s]():i[-s].unsubscribe(),o+=2}else t[o].call(i[t[o+1]]);null!==i&&(n[qr]=null);const r=n[pi];if(null!==r){n[pi]=null;for(let o=0;o<r.length;o++)(0,r[o])()}}(e,n),1===n[S].type&&n[V].destroy();const i=n[Gi];if(null!==i&&lt(n[He])){i!==n[He]&&Ch(i,n);const r=n[Un];null!==r&&r.detachView(e)}Qf(n)}finally{W(t)}}function Mh(e,n,t){return function Mb(e,n,t){let i=n;for(;null!==i&&168&i.type;)i=(n=i).parent;if(null===i)return t[Me];{const{componentOffset:r}=i;if(r>-1){const{encapsulation:o}=e.data[i.directiveStart+r];if(o===sn.None||o===sn.Emulated)return null}return _t(i,t)}}(e,n.parent,t)}function er(e,n,t,i,r){e.insertBefore(n,t,i,r)}function Ib(e,n,t){e.appendChild(n,t)}function xb(e,n,t,i,r){null!==i?er(e,n,t,i,r):Ib(e,n,t)}function Ih(e,n){return e.parentNode(n)}let xh,Ab=function Tb(e,n,t){return 40&e.type?_t(e,t):null};function uc(e,n,t,i){const r=Mh(e,i,n),o=n[V],a=function Sb(e,n,t){return Ab(e,n,t)}(i.parent||n[it],i,n);if(null!=r)if(Array.isArray(t))for(let l=0;l<t.length;l++)xb(o,r,t[l],a,!1);else xb(o,r,t,a,!1);void 0!==xh&&xh(o,i,n,t,r)}function tr(e,n){if(null!==n){const t=n.type;if(3&t)return _t(n,e);if(4&t)return Sh(-1,e[n.index]);if(8&t){const i=n.child;if(null!==i)return tr(e,i);{const r=e[n.index];return lt(r)?Sh(-1,r):te(r)}}if(128&t)return tr(e,n.next);if(32&t)return bh(n,e)()||te(e[n.index]);{const i=Pb(e,n);return null!==i?Array.isArray(i)?i[0]:tr($n(e[Ie]),i):tr(e,n.next)}}return null}function Pb(e,n){return null!==n?e[Ie][it].projection[n.projection]:null}function Sh(e,n){const t=ke+e+1;if(t<n.length){const i=n[t],r=i[S].firstChild;if(null!==r)return tr(i,r)}return n[Cn]}function Th(e,n,t,i,r,o,s){for(;null!=t;){if(128===t.type){t=t.next;continue}const a=i[t.index],l=t.type;if(s&&0===n&&(a&&dt(te(a),i),t.flags|=2),32&~t.flags)if(8&l)Th(e,n,t.child,i,r,o,!1),co(n,e,r,a,o);else if(32&l){const c=bh(t,i);let u;for(;u=c();)co(n,e,r,u,o);co(n,e,r,a,o)}else 16&l?kb(e,n,i,t,r,o):co(n,e,r,a,o);t=s?t.projectionNext:t.next}}function dc(e,n,t,i,r,o){Th(t,i,e.firstChild,n,r,o,!1)}function kb(e,n,t,i,r,o){const s=t[Ie],l=s[it].projection[i.projection];if(Array.isArray(l))for(let c=0;c<l.length;c++)co(n,e,r,l[c],o);else{let c=l;const u=s[He];Cs(i)&&(c.flags|=128),Th(e,n,c,u,r,o,!0)}}function Rb(e,n,t){""===t?e.removeAttribute(n,"class"):e.setAttribute(n,"class",t)}function Fb(e,n,t){const{mergedAttrs:i,classes:r,styles:o}=t;null!==i&&rf(e,n,i),null!==r&&Rb(e,n,r),null!==o&&function wk(e,n,t){e.setAttribute(n,"style",t)}(e,n,o)}const U={};function Re(e=1){Lb(G(),C(),rt()+e,!1)}function Lb(e,n,t,i){if(!i)if(3&~n[O]){const o=e.preOrderHooks;null!==o&&jl(n,o,0,t)}else{const o=e.preOrderCheckHooks;null!==o&&Bl(n,o,t)}Xi(t)}function E(e,n=X.Default){const t=C();return null===t?F(e,n):t_(le(),t,L(e),n)}function Vb(e,n,t,i,r,o){const s=W(null);try{let a=null;r&hi.SignalBased&&(a=n[i][rn]),null!==a&&void 0!==a.transformFn&&(o=a.transformFn(o)),r&hi.HasDecoratorInputTransform&&(o=e.inputTransforms[i].call(n,o)),null!==e.setInput?e.setInput(n,a,o,t,i):wv(n,a,i,o)}finally{W(s)}}function fc(e,n,t,i,r,o,s,a,l,c,u){const d=n.blueprint.slice();return d[Me]=r,d[O]=204|i,(null!==c||e&&2048&e[O])&&(d[O]|=2048),Sv(d),d[He]=d[Yr]=e,d[ge]=t,d[wn]=s||e&&e[wn],d[V]=a||e&&e[V],d[Ue]=l||e&&e[Ue]||null,d[it]=o,d[Xr]=function ZP(){return YP++}(),d[vt]=u,d[yv]=c,d[Ie]=2==n.type?e[Ie]:d,d}function nr(e,n,t,i,r){let o=e.data[n];if(null===o)o=function Ah(e,n,t,i,r){const o=Ov(),s=xf(),l=e.data[n]=function Nk(e,n,t,i,r,o){let s=n?n.injectorIndex:-1,a=0;return function Zi(){return null!==B.skipHydrationRootTNode}()&&(a|=128),{type:t,index:i,insertBeforeIndex:null,injectorIndex:s,directiveStart:-1,directiveEnd:-1,directiveStylingLast:-1,componentOffset:-1,propertyBindings:null,flags:a,providerIndexes:0,value:r,attrs:o,mergedAttrs:null,localNames:null,initialInputs:void 0,inputs:null,outputs:null,tView:null,next:null,prev:null,projectionNext:null,child:null,parent:n,projection:null,styles:null,stylesWithoutHost:null,residualStyles:void 0,classes:null,classesWithoutHost:null,residualClasses:void 0,classBindings:0,styleBindings:0}}(0,s?o:o&&o.parent,t,n,i,r);return null===e.firstChild&&(e.firstChild=l),null!==o&&(s?null==o.child&&null!==l.parent&&(o.child=l):null===o.next&&(o.next=l,l.prev=o)),l}(e,n,t,i,r),function nP(){return B.lFrame.inI18n}()&&(o.flags|=32);else if(64&o.type){o.type=t,o.value=i,o.attrs=r;const s=function ms(){const e=B.lFrame,n=e.currentTNode;return e.isParent?n:n.parent}();o.injectorIndex=null===s?-1:s.injectorIndex}return un(o,!0),o}function Rs(e,n,t,i){if(0===t)return-1;const r=n.length;for(let o=0;o<t;o++)n.push(i),e.blueprint.push(i),e.data.push(null);return r}function Bb(e,n,t,i,r){const o=rt(),s=2&i;try{Xi(-1),s&&n.length>P&&Lb(e,n,P,!1),Mn(s?2:0,r),t(i,r)}finally{Xi(o),Mn(s?3:1,r)}}function Nh(e,n,t){if(vf(n)){const i=W(null);try{const o=n.directiveEnd;for(let s=n.directiveStart;s<o;s++){const a=e.data[s];a.contentQueries&&a.contentQueries(1,t[s],s)}}finally{W(i)}}}function Ph(e,n,t){Pv()&&(function Vk(e,n,t,i){const r=t.directiveStart,o=t.directiveEnd;qi(t)&&function Wk(e,n,t){const i=_t(n,e),r=jb(t);let s=16;t.signals?s=4096:t.onPush&&(s=64);const a=hc(e,fc(e,r,null,s,i,n,null,e[wn].rendererFactory.createRenderer(i,t),null,null,null));e[n.index]=a}(n,t,e.data[r+t.componentOffset]),e.firstCreatePass||Ul(t,n),dt(i,n);const s=t.initialInputs;for(let a=r;a<o;a++){const l=e.data[a],c=Ki(n,e,a,t);dt(c,n),null!==s&&Gk(0,a-r,c,l,0,s),cn(l)&&(jt(t.index,n)[ge]=Ki(n,e,a,t))}}(e,n,t,_t(t,n)),!(64&~t.flags)&&Wb(e,n,t))}function Oh(e,n,t=_t){const i=n.localNames;if(null!==i){let r=n.index+1;for(let o=0;o<i.length;o+=2){const s=i[o+1],a=-1===s?t(n,e):e[s];e[r++]=a}}}function jb(e){const n=e.tView;return null===n||n.incompleteFirstPass?e.tView=kh(1,null,e.template,e.decls,e.vars,e.directiveDefs,e.pipeDefs,e.viewQuery,e.schemas,e.consts,e.id):n}function kh(e,n,t,i,r,o,s,a,l,c,u){const d=P+i,f=d+r,h=function Mk(e,n){const t=[];for(let i=0;i<n;i++)t.push(i<e?null:U);return t}(d,f),p="function"==typeof c?c():c;return h[S]={type:e,blueprint:h,template:t,queries:null,viewQuery:a,declTNode:n,data:h.slice().fill(null,d),bindingStartIndex:d,expandoStartIndex:f,hostBindingOpCodes:null,firstCreatePass:!0,firstUpdatePass:!0,staticViewQueries:!1,staticContentQueries:!1,preOrderHooks:null,preOrderCheckHooks:null,contentHooks:null,contentCheckHooks:null,viewHooks:null,viewCheckHooks:null,destroyHooks:null,cleanup:null,contentQueries:null,components:null,directiveRegistry:"function"==typeof o?o():o,pipeRegistry:"function"==typeof s?s():s,firstChild:null,schemas:l,consts:p,incompleteFirstPass:!1,ssrId:u}}let Hb=()=>null;function Ub(e,n,t,i,r){for(let o in n){if(!n.hasOwnProperty(o))continue;const s=n[o];if(void 0===s)continue;i??={};let a,l=hi.None;Array.isArray(s)?(a=s[0],l=s[1]):a=s;let c=o;if(null!==r){if(!r.hasOwnProperty(o))continue;c=r[o]}0===e?$b(i,t,c,a,l):$b(i,t,c,a)}return i}function $b(e,n,t,i,r){let o;e.hasOwnProperty(t)?(o=e[t]).push(n,i):o=e[t]=[n,i],void 0!==r&&o.push(r)}function Rh(e,n,t,i){if(Pv()){const r=null===i?null:{"":-1},o=function jk(e,n){const t=e.directiveRegistry;let i=null,r=null;if(t)for(let o=0;o<t.length;o++){const s=t[o];if(ov(n,s.selectors,!1))if(i||(i=[]),cn(s))if(null!==s.findHostDirectiveDefs){const a=[];r=r||new Map,s.findHostDirectiveDefs(s,a,r),i.unshift(...a,s),Fh(e,n,a.length)}else i.unshift(s),Fh(e,n,0);else r=r||new Map,s.findHostDirectiveDefs?.(s,i,r),i.push(s)}return null===i?null:[i,r]}(e,t);let s,a;null===o?s=a=null:[s,a]=o,null!==s&&zb(e,n,t,s,r,a),r&&function Hk(e,n,t){if(n){const i=e.localNames=[];for(let r=0;r<n.length;r+=2){const o=t[n[r+1]];if(null==o)throw new M(-301,!1);i.push(n[r],o)}}}(t,i,r)}t.mergedAttrs=ls(t.mergedAttrs,t.attrs)}function zb(e,n,t,i,r,o){for(let c=0;c<i.length;c++)jf(Ul(t,n),e,i[c].type);!function $k(e,n,t){e.flags|=1,e.directiveStart=n,e.directiveEnd=n+t,e.providerIndexes=n}(t,e.data.length,i.length);for(let c=0;c<i.length;c++){const u=i[c];u.providersResolver&&u.providersResolver(u)}let s=!1,a=!1,l=Rs(e,n,i.length,null);for(let c=0;c<i.length;c++){const u=i[c];t.mergedAttrs=ls(t.mergedAttrs,u.hostAttrs),zk(e,t,n,l,u),Uk(l,u,r),null!==u.contentQueries&&(t.flags|=4),(null!==u.hostBindings||null!==u.hostAttrs||0!==u.hostVars)&&(t.flags|=64);const d=u.type.prototype;!s&&(d.ngOnChanges||d.ngOnInit||d.ngDoCheck)&&((e.preOrderHooks??=[]).push(t.index),s=!0),!a&&(d.ngOnChanges||d.ngDoCheck)&&((e.preOrderCheckHooks??=[]).push(t.index),a=!0),l++}!function Pk(e,n,t){const r=n.directiveEnd,o=e.data,s=n.attrs,a=[];let l=null,c=null;for(let u=n.directiveStart;u<r;u++){const d=o[u],f=t?t.get(d):null,p=f?f.outputs:null;l=Ub(0,d.inputs,u,l,f?f.inputs:null),c=Ub(1,d.outputs,u,c,p);const g=null===l||null===s||sf(n)?null:qk(l,u,s);a.push(g)}null!==l&&(l.hasOwnProperty("class")&&(n.flags|=8),l.hasOwnProperty("style")&&(n.flags|=16)),n.initialInputs=a,n.inputs=l,n.outputs=c}(e,t,o)}function Wb(e,n,t){const i=t.directiveStart,r=t.directiveEnd,o=t.index,s=function rP(){return B.lFrame.currentDirectiveIndex}();try{Xi(o);for(let a=i;a<r;a++){const l=e.data[a],c=n[a];Tf(a),(null!==l.hostBindings||0!==l.hostVars||null!==l.hostAttrs)&&Bk(l,c)}}finally{Xi(-1),Tf(s)}}function Bk(e,n){null!==e.hostBindings&&e.hostBindings(1,n)}function Fh(e,n,t){n.componentOffset=t,(e.components??=[]).push(n.index)}function Uk(e,n,t){if(t){if(n.exportAs)for(let i=0;i<n.exportAs.length;i++)t[n.exportAs[i]]=e;cn(n)&&(t[""]=e)}}function zk(e,n,t,i,r){e.data[i]=r;const o=r.factory||(r.factory=Ui(r.type)),s=new vs(o,cn(r),E);e.blueprint[i]=s,t[i]=s,function Fk(e,n,t,i,r){const o=r.hostBindings;if(o){let s=e.hostBindingOpCodes;null===s&&(s=e.hostBindingOpCodes=[]);const a=~n.index;(function Lk(e){let n=e.length;for(;n>0;){const t=e[--n];if("number"==typeof t&&t<0)return t}return 0})(s)!=a&&s.push(a),s.push(t,i,o)}}(e,n,i,Rs(e,t,r.hostVars,U),r)}function Tn(e,n,t,i,r,o){const s=_t(e,n);!function Lh(e,n,t,i,r,o,s){if(null==o)e.removeAttribute(n,r,t);else{const a=null==s?j(o):s(o,i||"",r);e.setAttribute(n,r,a,t)}}(n[V],s,o,e.value,t,i,r)}function Gk(e,n,t,i,r,o){const s=o[n];if(null!==s)for(let a=0;a<s.length;)Vb(i,t,s[a++],s[a++],s[a++],s[a++])}function qk(e,n,t){let i=null,r=0;for(;r<t.length;){const o=t[r];if(0!==o)if(5!==o){if("number"==typeof o)break;if(e.hasOwnProperty(o)){null===i&&(i=[]);const s=e[o];for(let a=0;a<s.length;a+=3)if(s[a]===n){i.push(o,s[a+1],s[a+2],t[r+1]);break}}r+=2}else r+=2;else r+=4}return i}function Gb(e,n,t,i){return[e,!0,0,n,null,i,null,t,null,null]}function qb(e,n){const t=e.contentQueries;if(null!==t){const i=W(null);try{for(let r=0;r<t.length;r+=2){const s=t[r+1];if(-1!==s){const a=e.data[s];Ll(t[r]),a.contentQueries(2,n[s],s)}}}finally{W(i)}}}function hc(e,n){return e[ds]?e[mv][ln]=n:e[ds]=n,e[mv]=n,n}function Vh(e,n,t){Ll(0);const i=W(null);try{n(e,t)}finally{W(i)}}function Yb(e){return e[qr]??=[]}function Zb(e){return e.cleanup??=[]}function pc(e,n){const t=e[Ue],i=t?t.get(Sn,null):null;i&&i.handleError(n)}function Bh(e,n,t,i,r){for(let o=0;o<t.length;){const s=t[o++],a=t[o++],l=t[o++];Vb(e.data[s],n[s],i,a,l,r)}}function qn(e,n,t){const i=ps(n,e);!function wb(e,n,t){e.setValue(n,t)}(e[V],i,t)}function Yk(e,n){const t=jt(n,e),i=t[S];!function Zk(e,n){for(let t=n.length;t<e.blueprint.length;t++)n.push(e.blueprint[t])}(i,t);const r=t[Me];null!==r&&null===t[vt]&&(t[vt]=sh(r,t[Ue])),jh(i,t,t[ge])}function jh(e,n,t){Pf(n);try{const i=e.viewQuery;null!==i&&Vh(1,i,t);const r=e.template;null!==r&&Bb(e,n,r,1,t),e.firstCreatePass&&(e.firstCreatePass=!1),n[Un]?.finishViewCreation(e),e.staticContentQueries&&qb(e,n),e.staticViewQueries&&Vh(2,e.viewQuery,t);const o=e.components;null!==o&&function Xk(e,n){for(let t=0;t<n.length;t++)Yk(e,n[t])}(n,o)}catch(i){throw e.firstCreatePass&&(e.incompleteFirstPass=!0,e.firstCreatePass=!1),i}finally{n[O]&=-5,Of()}}function ir(e,n){return!n||null===n.firstChild||Cs(e)}function Fs(e,n,t,i,r=!1){for(;null!==t;){if(128===t.type){t=r?t.projectionNext:t.next;continue}const o=n[t.index];null!==o&&i.push(te(o)),lt(o)&&Kb(o,i);const s=t.type;if(8&s)Fs(e,n,t.child,i);else if(32&s){const a=bh(t,n);let l;for(;l=a();)i.push(l)}else if(16&s){const a=Pb(n,t);if(Array.isArray(a))i.push(...a);else{const l=$n(n[Ie]);Fs(l[S],l,a,i,!0)}}t=r?t.projectionNext:t.next}return i}function Kb(e,n){for(let t=ke;t<e.length;t++){const i=e[t],r=i[S].firstChild;null!==r&&Fs(i[S],i,r,n)}e[Cn]!==e[Me]&&n.push(e[Cn])}let Jb=[];const eR={...nl,consumerIsAlwaysLive:!0,consumerMarkedDirty:e=>{kl(e.lView)},consumerOnSignalRead(){this.lView[Qt]=this}},nR={...nl,consumerIsAlwaysLive:!0,consumerMarkedDirty:e=>{let n=$n(e.lView);for(;n&&!eD(n[S]);)n=$n(n);n&&Tv(n)},consumerOnSignalRead(){this.lView[Qt]=this}};function eD(e){return 2!==e.type}const iR=100;function gc(e,n=!0,t=0){const i=e[wn],r=i.rendererFactory;r.begin?.();try{!function rR(e,n){const t=Fv();try{Lv(!0),Uh(e,n);let i=0;for(;Ol(e);){if(i===iR)throw new M(103,!1);i++,Uh(e,1)}}finally{Lv(t)}}(e,t)}catch(s){throw n&&pc(e,s),s}finally{r.end?.(),i.inlineEffectRunner?.flush()}}function oR(e,n,t,i){const r=n[O];if(!(256&~r))return;n[wn].inlineEffectRunner?.flush(),Pf(n);let a=!0,l=null,c=null;eD(e)?(c=function Qk(e){return e[Qt]??function Kk(e){const n=Jb.pop()??Object.create(eR);return n.lView=e,n}(e)}(n),l=il(c)):null===function yy(){return Oe}()?(a=!1,c=function tR(e){const n=e[Qt]??Object.create(nR);return n.lView=e,n}(n),l=il(c)):n[Qt]&&(Td(n[Qt]),n[Qt]=null);try{Sv(n),function Vv(e){return B.lFrame.bindingIndex=e}(e.bindingStartIndex),null!==t&&Bb(e,n,t,2,i);const u=!(3&~r);if(u){const h=e.preOrderCheckHooks;null!==h&&Bl(n,h,null)}else{const h=e.preOrderHooks;null!==h&&jl(n,h,0,null),kf(n,0)}if(function sR(e){for(let n=A_(e);null!==n;n=N_(n)){if(!(n[O]&Nl.HasTransplantedViews))continue;const t=n[Qr];for(let i=0;i<t.length;i++)Tv(t[i])}}(n),nD(n,0),null!==e.contentQueries&&qb(e,n),u){const h=e.contentCheckHooks;null!==h&&Bl(n,h)}else{const h=e.contentHooks;null!==h&&jl(n,h,1),kf(n,1)}!function Ek(e,n){const t=e.hostBindingOpCodes;if(null!==t)try{for(let i=0;i<t.length;i++){const r=t[i];if(r<0)Xi(~r);else{const o=r,s=t[++i],a=t[++i];iP(s,o),a(2,n[o])}}}finally{Xi(-1)}}(e,n);const d=e.components;null!==d&&rD(n,d,0);const f=e.viewQuery;if(null!==f&&Vh(2,f,i),u){const h=e.viewCheckHooks;null!==h&&Bl(n,h)}else{const h=e.viewHooks;null!==h&&jl(n,h,2),kf(n,2)}if(!0===e.firstUpdatePass&&(e.firstUpdatePass=!1),n[Tl]){for(const h of n[Tl])h();n[Tl]=null}n[O]&=-73}catch(u){throw kl(n),u}finally{null!==c&&(xd(c,l),a&&function Jk(e){e.lView[Qt]!==e&&(e.lView=null,Jb.push(e))}(c)),Of()}}function nD(e,n){for(let t=A_(e);null!==t;t=N_(t))for(let i=ke;i<t.length;i++)iD(t[i],n)}function aR(e,n,t){iD(jt(n,e),t)}function iD(e,n){Cf(e)&&Uh(e,n)}function Uh(e,n){const i=e[S],r=e[O],o=e[Qt];let s=!!(0===n&&16&r);if(s||=!!(64&r&&0===n),s||=!!(1024&r),s||=!(!o?.dirty||!Sd(o)),s||=!1,o&&(o.dirty=!1),e[O]&=-9217,s)oR(i,e,i.template,e[ge]);else if(8192&r){nD(e,1);const a=i.components;null!==a&&rD(e,a,1)}}function rD(e,n,t){for(let i=0;i<n.length;i++)aR(e,n[i],t)}function Ls(e,n){const t=Fv()?64:1088;for(e[wn].changeDetectionScheduler?.notify(n);e;){e[O]|=t;const i=$n(e);if(hs(e)&&!i)return e;e=i}return null}class Vs{get rootNodes(){const n=this._lView,t=n[S];return Fs(t,n,t.firstChild,[])}constructor(n,t,i=!0){this._lView=n,this._cdRefInjectingView=t,this.notifyErrorHandler=i,this._appRef=null,this._attachedToViewContainer=!1}get context(){return this._lView[ge]}set context(n){this._lView[ge]=n}get destroyed(){return!(256&~this._lView[O])}destroy(){if(this._appRef)this._appRef.detachView(this);else if(this._attachedToViewContainer){const n=this._lView[He];if(lt(n)){const t=n[8],i=t?t.indexOf(this):-1;i>-1&&(Os(n,i),bl(t,i))}this._attachedToViewContainer=!1}cc(this._lView[S],this._lView)}onDestroy(n){Rl(this._lView,n)}markForCheck(){Ls(this._cdRefInjectingView||this._lView,4)}detach(){this._lView[O]&=-129}reattach(){Ef(this._lView),this._lView[O]|=128}detectChanges(){this._lView[O]|=1024,gc(this._lView,this.notifyErrorHandler)}checkNoChanges(){}attachToViewContainerRef(){if(this._appRef)throw new M(902,!1);this._attachedToViewContainer=!0}detachFromAppRef(){this._appRef=null;const n=hs(this._lView),t=this._lView[Gi];null!==t&&!n&&Ch(t,this._lView),Cb(this._lView[S],this._lView)}attachToAppRef(n){if(this._attachedToViewContainer)throw new M(902,!1);this._appRef=n;const t=hs(this._lView),i=this._lView[Gi];null!==i&&!t&&Eb(i,this._lView),Ef(this._lView)}}let Yn=(()=>{class e{static{this.__NG_ELEMENT_ID__=uR}}return e})();const lR=Yn,cR=class extends lR{constructor(n,t,i){super(),this._declarationLView=n,this._declarationTContainer=t,this.elementRef=i}get ssrId(){return this._declarationTContainer.tView?.ssrId||null}createEmbeddedView(n,t){return this.createEmbeddedViewImpl(n,t)}createEmbeddedViewImpl(n,t,i){const r=function uo(e,n,t,i){const r=W(null);try{const o=n.tView,l=fc(e,o,t,4096&e[O]?4096:16,null,n,null,null,i?.injector??null,i?.embeddedViewInjector??null,i?.dehydratedView??null);l[Gi]=e[n.index];const u=e[Un];return null!==u&&(l[Un]=u.createEmbeddedView(o)),jh(o,l,t),l}finally{W(r)}}(this._declarationLView,this._declarationTContainer,n,{embeddedViewInjector:t,dehydratedView:i});return new Vs(r)}};function uR(){return mc(le(),C())}function mc(e,n){return 4&e.type?new cR(n,e,to(e,n)):null}class po{}const Gs=new T("",{providedIn:"root",factory:()=>!1}),ID=new T(""),Jh=new T("");class n1{}class xD{}class r1{resolveComponentFactory(n){throw function i1(e){const n=Error(`No component factory found for ${Ge(e)}.`);return n.ngComponent=e,n}(n)}}class wc{static{this.NULL=new r1}}class ep{}let sr=(()=>{class e{constructor(){this.destroyNode=null}static{this.__NG_ELEMENT_ID__=()=>function o1(){const e=C(),t=jt(le().index,e);return(Ze(t)?t:e)[V]}()}}return e})(),s1=(()=>{class e{static{this.\u0275prov=R({token:e,providedIn:"root",factory:()=>null})}}return e})();function Ec(e,n,t){let i=t?e.styles:null,r=t?e.classes:null,o=0;if(null!==n)for(let s=0;s<n.length;s++){const a=n[s];"number"==typeof a?o=a:1==o?r=Bd(r,a):2==o&&(i=Bd(i,a+": "+n[++s]+";"))}t?e.styles=i:e.stylesWithoutHost=i,t?e.classes=r:e.classesWithoutHost=r}class ND extends wc{constructor(n){super(),this.ngModule=n}resolveComponentFactory(n){const t=Y(n);return new Zs(t,this.ngModule)}}function PD(e,n){const t=[];for(const i in e){if(!e.hasOwnProperty(i))continue;const r=e[i];if(void 0===r)continue;const o=Array.isArray(r),s=o?r[0]:r;t.push(n?{propName:s,templateName:i,isSignal:!!((o?r[1]:hi.None)&hi.SignalBased)}:{propName:s,templateName:i})}return t}class Zs extends xD{get inputs(){const n=this.componentDef,t=n.inputTransforms,i=PD(n.inputs,!0);if(null!==t)for(const r of i)t.hasOwnProperty(r.propName)&&(r.transform=t[r.propName]);return i}get outputs(){return PD(this.componentDef.outputs,!1)}constructor(n,t){super(),this.componentDef=n,this.ngModule=t,this.componentType=n.type,this.selector=function hN(e){return e.map(fN).join(",")}(n.selectors),this.ngContentSelectors=n.ngContentSelectors?n.ngContentSelectors:[],this.isBoundToModule=!!t}create(n,t,i,r){const o=W(null);try{let s=(r=r||this.ngModule)instanceof Xt?r:r?.injector;s&&null!==this.componentDef.getStandaloneInjector&&(s=this.componentDef.getStandaloneInjector(s)||s);const a=s?new Qi(n,s):n,l=a.get(ep,null);if(null===l)throw new M(407,!1);const d={rendererFactory:l,sanitizer:a.get(s1,null),inlineEffectRunner:null,changeDetectionScheduler:a.get(po,null)},f=l.createRenderer(null,this.componentDef),h=this.componentDef.selectors[0][0]||"div",p=i?function Ik(e,n,t,i){const o=i.get(X_,!1)||t===sn.ShadowDom,s=e.selectRootElement(n,o);return function xk(e){Hb(e)}(s),s}(f,i,this.componentDef.encapsulation,a):lc(f,h,function c1(e){const n=e.toLowerCase();return"svg"===n?"svg":"math"===n?"math":null}(h));let g=512;this.componentDef.signals?g|=4096:this.componentDef.onPush||(g|=16);let m=null;null!==p&&(m=sh(p,a,!0));const v=kh(0,null,null,1,0,null,null,null,null,null,null),y=fc(null,v,null,g,null,null,d,f,a,null,m);Pf(y);let _,D,b=null;try{const w=this.componentDef;let I,x=null;w.findHostDirectiveDefs?(I=[],x=new Map,w.findHostDirectiveDefs(w,I,x),I.push(w)):I=[w];const N=function d1(e,n){const t=e[S],i=P;return e[i]=n,nr(t,i,2,"#host",null)}(y,p);b=function f1(e,n,t,i,r,o,s){const a=r[S];!function h1(e,n,t,i){for(const r of e)n.mergedAttrs=ls(n.mergedAttrs,r.hostAttrs);null!==n.mergedAttrs&&(Ec(n,n.mergedAttrs,!0),null!==t&&Fb(i,t,n))}(i,e,n,s);let l=null;null!==n&&(l=sh(n,r[Ue]));const c=o.rendererFactory.createRenderer(n,t);let u=16;t.signals?u=4096:t.onPush&&(u=64);const d=fc(r,jb(t),null,u,r[e.index],e,o,c,null,null,l);return a.firstCreatePass&&Fh(a,e,i.length-1),hc(r,d),r[e.index]=d}(N,p,w,I,y,d,f),D=gs(v,P),p&&function g1(e,n,t,i){if(i)rf(e,t,["ng-version","18.2.12"]);else{const{attrs:r,classes:o}=function pN(e){const n=[],t=[];let i=1,r=2;for(;i<e.length;){let o=e[i];if("string"==typeof o)2===r?""!==o&&n.push(o,e[++i]):8===r&&t.push(o);else{if(!an(r))break;r=o}i++}return{attrs:n,classes:t}}(n.selectors[0]);r&&rf(e,t,r),o&&o.length>0&&Rb(e,t,o.join(" "))}}(f,w,p,i),void 0!==t&&function m1(e,n,t){const i=e.projection=[];for(let r=0;r<n.length;r++){const o=t[r];i.push(null!=o?Array.from(o):null)}}(D,this.ngContentSelectors,t),_=function p1(e,n,t,i,r,o){const s=le(),a=r[S],l=_t(s,r);zb(a,r,s,t,null,i);for(let u=0;u<t.length;u++)dt(Ki(r,a,s.directiveStart+u,s),r);Wb(a,r,s),l&&dt(l,r);const c=Ki(r,a,s.directiveStart+s.componentOffset,s);if(e[ge]=r[ge]=c,null!==o)for(const u of o)u(c,n);return Nh(a,s,r),c}(b,w,I,x,y,[y1]),jh(v,y,null)}catch(w){throw null!==b&&Qf(b),Qf(y),w}finally{Of()}return new u1(this.componentType,_,to(D,y),y,D)}finally{W(o)}}}class u1 extends n1{constructor(n,t,i,r,o){super(),this.location=i,this._rootLView=r,this._tNode=o,this.previousInputValues=null,this.instance=t,this.hostView=this.changeDetectorRef=new Vs(r,void 0,!1),this.componentType=n}setInput(n,t){const i=this._tNode.inputs;let r;if(null!==i&&(r=i[n])){if(this.previousInputValues??=new Map,this.previousInputValues.has(n)&&Object.is(this.previousInputValues.get(n),t))return;const o=this._rootLView;Bh(o[S],o,r,n,t),this.previousInputValues.set(n,t),Ls(jt(this._tNode.index,o),1)}}get injector(){return new Xe(this._tNode,this._rootLView)}destroy(){this.hostView.destroy()}onDestroy(n){this.hostView.onDestroy(n)}}function y1(){const e=le();Vl(C()[S],e)}let An=(()=>{class e{static{this.__NG_ELEMENT_ID__=v1}}return e})();function v1(){return RD(le(),C())}const _1=An,OD=class extends _1{constructor(n,t,i){super(),this._lContainer=n,this._hostTNode=t,this._hostLView=i}get element(){return to(this._hostTNode,this._hostLView)}get injector(){return new Xe(this._hostTNode,this._hostLView)}get parentInjector(){const n=$l(this._hostTNode,this._hostLView);if(Lf(n)){const t=bs(n,this._hostLView),i=_s(n);return new Xe(t[S].data[i+8],t)}return new Xe(null,this._hostLView)}clear(){for(;this.length>0;)this.remove(this.length-1)}get(n){const t=kD(this._lContainer);return null!==t&&t[n]||null}get length(){return this._lContainer.length-ke}createEmbeddedView(n,t,i){let r,o;"number"==typeof i?r=i:null!=i&&(r=i.index,o=i.injector);const a=n.createEmbeddedViewImpl(t||{},o,null);return this.insertImpl(a,r,ir(this._hostTNode,null)),a}createComponent(n,t,i,r,o){const s=n&&!function us(e){return"function"==typeof e}(n);let a;if(s)a=t;else{const p=t||{};a=p.index,i=p.injector,r=p.projectableNodes,o=p.environmentInjector||p.ngModuleRef}const l=s?n:new Zs(Y(n)),c=i||this.parentInjector;if(!o&&null==l.ngModule){const g=(s?c:this.parentInjector).get(Xt,null);g&&(o=g)}Y(l.componentType??{});const h=l.create(c,r,null,o);return this.insertImpl(h.hostView,a,ir(this._hostTNode,null)),h}insert(n,t){return this.insertImpl(n,t,!0)}insertImpl(n,t,i){const r=n._lView;if(function qN(e){return lt(e[He])}(r)){const a=this.indexOf(n);if(-1!==a)this.detach(a);else{const l=r[He],c=new OD(l,l[it],l[He]);c.detach(c.indexOf(n))}}const o=this._adjustIndex(t),s=this._lContainer;return function fo(e,n,t,i=!0){const r=n[S];if(function gk(e,n,t,i){const r=ke+i,o=t.length;i>0&&(t[r-1][ln]=n),i<o-ke?(n[ln]=t[r],Qy(t,ke+i,n)):(t.push(n),n[ln]=null),n[He]=t;const s=n[Gi];null!==s&&t!==s&&Eb(s,n);const a=n[Un];null!==a&&a.insertView(e),Ef(n),n[O]|=128}(r,n,e,t),i){const s=Sh(t,e),a=n[V],l=Ih(a,e[Cn]);null!==l&&function hk(e,n,t,i,r,o){i[Me]=r,i[it]=n,dc(e,i,t,1,r,o)}(r,e[it],a,n,l,s)}const o=n[vt];null!==o&&null!==o.firstChild&&(o.firstChild=null)}(s,r,o,i),n.attachToViewContainerRef(),Qy(ip(s),o,n),n}move(n,t){return this.insert(n,t)}indexOf(n){const t=kD(this._lContainer);return null!==t?t.indexOf(n):-1}remove(n){const t=this._adjustIndex(n,-1),i=Os(this._lContainer,t);i&&(bl(ip(this._lContainer),t),cc(i[S],i))}detach(n){const t=this._adjustIndex(n,-1),i=Os(this._lContainer,t);return i&&null!=bl(ip(this._lContainer),t)?new Vs(i):null}_adjustIndex(n,t=0){return n??this.length+t}};function kD(e){return e[8]}function ip(e){return e[8]||(e[8]=[])}function RD(e,n){let t;const i=n[e.index];return lt(i)?t=i:(t=Gb(i,n,null,e),n[e.index]=t,hc(n,t)),FD(t,n,e,i),new OD(t,e,n)}let FD=function VD(e,n,t,i){if(e[Cn])return;let r;r=8&t.type?te(i):function b1(e,n){const t=e[V],i=t.createComment(""),r=_t(n,e);return er(t,Ih(t,r),i,function vk(e,n){return e.nextSibling(n)}(t,r),!1),i}(n,t),e[Cn]=r},rp=()=>!1;class op{constructor(n){this.queryList=n,this.matches=null}clone(){return new op(this.queryList)}setDirty(){this.queryList.setDirty()}}class sp{constructor(n=[]){this.queries=n}createEmbeddedView(n){const t=n.queries;if(null!==t){const i=null!==n.contentQueries?n.contentQueries[0]:t.length,r=[];for(let o=0;o<i;o++){const s=t.getByIndex(o);r.push(this.queries[s.indexInDeclarationView].clone())}return new sp(r)}return null}insertView(n){this.dirtyQueriesWithMatches(n)}detachView(n){this.dirtyQueriesWithMatches(n)}finishViewCreation(n){this.dirtyQueriesWithMatches(n)}dirtyQueriesWithMatches(n){for(let t=0;t<this.queries.length;t++)null!==dp(n,t).matches&&this.queries[t].setDirty()}}class BD{constructor(n,t,i=null){this.flags=t,this.read=i,this.predicate="string"==typeof n?function S1(e){return e.split(",").map(n=>n.trim())}(n):n}}class ap{constructor(n=[]){this.queries=n}elementStart(n,t){for(let i=0;i<this.queries.length;i++)this.queries[i].elementStart(n,t)}elementEnd(n){for(let t=0;t<this.queries.length;t++)this.queries[t].elementEnd(n)}embeddedTView(n){let t=null;for(let i=0;i<this.length;i++){const r=null!==t?t.length:0,o=this.getByIndex(i).embeddedTView(n,r);o&&(o.indexInDeclarationView=i,null!==t?t.push(o):t=[o])}return null!==t?new ap(t):null}template(n,t){for(let i=0;i<this.queries.length;i++)this.queries[i].template(n,t)}getByIndex(n){return this.queries[n]}get length(){return this.queries.length}track(n){this.queries.push(n)}}class lp{constructor(n,t=-1){this.metadata=n,this.matches=null,this.indexInDeclarationView=-1,this.crossesNgTemplate=!1,this._appliesToNextNode=!0,this._declarationNodeIndex=t}elementStart(n,t){this.isApplyingToNode(t)&&this.matchTNode(n,t)}elementEnd(n){this._declarationNodeIndex===n.index&&(this._appliesToNextNode=!1)}template(n,t){this.elementStart(n,t)}embeddedTView(n,t){return this.isApplyingToNode(n)?(this.crossesNgTemplate=!0,this.addMatch(-n.index,t),new lp(this.metadata)):null}isApplyingToNode(n){if(this._appliesToNextNode&&1&~this.metadata.flags){const t=this._declarationNodeIndex;let i=n.parent;for(;null!==i&&8&i.type&&i.index!==t;)i=i.parent;return t===(null!==i?i.index:-1)}return this._appliesToNextNode}matchTNode(n,t){const i=this.metadata.predicate;if(Array.isArray(i))for(let r=0;r<i.length;r++){const o=i[r];this.matchTNodeWithReadOption(n,t,E1(t,o)),this.matchTNodeWithReadOption(n,t,zl(t,n,o,!1,!1))}else i===Yn?4&t.type&&this.matchTNodeWithReadOption(n,t,-1):this.matchTNodeWithReadOption(n,t,zl(t,n,i,!1,!1))}matchTNodeWithReadOption(n,t,i){if(null!==i){const r=this.metadata.read;if(null!==r)if(r===Tt||r===An||r===Yn&&4&t.type)this.addMatch(t.index,-2);else{const o=zl(t,n,r,!1,!1);null!==o&&this.addMatch(t.index,o)}else this.addMatch(t.index,i)}}addMatch(n,t){null===this.matches?this.matches=[n,t]:this.matches.push(n,t)}}function E1(e,n){const t=e.localNames;if(null!==t)for(let i=0;i<t.length;i+=2)if(t[i]===n)return t[i+1];return null}function I1(e,n,t,i){return-1===t?function M1(e,n){return 11&e.type?to(e,n):4&e.type?mc(e,n):null}(n,e):-2===t?function x1(e,n,t){return t===Tt?to(n,e):t===Yn?mc(n,e):t===An?RD(n,e):void 0}(e,n,i):Ki(e,e[S],t,n)}function jD(e,n,t,i){const r=n[Un].queries[i];if(null===r.matches){const o=e.data,s=t.matches,a=[];for(let l=0;null!==s&&l<s.length;l+=2){const c=s[l];a.push(c<0?null:I1(n,o[c],s[l+1],t.metadata.read))}r.matches=a}return r.matches}function cp(e,n,t,i){const r=e.queries.getByIndex(t),o=r.matches;if(null!==o){const s=jD(e,n,r,t);for(let a=0;a<o.length;a+=2){const l=o[a];if(l>0)i.push(s[a/2]);else{const c=o[a+1],u=n[-l];for(let d=ke;d<u.length;d++){const f=u[d];f[Gi]===f[He]&&cp(f[S],f,c,i)}if(null!==u[Qr]){const d=u[Qr];for(let f=0;f<d.length;f++){const h=d[f];cp(h[S],h,c,i)}}}}}return i}function UD(e,n,t){const i=G();return i.firstCreatePass&&(function zD(e,n,t){null===e.queries&&(e.queries=new ap),e.queries.track(new lp(n,t))}(i,new BD(e,n,t),-1),!(2&~n)&&(i.staticViewQueries=!0)),function HD(e,n,t){const i=new Yf(!(4&~t));return function Ak(e,n,t,i){const r=Yb(n);r.push(t),e.firstCreatePass&&Zb(e).push(i,r.length-1)}(e,n,i,i.destroy),(n[Un]??=new sp).queries.push(new op(i))-1}(i,C(),n)}function dp(e,n){return e.queries.getByIndex(n)}function WD(e,n){const t=e[S],i=dp(t,n);return i.crossesNgTemplate?cp(t,e,n,[]):jD(t,e,i,n)}const GD=new Set;function Dt(e){GD.has(e)||(GD.add(e),performance?.mark?.("mark_feature_usage",{detail:{feature:e}}))}function go(e,n){Dt("NgSignals");const t=function gA(e){const n=Object.create(yA);n.value=e;const t=()=>(Id(n),n.value);return t[rn]=n,t}(e),i=t[rn];return n?.equal&&(i.equal=n.equal),t.set=r=>xy(i,r),t.update=r=>function mA(e,n){by()||Iy(),xy(e,n(e.value))}(i,r),t.asReadonly=YD.bind(t),t}function YD(){const e=this[rn];if(void 0===e.readonlyFn){const n=()=>this();n[rn]=e,e.readonlyFn=n}return e.readonlyFn}function ce(e){let n=function sw(e){return Object.getPrototypeOf(e.prototype).constructor}(e.type),t=!0;const i=[e];for(;n;){let r;if(cn(e))r=n.\u0275cmp||n.\u0275dir;else{if(n.\u0275cmp)throw new M(903,!1);r=n.\u0275dir}if(r){if(t){i.push(r);const s=e;s.inputs=Ic(e.inputs),s.inputTransforms=Ic(e.inputTransforms),s.declaredInputs=Ic(e.declaredInputs),s.outputs=Ic(e.outputs);const a=r.hostBindings;a&&$1(e,a);const l=r.viewQuery,c=r.contentQueries;if(l&&H1(e,l),c&&U1(e,c),B1(e,r),kA(e.outputs,r.outputs),cn(r)&&r.data.animation){const u=e.data;u.animation=(u.animation||[]).concat(r.data.animation)}}const o=r.features;if(o)for(let s=0;s<o.length;s++){const a=o[s];a&&a.ngInherit&&a(e),a===ce&&(t=!1)}}n=Object.getPrototypeOf(n)}!function j1(e){let n=0,t=null;for(let i=e.length-1;i>=0;i--){const r=e[i];r.hostVars=n+=r.hostVars,r.hostAttrs=ls(r.hostAttrs,t=ls(t,r.hostAttrs))}}(i)}function B1(e,n){for(const t in n.inputs){if(!n.inputs.hasOwnProperty(t)||e.inputs.hasOwnProperty(t))continue;const i=n.inputs[t];if(void 0!==i&&(e.inputs[t]=i,e.declaredInputs[t]=n.declaredInputs[t],null!==n.inputTransforms)){const r=Array.isArray(i)?i[0]:i;if(!n.inputTransforms.hasOwnProperty(r))continue;e.inputTransforms??={},e.inputTransforms[r]=n.inputTransforms[r]}}}function Ic(e){return e===Dn?{}:e===ee?[]:e}function H1(e,n){const t=e.viewQuery;e.viewQuery=t?(i,r)=>{n(i,r),t(i,r)}:n}function U1(e,n){const t=e.contentQueries;e.contentQueries=t?(i,r,o)=>{n(i,r,o),t(i,r,o)}:n}function $1(e,n){const t=e.hostBindings;e.hostBindings=t?(i,r)=>{n(i,r),t(i,r)}:n}class lr{}class X1{}class pp extends lr{constructor(n,t,i,r=!0){super(),this.ngModuleType=n,this._parent=t,this._bootstrapComponents=[],this.destroyCbs=[],this.componentFactoryResolver=new ND(this);const o=function at(e,n){const t=e[Wy]||null;if(!t&&!0===n)throw new Error(`Type ${Ge(e)} does not have '\u0275mod' property.`);return t}(n);this._bootstrapComponents=function $t(e){return e instanceof Function?e():e}(o.bootstrap),this._r3Injector=d_(n,t,[{provide:lr,useValue:this},{provide:wc,useValue:this.componentFactoryResolver},...i],Ge(n),new Set(["environment"])),r&&this.resolveInjectorInitializers()}resolveInjectorInitializers(){this._r3Injector.resolveInjectorInitializers(),this.instance=this._r3Injector.get(this.ngModuleType)}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 gp extends X1{constructor(n){super(),this.moduleType=n}create(n){return new pp(this.moduleType,n,[])}}function xc(e){return!!function mp(e){return null!==e&&("function"==typeof e||"object"==typeof e)}(e)&&(Array.isArray(e)||!(e instanceof Map)&&Symbol.iterator in e)}function Fe(e,n,t){return!Object.is(e[n],t)&&(e[n]=t,!0)}function cr(e,n,t,i){const r=Fe(e,n,t);return Fe(e,n+1,i)||r}function Ks(e,n,t,i,r,o,s,a,l,c){const u=t+P,d=n.firstCreatePass?function iF(e,n,t,i,r,o,s,a,l){const c=n.consts,u=nr(n,e,4,s||null,a||null);Rh(n,t,u,Kt(c,l)),Vl(n,u);const d=u.tView=kh(2,u,i,r,o,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,n,e,i,r,o,s,a,l):n.data[u];un(d,!1);const f=hw(n,e,d,t);ys()&&uc(n,e,f,d),dt(f,e);const h=Gb(f,e,f,d);return e[u]=h,hc(e,h),function LD(e,n,t){return rp(e,n,t)}(h,d,e),Pl(d)&&Ph(n,e,d),null!=l&&Oh(e,d,c),d}function Tc(e,n,t,i,r,o,s,a){const l=C(),c=G();return Ks(l,c,e,n,t,i,r,Kt(c.consts,o),s,a),Tc}let hw=function pw(e,n,t,i){return In(!0),n[V].createComment("")};var _o=function(e){return e[e.EarlyRead=0]="EarlyRead",e[e.Write=1]="Write",e[e.MixedReadWrite=2]="MixedReadWrite",e[e.Read=3]="Read",e}(_o||{});let bw=(()=>{class e{constructor(){this.impl=null}execute(){this.impl?.execute()}static{this.\u0275prov=R({token:e,providedIn:"root",factory:()=>new e})}}return e})();class ta{constructor(){this.ngZone=A(se),this.scheduler=A(po),this.errorHandler=A(Sn,{optional:!0}),this.sequences=new Set,this.deferredRegistrations=new Set,this.executing=!1}static{this.PHASES=[_o.EarlyRead,_o.Write,_o.MixedReadWrite,_o.Read]}execute(){this.executing=!0;for(const n of ta.PHASES)for(const t of this.sequences)if(!t.erroredOrDestroyed&&t.hooks[n])try{t.pipelinedValue=this.ngZone.runOutsideAngular(()=>t.hooks[n](t.pipelinedValue))}catch(i){t.erroredOrDestroyed=!0,this.errorHandler?.handleError(i)}this.executing=!1;for(const n of this.sequences)n.afterRun(),n.once&&(this.sequences.delete(n),n.destroy());for(const n of this.deferredRegistrations)this.sequences.add(n);this.deferredRegistrations.size>0&&this.scheduler.notify(7),this.deferredRegistrations.clear()}register(n){this.executing?this.deferredRegistrations.add(n):(this.sequences.add(n),this.scheduler.notify(6))}unregister(n){this.executing&&this.sequences.has(n)?(n.erroredOrDestroyed=!0,n.pipelinedValue=void 0,n.once=!0):(this.sequences.delete(n),this.deferredRegistrations.delete(n))}static{this.\u0275prov=R({token:ta,providedIn:"root",factory:()=>new ta})}}function fn(e,n,t,i){const r=C();return Fe(r,dn(),n)&&(G(),Tn(me(),r,e,n,t,i)),fn}function To(e,n,t,i,r,o,s,a,l,c){const d=function Jt(e,n,t,i,r,o){const s=cr(e,n,t,i);return cr(e,n+2,r,o)||s}(e,function zn(){return B.lFrame.bindingIndex}(),t,r,s,l);return Wn(4),d?n+j(t)+i+j(r)+o+j(s)+a+j(l)+c:U}function Rc(e,n){return e<<17|n<<2}function wi(e){return e>>17&32767}function Sp(e){return 2|e}function dr(e){return(131068&e)>>2}function Tp(e,n){return-131069&e|n<<2}function Ap(e){return 1|e}function Yw(e,n,t,i){const r=e[t+1],o=null===n;let s=i?wi(r):dr(r),a=!1;for(;0!==s&&(!1===a||o);){const c=e[s+1];WF(e[s],n)&&(a=!0,e[s+1]=i?Ap(c):Sp(c)),s=i?wi(c):dr(c)}a&&(e[t+1]=i?Sp(r):Ap(r))}function WF(e,n){return null===e||null==n||(Array.isArray(e)?e[1]:e)===n||!(!Array.isArray(e)||"string"!=typeof n)&&$r(e,n)>=0}function $e(e,n,t){const i=C();return Fe(i,dn(),n)&&function Nt(e,n,t,i,r,o,s,a){const l=_t(n,t);let u,c=n.inputs;!a&&null!=c&&(u=c[i])?(Bh(e,t,u,i,r),qi(n)&&function kk(e,n){const t=jt(n,e);16&t[O]||(t[O]|=64)}(t,n.index)):3&n.type&&(i=function Ok(e){return"class"===e?"className":"for"===e?"htmlFor":"formaction"===e?"formAction":"innerHtml"===e?"innerHTML":"readonly"===e?"readOnly":"tabindex"===e?"tabIndex":e}(i),r=null!=s?s(r,n.value||"",i):r,o.setProperty(l,i,r))}(G(),me(),i,e,n,i[V],t,!1),$e}function Np(e,n,t,i,r){const s=r?"class":"style";Bh(e,t,n.inputs[s],s,i)}function Fc(e,n){return function hn(e,n,t,i){const r=C(),o=G(),s=Wn(2);o.firstUpdatePass&&function iC(e,n,t,i){const r=e.data;if(null===r[t+1]){const o=r[rt()],s=function nC(e,n){return n>=e.expandoStartIndex}(e,t);(function aC(e,n){return!!(e.flags&(n?8:16))})(o,i)&&null===n&&!s&&(n=!1),n=function eL(e,n,t,i){const r=function Af(e){const n=B.lFrame.currentDirectiveIndex;return-1===n?null:e[n]}(e);let o=i?n.residualClasses:n.residualStyles;if(null===r)0===(i?n.classBindings:n.styleBindings)&&(t=ia(t=Pp(null,e,n,t,i),n.attrs,i),o=null);else{const s=n.directiveStylingLast;if(-1===s||e[s]!==r)if(t=Pp(r,e,n,t,i),null===o){let l=function tL(e,n,t){const i=t?n.classBindings:n.styleBindings;if(0!==dr(i))return e[wi(i)]}(e,n,i);void 0!==l&&Array.isArray(l)&&(l=Pp(null,e,n,l[1],i),l=ia(l,n.attrs,i),function nL(e,n,t,i){e[wi(t?n.classBindings:n.styleBindings)]=i}(e,n,i,l))}else o=function iL(e,n,t){let i;const r=n.directiveEnd;for(let o=1+n.directiveStylingLast;o<r;o++)i=ia(i,e[o].hostAttrs,t);return ia(i,n.attrs,t)}(e,n,i)}return void 0!==o&&(i?n.residualClasses=o:n.residualStyles=o),t}(r,o,n,i),function $F(e,n,t,i,r,o){let s=o?n.classBindings:n.styleBindings,a=wi(s),l=dr(s);e[i]=t;let u,c=!1;if(Array.isArray(t)?(u=t[1],(null===u||$r(t,u)>0)&&(c=!0)):u=t,r)if(0!==l){const f=wi(e[a+1]);e[i+1]=Rc(f,a),0!==f&&(e[f+1]=Tp(e[f+1],i)),e[a+1]=function HF(e,n){return 131071&e|n<<17}(e[a+1],i)}else e[i+1]=Rc(a,0),0!==a&&(e[a+1]=Tp(e[a+1],i)),a=i;else e[i+1]=Rc(l,0),0===a?a=i:e[l+1]=Tp(e[l+1],i),l=i;c&&(e[i+1]=Sp(e[i+1])),Yw(e,u,i,!0),Yw(e,u,i,!1),function zF(e,n,t,i,r){const o=r?e.residualClasses:e.residualStyles;null!=o&&"string"==typeof n&&$r(o,n)>=0&&(t[i+1]=Ap(t[i+1]))}(n,u,e,i,o),s=Rc(a,l),o?n.classBindings=s:n.styleBindings=s}(r,o,n,t,s,i)}}(o,e,s,i),n!==U&&Fe(r,s,n)&&function oC(e,n,t,i,r,o,s,a){if(!(3&n.type))return;const l=e.data,c=l[a+1],u=function UF(e){return!(1&~e)}(c)?sC(l,n,t,r,dr(c),s):void 0;Lc(u)||(Lc(o)||function jF(e){return!(2&~e)}(c)&&(o=sC(l,null,t,r,a,s)),function Dk(e,n,t,i,r){if(n)r?e.addClass(t,i):e.removeClass(t,i);else{let o=-1===i.indexOf("-")?void 0:_i.DashCase;null==r?e.removeStyle(t,i,o):("string"==typeof r&&r.endsWith("!important")&&(r=r.slice(0,-10),o|=_i.Important),e.setStyle(t,i,r,o))}}(i,s,ps(rt(),t),r,o))}(o,o.data[rt()],r,r[V],e,r[s+1]=function aL(e,n){return null==e||""===e||("string"==typeof n?e+=n:"object"==typeof e&&(e=Ge(function vi(e){return e instanceof nb?e.changingThisBreaksApplicationSecurity:e}(e)))),e}(n,t),i,s)}(e,n,null,!0),Fc}function Pp(e,n,t,i,r){let o=null;const s=t.directiveEnd;let a=t.directiveStylingLast;for(-1===a?a=t.directiveStart:a++;a<s&&(o=n[a],i=ia(i,o.hostAttrs,r),o!==e);)a++;return null!==e&&(t.directiveStylingLast=a),i}function ia(e,n,t){const i=t?1:2;let r=-1;if(null!==n)for(let o=0;o<n.length;o++){const s=n[o];"number"==typeof s?r=s:r===i&&(Array.isArray(e)||(e=void 0===e?[]:["",e]),Bt(e,s,!!t||n[++o]))}return void 0===e?null:e}function sC(e,n,t,i,r,o){const s=null===n;let a;for(;r>0;){const l=e[r],c=Array.isArray(l),u=c?l[1]:l,d=null===u;let f=t[r+1];f===U&&(f=d?ee:void 0);let h=d?tf(f,i):u===i?f:void 0;if(c&&!Lc(h)&&(h=tf(l,i)),Lc(h)&&(a=h,s))return a;const p=e[r+1];r=s?wi(p):dr(p)}if(null!==n){let l=o?n.residualClasses:n.residualStyles;null!=l&&(a=tf(l,i))}return a}function Lc(e){return void 0!==e}function Z(e,n,t,i){const r=C(),o=G(),s=P+e,a=r[V],l=o.firstCreatePass?function AL(e,n,t,i,r,o){const s=n.consts,l=nr(n,e,2,i,Kt(s,r));return Rh(n,t,l,Kt(s,o)),null!==l.attrs&&Ec(l,l.attrs,!1),null!==l.mergedAttrs&&Ec(l,l.mergedAttrs,!0),null!==n.queries&&n.queries.elementStart(n,l),l}(s,o,r,n,t,i):o.data[s],c=dC(o,r,l,a,n,e);r[s]=c;const u=Pl(l);return un(l,!0),Fb(a,c,l),!function yo(e){return!(32&~e.flags)}(l)&&ys()&&uc(o,r,c,l),0===function YN(){return B.lFrame.elementDepthCount}()&&dt(c,r),function ZN(){B.lFrame.elementDepthCount++}(),u&&(Ph(o,r,l),Nh(o,l,r)),null!==i&&Oh(r,l),Z}function Q(){let e=le();xf()?function Sf(){B.lFrame.isParent=!1}():(e=e.parent,un(e,!1));const n=e;(function QN(e){return B.skipHydrationRootTNode===e})(n)&&function tP(){B.skipHydrationRootTNode=null}(),function XN(){B.lFrame.elementDepthCount--}();const t=G();return t.firstCreatePass&&(Vl(t,e),vf(e)&&t.queries.elementEnd(e)),null!=n.classesWithoutHost&&function gP(e){return!!(8&e.flags)}(n)&&Np(t,n,C(),n.classesWithoutHost,!0),null!=n.stylesWithoutHost&&function mP(e){return!!(16&e.flags)}(n)&&Np(t,n,C(),n.stylesWithoutHost,!1),Q}function Ro(e,n,t,i){return Z(e,n,t,i),Q(),Ro}let dC=(e,n,t,i,r,o)=>(In(!0),lc(i,r,function Wv(){return B.lFrame.currentNamespace}()));function Vp(){return C()}const fr=void 0;var LL=["en",[["a","p"],["AM","PM"],fr],[["AM","PM"],fr,fr],[["S","M","T","W","T","F","S"],["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],["Su","Mo","Tu","We","Th","Fr","Sa"]],fr,[["J","F","M","A","M","J","J","A","S","O","N","D"],["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],["January","February","March","April","May","June","July","August","September","October","November","December"]],fr,[["B","A"],["BC","AD"],["Before Christ","Anno Domini"]],0,[6,0],["M/d/yy","MMM d, y","MMMM d, y","EEEE, MMMM d, y"],["h:mm a","h:mm:ss a","h:mm:ss a z","h:mm:ss a zzzz"],["{1}, {0}",fr,"{1} 'at' {0}",fr],[".",",",";","%","+","-","E","\xd7","\u2030","\u221e","NaN",":"],["#,##0.###","#,##0%","\xa4#,##0.00","#E0"],"USD","$","US Dollar",{},"ltr",function FL(e){const t=Math.floor(Math.abs(e)),i=e.toString().replace(/^[^.]*\.?/,"").length;return 1===t&&0===i?1:5}];let Fo={};function wt(e){const n=function VL(e){return e.toLowerCase().replace(/_/g,"-")}(e);let t=yC(n);if(t)return t;const i=n.split("-")[0];if(t=yC(i),t)return t;if("en"===i)return LL;throw new M(701,!1)}function yC(e){return e in Fo||(Fo[e]=be.ng&&be.ng.common&&be.ng.common.locales&&be.ng.common.locales[e]),Fo[e]}var ye=function(e){return e[e.LocaleId=0]="LocaleId",e[e.DayPeriodsFormat=1]="DayPeriodsFormat",e[e.DayPeriodsStandalone=2]="DayPeriodsStandalone",e[e.DaysFormat=3]="DaysFormat",e[e.DaysStandalone=4]="DaysStandalone",e[e.MonthsFormat=5]="MonthsFormat",e[e.MonthsStandalone=6]="MonthsStandalone",e[e.Eras=7]="Eras",e[e.FirstDayOfWeek=8]="FirstDayOfWeek",e[e.WeekendRange=9]="WeekendRange",e[e.DateFormat=10]="DateFormat",e[e.TimeFormat=11]="TimeFormat",e[e.DateTimeFormat=12]="DateTimeFormat",e[e.NumberSymbols=13]="NumberSymbols",e[e.NumberFormats=14]="NumberFormats",e[e.CurrencyCode=15]="CurrencyCode",e[e.CurrencySymbol=16]="CurrencySymbol",e[e.CurrencyName=17]="CurrencyName",e[e.Currencies=18]="Currencies",e[e.Directionality=19]="Directionality",e[e.PluralCase=20]="PluralCase",e[e.ExtraData=21]="ExtraData",e}(ye||{});const Bc="en-US";let vC=Bc,FC=(e,n,t)=>{};function Ae(e,n,t,i){const r=C(),o=G(),s=le();return function Hp(e,n,t,i,r,o,s){const a=Pl(i),c=e.firstCreatePass&&Zb(e),u=n[ge],d=Yb(n);let f=!0;if(3&i.type||s){const g=_t(i,n),m=s?s(g):g,v=d.length,y=s?D=>s(te(D[i.index])):i.index;let _=null;if(!s&&a&&(_=function IV(e,n,t,i){const r=e.cleanup;if(null!=r)for(let o=0;o<r.length-1;o+=2){const s=r[o];if(s===t&&r[o+1]===i){const a=n[qr],l=r[o+2];return a.length>l?a[l]:null}"string"==typeof s&&(o+=2)}return null}(e,n,r,i.index)),null!==_)(_.__ngLastListenerFn__||_).__ngNextListenerFn__=o,_.__ngLastListenerFn__=o,f=!1;else{o=jC(i,n,u,o),FC(g,r,o);const D=t.listen(m,r,o);d.push(o,D),c&&c.push(r,y,v,v+1)}}else o=jC(i,n,u,o);const h=i.outputs;let p;if(f&&null!==h&&(p=h[r])){const g=p.length;if(g)for(let m=0;m<g;m+=2){const b=n[p[m]][p[m+1]].subscribe(o),w=d.length;d.push(o,b),c&&c.push(r,i.index,w,-(w+1))}}}(o,r,r[V],s,e,n,i),Ae}function BC(e,n,t,i){const r=W(null);try{return Mn(6,n,t),!1!==t(i)}catch(o){return pc(e,o),!1}finally{Mn(7,n,t),W(r)}}function jC(e,n,t,i){return function r(o){if(o===Function)return i;Ls(e.componentOffset>-1?jt(e.index,n):n,5);let a=BC(n,t,i,o),l=r.__ngNextListenerFn__;for(;l;)a=BC(n,t,l,o)&&a,l=l.__ngNextListenerFn__;return a}}function kn(e=1){return function sP(e){return(B.lFrame.contextLView=function Av(e,n){for(;e>0;)n=n[Yr],e--;return n}(e,B.lFrame.contextLView))[ge]}(e)}function $p(e,n,t){UD(e,n,t)}function zp(e){const n=C(),t=G(),i=Nf();Ll(i+1);const r=dp(t,i);if(e.dirty&&function GN(e){return!(4&~e[O])}(n)===!(2&~r.metadata.flags)){if(null===r.matches)e.reset([]);else{const o=WD(n,i);e.reset(o,b_),e.notifyOnChanges()}return!0}return!1}function Wp(){return function up(e,n){return e[Un].queries[n].queryList}(C(),Nf())}function Ne(e,n=""){const t=C(),i=G(),r=e+P,o=i.firstCreatePass?nr(i,r,1,n,null):i.data[r],s=s0(i,t,o,n,e);t[r]=s,ys()&&uc(i,t,s,o),un(o,!1)}let s0=(e,n,t,i,r)=>(In(!0),function Dh(e,n){return e.createText(n)}(n[V],i));function qp(e){return $c("",e,""),qp}function $c(e,n,t){const i=C(),r=function Io(e,n,t,i){return Fe(e,dn(),t)?n+j(t)+i:U}(i,e,n,t);return r!==U&&qn(i,rt(),r),$c}function Yp(e,n,t,i,r,o,s,a,l){const c=C(),u=To(c,e,n,t,i,r,o,s,a,l);return u!==U&&qn(c,rt(),u),Yp}function Zp(e,n,t,i,r){if(e=L(e),Array.isArray(e))for(let o=0;o<e.length;o++)Zp(e[o],n,t,i,r);else{const o=G(),s=C(),a=le();let l=Wi(e)?e:L(e.provide);const c=hv(e),u=1048575&a.providerIndexes,d=a.directiveStart,f=a.providerIndexes>>20;if(Wi(e)||!e.multi){const h=new vs(c,r,E),p=Qp(l,n,r?u:u+f,d);-1===p?(jf(Ul(a,s),o,l),Xp(o,e,n.length),n.push(l),a.directiveStart++,a.directiveEnd++,r&&(a.providerIndexes+=1048576),t.push(h),s.push(h)):(t[p]=h,s[p]=h)}else{const h=Qp(l,n,u+f,d),p=Qp(l,n,u,u+f),m=p>=0&&t[p];if(r&&!m||!r&&!(h>=0&&t[h])){jf(Ul(a,s),o,l);const v=function JV(e,n,t,i,r){const o=new vs(e,t,E);return o.multi=[],o.index=n,o.componentProviders=0,v0(o,r,i&&!t),o}(r?KV:QV,t.length,r,i,c);!r&&m&&(t[p].providerFactory=v),Xp(o,e,n.length,0),n.push(l),a.directiveStart++,a.directiveEnd++,r&&(a.providerIndexes+=1048576),t.push(v),s.push(v)}else Xp(o,e,h>-1?h:p,v0(t[r?p:h],c,!r&&i));!r&&i&&m&&t[p].componentProviders++}}}function Xp(e,n,t,i){const r=Wi(n),o=function DN(e){return!!e.useClass}(n);if(r||o){const l=(o?L(n.useClass):n).prototype.ngOnDestroy;if(l){const c=e.destroyHooks||(e.destroyHooks=[]);if(!r&&n.multi){const u=c.indexOf(t);-1===u?c.push(t,[i,l]):c[u+1].push(i,l)}else c.push(t,l)}}}function v0(e,n,t){return t&&e.componentProviders++,e.multi.push(n)-1}function Qp(e,n,t,i){for(let r=t;r<i;r++)if(n[r]===e)return r;return-1}function QV(e,n,t,i){return Kp(this.multi,[])}function KV(e,n,t,i){const r=this.multi;let o;if(this.providerFactory){const s=this.providerFactory.componentProviders,a=Ki(t,t[S],this.providerFactory.index,i);o=a.slice(0,s),Kp(r,o);for(let l=s;l<a.length;l++)o.push(a[l])}else o=[],Kp(r,o);return o}function Kp(e,n){for(let t=0;t<e.length;t++)n.push((0,e[t])());return n}function De(e,n=[]){return t=>{t.providersResolver=(i,r)=>function XV(e,n,t){const i=G();if(i.firstCreatePass){const r=cn(e);Zp(t,i.data,i.blueprint,r,!0),Zp(n,i.data,i.blueprint,r,!1)}}(i,r?r(e):e,n)}}function Jp(e,n,t,i){return function D0(e,n,t,i,r,o){const s=n+t;return Fe(e,s,r)?function Nn(e,n,t){return e[n]=t}(e,s+1,o?i.call(o,r):i(r)):function ca(e,n){const t=e[n];return t===U?void 0:t}(e,s+1)}(C(),function bt(){const e=B.lFrame;let n=e.bindingRootIndex;return-1===n&&(n=e.bindingRootIndex=e.tView.bindingStartIndex),n}(),e,n,t,i)}const W0=new T(""),Zc=new T("");let ag,og=(()=>{class e{constructor(t,i,r){this._ngZone=t,this.registry=i,this._isZoneStable=!0,this._callbacks=[],this.taskTrackingZone=null,ag||(function gB(e){ag=e}(r),r.addToWindow(i)),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()})}})})}isStable(){return this._isZoneStable&&!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(i=>!i.updateCb||!i.updateCb(t)||(clearTimeout(i.timeoutId),!1))}}getPendingTasks(){return this.taskTrackingZone?this.taskTrackingZone.macroTasks.map(t=>({source:t.source,creationLocation:t.creationLocation,data:t.data})):[]}addCallback(t,i,r){let o=-1;i&&i>0&&(o=setTimeout(()=>{this._callbacks=this._callbacks.filter(s=>s.timeoutId!==o),t()},i)),this._callbacks.push({doneCb:t,timeoutId:o,updateCb:r})}whenStable(t,i,r){if(r&&!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,i,r),this._runCallbacksIfReady()}registerApplication(t){this.registry.registerApplication(t,this)}unregisterApplication(t){this.registry.unregisterApplication(t)}findProviders(t,i,r){return[]}static{this.\u0275fac=function(i){return new(i||e)(F(se),F(sg),F(Zc))}}static{this.\u0275prov=R({token:e,factory:e.\u0275fac})}}return e})(),sg=(()=>{class e{constructor(){this._applications=new Map}registerApplication(t,i){this._applications.set(t,i)}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,i=!0){return ag?.findTestabilityInTree(this,t,i)??null}static{this.\u0275fac=function(i){return new(i||e)}}static{this.\u0275prov=R({token:e,factory:e.\u0275fac,providedIn:"platform"})}}return e})();function Xc(e){return!!e&&"function"==typeof e.then}function G0(e){return!!e&&"function"==typeof e.subscribe}const mB=new T("");let q0=(()=>{class e{constructor(){this.initialized=!1,this.done=!1,this.donePromise=new Promise((t,i)=>{this.resolve=t,this.reject=i}),this.appInits=A(mB,{optional:!0})??[]}runInitializers(){if(this.initialized)return;const t=[];for(const r of this.appInits){const o=r();if(Xc(o))t.push(o);else if(G0(o)){const s=new Promise((a,l)=>{o.subscribe({complete:a,error:l})});t.push(s)}}const i=()=>{this.done=!0,this.resolve()};Promise.all(t).then(()=>{i()}).catch(r=>{this.reject(r)}),0===t.length&&i(),this.initialized=!0}static{this.\u0275fac=function(i){return new(i||e)}}static{this.\u0275prov=R({token:e,factory:e.\u0275fac,providedIn:"root"})}}return e})();const lg=new T("");function Z0(e,n){return Array.isArray(n)?n.reduce(Z0,e):{...e,...n}}let Zn=(()=>{class e{constructor(){this._bootstrapListeners=[],this._runningTick=!1,this._destroyed=!1,this._destroyListeners=[],this._views=[],this.internalErrorHandler=A(zP),this.afterRenderManager=A(bw),this.zonelessEnabled=A(Gs),this.dirtyFlags=0,this.deferredDirtyFlags=0,this.externalTestViews=new Set,this.beforeRender=new ci,this.afterTick=new ci,this.componentTypes=[],this.components=[],this.isStable=A(gi).hasPendingTasks.pipe(st(t=>!t)),this._injector=A(Xt)}get allViews(){return[...this.externalTestViews.keys(),...this._views]}get destroyed(){return this._destroyed}whenStable(){let t;return new Promise(i=>{t=this.isStable.subscribe({next:r=>{r&&i()}})}).finally(()=>{t.unsubscribe()})}get injector(){return this._injector}bootstrap(t,i){const r=t instanceof xD;if(!this._injector.get(q0).done)throw!r&&function zi(e){const n=Y(e)||qe(e)||nt(e);return null!==n&&n.standalone}(t),new M(405,!1);let s;s=r?t:this._injector.get(wc).resolveComponentFactory(t),this.componentTypes.push(s.componentType);const a=function yB(e){return e.isBoundToModule}(s)?void 0:this._injector.get(lr),c=s.create(ut.NULL,[],i||s.selector,a),u=c.location.nativeElement,d=c.injector.get(W0,null);return d?.registerApplication(u),c.onDestroy(()=>{this.detachView(c.hostView),Qc(this.components,c),d?.unregisterApplication(u)}),this._loadComponent(c),c}tick(){this.zonelessEnabled||(this.dirtyFlags|=1),this._tick()}_tick(){if(this._runningTick)throw new M(101,!1);const t=W(null);try{this._runningTick=!0,this.synchronize()}catch(i){this.internalErrorHandler(i)}finally{this._runningTick=!1,W(t),this.afterTick.next()}}synchronize(){let t=null;this._injector.destroyed||(t=this._injector.get(ep,null,{optional:!0})),this.dirtyFlags|=this.deferredDirtyFlags,this.deferredDirtyFlags=0;let i=0;for(;0!==this.dirtyFlags&&i++<10;)this.synchronizeOnce(t)}synchronizeOnce(t){if(this.dirtyFlags|=this.deferredDirtyFlags,this.deferredDirtyFlags=0,7&this.dirtyFlags){const i=!!(1&this.dirtyFlags);this.dirtyFlags&=-8,this.dirtyFlags|=8,this.beforeRender.next(i);for(let{_lView:r,notifyErrorHandler:o}of this._views)bB(r,o,i,this.zonelessEnabled);if(this.dirtyFlags&=-5,this.syncDirtyFlagsWithViews(),7&this.dirtyFlags)return}else t?.begin?.(),t?.end?.();8&this.dirtyFlags&&(this.dirtyFlags&=-9,this.afterRenderManager.execute()),this.syncDirtyFlagsWithViews()}syncDirtyFlagsWithViews(){this.allViews.some(({_lView:t})=>Ol(t))?this.dirtyFlags|=2:this.dirtyFlags&=-8}attachView(t){const i=t;this._views.push(i),i.attachToAppRef(this)}detachView(t){const i=t;Qc(this._views,i),i.detachFromAppRef()}_loadComponent(t){this.attachView(t.hostView),this.tick(),this.components.push(t);const i=this._injector.get(lg,[]);[...this._bootstrapListeners,...i].forEach(r=>r(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),()=>Qc(this._destroyListeners,t)}destroy(){if(this._destroyed)throw new M(406,!1);const t=this._injector;t.destroy&&!t.destroyed&&t.destroy()}get viewCount(){return this._views.length}warnIfDestroyed(){}static{this.\u0275fac=function(i){return new(i||e)}}static{this.\u0275prov=R({token:e,factory:e.\u0275fac,providedIn:"root"})}}return e})();function Qc(e,n){const t=e.indexOf(n);t>-1&&e.splice(t,1)}function bB(e,n,t,i){(t||Ol(e))&&gc(e,n,t&&!i?0:1)}let EB=(()=>{class e{constructor(){this.zone=A(se),this.changeDetectionScheduler=A(po),this.applicationRef=A(Zn)}initialize(){this._onMicrotaskEmptySubscription||(this._onMicrotaskEmptySubscription=this.zone.onMicrotaskEmpty.subscribe({next:()=>{this.changeDetectionScheduler.runningTick||this.zone.run(()=>{this.applicationRef.tick()})}}))}ngOnDestroy(){this._onMicrotaskEmptySubscription?.unsubscribe()}static{this.\u0275fac=function(i){return new(i||e)}}static{this.\u0275prov=R({token:e,factory:e.\u0275fac,providedIn:"root"})}}return e})();function cg({ngZoneFactory:e,ignoreChangesOutsideZone:n,scheduleInRootZone:t}){return e??=()=>new se({...ug(),scheduleInRootZone:t}),[{provide:se,useFactory:e},{provide:Hn,multi:!0,useFactory:()=>{const i=A(EB,{optional:!0});return()=>i.initialize()}},{provide:Hn,multi:!0,useFactory:()=>{const i=A(IB);return()=>{i.initialize()}}},!0===n?{provide:ID,useValue:!0}:[],{provide:Jh,useValue:t??h_}]}function ug(e){return{enableLongStackTrace:!1,shouldCoalesceEventChangeDetection:e?.eventCoalescing??!1,shouldCoalesceRunChangeDetection:e?.runCoalescing??!1}}let IB=(()=>{class e{constructor(){this.subscription=new Ft,this.initialized=!1,this.zone=A(se),this.pendingTasks=A(gi)}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{this.\u0275fac=function(i){return new(i||e)}}static{this.\u0275prov=R({token:e,factory:e.\u0275fac,providedIn:"root"})}}return e})(),ha=(()=>{class e{constructor(){this.appRef=A(Zn),this.taskService=A(gi),this.ngZone=A(se),this.zonelessEnabled=A(Gs),this.disableScheduling=A(ID,{optional:!0})??!1,this.zoneIsDefined=typeof Zone<"u"&&!!Zone.root.run,this.schedulerTickApplyArgs=[{data:{__scheduler_tick__:!0}}],this.subscriptions=new Ft,this.angularZoneId=this.zoneIsDefined?this.ngZone._inner?.get(Yl):null,this.scheduleInRootZone=!this.zonelessEnabled&&this.zoneIsDefined&&(A(Jh,{optional:!0})??!1),this.cancelScheduledCallback=null,this.useMicrotaskScheduler=!1,this.runningTick=!1,this.pendingRenderTaskId=null,this.subscriptions.add(this.appRef.afterTick.subscribe(()=>{this.runningTick||this.cleanup()})),this.subscriptions.add(this.ngZone.onUnstable.subscribe(()=>{this.runningTick||this.cleanup()})),this.disableScheduling||=!this.zonelessEnabled&&(this.ngZone instanceof qf||!this.zoneIsDefined)}notify(t){if(!this.zonelessEnabled&&5===t)return;switch(t){case 0:this.appRef.dirtyFlags|=2;break;case 3:case 2:case 4:case 5:case 1:this.appRef.dirtyFlags|=4;break;case 7:this.appRef.deferredDirtyFlags|=8;break;default:this.appRef.dirtyFlags|=8}if(!this.shouldScheduleTick())return;const i=this.useMicrotaskScheduler?g_:p_;this.pendingRenderTaskId=this.taskService.add(),this.cancelScheduledCallback=this.scheduleInRootZone?Zone.root.run(()=>i(()=>this.tick())):this.ngZone.runOutsideAngular(()=>i(()=>this.tick()))}shouldScheduleTick(){return!(this.disableScheduling||null!==this.pendingRenderTaskId||this.runningTick||this.appRef._runningTick||!this.zonelessEnabled&&this.zoneIsDefined&&Zone.current.get(Yl+this.angularZoneId))}tick(){if(this.runningTick||this.appRef.destroyed)return;!this.zonelessEnabled&&7&this.appRef.dirtyFlags&&(this.appRef.dirtyFlags|=1);const t=this.taskService.add();try{this.ngZone.run(()=>{this.runningTick=!0,this.appRef._tick()},void 0,this.schedulerTickApplyArgs)}catch(i){throw this.taskService.remove(t),i}finally{this.cleanup()}this.useMicrotaskScheduler=!0,g_(()=>{this.useMicrotaskScheduler=!1,this.taskService.remove(t)})}ngOnDestroy(){this.subscriptions.unsubscribe(),this.cleanup()}cleanup(){if(this.runningTick=!1,this.cancelScheduledCallback?.(),this.cancelScheduledCallback=null,null!==this.pendingRenderTaskId){const t=this.pendingRenderTaskId;this.pendingRenderTaskId=null,this.taskService.remove(t)}}static{this.\u0275fac=function(i){return new(i||e)}}static{this.\u0275prov=R({token:e,factory:e.\u0275fac,providedIn:"root"})}}return e})();const Ci=new T("",{providedIn:"root",factory:()=>A(Ci,X.Optional|X.SkipSelf)||function xB(){return typeof $localize<"u"&&$localize.locale||Bc}()}),SB=new T("",{providedIn:"root",factory:()=>"USD"}),Jc=new T("");function eu(e){return!e.moduleRef}let nE=(()=>{class e{constructor(t){this._injector=t,this._modules=[],this._destroyListeners=[],this._destroyed=!1}bootstrapModuleFactory(t,i){const r=i?.scheduleInRootZone,s=i?.ignoreChangesOutsideZone,a=[cg({ngZoneFactory:()=>function $P(e="zone.js",n){return"noop"===e?new qf:"zone.js"===e?new se(n):e}(i?.ngZone,{...ug({eventCoalescing:i?.ngZoneEventCoalescing,runCoalescing:i?.ngZoneRunCoalescing}),scheduleInRootZone:r}),ignoreChangesOutsideZone:s}),{provide:po,useExisting:ha}],l=function K1(e,n,t){return new pp(e,n,t,!1)}(t.moduleType,this.injector,a);return function tE(e){const n=eu(e)?e.r3Injector:e.moduleRef.injector,t=n.get(se);return t.run(()=>{eu(e)?e.r3Injector.resolveInjectorInitializers():e.moduleRef.resolveInjectorInitializers();const i=n.get(Sn,null);let r;if(t.runOutsideAngular(()=>{r=t.onError.subscribe({next:o=>{i.handleError(o)}})}),eu(e)){const o=()=>n.destroy(),s=e.platformInjector.get(Jc);s.add(o),n.onDestroy(()=>{r.unsubscribe(),s.delete(o)})}else{const o=()=>e.moduleRef.destroy(),s=e.platformInjector.get(Jc);s.add(o),e.moduleRef.onDestroy(()=>{Qc(e.allPlatformModules,e.moduleRef),r.unsubscribe(),s.delete(o)})}return function _B(e,n,t){try{const i=t();return Xc(i)?i.catch(r=>{throw n.runOutsideAngular(()=>e.handleError(r)),r}):i}catch(i){throw n.runOutsideAngular(()=>e.handleError(i)),i}}(i,t,()=>{const o=n.get(q0);return o.runInitializers(),o.donePromise.then(()=>{if(function UL(e){"string"==typeof e&&(vC=e.toLowerCase().replace(/_/g,"-"))}(n.get(Ci,Bc)||Bc),eu(e)){const a=n.get(Zn);return void 0!==e.rootComponent&&a.bootstrap(e.rootComponent),a}return function OB(e,n){const t=e.injector.get(Zn);if(e._bootstrapComponents.length>0)e._bootstrapComponents.forEach(i=>t.bootstrap(i));else{if(!e.instance.ngDoBootstrap)throw new M(-403,!1);e.instance.ngDoBootstrap(t)}n.push(e)}(e.moduleRef,e.allPlatformModules),e.moduleRef})})})}({moduleRef:l,allPlatformModules:this._modules,platformInjector:this.injector})}bootstrapModule(t,i=[]){const r=Z0({},i);return function CB(e,n,t){const i=new gp(t);return Promise.resolve(i)}(0,0,t).then(o=>this.bootstrapModuleFactory(o,r))}onDestroy(t){this._destroyListeners.push(t)}get injector(){return this._injector}destroy(){if(this._destroyed)throw new M(404,!1);this._modules.slice().forEach(i=>i.destroy()),this._destroyListeners.forEach(i=>i());const t=this._injector.get(Jc,null);t&&(t.forEach(i=>i()),t.clear()),this._destroyed=!0}get destroyed(){return this._destroyed}static{this.\u0275fac=function(i){return new(i||e)(F(ut))}}static{this.\u0275prov=R({token:e,factory:e.\u0275fac,providedIn:"platform"})}}return e})(),Ei=null;const iE=new T("");function rE(e,n,t=[]){const i=`Platform: ${n}`,r=new T(i);return(o=[])=>{let s=fg();if(!s||s.injector.get(iE,!1)){const a=[...t,...o,{provide:r,useValue:!0}];e?e(a):function kB(e){if(Ei&&!Ei.get(iE,!1))throw new M(400,!1);(function Y0(){!function pA(e){My=e}(()=>{throw new M(600,!1)})})(),Ei=e;const n=e.get(nE);(function sE(e){e.get(j_,null)?.forEach(t=>t())})(e)}(function oE(e=[],n){return ut.create({name:n,providers:[{provide:df,useValue:"platform"},{provide:Jc,useValue:new Set([()=>Ei=null])},...e]})}(a,i))}return function RB(){const n=fg();if(!n)throw new M(401,!1);return n}()}}function fg(){return Ei?.get(nE)??null}let pa=(()=>{class e{static{this.__NG_ELEMENT_ID__=LB}}return e})();function LB(e){return function VB(e,n,t){if(qi(e)&&!t){const i=jt(e.index,n);return new Vs(i,i)}return 175&e.type?new Vs(n[Ie],n):null}(le(),C(),!(16&~e))}class dE{constructor(){}supports(n){return xc(n)}create(n){return new $B(n)}}const UB=(e,n)=>n;class $B{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||UB}forEachItem(n){let t;for(t=this._itHead;null!==t;t=t._next)n(t)}forEachOperation(n){let t=this._itHead,i=this._removalsHead,r=0,o=null;for(;t||i;){const s=!i||t&&t.currentIndex<hE(i,r,o)?t:i,a=hE(s,r,o),l=s.currentIndex;if(s===i)r--,i=i._nextRemoved;else if(t=t._next,null==s.previousIndex)r++;else{o||(o=[]);const c=a-r,u=l-r;if(c!=u){for(let f=0;f<c;f++){const h=f<o.length?o[f]:o[f]=0,p=h+f;u<=p&&p<c&&(o[f]=h+1)}o[s.previousIndex]=u-c}}a!==l&&n(s,a,l)}}forEachPreviousItem(n){let t;for(t=this._previousItHead;null!==t;t=t._nextPrevious)n(t)}forEachAddedItem(n){let t;for(t=this._additionsHead;null!==t;t=t._nextAdded)n(t)}forEachMovedItem(n){let t;for(t=this._movesHead;null!==t;t=t._nextMoved)n(t)}forEachRemovedItem(n){let t;for(t=this._removalsHead;null!==t;t=t._nextRemoved)n(t)}forEachIdentityChange(n){let t;for(t=this._identityChangesHead;null!==t;t=t._nextIdentityChange)n(t)}diff(n){if(null==n&&(n=[]),!xc(n))throw new M(900,!1);return this.check(n)?this:null}onDestroy(){}check(n){this._reset();let r,o,s,t=this._itHead,i=!1;if(Array.isArray(n)){this.length=n.length;for(let a=0;a<this.length;a++)o=n[a],s=this._trackByFn(a,o),null!==t&&Object.is(t.trackById,s)?(i&&(t=this._verifyReinsertion(t,o,s,a)),Object.is(t.item,o)||this._addIdentityChange(t,o)):(t=this._mismatch(t,o,s,a),i=!0),t=t._next}else r=0,function tF(e,n){if(Array.isArray(e))for(let t=0;t<e.length;t++)n(e[t]);else{const t=e[Symbol.iterator]();let i;for(;!(i=t.next()).done;)n(i.value)}}(n,a=>{s=this._trackByFn(r,a),null!==t&&Object.is(t.trackById,s)?(i&&(t=this._verifyReinsertion(t,a,s,r)),Object.is(t.item,a)||this._addIdentityChange(t,a)):(t=this._mismatch(t,a,s,r),i=!0),t=t._next,r++}),this.length=r;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,i,r){let o;return null===n?o=this._itTail:(o=n._prev,this._remove(n)),null!==(n=null===this._unlinkedRecords?null:this._unlinkedRecords.get(i,null))?(Object.is(n.item,t)||this._addIdentityChange(n,t),this._reinsertAfter(n,o,r)):null!==(n=null===this._linkedRecords?null:this._linkedRecords.get(i,r))?(Object.is(n.item,t)||this._addIdentityChange(n,t),this._moveAfter(n,o,r)):n=this._addAfter(new zB(t,i),o,r),n}_verifyReinsertion(n,t,i,r){let o=null===this._unlinkedRecords?null:this._unlinkedRecords.get(i,null);return null!==o?n=this._reinsertAfter(o,n._prev,r):n.currentIndex!=r&&(n.currentIndex=r,this._addToMoves(n,r)),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,i){null!==this._unlinkedRecords&&this._unlinkedRecords.remove(n);const r=n._prevRemoved,o=n._nextRemoved;return null===r?this._removalsHead=o:r._nextRemoved=o,null===o?this._removalsTail=r:o._prevRemoved=r,this._insertAfter(n,t,i),this._addToMoves(n,i),n}_moveAfter(n,t,i){return this._unlink(n),this._insertAfter(n,t,i),this._addToMoves(n,i),n}_addAfter(n,t,i){return this._insertAfter(n,t,i),this._additionsTail=null===this._additionsTail?this._additionsHead=n:this._additionsTail._nextAdded=n,n}_insertAfter(n,t,i){const r=null===t?this._itHead:t._next;return n._next=r,n._prev=t,null===r?this._itTail=n:r._prev=n,null===t?this._itHead=n:t._next=n,null===this._linkedRecords&&(this._linkedRecords=new fE),this._linkedRecords.put(n),n.currentIndex=i,n}_remove(n){return this._addToRemovals(this._unlink(n))}_unlink(n){null!==this._linkedRecords&&this._linkedRecords.remove(n);const t=n._prev,i=n._next;return null===t?this._itHead=i:t._next=i,null===i?this._itTail=t:i._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 fE),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 zB{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 WB{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 i;for(i=this._head;null!==i;i=i._nextDup)if((null===t||t<=i.currentIndex)&&Object.is(i.trackById,n))return i;return null}remove(n){const t=n._prevDup,i=n._nextDup;return null===t?this._head=i:t._nextDup=i,null===i?this._tail=t:i._prevDup=t,null===this._head}}class fE{constructor(){this.map=new Map}put(n){const t=n.trackById;let i=this.map.get(t);i||(i=new WB,this.map.set(t,i)),i.add(n)}get(n,t){const r=this.map.get(n);return r?r.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 hE(e,n,t){const i=e.previousIndex;if(null===i)return i;let r=0;return t&&i<t.length&&(r=t[i]),i+n+r}function gE(){return new yg([new dE])}let yg=(()=>{class e{static{this.\u0275prov=R({token:e,providedIn:"root",factory:gE})}constructor(t){this.factories=t}static create(t,i){if(null!=i){const r=i.factories.slice();t=t.concat(r)}return new e(t)}static extend(t){return{provide:e,useFactory:i=>e.create(t,i||gE()),deps:[[e,new Jd,new Kd]]}}find(t){const i=this.factories.find(r=>r.supports(t));if(null!=i)return i;throw new M(901,!1)}}return e})();const XB=rE(null,"core",[]);let QB=(()=>{class e{constructor(t){}static{this.\u0275fac=function(i){return new(i||e)(F(Zn))}}static{this.\u0275mod=$i({type:e})}static{this.\u0275inj=di({})}}return e})();function va(e,n){Dt("NgSignals");const t=function dA(e){const n=Object.create(fA);n.computation=e;const t=()=>{if(vy(n),Id(n),n.value===sl)throw n.error;return n.value};return t[rn]=n,t}(e);return n?.equal&&(t[rn].equal=n.equal),t}function Rn(e){const n=W(null);try{return e()}finally{W(n)}}let BE=null;function _a(){return BE}class Rj{}const Mi=new T(""),jE={ADP:[void 0,void 0,0],AFN:[void 0,"\u060b",0],ALL:[void 0,void 0,0],AMD:[void 0,"\u058f",2],AOA:[void 0,"Kz"],ARS:[void 0,"$"],AUD:["A$","$"],AZN:[void 0,"\u20bc"],BAM:[void 0,"KM"],BBD:[void 0,"$"],BDT:[void 0,"\u09f3"],BHD:[void 0,void 0,3],BIF:[void 0,void 0,0],BMD:[void 0,"$"],BND:[void 0,"$"],BOB:[void 0,"Bs"],BRL:["R$"],BSD:[void 0,"$"],BWP:[void 0,"P"],BYN:[void 0,void 0,2],BYR:[void 0,void 0,0],BZD:[void 0,"$"],CAD:["CA$","$",2],CHF:[void 0,void 0,2],CLF:[void 0,void 0,4],CLP:[void 0,"$",0],CNY:["CN\xa5","\xa5"],COP:[void 0,"$",2],CRC:[void 0,"\u20a1",2],CUC:[void 0,"$"],CUP:[void 0,"$"],CZK:[void 0,"K\u010d",2],DJF:[void 0,void 0,0],DKK:[void 0,"kr",2],DOP:[void 0,"$"],EGP:[void 0,"E\xa3"],ESP:[void 0,"\u20a7",0],EUR:["\u20ac"],FJD:[void 0,"$"],FKP:[void 0,"\xa3"],GBP:["\xa3"],GEL:[void 0,"\u20be"],GHS:[void 0,"GH\u20b5"],GIP:[void 0,"\xa3"],GNF:[void 0,"FG",0],GTQ:[void 0,"Q"],GYD:[void 0,"$",2],HKD:["HK$","$"],HNL:[void 0,"L"],HRK:[void 0,"kn"],HUF:[void 0,"Ft",2],IDR:[void 0,"Rp",2],ILS:["\u20aa"],INR:["\u20b9"],IQD:[void 0,void 0,0],IRR:[void 0,void 0,0],ISK:[void 0,"kr",0],ITL:[void 0,void 0,0],JMD:[void 0,"$"],JOD:[void 0,void 0,3],JPY:["\xa5",void 0,0],KHR:[void 0,"\u17db"],KMF:[void 0,"CF",0],KPW:[void 0,"\u20a9",0],KRW:["\u20a9",void 0,0],KWD:[void 0,void 0,3],KYD:[void 0,"$"],KZT:[void 0,"\u20b8"],LAK:[void 0,"\u20ad",0],LBP:[void 0,"L\xa3",0],LKR:[void 0,"Rs"],LRD:[void 0,"$"],LTL:[void 0,"Lt"],LUF:[void 0,void 0,0],LVL:[void 0,"Ls"],LYD:[void 0,void 0,3],MGA:[void 0,"Ar",0],MGF:[void 0,void 0,0],MMK:[void 0,"K",0],MNT:[void 0,"\u20ae",2],MRO:[void 0,void 0,0],MUR:[void 0,"Rs",2],MXN:["MX$","$"],MYR:[void 0,"RM"],NAD:[void 0,"$"],NGN:[void 0,"\u20a6"],NIO:[void 0,"C$"],NOK:[void 0,"kr",2],NPR:[void 0,"Rs"],NZD:["NZ$","$"],OMR:[void 0,void 0,3],PHP:["\u20b1"],PKR:[void 0,"Rs",2],PLN:[void 0,"z\u0142"],PYG:[void 0,"\u20b2",0],RON:[void 0,"lei"],RSD:[void 0,void 0,0],RUB:[void 0,"\u20bd"],RWF:[void 0,"RF",0],SBD:[void 0,"$"],SEK:[void 0,"kr",2],SGD:[void 0,"$"],SHP:[void 0,"\xa3"],SLE:[void 0,void 0,2],SLL:[void 0,void 0,0],SOS:[void 0,void 0,0],SRD:[void 0,"$"],SSP:[void 0,"\xa3"],STD:[void 0,void 0,0],STN:[void 0,"Db"],SYP:[void 0,"\xa3",0],THB:[void 0,"\u0e3f"],TMM:[void 0,void 0,0],TND:[void 0,void 0,3],TOP:[void 0,"T$"],TRL:[void 0,void 0,0],TRY:[void 0,"\u20ba"],TTD:[void 0,"$"],TWD:["NT$","$",2],TZS:[void 0,void 0,2],UAH:[void 0,"\u20b4"],UGX:[void 0,void 0,0],USD:["$"],UYI:[void 0,void 0,0],UYU:[void 0,"$"],UYW:[void 0,void 0,4],UZS:[void 0,void 0,2],VEF:[void 0,"Bs",2],VND:["\u20ab",void 0,0],VUV:[void 0,void 0,0],XAF:["FCFA",void 0,0],XCD:["EC$","$"],XOF:["F\u202fCFA",void 0,0],XPF:["CFPF",void 0,0],XXX:["\xa4"],YER:[void 0,void 0,0],ZAR:[void 0,"R"],ZMK:[void 0,void 0,0],ZMW:[void 0,"ZK"],ZWD:[void 0,void 0,0]};var uu=function(e){return e[e.Decimal=0]="Decimal",e[e.Percent=1]="Percent",e[e.Currency=2]="Currency",e[e.Scientific=3]="Scientific",e}(uu||{});const ze={Decimal:0,Group:1,List:2,PercentSign:3,PlusSign:4,MinusSign:5,Exponential:6,SuperscriptingExponent:7,PerMille:8,Infinity:9,NaN:10,TimeSeparator:11,CurrencyDecimal:12,CurrencyGroup:13};function en(e,n){const t=wt(e),i=t[ye.NumberSymbols][n];if(typeof i>"u"){if(n===ze.CurrencyDecimal)return t[ye.NumberSymbols][ze.Decimal];if(n===ze.CurrencyGroup)return t[ye.NumberSymbols][ze.Group]}return i}const uH=/^(\d+)?\.((\d+)(-(\d+))?)?$/,WE=22,bu=".",ba="0",dH=";",fH=",",Mg="#";function pH(e,n,t,i,r){const s=function xg(e,n="-"){const t={minInt:1,minFrac:0,maxFrac:0,posPre:"",posSuf:"",negPre:"",negSuf:"",gSize:0,lgSize:0},i=e.split(dH),r=i[0],o=i[1],s=-1!==r.indexOf(bu)?r.split(bu):[r.substring(0,r.lastIndexOf(ba)+1),r.substring(r.lastIndexOf(ba)+1)],a=s[0],l=s[1]||"";t.posPre=a.substring(0,a.indexOf(Mg));for(let u=0;u<l.length;u++){const d=l.charAt(u);d===ba?t.minFrac=t.maxFrac=u+1:d===Mg?t.maxFrac=u+1:t.posSuf+=d}const c=a.split(fH);if(t.gSize=c[1]?c[1].length:0,t.lgSize=c[2]||c[1]?(c[2]||c[1]).length:0,o){const u=r.length-t.posPre.length-t.posSuf.length,d=o.indexOf(Mg);t.negPre=o.substring(0,d).replace(/'/g,""),t.negSuf=o.slice(d+u).replace(/'/g,"")}else t.negPre=n+t.posPre,t.negSuf=t.posSuf;return t}(function Dg(e,n){return wt(e)[ye.NumberFormats][n]}(n,uu.Currency),en(n,ze.MinusSign));return s.minFrac=function Xj(e){let n;const t=jE[e];return t&&(n=t[2]),"number"==typeof n?n:2}(i),s.maxFrac=s.minFrac,function Ig(e,n,t,i,r,o,s=!1){let a="",l=!1;if(isFinite(e)){let c=function vH(e){let i,r,o,s,a,n=Math.abs(e)+"",t=0;for((r=n.indexOf(bu))>-1&&(n=n.replace(bu,"")),(o=n.search(/e/i))>0?(r<0&&(r=o),r+=+n.slice(o+1),n=n.substring(0,o)):r<0&&(r=n.length),o=0;n.charAt(o)===ba;o++);if(o===(a=n.length))i=[0],r=1;else{for(a--;n.charAt(a)===ba;)a--;for(r-=o,i=[],s=0;o<=a;o++,s++)i[s]=Number(n.charAt(o))}return r>WE&&(i=i.splice(0,WE-1),t=r-1,r=1),{digits:i,exponent:t,integerLen:r}}(e);s&&(c=function yH(e){if(0===e.digits[0])return e;const n=e.digits.length-e.integerLen;return e.exponent?e.exponent+=2:(0===n?e.digits.push(0,0):1===n&&e.digits.push(0),e.integerLen+=2),e}(c));let u=n.minInt,d=n.minFrac,f=n.maxFrac;if(o){const y=o.match(uH);if(null===y)throw new Error(`${o} is not a valid digit info`);const _=y[1],D=y[3],b=y[5];null!=_&&(u=Sg(_)),null!=D&&(d=Sg(D)),null!=b?f=Sg(b):null!=D&&d>f&&(f=d)}!function _H(e,n,t){if(n>t)throw new Error(`The minimum number of digits after fraction (${n}) is higher than the maximum (${t}).`);let i=e.digits,r=i.length-e.integerLen;const o=Math.min(Math.max(n,r),t);let s=o+e.integerLen,a=i[s];if(s>0){i.splice(Math.max(e.integerLen,s));for(let d=s;d<i.length;d++)i[d]=0}else{r=Math.max(0,r),e.integerLen=1,i.length=Math.max(1,s=o+1),i[0]=0;for(let d=1;d<s;d++)i[d]=0}if(a>=5)if(s-1<0){for(let d=0;d>s;d--)i.unshift(0),e.integerLen++;i.unshift(1),e.integerLen++}else i[s-1]++;for(;r<Math.max(0,o);r++)i.push(0);let l=0!==o;const c=n+e.integerLen,u=i.reduceRight(function(d,f,h,p){return p[h]=(f+=d)<10?f:f-10,l&&(0===p[h]&&h>=c?p.pop():l=!1),f>=10?1:0},0);u&&(i.unshift(u),e.integerLen++)}(c,d,f);let h=c.digits,p=c.integerLen;const g=c.exponent;let m=[];for(l=h.every(y=>!y);p<u;p++)h.unshift(0);for(;p<0;p++)h.unshift(0);p>0?m=h.splice(p,h.length):(m=h,h=[0]);const v=[];for(h.length>=n.lgSize&&v.unshift(h.splice(-n.lgSize,h.length).join(""));h.length>n.gSize;)v.unshift(h.splice(-n.gSize,h.length).join(""));h.length&&v.unshift(h.join("")),a=v.join(en(t,i)),m.length&&(a+=en(t,r)+m.join("")),g&&(a+=en(t,ze.Exponential)+"+"+g)}else a=en(t,ze.Infinity);return a=e<0&&!l?n.negPre+a+n.negSuf:n.posPre+a+n.posSuf,a}(e,s,n,ze.CurrencyGroup,ze.CurrencyDecimal,r).replace("\xa4",t).replace("\xa4","").trim()}function Sg(e){const n=parseInt(e);if(isNaN(n))throw new Error("Invalid integer literal when parsing "+e);return n}function YE(e,n){n=encodeURIComponent(n);for(const t of e.split(";")){const i=t.indexOf("="),[r,o]=-1==i?[t,""]:[t.slice(0,i),t.slice(i+1)];if(r.trim()===n)return decodeURIComponent(o)}return null}const Ag=/\s+/,ZE=[];let XE=(()=>{class e{constructor(t,i){this._ngEl=t,this._renderer=i,this.initialClasses=ZE,this.stateMap=new Map}set klass(t){this.initialClasses=null!=t?t.trim().split(Ag):ZE}set ngClass(t){this.rawClass="string"==typeof t?t.trim().split(Ag):t}ngDoCheck(){for(const i of this.initialClasses)this._updateState(i,!0);const t=this.rawClass;if(Array.isArray(t)||t instanceof Set)for(const i of t)this._updateState(i,!0);else if(null!=t)for(const i of Object.keys(t))this._updateState(i,!!t[i]);this._applyStateDiff()}_updateState(t,i){const r=this.stateMap.get(t);void 0!==r?(r.enabled!==i&&(r.changed=!0,r.enabled=i),r.touched=!0):this.stateMap.set(t,{enabled:i,changed:!0,touched:!0})}_applyStateDiff(){for(const t of this.stateMap){const i=t[0],r=t[1];r.changed?(this._toggleClass(i,r.enabled),r.changed=!1):r.touched||(r.enabled&&this._toggleClass(i,!1),this.stateMap.delete(i)),r.touched=!1}}_toggleClass(t,i){(t=t.trim()).length>0&&t.split(Ag).forEach(r=>{i?this._renderer.addClass(this._ngEl.nativeElement,r):this._renderer.removeClass(this._ngEl.nativeElement,r)})}static{this.\u0275fac=function(i){return new(i||e)(E(Tt),E(sr))}}static{this.\u0275dir=H({type:e,selectors:[["","ngClass",""]],inputs:{klass:[0,"class","klass"],ngClass:"ngClass"},standalone:!0})}}return e})();class wH{constructor(n,t,i,r){this.$implicit=n,this.ngForOf=t,this.index=i,this.count=r}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 KE=(()=>{class e{set ngForOf(t){this._ngForOf=t,this._ngForOfDirty=!0}set ngForTrackBy(t){this._trackByFn=t}get ngForTrackBy(){return this._trackByFn}constructor(t,i,r){this._viewContainer=t,this._template=i,this._differs=r,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 i=this._viewContainer;t.forEachOperation((r,o,s)=>{if(null==r.previousIndex)i.createEmbeddedView(this._template,new wH(r.item,this._ngForOf,-1,-1),null===s?void 0:s);else if(null==s)i.remove(null===o?void 0:o);else if(null!==o){const a=i.get(o);i.move(a,s),JE(a,r)}});for(let r=0,o=i.length;r<o;r++){const a=i.get(r).context;a.index=r,a.count=o,a.ngForOf=this._ngForOf}t.forEachIdentityChange(r=>{JE(i.get(r.currentIndex),r)})}static ngTemplateContextGuard(t,i){return!0}static{this.\u0275fac=function(i){return new(i||e)(E(An),E(Yn),E(yg))}}static{this.\u0275dir=H({type:e,selectors:[["","ngFor","","ngForOf",""]],inputs:{ngForOf:"ngForOf",ngForTrackBy:"ngForTrackBy",ngForTemplate:"ngForTemplate"},standalone:!0})}}return e})();function JE(e,n){e.context.$implicit=n.item}let eM=(()=>{class e{constructor(t,i){this._viewContainer=t,this._context=new CH,this._thenTemplateRef=null,this._elseTemplateRef=null,this._thenViewRef=null,this._elseViewRef=null,this._thenTemplateRef=i}set ngIf(t){this._context.$implicit=this._context.ngIf=t,this._updateView()}set ngIfThen(t){tM("ngIfThen",t),this._thenTemplateRef=t,this._thenViewRef=null,this._updateView()}set ngIfElse(t){tM("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,i){return!0}static{this.\u0275fac=function(i){return new(i||e)(E(An),E(Yn))}}static{this.\u0275dir=H({type:e,selectors:[["","ngIf",""]],inputs:{ngIf:"ngIf",ngIfThen:"ngIfThen",ngIfElse:"ngIfElse"},standalone:!0})}}return e})();class CH{constructor(){this.$implicit=null,this.ngIf=null}}function tM(e,n){if(n&&!n.createEmbeddedView)throw new Error(`${e} must be a TemplateRef, but received '${Ge(n)}'.`)}let Og=(()=>{class e{constructor(t,i="USD"){this._locale=t,this._defaultCurrencyCode=i}transform(t,i=this._defaultCurrencyCode,r="symbol",o,s){if(!function kg(e){return!(null==e||""===e||e!=e)}(t))return null;s||=this._locale,"boolean"==typeof r&&(r=r?"symbol":"code");let a=i||this._defaultCurrencyCode;"code"!==r&&(a="symbol"===r||"symbol-narrow"===r?function Yj(e,n,t="en"){const i=function zj(e){return wt(e)[ye.Currencies]}(t)[e]||jE[e]||[],r=i[1];return"narrow"===n&&"string"==typeof r?r:i[0]||e}(a,"symbol"===r?"wide":"narrow",s):r);try{return pH(function Rg(e){if("string"==typeof e&&!isNaN(Number(e)-parseFloat(e)))return Number(e);if("number"!=typeof e)throw new Error(`${e} is not a number`);return e}(t),s,a,i,o)}catch(l){throw function mn(e,n){return new M(2100,!1)}()}}static{this.\u0275fac=function(i){return new(i||e)(E(Ci,16),E(SB,16))}}static{this.\u0275pipe=St({name:"currency",type:e,pure:!0,standalone:!0})}}return e})();let rM=(()=>{class e{static{this.\u0275fac=function(i){return new(i||e)}}static{this.\u0275mod=$i({type:e})}static{this.\u0275inj=di({})}}return e})();function sM(e){return"server"===e}class aM{}class wU extends Rj{constructor(){super(...arguments),this.supportsDOMEvents=!0}}class Bg extends wU{static makeCurrent(){!function kj(e){BE??=e}(new Bg)}onAndCancel(n,t,i){return n.addEventListener(t,i),()=>{n.removeEventListener(t,i)}}dispatchEvent(n,t){n.dispatchEvent(t)}remove(n){n.remove()}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 CU(){return Ca=Ca||document.querySelector("base"),Ca?Ca.getAttribute("href"):null}();return null==t?null:function EU(e){return new URL(e,document.baseURI).pathname}(t)}resetBaseElement(){Ca=null}getUserAgent(){return window.navigator.userAgent}getCookie(n){return YE(document.cookie,n)}}let Ca=null,IU=(()=>{class e{build(){return new XMLHttpRequest}static{this.\u0275fac=function(i){return new(i||e)}}static{this.\u0275prov=R({token:e,factory:e.\u0275fac})}}return e})();const jg=new T("");let vM=(()=>{class e{constructor(t,i){this._zone=i,this._eventNameToPlugin=new Map,t.forEach(r=>{r.manager=this}),this._plugins=t.slice().reverse()}addEventListener(t,i,r){return this._findPluginFor(i).addEventListener(t,i,r)}getZone(){return this._zone}_findPluginFor(t){let i=this._eventNameToPlugin.get(t);if(i)return i;if(i=this._plugins.find(o=>o.supports(t)),!i)throw new M(5101,!1);return this._eventNameToPlugin.set(t,i),i}static{this.\u0275fac=function(i){return new(i||e)(F(jg),F(se))}}static{this.\u0275prov=R({token:e,factory:e.\u0275fac})}}return e})();class _M{constructor(n){this._doc=n}}const Hg="ng-app-id";let bM=(()=>{class e{constructor(t,i,r,o={}){this.doc=t,this.appId=i,this.nonce=r,this.platformId=o,this.styleRef=new Map,this.hostNodes=new Set,this.styleNodesInDOM=this.collectServerRenderedStyles(),this.platformIsServer=sM(o),this.resetHostNodes()}addStyles(t){for(const i of t)1===this.changeUsageCount(i,1)&&this.onStyleAdded(i)}removeStyles(t){for(const i of t)this.changeUsageCount(i,-1)<=0&&this.onStyleRemoved(i)}ngOnDestroy(){const t=this.styleNodesInDOM;t&&(t.forEach(i=>i.remove()),t.clear());for(const i of this.getAllStyles())this.onStyleRemoved(i);this.resetHostNodes()}addHost(t){this.hostNodes.add(t);for(const i of this.getAllStyles())this.addStyleToHost(t,i)}removeHost(t){this.hostNodes.delete(t)}getAllStyles(){return this.styleRef.keys()}onStyleAdded(t){for(const i of this.hostNodes)this.addStyleToHost(i,t)}onStyleRemoved(t){const i=this.styleRef;i.get(t)?.elements?.forEach(r=>r.remove()),i.delete(t)}collectServerRenderedStyles(){const t=this.doc.head?.querySelectorAll(`style[${Hg}="${this.appId}"]`);if(t?.length){const i=new Map;return t.forEach(r=>{null!=r.textContent&&i.set(r.textContent,r)}),i}return null}changeUsageCount(t,i){const r=this.styleRef;if(r.has(t)){const o=r.get(t);return o.usage+=i,o.usage}return r.set(t,{usage:i,elements:[]}),i}getStyleElement(t,i){const r=this.styleNodesInDOM,o=r?.get(i);if(o?.parentNode===t)return r.delete(i),o.removeAttribute(Hg),o;{const s=this.doc.createElement("style");return this.nonce&&s.setAttribute("nonce",this.nonce),s.textContent=i,this.platformIsServer&&s.setAttribute(Hg,this.appId),t.appendChild(s),s}}addStyleToHost(t,i){const r=this.getStyleElement(t,i),o=this.styleRef,s=o.get(i)?.elements;s?s.push(r):o.set(i,{elements:[r],usage:1})}resetHostNodes(){const t=this.hostNodes;t.clear(),t.add(this.doc.head)}static{this.\u0275fac=function(i){return new(i||e)(F(Mi),F(io),F(H_,8),F(yi))}}static{this.\u0275prov=R({token:e,factory:e.\u0275fac})}}return e})();const Ug={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/Math/MathML"},$g=/%COMP%/g,AU=new T("",{providedIn:"root",factory:()=>!0});function wM(e,n){return n.map(t=>t.replace($g,e))}let CM=(()=>{class e{constructor(t,i,r,o,s,a,l,c=null){this.eventManager=t,this.sharedStylesHost=i,this.appId=r,this.removeStylesOnCompDestroy=o,this.doc=s,this.platformId=a,this.ngZone=l,this.nonce=c,this.rendererByCompId=new Map,this.platformIsServer=sM(a),this.defaultRenderer=new zg(t,s,l,this.platformIsServer)}createRenderer(t,i){if(!t||!i)return this.defaultRenderer;this.platformIsServer&&i.encapsulation===sn.ShadowDom&&(i={...i,encapsulation:sn.Emulated});const r=this.getOrCreateRenderer(t,i);return r instanceof MM?r.applyToHost(t):r instanceof Wg&&r.applyStyles(),r}getOrCreateRenderer(t,i){const r=this.rendererByCompId;let o=r.get(i.id);if(!o){const s=this.doc,a=this.ngZone,l=this.eventManager,c=this.sharedStylesHost,u=this.removeStylesOnCompDestroy,d=this.platformIsServer;switch(i.encapsulation){case sn.Emulated:o=new MM(l,c,i,this.appId,u,s,a,d);break;case sn.ShadowDom:return new kU(l,c,t,i,s,a,this.nonce,d);default:o=new Wg(l,c,i,u,s,a,d)}r.set(i.id,o)}return o}ngOnDestroy(){this.rendererByCompId.clear()}static{this.\u0275fac=function(i){return new(i||e)(F(vM),F(bM),F(io),F(AU),F(Mi),F(yi),F(se),F(H_))}}static{this.\u0275prov=R({token:e,factory:e.\u0275fac})}}return e})();class zg{constructor(n,t,i,r){this.eventManager=n,this.doc=t,this.ngZone=i,this.platformIsServer=r,this.data=Object.create(null),this.throwOnSyntheticProps=!0,this.destroyNode=null}destroy(){}createElement(n,t){return t?this.doc.createElementNS(Ug[t]||t,n):this.doc.createElement(n)}createComment(n){return this.doc.createComment(n)}createText(n){return this.doc.createTextNode(n)}appendChild(n,t){(EM(n)?n.content:n).appendChild(t)}insertBefore(n,t,i){n&&(EM(n)?n.content:n).insertBefore(t,i)}removeChild(n,t){t.remove()}selectRootElement(n,t){let i="string"==typeof n?this.doc.querySelector(n):n;if(!i)throw new M(-5104,!1);return t||(i.textContent=""),i}parentNode(n){return n.parentNode}nextSibling(n){return n.nextSibling}setAttribute(n,t,i,r){if(r){t=r+":"+t;const o=Ug[r];o?n.setAttributeNS(o,t,i):n.setAttribute(t,i)}else n.setAttribute(t,i)}removeAttribute(n,t,i){if(i){const r=Ug[i];r?n.removeAttributeNS(r,t):n.removeAttribute(`${i}:${t}`)}else n.removeAttribute(t)}addClass(n,t){n.classList.add(t)}removeClass(n,t){n.classList.remove(t)}setStyle(n,t,i,r){r&(_i.DashCase|_i.Important)?n.style.setProperty(t,i,r&_i.Important?"important":""):n.style[t]=i}removeStyle(n,t,i){i&_i.DashCase?n.style.removeProperty(t):n.style[t]=""}setProperty(n,t,i){null!=n&&(n[t]=i)}setValue(n,t){n.nodeValue=t}listen(n,t,i){if("string"==typeof n&&!(n=_a().getGlobalEventTarget(this.doc,n)))throw new Error(`Unsupported event target ${n} for event ${t}`);return this.eventManager.addEventListener(n,t,this.decoratePreventDefault(i))}decoratePreventDefault(n){return t=>{if("__ngUnwrap__"===t)return n;!1===(this.platformIsServer?this.ngZone.runGuarded(()=>n(t)):n(t))&&t.preventDefault()}}}function EM(e){return"TEMPLATE"===e.tagName&&void 0!==e.content}class kU extends zg{constructor(n,t,i,r,o,s,a,l){super(n,o,s,l),this.sharedStylesHost=t,this.hostEl=i,this.shadowRoot=i.attachShadow({mode:"open"}),this.sharedStylesHost.addHost(this.shadowRoot);const c=wM(r.id,r.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,i){return super.insertBefore(this.nodeOrShadowRoot(n),t,i)}removeChild(n,t){return super.removeChild(null,t)}parentNode(n){return this.nodeOrShadowRoot(super.parentNode(this.nodeOrShadowRoot(n)))}destroy(){this.sharedStylesHost.removeHost(this.shadowRoot)}}class Wg extends zg{constructor(n,t,i,r,o,s,a,l){super(n,o,s,a),this.sharedStylesHost=t,this.removeStylesOnCompDestroy=r,this.styles=l?wM(l,i.styles):i.styles}applyStyles(){this.sharedStylesHost.addStyles(this.styles)}destroy(){this.removeStylesOnCompDestroy&&this.sharedStylesHost.removeStyles(this.styles)}}class MM extends Wg{constructor(n,t,i,r,o,s,a,l){const c=r+"-"+i.id;super(n,t,i,o,s,a,l,c),this.contentAttr=function NU(e){return"_ngcontent-%COMP%".replace($g,e)}(c),this.hostAttr=function PU(e){return"_nghost-%COMP%".replace($g,e)}(c)}applyToHost(n){this.applyStyles(),this.setAttribute(n,this.hostAttr,"")}createElement(n,t){const i=super.createElement(n,t);return super.setAttribute(i,this.contentAttr,""),i}}let RU=(()=>{class e extends _M{constructor(t){super(t)}supports(t){return!0}addEventListener(t,i,r){return t.addEventListener(i,r,!1),()=>this.removeEventListener(t,i,r)}removeEventListener(t,i,r){return t.removeEventListener(i,r)}static{this.\u0275fac=function(i){return new(i||e)(F(Mi))}}static{this.\u0275prov=R({token:e,factory:e.\u0275fac})}}return e})();const IM=["alt","control","meta","shift"],FU={"\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"},LU={alt:e=>e.altKey,control:e=>e.ctrlKey,meta:e=>e.metaKey,shift:e=>e.shiftKey};let VU=(()=>{class e extends _M{constructor(t){super(t)}supports(t){return null!=e.parseEventName(t)}addEventListener(t,i,r){const o=e.parseEventName(i),s=e.eventCallback(o.fullKey,r,this.manager.getZone());return this.manager.getZone().runOutsideAngular(()=>_a().onAndCancel(t,o.domEventName,s))}static parseEventName(t){const i=t.toLowerCase().split("."),r=i.shift();if(0===i.length||"keydown"!==r&&"keyup"!==r)return null;const o=e._normalizeKey(i.pop());let s="",a=i.indexOf("code");if(a>-1&&(i.splice(a,1),s="code."),IM.forEach(c=>{const u=i.indexOf(c);u>-1&&(i.splice(u,1),s+=c+".")}),s+=o,0!=i.length||0===o.length)return null;const l={};return l.domEventName=r,l.fullKey=s,l}static matchEventFullKeyCode(t,i){let r=FU[t.key]||t.key,o="";return i.indexOf("code.")>-1&&(r=t.code,o="code."),!(null==r||!r)&&(r=r.toLowerCase()," "===r?r="space":"."===r&&(r="dot"),IM.forEach(s=>{s!==r&&(0,LU[s])(t)&&(o+=s+".")}),o+=r,o===i)}static eventCallback(t,i,r){return o=>{e.matchEventFullKeyCode(o,t)&&r.runGuarded(()=>i(o))}}static _normalizeKey(t){return"esc"===t?"escape":t}static{this.\u0275fac=function(i){return new(i||e)(F(Mi))}}static{this.\u0275prov=R({token:e,factory:e.\u0275fac})}}return e})();const UU=rE(XB,"browser",[{provide:yi,useValue:"browser"},{provide:j_,useValue:function BU(){Bg.makeCurrent()},multi:!0},{provide:Mi,useFactory:function HU(){return function fO(e){Jf=e}(document),document},deps:[]}]),$U=new T(""),TM=[{provide:Zc,useClass:class MU{addToWindow(n){be.getAngularTestability=(i,r=!0)=>{const o=n.findTestabilityInTree(i,r);if(null==o)throw new M(5103,!1);return o},be.getAllAngularTestabilities=()=>n.getAllTestabilities(),be.getAllAngularRootElements=()=>n.getAllRootElements(),be.frameworkStabilizers||(be.frameworkStabilizers=[]),be.frameworkStabilizers.push(i=>{const r=be.getAllAngularTestabilities();let o=r.length;const s=function(){o--,0==o&&i()};r.forEach(a=>{a.whenStable(s)})})}findTestabilityInTree(n,t,i){return null==t?null:n.getTestability(t)??(i?_a().isShadowRoot(t)?this.findTestabilityInTree(n,t.host,!0):this.findTestabilityInTree(n,t.parentElement,!0):null)}},deps:[]},{provide:W0,useClass:og,deps:[se,sg,Zc]},{provide:og,useClass:og,deps:[se,sg,Zc]}],AM=[{provide:df,useValue:"root"},{provide:Sn,useFactory:function jU(){return new Sn},deps:[]},{provide:jg,useClass:RU,multi:!0,deps:[Mi,se,yi]},{provide:jg,useClass:VU,multi:!0,deps:[Mi]},CM,bM,vM,{provide:ep,useExisting:CM},{provide:aM,useClass:IU,deps:[]},[]];let zU=(()=>{class e{constructor(t){}static withServerTransition(t){return{ngModule:e,providers:[{provide:io,useValue:t.appId}]}}static{this.\u0275fac=function(i){return new(i||e)(F($U,12))}}static{this.\u0275mod=$i({type:e})}static{this.\u0275inj=di({providers:[...AM,...TM],imports:[rM,QB]})}}return e})();function Ii(e){return this instanceof Ii?(this.v=e,this):new Ii(e)}function FM(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 Zg(e){var n="function"==typeof Symbol&&Symbol.iterator,t=n&&e[n],i=0;if(t)return t.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&i>=e.length&&(e=void 0),{value:e&&e[i++],done:!e}}};throw new TypeError(n?"Object is not iterable.":"Symbol.iterator is not defined.")}(e),t={},i("next"),i("throw"),i("return"),t[Symbol.asyncIterator]=function(){return this},t);function i(o){t[o]=e[o]&&function(s){return new Promise(function(a,l){!function r(o,s,a,l){Promise.resolve(l).then(function(c){o({value:c,done:a})},s)}(a,l,(s=e[o](s)).done,s.value)})}}}"function"==typeof SuppressedError&&SuppressedError;const LM=e=>e&&"number"==typeof e.length&&"function"!=typeof e;function VM(e){return Te(e?.then)}function BM(e){return Te(e[Ld])}function jM(e){return Symbol.asyncIterator&&Te(e?.[Symbol.asyncIterator])}function HM(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 UM=function b$(){return"function"==typeof Symbol&&Symbol.iterator?Symbol.iterator:"@@iterator"}();function $M(e){return Te(e?.[UM])}function zM(e){return function RM(e,n,t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var r,i=t.apply(e,n||[]),o=[];return r=Object.create(("function"==typeof AsyncIterator?AsyncIterator:Object).prototype),a("next"),a("throw"),a("return",function s(h){return function(p){return Promise.resolve(p).then(h,d)}}),r[Symbol.asyncIterator]=function(){return this},r;function a(h,p){i[h]&&(r[h]=function(g){return new Promise(function(m,v){o.push([h,g,m,v])>1||l(h,g)})},p&&(r[h]=p(r[h])))}function l(h,p){try{!function c(h){h.value instanceof Ii?Promise.resolve(h.value.v).then(u,d):f(o[0][2],h)}(i[h](p))}catch(g){f(o[0][3],g)}}function u(h){l("next",h)}function d(h){l("throw",h)}function f(h,p){h(p),o.shift(),o.length&&l(o[0][0],o[0][1])}}(this,arguments,function*(){const t=e.getReader();try{for(;;){const{value:i,done:r}=yield Ii(t.read());if(r)return yield Ii(void 0);yield yield Ii(i)}}finally{t.releaseLock()}})}function WM(e){return Te(e?.getReader)}function Kn(e){if(e instanceof yt)return e;if(null!=e){if(BM(e))return function D$(e){return new yt(n=>{const t=e[Ld]();if(Te(t.subscribe))return t.subscribe(n);throw new TypeError("Provided object does not correctly implement Symbol.observable")})}(e);if(LM(e))return function w$(e){return new yt(n=>{for(let t=0;t<e.length&&!n.closed;t++)n.next(e[t]);n.complete()})}(e);if(VM(e))return function C$(e){return new yt(n=>{e.then(t=>{n.closed||(n.next(t),n.complete())},t=>n.error(t)).then(null,Oy)})}(e);if(jM(e))return GM(e);if($M(e))return function E$(e){return new yt(n=>{for(const t of e)if(n.next(t),n.closed)return;n.complete()})}(e);if(WM(e))return function M$(e){return GM(zM(e))}(e)}throw HM(e)}function GM(e){return new yt(n=>{(function I$(e,n){var t,i,r,o;return function OM(e,n,t,i){return new(t||(t=Promise))(function(o,s){function a(u){try{c(i.next(u))}catch(d){s(d)}}function l(u){try{c(i.throw(u))}catch(d){s(d)}}function c(u){u.done?o(u.value):function r(o){return o instanceof t?o:new t(function(s){s(o)})}(u.value).then(a,l)}c((i=i.apply(e,n||[])).next())})}(this,void 0,void 0,function*(){try{for(t=FM(e);!(i=yield t.next()).done;)if(n.next(i.value),n.closed)return}catch(s){r={error:s}}finally{try{i&&!i.done&&(o=t.return)&&(yield o.call(t))}finally{if(r)throw r.error}}n.complete()})})(e,n).catch(t=>n.error(t))})}function xi(e,n,t,i=0,r=!1){const o=n.schedule(function(){t(),r?e.add(this.schedule(null,i)):this.unsubscribe()},i);if(e.add(o),!r)return o}function qM(e,n=0){return on((t,i)=>{t.subscribe(bn(i,r=>xi(i,e,()=>i.next(r),n),()=>xi(i,e,()=>i.complete(),n),r=>xi(i,e,()=>i.error(r),n)))})}function YM(e,n=0){return on((t,i)=>{i.add(e.schedule(()=>t.subscribe(i),n))})}function ZM(e,n){if(!e)throw new Error("Iterable cannot be null");return new yt(t=>{xi(t,n,()=>{const i=e[Symbol.asyncIterator]();xi(t,n,()=>{i.next().then(r=>{r.done?t.complete():t.next(r.value)})},0,!0)})})}function Mu(e,n){return n?function P$(e,n){if(null!=e){if(BM(e))return function x$(e,n){return Kn(e).pipe(YM(n),qM(n))}(e,n);if(LM(e))return function T$(e,n){return new yt(t=>{let i=0;return n.schedule(function(){i===e.length?t.complete():(t.next(e[i++]),t.closed||this.schedule())})})}(e,n);if(VM(e))return function S$(e,n){return Kn(e).pipe(YM(n),qM(n))}(e,n);if(jM(e))return ZM(e,n);if($M(e))return function A$(e,n){return new yt(t=>{let i;return xi(t,n,()=>{i=e[UM](),xi(t,n,()=>{let r,o;try{({value:r,done:o}=i.next())}catch(s){return void t.error(s)}o?t.complete():t.next(r)},0,!0)}),()=>Te(i?.return)&&i.return()})}(e,n);if(WM(e))return function N$(e,n){return ZM(zM(e),n)}(e,n)}throw HM(e)}(e,n):Kn(e)}const{isArray:O$}=Array,{getPrototypeOf:k$,prototype:R$,keys:F$}=Object;function XM(e){return e&&Te(e.schedule)}function Qg(e){return e[e.length-1]}function Kg(e){return XM(Qg(e))?e.pop():void 0}const{isArray:j$}=Array;function $$(e,n){return e.reduce((t,i,r)=>(t[i]=n[r],t),{})}function z$(...e){const n=function B$(e){return Te(Qg(e))?e.pop():void 0}(e),{args:t,keys:i}=function L$(e){if(1===e.length){const n=e[0];if(O$(n))return{args:n,keys:null};if(function V$(e){return e&&"object"==typeof e&&k$(e)===R$}(n)){const t=F$(n);return{args:t.map(i=>n[i]),keys:t}}}return{args:e,keys:null}}(e),r=new yt(o=>{const{length:s}=t;if(!s)return void o.complete();const a=new Array(s);let l=s,c=s;for(let u=0;u<s;u++){let d=!1;Kn(t[u]).subscribe(bn(o,f=>{d||(d=!0,c--),a[u]=f},()=>l--,void 0,()=>{(!l||!d)&&(c||o.next(i?$$(i,a):a),o.complete())}))}});return n?r.pipe(function U$(e){return st(n=>function H$(e,n){return j$(n)?e(...n):e(n)}(e,n))}(n)):r}let QM=(()=>{class e{constructor(t,i){this._renderer=t,this._elementRef=i,this.onChange=r=>{},this.onTouched=()=>{}}setProperty(t,i){this._renderer.setProperty(this._elementRef.nativeElement,t,i)}registerOnTouched(t){this.onTouched=t}registerOnChange(t){this.onChange=t}setDisabledState(t){this.setProperty("disabled",t)}static{this.\u0275fac=function(i){return new(i||e)(E(sr),E(Tt))}}static{this.\u0275dir=H({type:e})}}return e})(),gr=(()=>{class e extends QM{static{this.\u0275fac=(()=>{let t;return function(r){return(t||(t=ct(e)))(r||e)}})()}static{this.\u0275dir=H({type:e,features:[ce]})}}return e})();const yn=new T(""),G$={provide:yn,useExisting:pe(()=>Iu),multi:!0},Y$=new T("");let Iu=(()=>{class e extends QM{constructor(t,i,r){super(t,i),this._compositionMode=r,this._composing=!1,null==this._compositionMode&&(this._compositionMode=!function q$(){const e=_a()?_a().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{this.\u0275fac=function(i){return new(i||e)(E(sr),E(Tt),E(Y$,8))}}static{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(i,r){1&i&&Ae("input",function(s){return r._handleInput(s.target.value)})("blur",function(){return r.onTouched()})("compositionstart",function(){return r._compositionStart()})("compositionend",function(s){return r._compositionEnd(s.target.value)})},features:[De([G$]),ce]})}}return e})();const ft=new T(""),Ti=new T("");function xu(e){return null}function lI(e){return null!=e}function cI(e){return Xc(e)?Mu(e):e}function uI(e){let n={};return e.forEach(t=>{n=null!=t?{...n,...t}:n}),0===Object.keys(n).length?null:n}function dI(e,n){return n.map(t=>t(e))}function fI(e){return e.map(n=>function X$(e){return!e.validate}(n)?n:t=>n.validate(t))}function Jg(e){return null!=e?function hI(e){if(!e)return null;const n=e.filter(lI);return 0==n.length?null:function(t){return uI(dI(t,n))}}(fI(e)):null}function em(e){return null!=e?function pI(e){if(!e)return null;const n=e.filter(lI);return 0==n.length?null:function(t){return z$(dI(t,n).map(cI)).pipe(st(uI))}}(fI(e)):null}function gI(e,n){return null===e?[n]:Array.isArray(e)?[...e,n]:[e,n]}function mI(e){return e._rawValidators}function yI(e){return e._rawAsyncValidators}function tm(e){return e?Array.isArray(e)?e:[e]:[]}function Su(e,n){return Array.isArray(e)?e.includes(n):e===n}function vI(e,n){const t=tm(n);return tm(e).forEach(r=>{Su(t,r)||t.push(r)}),t}function _I(e,n){return tm(n).filter(t=>!Su(e,t))}class bI{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=Jg(this._rawValidators)}_setAsyncValidators(n){this._rawAsyncValidators=n||[],this._composedAsyncValidatorFn=em(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 Mt extends bI{get formDirective(){return null}get path(){return null}}class Ai extends bI{constructor(){super(...arguments),this._parent=null,this.name=null,this.valueAccessor=null}}class DI{constructor(n){this._cd=n}get isTouched(){return this._cd?.control?._touched?.(),!!this._cd?.control?.touched}get isUntouched(){return!!this._cd?.control?.untouched}get isPristine(){return this._cd?.control?._pristine?.(),!!this._cd?.control?.pristine}get isDirty(){return!!this._cd?.control?.dirty}get isValid(){return this._cd?.control?._status?.(),!!this._cd?.control?.valid}get isInvalid(){return!!this._cd?.control?.invalid}get isPending(){return!!this._cd?.control?.pending}get isSubmitted(){return this._cd?._submitted?.(),!!this._cd?.submitted}}let wI=(()=>{class e extends DI{constructor(t){super(t)}static{this.\u0275fac=function(i){return new(i||e)(E(Ai,2))}}static{this.\u0275dir=H({type:e,selectors:[["","formControlName",""],["","ngModel",""],["","formControl",""]],hostVars:14,hostBindings:function(i,r){2&i&&Fc("ng-untouched",r.isUntouched)("ng-touched",r.isTouched)("ng-pristine",r.isPristine)("ng-dirty",r.isDirty)("ng-valid",r.isValid)("ng-invalid",r.isInvalid)("ng-pending",r.isPending)},features:[ce]})}}return e})(),CI=(()=>{class e extends DI{constructor(t){super(t)}static{this.\u0275fac=function(i){return new(i||e)(E(Mt,10))}}static{this.\u0275dir=H({type:e,selectors:[["","formGroupName",""],["","formArrayName",""],["","ngModelGroup",""],["","formGroup",""],["form",3,"ngNoForm",""],["","ngForm",""]],hostVars:16,hostBindings:function(i,r){2&i&&Fc("ng-untouched",r.isUntouched)("ng-touched",r.isTouched)("ng-pristine",r.isPristine)("ng-dirty",r.isDirty)("ng-valid",r.isValid)("ng-invalid",r.isInvalid)("ng-pending",r.isPending)("ng-submitted",r.isSubmitted)},features:[ce]})}}return e})();const Ea="VALID",Au="INVALID",Ho="PENDING",Ma="DISABLED";class Uo{}class MI extends Uo{constructor(n,t){super(),this.value=n,this.source=t}}class rm extends Uo{constructor(n,t){super(),this.pristine=n,this.source=t}}class om extends Uo{constructor(n,t){super(),this.touched=n,this.source=t}}class Nu extends Uo{constructor(n,t){super(),this.status=n,this.source=t}}class tz extends Uo{constructor(n){super(),this.source=n}}class nz extends Uo{constructor(n){super(),this.source=n}}function sm(e){return(Pu(e)?e.validators:e)||null}function am(e,n){return(Pu(n)?n.asyncValidators:e)||null}function Pu(e){return null!=e&&!Array.isArray(e)&&"object"==typeof e}function II(e,n,t){const i=e.controls;if(!(n?Object.keys(i):i).length)throw new M(1e3,"");if(!i[t])throw new M(1001,"")}function xI(e,n,t){e._forEachChild((i,r)=>{if(void 0===t[r])throw new M(1002,"")})}class Ou{constructor(n,t){this._pendingDirty=!1,this._hasOwnPendingAsyncValidator=null,this._pendingTouched=!1,this._onCollectionChange=()=>{},this._parent=null,this._status=va(()=>this.statusReactive()),this.statusReactive=go(void 0),this._pristine=va(()=>this.pristineReactive()),this.pristineReactive=go(!0),this._touched=va(()=>this.touchedReactive()),this.touchedReactive=go(!1),this._events=new ci,this.events=this._events.asObservable(),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 status(){return Rn(this.statusReactive)}set status(n){Rn(()=>this.statusReactive.set(n))}get valid(){return this.status===Ea}get invalid(){return this.status===Au}get pending(){return this.status==Ho}get disabled(){return this.status===Ma}get enabled(){return this.status!==Ma}get pristine(){return Rn(this.pristineReactive)}set pristine(n){Rn(()=>this.pristineReactive.set(n))}get dirty(){return!this.pristine}get touched(){return Rn(this.touchedReactive)}set touched(n){Rn(()=>this.touchedReactive.set(n))}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(vI(n,this._rawValidators))}addAsyncValidators(n){this.setAsyncValidators(vI(n,this._rawAsyncValidators))}removeValidators(n){this.setValidators(_I(n,this._rawValidators))}removeAsyncValidators(n){this.setAsyncValidators(_I(n,this._rawAsyncValidators))}hasValidator(n){return Su(this._rawValidators,n)}hasAsyncValidator(n){return Su(this._rawAsyncValidators,n)}clearValidators(){this.validator=null}clearAsyncValidators(){this.asyncValidator=null}markAsTouched(n={}){const t=!1===this.touched;this.touched=!0;const i=n.sourceControl??this;this._parent&&!n.onlySelf&&this._parent.markAsTouched({...n,sourceControl:i}),t&&!1!==n.emitEvent&&this._events.next(new om(!0,i))}markAllAsTouched(n={}){this.markAsTouched({onlySelf:!0,emitEvent:n.emitEvent,sourceControl:this}),this._forEachChild(t=>t.markAllAsTouched(n))}markAsUntouched(n={}){const t=!0===this.touched;this.touched=!1,this._pendingTouched=!1;const i=n.sourceControl??this;this._forEachChild(r=>{r.markAsUntouched({onlySelf:!0,emitEvent:n.emitEvent,sourceControl:i})}),this._parent&&!n.onlySelf&&this._parent._updateTouched(n,i),t&&!1!==n.emitEvent&&this._events.next(new om(!1,i))}markAsDirty(n={}){const t=!0===this.pristine;this.pristine=!1;const i=n.sourceControl??this;this._parent&&!n.onlySelf&&this._parent.markAsDirty({...n,sourceControl:i}),t&&!1!==n.emitEvent&&this._events.next(new rm(!1,i))}markAsPristine(n={}){const t=!1===this.pristine;this.pristine=!0,this._pendingDirty=!1;const i=n.sourceControl??this;this._forEachChild(r=>{r.markAsPristine({onlySelf:!0,emitEvent:n.emitEvent})}),this._parent&&!n.onlySelf&&this._parent._updatePristine(n,i),t&&!1!==n.emitEvent&&this._events.next(new rm(!0,i))}markAsPending(n={}){this.status=Ho;const t=n.sourceControl??this;!1!==n.emitEvent&&(this._events.next(new Nu(this.status,t)),this.statusChanges.emit(this.status)),this._parent&&!n.onlySelf&&this._parent.markAsPending({...n,sourceControl:t})}disable(n={}){const t=this._parentMarkedDirty(n.onlySelf);this.status=Ma,this.errors=null,this._forEachChild(r=>{r.disable({...n,onlySelf:!0})}),this._updateValue();const i=n.sourceControl??this;!1!==n.emitEvent&&(this._events.next(new MI(this.value,i)),this._events.next(new Nu(this.status,i)),this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._updateAncestors({...n,skipPristineCheck:t},this),this._onDisabledChange.forEach(r=>r(!0))}enable(n={}){const t=this._parentMarkedDirty(n.onlySelf);this.status=Ea,this._forEachChild(i=>{i.enable({...n,onlySelf:!0})}),this.updateValueAndValidity({onlySelf:!0,emitEvent:n.emitEvent}),this._updateAncestors({...n,skipPristineCheck:t},this),this._onDisabledChange.forEach(i=>i(!1))}_updateAncestors(n,t){this._parent&&!n.onlySelf&&(this._parent.updateValueAndValidity(n),n.skipPristineCheck||this._parent._updatePristine({},t),this._parent._updateTouched({},t))}setParent(n){this._parent=n}getRawValue(){return this.value}updateValueAndValidity(n={}){if(this._setInitialStatus(),this._updateValue(),this.enabled){const i=this._cancelExistingSubscription();this.errors=this._runValidator(),this.status=this._calculateStatus(),(this.status===Ea||this.status===Ho)&&this._runAsyncValidator(i,n.emitEvent)}const t=n.sourceControl??this;!1!==n.emitEvent&&(this._events.next(new MI(this.value,t)),this._events.next(new Nu(this.status,t)),this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._parent&&!n.onlySelf&&this._parent.updateValueAndValidity({...n,sourceControl:t})}_updateTreeValidity(n={emitEvent:!0}){this._forEachChild(t=>t._updateTreeValidity(n)),this.updateValueAndValidity({onlySelf:!0,emitEvent:n.emitEvent})}_setInitialStatus(){this.status=this._allControlsDisabled()?Ma:Ea}_runValidator(){return this.validator?this.validator(this):null}_runAsyncValidator(n,t){if(this.asyncValidator){this.status=Ho,this._hasOwnPendingAsyncValidator={emitEvent:!1!==t};const i=cI(this.asyncValidator(this));this._asyncValidationSubscription=i.subscribe(r=>{this._hasOwnPendingAsyncValidator=null,this.setErrors(r,{emitEvent:t,shouldHaveEmitted:n})})}}_cancelExistingSubscription(){if(this._asyncValidationSubscription){this._asyncValidationSubscription.unsubscribe();const n=this._hasOwnPendingAsyncValidator?.emitEvent??!1;return this._hasOwnPendingAsyncValidator=null,n}return!1}setErrors(n,t={}){this.errors=n,this._updateControlsErrors(!1!==t.emitEvent,this,t.shouldHaveEmitted)}get(n){let t=n;return null==t||(Array.isArray(t)||(t=t.split(".")),0===t.length)?null:t.reduce((i,r)=>i&&i._find(r),this)}getError(n,t){const i=t?this.get(t):this;return i&&i.errors?i.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,t,i){this.status=this._calculateStatus(),n&&this.statusChanges.emit(this.status),(n||i)&&this._events.next(new Nu(this.status,t)),this._parent&&this._parent._updateControlsErrors(n,t,i)}_initObservables(){this.valueChanges=new Qe,this.statusChanges=new Qe}_calculateStatus(){return this._allControlsDisabled()?Ma:this.errors?Au:this._hasOwnPendingAsyncValidator||this._anyControlsHaveStatus(Ho)?Ho:this._anyControlsHaveStatus(Au)?Au:Ea}_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,t){const i=!this._anyControlsDirty(),r=this.pristine!==i;this.pristine=i,this._parent&&!n.onlySelf&&this._parent._updatePristine(n,t),r&&this._events.next(new rm(this.pristine,t))}_updateTouched(n={},t){this.touched=this._anyControlsTouched(),this._events.next(new om(this.touched,t)),this._parent&&!n.onlySelf&&this._parent._updateTouched(n,t)}_registerOnCollectionChange(n){this._onCollectionChange=n}_setUpdateStrategy(n){Pu(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 iz(e){return Array.isArray(e)?Jg(e):e||null}(this._rawValidators)}_assignAsyncValidators(n){this._rawAsyncValidators=Array.isArray(n)?n.slice():n,this._composedAsyncValidatorFn=function rz(e){return Array.isArray(e)?em(e):e||null}(this._rawAsyncValidators)}}class Ia extends Ou{constructor(n,t,i){super(sm(t),am(i,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,i={}){this.registerControl(n,t),this.updateValueAndValidity({emitEvent:i.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,i={}){this.controls[n]&&this.controls[n]._registerOnCollectionChange(()=>{}),delete this.controls[n],t&&this.registerControl(n,t),this.updateValueAndValidity({emitEvent:i.emitEvent}),this._onCollectionChange()}contains(n){return this.controls.hasOwnProperty(n)&&this.controls[n].enabled}setValue(n,t={}){xI(this,0,n),Object.keys(n).forEach(i=>{II(this,!0,i),this.controls[i].setValue(n[i],{onlySelf:!0,emitEvent:t.emitEvent})}),this.updateValueAndValidity(t)}patchValue(n,t={}){null!=n&&(Object.keys(n).forEach(i=>{const r=this.controls[i];r&&r.patchValue(n[i],{onlySelf:!0,emitEvent:t.emitEvent})}),this.updateValueAndValidity(t))}reset(n={},t={}){this._forEachChild((i,r)=>{i.reset(n?n[r]:null,{onlySelf:!0,emitEvent:t.emitEvent})}),this._updatePristine(t,this),this._updateTouched(t,this),this.updateValueAndValidity(t)}getRawValue(){return this._reduceChildren({},(n,t,i)=>(n[i]=t.getRawValue(),n))}_syncPendingControls(){let n=this._reduceChildren(!1,(t,i)=>!!i._syncPendingControls()||t);return n&&this.updateValueAndValidity({onlySelf:!0}),n}_forEachChild(n){Object.keys(this.controls).forEach(t=>{const i=this.controls[t];i&&n(i,t)})}_setUpControls(){this._forEachChild(n=>{n.setParent(this),n._registerOnCollectionChange(this._onCollectionChange)})}_updateValue(){this.value=this._reduceValue()}_anyControls(n){for(const[t,i]of Object.entries(this.controls))if(this.contains(t)&&n(i))return!0;return!1}_reduceValue(){return this._reduceChildren({},(t,i,r)=>((i.enabled||this.disabled)&&(t[r]=i.value),t))}_reduceChildren(n,t){let i=n;return this._forEachChild((r,o)=>{i=t(i,r,o)}),i}_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}}class SI extends Ia{}const $o=new T("CallSetDisabledState",{providedIn:"root",factory:()=>ku}),ku="always";function xa(e,n,t=ku){lm(e,n),n.valueAccessor.writeValue(e.value),(e.disabled||"always"===t)&&n.valueAccessor.setDisabledState?.(e.disabled),function sz(e,n){n.valueAccessor.registerOnChange(t=>{e._pendingValue=t,e._pendingChange=!0,e._pendingDirty=!0,"change"===e.updateOn&&TI(e,n)})}(e,n),function lz(e,n){const t=(i,r)=>{n.valueAccessor.writeValue(i),r&&n.viewToModelUpdate(i)};e.registerOnChange(t),n._registerOnDestroy(()=>{e._unregisterOnChange(t)})}(e,n),function az(e,n){n.valueAccessor.registerOnTouched(()=>{e._pendingTouched=!0,"blur"===e.updateOn&&e._pendingChange&&TI(e,n),"submit"!==e.updateOn&&e.markAsTouched()})}(e,n),function oz(e,n){if(n.valueAccessor.setDisabledState){const t=i=>{n.valueAccessor.setDisabledState(i)};e.registerOnDisabledChange(t),n._registerOnDestroy(()=>{e._unregisterOnDisabledChange(t)})}}(e,n)}function Fu(e,n,t=!0){const i=()=>{};n.valueAccessor&&(n.valueAccessor.registerOnChange(i),n.valueAccessor.registerOnTouched(i)),Vu(e,n),e&&(n._invokeOnDestroyCallbacks(),e._registerOnCollectionChange(()=>{}))}function Lu(e,n){e.forEach(t=>{t.registerOnValidatorChange&&t.registerOnValidatorChange(n)})}function lm(e,n){const t=mI(e);null!==n.validator?e.setValidators(gI(t,n.validator)):"function"==typeof t&&e.setValidators([t]);const i=yI(e);null!==n.asyncValidator?e.setAsyncValidators(gI(i,n.asyncValidator)):"function"==typeof i&&e.setAsyncValidators([i]);const r=()=>e.updateValueAndValidity();Lu(n._rawValidators,r),Lu(n._rawAsyncValidators,r)}function Vu(e,n){let t=!1;if(null!==e){if(null!==n.validator){const r=mI(e);if(Array.isArray(r)&&r.length>0){const o=r.filter(s=>s!==n.validator);o.length!==r.length&&(t=!0,e.setValidators(o))}}if(null!==n.asyncValidator){const r=yI(e);if(Array.isArray(r)&&r.length>0){const o=r.filter(s=>s!==n.asyncValidator);o.length!==r.length&&(t=!0,e.setAsyncValidators(o))}}}const i=()=>{};return Lu(n._rawValidators,i),Lu(n._rawAsyncValidators,i),t}function TI(e,n){e._pendingDirty&&e.markAsDirty(),e.setValue(e._pendingValue,{emitModelToViewChange:!1}),n.viewToModelUpdate(e._pendingValue),e._pendingChange=!1}function PI(e,n){const t=e.indexOf(n);t>-1&&e.splice(t,1)}function OI(e){return"object"==typeof e&&null!==e&&2===Object.keys(e).length&&"value"in e&&"disabled"in e}Promise.resolve();const Ta=class extends Ou{constructor(n=null,t,i){super(sm(t),am(i,t)),this.defaultValue=null,this._onChange=[],this._pendingChange=!1,this._applyFormState(n),this._setUpdateStrategy(t),this._initObservables(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator}),Pu(t)&&(t.nonNullable||t.initialValueIsDefault)&&(this.defaultValue=OI(n)?n.value:n)}setValue(n,t={}){this.value=this._pendingValue=n,this._onChange.length&&!1!==t.emitModelToViewChange&&this._onChange.forEach(i=>i(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){PI(this._onChange,n)}registerOnDisabledChange(n){this._onDisabledChange.push(n)}_unregisterOnDisabledChange(n){PI(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){OI(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}};Promise.resolve();let VI=(()=>{class e{static{this.\u0275fac=function(i){return new(i||e)}}static{this.\u0275dir=H({type:e,selectors:[["form",3,"ngNoForm","",3,"ngNativeValidate",""]],hostAttrs:["novalidate",""]})}}return e})();const hm=new T(""),wz={provide:Mt,useExisting:pe(()=>Bu)};let Bu=(()=>{class e extends Mt{get submitted(){return Rn(this._submittedReactive)}set submitted(t){this._submittedReactive.set(t)}constructor(t,i,r){super(),this.callSetDisabledState=r,this._submitted=va(()=>this._submittedReactive()),this._submittedReactive=go(!1),this._onCollectionChange=()=>this._updateDomValue(),this.directives=[],this.form=null,this.ngSubmit=new Qe,this._setValidators(t),this._setAsyncValidators(i)}ngOnChanges(t){this._checkFormPresent(),t.hasOwnProperty("form")&&(this._updateValidators(),this._updateDomValue(),this._updateRegistrations(),this._oldForm=this.form)}ngOnDestroy(){this.form&&(Vu(this.form,this),this.form._onCollectionChange===this._onCollectionChange&&this.form._registerOnCollectionChange(()=>{}))}get formDirective(){return this}get control(){return this.form}get path(){return[]}addControl(t){const i=this.form.get(t.path);return xa(i,t,this.callSetDisabledState),i.updateValueAndValidity({emitEvent:!1}),this.directives.push(t),i}getControl(t){return this.form.get(t.path)}removeControl(t){Fu(t.control||null,t,!1),function fz(e,n){const t=e.indexOf(n);t>-1&&e.splice(t,1)}(this.directives,t)}addFormGroup(t){this._setUpFormContainer(t)}removeFormGroup(t){this._cleanUpFormContainer(t)}getFormGroup(t){return this.form.get(t.path)}addFormArray(t){this._setUpFormContainer(t)}removeFormArray(t){this._cleanUpFormContainer(t)}getFormArray(t){return this.form.get(t.path)}updateModel(t,i){this.form.get(t.path).setValue(i)}onSubmit(t){return this._submittedReactive.set(!0),function NI(e,n){e._syncPendingControls(),n.forEach(t=>{const i=t.control;"submit"===i.updateOn&&i._pendingChange&&(t.viewToModelUpdate(i._pendingValue),i._pendingChange=!1)})}(this.form,this.directives),this.ngSubmit.emit(t),this.form._events.next(new tz(this.control)),"dialog"===t?.target?.method}onReset(){this.resetForm()}resetForm(t=void 0){this.form.reset(t),this._submittedReactive.set(!1),this.form._events.next(new nz(this.form))}_updateDomValue(){this.directives.forEach(t=>{const i=t.control,r=this.form.get(t.path);i!==r&&(Fu(i||null,t),(e=>e instanceof Ta)(r)&&(xa(r,t,this.callSetDisabledState),t.control=r))}),this.form._updateTreeValidity({emitEvent:!1})}_setUpFormContainer(t){const i=this.form.get(t.path);(function AI(e,n){lm(e,n)})(i,t),i.updateValueAndValidity({emitEvent:!1})}_cleanUpFormContainer(t){if(this.form){const i=this.form.get(t.path);i&&function cz(e,n){return Vu(e,n)}(i,t)&&i.updateValueAndValidity({emitEvent:!1})}}_updateRegistrations(){this.form._registerOnCollectionChange(this._onCollectionChange),this._oldForm&&this._oldForm._registerOnCollectionChange(()=>{})}_updateValidators(){lm(this.form,this),this._oldForm&&Vu(this._oldForm,this)}_checkFormPresent(){}static{this.\u0275fac=function(i){return new(i||e)(E(ft,10),E(Ti,10),E($o,8))}}static{this.\u0275dir=H({type:e,selectors:[["","formGroup",""]],hostBindings:function(i,r){1&i&&Ae("submit",function(s){return r.onSubmit(s)})("reset",function(){return r.onReset()})},inputs:{form:[0,"formGroup","form"]},outputs:{ngSubmit:"ngSubmit"},exportAs:["ngForm"],features:[De([wz]),ce,En]})}}return e})();const Mz={provide:Ai,useExisting:pe(()=>mm)};let mm=(()=>{class e extends Ai{set isDisabled(t){}static{this._ngModelWarningSentOnce=!1}constructor(t,i,r,o,s){super(),this._ngModelWarningConfig=s,this._added=!1,this.name=null,this.update=new Qe,this._ngModelWarningSent=!1,this._parent=t,this._setValidators(i),this._setAsyncValidators(r),this.valueAccessor=function dm(e,n){if(!n)return null;let t,i,r;return Array.isArray(n),n.forEach(o=>{o.constructor===Iu?t=o:function dz(e){return Object.getPrototypeOf(e.constructor)===gr}(o)?i=o:r=o}),r||i||t||null}(0,o)}ngOnChanges(t){this._added||this._setUpControl(),function um(e,n){if(!e.hasOwnProperty("model"))return!1;const t=e.model;return!!t.isFirstChange()||!Object.is(n,t.currentValue)}(t,this.viewModel)&&(this.viewModel=this.model,this.formDirective.updateModel(this,this.model))}ngOnDestroy(){this.formDirective&&this.formDirective.removeControl(this)}viewToModelUpdate(t){this.viewModel=t,this.update.emit(t)}get path(){return function Ru(e,n){return[...n.path,e]}(null==this.name?this.name:this.name.toString(),this._parent)}get formDirective(){return this._parent?this._parent.formDirective:null}_checkParentType(){}_setUpControl(){this._checkParentType(),this.control=this.formDirective.addControl(this),this._added=!0}static{this.\u0275fac=function(i){return new(i||e)(E(Mt,13),E(ft,10),E(Ti,10),E(yn,10),E(hm,8))}}static{this.\u0275dir=H({type:e,selectors:[["","formControlName",""]],inputs:{name:[0,"formControlName","name"],isDisabled:[0,"disabled","isDisabled"],model:[0,"ngModel","model"]},outputs:{update:"ngModelChange"},features:[De([Mz]),ce,En]})}}return e})();const Iz={provide:yn,useExisting:pe(()=>ju),multi:!0};function zI(e,n){return null==e?`${n}`:(n&&"object"==typeof n&&(n="Object"),`${e}: ${n}`.slice(0,50))}let ju=(()=>{class e extends gr{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 r=zI(this._getOptionId(t),t);this.setProperty("value",r)}registerOnChange(t){this.onChange=i=>{this.value=this._getOptionValue(i),t(this.value)}}_registerOption(){return(this._idCounter++).toString()}_getOptionId(t){for(const i of this._optionMap.keys())if(this._compareWith(this._optionMap.get(i),t))return i;return null}_getOptionValue(t){const i=function xz(e){return e.split(":")[0]}(t);return this._optionMap.has(i)?this._optionMap.get(i):t}static{this.\u0275fac=(()=>{let t;return function(r){return(t||(t=ct(e)))(r||e)}})()}static{this.\u0275dir=H({type:e,selectors:[["select","formControlName","",3,"multiple",""],["select","formControl","",3,"multiple",""],["select","ngModel","",3,"multiple",""]],hostBindings:function(i,r){1&i&&Ae("change",function(s){return r.onChange(s.target.value)})("blur",function(){return r.onTouched()})},inputs:{compareWith:"compareWith"},features:[De([Iz]),ce]})}}return e})(),WI=(()=>{class e{constructor(t,i,r){this._element=t,this._renderer=i,this._select=r,this._select&&(this.id=this._select._registerOption())}set ngValue(t){null!=this._select&&(this._select._optionMap.set(this.id,t),this._setElementValue(zI(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{this.\u0275fac=function(i){return new(i||e)(E(Tt),E(sr),E(ju,9))}}static{this.\u0275dir=H({type:e,selectors:[["option"]],inputs:{ngValue:"ngValue",value:"value"}})}}return e})();const Sz={provide:yn,useExisting:pe(()=>ym),multi:!0};function GI(e,n){return null==e?`${n}`:("string"==typeof n&&(n=`'${n}'`),n&&"object"==typeof n&&(n="Object"),`${e}: ${n}`.slice(0,50))}let ym=(()=>{class e extends gr{constructor(){super(...arguments),this._optionMap=new Map,this._idCounter=0,this._compareWith=Object.is}set compareWith(t){this._compareWith=t}writeValue(t){let i;if(this.value=t,Array.isArray(t)){const r=t.map(o=>this._getOptionId(o));i=(o,s)=>{o._setSelected(r.indexOf(s.toString())>-1)}}else i=(r,o)=>{r._setSelected(!1)};this._optionMap.forEach(i)}registerOnChange(t){this.onChange=i=>{const r=[],o=i.selectedOptions;if(void 0!==o){const s=o;for(let a=0;a<s.length;a++){const c=this._getOptionValue(s[a].value);r.push(c)}}else{const s=i.options;for(let a=0;a<s.length;a++){const l=s[a];if(l.selected){const c=this._getOptionValue(l.value);r.push(c)}}}this.value=r,t(r)}}_registerOption(t){const i=(this._idCounter++).toString();return this._optionMap.set(i,t),i}_getOptionId(t){for(const i of this._optionMap.keys())if(this._compareWith(this._optionMap.get(i)._value,t))return i;return null}_getOptionValue(t){const i=function Tz(e){return e.split(":")[0]}(t);return this._optionMap.has(i)?this._optionMap.get(i)._value:t}static{this.\u0275fac=(()=>{let t;return function(r){return(t||(t=ct(e)))(r||e)}})()}static{this.\u0275dir=H({type:e,selectors:[["select","multiple","","formControlName",""],["select","multiple","","formControl",""],["select","multiple","","ngModel",""]],hostBindings:function(i,r){1&i&&Ae("change",function(s){return r.onChange(s.target)})("blur",function(){return r.onTouched()})},inputs:{compareWith:"compareWith"},features:[De([Sz]),ce]})}}return e})(),qI=(()=>{class e{constructor(t,i,r){this._element=t,this._renderer=i,this._select=r,this._select&&(this.id=this._select._registerOption(this))}set ngValue(t){null!=this._select&&(this._value=t,this._setElementValue(GI(this.id,t)),this._select.writeValue(this._select.value))}set value(t){this._select?(this._value=t,this._setElementValue(GI(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{this.\u0275fac=function(i){return new(i||e)(E(Tt),E(sr),E(ym,9))}}static{this.\u0275dir=H({type:e,selectors:[["option"]],inputs:{ngValue:"ngValue",value:"value"}})}}return e})();let mr=(()=>{class e{constructor(){this._validator=xu}ngOnChanges(t){if(this.inputName in t){const i=this.normalizeInput(t[this.inputName].currentValue);this._enabled=this.enabled(i),this._validator=this._enabled?this.createValidator(i):xu,this._onChange&&this._onChange()}}validate(t){return this._validator(t)}registerOnValidatorChange(t){this._onChange=t}enabled(t){return null!=t}static{this.\u0275fac=function(i){return new(i||e)}}static{this.\u0275dir=H({type:e,features:[En]})}}return e})();const Fz={provide:ft,useExisting:pe(()=>_m),multi:!0};let _m=(()=>{class e extends mr{constructor(){super(...arguments),this.inputName="maxlength",this.normalizeInput=t=>function YI(e){return"number"==typeof e?e:parseInt(e,10)}(t),this.createValidator=t=>function sI(e){return n=>function JM(e){return null!=e&&"number"==typeof e.length}(n.value)&&n.value.length>e?{maxlength:{requiredLength:e,actualLength:n.value.length}}:null}(t)}static{this.\u0275fac=(()=>{let t;return function(r){return(t||(t=ct(e)))(r||e)}})()}static{this.\u0275dir=H({type:e,selectors:[["","maxlength","","formControlName",""],["","maxlength","","formControl",""],["","maxlength","","ngModel",""]],hostVars:1,hostBindings:function(i,r){2&i&&fn("maxlength",r._enabled?r.maxlength:null)},inputs:{maxlength:"maxlength"},features:[De([Fz]),ce]})}}return e})(),Vz=(()=>{class e{static{this.\u0275fac=function(i){return new(i||e)}}static{this.\u0275mod=$i({type:e})}static{this.\u0275inj=di({})}}return e})();class nx extends Ou{constructor(n,t,i){super(sm(t),am(i,t)),this.controls=n,this._initObservables(),this._setUpdateStrategy(t),this._setUpControls(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator})}at(n){return this.controls[this._adjustIndex(n)]}push(n,t={}){this.controls.push(n),this._registerControl(n),this.updateValueAndValidity({emitEvent:t.emitEvent}),this._onCollectionChange()}insert(n,t,i={}){this.controls.splice(n,0,t),this._registerControl(t),this.updateValueAndValidity({emitEvent:i.emitEvent})}removeAt(n,t={}){let i=this._adjustIndex(n);i<0&&(i=0),this.controls[i]&&this.controls[i]._registerOnCollectionChange(()=>{}),this.controls.splice(i,1),this.updateValueAndValidity({emitEvent:t.emitEvent})}setControl(n,t,i={}){let r=this._adjustIndex(n);r<0&&(r=0),this.controls[r]&&this.controls[r]._registerOnCollectionChange(()=>{}),this.controls.splice(r,1),t&&(this.controls.splice(r,0,t),this._registerControl(t)),this.updateValueAndValidity({emitEvent:i.emitEvent}),this._onCollectionChange()}get length(){return this.controls.length}setValue(n,t={}){xI(this,0,n),n.forEach((i,r)=>{II(this,!1,r),this.at(r).setValue(i,{onlySelf:!0,emitEvent:t.emitEvent})}),this.updateValueAndValidity(t)}patchValue(n,t={}){null!=n&&(n.forEach((i,r)=>{this.at(r)&&this.at(r).patchValue(i,{onlySelf:!0,emitEvent:t.emitEvent})}),this.updateValueAndValidity(t))}reset(n=[],t={}){this._forEachChild((i,r)=>{i.reset(n[r],{onlySelf:!0,emitEvent:t.emitEvent})}),this._updatePristine(t,this),this._updateTouched(t,this),this.updateValueAndValidity(t)}getRawValue(){return this.controls.map(n=>n.getRawValue())}clear(n={}){this.controls.length<1||(this._forEachChild(t=>t._registerOnCollectionChange(()=>{})),this.controls.splice(0),this.updateValueAndValidity({emitEvent:n.emitEvent}))}_adjustIndex(n){return n<0?n+this.length:n}_syncPendingControls(){let n=this.controls.reduce((t,i)=>!!i._syncPendingControls()||t,!1);return n&&this.updateValueAndValidity({onlySelf:!0}),n}_forEachChild(n){this.controls.forEach((t,i)=>{n(t,i)})}_updateValue(){this.value=this.controls.filter(n=>n.enabled||this.disabled).map(n=>n.value)}_anyControls(n){return this.controls.some(t=>t.enabled&&n(t))}_setUpControls(){this._forEachChild(n=>this._registerControl(n))}_allControlsDisabled(){for(const n of this.controls)if(n.enabled)return!1;return this.controls.length>0||this.disabled}_registerControl(n){n.setParent(this),n._registerOnCollectionChange(this._onCollectionChange)}_find(n){return this.at(n)??null}}function ix(e){return!!e&&(void 0!==e.asyncValidators||void 0!==e.validators||void 0!==e.updateOn)}let Bz=(()=>{class e{constructor(){this.useNonNullable=!1}get nonNullable(){const t=new e;return t.useNonNullable=!0,t}group(t,i=null){const r=this._reduceControls(t);let o={};return ix(i)?o=i:null!==i&&(o.validators=i.validator,o.asyncValidators=i.asyncValidator),new Ia(r,o)}record(t,i=null){const r=this._reduceControls(t);return new SI(r,i)}control(t,i,r){let o={};return this.useNonNullable?(ix(i)?o=i:(o.validators=i,o.asyncValidators=r),new Ta(t,{...o,nonNullable:!0})):new Ta(t,i,r)}array(t,i,r){const o=t.map(s=>this._createControl(s));return new nx(o,i,r)}_reduceControls(t){const i={};return Object.keys(t).forEach(r=>{i[r]=this._createControl(t[r])}),i}_createControl(t){return t instanceof Ta||t instanceof Ou?t:Array.isArray(t)?this.control(t[0],t.length>1?t[1]:null,t.length>2?t[2]:null):this.control(t)}static{this.\u0275fac=function(i){return new(i||e)}}static{this.\u0275prov=R({token:e,factory:e.\u0275fac,providedIn:"root"})}}return e})(),jz=(()=>{class e{static withConfig(t){return{ngModule:e,providers:[{provide:hm,useValue:t.warnOnNgModelWithFormControl??"always"},{provide:$o,useValue:t.callSetDisabledState??ku}]}}static{this.\u0275fac=function(i){return new(i||e)}}static{this.\u0275mod=$i({type:e})}static{this.\u0275inj=di({imports:[Vz]})}}return e})();function rx(e,n,t,i,r,o,s){try{var a=e[o](s),l=a.value}catch(c){return void t(c)}a.done?n(l):Promise.resolve(l).then(i,r)}function ox(e){return function(){var n=this,t=arguments;return new Promise(function(i,r){var o=e.apply(n,t);function s(l){rx(o,i,r,s,a,"next",l)}function a(l){rx(o,i,r,s,a,"throw",l)}s(void 0)})}}function sx(...e){return Mu(e,Kg(e))}function Hu(e,n,t=1/0){return Te(n)?Hu((i,r)=>st((o,s)=>n(i,o,r,s))(Kn(e(i,r))),t):("number"==typeof n&&(t=n),on((i,r)=>function Hz(e,n,t,i,r,o,s,a){const l=[];let c=0,u=0,d=!1;const f=()=>{d&&!l.length&&!c&&n.complete()},h=g=>c<i?p(g):l.push(g),p=g=>{o&&n.next(g),c++;let m=!1;Kn(t(g,u++)).subscribe(bn(n,v=>{r?.(v),o?h(v):n.next(v)},()=>{m=!0},void 0,()=>{if(m)try{for(c--;l.length&&c<i;){const v=l.shift();s?xi(n,s,()=>p(v)):p(v)}f()}catch(v){n.error(v)}}))};return e.subscribe(bn(n,h,()=>{d=!0,f()})),()=>{a?.()}}(i,r,e,t)))}function ax(e){return on((n,t)=>{try{n.subscribe(t)}finally{t.add(e)}})}class Uu{}class $u{}class Ot{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 i=t.indexOf(":");if(i>0){const r=t.slice(0,i),o=r.toLowerCase(),s=t.slice(i+1).trim();this.maybeSetNormalizedName(r,o),this.headers.has(o)?this.headers.get(o).push(s):this.headers.set(o,[s])}})}:typeof Headers<"u"&&n instanceof Headers?(this.headers=new Map,n.forEach((t,i)=>{this.setHeaderEntries(i,t)})):this.lazyInit=()=>{this.headers=new Map,Object.entries(n).forEach(([t,i])=>{this.setHeaderEntries(t,i)})}: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 Ot?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 Ot;return t.lazyInit=this.lazyInit&&this.lazyInit instanceof Ot?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 i=n.value;if("string"==typeof i&&(i=[i]),0===i.length)return;this.maybeSetNormalizedName(n.name,t);const r=("a"===n.op?this.headers.get(t):void 0)||[];r.push(...i),this.headers.set(t,r);break;case"d":const o=n.value;if(o){let s=this.headers.get(t);if(!s)return;s=s.filter(a=>-1===o.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 i=(Array.isArray(t)?t:[t]).map(o=>o.toString()),r=n.toLowerCase();this.headers.set(r,i),this.maybeSetNormalizedName(n,r)}forEach(n){this.init(),Array.from(this.normalizedNames.keys()).forEach(t=>n(this.normalizedNames.get(t),this.headers.get(t)))}}class Wz{encodeKey(n){return lx(n)}encodeValue(n){return lx(n)}decodeKey(n){return decodeURIComponent(n)}decodeValue(n){return decodeURIComponent(n)}}const qz=/%(\d[a-f0-9])/gi,Yz={40:"@","3A":":",24:"$","2C":",","3B":";","3D":"=","3F":"?","2F":"/"};function lx(e){return encodeURIComponent(e).replace(qz,(n,t)=>Yz[t]??n)}function zu(e){return`${e}`}class Jn{constructor(n={}){if(this.updates=null,this.cloneFrom=null,this.encoder=n.encoder||new Wz,n.fromString){if(n.fromObject)throw new Error("Cannot specify both fromString and fromObject.");this.map=function Gz(e,n){const t=new Map;return e.length>0&&e.replace(/^\?/,"").split("&").forEach(r=>{const o=r.indexOf("="),[s,a]=-1==o?[n.decodeKey(r),""]:[n.decodeKey(r.slice(0,o)),n.decodeValue(r.slice(o+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 i=n.fromObject[t],r=Array.isArray(i)?i.map(zu):[zu(i)];this.map.set(t,r)})):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(i=>{const r=n[i];Array.isArray(r)?r.forEach(o=>{t.push({param:i,value:o,op:"a"})}):t.push({param:i,value:r,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(i=>t+"="+this.encoder.encodeValue(i)).join("&")}).filter(n=>""!==n).join("&")}clone(n){const t=new Jn({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(zu(n.value)),this.map.set(n.param,t);break;case"d":if(void 0===n.value){this.map.delete(n.param);break}{let i=this.map.get(n.param)||[];const r=i.indexOf(zu(n.value));-1!==r&&i.splice(r,1),i.length>0?this.map.set(n.param,i):this.map.delete(n.param)}}}),this.cloneFrom=this.updates=null)}}class Zz{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 cx(e){return typeof ArrayBuffer<"u"&&e instanceof ArrayBuffer}function ux(e){return typeof Blob<"u"&&e instanceof Blob}function dx(e){return typeof FormData<"u"&&e instanceof FormData}class Aa{constructor(n,t,i,r){let o;if(this.url=t,this.body=null,this.reportProgress=!1,this.withCredentials=!1,this.responseType="json",this.method=n.toUpperCase(),function Xz(e){switch(e){case"DELETE":case"GET":case"HEAD":case"OPTIONS":case"JSONP":return!1;default:return!0}}(this.method)||r?(this.body=void 0!==i?i:null,o=r):o=i,o&&(this.reportProgress=!!o.reportProgress,this.withCredentials=!!o.withCredentials,o.responseType&&(this.responseType=o.responseType),o.headers&&(this.headers=o.headers),o.context&&(this.context=o.context),o.params&&(this.params=o.params),this.transferCache=o.transferCache),this.headers??=new Ot,this.context??=new Zz,this.params){const s=this.params.toString();if(0===s.length)this.urlWithParams=t;else{const a=t.indexOf("?");this.urlWithParams=t+(-1===a?"?":a<t.length-1?"&":"")+s}}else this.params=new Jn,this.urlWithParams=t}serializeBody(){return null===this.body?null:"string"==typeof this.body||cx(this.body)||ux(this.body)||dx(this.body)||function Qz(e){return typeof URLSearchParams<"u"&&e instanceof URLSearchParams}(this.body)?this.body:this.body instanceof Jn?this.body.toString():"object"==typeof this.body||"boolean"==typeof this.body||Array.isArray(this.body)?JSON.stringify(this.body):this.body.toString()}detectContentTypeHeader(){return null===this.body||dx(this.body)?null:ux(this.body)?this.body.type||null:cx(this.body)?null:"string"==typeof this.body?"text/plain":this.body instanceof Jn?"application/x-www-form-urlencoded;charset=UTF-8":"object"==typeof this.body||"number"==typeof this.body||"boolean"==typeof this.body?"application/json":null}clone(n={}){const t=n.method||this.method,i=n.url||this.url,r=n.responseType||this.responseType,o=n.transferCache??this.transferCache,s=void 0!==n.body?n.body:this.body,a=n.withCredentials??this.withCredentials,l=n.reportProgress??this.reportProgress;let c=n.headers||this.headers,u=n.params||this.params;const d=n.context??this.context;return void 0!==n.setHeaders&&(c=Object.keys(n.setHeaders).reduce((f,h)=>f.set(h,n.setHeaders[h]),c)),n.setParams&&(u=Object.keys(n.setParams).reduce((f,h)=>f.set(h,n.setParams[h]),u)),new Aa(t,i,s,{params:u,headers:c,context:d,reportProgress:l,responseType:r,withCredentials:a,transferCache:o})}}var Ni=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}(Ni||{});class bm{constructor(n,t=200,i="OK"){this.headers=n.headers||new Ot,this.status=void 0!==n.status?n.status:t,this.statusText=n.statusText||i,this.url=n.url||null,this.ok=this.status>=200&&this.status<300}}class Wu extends bm{constructor(n={}){super(n),this.type=Ni.ResponseHeader}clone(n={}){return new Wu({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 yr extends bm{constructor(n={}){super(n),this.type=Ni.Response,this.body=void 0!==n.body?n.body:null}clone(n={}){return new yr({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 zo extends bm{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}}function Dm(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 hx=(()=>{class e{constructor(t){this.handler=t}request(t,i,r={}){let o;if(t instanceof Aa)o=t;else{let l,c;l=r.headers instanceof Ot?r.headers:new Ot(r.headers),r.params&&(c=r.params instanceof Jn?r.params:new Jn({fromObject:r.params})),o=new Aa(t,i,void 0!==r.body?r.body:null,{headers:l,context:r.context,params:c,reportProgress:r.reportProgress,responseType:r.responseType||"json",withCredentials:r.withCredentials,transferCache:r.transferCache})}const s=sx(o).pipe(function Uz(e,n){return Te(n)?Hu(e,n,1):Hu(e,1)}(l=>this.handler.handle(l)));if(t instanceof Aa||"events"===r.observe)return s;const a=s.pipe(function $z(e,n){return on((t,i)=>{let r=0;t.subscribe(bn(i,o=>e.call(n,o,r++)&&i.next(o)))})}(l=>l instanceof yr));switch(r.observe||"body"){case"body":switch(o.responseType){case"arraybuffer":return a.pipe(st(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(st(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(st(l=>{if(null!==l.body&&"string"!=typeof l.body)throw new Error("Response is not a string.");return l.body}));default:return a.pipe(st(l=>l.body))}case"response":return a;default:throw new Error(`Unreachable: unhandled observe type ${r.observe}}`)}}delete(t,i={}){return this.request("DELETE",t,i)}get(t,i={}){return this.request("GET",t,i)}head(t,i={}){return this.request("HEAD",t,i)}jsonp(t,i){return this.request("JSONP",t,{params:(new Jn).append(i,"JSONP_CALLBACK"),observe:"body",responseType:"json"})}options(t,i={}){return this.request("OPTIONS",t,i)}patch(t,i,r={}){return this.request("PATCH",t,Dm(r,i))}post(t,i,r={}){return this.request("POST",t,Dm(r,i))}put(t,i,r={}){return this.request("PUT",t,Dm(r,i))}static{this.\u0275fac=function(i){return new(i||e)(F(Uu))}}static{this.\u0275prov=R({token:e,factory:e.\u0275fac})}}return e})();const e3=/^\)\]\}',?\n/;function px(e){if(e.url)return e.url;const n="X-Request-URL".toLocaleLowerCase();return e.headers.get(n)}let wm=(()=>{class e{constructor(){this.fetchImpl=A(n3,{optional:!0})?.fetch??((...t)=>globalThis.fetch(...t)),this.ngZone=A(se)}handle(t){return new yt(i=>{const r=new AbortController;return this.doRequest(t,r.signal,i).then(Cm,o=>i.error(new zo({error:o}))),()=>r.abort()})}doRequest(t,i,r){var o=this;return ox(function*(){const s=o.createRequestInit(t);let a;try{const p=o.ngZone.runOutsideAngular(()=>o.fetchImpl(t.urlWithParams,{signal:i,...s}));(function i3(e){e.then(Cm,Cm)})(p),r.next({type:Ni.Sent}),a=yield p}catch(p){return void r.error(new zo({error:p,status:p.status??0,statusText:p.statusText,url:t.urlWithParams,headers:p.headers}))}const l=new Ot(a.headers),c=a.statusText,u=px(a)??t.urlWithParams;let d=a.status,f=null;if(t.reportProgress&&r.next(new Wu({headers:l,status:d,statusText:c,url:u})),a.body){const p=a.headers.get("content-length"),g=[],m=a.body.getReader();let y,_,v=0;const D=typeof Zone<"u"&&Zone.current;yield o.ngZone.runOutsideAngular(ox(function*(){for(;;){const{done:w,value:I}=yield m.read();if(w)break;if(g.push(I),v+=I.length,t.reportProgress){_="text"===t.responseType?(_??"")+(y??=new TextDecoder).decode(I,{stream:!0}):void 0;const x=()=>r.next({type:Ni.DownloadProgress,total:p?+p:void 0,loaded:v,partialText:_});D?D.run(x):x()}}}));const b=o.concatChunks(g,v);try{const w=a.headers.get("Content-Type")??"";f=o.parseBody(t,b,w)}catch(w){return void r.error(new zo({error:w,headers:new Ot(a.headers),status:a.status,statusText:a.statusText,url:px(a)??t.urlWithParams}))}}0===d&&(d=f?200:0),d>=200&&d<300?(r.next(new yr({body:f,headers:l,status:d,statusText:c,url:u})),r.complete()):r.error(new zo({error:f,headers:l,status:d,statusText:c,url:u}))})()}parseBody(t,i,r){switch(t.responseType){case"json":const o=(new TextDecoder).decode(i).replace(e3,"");return""===o?null:JSON.parse(o);case"text":return(new TextDecoder).decode(i);case"blob":return new Blob([i],{type:r});case"arraybuffer":return i.buffer}}createRequestInit(t){const i={},r=t.withCredentials?"include":void 0;if(t.headers.forEach((o,s)=>i[o]=s.join(",")),t.headers.has("Accept")||(i.Accept="application/json, text/plain, */*"),!t.headers.has("Content-Type")){const o=t.detectContentTypeHeader();null!==o&&(i["Content-Type"]=o)}return{body:t.serializeBody(),method:t.method,headers:i,credentials:r}}concatChunks(t,i){const r=new Uint8Array(i);let o=0;for(const s of t)r.set(s,o),o+=s.length;return r}static{this.\u0275fac=function(i){return new(i||e)}}static{this.\u0275prov=R({token:e,factory:e.\u0275fac})}}return e})();class n3{}function Cm(){}function gx(e,n){return n(e)}function r3(e,n){return(t,i)=>n.intercept(t,{handle:r=>e(r,i)})}const s3=new T(""),Na=new T(""),mx=new T(""),yx=new T("",{providedIn:"root",factory:()=>!0});function a3(){let e=null;return(n,t)=>{null===e&&(e=(A(s3,{optional:!0})??[]).reduceRight(r3,gx));const i=A(gi);if(A(yx)){const o=i.add();return e(n,t).pipe(ax(()=>i.remove(o)))}return e(n,t)}}let vx=(()=>{class e extends Uu{constructor(t,i){super(),this.backend=t,this.injector=i,this.chain=null,this.pendingTasks=A(gi),this.contributeToStability=A(yx)}handle(t){if(null===this.chain){const i=Array.from(new Set([...this.injector.get(Na),...this.injector.get(mx,[])]));this.chain=i.reduceRight((r,o)=>function o3(e,n,t){return(i,r)=>function SN(e,n){e instanceof zr&&e.assertNotDestroyed();const i=fi(e),r=It(void 0);try{return n()}finally{fi(i),It(r)}}(t,()=>n(i,o=>e(o,r)))}(r,o,this.injector),gx)}if(this.contributeToStability){const i=this.pendingTasks.add();return this.chain(t,r=>this.backend.handle(r)).pipe(ax(()=>this.pendingTasks.remove(i)))}return this.chain(t,i=>this.backend.handle(i))}static{this.\u0275fac=function(i){return new(i||e)(F($u),F(Xt))}}static{this.\u0275prov=R({token:e,factory:e.\u0275fac})}}return e})();const f3=/^\)\]\}',?\n/;let bx=(()=>{class e{constructor(t){this.xhrFactory=t}handle(t){if("JSONP"===t.method)throw new M(-2800,!1);const i=this.xhrFactory;return(i.\u0275loadImpl?Mu(i.\u0275loadImpl()):sx(null)).pipe(function zz(e,n){return on((t,i)=>{let r=null,o=0,s=!1;const a=()=>s&&!r&&i.complete();t.subscribe(bn(i,l=>{r?.unsubscribe();let c=0;const u=o++;Kn(e(l,u)).subscribe(r=bn(i,d=>i.next(n?n(l,d,u,c++):d),()=>{r=null,a()}))},()=>{s=!0,a()}))})}(()=>new yt(o=>{const s=i.build();if(s.open(t.method,t.urlWithParams),t.withCredentials&&(s.withCredentials=!0),t.headers.forEach((g,m)=>s.setRequestHeader(g,m.join(","))),t.headers.has("Accept")||s.setRequestHeader("Accept","application/json, text/plain, */*"),!t.headers.has("Content-Type")){const g=t.detectContentTypeHeader();null!==g&&s.setRequestHeader("Content-Type",g)}if(t.responseType){const g=t.responseType.toLowerCase();s.responseType="json"!==g?g:"text"}const a=t.serializeBody();let l=null;const c=()=>{if(null!==l)return l;const g=s.statusText||"OK",m=new Ot(s.getAllResponseHeaders()),v=function h3(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 Wu({headers:m,status:s.status,statusText:g,url:v}),l},u=()=>{let{headers:g,status:m,statusText:v,url:y}=c(),_=null;204!==m&&(_=typeof s.response>"u"?s.responseText:s.response),0===m&&(m=_?200:0);let D=m>=200&&m<300;if("json"===t.responseType&&"string"==typeof _){const b=_;_=_.replace(f3,"");try{_=""!==_?JSON.parse(_):null}catch(w){_=b,D&&(D=!1,_={error:w,text:_})}}D?(o.next(new yr({body:_,headers:g,status:m,statusText:v,url:y||void 0})),o.complete()):o.error(new zo({error:_,headers:g,status:m,statusText:v,url:y||void 0}))},d=g=>{const{url:m}=c(),v=new zo({error:g,status:s.status||0,statusText:s.statusText||"Unknown Error",url:m||void 0});o.error(v)};let f=!1;const h=g=>{f||(o.next(c()),f=!0);let m={type:Ni.DownloadProgress,loaded:g.loaded};g.lengthComputable&&(m.total=g.total),"text"===t.responseType&&s.responseText&&(m.partialText=s.responseText),o.next(m)},p=g=>{let m={type:Ni.UploadProgress,loaded:g.loaded};g.lengthComputable&&(m.total=g.total),o.next(m)};return s.addEventListener("load",u),s.addEventListener("error",d),s.addEventListener("timeout",d),s.addEventListener("abort",d),t.reportProgress&&(s.addEventListener("progress",h),null!==a&&s.upload&&s.upload.addEventListener("progress",p)),s.send(a),o.next({type:Ni.Sent}),()=>{s.removeEventListener("error",d),s.removeEventListener("abort",d),s.removeEventListener("load",u),s.removeEventListener("timeout",d),t.reportProgress&&(s.removeEventListener("progress",h),null!==a&&s.upload&&s.upload.removeEventListener("progress",p)),s.readyState!==s.DONE&&s.abort()}})))}static{this.\u0275fac=function(i){return new(i||e)(F(aM))}}static{this.\u0275prov=R({token:e,factory:e.\u0275fac})}}return e})();const Em=new T(""),Dx=new T("",{providedIn:"root",factory:()=>"XSRF-TOKEN"}),wx=new T("",{providedIn:"root",factory:()=>"X-XSRF-TOKEN"});class Cx{}let m3=(()=>{class e{constructor(t,i,r){this.doc=t,this.platform=i,this.cookieName=r,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=YE(t,this.cookieName),this.lastCookieString=t),this.lastToken}static{this.\u0275fac=function(i){return new(i||e)(F(Mi),F(yi),F(Dx))}}static{this.\u0275prov=R({token:e,factory:e.\u0275fac})}}return e})();function y3(e,n){const t=e.url.toLowerCase();if(!A(Em)||"GET"===e.method||"HEAD"===e.method||t.startsWith("http://")||t.startsWith("https://"))return n(e);const i=A(Cx).getToken(),r=A(wx);return null!=i&&!e.headers.has(r)&&(e=e.clone({headers:e.headers.set(r,i)})),n(e)}var Pi=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}(Pi||{});function vr(e,n){return{\u0275kind:e,\u0275providers:n}}function v3(...e){const n=[hx,bx,vx,{provide:Uu,useExisting:vx},{provide:$u,useFactory:()=>A(wm,{optional:!0})??A(bx)},{provide:Na,useValue:y3,multi:!0},{provide:Em,useValue:!0},{provide:Cx,useClass:m3}];for(const t of e)n.push(...t.\u0275providers);return function cs(e){return{\u0275providers:e}}(n)}const Ex=new T("");class S3 extends Ft{constructor(n,t){super()}schedule(n,t=0){return this}}const qu={setInterval(e,n,...t){const{delegate:i}=qu;return i?.setInterval?i.setInterval(e,n,...t):setInterval(e,n,...t)},clearInterval(e){const{delegate:n}=qu;return(n?.clearInterval||clearInterval)(e)},delegate:void 0},Mm={now:()=>(Mm.delegate||Date).now(),delegate:void 0};class Pa{constructor(n,t=Pa.now){this.schedulerActionCtor=n,this.now=t}schedule(n,t=0,i){return new this.schedulerActionCtor(this,n).schedule(i,t)}}Pa.now=Mm.now;const N3=new class A3 extends Pa{constructor(n,t=Pa.now){super(n,t),this.actions=[],this._active=!1}flush(n){const{actions:t}=this;if(this._active)return void t.push(n);let i;this._active=!0;do{if(i=n.execute(n.state,n.delay))break}while(n=t.shift());if(this._active=!1,i){for(;n=t.shift();)n.unsubscribe();throw i}}}(class T3 extends S3{constructor(n,t){super(n,t),this.scheduler=n,this.work=t,this.pending=!1}schedule(n,t=0){var i;if(this.closed)return this;this.state=n;const r=this.id,o=this.scheduler;return null!=r&&(this.id=this.recycleAsyncId(o,r,t)),this.pending=!0,this.delay=t,this.id=null!==(i=this.id)&&void 0!==i?i:this.requestAsyncId(o,this.id,t),this}requestAsyncId(n,t,i=0){return qu.setInterval(n.flush.bind(n,this),i)}recycleAsyncId(n,t,i=0){if(null!=i&&this.delay===i&&!1===this.pending)return t;null!=t&&qu.clearInterval(t)}execute(n,t){if(this.closed)return new Error("executing a cancelled action");this.pending=!1;const i=this._execute(n,t);if(i)return i;!1===this.pending&&null!=this.id&&(this.id=this.recycleAsyncId(this.scheduler,this.id,null))}_execute(n,t){let r,i=!1;try{this.work(n)}catch(o){i=!0,r=o||new Error("Scheduled action threw falsy error")}if(i)return this.unsubscribe(),r}unsubscribe(){if(!this.closed){const{id:n,scheduler:t}=this,{actions:i}=t;this.work=this.state=this.scheduler=null,this.pending=!1,ll(i,this),null!=n&&(this.id=this.recycleAsyncId(t,n,null)),this.delay=null,super.unsubscribe()}}});function _r(e,n=fl){return e=e??k3,on((t,i)=>{let r,o=!0;t.subscribe(bn(i,s=>{const a=n(s);(o||!e(r,a))&&(o=!1,r=a,i.next(s))}))})}function k3(e,n){return e===n}function Px(...e){return function F3(){return function R3(e=1/0){return Hu(fl,e)}(1)}()(Mu(e,Kg(e)))}function br(...e){const n=Kg(e);return on((t,i)=>{(n?Px(e,t,n):Px(e,t)).subscribe(i)})}class L3{constructor(){this.askingPrice=0,this.downPayment=0,this.downPaymentPercent=0,this.taxes=0,this.taxesPercent=0,this.insurance=0,this.insurancePercent=0,this.interestRate=0,this.term=0,this.monthlyPayment=0,this.monthlyMortgage=0,this.monthlyTaxes=0,this.monthlyInsurance=0}}let Im=(()=>{class e{get nativeWindow(){return function V3(){return window}()}confirmExitNavigation(t){return t.preventDefault(),t.returnValue="onbeforeunload","onbeforeunload"}static{this.\u0275fac=function(i){return new(i||e)}}static{this.\u0275prov=R({token:e,factory:e.\u0275fac,providedIn:"root"})}}return e})(),xm=(()=>{class e{constructor(t){this.httpClient=t,this.BASE_URL_PATH="/ajax/angular/oneserverequest/"}get(t,i={},r=null,o=null,s=!1){let a=this.getFullUrl(t);return i&&Object.keys(i).length?(a+=a.includes("?")?"&":"?",a+=Object.keys(i).map(l=>s&&Array.isArray(i[l])?i[l].map(c=>encodeURIComponent(l)+"[]="+encodeURIComponent(c)).join("&"):encodeURIComponent(l)+"="+encodeURIComponent(i[l])).join("&")):o&&Object.keys(o).length&&(i=o),this.httpClient.get(a,i).pipe(st(l=>this.handleOneserveResponse(l,a,r)))}post(t,i={},r=null,o={}){let s=this.getFullUrl(t),a=s.split("?");return a.length>1&&(Object.assign(i,this.parseParams(a[1])),s=a[0]),s.length>0&&"/"!==s.charAt(s.length-1)&&(s+="/"),this.httpClient.post(s,i,o).pipe(st(l=>this.handleOneserveResponse(l,s,r)))}promiseGet(t,i={},r=null){return new Promise((o,s)=>{this.get(t,i,r).subscribe({next:a=>{o(a)},error:a=>{s(a)}})})}promisePost(t,i={},r=null){return new Promise((o,s)=>{this.post(t,i,r).subscribe({next:a=>{o(a)},error:a=>{s(a)}})})}handleOneserveResponse(t,i,r=null){if(t.payload){let o=t.payload.body||t.payload;if(o.Data){if(o.Data.Errors||void 0!==o.Data.Errors)throw o.Message&&o.ExceptionType?new Error(i+" request failed. Exception Type: "+o.ExceptionType+". Reason: "+o.Message+". Details: "+JSON.stringify(o.Data.Errors)):new Error(i+" request failed. Details: "+JSON.stringify(o.Data.Errors));if(o.payload.status)this.handlePayloadStatusErrors(t,o,i);else if("UnhandledException"===o.payload.ExceptionType)throw new Error(o.payload.Message)}else t.payload.status&&200!==t.payload.status&&this.handlePayloadStatusErrors(t,t,i);return r?o[r]:o}return t}handlePayloadStatusErrors(t,i,r){switch(t.payload.status){case 400:case 404:case 405:case 500:throw i.Message&&i.ExceptionType?new Error(r+" request failed. Exception Type: "+i.ExceptionType+". Reason: "+i.Message+". Details: "+JSON.stringify(i.Data.Errors)):new Error(r+" request failed: "+t.payload.status)}}parseParams(t){return t?(/^[?#]/.test(t)?t.slice(1):t).split("&").reduce((i,r)=>{let[o,s]=r.split("=");return i[o]=s?decodeURIComponent(s.replace(/\+/g," ")):"",i},{}):{}}getFullUrl(t){return t.includes("/ajax/")||t.includes("/forms/")?t:`${this.BASE_URL_PATH}${t}`}static{this.\u0275fac=function(i){return new(i||e)(F(hx))}}static{this.\u0275prov=R({token:e,factory:e.\u0275fac,providedIn:"root"})}}return e})(),B3=(()=>{class e{constructor(t){this.oneServeClient=t,this.ENDPOINTS={mortgageCalculatorData:"/forms/listing/mortgagecalculator/"}}getMortgageCalculatorData(t){const i=(new Jn).set("stateCode",t),r={headers:new Ot({"X-Requested-With":"XMLHttpRequest"}),params:i};return this.oneServeClient.get(this.ENDPOINTS.mortgageCalculatorData,null,null,r)}static{this.\u0275fac=function(i){return new(i||e)(F(xm))}}static{this.\u0275prov=R({token:e,factory:e.\u0275fac,providedIn:"root"})}}return e})(),j3=(()=>{class e{constructor(t){this.windowRef=t,this.screenXsMin=0,this.screenSmMin=576,this.screenMdMin=768,this.screenLgMin=992,this.screenXlMin=1200,this.screenXsMax=575.99,this.screenSmMax=767.99,this.screenMdMax=991.99,this.screenLgMax=1199.99}isMobile(){return this.getWindowWidth()<=this.screenMdMax}isLarge(){const t=this.getWindowWidth();return t>=this.screenLgMin&&t<=this.screenLgMax}getWindowWidth(){return this.windowRef.nativeWindow.outerWidth||this.windowRef.nativeWindow.innerWidth}static{this.\u0275fac=function(i){return new(i||e)(F(Im))}}static{this.\u0275prov=R({token:e,factory:e.\u0275fac,providedIn:"root"})}}return e})(),H3=(()=>{class e{constructor(){this.accountOwnerName="",this.actionCode=0,this.allowProspectDelete=!1,this.allowUpgrades=!1,this.altLogin1="",this.appStoreEndpoint="",this.contactPreferencesMeta=null,this.country="",this.customerId=0,this.dismissedCCPrompt=!1,this.domain="",this.dummyDomain="",this.elasticSearchEnableAutocompleteSearch=0,this.emailLimit=0,this.emailSendCount=0,this.facebookCustomBudgetDefault=0,this.facebookPresetBudgetDefaultOption=0,this.facebookPresetBudgetOptions="",this.featuredPropertyImageLimit=0,this.franchiseId=0,this.gridSettings=null,this.gridSettingsConfigId=0,this.hasConsumerSite=!1,this.hasTeamSupport=!1,this.hideWebsiteSetupWizard=!1,this.homeIntelEnabled=!1,this.images=null,this.impersonatorCustomerId=null,this.impersonatorId=null,this.importFileSizeLimit=null,this.isAccountOwner=!1,this.isBHGBase=!1,this.isBHGCAPro=!1,this.isBHGPro=!1,this.isBase=!1,this.isC21=!1,this.isC21Base=!1,this.isC21Pro=!1,this.isChatEnabled=0,this.isEmployeeImpersonator=!1,this.isFreshAddressEnabled=!1,this.isHousingLogoDisplayed=null,this.isIDT=!1,this.isImpersonator=!1,this.isKW=!1,this.isKWBase=!1,this.isKWMC=!1,this.isKWPro=!1,this.isKWSuite=!1,this.isLeadEngine=!1,this.isLender=!1,this.isMlPro=!1,this.isMlSuite=!1,this.isNRT=!1,this.isNRTBase=!1,this.isNRTPro=!1,this.isOfficePro=!1,this.isPrimaryProfile=!1,this.isPro=!1,this.isRealogy=!1,this.isRealtorLogoDisplayed=null,this.isRetail=!1,this.isSharperAgent=!1,this.isSiteSharingDelegate=!1,this.isSiteSharingLeader=!1,this.isSuspended=!1,this.isTeamAgent=!1,this.isTeamMemberProfileType=!1,this.isTeamOwner=!1,this.language="",this.mlsFormsContactInstructions="",this.mlsFormsHelpUrl="",this.mlsIdList="",this.mlsList=[],this.officePhotoAssetId=0,this.orderNumber="",this.orderTypeId=0,this.orgLevel5="",this.photoAccessKey="",this.playStoreEndpoint="",this.popupId=0,this.profileId=0,this.requestProtocol="https://",this.searchFields=null,this.sessionInitialized=!1,this.siteSharingStatus="off",this.siteShareAutoLoginUrl="",this.smsProvisioningEnabled=!1,this.state="",this.stateList="",this.subDomain="",this.supportLink="",this.supportTeamPhoneNumber="",this.timeZoneCode=!1,this.upsShipmentTrackingUrl="",this.websiteAdminOwnerOnlyPages=[],this.wootricAccountToken=""}static{this.\u0275fac=function(i){return new(i||e)}}static{this.\u0275prov=R({token:e,factory:e.\u0275fac,providedIn:"root"})}}return e})();class $3 extends ci{constructor(n=1/0,t=1/0,i=Mm){super(),this._bufferSize=n,this._windowTime=t,this._timestampProvider=i,this._buffer=[],this._infiniteTimeWindow=!0,this._infiniteTimeWindow=t===1/0,this._bufferSize=Math.max(1,n),this._windowTime=Math.max(1,t)}next(n){const{isStopped:t,_buffer:i,_infiniteTimeWindow:r,_timestampProvider:o,_windowTime:s}=this;t||(i.push(n),!r&&i.push(o.now()+s)),this._trimBuffer(),super.next(n)}_subscribe(n){this._throwIfClosed(),this._trimBuffer();const t=this._innerSubscribe(n),{_infiniteTimeWindow:i,_buffer:r}=this,o=r.slice();for(let s=0;s<o.length&&!n.closed;s+=i?1:2)n.next(o[s]);return this._checkFinalizedStatuses(n),t}_trimBuffer(){const{_bufferSize:n,_timestampProvider:t,_buffer:i,_infiniteTimeWindow:r}=this,o=(r?1:2)*n;if(n<1/0&&o<i.length&&i.splice(0,i.length-o),!r){const s=t.now();let a=0;for(let l=1;l<i.length&&i[l]<=s;l+=2)a=l;a&&i.splice(0,a+1)}}}function Sm(e,n,...t){if(!0===n)return void e();if(!1===n)return;const i=new is({next:()=>{i.unsubscribe(),e()}});return Kn(n(...t)).subscribe(i)}let G3=(()=>{class e{log(t){console.log(t)}error(t){console.error(t)}warn(t){console.warn(t)}info(t){console.info(t)}static{this.\u0275fac=function(i){return new(i||e)}}static{this.\u0275prov=R({token:e,factory:e.\u0275fac,providedIn:"root"})}}return e})(),q3=(()=>{class e{decodeHtml(t){let i=document.createElement("textarea");return i.innerHTML=t,i.value}stripHtmlTags(t){return t.replace(/(<([^>]+)>)/gi,"")}isEmoji(t){return!!t.match(["(?:[\u2700-\u27bf]|(?:\ud83c[\udde6-\uddff]){2}|[\ud800-\udbff][\udc00-\udfff]|[#-9]\ufe0f?\u20e3|\u3299|\u3297|\u303d|\u3030|\u24c2|\ud83c[\udd70-\udd71]|\ud83c[\udd7e-\udd7f]|\u{1f18e}|\ud83c[\udd91-\udd9a]|\ud83c[\udde6-\uddff]|[\ud83c[\ude01-\ude02]|\u{1f21a}|\u{1f22f}|[\ud83c[\ude32-\ude3a]|[\ud83c[\ude50-\ude51]|\u203c|\u2049|[\u25aa-\u25ab]|\u25b6|\u25c0|[\u25fb-\u25fe]|\xa9|\xae|\u2122|\u2139|\u{1f004}|[\u2600-\u26ff]|\u2b05|\u2b06|\u2b07|\u2b1b|\u2b1c|\u2b50|\u2b55|\u231a|\u231b|\u2328|\u23cf|[\u23e9-\u23f3]|[\u23f8-\u23fa]|\u{1f0cf}|\u2934|\u2935|[\u2190-\u21ff])"].join("|"))}stringStartsWith(t,i){return t.startsWith(i)}hex2string(t){let i=[];for(let r=0;r<t.length-1;r+=2){const o=t.substring(r,r+2),s=parseInt(o,16);i.push(s)}return String.fromCharCode.apply(String,i)}copyTextToClipboard(t){let i=document.createElement("textarea");i.style.position="fixed",i.style.left="0",i.style.top="0",i.style.opacity="0",i.value=t,document.body.appendChild(i),i.focus(),i.select(),document.execCommand("copy"),document.body.removeChild(i)}parseHostname(t){return"www."===(t=t.toLowerCase()).substring(0,4)&&(t=t.substring(4)),t}parseDomainParts(t){const i=(t=this.parseHostname(t)).split("."),r=i.pop();let o=i.pop();o=o+"."+r;let s=this.trim(t.substring(0,t.length-o.length),".");return s.length<=0&&(s=null),[s,o]}trim(t,i){let r=0,o=t.length;for(;r<o&&t[r]===i;)++r;for(;o>r&&t[o-1]===i;)--o;return r>0||o<t.length?t.substring(r,o):t}static{this.\u0275fac=function(i){return new(i||e)}}static{this.\u0275prov=R({token:e,factory:e.\u0275fac,providedIn:"root"})}}return e})(),Y3=(()=>{class e{constructor(t,i,r,o){this.log=t,this.oneServeClient=i,this.textService=r,this.windowRef=o,this.configs=new H3,this.configs$=null}loadConfigs(){return this.loadServerSideInPageConfigs(),this.loadServerSideConfigs()}loadServerSideConfigs(){if(this.configs$)return this.configs$;const t={headers:new Ot({X_REQUESTED_WITH:"XMLHttpRequest"}),params:{}};return this.configs$=this.oneServeClient.get("/ajax/angular/getcrmconfigs/",null,"",t).pipe(function U3(e,n,t){const i=Te(e)||n||t?{next:e,error:n,complete:t}:e;return i?on((r,o)=>{var s;null===(s=i.subscribe)||void 0===s||s.call(i);let a=!0;r.subscribe(bn(o,l=>{var c;null===(c=i.next)||void 0===c||c.call(i,l),o.next(l)},()=>{var l;a=!1,null===(l=i.complete)||void 0===l||l.call(i),o.complete()},l=>{var c;a=!1,null===(c=i.error)||void 0===c||c.call(i,l),o.error(l)},()=>{var l,c;a&&(null===(l=i.unsubscribe)||void 0===l||l.call(i)),null===(c=i.finalize)||void 0===c||c.call(i)}))}):fl}(i=>{for(let r in i)i.hasOwnProperty(r)&&(this.configs.hasOwnProperty(r)?this.configs[r]=i[r]:this.log.error("There is no property in this.configs for: "+r))}),function W3(e,n,t){let i,r=!1;return e&&"object"==typeof e?({bufferSize:i=1/0,windowTime:n=1/0,refCount:r=!1,scheduler:t}=e):i=e??1/0,function z3(e={}){const{connector:n=()=>new ci,resetOnError:t=!0,resetOnComplete:i=!0,resetOnRefCountZero:r=!0}=e;return o=>{let s,a,l,c=0,u=!1,d=!1;const f=()=>{a?.unsubscribe(),a=void 0},h=()=>{f(),s=l=void 0,u=d=!1},p=()=>{const g=s;h(),g?.unsubscribe()};return on((g,m)=>{c++,!d&&!u&&f();const v=l=l??n();m.add(()=>{c--,0===c&&!d&&!u&&(a=Sm(p,r))}),v.subscribe(m),!s&&c>0&&(s=new is({next:y=>v.next(y),error:y=>{d=!0,f(),a=Sm(h,t,y),v.error(y)},complete:()=>{u=!0,f(),a=Sm(h,i),v.complete()}}),Kn(g).subscribe(s))})(o)}}({connector:()=>new $3(i,n,t),resetOnError:!0,resetOnComplete:!1,resetOnRefCountZero:r})}(1)),this.configs$}loadServerSideInPageConfigs(){const t=this.windowRef.nativeWindow.ngData;if(t)try{const i=atob(t),r=this.textService.hex2string(i),o=JSON.parse(r);for(let s in o)o.hasOwnProperty(s)&&(this.configs.hasOwnProperty(s)?this.configs[s]=o[s]:this.log.error("There is no property in this.configs for: "+s))}catch{this.log.error("Data not properly formed JSON.")}else this.log.warn("Missing ngData for app")}getConfigs(){return this.configs}static{this.\u0275fac=function(i){return new(i||e)(F(G3),F(xm),F(q3),F(Im))}}static{this.\u0275prov=R({token:e,factory:e.\u0275fac,providedIn:"root"})}}return e})();class Z3{}class X3{}class Q3{}let K3={all:{labels:{zipCode:"Zip Code",agentsEmail:"Agent's Email"},buttons:{cancel:"Cancel",continue:"Continue",reassign:"Reassign"},forms:{urlProtocolHelpBlock:"Links need to begin with http:// or https://"},images:{imageUploadFailed:"Image could not be uploaded. Please try again.",imageDeleteSuccess:"Image was deleted successfully.",imageDeleteFailed:"Image could not be deleted. Please try again.",imageUploadOverLimit:e=>`The maximum number of images allowed is ${e}`}},contacts:{activityAlertProfileMatchesProspectEmail:"Note: You will not see Activity Alerts for this contact if the contact's email is the same as the email address you are using for your Activity Alerts notifications.",noResultsHeading:"No Results",emailUndeliverable:"This email is undeliverable",noResultsInstructions:"Your search criteria did not return any results. Please update your<br>search criteria to view more results or",links:{clearFilters:"Clear Filters"},contactEdit:{cellUpdateConfirmTitle:"Update mobile phone number?",cellUpdateConfirmBody:"This contact is currently opted-in to receive SMS messages at the provided mobile phone number.\nPlease be aware that if you proceed to save changes in the mobile phone number, the opt-in status will not carry over to the updated number.",cellUpdateConfirmButton:"Save without updating mobile phone",cellUpdateCancelButton:"Save all changes"},bulkUpdate:{modalTitleStep1:"Update Action",modalTitleStep2:e=>`Choose the fields you wish to change on the <b>${e}</b> selected Contact records`,directionsStep1:e=>`What would you like to do with these <b>${e}</b> Contact records?`,editLabel:"Edit the records",trashLabel:"Send these Contacts to the trash",trashNotice:"These contacts will stop receiving any automated emails he or she is subscribed to including campaigns and listing alerts",deleteNotice1:"WARNING: There is no undoing this action! These contacts will be permanently removed from your database.",deleteNotice2:"Contacts from some paid sources will not be deleted.",campaignsNotice:"Only eligible contacts will be added to the selected campaigns.  Maximum 5000 contacts can be added to each campaign.",campaignAssociatedLimit:"The selected group is associated with a campaign that has reached the maximum number of contacts. Please remove contacts from this campaign or group to allow this contact to be added",groupsBrokerNotice:"You may only change the group membership of contacts assigned to you. Contacts not assigned to you will be ignored.",contactSelectionLimitExceededNotice:"Maximum allowed for this action is 200 contacts. Reduce selection and try again.",pendingSubmit:"Your updates are in progress.  It will be just a bit longer..."},contactNote:{successfulSave:"Note saved successfully.",successfulDelete:"Note deleted successfully."},addressList:{addressDeleted:"Address has been deleted.",mailingAddressDeleted:"The address identified as the mailing address for this person has been deleted. Please indicate another mailing address if known."},followUpWizard:{wrapUpEmailHeading:"Your email has been sent. Hurray!",wrapUpDefaultHeading:"Completed",wrapUpReminderInstructions:e=>`<b>Stay connected</b> with ${e}. It's a breeze &mdash; just click and go!`,wrapUpNoteInstructions:"<b>What did you learn?</b>"}},alerts:{mobileAlertDisclaimer:"Alert recipients receive texts/emails with links that enable login to your account automatically. DO NOT add anyone you do not want to give full access to your account.<br><br>If your mobile number is unsubscribed, text START to 31216 to begin receiving alerts",mobileAppInfo:"Mobile App<br>Do you want to receive mobile notifications and text your contacts right from your phone? The Market Leader mobile app lets you do just that! See Mobile App section at the bottom of this page.",upsellSuccessMessage:"Thank you. Someone will call you.",confirmDelete:"Are you sure you want to delete this activity alert?",buttons:{requestInfoButton:"Contact me about Pro for Teams!"},updateSuccess:"Alert updated.",updateFailed:"Alert could not be updated.",emailDeleted:"Email deleted.",emailAdded:"Email added.",mobileNumberDeleted:"Mobile number deleted.",mobileNumberAdded:"Mobile number added."},assets:{logoUpdated:"Logo updated"},blog:{postTitleToolTip:"This will also be your SEO Title. It is recommended to keep your title under 50 characters to ensure that your full title will be displayed in search results and sharing this post via email will provide high deliverability. Your Title should include your important keywords and be easy for someone to read.",imageToolTip:"This is the image that appears at the top of your blog post and in the summary view on your Blog page. Your optimal image ratio is 16:9 and should be 1280px by 720px or higher."},partners:{confirmDelete:"Are you sure you want to delete the Featured Partner?",partnerSaved:"Partner saved.",partnerSaveFailed:"There was an error saving this partner. Please try again later.",partnerDeleted:"Partner deleted.",partnerDeleteFailed:"There was an error deleting this partner. Please try again later."},profile:{newPasswordSaved:"New password saved.",newPasswordFailed:"There was an issue saving new password.  Please try again later.",currentPasswordFailed:"The current password you entered is incorrect. Please try again.",forgotPasswordEmailSent:"An email with your username and password has been sent to the email address you provided. Please check your inbox for our message.",profileImageUploaded:"Profile image uploaded successfully.",profileImageUploadFailed:"There was a problem uploading the image. Please try again.",statusUpdated:"Status updated.",statusInserted:"Status created.",statusDeleted:"Status deleted.",resetPasswordTitle:"Reset Password",resetPasswordMessage:"Are you sure you want to reset the agent's password?",resetPasswordEmailSent:"The password has been reset and has been sent to the external email address",resetPasswordEmailFailed:"We were unable to send the new password to the agent's email address. Please try again later.",profileUpdated:"Profile updated successfully."},footer:{saveSuccess:"Footer saved successfully",saveFailure:"Footer cannot be saved at this time. Please try again later."},email:{undeliverable:"undeliverable",emailSent:"Your email has been sent.",emailTemplateSavedSuccessfully:"Template Saved Successfully",newTextTemplateSavedSuccessfully:"New message template saved",moveFailure:"Message cannot be moved at this time. Please try again later.",moveFailureBulk:"Messages cannot be moved at this time. Please try again later.",messageDeleted:"Message deleted.",messagesDeleted:"Messages deleted.",messageTrashed:"Message moved to trash.",messagesTrashed:"Messages moved to trash.",messageArchived:"Message moved to archive.",messageJunked:"Message moved to junk.",messageRecovered:"Message moved to inbox.",messagesRecovered:"Messages moved to inbox.",messageUnread:"Message marked unread.",messageUnscheduled:"Your email has been unscheduled and moved to Drafts.",messageUnscheduleFailed:"Your email has not been unscheduled.",messageScheduled:"Your email has been scheduled",messageActionNotAvailable:"Action no longer available.",messageSendTimeMustBeInFuture:"Send time must be in future.",messageNoValidRecipients:"No valid recipients",standardEmailText:"All recipients will see other recipients' names and be allowed to reply.",bccEmailText:"Recipients receive their own copy of the email and will not see other recipients' names.",bccEmailDefaultContactPlaceholderText:"The message sent to each recipient included their unique details, and not the placeholder text we are showing here."},homeIntel:{goUnlimitedRequestError:"There was a problem with your request. Please try again later.",serverError:"Something went wrong. Please try again later."},integration:{mlAuthProxy:e=>`https://www.mymarketleader.com/oauth2login/?content=${e}`},marketMyListings:{facebookUrl:e=>`https://www.facebook.com/sharer.php?u=${e}`},featuredProperty:{profilePropertyMismatch:"You cannot edit another agent's property.",propertyAddSuccess:"Property successfully added.",propertyAddFailed:"Property could not be added. Please try again.",propertyUpdateSuccess:"Property successfully updated.",propertyUpdateFailed:"Property could not be updated. Please try again.",propertyDeleteSuccess:"Property successfully deleted.",propertyDeleteFailed:"Property could not be deleted. Please try again."},provisionFlow:{mlsSelect:{addSubscriptionMLSFailed:"Failed to save MLS Feed."},mlsPaperwork:{errorSaving:"Failed to save selection."},mlsIds:{addAgentAndOfficeFailed:"Failed to add Agent ID and Office ID."}},testimonials:{testimonialDeleted:"Testimonial deleted.",testimonialDeleteFailure:"Testimonial cannot be deleted at this time. Please try again later.",testimonialAdded:"Your testimonial has been added.",testimonialAddedFailure:"Testimonial cannot be added at this time. Please try again later."},todos:{error:{contactNotFound:"The contact you searched does not exist.  Please select a different contact.",errorCompleting:"There was a problem completing all the To Do's.  Please try again later."},todoCreated:"Your new To Do has been created",todoDeleted:"Your To Do has been deleted"},websites:{newItem:"Congratulations!  Your new item has been added.",pageUpdated:"Congratulations! Your changes have been saved.",operations:{menuOrderUpdated:"Congratulations! Your menu has been updated successfully.",menuItemDeleted:"Your item has been deleted.",menuItemNameUpdated:"Congratulations! Your menu has been successfully updated.",menuItemPublished:"Congratulations! Your menu has been successfully updated.",editItemSucceeded:"Congratulations! Your menu has been successfully updated.",seoSettingsUpdated:"Congratulations! Your SEO Settings have been successfully updated."},lostWorkConfirmationModalBody:"If you continue, any changes made since your last save may be discarded.  <br/><br/> To preserve your latest changes, cancel this action and click the <b>Save</b> button at the bottom of the page. <br/><br/> Do you wish to continue <em>without</em> saving your changes?",lostWorkConfirmationModalTitle:"Warning: Latest Changes Not Saved!",lostWorkConfirmationButtonText:"Yes, Continue Without Saving Changes",lostWorkConfirmationCancelButtonText:"No, Cancel",saveWithoutPagePreview:"Yes, Save Changes",cancelPagePreview:"No, Return To Page Editor",cancelButtonText:"Cancel",closeButtonText:"Close",tooltips:{propertyType:"All property types may not be supported by your MLS feed(s). To help your contacts get the best results, remove those that are not valid for your area or those you don't want to service",listingType:"To help your contacts get the best results, remove options that are not valid for your area or those you don't want to service.",distressedPropertyType:"To help your contacts get the best results, remove options &#10;that are not valid for your area or those you don't want to &#10; service.",features:'Feature options make it easy for contacts to check &#10;properties that meet their "must haves" list. All features &#10;may not be supported by your MLS. Remove those that are &#10;uncommon or invalid for your area.',optionalSearchFields:"All optional fields may not be supported by your MLS &#10;&#10; .\n\t\t\t* 55+ Community: Properties that have age minimums like an over 55 community &#10; .\n\t\t\t* Days on Website: How long the properties has been available for sale on your website &#10; .\n\t\t\t* Land Tenure: Freehold & Leasehold (Usually for HI, NY, FL and some reservations) &#10; .\n\t\t\t* Open Houses: Checkbox to see only upcoming Open Houses.&#10; .\n\t\t\t* Schools: Searches school and district names &#10; .\n\t\t\t* Subdivision: Searches for subdivision names &#10; .\n\t\t\t* Year Built: Date Range &#10;",leadGeneration:"Visitors are always required to register in order to Favorite &#10;a Property or Save a Search. &#10;&#10;Some MLS requirements may supercede these settings &#10;and require registration before viewing the first property &#10;(e.g. VOW Registration requirements)."}},error:{all:{noHtml:"No HTML tags are allowed.",noDataAvailable:"Sorry there is no data available at this time.",noFormInfoEntered:"Please fill out the form before submitting",noMultipleFields:"Please enter one of the fields, but not more than one.",notValid:"Not valid",notValidCharacter:"Invalid characters. Please try again.",emailNotValid:"Please provide a valid email address",required:"Required",urlProtocolRequired:"A valid Url is required (starting with http:// or https://).",notValidTime:"Send time must be in future.",maxLength:e=>`Max length is ${e}.`,fileDownloadError:"Unable to download file"},assets:{fileTypeNotSupported:"The file's file type is not supported.",multipleFiles:"Only one file can be uploaded at a time.",noFileDetected:"No file was detected.  Please try again.",uploadFailed:"Image failed to upload.",logoUpdateFailed:"Logo failed to update."},contacts:{contactEmailNotWorking:"This contact's email is not working",contactNotFound:"Contact not found.",contactEmailExists:"That Primary email address already exists for a contact.",bulkUpdate:{campaignNotSelected:"At least one campaign must be selected",groupNotSelected:"At least one group must be selected.",categoryRequired:"Category must have a value to update your selected contacts.",companyRequired:"Company must have a value to update your selected contacts.",historyNoteRequired:"History Note must have a value to update your selected contacts."},contactImport:{prospectImportIntegrationFailed:"Import failed. An error occurred while processing your request. Please try again later or contact customer support.",integrationsFailedAuthenticate:"Failed to complete your authentication request: unsuccessful authentication with your account.",atLeastOneContactMethodValidationFailed:"All rows require at least one of the following: phone number, valid email, or full address (address, city, state, zip).",atLeastOneContactMethodForNewMappingValidationFailed:"Field mappings require at least one of the following: phone number, valid email, or full address (address, city, state, zip).",prospectImportFailedBadFormat:"Import failed. File format does not seem to match specified format.",emptyFile:"Import failed. File is empty."},contactPreferences:{emailRequired:"Email is required when using email as a preferred contact method.",mobilePhoneRequired:"Mobile phone is required when using a phone-based contact method.",phoneRequired:"Phone is required when using the phone contact method."}},alerts:{invalidEmailAddress:"Enter a valid email address.",duplicateEmailAddress:"Duplicate email address. Please choose a unique address. ",reservedEmailAddress:"Please choose an address which is not reserved, or for system use. ",undeliverableEmailAddress:"Invalid or undeliverable email address. ",invalidMobileNumber:"Invalid mobile number. Please choose a 10-digit number",duplicateMobileNumber:"Duplicate mobile number. Please choose a unique number.",blacklistedMobileNumber:"This mobile number cannot be added.",unsubscribedMobileNumber:"This number is unsubscribed. Text START to 31216 from this phone before adding this number."},email:{maxNumberOfContactsPerEmail:e=>`You've selected more than ${e} recipients for a single email.`},profile:{statusUpdateFailed:"Error updating status.",statusDeletionFailed:"Error deleting status.",statusInsertionFailed:"Error creating status.",profileDomainInvalid:"The website you entered must be a valid subdomain and not contain periods.",profileDomainNotUnique:"The website you entered is already in use by another agent.",profileDomainRestricted:"The subdomain provided is reserved for use by our system. Please choose another.",profileLoginNotUnique:"Login is already in use. Please choose a different login.",profileEmailNotUnique:"CRM Email must be valid and unique for your site."},websites:{menuNotUpdated:"Sorry, your menu update was unsuccessful.  Please try again later.",tooManySubMenuItems:"Sorry, you've reached the maximum items allowed in a sub-menu.",noWidgetContent:"This widget has no content - time to add some!",previewNotAvailable:"We are not able to generate a preview of your page at this time.  Do you want to save the page without reviewing the preview?"}},socialAds:{error:{budgetIncrementError:"Increment warning: Your budget must be in a $25 increment.",budgetBoundsError:"Budget warning: Choose a budget between $200 and $1,000. Please contact support if you'd like to spend more on Network Boost."},confirmation:{awaitingChangesNotice:"Processing...please do not leave this page.",adModificationNotice:"Ad Modification Notice",targetCitiesModified:"Target city modifications have been applied to your ads.",outsideOfTimeWindow:"Budget modifications to your Network Boost program are outside of the suggested change window. Your changes may not go into affect until the month after next. Contact support during business hours (7a - 4p PT) for more information.",budgetDowngrade:e=>`Ad Modification Confirmation <br>\n                Decreases in budget will take effect on the first of next month<br>\n                <b>New Monthly Budget:</b> ${e}`,budgetUpgrade:(e,n)=>`Modifications have been applied to your ads.<br>\n                <b>Current Month's Pro-Rated Amount:</b> ${e}<br>\n                <b>New Monthly Budget:</b> ${n}<br>`,cancelAds:"Your credit card will not be charged any further and your ads will continue to run through the end of the month. Re-enroll in the program at anytime to receive more leads.",initialPurchase:e=>`<p>Congratulations! You\u2019ve successfully completed your Network Boost order.</p>\n\t\t\t\t\t\t\t\t<ul>\n\t\t\t\t\t\t\t\t \t<li>We are hard at work creating your ads. To take advantage of our highest performing ads (and get the most leads), make sure to complete your <a href="${e}/my-account/mls-integration">MLS setup</a> and add your <a href="${e}/my-account/add-agent-mls-id">Agent ID</a> and <a href="${e}/my-account/add-office-mls-id">Office ID.</a>  </li>\n\t\t\t\t\t\t\t\t\t<li>You will receive an email when your ads go live, and a notification each time you receive a new lead.</li>\n\t\t\t\t\t\t\t\t\t<li>Return to this page to monitor Network Boost performance and to make changes to your target cities or monthly budget.</li>\n\t\t\t\t\t\t\t\t\t<li><a href="${e}/leadproducts/network-boost">Learn more about your Network Boost leads</a> and how to turn them into clients.</li>\n\t\t\t\t\t\t\t\t</ul>`},tooltip:{pendingBudgetChange:"There is a pending change on your account. If you want to make an update to your Network Boost ad spend, please contact customer service at 877-450-0088 or Support@marketleader.com.",pendingAcceptedQuote:"There is a pending change on your account. If you want to purchase Network Boost, please contact customer service at 877-450-0088.",targetCities:"Choose one or multiple cities (maximum of 5). Leads will be targeted in and around these locations."}},tokenize:{websites:{widgetAddedToPage:e=>`Your new ${e[0]} will be visible on your website when you've saved your page! You can preview before saving.`},error:{assets:{maxImageUploadExceeded:e=>`Please only upload a max of ${e[0]} at a time.`,maxFileSizeExceeded:e=>`The file exceeds the maximum file size limit of ${e[0]}`},websites:{nameUpdateFailed:e=>`Sorry, the requested name change was unsuccessful. ${e[0]}`,publishUpdateFailed:e=>`Sorry, this change cannot be applied at this time. ${e[0]}`,cannotFetchItem:e=>`Sorry, this change cannot be applied at this time. ${e[0]}`,editItemFailed:e=>`Sorry, this change cannot be applied at this time. ${e[0]}`,deleteItemFailed:e=>`Sorry, this change cannot be applied at this time ${e[0]}`,addItemFailed:e=>`Sorry, this change cannot be applied at this time. ${e[0]}`},contacts:{importTooLargeFailed:e=>`Import failed. File is over maximum allowed size (${e[0]})`,requiredFieldFailed:e=>`${e[0]} is a required field. It must be present in all rows.`,requiredFieldUnmapped:e=>`${e[0]} is a required field. Please map it to a column.`}},validation:{duplicateString:e=>`The name "${e[0]}" is already taken.`}},groups:{duplicateGroup:"A group by this name already exists."},account:{myAccount:{website:{agentBioFullMax:"Full Bio may be no more than 16000 characters",agentBioSummaryMax:"Bio Summary may be no more than 2000 characters"}},emailSettings:{upSellUpgradeMessage:e=>`Our records indicate you have previously had an account with Market Leader.\n\t\t\tPlease Contact our support team at ${e} in order to proceed with upgrading your account.`},emailQuickText:{templateMaxLength:"Content may be no more than 2000 characters",templateMaxLengthIncludeHTML:"Content may be no more than 8000 characters including HTML",messageTemplateDeleted:"Message template deleted."}},activityFeed:{activityEventTitle:{sms:"SMS",smsReceived:"SMS Received",smsInboundStart:"SMS Opt-in Re-established",smsInboundStop:"SMS Opt-out Received",smsInboundCallFwd:"Incoming call received"},activityEventText:{smsInboundStart:e=>`${e} re-subscribed to SMS.`,smsInboundStop:e=>`${e} has unsubscribed from SMS.`,smsInboundCallFwd:e=>`${e} initiated a phone call. The call was forwarded to the mobile phone number registered with SMS services.`}}};var Ox=function(e){return e[e.Failure=0]="Failure",e[e.Success=1]="Success",e[e.Suggestion=2]="Suggestion",e}(Ox||{}),kx=function(e){return e.Failure="Failure",e.Success="Success",e.Suggestion="Suggestion",e}(kx||{});class J3{constructor(){this.Address=null,this.AddressValidationStatus=Ox.Failure,this.ErrorMessage=null,this.ValidationStatus=kx.Failure}}let e8=(()=>{class e{constructor(t){this.oneServeClient=t,this.strings=K3,this.ENDPOINTS={validateAddress:"Address/Validate/",validateAddressWithTaxInfo:"Address/ValidateWithTaxInfo/",validateEmail:"Validation/EmailAddress/",emailAddressExists:"EmailAddress/EmailAddressExists/?ProfileId=|profileId|&SubscriptionId=|subscriptionId|",validateProfilePassword:"Validation/StrongProfilePassword/?ProfileId=|profileId|&SubscriptionId=|subscriptionId|",validateProfileField:"Validation/ValidateProfileField/?SubscriptionId=|subscriptionId|&ProfileId=|profileId|"}}validateAddress(t={}){return this.oneServeClient.get(this.ENDPOINTS.validateAddress,t).pipe(st(i=>Object.assign(new Q3,i)))}validateAddressWithTaxInfo(t){return this.oneServeClient.post(this.ENDPOINTS.validateAddressWithTaxInfo,t).pipe(st(i=>Object.assign(new J3,i)))}validateEmail(t={}){return this.oneServeClient.get(this.ENDPOINTS.validateEmail,t).pipe(st(i=>Object.assign(new X3,i)))}emailAddressExists(t={}){return this.oneServeClient.get(this.ENDPOINTS.emailAddressExists,t,"EmailAddressExists").pipe(st(i=>Object.assign(new Z3,i)))}validateProfilePassword(){return this.oneServeClient.get(this.ENDPOINTS.validateProfilePassword,{},"Success")}validateField(t=null,i,r){return this.oneServeClient.get(this.ENDPOINTS.validateProfileField,{editingProfileId:t&&t>0?t:"",operation:t&&t>0?"edit":"add",fieldName:i,fieldValue:r}).pipe(st(a=>{switch(a.Error){case"PROFILE_SUBDOMAIN_NOT_VALID":return this.strings.error.profile.profileDomainInvalid;case"PROFILE_SUBDOMAIN_NOT_UNIQUE":return this.strings.error.profile.profileDomainNotUnique;case"PROFILE_SUBDOMAIN_RESTRICTED":return this.strings.error.profile.profileDomainRestricted;case"PROFILE_LOGIN_NOT_UNIQUE":return this.strings.error.profile.profileLoginNotUnique;case"PROFILE_EMAIL_NOT_VALID":case"PROFILE_EMAIL_NOT_UNIQUE":return this.strings.error.profile.profileEmailNotUnique;default:return""}}))}static{this.\u0275fac=function(i){return new(i||e)(F(xm))}}static{this.\u0275prov=R({token:e,factory:e.\u0275fac,providedIn:"root"})}}return e})(),t8=(()=>{class e{get REGEX_NAME(){return/[!@#\$%\^&\*\\(\)+`\d=\[\]{}:\";<>?,\/_]+/}get REGEX_NO_HTML(){return/[<>]/}get REGEX_HIGH_ASCII(){return/[\x80-\xFF]/}get REGEX_PHONE_US(){return/^(\+1?|[1]?)( | ?- ?|\.)?(\(?\d{3,3}\)?)?( | ?- ?|\.)?\d{3,3}( | ?- ?|\.)?\d{4,4}(( | ?- ?|\.)?x\d{1,5})?$/}get REGEX_PHONE_INTL(){return/^\+[- .()\d]{6,20}$/}get REGEX_HYPHENATED_DATE(){return/^(\d){4}\-\d\d\-\d\d$/}get PHONE_BLACKLIST(){return["1234567890","0000000000","1111111111","2222222222","3333333333","4444444444","5555555555","6666666666","7777777777","8888888888","9999999999"]}get EMAIL_VALIDATION_REGEX(){return/^([a-zA-Z0-9_\-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$/}get URL_VALIDATION_REGEX(){return/^(http?):\/\/([a-zA-Z0-9.-]+(:[a-zA-Z0-9.&%$-]+)*@)*((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]?)(\.(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])){3}|([a-zA-Z0-9-]+\.)*[a-zA-Z0-9-]+\.(com|edu|gov|int|mil|net|org|biz|arpa|info|name|pro|aero|coop|museum|[a-zA-Z]{2}))(:[0-9]+)*(\/($|[a-zA-Z0-9.,?'\\+&%$#=~_-]+))*$/}constructor(t,i){this.appConfigService=t,this.validationEntityService=i,this.configs=this.appConfigService.getConfigs()}noHtml(t){return!this.REGEX_NO_HTML.test(t)}noHighAscii(t){return!this.REGEX_HIGH_ASCII.test(t)}validAddress(t={}){return this.validationEntityService.validateAddress(t)}validateAddressWithTaxInfo(t){return this.validationEntityService.validateAddressWithTaxInfo(t)}validPhone(t){if(!t)return!0;if("+"===(t=t.toString().trim()).charAt(0)){if(!this.REGEX_PHONE_INTL.test(t))return!1}else{if(!this.REGEX_PHONE_US.test(t))return!1;let i=t.replace(/\D/g,"");if(-1!==this.PHONE_BLACKLIST.indexOf(i)||"555"===i.substring(3,6))return!1}return!0}validEmail(t,i=!1){return this.validationEntityService.validateEmail({Email:t,IncludeFreshAddress:!!i&&this.configs.isFreshAddressEnabled})}validEmailByRegex(t){return this.EMAIL_VALIDATION_REGEX.test(t)}notEmailDummyDomain(t){return!t||-1===t.indexOf(this.configs.dummyDomain)}emailAddressExists(t,i=null){return this.validationEntityService.emailAddressExists({Email:t}).pipe(st(o=>!(!o.ProspectId||o.ProspectId===i)))}validDay(t,i,r){if(!t||!i)return!0;if(!r){if(2===i&&29===t)return!0;r=(new Date).getFullYear()}return t<=new Date(r,i,0).getDate()}validHyphenatedFormatDate(t){return this.REGEX_HYPHENATED_DATE.test(t)}validateUrl(t){return this.URL_VALIDATION_REGEX.test(t)}validateName(t){return!this.REGEX_NAME.test(t)}omitNonNumeric(t,i){const r=["0","1","2","3","4","5","6","7","8","9","Backspace","ArrowLeft","ArrowUp","ArrowDown","ArrowRight","Tab"];return i?r.includes(t.key)||"."===t.key:r.includes(t.key)}static isStrongPassword(t){return!(t.length<8||!/[a-z]/g.test(t)||!/[A-Z]/g.test(t)||!/[0-9]/g.test(t)||!/[-_\W]/g.test(t))}static{this.\u0275fac=function(i){return new(i||e)(F(Y3),F(e8))}}static{this.\u0275prov=R({token:e,factory:e.\u0275fac,providedIn:"root"})}}return e})();function Wo(e){return e+.5|0}const ei=(e,n,t)=>Math.max(Math.min(e,t),n);function Oa(e){return ei(Wo(2.55*e),0,255)}function Oi(e){return ei(Wo(255*e),0,255)}function ti(e){return ei(Wo(e/2.55)/100,0,1)}function Rx(e){return ei(Wo(100*e),0,100)}const nn={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,A:10,B:11,C:12,D:13,E:14,F:15,a:10,b:11,c:12,d:13,e:14,f:15},Tm=[..."0123456789ABCDEF"],n8=e=>Tm[15&e],i8=e=>Tm[(240&e)>>4]+Tm[15&e],Yu=e=>(240&e)>>4==(15&e);const l8=/^(hsla?|hwb|hsv)\(\s*([-+.e\d]+)(?:deg)?[\s,]+([-+.e\d]+)%[\s,]+([-+.e\d]+)%(?:[\s,]+([-+.e\d]+)(%)?)?\s*\)$/;function Fx(e,n,t){const i=n*Math.min(t,1-t),r=(o,s=(o+e/30)%12)=>t-i*Math.max(Math.min(s-3,9-s,1),-1);return[r(0),r(8),r(4)]}function c8(e,n,t){const i=(r,o=(r+e/60)%6)=>t-t*n*Math.max(Math.min(o,4-o,1),0);return[i(5),i(3),i(1)]}function u8(e,n,t){const i=Fx(e,1,.5);let r;for(n+t>1&&(r=1/(n+t),n*=r,t*=r),r=0;r<3;r++)i[r]*=1-n-t,i[r]+=n;return i}function Am(e){const t=e.r/255,i=e.g/255,r=e.b/255,o=Math.max(t,i,r),s=Math.min(t,i,r),a=(o+s)/2;let l,c,u;return o!==s&&(u=o-s,c=a>.5?u/(2-o-s):u/(o+s),l=function d8(e,n,t,i,r){return e===r?(n-t)/i+(n<t?6:0):n===r?(t-e)/i+2:(e-n)/i+4}(t,i,r,u,o),l=60*l+.5),[0|l,c||0,a]}function Nm(e,n,t,i){return(Array.isArray(n)?e(n[0],n[1],n[2]):e(n,t,i)).map(Oi)}function Pm(e,n,t){return Nm(Fx,e,n,t)}function Lx(e){return(e%360+360)%360}const Vx={x:"dark",Z:"light",Y:"re",X:"blu",W:"gr",V:"medium",U:"slate",A:"ee",T:"ol",S:"or",B:"ra",C:"lateg",D:"ights",R:"in",Q:"turquois",E:"hi",P:"ro",O:"al",N:"le",M:"de",L:"yello",F:"en",K:"ch",G:"arks",H:"ea",I:"ightg",J:"wh"},Bx={OiceXe:"f0f8ff",antiquewEte:"faebd7",aqua:"ffff",aquamarRe:"7fffd4",azuY:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"0",blanKedOmond:"ffebcd",Xe:"ff",XeviTet:"8a2be2",bPwn:"a52a2a",burlywood:"deb887",caMtXe:"5f9ea0",KartYuse:"7fff00",KocTate:"d2691e",cSO:"ff7f50",cSnflowerXe:"6495ed",cSnsilk:"fff8dc",crimson:"dc143c",cyan:"ffff",xXe:"8b",xcyan:"8b8b",xgTMnPd:"b8860b",xWay:"a9a9a9",xgYF:"6400",xgYy:"a9a9a9",xkhaki:"bdb76b",xmagFta:"8b008b",xTivegYF:"556b2f",xSange:"ff8c00",xScEd:"9932cc",xYd:"8b0000",xsOmon:"e9967a",xsHgYF:"8fbc8f",xUXe:"483d8b",xUWay:"2f4f4f",xUgYy:"2f4f4f",xQe:"ced1",xviTet:"9400d3",dAppRk:"ff1493",dApskyXe:"bfff",dimWay:"696969",dimgYy:"696969",dodgerXe:"1e90ff",fiYbrick:"b22222",flSOwEte:"fffaf0",foYstWAn:"228b22",fuKsia:"ff00ff",gaRsbSo:"dcdcdc",ghostwEte:"f8f8ff",gTd:"ffd700",gTMnPd:"daa520",Way:"808080",gYF:"8000",gYFLw:"adff2f",gYy:"808080",honeyMw:"f0fff0",hotpRk:"ff69b4",RdianYd:"cd5c5c",Rdigo:"4b0082",ivSy:"fffff0",khaki:"f0e68c",lavFMr:"e6e6fa",lavFMrXsh:"fff0f5",lawngYF:"7cfc00",NmoncEffon:"fffacd",ZXe:"add8e6",ZcSO:"f08080",Zcyan:"e0ffff",ZgTMnPdLw:"fafad2",ZWay:"d3d3d3",ZgYF:"90ee90",ZgYy:"d3d3d3",ZpRk:"ffb6c1",ZsOmon:"ffa07a",ZsHgYF:"20b2aa",ZskyXe:"87cefa",ZUWay:"778899",ZUgYy:"778899",ZstAlXe:"b0c4de",ZLw:"ffffe0",lime:"ff00",limegYF:"32cd32",lRF:"faf0e6",magFta:"ff00ff",maPon:"800000",VaquamarRe:"66cdaa",VXe:"cd",VScEd:"ba55d3",VpurpN:"9370db",VsHgYF:"3cb371",VUXe:"7b68ee",VsprRggYF:"fa9a",VQe:"48d1cc",VviTetYd:"c71585",midnightXe:"191970",mRtcYam:"f5fffa",mistyPse:"ffe4e1",moccasR:"ffe4b5",navajowEte:"ffdead",navy:"80",Tdlace:"fdf5e6",Tive:"808000",TivedBb:"6b8e23",Sange:"ffa500",SangeYd:"ff4500",ScEd:"da70d6",pOegTMnPd:"eee8aa",pOegYF:"98fb98",pOeQe:"afeeee",pOeviTetYd:"db7093",papayawEp:"ffefd5",pHKpuff:"ffdab9",peru:"cd853f",pRk:"ffc0cb",plum:"dda0dd",powMrXe:"b0e0e6",purpN:"800080",YbeccapurpN:"663399",Yd:"ff0000",Psybrown:"bc8f8f",PyOXe:"4169e1",saddNbPwn:"8b4513",sOmon:"fa8072",sandybPwn:"f4a460",sHgYF:"2e8b57",sHshell:"fff5ee",siFna:"a0522d",silver:"c0c0c0",skyXe:"87ceeb",UXe:"6a5acd",UWay:"708090",UgYy:"708090",snow:"fffafa",sprRggYF:"ff7f",stAlXe:"4682b4",tan:"d2b48c",teO:"8080",tEstN:"d8bfd8",tomato:"ff6347",Qe:"40e0d0",viTet:"ee82ee",JHt:"f5deb3",wEte:"ffffff",wEtesmoke:"f5f5f5",Lw:"ffff00",LwgYF:"9acd32"};let Zu;const _8=/^rgba?\(\s*([-+.\d]+)(%)?[\s,]+([-+.e\d]+)(%)?[\s,]+([-+.e\d]+)(%)?(?:[\s,/]+([-+.e\d]+)(%)?)?\s*\)$/,Om=e=>e<=.0031308?12.92*e:1.055*Math.pow(e,1/2.4)-.055,Go=e=>e<=.04045?e/12.92:Math.pow((e+.055)/1.055,2.4);function Xu(e,n,t){if(e){let i=Am(e);i[n]=Math.max(0,Math.min(i[n]+i[n]*t,0===n?360:1)),i=Pm(i),e.r=i[0],e.g=i[1],e.b=i[2]}}function jx(e,n){return e&&Object.assign(n||{},e)}function Hx(e){var n={r:0,g:0,b:0,a:255};return Array.isArray(e)?e.length>=3&&(n={r:e[0],g:e[1],b:e[2],a:255},e.length>3&&(n.a=Oi(e[3]))):(n=jx(e,{r:0,g:0,b:0,a:1})).a=Oi(n.a),n}function C8(e){return"r"===e.charAt(0)?function b8(e){const n=_8.exec(e);let i,r,o,t=255;if(n){if(n[7]!==i){const s=+n[7];t=n[8]?Oa(s):ei(255*s,0,255)}return i=+n[1],r=+n[3],o=+n[5],i=255&(n[2]?Oa(i):ei(i,0,255)),r=255&(n[4]?Oa(r):ei(r,0,255)),o=255&(n[6]?Oa(o):ei(o,0,255)),{r:i,g:r,b:o,a:t}}}(e):function p8(e){const n=l8.exec(e);let i,t=255;if(!n)return;n[5]!==i&&(t=n[6]?Oa(+n[5]):Oi(+n[5]));const r=Lx(+n[2]),o=+n[3]/100,s=+n[4]/100;return i="hwb"===n[1]?function f8(e,n,t){return Nm(u8,e,n,t)}(r,o,s):"hsv"===n[1]?function h8(e,n,t){return Nm(c8,e,n,t)}(r,o,s):Pm(r,o,s),{r:i[0],g:i[1],b:i[2],a:t}}(e)}class qo{constructor(n){if(n instanceof qo)return n;const t=typeof n;let i;"object"===t?i=Hx(n):"string"===t&&(i=function o8(e){var t,n=e.length;return"#"===e[0]&&(4===n||5===n?t={r:255&17*nn[e[1]],g:255&17*nn[e[2]],b:255&17*nn[e[3]],a:5===n?17*nn[e[4]]:255}:(7===n||9===n)&&(t={r:nn[e[1]]<<4|nn[e[2]],g:nn[e[3]]<<4|nn[e[4]],b:nn[e[5]]<<4|nn[e[6]],a:9===n?nn[e[7]]<<4|nn[e[8]]:255})),t}(n)||function v8(e){Zu||(Zu=function y8(){const e={},n=Object.keys(Bx),t=Object.keys(Vx);let i,r,o,s,a;for(i=0;i<n.length;i++){for(s=a=n[i],r=0;r<t.length;r++)o=t[r],a=a.replace(o,Vx[o]);o=parseInt(Bx[s],16),e[a]=[o>>16&255,o>>8&255,255&o]}return e}(),Zu.transparent=[0,0,0,0]);const n=Zu[e.toLowerCase()];return n&&{r:n[0],g:n[1],b:n[2],a:4===n.length?n[3]:255}}(n)||C8(n)),this._rgb=i,this._valid=!!i}get valid(){return this._valid}get rgb(){var n=jx(this._rgb);return n&&(n.a=ti(n.a)),n}set rgb(n){this._rgb=Hx(n)}rgbString(){return this._valid?function D8(e){return e&&(e.a<255?`rgba(${e.r}, ${e.g}, ${e.b}, ${ti(e.a)})`:`rgb(${e.r}, ${e.g}, ${e.b})`)}(this._rgb):void 0}hexString(){return this._valid?function a8(e){var n=(e=>Yu(e.r)&&Yu(e.g)&&Yu(e.b)&&Yu(e.a))(e)?n8:i8;return e?"#"+n(e.r)+n(e.g)+n(e.b)+((e,n)=>e<255?n(e):"")(e.a,n):void 0}(this._rgb):void 0}hslString(){return this._valid?function m8(e){if(!e)return;const n=Am(e),t=n[0],i=Rx(n[1]),r=Rx(n[2]);return e.a<255?`hsla(${t}, ${i}%, ${r}%, ${ti(e.a)})`:`hsl(${t}, ${i}%, ${r}%)`}(this._rgb):void 0}mix(n,t){if(n){const i=this.rgb,r=n.rgb;let o;const s=t===o?.5:t,a=2*s-1,l=i.a-r.a,c=((a*l==-1?a:(a+l)/(1+a*l))+1)/2;o=1-c,i.r=255&c*i.r+o*r.r+.5,i.g=255&c*i.g+o*r.g+.5,i.b=255&c*i.b+o*r.b+.5,i.a=s*i.a+(1-s)*r.a,this.rgb=i}return this}interpolate(n,t){return n&&(this._rgb=function w8(e,n,t){const i=Go(ti(e.r)),r=Go(ti(e.g)),o=Go(ti(e.b));return{r:Oi(Om(i+t*(Go(ti(n.r))-i))),g:Oi(Om(r+t*(Go(ti(n.g))-r))),b:Oi(Om(o+t*(Go(ti(n.b))-o))),a:e.a+t*(n.a-e.a)}}(this._rgb,n._rgb,t)),this}clone(){return new qo(this.rgb)}alpha(n){return this._rgb.a=Oi(n),this}clearer(n){return this._rgb.a*=1-n,this}greyscale(){const n=this._rgb,t=Wo(.3*n.r+.59*n.g+.11*n.b);return n.r=n.g=n.b=t,this}opaquer(n){return this._rgb.a*=1+n,this}negate(){const n=this._rgb;return n.r=255-n.r,n.g=255-n.g,n.b=255-n.b,this}lighten(n){return Xu(this._rgb,2,n),this}darken(n){return Xu(this._rgb,2,-n),this}saturate(n){return Xu(this._rgb,1,n),this}desaturate(n){return Xu(this._rgb,1,-n),this}rotate(n){return function g8(e,n){var t=Am(e);t[0]=Lx(t[0]+n),t=Pm(t),e.r=t[0],e.g=t[1],e.b=t[2]}(this._rgb,n),this}}function ni(){}const E8=(()=>{let e=0;return()=>e++})();function ne(e){return null===e||typeof e>"u"}function we(e){if(Array.isArray&&Array.isArray(e))return!0;const n=Object.prototype.toString.call(e);return"[object"===n.slice(0,7)&&"Array]"===n.slice(-6)}function K(e){return null!==e&&"[object Object]"===Object.prototype.toString.call(e)}function Pe(e){return("number"==typeof e||e instanceof Number)&&isFinite(+e)}function qt(e,n){return Pe(e)?e:n}function $(e,n){return typeof e>"u"?n:e}const Ux=(e,n)=>"string"==typeof e&&e.endsWith("%")?parseFloat(e)/100*n:+e;function _e(e,n,t){if(e&&"function"==typeof e.call)return e.apply(t,n)}function ue(e,n,t,i){let r,o,s;if(we(e))if(o=e.length,i)for(r=o-1;r>=0;r--)n.call(t,e[r],r);else for(r=0;r<o;r++)n.call(t,e[r],r);else if(K(e))for(s=Object.keys(e),o=s.length,r=0;r<o;r++)n.call(t,e[s[r]],s[r])}function Qu(e,n){let t,i,r,o;if(!e||!n||e.length!==n.length)return!1;for(t=0,i=e.length;t<i;++t)if(r=e[t],o=n[t],r.datasetIndex!==o.datasetIndex||r.index!==o.index)return!1;return!0}function Ku(e){if(we(e))return e.map(Ku);if(K(e)){const n=Object.create(null),t=Object.keys(e),i=t.length;let r=0;for(;r<i;++r)n[t[r]]=Ku(e[t[r]]);return n}return e}function $x(e){return-1===["__proto__","prototype","constructor"].indexOf(e)}function I8(e,n,t,i){if(!$x(e))return;const r=n[e],o=t[e];K(r)&&K(o)?ka(r,o,i):n[e]=Ku(o)}function ka(e,n,t){const i=we(n)?n:[n],r=i.length;if(!K(e))return e;const o=(t=t||{}).merger||I8;let s;for(let a=0;a<r;++a){if(s=i[a],!K(s))continue;const l=Object.keys(s);for(let c=0,u=l.length;c<u;++c)o(l[c],e,s,t)}return e}function Ra(e,n){return ka(e,n,{merger:x8})}function x8(e,n,t){if(!$x(e))return;const i=n[e],r=t[e];K(i)&&K(r)?Ra(i,r):Object.prototype.hasOwnProperty.call(n,e)||(n[e]=Ku(r))}const zx={"":e=>e,x:e=>e.x,y:e=>e.y};function ki(e,n){return(zx[n]||(zx[n]=function T8(e){const n=function S8(e){const n=e.split("."),t=[];let i="";for(const r of n)i+=r,i.endsWith("\\")?i=i.slice(0,-1)+".":(t.push(i),i="");return t}(e);return t=>{for(const i of n){if(""===i)break;t=t&&t[i]}return t}}(n)))(e)}function km(e){return e.charAt(0).toUpperCase()+e.slice(1)}const Fa=e=>typeof e<"u",Ri=e=>"function"==typeof e,Wx=(e,n)=>{if(e.size!==n.size)return!1;for(const t of e)if(!n.has(t))return!1;return!0},Ce=Math.PI,Ee=2*Ce,Ju=Number.POSITIVE_INFINITY,P8=Ce/180,Be=Ce/2,Dr=Ce/4,Gx=2*Ce/3,Fi=Math.log10,Fn=Math.sign;function La(e,n,t){return Math.abs(e-n)<t}function qx(e){const n=Math.round(e);e=La(e,n,e/1e3)?n:e;const t=Math.pow(10,Math.floor(Fi(e))),i=e/t;return(i<=1?1:i<=2?2:i<=5?5:10)*t}function Yo(e){return!isNaN(parseFloat(e))&&isFinite(e)}function vn(e){return e*(Ce/180)}function Zx(e){if(!Pe(e))return;let n=1,t=0;for(;Math.round(e*n)/n!==e;)n*=10,t++;return t}function Xx(e,n){const t=n.x-e.x,i=n.y-e.y,r=Math.sqrt(t*t+i*i);let o=Math.atan2(i,t);return o<-.5*Ce&&(o+=Ee),{angle:o,distance:r}}function Fm(e,n){return Math.sqrt(Math.pow(n.x-e.x,2)+Math.pow(n.y-e.y,2))}function Yt(e){return(e%Ee+Ee)%Ee}function Va(e,n,t,i){const r=Yt(e),o=Yt(n),s=Yt(t),a=Yt(o-r),l=Yt(s-r),c=Yt(r-o),u=Yt(r-s);return r===o||r===s||i&&o===s||a>l&&c<u}function tt(e,n,t){return Math.max(n,Math.min(t,e))}function ii(e,n,t,i=1e-6){return e>=Math.min(n,t)-i&&e<=Math.max(n,t)+i}function Lm(e,n,t){t=t||(s=>e[s]<n);let o,i=e.length-1,r=0;for(;i-r>1;)o=r+i>>1,t(o)?r=o:i=o;return{lo:r,hi:i}}const ri=(e,n,t,i)=>Lm(e,t,i?r=>{const o=e[r][n];return o<t||o===t&&e[r+1][n]===t}:r=>e[r][n]<t),L8=(e,n,t)=>Lm(e,t,i=>e[i][n]>=t),Qx=["push","pop","shift","splice","unshift"];function Kx(e,n){const t=e._chartjs;if(!t)return;const i=t.listeners,r=i.indexOf(n);-1!==r&&i.splice(r,1),!(i.length>0)&&(Qx.forEach(o=>{delete e[o]}),delete e._chartjs)}const eS=typeof window>"u"?function(e){return e()}:window.requestAnimationFrame;function tS(e,n){let t=[],i=!1;return function(...r){t=r,i||(i=!0,eS.call(window,()=>{i=!1,e.apply(n,t)}))}}const Vm=e=>"start"===e?"left":"end"===e?"right":"center",ht=(e,n,t)=>"start"===e?n:"end"===e?t:(n+t)/2,ed=e=>0===e||1===e,rS=(e,n,t)=>-Math.pow(2,10*(e-=1))*Math.sin((e-n)*Ee/t),oS=(e,n,t)=>Math.pow(2,-10*e)*Math.sin((e-n)*Ee/t)+1,Ba={linear:e=>e,easeInQuad:e=>e*e,easeOutQuad:e=>-e*(e-2),easeInOutQuad:e=>(e/=.5)<1?.5*e*e:-.5*(--e*(e-2)-1),easeInCubic:e=>e*e*e,easeOutCubic:e=>(e-=1)*e*e+1,easeInOutCubic:e=>(e/=.5)<1?.5*e*e*e:.5*((e-=2)*e*e+2),easeInQuart:e=>e*e*e*e,easeOutQuart:e=>-((e-=1)*e*e*e-1),easeInOutQuart:e=>(e/=.5)<1?.5*e*e*e*e:-.5*((e-=2)*e*e*e-2),easeInQuint:e=>e*e*e*e*e,easeOutQuint:e=>(e-=1)*e*e*e*e+1,easeInOutQuint:e=>(e/=.5)<1?.5*e*e*e*e*e:.5*((e-=2)*e*e*e*e+2),easeInSine:e=>1-Math.cos(e*Be),easeOutSine:e=>Math.sin(e*Be),easeInOutSine:e=>-.5*(Math.cos(Ce*e)-1),easeInExpo:e=>0===e?0:Math.pow(2,10*(e-1)),easeOutExpo:e=>1===e?1:1-Math.pow(2,-10*e),easeInOutExpo:e=>ed(e)?e:e<.5?.5*Math.pow(2,10*(2*e-1)):.5*(2-Math.pow(2,-10*(2*e-1))),easeInCirc:e=>e>=1?e:-(Math.sqrt(1-e*e)-1),easeOutCirc:e=>Math.sqrt(1-(e-=1)*e),easeInOutCirc:e=>(e/=.5)<1?-.5*(Math.sqrt(1-e*e)-1):.5*(Math.sqrt(1-(e-=2)*e)+1),easeInElastic:e=>ed(e)?e:rS(e,.075,.3),easeOutElastic:e=>ed(e)?e:oS(e,.075,.3),easeInOutElastic:e=>ed(e)?e:e<.5?.5*rS(2*e,.1125,.45):.5+.5*oS(2*e-1,.1125,.45),easeInBack:e=>e*e*(2.70158*e-1.70158),easeOutBack:e=>(e-=1)*e*(2.70158*e+1.70158)+1,easeInOutBack(e){let n=1.70158;return(e/=.5)<1?e*e*((1+(n*=1.525))*e-n)*.5:.5*((e-=2)*e*((1+(n*=1.525))*e+n)+2)},easeInBounce:e=>1-Ba.easeOutBounce(1-e),easeOutBounce:e=>e<1/2.75?7.5625*e*e:e<2/2.75?7.5625*(e-=1.5/2.75)*e+.75:e<2.5/2.75?7.5625*(e-=2.25/2.75)*e+.9375:7.5625*(e-=2.625/2.75)*e+.984375,easeInOutBounce:e=>e<.5?.5*Ba.easeInBounce(2*e):.5*Ba.easeOutBounce(2*e-1)+.5};function Bm(e){if(e&&"object"==typeof e){const n=e.toString();return"[object CanvasPattern]"===n||"[object CanvasGradient]"===n}return!1}function sS(e){return Bm(e)?e:new qo(e)}function jm(e){return Bm(e)?e:new qo(e).saturate(.5).darken(.1).hexString()}const U8=["x","y","borderWidth","radius","tension"],$8=["color","borderColor","backgroundColor"],aS=new Map;function ja(e,n,t){return function G8(e,n){n=n||{};const t=e+JSON.stringify(n);let i=aS.get(t);return i||(i=new Intl.NumberFormat(e,n),aS.set(t,i)),i}(n,t).format(e)}const lS={values:e=>we(e)?e:""+e,numeric(e,n,t){if(0===e)return"0";const i=this.chart.options.locale;let r,o=e;if(t.length>1){const c=Math.max(Math.abs(t[0].value),Math.abs(t[t.length-1].value));(c<1e-4||c>1e15)&&(r="scientific"),o=function q8(e,n){let t=n.length>3?n[2].value-n[1].value:n[1].value-n[0].value;return Math.abs(t)>=1&&e!==Math.floor(e)&&(t=e-Math.floor(e)),t}(e,t)}const s=Fi(Math.abs(o)),a=isNaN(s)?1:Math.max(Math.min(-1*Math.floor(s),20),0),l={notation:r,minimumFractionDigits:a,maximumFractionDigits:a};return Object.assign(l,this.options.ticks.format),ja(e,i,l)},logarithmic(e,n,t){if(0===e)return"0";const i=t[n].significand||e/Math.pow(10,Math.floor(Fi(e)));return[1,2,3,5,10,15].includes(i)||n>.8*t.length?lS.numeric.call(this,e,n,t):""}};var td={formatters:lS};const wr=Object.create(null),Hm=Object.create(null);function Ha(e,n){if(!n)return e;const t=n.split(".");for(let i=0,r=t.length;i<r;++i){const o=t[i];e=e[o]||(e[o]=Object.create(null))}return e}function Um(e,n,t){return"string"==typeof n?ka(Ha(e,n),t):ka(Ha(e,""),n)}class Z8{constructor(n,t){this.animation=void 0,this.backgroundColor="rgba(0,0,0,0.1)",this.borderColor="rgba(0,0,0,0.1)",this.color="#666",this.datasets={},this.devicePixelRatio=i=>i.chart.platform.getDevicePixelRatio(),this.elements={},this.events=["mousemove","mouseout","click","touchstart","touchmove"],this.font={family:"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",size:12,style:"normal",lineHeight:1.2,weight:null},this.hover={},this.hoverBackgroundColor=(i,r)=>jm(r.backgroundColor),this.hoverBorderColor=(i,r)=>jm(r.borderColor),this.hoverColor=(i,r)=>jm(r.color),this.indexAxis="x",this.interaction={mode:"nearest",intersect:!0,includeInvisible:!1},this.maintainAspectRatio=!0,this.onHover=null,this.onClick=null,this.parsing=!0,this.plugins={},this.responsive=!0,this.scale=void 0,this.scales={},this.showLine=!0,this.drawActiveElementsOnTop=!0,this.describe(n),this.apply(t)}set(n,t){return Um(this,n,t)}get(n){return Ha(this,n)}describe(n,t){return Um(Hm,n,t)}override(n,t){return Um(wr,n,t)}route(n,t,i,r){const o=Ha(this,n),s=Ha(this,i),a="_"+t;Object.defineProperties(o,{[a]:{value:o[t],writable:!0},[t]:{enumerable:!0,get(){const l=this[a],c=s[r];return K(l)?Object.assign({},c,l):$(l,c)},set(l){this[a]=l}}})}apply(n){n.forEach(t=>t(this))}}var xe=new Z8({_scriptable:e=>!e.startsWith("on"),_indexable:e=>"events"!==e,hover:{_fallback:"interaction"},interaction:{_scriptable:!1,_indexable:!1}},[function z8(e){e.set("animation",{delay:void 0,duration:1e3,easing:"easeOutQuart",fn:void 0,from:void 0,loop:void 0,to:void 0,type:void 0}),e.describe("animation",{_fallback:!1,_indexable:!1,_scriptable:n=>"onProgress"!==n&&"onComplete"!==n&&"fn"!==n}),e.set("animations",{colors:{type:"color",properties:$8},numbers:{type:"number",properties:U8}}),e.describe("animations",{_fallback:"animation"}),e.set("transitions",{active:{animation:{duration:400}},resize:{animation:{duration:0}},show:{animations:{colors:{from:"transparent"},visible:{type:"boolean",duration:0}}},hide:{animations:{colors:{to:"transparent"},visible:{type:"boolean",easing:"linear",fn:n=>0|n}}}})},function W8(e){e.set("layout",{autoPadding:!0,padding:{top:0,right:0,bottom:0,left:0}})},function Y8(e){e.set("scale",{display:!0,offset:!1,reverse:!1,beginAtZero:!1,bounds:"ticks",clip:!0,grace:0,grid:{display:!0,lineWidth:1,drawOnChartArea:!0,drawTicks:!0,tickLength:8,tickWidth:(n,t)=>t.lineWidth,tickColor:(n,t)=>t.color,offset:!1},border:{display:!0,dash:[],dashOffset:0,width:1},title:{display:!1,text:"",padding:{top:4,bottom:4}},ticks:{minRotation:0,maxRotation:50,mirror:!1,textStrokeWidth:0,textStrokeColor:"",padding:3,display:!0,autoSkip:!0,autoSkipPadding:3,labelOffset:0,callback:td.formatters.values,minor:{},major:{},align:"center",crossAlign:"near",showLabelBackdrop:!1,backdropColor:"rgba(255, 255, 255, 0.75)",backdropPadding:2}}),e.route("scale.ticks","color","","color"),e.route("scale.grid","color","","borderColor"),e.route("scale.border","color","","borderColor"),e.route("scale.title","color","","color"),e.describe("scale",{_fallback:!1,_scriptable:n=>!n.startsWith("before")&&!n.startsWith("after")&&"callback"!==n&&"parser"!==n,_indexable:n=>"borderDash"!==n&&"tickBorderDash"!==n&&"dash"!==n}),e.describe("scales",{_fallback:"scale"}),e.describe("scale.ticks",{_scriptable:n=>"backdropPadding"!==n&&"callback"!==n,_indexable:n=>"backdropPadding"!==n})}]);function nd(e,n,t,i,r){let o=n[r];return o||(o=n[r]=e.measureText(r).width,t.push(r)),o>i&&(i=o),i}function Cr(e,n,t){const i=e.currentDevicePixelRatio,r=0!==t?Math.max(t/2,.5):0;return Math.round((n-r)*i)/i+r}function cS(e,n){!n&&!e||((n=n||e.getContext("2d")).save(),n.resetTransform(),n.clearRect(0,0,e.width,e.height),n.restore())}function $m(e,n,t,i){uS(e,n,t,i,null)}function uS(e,n,t,i,r){let o,s,a,l,c,u,d,f;const h=n.pointStyle,p=n.rotation,g=n.radius;let m=(p||0)*P8;if(h&&"object"==typeof h&&(o=h.toString(),"[object HTMLImageElement]"===o||"[object HTMLCanvasElement]"===o))return e.save(),e.translate(t,i),e.rotate(m),e.drawImage(h,-h.width/2,-h.height/2,h.width,h.height),void e.restore();if(!(isNaN(g)||g<=0)){switch(e.beginPath(),h){default:r?e.ellipse(t,i,r/2,g,0,0,Ee):e.arc(t,i,g,0,Ee),e.closePath();break;case"triangle":u=r?r/2:g,e.moveTo(t+Math.sin(m)*u,i-Math.cos(m)*g),m+=Gx,e.lineTo(t+Math.sin(m)*u,i-Math.cos(m)*g),m+=Gx,e.lineTo(t+Math.sin(m)*u,i-Math.cos(m)*g),e.closePath();break;case"rectRounded":c=.516*g,l=g-c,s=Math.cos(m+Dr)*l,d=Math.cos(m+Dr)*(r?r/2-c:l),a=Math.sin(m+Dr)*l,f=Math.sin(m+Dr)*(r?r/2-c:l),e.arc(t-d,i-a,c,m-Ce,m-Be),e.arc(t+f,i-s,c,m-Be,m),e.arc(t+d,i+a,c,m,m+Be),e.arc(t-f,i+s,c,m+Be,m+Ce),e.closePath();break;case"rect":if(!p){l=Math.SQRT1_2*g,u=r?r/2:l,e.rect(t-u,i-l,2*u,2*l);break}m+=Dr;case"rectRot":d=Math.cos(m)*(r?r/2:g),s=Math.cos(m)*g,a=Math.sin(m)*g,f=Math.sin(m)*(r?r/2:g),e.moveTo(t-d,i-a),e.lineTo(t+f,i-s),e.lineTo(t+d,i+a),e.lineTo(t-f,i+s),e.closePath();break;case"crossRot":m+=Dr;case"cross":d=Math.cos(m)*(r?r/2:g),s=Math.cos(m)*g,a=Math.sin(m)*g,f=Math.sin(m)*(r?r/2:g),e.moveTo(t-d,i-a),e.lineTo(t+d,i+a),e.moveTo(t+f,i-s),e.lineTo(t-f,i+s);break;case"star":d=Math.cos(m)*(r?r/2:g),s=Math.cos(m)*g,a=Math.sin(m)*g,f=Math.sin(m)*(r?r/2:g),e.moveTo(t-d,i-a),e.lineTo(t+d,i+a),e.moveTo(t+f,i-s),e.lineTo(t-f,i+s),m+=Dr,d=Math.cos(m)*(r?r/2:g),s=Math.cos(m)*g,a=Math.sin(m)*g,f=Math.sin(m)*(r?r/2:g),e.moveTo(t-d,i-a),e.lineTo(t+d,i+a),e.moveTo(t+f,i-s),e.lineTo(t-f,i+s);break;case"line":s=r?r/2:Math.cos(m)*g,a=Math.sin(m)*g,e.moveTo(t-s,i-a),e.lineTo(t+s,i+a);break;case"dash":e.moveTo(t,i),e.lineTo(t+Math.cos(m)*(r?r/2:g),i+Math.sin(m)*g);break;case!1:e.closePath()}e.fill(),n.borderWidth>0&&e.stroke()}}function oi(e,n,t){return t=t||.5,!n||e&&e.x>n.left-t&&e.x<n.right+t&&e.y>n.top-t&&e.y<n.bottom+t}function id(e,n){e.save(),e.beginPath(),e.rect(n.left,n.top,n.right-n.left,n.bottom-n.top),e.clip()}function rd(e){e.restore()}function t5(e,n,t,i,r){if(r.strikethrough||r.underline){const o=e.measureText(i),s=n-o.actualBoundingBoxLeft,a=n+o.actualBoundingBoxRight,c=t+o.actualBoundingBoxDescent,u=r.strikethrough?(t-o.actualBoundingBoxAscent+c)/2:c;e.strokeStyle=e.fillStyle,e.beginPath(),e.lineWidth=r.decorationWidth||2,e.moveTo(s,u),e.lineTo(a,u),e.stroke()}}function n5(e,n){const t=e.fillStyle;e.fillStyle=n.color,e.fillRect(n.left,n.top,n.width,n.height),e.fillStyle=t}function Er(e,n,t,i,r,o={}){const s=we(n)?n:[n],a=o.strokeWidth>0&&""!==o.strokeColor;let l,c;for(e.save(),e.font=r.string,function e5(e,n){n.translation&&e.translate(n.translation[0],n.translation[1]),ne(n.rotation)||e.rotate(n.rotation),n.color&&(e.fillStyle=n.color),n.textAlign&&(e.textAlign=n.textAlign),n.textBaseline&&(e.textBaseline=n.textBaseline)}(e,o),l=0;l<s.length;++l)c=s[l],o.backdrop&&n5(e,o.backdrop),a&&(o.strokeColor&&(e.strokeStyle=o.strokeColor),ne(o.strokeWidth)||(e.lineWidth=o.strokeWidth),e.strokeText(c,t,i,o.maxWidth)),e.fillText(c,t,i,o.maxWidth),t5(e,t,i,c,o),i+=Number(r.lineHeight);e.restore()}function Ua(e,n){const{x:t,y:i,w:r,h:o,radius:s}=n;e.arc(t+s.topLeft,i+s.topLeft,s.topLeft,1.5*Ce,Ce,!0),e.lineTo(t,i+o-s.bottomLeft),e.arc(t+s.bottomLeft,i+o-s.bottomLeft,s.bottomLeft,Ce,Be,!0),e.lineTo(t+r-s.bottomRight,i+o),e.arc(t+r-s.bottomRight,i+o-s.bottomRight,s.bottomRight,Be,0,!0),e.lineTo(t+r,i+s.topRight),e.arc(t+r-s.topRight,i+s.topRight,s.topRight,0,-Be,!0),e.lineTo(t+s.topLeft,i)}const i5=/^(normal|(\d+(?:\.\d+)?)(px|em|%)?)$/,r5=/^(normal|italic|initial|inherit|unset|(oblique( -?[0-9]?[0-9]deg)?))$/;function o5(e,n){const t=(""+e).match(i5);if(!t||"normal"===t[1])return 1.2*n;switch(e=+t[2],t[3]){case"px":return e;case"%":e/=100}return n*e}const s5=e=>+e||0;function zm(e,n){const t={},i=K(n),r=i?Object.keys(n):n,o=K(e)?i?s=>$(e[s],e[n[s]]):s=>e[s]:()=>e;for(const s of r)t[s]=s5(o(s));return t}function dS(e){return zm(e,{top:"y",right:"x",bottom:"y",left:"x"})}function Mr(e){return zm(e,["topLeft","topRight","bottomLeft","bottomRight"])}function pt(e){const n=dS(e);return n.width=n.left+n.right,n.height=n.top+n.bottom,n}function et(e,n){let t=$((e=e||{}).size,(n=n||xe.font).size);"string"==typeof t&&(t=parseInt(t,10));let i=$(e.style,n.style);i&&!(""+i).match(r5)&&(console.warn('Invalid font style specified: "'+i+'"'),i=void 0);const r={family:$(e.family,n.family),lineHeight:o5($(e.lineHeight,n.lineHeight),t),size:t,style:i,weight:$(e.weight,n.weight),string:""};return r.string=function X8(e){return!e||ne(e.size)||ne(e.family)?null:(e.style?e.style+" ":"")+(e.weight?e.weight+" ":"")+e.size+"px "+e.family}(r),r}function $a(e,n,t,i){let o,s,a,r=!0;for(o=0,s=e.length;o<s;++o)if(a=e[o],void 0!==a&&(void 0!==n&&"function"==typeof a&&(a=a(n),r=!1),void 0!==t&&we(a)&&(a=a[t%a.length],r=!1),void 0!==a))return i&&!r&&(i.cacheable=!1),a}function Li(e,n){return Object.assign(Object.create(e),n)}function Wm(e,n=[""],t,i,r=()=>e[0]){const o=t||e;typeof i>"u"&&(i=mS("_fallback",e));const s={[Symbol.toStringTag]:"Object",_cacheable:!0,_scopes:e,_rootScopes:o,_fallback:i,_getTarget:r,override:a=>Wm([a,...e],n,o,i)};return new Proxy(s,{deleteProperty:(a,l)=>(delete a[l],delete a._keys,delete e[0][l],!0),get:(a,l)=>hS(a,l,()=>function g5(e,n,t,i){let r;for(const o of n)if(r=mS(l5(o,e),t),typeof r<"u")return Gm(e,r)?qm(t,i,e,r):r}(l,n,e,a)),getOwnPropertyDescriptor:(a,l)=>Reflect.getOwnPropertyDescriptor(a._scopes[0],l),getPrototypeOf:()=>Reflect.getPrototypeOf(e[0]),has:(a,l)=>yS(a).includes(l),ownKeys:a=>yS(a),set(a,l,c){const u=a._storage||(a._storage=r());return a[l]=u[l]=c,delete a._keys,!0}})}function Zo(e,n,t,i){const r={_cacheable:!1,_proxy:e,_context:n,_subProxy:t,_stack:new Set,_descriptors:fS(e,i),setContext:o=>Zo(e,o,t,i),override:o=>Zo(e.override(o),n,t,i)};return new Proxy(r,{deleteProperty:(o,s)=>(delete o[s],delete e[s],!0),get:(o,s,a)=>hS(o,s,()=>function c5(e,n,t){const{_proxy:i,_context:r,_subProxy:o,_descriptors:s}=e;let a=i[n];return Ri(a)&&s.isScriptable(n)&&(a=function u5(e,n,t,i){const{_proxy:r,_context:o,_subProxy:s,_stack:a}=t;if(a.has(e))throw new Error("Recursion detected: "+Array.from(a).join("->")+"->"+e);a.add(e);let l=n(o,s||i);return a.delete(e),Gm(e,l)&&(l=qm(r._scopes,r,e,l)),l}(n,a,e,t)),we(a)&&a.length&&(a=function d5(e,n,t,i){const{_proxy:r,_context:o,_subProxy:s,_descriptors:a}=t;if(typeof o.index<"u"&&i(e))return n[o.index%n.length];if(K(n[0])){const l=n,c=r._scopes.filter(u=>u!==l);n=[];for(const u of l){const d=qm(c,r,e,u);n.push(Zo(d,o,s&&s[e],a))}}return n}(n,a,e,s.isIndexable)),Gm(n,a)&&(a=Zo(a,r,o&&o[n],s)),a}(o,s,a)),getOwnPropertyDescriptor:(o,s)=>o._descriptors.allKeys?Reflect.has(e,s)?{enumerable:!0,configurable:!0}:void 0:Reflect.getOwnPropertyDescriptor(e,s),getPrototypeOf:()=>Reflect.getPrototypeOf(e),has:(o,s)=>Reflect.has(e,s),ownKeys:()=>Reflect.ownKeys(e),set:(o,s,a)=>(e[s]=a,delete o[s],!0)})}function fS(e,n={scriptable:!0,indexable:!0}){const{_scriptable:t=n.scriptable,_indexable:i=n.indexable,_allKeys:r=n.allKeys}=e;return{allKeys:r,scriptable:t,indexable:i,isScriptable:Ri(t)?t:()=>t,isIndexable:Ri(i)?i:()=>i}}const l5=(e,n)=>e?e+km(n):n,Gm=(e,n)=>K(n)&&"adapters"!==e&&(null===Object.getPrototypeOf(n)||n.constructor===Object);function hS(e,n,t){if(Object.prototype.hasOwnProperty.call(e,n)||"constructor"===n)return e[n];const i=t();return e[n]=i,i}function pS(e,n,t){return Ri(e)?e(n,t):e}const f5=(e,n)=>!0===e?n:"string"==typeof e?ki(n,e):void 0;function h5(e,n,t,i,r){for(const o of n){const s=f5(t,o);if(s){e.add(s);const a=pS(s._fallback,t,r);if(typeof a<"u"&&a!==t&&a!==i)return a}else if(!1===s&&typeof i<"u"&&t!==i)return null}return!1}function qm(e,n,t,i){const r=n._rootScopes,o=pS(n._fallback,t,i),s=[...e,...r],a=new Set;a.add(i);let l=gS(a,s,t,o||t,i);return!(null===l||typeof o<"u"&&o!==t&&(l=gS(a,s,o,l,i),null===l))&&Wm(Array.from(a),[""],r,o,()=>function p5(e,n,t){const i=e._getTarget();n in i||(i[n]={});const r=i[n];return we(r)&&K(t)?t:r||{}}(n,t,i))}function gS(e,n,t,i,r){for(;t;)t=h5(e,n,t,i,r);return t}function mS(e,n){for(const t of n){if(!t)continue;const i=t[e];if(typeof i<"u")return i}}function yS(e){let n=e._keys;return n||(n=e._keys=function m5(e){const n=new Set;for(const t of e)for(const i of Object.keys(t).filter(r=>!r.startsWith("_")))n.add(i);return Array.from(n)}(e._scopes)),n}function Ym(){return typeof window<"u"&&typeof document<"u"}function Zm(e){let n=e.parentNode;return n&&"[object ShadowRoot]"===n.toString()&&(n=n.host),n}function sd(e,n,t){let i;return"string"==typeof e?(i=parseInt(e,10),-1!==e.indexOf("%")&&(i=i/100*n.parentNode[t])):i=e,i}const ad=e=>e.ownerDocument.defaultView.getComputedStyle(e,null),M5=["top","right","bottom","left"];function Ir(e,n,t){const i={};t=t?"-"+t:"";for(let r=0;r<4;r++){const o=M5[r];i[o]=parseFloat(e[n+"-"+o+t])||0}return i.width=i.left+i.right,i.height=i.top+i.bottom,i}const I5=(e,n,t)=>(e>0||n>0)&&(!t||!t.shadowRoot);function xr(e,n){if("native"in e)return e;const{canvas:t,currentDevicePixelRatio:i}=n,r=ad(t),o="border-box"===r.boxSizing,s=Ir(r,"padding"),a=Ir(r,"border","width"),{x:l,y:c,box:u}=function x5(e,n){const t=e.touches,i=t&&t.length?t[0]:e,{offsetX:r,offsetY:o}=i;let a,l,s=!1;if(I5(r,o,e.target))a=r,l=o;else{const c=n.getBoundingClientRect();a=i.clientX-c.left,l=i.clientY-c.top,s=!0}return{x:a,y:l,box:s}}(e,t),d=s.left+(u&&a.left),f=s.top+(u&&a.top);let{width:h,height:p}=n;return o&&(h-=s.width+a.width,p-=s.height+a.height),{x:Math.round((l-d)/h*t.width/i),y:Math.round((c-f)/p*t.height/i)}}const ld=e=>Math.round(10*e)/10;function bS(e,n,t){const i=n||1,r=Math.floor(e.height*i),o=Math.floor(e.width*i);e.height=Math.floor(e.height),e.width=Math.floor(e.width);const s=e.canvas;return s.style&&(t||!s.style.height&&!s.style.width)&&(s.style.height=`${e.height}px`,s.style.width=`${e.width}px`),(e.currentDevicePixelRatio!==i||s.height!==r||s.width!==o)&&(e.currentDevicePixelRatio=i,s.height=r,s.width=o,e.ctx.setTransform(i,0,0,i,0,0),!0)}const A5=function(){let e=!1;try{const n={get passive(){return e=!0,!1}};Ym()&&(window.addEventListener("test",null,n),window.removeEventListener("test",null,n))}catch{}return e}();function DS(e,n){const t=function E5(e,n){return ad(e).getPropertyValue(n)}(e,n),i=t&&t.match(/^(\d+)(\.\d+)?px$/);return i?+i[1]:void 0}function Qo(e,n,t){return e?function(e,n){return{x:t=>e+e+n-t,setWidth(t){n=t},textAlign:t=>"center"===t?t:"right"===t?"left":"right",xPlus:(t,i)=>t-i,leftForLtr:(t,i)=>t-i}}(n,t):{x:e=>e,setWidth(e){},textAlign:e=>e,xPlus:(e,n)=>e+n,leftForLtr:(e,n)=>e}}function wS(e,n){let t,i;("ltr"===n||"rtl"===n)&&(t=e.canvas.style,i=[t.getPropertyValue("direction"),t.getPropertyPriority("direction")],t.setProperty("direction",n,"important"),e.prevTextDirection=i)}function CS(e,n){void 0!==n&&(delete e.prevTextDirection,e.canvas.style.setProperty("direction",n[0],n[1]))}class H5{constructor(){this._request=null,this._charts=new Map,this._running=!1,this._lastDate=void 0}_notify(n,t,i,r){const s=t.duration;t.listeners[r].forEach(a=>a({chart:n,initial:t.initial,numSteps:s,currentStep:Math.min(i-t.start,s)}))}_refresh(){this._request||(this._running=!0,this._request=eS.call(window,()=>{this._update(),this._request=null,this._running&&this._refresh()}))}_update(n=Date.now()){let t=0;this._charts.forEach((i,r)=>{if(!i.running||!i.items.length)return;const o=i.items;let l,s=o.length-1,a=!1;for(;s>=0;--s)l=o[s],l._active?(l._total>i.duration&&(i.duration=l._total),l.tick(n),a=!0):(o[s]=o[o.length-1],o.pop());a&&(r.draw(),this._notify(r,i,n,"progress")),o.length||(i.running=!1,this._notify(r,i,n,"complete"),i.initial=!1),t+=o.length}),this._lastDate=n,0===t&&(this._running=!1)}_getAnims(n){const t=this._charts;let i=t.get(n);return i||(i={running:!1,initial:!0,items:[],listeners:{complete:[],progress:[]}},t.set(n,i)),i}listen(n,t,i){this._getAnims(n).listeners[t].push(i)}add(n,t){!t||!t.length||this._getAnims(n).items.push(...t)}has(n){return this._getAnims(n).items.length>0}start(n){const t=this._charts.get(n);t&&(t.running=!0,t.start=Date.now(),t.duration=t.items.reduce((i,r)=>Math.max(i,r._duration),0),this._refresh())}running(n){if(!this._running)return!1;const t=this._charts.get(n);return!(!t||!t.running||!t.items.length)}stop(n){const t=this._charts.get(n);if(!t||!t.items.length)return;const i=t.items;let r=i.length-1;for(;r>=0;--r)i[r].cancel();t.items=[],this._notify(n,t,Date.now(),"complete")}remove(n){return this._charts.delete(n)}}var si=new H5;const AS="transparent",U5={boolean:(e,n,t)=>t>.5?n:e,color(e,n,t){const i=sS(e||AS),r=i.valid&&sS(n||AS);return r&&r.valid?r.mix(i,t).hexString():n},number:(e,n,t)=>e+(n-e)*t};class $5{constructor(n,t,i,r){const o=t[i];r=$a([n.to,r,o,n.from]);const s=$a([n.from,o,r]);this._active=!0,this._fn=n.fn||U5[n.type||typeof s],this._easing=Ba[n.easing]||Ba.linear,this._start=Math.floor(Date.now()+(n.delay||0)),this._duration=this._total=Math.floor(n.duration),this._loop=!!n.loop,this._target=t,this._prop=i,this._from=s,this._to=r,this._promises=void 0}active(){return this._active}update(n,t,i){if(this._active){this._notify(!1);const r=this._target[this._prop],o=i-this._start,s=this._duration-o;this._start=i,this._duration=Math.floor(Math.max(s,n.duration)),this._total+=o,this._loop=!!n.loop,this._to=$a([n.to,t,r,n.from]),this._from=$a([n.from,r,t])}}cancel(){this._active&&(this.tick(Date.now()),this._active=!1,this._notify(!1))}tick(n){const t=n-this._start,i=this._duration,r=this._prop,o=this._from,s=this._loop,a=this._to;let l;if(this._active=o!==a&&(s||t<i),!this._active)return this._target[r]=a,void this._notify(!0);t<0?this._target[r]=o:(l=t/i%2,l=s&&l>1?2-l:l,l=this._easing(Math.min(1,Math.max(0,l))),this._target[r]=this._fn(o,a,l))}wait(){const n=this._promises||(this._promises=[]);return new Promise((t,i)=>{n.push({res:t,rej:i})})}_notify(n){const t=n?"res":"rej",i=this._promises||[];for(let r=0;r<i.length;r++)i[r][t]()}}class NS{constructor(n,t){this._chart=n,this._properties=new Map,this.configure(t)}configure(n){if(!K(n))return;const t=Object.keys(xe.animation),i=this._properties;Object.getOwnPropertyNames(n).forEach(r=>{const o=n[r];if(!K(o))return;const s={};for(const a of t)s[a]=o[a];(we(o.properties)&&o.properties||[r]).forEach(a=>{(a===r||!i.has(a))&&i.set(a,s)})})}_animateOptions(n,t){const i=t.options,r=function W5(e,n){if(!n)return;let t=e.options;if(t)return t.$shared&&(e.options=t=Object.assign({},t,{$shared:!1,$animations:{}})),t;e.options=n}(n,i);if(!r)return[];const o=this._createAnimations(r,i);return i.$shared&&function z5(e,n){const t=[],i=Object.keys(n);for(let r=0;r<i.length;r++){const o=e[i[r]];o&&o.active()&&t.push(o.wait())}return Promise.all(t)}(n.options.$animations,i).then(()=>{n.options=i},()=>{}),o}_createAnimations(n,t){const i=this._properties,r=[],o=n.$animations||(n.$animations={}),s=Object.keys(t),a=Date.now();let l;for(l=s.length-1;l>=0;--l){const c=s[l];if("$"===c.charAt(0))continue;if("options"===c){r.push(...this._animateOptions(n,t));continue}const u=t[c];let d=o[c];const f=i.get(c);if(d){if(f&&d.active()){d.update(f,u,a);continue}d.cancel()}f&&f.duration?(o[c]=d=new $5(f,n,c,u),r.push(d)):n[c]=u}return r}update(n,t){if(0===this._properties.size)return void Object.assign(n,t);const i=this._createAnimations(n,t);return i.length?(si.add(this._chart,i),!0):void 0}}function PS(e,n){const t=e&&e.options||{},i=t.reverse,r=void 0===t.min?n:0,o=void 0===t.max?n:0;return{start:i?o:r,end:i?r:o}}function OS(e,n){const t=[],i=e._getSortedDatasetMetas(n);let r,o;for(r=0,o=i.length;r<o;++r)t.push(i[r].index);return t}function kS(e,n,t,i={}){const r=e.keys,o="single"===i.mode;let s,a,l,c;if(null===n)return;let u=!1;for(s=0,a=r.length;s<a;++s){if(l=+r[s],l===t){if(u=!0,i.all)continue;break}c=e.values[l],Pe(c)&&(o||0===n||Fn(n)===Fn(c))&&(n+=c)}return u||i.all?n:0}function Xm(e,n){const t=e&&e.options.stacked;return t||void 0===t&&void 0!==n.stack}function Q5(e,n,t){const i=e[n]||(e[n]={});return i[t]||(i[t]={})}function RS(e,n,t,i){for(const r of n.getMatchingVisibleMetas(i).reverse()){const o=e[r.index];if(t&&o>0||!t&&o<0)return r.index}return null}function FS(e,n){const{chart:t,_cachedMeta:i}=e,r=t._stacks||(t._stacks={}),{iScale:o,vScale:s,index:a}=i,l=o.axis,c=s.axis,u=function Z5(e,n,t){return`${e.id}.${n.id}.${t.stack||t.type}`}(o,s,i),d=n.length;let f;for(let h=0;h<d;++h){const p=n[h],{[l]:g,[c]:m}=p;f=(p._stacks||(p._stacks={}))[c]=Q5(r,u,g),f[a]=m,f._top=RS(f,s,!0,i.type),f._bottom=RS(f,s,!1,i.type),(f._visualValues||(f._visualValues={}))[a]=m}}function Qm(e,n){const t=e.scales;return Object.keys(t).filter(i=>t[i].axis===n).shift()}function za(e,n){const t=e.controller.index,i=e.vScale&&e.vScale.axis;if(i){n=n||e._parsed;for(const r of n){const o=r._stacks;if(!o||void 0===o[i]||void 0===o[i][t])return;delete o[i][t],void 0!==o[i]._visualValues&&void 0!==o[i]._visualValues[t]&&delete o[i]._visualValues[t]}}}const Km=e=>"reset"===e||"none"===e,LS=(e,n)=>n?e:Object.assign({},e);let Vi=(()=>class e{static defaults={};static datasetElementType=null;static dataElementType=null;constructor(t,i){this.chart=t,this._ctx=t.ctx,this.index=i,this._cachedDataOpts={},this._cachedMeta=this.getMeta(),this._type=this._cachedMeta.type,this.options=void 0,this._parsing=!1,this._data=void 0,this._objectData=void 0,this._sharedOptions=void 0,this._drawStart=void 0,this._drawCount=void 0,this.enableOptionSharing=!1,this.supportsDecimation=!1,this.$context=void 0,this._syncList=[],this.datasetElementType=new.target.datasetElementType,this.dataElementType=new.target.dataElementType,this.initialize()}initialize(){const t=this._cachedMeta;this.configure(),this.linkScales(),t._stacked=Xm(t.vScale,t),this.addElements(),this.options.fill&&!this.chart.isPluginEnabled("filler")&&console.warn("Tried to use the 'fill' option without the 'Filler' plugin enabled. Please import and register the 'Filler' plugin and make sure it is not disabled in the options")}updateIndex(t){this.index!==t&&za(this._cachedMeta),this.index=t}linkScales(){const t=this.chart,i=this._cachedMeta,r=this.getDataset(),o=(f,h,p,g)=>"x"===f?h:"r"===f?g:p,s=i.xAxisID=$(r.xAxisID,Qm(t,"x")),a=i.yAxisID=$(r.yAxisID,Qm(t,"y")),l=i.rAxisID=$(r.rAxisID,Qm(t,"r")),c=i.indexAxis,u=i.iAxisID=o(c,s,a,l),d=i.vAxisID=o(c,a,s,l);i.xScale=this.getScaleForId(s),i.yScale=this.getScaleForId(a),i.rScale=this.getScaleForId(l),i.iScale=this.getScaleForId(u),i.vScale=this.getScaleForId(d)}getDataset(){return this.chart.data.datasets[this.index]}getMeta(){return this.chart.getDatasetMeta(this.index)}getScaleForId(t){return this.chart.scales[t]}_getOtherScale(t){const i=this._cachedMeta;return t===i.iScale?i.vScale:i.iScale}reset(){this._update("reset")}_destroy(){const t=this._cachedMeta;this._data&&Kx(this._data,this),t._stacked&&za(t)}_dataCheck(){const t=this.getDataset(),i=t.data||(t.data=[]),r=this._data;if(K(i))this._data=function Y5(e,n){const{iScale:t,vScale:i}=n,r="x"===t.axis?"x":"y",o="x"===i.axis?"x":"y",s=Object.keys(e),a=new Array(s.length);let l,c,u;for(l=0,c=s.length;l<c;++l)u=s[l],a[l]={[r]:u,[o]:e[u]};return a}(i,this._cachedMeta);else if(r!==i){if(r){Kx(r,this);const o=this._cachedMeta;za(o),o._parsed=[]}i&&Object.isExtensible(i)&&function B8(e,n){e._chartjs?e._chartjs.listeners.push(n):(Object.defineProperty(e,"_chartjs",{configurable:!0,enumerable:!1,value:{listeners:[n]}}),Qx.forEach(t=>{const i="_onData"+km(t),r=e[t];Object.defineProperty(e,t,{configurable:!0,enumerable:!1,value(...o){const s=r.apply(this,o);return e._chartjs.listeners.forEach(a=>{"function"==typeof a[i]&&a[i](...o)}),s}})}))}(i,this),this._syncList=[],this._data=i}}addElements(){const t=this._cachedMeta;this._dataCheck(),this.datasetElementType&&(t.dataset=new this.datasetElementType)}buildOrUpdateElements(t){const i=this._cachedMeta,r=this.getDataset();let o=!1;this._dataCheck();const s=i._stacked;i._stacked=Xm(i.vScale,i),i.stack!==r.stack&&(o=!0,za(i),i.stack=r.stack),this._resyncElements(t),(o||s!==i._stacked)&&(FS(this,i._parsed),i._stacked=Xm(i.vScale,i))}configure(){const t=this.chart.config,i=t.datasetScopeKeys(this._type),r=t.getOptionScopes(this.getDataset(),i,!0);this.options=t.createResolver(r,this.getContext()),this._parsing=this.options.parsing,this._cachedDataOpts={}}parse(t,i){const{_cachedMeta:r,_data:o}=this,{iScale:s,_stacked:a}=r,l=s.axis;let d,f,h,c=0===t&&i===o.length||r._sorted,u=t>0&&r._parsed[t-1];if(!1===this._parsing)r._parsed=o,r._sorted=!0,h=o;else{h=we(o[t])?this.parseArrayData(r,o,t,i):K(o[t])?this.parseObjectData(r,o,t,i):this.parsePrimitiveData(r,o,t,i);const p=()=>null===f[l]||u&&f[l]<u[l];for(d=0;d<i;++d)r._parsed[d+t]=f=h[d],c&&(p()&&(c=!1),u=f);r._sorted=c}a&&FS(this,h)}parsePrimitiveData(t,i,r,o){const{iScale:s,vScale:a}=t,l=s.axis,c=a.axis,u=s.getLabels(),d=s===a,f=new Array(o);let h,p,g;for(h=0,p=o;h<p;++h)g=h+r,f[h]={[l]:d||s.parse(u[g],g),[c]:a.parse(i[g],g)};return f}parseArrayData(t,i,r,o){const{xScale:s,yScale:a}=t,l=new Array(o);let c,u,d,f;for(c=0,u=o;c<u;++c)d=c+r,f=i[d],l[c]={x:s.parse(f[0],d),y:a.parse(f[1],d)};return l}parseObjectData(t,i,r,o){const{xScale:s,yScale:a}=t,{xAxisKey:l="x",yAxisKey:c="y"}=this._parsing,u=new Array(o);let d,f,h,p;for(d=0,f=o;d<f;++d)h=d+r,p=i[h],u[d]={x:s.parse(ki(p,l),h),y:a.parse(ki(p,c),h)};return u}getParsed(t){return this._cachedMeta._parsed[t]}getDataElement(t){return this._cachedMeta.data[t]}applyStack(t,i,r){const s=this._cachedMeta,a=i[t.axis];return kS({keys:OS(this.chart,!0),values:i._stacks[t.axis]._visualValues},a,s.index,{mode:r})}updateRangeFromParsed(t,i,r,o){const s=r[i.axis];let a=null===s?NaN:s;const l=o&&r._stacks[i.axis];o&&l&&(o.values=l,a=kS(o,s,this._cachedMeta.index)),t.min=Math.min(t.min,a),t.max=Math.max(t.max,a)}getMinMax(t,i){const r=this._cachedMeta,o=r._parsed,s=r._sorted&&t===r.iScale,a=o.length,l=this._getOtherScale(t),c=((e,n)=>e&&!n.hidden&&n._stacked&&{keys:OS(this.chart,!0),values:null})(i,r),u={min:Number.POSITIVE_INFINITY,max:Number.NEGATIVE_INFINITY},{min:d,max:f}=function X5(e){const{min:n,max:t,minDefined:i,maxDefined:r}=e.getUserBounds();return{min:i?n:Number.NEGATIVE_INFINITY,max:r?t:Number.POSITIVE_INFINITY}}(l);let h,p;function g(){p=o[h];const m=p[l.axis];return!Pe(p[t.axis])||d>m||f<m}for(h=0;h<a&&(g()||(this.updateRangeFromParsed(u,t,p,c),!s));++h);if(s)for(h=a-1;h>=0;--h)if(!g()){this.updateRangeFromParsed(u,t,p,c);break}return u}getAllParsedValues(t){const i=this._cachedMeta._parsed,r=[];let o,s,a;for(o=0,s=i.length;o<s;++o)a=i[o][t.axis],Pe(a)&&r.push(a);return r}getMaxOverflow(){return!1}getLabelAndValue(t){const i=this._cachedMeta,r=i.iScale,o=i.vScale,s=this.getParsed(t);return{label:r?""+r.getLabelForValue(s[r.axis]):"",value:o?""+o.getLabelForValue(s[o.axis]):""}}_update(t){const i=this._cachedMeta;this.update(t||"default"),i._clip=function q5(e){let n,t,i,r;return K(e)?(n=e.top,t=e.right,i=e.bottom,r=e.left):n=t=i=r=e,{top:n,right:t,bottom:i,left:r,disabled:!1===e}}($(this.options.clip,function G5(e,n,t){if(!1===t)return!1;const i=PS(e,t),r=PS(n,t);return{top:r.end,right:i.end,bottom:r.start,left:i.start}}(i.xScale,i.yScale,this.getMaxOverflow())))}update(t){}draw(){const t=this._ctx,r=this._cachedMeta,o=r.data||[],s=this.chart.chartArea,a=[],l=this._drawStart||0,c=this._drawCount||o.length-l,u=this.options.drawActiveElementsOnTop;let d;for(r.dataset&&r.dataset.draw(t,s,l,c),d=l;d<l+c;++d){const f=o[d];f.hidden||(f.active&&u?a.push(f):f.draw(t,s))}for(d=0;d<a.length;++d)a[d].draw(t,s)}getStyle(t,i){const r=i?"active":"default";return void 0===t&&this._cachedMeta.dataset?this.resolveDatasetElementOptions(r):this.resolveDataElementOptions(t||0,r)}getContext(t,i,r){const o=this.getDataset();let s;if(t>=0&&t<this._cachedMeta.data.length){const a=this._cachedMeta.data[t];s=a.$context||(a.$context=function J5(e,n,t){return Li(e,{active:!1,dataIndex:n,parsed:void 0,raw:void 0,element:t,index:n,mode:"default",type:"data"})}(this.getContext(),t,a)),s.parsed=this.getParsed(t),s.raw=o.data[t],s.index=s.dataIndex=t}else s=this.$context||(this.$context=function K5(e,n){return Li(e,{active:!1,dataset:void 0,datasetIndex:n,index:n,mode:"default",type:"dataset"})}(this.chart.getContext(),this.index)),s.dataset=o,s.index=s.datasetIndex=this.index;return s.active=!!i,s.mode=r,s}resolveDatasetElementOptions(t){return this._resolveElementOptions(this.datasetElementType.id,t)}resolveDataElementOptions(t,i){return this._resolveElementOptions(this.dataElementType.id,i,t)}_resolveElementOptions(t,i="default",r){const o="active"===i,s=this._cachedDataOpts,a=t+"-"+i,l=s[a],c=this.enableOptionSharing&&Fa(r);if(l)return LS(l,c);const u=this.chart.config,d=u.datasetElementScopeKeys(this._type,t),f=o?[`${t}Hover`,"hover",t,""]:[t,""],h=u.getOptionScopes(this.getDataset(),d),p=Object.keys(xe.elements[t]),m=u.resolveNamedOptions(h,p,()=>this.getContext(r,o,i),f);return m.$shared&&(m.$shared=c,s[a]=Object.freeze(LS(m,c))),m}_resolveAnimations(t,i,r){const o=this.chart,s=this._cachedDataOpts,a=`animation-${i}`,l=s[a];if(l)return l;let c;if(!1!==o.options.animation){const d=this.chart.config,f=d.datasetAnimationScopeKeys(this._type,i),h=d.getOptionScopes(this.getDataset(),f);c=d.createResolver(h,this.getContext(t,r,i))}const u=new NS(o,c&&c.animations);return c&&c._cacheable&&(s[a]=Object.freeze(u)),u}getSharedOptions(t){if(t.$shared)return this._sharedOptions||(this._sharedOptions=Object.assign({},t))}includeOptions(t,i){return!i||Km(t)||this.chart._animationsDisabled}_getSharedOptions(t,i){const r=this.resolveDataElementOptions(t,i),o=this._sharedOptions,s=this.getSharedOptions(r),a=this.includeOptions(i,s)||s!==o;return this.updateSharedOptions(s,i,r),{sharedOptions:s,includeOptions:a}}updateElement(t,i,r,o){Km(o)?Object.assign(t,r):this._resolveAnimations(i,o).update(t,r)}updateSharedOptions(t,i,r){t&&!Km(i)&&this._resolveAnimations(void 0,i).update(t,r)}_setStyle(t,i,r,o){t.active=o;const s=this.getStyle(i,o);this._resolveAnimations(i,r,o).update(t,{options:!o&&this.getSharedOptions(s)||s})}removeHoverStyle(t,i,r){this._setStyle(t,r,"active",!1)}setHoverStyle(t,i,r){this._setStyle(t,r,"active",!0)}_removeDatasetHoverStyle(){const t=this._cachedMeta.dataset;t&&this._setStyle(t,void 0,"active",!1)}_setDatasetHoverStyle(){const t=this._cachedMeta.dataset;t&&this._setStyle(t,void 0,"active",!0)}_resyncElements(t){const i=this._data,r=this._cachedMeta.data;for(const[l,c,u]of this._syncList)this[l](c,u);this._syncList=[];const o=r.length,s=i.length,a=Math.min(s,o);a&&this.parse(0,a),s>o?this._insertElements(o,s-o,t):s<o&&this._removeElements(s,o-s)}_insertElements(t,i,r=!0){const o=this._cachedMeta,s=o.data,a=t+i;let l;const c=u=>{for(u.length+=i,l=u.length-1;l>=a;l--)u[l]=u[l-i]};for(c(s),l=t;l<a;++l)s[l]=new this.dataElementType;this._parsing&&c(o._parsed),this.parse(t,i),r&&this.updateElements(s,t,i,"reset")}updateElements(t,i,r,o){}_removeElements(t,i){const r=this._cachedMeta;if(this._parsing){const o=r._parsed.splice(t,i);r._stacked&&za(r,o)}r.data.splice(t,i)}_sync(t){if(this._parsing)this._syncList.push(t);else{const[i,r,o]=t;this[i](r,o)}this.chart._dataChanges.push([this.index,...t])}_onDataPush(){const t=arguments.length;this._sync(["_insertElements",this.getDataset().data.length-t,t])}_onDataPop(){this._sync(["_removeElements",this._cachedMeta.data.length-1,1])}_onDataShift(){this._sync(["_removeElements",0,1])}_onDataSplice(t,i){i&&this._sync(["_removeElements",t,i]);const r=arguments.length-2;r&&this._sync(["_insertElements",t,r])}_onDataUnshift(){this._sync(["_insertElements",0,arguments.length])}})();function nW(e){const n=e.iScale,t=function tW(e,n){if(!e._cache.$bar){const t=e.getMatchingVisibleMetas(n);let i=[];for(let r=0,o=t.length;r<o;r++)i=i.concat(t[r].controller.getAllParsedValues(e));e._cache.$bar=function Jx(e){const n=new Set(e);return n.size===e.length?e:Array.from(n)}(i.sort((r,o)=>r-o))}return e._cache.$bar}(n,e.type);let r,o,s,a,i=n._length;const l=()=>{32767===s||-32768===s||(Fa(a)&&(i=Math.min(i,Math.abs(s-a)||i)),a=s)};for(r=0,o=t.length;r<o;++r)s=n.getPixelForValue(t[r]),l();for(a=void 0,r=0,o=n.ticks.length;r<o;++r)s=n.getPixelForTick(r),l();return i}function VS(e,n,t,i){return we(e)?function oW(e,n,t,i){const r=t.parse(e[0],i),o=t.parse(e[1],i),s=Math.min(r,o),a=Math.max(r,o);let l=s,c=a;Math.abs(s)>Math.abs(a)&&(l=a,c=s),n[t.axis]=c,n._custom={barStart:l,barEnd:c,start:r,end:o,min:s,max:a}}(e,n,t,i):n[t.axis]=t.parse(e,i),n}function BS(e,n,t,i){const r=e.iScale,o=e.vScale,s=r.getLabels(),a=r===o,l=[];let c,u,d,f;for(c=t,u=t+i;c<u;++c)f=n[c],d={},d[r.axis]=a||r.parse(s[c],c),l.push(VS(f,d,o,c));return l}function Jm(e){return e&&void 0!==e.barStart&&void 0!==e.barEnd}function lW(e,n,t,i){let r=n.borderSkipped;const o={};if(!r)return void(e.borderSkipped=o);if(!0===r)return void(e.borderSkipped={top:!0,right:!0,bottom:!0,left:!0});const{start:s,end:a,reverse:l,top:c,bottom:u}=function aW(e){let n,t,i,r,o;return e.horizontal?(n=e.base>e.x,t="left",i="right"):(n=e.base<e.y,t="bottom",i="top"),n?(r="end",o="start"):(r="start",o="end"),{start:t,end:i,reverse:n,top:r,bottom:o}}(e);"middle"===r&&t&&(e.enableBorderRadius=!0,(t._top||0)===i?r=c:(t._bottom||0)===i?r=u:(o[jS(u,s,a,l)]=!0,r=c)),o[jS(r,s,a,l)]=!0,e.borderSkipped=o}function jS(e,n,t,i){return i?(e=function cW(e,n,t){return e===n?t:e===t?n:e}(e,n,t),e=HS(e,t,n)):e=HS(e,n,t),e}function HS(e,n,t){return"start"===e?n:"end"===e?t:e}function uW(e,{inflateAmount:n},t){e.inflateAmount="auto"===n?1===t?.33:0:n}let US=(()=>class e extends Vi{static id="bar";static defaults={datasetElementType:!1,dataElementType:"bar",categoryPercentage:.8,barPercentage:.9,grouped:!0,animations:{numbers:{type:"number",properties:["x","y","base","width","height"]}}};static overrides={scales:{_index_:{type:"category",offset:!0,grid:{offset:!0}},_value_:{type:"linear",beginAtZero:!0}}};parsePrimitiveData(t,i,r,o){return BS(t,i,r,o)}parseArrayData(t,i,r,o){return BS(t,i,r,o)}parseObjectData(t,i,r,o){const{iScale:s,vScale:a}=t,{xAxisKey:l="x",yAxisKey:c="y"}=this._parsing,u="x"===s.axis?l:c,d="x"===a.axis?l:c,f=[];let h,p,g,m;for(h=r,p=r+o;h<p;++h)m=i[h],g={},g[s.axis]=s.parse(ki(m,u),h),f.push(VS(ki(m,d),g,a,h));return f}updateRangeFromParsed(t,i,r,o){super.updateRangeFromParsed(t,i,r,o);const s=r._custom;s&&i===this._cachedMeta.vScale&&(t.min=Math.min(t.min,s.min),t.max=Math.max(t.max,s.max))}getMaxOverflow(){return 0}getLabelAndValue(t){const i=this._cachedMeta,{iScale:r,vScale:o}=i,s=this.getParsed(t),a=s._custom,l=Jm(a)?"["+a.start+", "+a.end+"]":""+o.getLabelForValue(s[o.axis]);return{label:""+r.getLabelForValue(s[r.axis]),value:l}}initialize(){this.enableOptionSharing=!0,super.initialize(),this._cachedMeta.stack=this.getDataset().stack}update(t){const i=this._cachedMeta;this.updateElements(i.data,0,i.data.length,t)}updateElements(t,i,r,o){const s="reset"===o,{index:a,_cachedMeta:{vScale:l}}=this,c=l.getBasePixel(),u=l.isHorizontal(),d=this._getRuler(),{sharedOptions:f,includeOptions:h}=this._getSharedOptions(i,o);for(let p=i;p<i+r;p++){const g=this.getParsed(p),m=s||ne(g[l.axis])?{base:c,head:c}:this._calculateBarValuePixels(p),v=this._calculateBarIndexPixels(p,d),y=(g._stacks||{})[l.axis],_={horizontal:u,base:m.base,enableBorderRadius:!y||Jm(g._custom)||a===y._top||a===y._bottom,x:u?m.head:v.center,y:u?v.center:m.head,height:u?v.size:Math.abs(m.size),width:u?Math.abs(m.size):v.size};h&&(_.options=f||this.resolveDataElementOptions(p,t[p].active?"active":o));const D=_.options||t[p].options;lW(_,D,y,a),uW(_,D,d.ratio),this.updateElement(t[p],p,_,o)}}_getStacks(t,i){const{iScale:r}=this._cachedMeta,o=r.getMatchingVisibleMetas(this._type).filter(d=>d.controller.options.grouped),s=r.options.stacked,a=[],l=this._cachedMeta.controller.getParsed(i),c=l&&l[r.axis],u=d=>{const f=d._parsed.find(p=>p[r.axis]===c),h=f&&f[d.vScale.axis];if(ne(h)||isNaN(h))return!0};for(const d of o)if((void 0===i||!u(d))&&((!1===s||-1===a.indexOf(d.stack)||void 0===s&&void 0===d.stack)&&a.push(d.stack),d.index===t))break;return a.length||a.push(void 0),a}_getStackCount(t){return this._getStacks(void 0,t).length}_getStackIndex(t,i,r){const o=this._getStacks(t,r),s=void 0!==i?o.indexOf(i):-1;return-1===s?o.length-1:s}_getRuler(){const t=this.options,i=this._cachedMeta,r=i.iScale,o=[];let s,a;for(s=0,a=i.data.length;s<a;++s)o.push(r.getPixelForValue(this.getParsed(s)[r.axis],s));const l=t.barThickness;return{min:l||nW(i),pixels:o,start:r._startPixel,end:r._endPixel,stackCount:this._getStackCount(),scale:r,grouped:t.grouped,ratio:l?1:t.categoryPercentage*t.barPercentage}}_calculateBarValuePixels(t){const{_cachedMeta:{vScale:i,_stacked:r,index:o},options:{base:s,minBarLength:a}}=this,l=s||0,c=this.getParsed(t),u=c._custom,d=Jm(u);let g,m,f=c[i.axis],h=0,p=r?this.applyStack(i,c,r):f;p!==f&&(h=p-f,p=f),d&&(f=u.barStart,p=u.barEnd-u.barStart,0!==f&&Fn(f)!==Fn(u.barEnd)&&(h=0),h+=f);const v=ne(s)||d?h:s;let y=i.getPixelForValue(v);if(g=this.chart.getDataVisibility(t)?i.getPixelForValue(h+p):y,m=g-y,Math.abs(m)<a){m=function sW(e,n,t){return 0!==e?Fn(e):(n.isHorizontal()?1:-1)*(n.min>=t?1:-1)}(m,i,l)*a,f===l&&(y-=m/2);const _=i.getPixelForDecimal(0),D=i.getPixelForDecimal(1),b=Math.min(_,D),w=Math.max(_,D);y=Math.max(Math.min(y,w),b),g=y+m,r&&!d&&(c._stacks[i.axis]._visualValues[o]=i.getValueForPixel(g)-i.getValueForPixel(y))}if(y===i.getPixelForValue(l)){const _=Fn(m)*i.getLineWidthForValue(l)/2;y+=_,m-=_}return{size:m,base:y,head:g,center:g+m/2}}_calculateBarIndexPixels(t,i){const r=i.scale,o=this.options,s=o.skipNull,a=$(o.maxBarThickness,1/0);let l,c;if(i.grouped){const u=s?this._getStackCount(t):i.stackCount,d="flex"===o.barThickness?function rW(e,n,t,i){const r=n.pixels,o=r[e];let s=e>0?r[e-1]:null,a=e<r.length-1?r[e+1]:null;const l=t.categoryPercentage;null===s&&(s=o-(null===a?n.end-n.start:a-o)),null===a&&(a=o+o-s);const c=o-(o-Math.min(s,a))/2*l;return{chunk:Math.abs(a-s)/2*l/i,ratio:t.barPercentage,start:c}}(t,i,o,u):function iW(e,n,t,i){const r=t.barThickness;let o,s;return ne(r)?(o=n.min*t.categoryPercentage,s=t.barPercentage):(o=r*i,s=1),{chunk:o/i,ratio:s,start:n.pixels[e]-o/2}}(t,i,o,u),f=this._getStackIndex(this.index,this._cachedMeta.stack,s?t:void 0);l=d.start+d.chunk*f+d.chunk/2,c=Math.min(a,d.chunk*d.ratio)}else l=r.getPixelForValue(this.getParsed(t)[r.axis],t),c=Math.min(a,i.min*i.ratio);return{base:l-c/2,head:l+c/2,center:l,size:c}}draw(){const t=this._cachedMeta,i=t.vScale,r=t.data,o=r.length;let s=0;for(;s<o;++s)null!==this.getParsed(s)[i.axis]&&!r[s].hidden&&r[s].draw(this._ctx)}})(),cd=(()=>class e extends Vi{static id="doughnut";static defaults={datasetElementType:!1,dataElementType:"arc",animation:{animateRotate:!0,animateScale:!1},animations:{numbers:{type:"number",properties:["circumference","endAngle","innerRadius","outerRadius","startAngle","x","y","offset","borderWidth","spacing"]}},cutout:"50%",rotation:0,circumference:360,radius:"100%",spacing:0,indexAxis:"r"};static descriptors={_scriptable:t=>"spacing"!==t,_indexable:t=>"spacing"!==t&&!t.startsWith("borderDash")&&!t.startsWith("hoverBorderDash")};static overrides={aspectRatio:1,plugins:{legend:{labels:{generateLabels(t){const i=t.data;if(i.labels.length&&i.datasets.length){const{labels:{pointStyle:r,color:o}}=t.legend.options;return i.labels.map((s,a)=>{const c=t.getDatasetMeta(0).controller.getStyle(a);return{text:s,fillStyle:c.backgroundColor,strokeStyle:c.borderColor,fontColor:o,lineWidth:c.borderWidth,pointStyle:r,hidden:!t.getDataVisibility(a),index:a}})}return[]}},onClick(t,i,r){r.chart.toggleDataVisibility(i.index),r.chart.update()}}}};constructor(t,i){super(t,i),this.enableOptionSharing=!0,this.innerRadius=void 0,this.outerRadius=void 0,this.offsetX=void 0,this.offsetY=void 0}linkScales(){}parse(t,i){const r=this.getDataset().data,o=this._cachedMeta;if(!1===this._parsing)o._parsed=r;else{let a,l,s=c=>+r[c];if(K(r[t])){const{key:c="value"}=this._parsing;s=u=>+ki(r[u],c)}for(a=t,l=t+i;a<l;++a)o._parsed[a]=s(a)}}_getRotation(){return vn(this.options.rotation-90)}_getCircumference(){return vn(this.options.circumference)}_getRotationExtents(){let t=Ee,i=-Ee;for(let r=0;r<this.chart.data.datasets.length;++r)if(this.chart.isDatasetVisible(r)&&this.chart.getDatasetMeta(r).type===this._type){const o=this.chart.getDatasetMeta(r).controller,s=o._getRotation(),a=o._getCircumference();t=Math.min(t,s),i=Math.max(i,s+a)}return{rotation:t,circumference:i-t}}update(t){const i=this.chart,{chartArea:r}=i,o=this._cachedMeta,s=o.data,a=this.getMaxBorderWidth()+this.getMaxOffset(s)+this.options.spacing,l=Math.max((Math.min(r.width,r.height)-a)/2,0),c=Math.min(((e,n)=>"string"==typeof e&&e.endsWith("%")?parseFloat(e)/100:+e/n)(this.options.cutout,l),1),u=this._getRingWeight(this.index),{circumference:d,rotation:f}=this._getRotationExtents(),{ratioX:h,ratioY:p,offsetX:g,offsetY:m}=function fW(e,n,t){let i=1,r=1,o=0,s=0;if(n<Ee){const a=e,l=a+n,c=Math.cos(a),u=Math.sin(a),d=Math.cos(l),f=Math.sin(l),h=(_,D,b)=>Va(_,a,l,!0)?1:Math.max(D,D*t,b,b*t),p=(_,D,b)=>Va(_,a,l,!0)?-1:Math.min(D,D*t,b,b*t),g=h(0,c,d),m=h(Be,u,f),v=p(Ce,c,d),y=p(Ce+Be,u,f);i=(g-v)/2,r=(m-y)/2,o=-(g+v)/2,s=-(m+y)/2}return{ratioX:i,ratioY:r,offsetX:o,offsetY:s}}(f,d,c),_=Math.max(Math.min((r.width-a)/h,(r.height-a)/p)/2,0),D=Ux(this.options.radius,_),w=(D-Math.max(D*c,0))/this._getVisibleDatasetWeightTotal();this.offsetX=g*D,this.offsetY=m*D,o.total=this.calculateTotal(),this.outerRadius=D-w*this._getRingWeightOffset(this.index),this.innerRadius=Math.max(this.outerRadius-w*u,0),this.updateElements(s,0,s.length,t)}_circumference(t,i){const r=this.options,o=this._cachedMeta,s=this._getCircumference();return i&&r.animation.animateRotate||!this.chart.getDataVisibility(t)||null===o._parsed[t]||o.data[t].hidden?0:this.calculateCircumference(o._parsed[t]*s/Ee)}updateElements(t,i,r,o){const s="reset"===o,a=this.chart,l=a.chartArea,d=(l.left+l.right)/2,f=(l.top+l.bottom)/2,h=s&&a.options.animation.animateScale,p=h?0:this.innerRadius,g=h?0:this.outerRadius,{sharedOptions:m,includeOptions:v}=this._getSharedOptions(i,o);let _,y=this._getRotation();for(_=0;_<i;++_)y+=this._circumference(_,s);for(_=i;_<i+r;++_){const D=this._circumference(_,s),b=t[_],w={x:d+this.offsetX,y:f+this.offsetY,startAngle:y,endAngle:y+D,circumference:D,outerRadius:g,innerRadius:p};v&&(w.options=m||this.resolveDataElementOptions(_,b.active?"active":o)),y+=D,this.updateElement(b,_,w,o)}}calculateTotal(){const t=this._cachedMeta,i=t.data;let o,r=0;for(o=0;o<i.length;o++){const s=t._parsed[o];null!==s&&!isNaN(s)&&this.chart.getDataVisibility(o)&&!i[o].hidden&&(r+=Math.abs(s))}return r}calculateCircumference(t){const i=this._cachedMeta.total;return i>0&&!isNaN(t)?Ee*(Math.abs(t)/i):0}getLabelAndValue(t){const r=this.chart,o=r.data.labels||[],s=ja(this._cachedMeta._parsed[t],r.options.locale);return{label:o[t]||"",value:s}}getMaxBorderWidth(t){let i=0;const r=this.chart;let o,s,a,l,c;if(!t)for(o=0,s=r.data.datasets.length;o<s;++o)if(r.isDatasetVisible(o)){a=r.getDatasetMeta(o),t=a.data,l=a.controller;break}if(!t)return 0;for(o=0,s=t.length;o<s;++o)c=l.resolveDataElementOptions(o),"inner"!==c.borderAlign&&(i=Math.max(i,c.borderWidth||0,c.hoverBorderWidth||0));return i}getMaxOffset(t){let i=0;for(let r=0,o=t.length;r<o;++r){const s=this.resolveDataElementOptions(r);i=Math.max(i,s.offset||0,s.hoverOffset||0)}return i}_getRingWeightOffset(t){let i=0;for(let r=0;r<t;++r)this.chart.isDatasetVisible(r)&&(i+=this._getRingWeight(r));return i}_getRingWeight(t){return Math.max($(this.chart.data.datasets[t].weight,1),0)}_getVisibleDatasetWeightTotal(){return this._getRingWeightOffset(this.chart.data.datasets.length)||1}})();function mW(e,n,t,i){const{controller:r,data:o,_sorted:s}=e,a=r._cachedMeta.iScale;if(a&&n===a.axis&&"r"!==n&&s&&o.length){const l=a._reversePixels?L8:ri;if(!i)return l(o,n,t);if(r._sharedOptions){const c=o[0],u="function"==typeof c.getRange&&c.getRange(n);if(u){const d=l(o,n,t-u),f=l(o,n,t+u);return{lo:d.lo,hi:f.hi}}}}return{lo:0,hi:o.length-1}}function Wa(e,n,t,i,r){const o=e.getSortedVisibleDatasetMetas(),s=t[n];for(let a=0,l=o.length;a<l;++a){const{index:c,data:u}=o[a],{lo:d,hi:f}=mW(o[a],n,s,r);for(let h=d;h<=f;++h){const p=u[h];p.skip||i(p,c,h)}}}function ty(e,n,t,i,r){const o=[];return!r&&!e.isPointInArea(n)||Wa(e,t,n,function(a,l,c){!r&&!oi(a,e.chartArea,0)||a.inRange(n.x,n.y,i)&&o.push({element:a,datasetIndex:l,index:c})},!0),o}function ny(e,n,t,i,r,o){return o||e.isPointInArea(n)?"r"!==t||i?function _W(e,n,t,i,r,o){let s=[];const a=function yW(e){const n=-1!==e.indexOf("x"),t=-1!==e.indexOf("y");return function(i,r){const o=n?Math.abs(i.x-r.x):0,s=t?Math.abs(i.y-r.y):0;return Math.sqrt(Math.pow(o,2)+Math.pow(s,2))}}(t);let l=Number.POSITIVE_INFINITY;return Wa(e,t,n,function c(u,d,f){const h=u.inRange(n.x,n.y,r);if(i&&!h)return;const p=u.getCenterPoint(r);if(!o&&!e.isPointInArea(p)&&!h)return;const m=a(n,p);m<l?(s=[{element:u,datasetIndex:d,index:f}],l=m):m===l&&s.push({element:u,datasetIndex:d,index:f})}),s}(e,n,t,i,r,o):function vW(e,n,t,i){let r=[];return Wa(e,t,n,function o(s,a,l){const{startAngle:c,endAngle:u}=s.getProps(["startAngle","endAngle"],i),{angle:d}=Xx(s,{x:n.x,y:n.y});Va(d,c,u)&&r.push({element:s,datasetIndex:a,index:l})}),r}(e,n,t,r):[]}function zS(e,n,t,i,r){const o=[],s="x"===t?"inXRange":"inYRange";let a=!1;return Wa(e,t,n,(l,c,u)=>{l[s]&&l[s](n[t],r)&&(o.push({element:l,datasetIndex:c,index:u}),a=a||l.inRange(n.x,n.y,r))}),i&&!a?[]:o}var bW={evaluateInteractionItems:Wa,modes:{index(e,n,t,i){const r=xr(n,e),o=t.axis||"x",s=t.includeInvisible||!1,a=t.intersect?ty(e,r,o,i,s):ny(e,r,o,!1,i,s),l=[];return a.length?(e.getSortedVisibleDatasetMetas().forEach(c=>{const u=a[0].index,d=c.data[u];d&&!d.skip&&l.push({element:d,datasetIndex:c.index,index:u})}),l):[]},dataset(e,n,t,i){const r=xr(n,e),o=t.axis||"xy",s=t.includeInvisible||!1;let a=t.intersect?ty(e,r,o,i,s):ny(e,r,o,!1,i,s);if(a.length>0){const l=a[0].datasetIndex,c=e.getDatasetMeta(l).data;a=[];for(let u=0;u<c.length;++u)a.push({element:c[u],datasetIndex:l,index:u})}return a},point:(e,n,t,i)=>ty(e,xr(n,e),t.axis||"xy",i,t.includeInvisible||!1),nearest:(e,n,t,i)=>ny(e,xr(n,e),t.axis||"xy",t.intersect,i,t.includeInvisible||!1),x:(e,n,t,i)=>zS(e,xr(n,e),"x",t.intersect,i),y:(e,n,t,i)=>zS(e,xr(n,e),"y",t.intersect,i)}};const WS=["left","top","right","bottom"];function Ga(e,n){return e.filter(t=>t.pos===n)}function GS(e,n){return e.filter(t=>-1===WS.indexOf(t.pos)&&t.box.axis===n)}function qa(e,n){return e.sort((t,i)=>{const r=n?i:t,o=n?t:i;return r.weight===o.weight?r.index-o.index:r.weight-o.weight})}function qS(e,n,t,i){return Math.max(e[t],n[t])+Math.max(e[i],n[i])}function YS(e,n){e.top=Math.max(e.top,n.top),e.left=Math.max(e.left,n.left),e.bottom=Math.max(e.bottom,n.bottom),e.right=Math.max(e.right,n.right)}function MW(e,n,t,i){const{pos:r,box:o}=t,s=e.maxPadding;if(!K(r)){t.size&&(e[r]-=t.size);const d=i[t.stack]||{size:0,count:1};d.size=Math.max(d.size,t.horizontal?o.height:o.width),t.size=d.size/d.count,e[r]+=t.size}o.getPadding&&YS(s,o.getPadding());const a=Math.max(0,n.outerWidth-qS(s,e,"left","right")),l=Math.max(0,n.outerHeight-qS(s,e,"top","bottom")),c=a!==e.w,u=l!==e.h;return e.w=a,e.h=l,t.horizontal?{same:c,other:u}:{same:u,other:c}}function xW(e,n){const t=n.maxPadding;return function i(r){const o={left:0,top:0,right:0,bottom:0};return r.forEach(s=>{o[s]=Math.max(n[s],t[s])}),o}(e?["left","right"]:["top","bottom"])}function Ya(e,n,t,i){const r=[];let o,s,a,l,c,u;for(o=0,s=e.length,c=0;o<s;++o){a=e[o],l=a.box,l.update(a.width||n.w,a.height||n.h,xW(a.horizontal,n));const{same:d,other:f}=MW(n,t,a,i);c|=d&&r.length,u=u||f,l.fullSize||r.push(a)}return c&&Ya(r,n,t,i)||u}function ud(e,n,t,i,r){e.top=t,e.left=n,e.right=n+i,e.bottom=t+r,e.width=i,e.height=r}function ZS(e,n,t,i){const r=t.padding;let{x:o,y:s}=n;for(const a of e){const l=a.box,c=i[a.stack]||{count:1,placed:0,weight:1},u=a.stackWeight/c.weight||1;if(a.horizontal){const d=n.w*u,f=c.size||l.height;Fa(c.start)&&(s=c.start),l.fullSize?ud(l,r.left,s,t.outerWidth-r.right-r.left,f):ud(l,n.left+c.placed,s,d,f),c.start=s,c.placed+=d,s=l.bottom}else{const d=n.h*u,f=c.size||l.width;Fa(c.start)&&(o=c.start),l.fullSize?ud(l,o,r.top,f,t.outerHeight-r.bottom-r.top):ud(l,o,n.top+c.placed,f,d),c.start=o,c.placed+=d,o=l.right}}n.x=o,n.y=s}var gt={addBox(e,n){e.boxes||(e.boxes=[]),n.fullSize=n.fullSize||!1,n.position=n.position||"top",n.weight=n.weight||0,n._layers=n._layers||function(){return[{z:0,draw(t){n.draw(t)}}]},e.boxes.push(n)},removeBox(e,n){const t=e.boxes?e.boxes.indexOf(n):-1;-1!==t&&e.boxes.splice(t,1)},configure(e,n,t){n.fullSize=t.fullSize,n.position=t.position,n.weight=t.weight},update(e,n,t,i){if(!e)return;const r=pt(e.options.layout.padding),o=Math.max(n-r.width,0),s=Math.max(t-r.height,0),a=function EW(e){const n=function DW(e){const n=[];let t,i,r,o,s,a;for(t=0,i=(e||[]).length;t<i;++t)r=e[t],({position:o,options:{stack:s,stackWeight:a=1}}=r),n.push({index:t,box:r,pos:o,horizontal:r.isHorizontal(),weight:r.weight,stack:s&&o+s,stackWeight:a});return n}(e),t=qa(n.filter(c=>c.box.fullSize),!0),i=qa(Ga(n,"left"),!0),r=qa(Ga(n,"right")),o=qa(Ga(n,"top"),!0),s=qa(Ga(n,"bottom")),a=GS(n,"x"),l=GS(n,"y");return{fullSize:t,leftAndTop:i.concat(o),rightAndBottom:r.concat(l).concat(s).concat(a),chartArea:Ga(n,"chartArea"),vertical:i.concat(r).concat(l),horizontal:o.concat(s).concat(a)}}(e.boxes),l=a.vertical,c=a.horizontal;ue(e.boxes,g=>{"function"==typeof g.beforeLayout&&g.beforeLayout()});const u=l.reduce((g,m)=>m.box.options&&!1===m.box.options.display?g:g+1,0)||1,d=Object.freeze({outerWidth:n,outerHeight:t,padding:r,availableWidth:o,availableHeight:s,vBoxMaxWidth:o/2/u,hBoxMaxHeight:s/2}),f=Object.assign({},r);YS(f,pt(i));const h=Object.assign({maxPadding:f,w:o,h:s,x:r.left,y:r.top},r),p=function CW(e,n){const t=function wW(e){const n={};for(const t of e){const{stack:i,pos:r,stackWeight:o}=t;if(!i||!WS.includes(r))continue;const s=n[i]||(n[i]={count:0,placed:0,weight:0,size:0});s.count++,s.weight+=o}return n}(e),{vBoxMaxWidth:i,hBoxMaxHeight:r}=n;let o,s,a;for(o=0,s=e.length;o<s;++o){a=e[o];const{fullSize:l}=a.box,c=t[a.stack],u=c&&a.stackWeight/c.weight;a.horizontal?(a.width=u?u*i:l&&n.availableWidth,a.height=r):(a.width=i,a.height=u?u*r:l&&n.availableHeight)}return t}(l.concat(c),d);Ya(a.fullSize,h,d,p),Ya(l,h,d,p),Ya(c,h,d,p)&&Ya(l,h,d,p),function IW(e){const n=e.maxPadding;function t(i){const r=Math.max(n[i]-e[i],0);return e[i]+=r,r}e.y+=t("top"),e.x+=t("left"),t("right"),t("bottom")}(h),ZS(a.leftAndTop,h,d,p),h.x+=h.w,h.y+=h.h,ZS(a.rightAndBottom,h,d,p),e.chartArea={left:h.left,top:h.top,right:h.left+h.w,bottom:h.top+h.h,height:h.h,width:h.w},ue(a.chartArea,g=>{const m=g.box;Object.assign(m,e.chartArea),m.update(h.w,h.h,{left:0,top:0,right:0,bottom:0})})}};class XS{acquireContext(n,t){}releaseContext(n){return!1}addEventListener(n,t,i){}removeEventListener(n,t,i){}getDevicePixelRatio(){return 1}getMaximumSize(n,t,i,r){return t=Math.max(0,t||n.width),i=i||n.height,{width:t,height:Math.max(0,r?Math.floor(t/r):i)}}isAttached(n){return!0}updateConfig(n){}}class SW extends XS{acquireContext(n){return n&&n.getContext&&n.getContext("2d")||null}updateConfig(n){n.options.animation=!1}}const dd="$chartjs",TW={touchstart:"mousedown",touchmove:"mousemove",touchend:"mouseup",pointerenter:"mouseenter",pointerdown:"mousedown",pointermove:"mousemove",pointerup:"mouseup",pointerleave:"mouseout",pointerout:"mouseout"},QS=e=>null===e||""===e,KS=!!A5&&{passive:!0};function PW(e,n,t){e&&e.canvas&&e.canvas.removeEventListener(n,t,KS)}function fd(e,n){for(const t of e)if(t===n||t.contains(n))return!0}function kW(e,n,t){const i=e.canvas,r=new MutationObserver(o=>{let s=!1;for(const a of o)s=s||fd(a.addedNodes,i),s=s&&!fd(a.removedNodes,i);s&&t()});return r.observe(document,{childList:!0,subtree:!0}),r}function RW(e,n,t){const i=e.canvas,r=new MutationObserver(o=>{let s=!1;for(const a of o)s=s||fd(a.removedNodes,i),s=s&&!fd(a.addedNodes,i);s&&t()});return r.observe(document,{childList:!0,subtree:!0}),r}const Za=new Map;let JS=0;function eT(){const e=window.devicePixelRatio;e!==JS&&(JS=e,Za.forEach((n,t)=>{t.currentDevicePixelRatio!==e&&n()}))}function VW(e,n,t){const i=e.canvas,r=i&&Zm(i);if(!r)return;const o=tS((a,l)=>{const c=r.clientWidth;t(a,l),c<r.clientWidth&&t()},window),s=new ResizeObserver(a=>{const l=a[0],c=l.contentRect.width,u=l.contentRect.height;0===c&&0===u||o(c,u)});return s.observe(r),function FW(e,n){Za.size||window.addEventListener("resize",eT),Za.set(e,n)}(e,o),s}function iy(e,n,t){t&&t.disconnect(),"resize"===n&&function LW(e){Za.delete(e),Za.size||window.removeEventListener("resize",eT)}(e)}function BW(e,n,t){const i=e.canvas,r=tS(o=>{null!==e.ctx&&t(function OW(e,n){const t=TW[e.type]||e.type,{x:i,y:r}=xr(e,n);return{type:t,chart:n,native:e,x:void 0!==i?i:null,y:void 0!==r?r:null}}(o,e))},e);return function NW(e,n,t){e&&e.addEventListener(n,t,KS)}(i,n,r),r}class jW extends XS{acquireContext(n,t){const i=n&&n.getContext&&n.getContext("2d");return i&&i.canvas===n?(function AW(e,n){const t=e.style,i=e.getAttribute("height"),r=e.getAttribute("width");if(e[dd]={initial:{height:i,width:r,style:{display:t.display,height:t.height,width:t.width}}},t.display=t.display||"block",t.boxSizing=t.boxSizing||"border-box",QS(r)){const o=DS(e,"width");void 0!==o&&(e.width=o)}if(QS(i))if(""===e.style.height)e.height=e.width/(n||2);else{const o=DS(e,"height");void 0!==o&&(e.height=o)}}(n,t),i):null}releaseContext(n){const t=n.canvas;if(!t[dd])return!1;const i=t[dd].initial;["height","width"].forEach(o=>{const s=i[o];ne(s)?t.removeAttribute(o):t.setAttribute(o,s)});const r=i.style||{};return Object.keys(r).forEach(o=>{t.style[o]=r[o]}),t.width=t.width,delete t[dd],!0}addEventListener(n,t,i){this.removeEventListener(n,t),(n.$proxies||(n.$proxies={}))[t]=({attach:kW,detach:RW,resize:VW}[t]||BW)(n,t,i)}removeEventListener(n,t){const i=n.$proxies||(n.$proxies={}),r=i[t];r&&(({attach:iy,detach:iy,resize:iy}[t]||PW)(n,t,r),i[t]=void 0)}getDevicePixelRatio(){return window.devicePixelRatio}getMaximumSize(n,t,i,r){return function T5(e,n,t,i){const r=ad(e),o=Ir(r,"margin"),s=sd(r.maxWidth,e,"clientWidth")||Ju,a=sd(r.maxHeight,e,"clientHeight")||Ju,l=function S5(e,n,t){let i,r;if(void 0===n||void 0===t){const o=e&&Zm(e);if(o){const s=o.getBoundingClientRect(),a=ad(o),l=Ir(a,"border","width"),c=Ir(a,"padding");n=s.width-c.width-l.width,t=s.height-c.height-l.height,i=sd(a.maxWidth,o,"clientWidth"),r=sd(a.maxHeight,o,"clientHeight")}else n=e.clientWidth,t=e.clientHeight}return{width:n,height:t,maxWidth:i||Ju,maxHeight:r||Ju}}(e,n,t);let{width:c,height:u}=l;if("content-box"===r.boxSizing){const f=Ir(r,"border","width"),h=Ir(r,"padding");c-=h.width+f.width,u-=h.height+f.height}return c=Math.max(0,c-o.width),u=Math.max(0,i?c/i:u-o.height),c=ld(Math.min(c,s,l.maxWidth)),u=ld(Math.min(u,a,l.maxHeight)),c&&!u&&(u=ld(c/2)),(void 0!==n||void 0!==t)&&i&&l.height&&u>l.height&&(u=l.height,c=ld(Math.floor(u*i))),{width:c,height:u}}(n,t,i,r)}isAttached(n){const t=n&&Zm(n);return!(!t||!t.isConnected)}}class ai{static defaults={};static defaultRoutes=void 0;x;y;active=!1;options;$animations;tooltipPosition(n){const{x:t,y:i}=this.getProps(["x","y"],n);return{x:t,y:i}}hasValue(){return Yo(this.x)&&Yo(this.y)}getProps(n,t){const i=this.$animations;if(!t||!i)return this;const r={};return n.forEach(o=>{r[o]=i[o]&&i[o].active()?i[o]._to:this[o]}),r}}function hd(e,n,t,i,r){const o=$(i,0),s=Math.min($(r,e.length),e.length);let l,c,u,a=0;for(t=Math.ceil(t),r&&(l=r-i,t=l/Math.floor(l/t)),u=o;u<0;)a++,u=Math.round(o+a*t);for(c=Math.max(o,0);c<s;c++)c===u&&(n.push(e[c]),a++,u=Math.round(o+a*t))}const tT=(e,n,t)=>"top"===n||"left"===n?e[n]+t:e[n]-t,nT=(e,n)=>Math.min(n||e,e);function iT(e,n){const t=[],i=e.length/n,r=e.length;let o=0;for(;o<r;o+=i)t.push(e[Math.floor(o)]);return t}function ZW(e,n,t){const i=e.ticks.length,r=Math.min(n,i-1),o=e._startPixel,s=e._endPixel,a=1e-6;let c,l=e.getPixelForTick(r);if(!(t&&(c=1===i?Math.max(l-o,s-l):0===n?(e.getPixelForTick(1)-l)/2:(l-e.getPixelForTick(r-1))/2,l+=r<n?c:-c,l<o-a||l>s+a)))return l}function Xa(e){return e.drawTicks?e.tickLength:0}function rT(e,n){if(!e.display)return 0;const t=et(e.font,n),i=pt(e.padding);return(we(e.text)?e.text.length:1)*t.lineHeight+i.height}function JW(e,n,t){let i=Vm(e);return(t&&"right"!==n||!t&&"right"===n)&&(i=(e=>"left"===e?"right":"right"===e?"left":e)(i)),i}class Ar extends ai{constructor(n){super(),this.id=n.id,this.type=n.type,this.options=void 0,this.ctx=n.ctx,this.chart=n.chart,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.width=void 0,this.height=void 0,this._margins={left:0,right:0,top:0,bottom:0},this.maxWidth=void 0,this.maxHeight=void 0,this.paddingTop=void 0,this.paddingBottom=void 0,this.paddingLeft=void 0,this.paddingRight=void 0,this.axis=void 0,this.labelRotation=void 0,this.min=void 0,this.max=void 0,this._range=void 0,this.ticks=[],this._gridLineItems=null,this._labelItems=null,this._labelSizes=null,this._length=0,this._maxLength=0,this._longestTextCache={},this._startPixel=void 0,this._endPixel=void 0,this._reversePixels=!1,this._userMax=void 0,this._userMin=void 0,this._suggestedMax=void 0,this._suggestedMin=void 0,this._ticksLength=0,this._borderValue=0,this._cache={},this._dataLimitsCached=!1,this.$context=void 0}init(n){this.options=n.setContext(this.getContext()),this.axis=n.axis,this._userMin=this.parse(n.min),this._userMax=this.parse(n.max),this._suggestedMin=this.parse(n.suggestedMin),this._suggestedMax=this.parse(n.suggestedMax)}parse(n,t){return n}getUserBounds(){let{_userMin:n,_userMax:t,_suggestedMin:i,_suggestedMax:r}=this;return n=qt(n,Number.POSITIVE_INFINITY),t=qt(t,Number.NEGATIVE_INFINITY),i=qt(i,Number.POSITIVE_INFINITY),r=qt(r,Number.NEGATIVE_INFINITY),{min:qt(n,i),max:qt(t,r),minDefined:Pe(n),maxDefined:Pe(t)}}getMinMax(n){let s,{min:t,max:i,minDefined:r,maxDefined:o}=this.getUserBounds();if(r&&o)return{min:t,max:i};const a=this.getMatchingVisibleMetas();for(let l=0,c=a.length;l<c;++l)s=a[l].controller.getMinMax(this,n),r||(t=Math.min(t,s.min)),o||(i=Math.max(i,s.max));return t=o&&t>i?i:t,i=r&&t>i?t:i,{min:qt(t,qt(i,t)),max:qt(i,qt(t,i))}}getPadding(){return{left:this.paddingLeft||0,top:this.paddingTop||0,right:this.paddingRight||0,bottom:this.paddingBottom||0}}getTicks(){return this.ticks}getLabels(){const n=this.chart.data;return this.options.labels||(this.isHorizontal()?n.xLabels:n.yLabels)||n.labels||[]}getLabelItems(n=this.chart.chartArea){return this._labelItems||(this._labelItems=this._computeLabelItems(n))}beforeLayout(){this._cache={},this._dataLimitsCached=!1}beforeUpdate(){_e(this.options.beforeUpdate,[this])}update(n,t,i){const{beginAtZero:r,grace:o,ticks:s}=this.options,a=s.sampleSize;this.beforeUpdate(),this.maxWidth=n,this.maxHeight=t,this._margins=i=Object.assign({left:0,right:0,top:0,bottom:0},i),this.ticks=null,this._labelSizes=null,this._gridLineItems=null,this._labelItems=null,this.beforeSetDimensions(),this.setDimensions(),this.afterSetDimensions(),this._maxLength=this.isHorizontal()?this.width+i.left+i.right:this.height+i.top+i.bottom,this._dataLimitsCached||(this.beforeDataLimits(),this.determineDataLimits(),this.afterDataLimits(),this._range=function a5(e,n,t){const{min:i,max:r}=e,o=Ux(n,(r-i)/2),s=(a,l)=>t&&0===a?0:a+l;return{min:s(i,-Math.abs(o)),max:s(r,o)}}(this,o,r),this._dataLimitsCached=!0),this.beforeBuildTicks(),this.ticks=this.buildTicks()||[],this.afterBuildTicks();const l=a<this.ticks.length;this._convertTicksToLabels(l?iT(this.ticks,a):this.ticks),this.configure(),this.beforeCalculateLabelRotation(),this.calculateLabelRotation(),this.afterCalculateLabelRotation(),s.display&&(s.autoSkip||"auto"===s.source)&&(this.ticks=function UW(e,n){const t=e.options.ticks,i=function $W(e){const n=e.options.offset,t=e._tickSize();return Math.floor(Math.min(e._length/t+(n?0:1),e._maxLength/t))}(e),r=Math.min(t.maxTicksLimit||i,i),o=t.major.enabled?function WW(e){const n=[];let t,i;for(t=0,i=e.length;t<i;t++)e[t].major&&n.push(t);return n}(n):[],s=o.length,a=o[0],l=o[s-1],c=[];if(s>r)return function GW(e,n,t,i){let s,r=0,o=t[0];for(i=Math.ceil(i),s=0;s<e.length;s++)s===o&&(n.push(e[s]),r++,o=t[r*i])}(n,c,o,s/r),c;const u=function zW(e,n,t){const i=function qW(e){const n=e.length;let t,i;if(n<2)return!1;for(i=e[0],t=1;t<n;++t)if(e[t]-e[t-1]!==i)return!1;return i}(e),r=n.length/t;if(!i)return Math.max(r,1);const o=function O8(e){const n=[],t=Math.sqrt(e);let i;for(i=1;i<t;i++)e%i==0&&(n.push(i),n.push(e/i));return t===(0|t)&&n.push(t),n.sort((r,o)=>r-o).pop(),n}(i);for(let s=0,a=o.length-1;s<a;s++){const l=o[s];if(l>r)return l}return Math.max(r,1)}(o,n,r);if(s>0){let d,f;const h=s>1?Math.round((l-a)/(s-1)):null;for(hd(n,c,u,ne(h)?0:a-h,a),d=0,f=s-1;d<f;d++)hd(n,c,u,o[d],o[d+1]);return hd(n,c,u,l,ne(h)?n.length:l+h),c}return hd(n,c,u),c}(this,this.ticks),this._labelSizes=null,this.afterAutoSkip()),l&&this._convertTicksToLabels(this.ticks),this.beforeFit(),this.fit(),this.afterFit(),this.afterUpdate()}configure(){let t,i,n=this.options.reverse;this.isHorizontal()?(t=this.left,i=this.right):(t=this.top,i=this.bottom,n=!n),this._startPixel=t,this._endPixel=i,this._reversePixels=n,this._length=i-t,this._alignToPixels=this.options.alignToPixels}afterUpdate(){_e(this.options.afterUpdate,[this])}beforeSetDimensions(){_e(this.options.beforeSetDimensions,[this])}setDimensions(){this.isHorizontal()?(this.width=this.maxWidth,this.left=0,this.right=this.width):(this.height=this.maxHeight,this.top=0,this.bottom=this.height),this.paddingLeft=0,this.paddingTop=0,this.paddingRight=0,this.paddingBottom=0}afterSetDimensions(){_e(this.options.afterSetDimensions,[this])}_callHooks(n){this.chart.notifyPlugins(n,this.getContext()),_e(this.options[n],[this])}beforeDataLimits(){this._callHooks("beforeDataLimits")}determineDataLimits(){}afterDataLimits(){this._callHooks("afterDataLimits")}beforeBuildTicks(){this._callHooks("beforeBuildTicks")}buildTicks(){return[]}afterBuildTicks(){this._callHooks("afterBuildTicks")}beforeTickToLabelConversion(){_e(this.options.beforeTickToLabelConversion,[this])}generateTickLabels(n){const t=this.options.ticks;let i,r,o;for(i=0,r=n.length;i<r;i++)o=n[i],o.label=_e(t.callback,[o.value,i,n],this)}afterTickToLabelConversion(){_e(this.options.afterTickToLabelConversion,[this])}beforeCalculateLabelRotation(){_e(this.options.beforeCalculateLabelRotation,[this])}calculateLabelRotation(){const n=this.options,t=n.ticks,i=nT(this.ticks.length,n.ticks.maxTicksLimit),r=t.minRotation||0,o=t.maxRotation;let a,l,c,s=r;if(!this._isVisible()||!t.display||r>=o||i<=1||!this.isHorizontal())return void(this.labelRotation=r);const u=this._getLabelSizes(),d=u.widest.width,f=u.highest.height,h=tt(this.chart.width-d,0,this.maxWidth);a=n.offset?this.maxWidth/i:h/(i-1),d+6>a&&(a=h/(i-(n.offset?.5:1)),l=this.maxHeight-Xa(n.grid)-t.padding-rT(n.title,this.chart.options.font),c=Math.sqrt(d*d+f*f),s=function Rm(e){return e*(180/Ce)}(Math.min(Math.asin(tt((u.highest.height+6)/a,-1,1)),Math.asin(tt(l/c,-1,1))-Math.asin(tt(f/c,-1,1)))),s=Math.max(r,Math.min(o,s))),this.labelRotation=s}afterCalculateLabelRotation(){_e(this.options.afterCalculateLabelRotation,[this])}afterAutoSkip(){}beforeFit(){_e(this.options.beforeFit,[this])}fit(){const n={width:0,height:0},{chart:t,options:{ticks:i,title:r,grid:o}}=this,s=this._isVisible(),a=this.isHorizontal();if(s){const l=rT(r,t.options.font);if(a?(n.width=this.maxWidth,n.height=Xa(o)+l):(n.height=this.maxHeight,n.width=Xa(o)+l),i.display&&this.ticks.length){const{first:c,last:u,widest:d,highest:f}=this._getLabelSizes(),h=2*i.padding,p=vn(this.labelRotation),g=Math.cos(p),m=Math.sin(p);a?n.height=Math.min(this.maxHeight,n.height+(i.mirror?0:m*d.width+g*f.height)+h):n.width=Math.min(this.maxWidth,n.width+(i.mirror?0:g*d.width+m*f.height)+h),this._calculatePadding(c,u,m,g)}}this._handleMargins(),a?(this.width=this._length=t.width-this._margins.left-this._margins.right,this.height=n.height):(this.width=n.width,this.height=this._length=t.height-this._margins.top-this._margins.bottom)}_calculatePadding(n,t,i,r){const{ticks:{align:o,padding:s},position:a}=this.options,l=0!==this.labelRotation,c="top"!==a&&"x"===this.axis;if(this.isHorizontal()){const u=this.getPixelForTick(0)-this.left,d=this.right-this.getPixelForTick(this.ticks.length-1);let f=0,h=0;l?c?(f=r*n.width,h=i*t.height):(f=i*n.height,h=r*t.width):"start"===o?h=t.width:"end"===o?f=n.width:"inner"!==o&&(f=n.width/2,h=t.width/2),this.paddingLeft=Math.max((f-u+s)*this.width/(this.width-u),0),this.paddingRight=Math.max((h-d+s)*this.width/(this.width-d),0)}else{let u=t.height/2,d=n.height/2;"start"===o?(u=0,d=n.height):"end"===o&&(u=t.height,d=0),this.paddingTop=u+s,this.paddingBottom=d+s}}_handleMargins(){this._margins&&(this._margins.left=Math.max(this.paddingLeft,this._margins.left),this._margins.top=Math.max(this.paddingTop,this._margins.top),this._margins.right=Math.max(this.paddingRight,this._margins.right),this._margins.bottom=Math.max(this.paddingBottom,this._margins.bottom))}afterFit(){_e(this.options.afterFit,[this])}isHorizontal(){const{axis:n,position:t}=this.options;return"top"===t||"bottom"===t||"x"===n}isFullSize(){return this.options.fullSize}_convertTicksToLabels(n){let t,i;for(this.beforeTickToLabelConversion(),this.generateTickLabels(n),t=0,i=n.length;t<i;t++)ne(n[t].label)&&(n.splice(t,1),i--,t--);this.afterTickToLabelConversion()}_getLabelSizes(){let n=this._labelSizes;if(!n){const t=this.options.ticks.sampleSize;let i=this.ticks;t<i.length&&(i=iT(i,t)),this._labelSizes=n=this._computeLabelSizes(i,i.length,this.options.ticks.maxTicksLimit)}return n}_computeLabelSizes(n,t,i){const{ctx:r,_longestTextCache:o}=this,s=[],a=[],l=Math.floor(t/nT(t,i));let d,f,h,p,g,m,v,y,_,D,b,c=0,u=0;for(d=0;d<t;d+=l){if(p=n[d].label,g=this._resolveTickFontOptions(d),r.font=m=g.string,v=o[m]=o[m]||{data:{},gc:[]},y=g.lineHeight,_=D=0,ne(p)||we(p)){if(we(p))for(f=0,h=p.length;f<h;++f)b=p[f],!ne(b)&&!we(b)&&(_=nd(r,v.data,v.gc,_,b),D+=y)}else _=nd(r,v.data,v.gc,_,p),D=y;s.push(_),a.push(D),c=Math.max(_,c),u=Math.max(D,u)}!function XW(e,n){ue(e,t=>{const i=t.gc,r=i.length/2;let o;if(r>n){for(o=0;o<r;++o)delete t.data[i[o]];i.splice(0,r)}})}(o,t);const w=s.indexOf(c),I=a.indexOf(u),x=N=>({width:s[N]||0,height:a[N]||0});return{first:x(0),last:x(t-1),widest:x(w),highest:x(I),widths:s,heights:a}}getLabelForValue(n){return n}getPixelForValue(n,t){return NaN}getValueForPixel(n){}getPixelForTick(n){const t=this.ticks;return n<0||n>t.length-1?null:this.getPixelForValue(t[n].value)}getPixelForDecimal(n){this._reversePixels&&(n=1-n);const t=this._startPixel+n*this._length;return function F8(e){return tt(e,-32768,32767)}(this._alignToPixels?Cr(this.chart,t,0):t)}getDecimalForPixel(n){const t=(n-this._startPixel)/this._length;return this._reversePixels?1-t:t}getBasePixel(){return this.getPixelForValue(this.getBaseValue())}getBaseValue(){const{min:n,max:t}=this;return n<0&&t<0?t:n>0&&t>0?n:0}getContext(n){const t=this.ticks||[];if(n>=0&&n<t.length){const i=t[n];return i.$context||(i.$context=function KW(e,n,t){return Li(e,{tick:t,index:n,type:"tick"})}(this.getContext(),n,i))}return this.$context||(this.$context=function QW(e,n){return Li(e,{scale:n,type:"scale"})}(this.chart.getContext(),this))}_tickSize(){const n=this.options.ticks,t=vn(this.labelRotation),i=Math.abs(Math.cos(t)),r=Math.abs(Math.sin(t)),o=this._getLabelSizes(),s=n.autoSkipPadding||0,a=o?o.widest.width+s:0,l=o?o.highest.height+s:0;return this.isHorizontal()?l*i>a*r?a/i:l/r:l*r<a*i?l/i:a/r}_isVisible(){const n=this.options.display;return"auto"!==n?!!n:this.getMatchingVisibleMetas().length>0}_computeGridLineItems(n){const t=this.axis,i=this.chart,r=this.options,{grid:o,position:s,border:a}=r,l=o.offset,c=this.isHorizontal(),d=this.ticks.length+(l?1:0),f=Xa(o),h=[],p=a.setContext(this.getContext()),g=p.display?p.width:0,m=g/2,v=function(Se){return Cr(i,Se,g)};let y,_,D,b,w,I,x,N,q,z,J,ot;if("top"===s)y=v(this.bottom),I=this.bottom-f,N=y-m,z=v(n.top)+m,ot=n.bottom;else if("bottom"===s)y=v(this.top),z=n.top,ot=v(n.bottom)-m,I=y+m,N=this.top+f;else if("left"===s)y=v(this.right),w=this.right-f,x=y-m,q=v(n.left)+m,J=n.right;else if("right"===s)y=v(this.left),q=n.left,J=v(n.right)-m,w=y+m,x=this.left+f;else if("x"===t){if("center"===s)y=v((n.top+n.bottom)/2+.5);else if(K(s)){const Se=Object.keys(s)[0];y=v(this.chart.scales[Se].getPixelForValue(s[Se]))}z=n.top,ot=n.bottom,I=y+m,N=I+f}else if("y"===t){if("center"===s)y=v((n.left+n.right)/2);else if(K(s)){const Se=Object.keys(s)[0];y=v(this.chart.scales[Se].getPixelForValue(s[Se]))}w=y-m,x=w-f,q=n.left,J=n.right}const Zt=$(r.ticks.maxTicksLimit,d),de=Math.max(1,Math.ceil(d/Zt));for(_=0;_<d;_+=de){const Se=this.getContext(_),je=o.setContext(Se),_n=a.setContext(Se),mt=je.lineWidth,Jo=je.color,Md=_n.dash||[],es=_n.dashOffset,el=je.tickWidth,Pr=je.tickColor,tl=je.tickBorderDash||[],Or=je.tickBorderDashOffset;D=ZW(this,_,l),void 0!==D&&(b=Cr(i,D,mt),c?w=x=q=J=b:I=N=z=ot=b,h.push({tx1:w,ty1:I,tx2:x,ty2:N,x1:q,y1:z,x2:J,y2:ot,width:mt,color:Jo,borderDash:Md,borderDashOffset:es,tickWidth:el,tickColor:Pr,tickBorderDash:tl,tickBorderDashOffset:Or}))}return this._ticksLength=d,this._borderValue=y,h}_computeLabelItems(n){const t=this.axis,i=this.options,{position:r,ticks:o}=i,s=this.isHorizontal(),a=this.ticks,{align:l,crossAlign:c,padding:u,mirror:d}=o,f=Xa(i.grid),h=f+u,p=d?-u:h,g=-vn(this.labelRotation),m=[];let v,y,_,D,b,w,I,x,N,q,z,J,ot="middle";if("top"===r)w=this.bottom-p,I=this._getXAxisLabelAlignment();else if("bottom"===r)w=this.top+p,I=this._getXAxisLabelAlignment();else if("left"===r){const de=this._getYAxisLabelAlignment(f);I=de.textAlign,b=de.x}else if("right"===r){const de=this._getYAxisLabelAlignment(f);I=de.textAlign,b=de.x}else if("x"===t){if("center"===r)w=(n.top+n.bottom)/2+h;else if(K(r)){const de=Object.keys(r)[0];w=this.chart.scales[de].getPixelForValue(r[de])+h}I=this._getXAxisLabelAlignment()}else if("y"===t){if("center"===r)b=(n.left+n.right)/2-h;else if(K(r)){const de=Object.keys(r)[0];b=this.chart.scales[de].getPixelForValue(r[de])}I=this._getYAxisLabelAlignment(f).textAlign}"y"===t&&("start"===l?ot="top":"end"===l&&(ot="bottom"));const Zt=this._getLabelSizes();for(v=0,y=a.length;v<y;++v){_=a[v],D=_.label;const de=o.setContext(this.getContext(v));x=this.getPixelForTick(v)+o.labelOffset,N=this._resolveTickFontOptions(v),q=N.lineHeight,z=we(D)?D.length:1;const Se=z/2,je=de.color,_n=de.textStrokeColor,mt=de.textStrokeWidth;let Md,Jo=I;if(s?(b=x,"inner"===I&&(Jo=v===y-1?this.options.reverse?"left":"right":0===v?this.options.reverse?"right":"left":"center"),J="top"===r?"near"===c||0!==g?-z*q+q/2:"center"===c?-Zt.highest.height/2-Se*q+q:q/2-Zt.highest.height:"near"===c||0!==g?q/2:"center"===c?Zt.highest.height/2-Se*q:Zt.highest.height-z*q,d&&(J*=-1),0!==g&&!de.showLabelBackdrop&&(b+=q/2*Math.sin(g))):(w=x,J=(1-z)*q/2),de.showLabelBackdrop){const es=pt(de.backdropPadding),el=Zt.heights[v],Pr=Zt.widths[v];let tl=J-es.top,Or=0-es.left;switch(ot){case"middle":tl-=el/2;break;case"bottom":tl-=el}switch(I){case"center":Or-=Pr/2;break;case"right":Or-=Pr;break;case"inner":v===y-1?Or-=Pr:v>0&&(Or-=Pr/2)}Md={left:Or,top:tl,width:Pr+es.width,height:el+es.height,color:de.backdropColor}}m.push({label:D,font:N,textOffset:J,options:{rotation:g,color:je,strokeColor:_n,strokeWidth:mt,textAlign:Jo,textBaseline:ot,translation:[b,w],backdrop:Md}})}return m}_getXAxisLabelAlignment(){const{position:n,ticks:t}=this.options;if(-vn(this.labelRotation))return"top"===n?"left":"right";let r="center";return"start"===t.align?r="left":"end"===t.align?r="right":"inner"===t.align&&(r="inner"),r}_getYAxisLabelAlignment(n){const{position:t,ticks:{crossAlign:i,mirror:r,padding:o}}=this.options,a=n+o,l=this._getLabelSizes().widest.width;let c,u;return"left"===t?r?(u=this.right+o,"near"===i?c="left":"center"===i?(c="center",u+=l/2):(c="right",u+=l)):(u=this.right-a,"near"===i?c="right":"center"===i?(c="center",u-=l/2):(c="left",u=this.left)):"right"===t?r?(u=this.left+o,"near"===i?c="right":"center"===i?(c="center",u-=l/2):(c="left",u-=l)):(u=this.left+a,"near"===i?c="left":"center"===i?(c="center",u+=l/2):(c="right",u=this.right)):c="right",{textAlign:c,x:u}}_computeLabelArea(){if(this.options.ticks.mirror)return;const n=this.chart,t=this.options.position;return"left"===t||"right"===t?{top:0,left:this.left,bottom:n.height,right:this.right}:"top"===t||"bottom"===t?{top:this.top,left:0,bottom:this.bottom,right:n.width}:void 0}drawBackground(){const{ctx:n,options:{backgroundColor:t},left:i,top:r,width:o,height:s}=this;t&&(n.save(),n.fillStyle=t,n.fillRect(i,r,o,s),n.restore())}getLineWidthForValue(n){const t=this.options.grid;if(!this._isVisible()||!t.display)return 0;const r=this.ticks.findIndex(o=>o.value===n);return r>=0?t.setContext(this.getContext(r)).lineWidth:0}drawGrid(n){const t=this.options.grid,i=this.ctx,r=this._gridLineItems||(this._gridLineItems=this._computeGridLineItems(n));let o,s;const a=(l,c,u)=>{!u.width||!u.color||(i.save(),i.lineWidth=u.width,i.strokeStyle=u.color,i.setLineDash(u.borderDash||[]),i.lineDashOffset=u.borderDashOffset,i.beginPath(),i.moveTo(l.x,l.y),i.lineTo(c.x,c.y),i.stroke(),i.restore())};if(t.display)for(o=0,s=r.length;o<s;++o){const l=r[o];t.drawOnChartArea&&a({x:l.x1,y:l.y1},{x:l.x2,y:l.y2},l),t.drawTicks&&a({x:l.tx1,y:l.ty1},{x:l.tx2,y:l.ty2},{color:l.tickColor,width:l.tickWidth,borderDash:l.tickBorderDash,borderDashOffset:l.tickBorderDashOffset})}}drawBorder(){const{chart:n,ctx:t,options:{border:i,grid:r}}=this,o=i.setContext(this.getContext()),s=i.display?o.width:0;if(!s)return;const a=r.setContext(this.getContext(0)).lineWidth,l=this._borderValue;let c,u,d,f;this.isHorizontal()?(c=Cr(n,this.left,s)-s/2,u=Cr(n,this.right,a)+a/2,d=f=l):(d=Cr(n,this.top,s)-s/2,f=Cr(n,this.bottom,a)+a/2,c=u=l),t.save(),t.lineWidth=o.width,t.strokeStyle=o.color,t.beginPath(),t.moveTo(c,d),t.lineTo(u,f),t.stroke(),t.restore()}drawLabels(n){if(!this.options.ticks.display)return;const i=this.ctx,r=this._computeLabelArea();r&&id(i,r);const o=this.getLabelItems(n);for(const s of o)Er(i,s.label,0,s.textOffset,s.font,s.options);r&&rd(i)}drawTitle(){const{ctx:n,options:{position:t,title:i,reverse:r}}=this;if(!i.display)return;const o=et(i.font),s=pt(i.padding),a=i.align;let l=o.lineHeight/2;"bottom"===t||"center"===t||K(t)?(l+=s.bottom,we(i.text)&&(l+=o.lineHeight*(i.text.length-1))):l+=s.top;const{titleX:c,titleY:u,maxWidth:d,rotation:f}=function eG(e,n,t,i){const{top:r,left:o,bottom:s,right:a,chart:l}=e,{chartArea:c,scales:u}=l;let f,h,p,d=0;const g=s-r,m=a-o;if(e.isHorizontal()){if(h=ht(i,o,a),K(t)){const v=Object.keys(t)[0];p=u[v].getPixelForValue(t[v])+g-n}else p="center"===t?(c.bottom+c.top)/2+g-n:tT(e,t,n);f=a-o}else{if(K(t)){const v=Object.keys(t)[0];h=u[v].getPixelForValue(t[v])-m+n}else h="center"===t?(c.left+c.right)/2-m+n:tT(e,t,n);p=ht(i,s,r),d="left"===t?-Be:Be}return{titleX:h,titleY:p,maxWidth:f,rotation:d}}(this,l,t,a);Er(n,i.text,0,0,o,{color:i.color,maxWidth:d,rotation:f,textAlign:JW(a,t,r),textBaseline:"middle",translation:[c,u]})}draw(n){this._isVisible()&&(this.drawBackground(),this.drawGrid(n),this.drawBorder(),this.drawTitle(),this.drawLabels(n))}_layers(){const n=this.options,t=n.ticks&&n.ticks.z||0,i=$(n.grid&&n.grid.z,-1),r=$(n.border&&n.border.z,0);return this._isVisible()&&this.draw===Ar.prototype.draw?[{z:i,draw:o=>{this.drawBackground(),this.drawGrid(o),this.drawTitle()}},{z:r,draw:()=>{this.drawBorder()}},{z:t,draw:o=>{this.drawLabels(o)}}]:[{z:t,draw:o=>{this.draw(o)}}]}getMatchingVisibleMetas(n){const t=this.chart.getSortedVisibleDatasetMetas(),i=this.axis+"AxisID",r=[];let o,s;for(o=0,s=t.length;o<s;++o){const a=t[o];a[i]===this.id&&(!n||a.type===n)&&r.push(a)}return r}_resolveTickFontOptions(n){return et(this.options.ticks.setContext(this.getContext(n)).font)}_maxDigits(){const n=this._resolveTickFontOptions(0).lineHeight;return(this.isHorizontal()?this.width:this.height)/n}}class pd{constructor(n,t,i){this.type=n,this.scope=t,this.override=i,this.items=Object.create(null)}isForType(n){return Object.prototype.isPrototypeOf.call(this.type.prototype,n.prototype)}register(n){const t=Object.getPrototypeOf(n);let i;(function iG(e){return"id"in e&&"defaults"in e})(t)&&(i=this.register(t));const r=this.items,o=n.id,s=this.scope+"."+o;if(!o)throw new Error("class does not have id: "+n);return o in r||(r[o]=n,function tG(e,n,t){const i=ka(Object.create(null),[t?xe.get(t):{},xe.get(n),e.defaults]);xe.set(n,i),e.defaultRoutes&&function nG(e,n){Object.keys(n).forEach(t=>{const i=t.split("."),r=i.pop(),o=[e].concat(i).join("."),s=n[t].split("."),a=s.pop(),l=s.join(".");xe.route(o,r,l,a)})}(n,e.defaultRoutes),e.descriptors&&xe.describe(n,e.descriptors)}(n,s,i),this.override&&xe.override(n.id,n.overrides)),s}get(n){return this.items[n]}unregister(n){const t=this.items,i=n.id,r=this.scope;i in t&&delete t[i],r&&i in xe[r]&&(delete xe[r][i],this.override&&delete wr[i])}}class rG{constructor(){this.controllers=new pd(Vi,"datasets",!0),this.elements=new pd(ai,"elements"),this.plugins=new pd(Object,"plugins"),this.scales=new pd(Ar,"scales"),this._typedRegistries=[this.controllers,this.scales,this.elements]}add(...n){this._each("register",n)}remove(...n){this._each("unregister",n)}addControllers(...n){this._each("register",n,this.controllers)}addElements(...n){this._each("register",n,this.elements)}addPlugins(...n){this._each("register",n,this.plugins)}addScales(...n){this._each("register",n,this.scales)}getController(n){return this._get(n,this.controllers,"controller")}getElement(n){return this._get(n,this.elements,"element")}getPlugin(n){return this._get(n,this.plugins,"plugin")}getScale(n){return this._get(n,this.scales,"scale")}removeControllers(...n){this._each("unregister",n,this.controllers)}removeElements(...n){this._each("unregister",n,this.elements)}removePlugins(...n){this._each("unregister",n,this.plugins)}removeScales(...n){this._each("unregister",n,this.scales)}_each(n,t,i){[...t].forEach(r=>{const o=i||this._getRegistryForType(r);i||o.isForType(r)||o===this.plugins&&r.id?this._exec(n,o,r):ue(r,s=>{const a=i||this._getRegistryForType(s);this._exec(n,a,s)})})}_exec(n,t,i){const r=km(n);_e(i["before"+r],[],i),t[n](i),_e(i["after"+r],[],i)}_getRegistryForType(n){for(let t=0;t<this._typedRegistries.length;t++){const i=this._typedRegistries[t];if(i.isForType(n))return i}return this.plugins}_get(n,t,i){const r=t.get(n);if(void 0===r)throw new Error('"'+n+'" is not a registered '+i+".");return r}}var Ln=new rG;class oG{constructor(){this._init=[]}notify(n,t,i,r){"beforeInit"===t&&(this._init=this._createDescriptors(n,!0),this._notify(this._init,n,"install"));const o=r?this._descriptors(n).filter(r):this._descriptors(n),s=this._notify(o,n,t,i);return"afterDestroy"===t&&(this._notify(o,n,"stop"),this._notify(this._init,n,"uninstall")),s}_notify(n,t,i,r){r=r||{};for(const o of n){const s=o.plugin;if(!1===_e(s[i],[t,r,o.options],s)&&r.cancelable)return!1}return!0}invalidate(){ne(this._cache)||(this._oldCache=this._cache,this._cache=void 0)}_descriptors(n){if(this._cache)return this._cache;const t=this._cache=this._createDescriptors(n);return this._notifyStateChanges(n),t}_createDescriptors(n,t){const i=n&&n.config,r=$(i.options&&i.options.plugins,{}),o=function sG(e){const n={},t=[],i=Object.keys(Ln.plugins.items);for(let o=0;o<i.length;o++)t.push(Ln.getPlugin(i[o]));const r=e.plugins||[];for(let o=0;o<r.length;o++){const s=r[o];-1===t.indexOf(s)&&(t.push(s),n[s.id]=!0)}return{plugins:t,localIds:n}}(i);return!1!==r||t?function lG(e,{plugins:n,localIds:t},i,r){const o=[],s=e.getContext();for(const a of n){const l=a.id,c=aG(i[l],r);null!==c&&o.push({plugin:a,options:cG(e.config,{plugin:a,local:t[l]},c,s)})}return o}(n,o,r,t):[]}_notifyStateChanges(n){const t=this._oldCache||[],i=this._cache,r=(o,s)=>o.filter(a=>!s.some(l=>a.plugin.id===l.plugin.id));this._notify(r(t,i),n,"stop"),this._notify(r(i,t),n,"start")}}function aG(e,n){return n||!1!==e?!0===e?{}:e:null}function cG(e,{plugin:n,local:t},i,r){const o=e.pluginScopeKeys(n),s=e.getOptionScopes(i,o);return t&&n.defaults&&s.push(n.defaults),e.createResolver(s,r,[""],{scriptable:!1,indexable:!1,allKeys:!0})}function ry(e,n){return((n.datasets||{})[e]||{}).indexAxis||n.indexAxis||(xe.datasets[e]||{}).indexAxis||"x"}function oT(e){if("x"===e||"y"===e||"r"===e)return e}function fG(e){return"top"===e||"bottom"===e?"x":"left"===e||"right"===e?"y":void 0}function oy(e,...n){if(oT(e))return e;for(const t of n){const i=t.axis||fG(t.position)||e.length>1&&oT(e[0].toLowerCase());if(i)return i}throw new Error(`Cannot determine type of '${e}' axis. Please provide 'axis' or 'position' option.`)}function sT(e,n,t){if(t[n+"AxisID"]===e)return{axis:n}}function aT(e){const n=e.options||(e.options={});n.plugins=$(n.plugins,{}),n.scales=function pG(e,n){const t=wr[e.type]||{scales:{}},i=n.scales||{},r=ry(e.type,n),o=Object.create(null);return Object.keys(i).forEach(s=>{const a=i[s];if(!K(a))return console.error(`Invalid scale configuration for scale: ${s}`);if(a._proxy)return console.warn(`Ignoring resolver passed as options for scale: ${s}`);const l=oy(s,a,function hG(e,n){if(n.data&&n.data.datasets){const t=n.data.datasets.filter(i=>i.xAxisID===e||i.yAxisID===e);if(t.length)return sT(e,"x",t[0])||sT(e,"y",t[0])}return{}}(s,e),xe.scales[a.type]),c=function dG(e,n){return e===n?"_index_":"_value_"}(l,r),u=t.scales||{};o[s]=Ra(Object.create(null),[{axis:l},a,u[l],u[c]])}),e.data.datasets.forEach(s=>{const a=s.type||e.type,l=s.indexAxis||ry(a,n),u=(wr[a]||{}).scales||{};Object.keys(u).forEach(d=>{const f=function uG(e,n){let t=e;return"_index_"===e?t=n:"_value_"===e&&(t="x"===n?"y":"x"),t}(d,l),h=s[f+"AxisID"]||f;o[h]=o[h]||Object.create(null),Ra(o[h],[{axis:f},i[h],u[d]])})}),Object.keys(o).forEach(s=>{const a=o[s];Ra(a,[xe.scales[a.type],xe.scale])}),o}(e,n)}function lT(e){return(e=e||{}).datasets=e.datasets||[],e.labels=e.labels||[],e}const cT=new Map,uT=new Set;function gd(e,n){let t=cT.get(e);return t||(t=n(),cT.set(e,t),uT.add(t)),t}const Qa=(e,n,t)=>{const i=ki(n,t);void 0!==i&&e.add(i)};class mG{constructor(n){this._config=function gG(e){return(e=e||{}).data=lT(e.data),aT(e),e}(n),this._scopeCache=new Map,this._resolverCache=new Map}get platform(){return this._config.platform}get type(){return this._config.type}set type(n){this._config.type=n}get data(){return this._config.data}set data(n){this._config.data=lT(n)}get options(){return this._config.options}set options(n){this._config.options=n}get plugins(){return this._config.plugins}update(){const n=this._config;this.clearCache(),aT(n)}clearCache(){this._scopeCache.clear(),this._resolverCache.clear()}datasetScopeKeys(n){return gd(n,()=>[[`datasets.${n}`,""]])}datasetAnimationScopeKeys(n,t){return gd(`${n}.transition.${t}`,()=>[[`datasets.${n}.transitions.${t}`,`transitions.${t}`],[`datasets.${n}`,""]])}datasetElementScopeKeys(n,t){return gd(`${n}-${t}`,()=>[[`datasets.${n}.elements.${t}`,`datasets.${n}`,`elements.${t}`,""]])}pluginScopeKeys(n){const t=n.id;return gd(`${this.type}-plugin-${t}`,()=>[[`plugins.${t}`,...n.additionalOptionScopes||[]]])}_cachedScopes(n,t){const i=this._scopeCache;let r=i.get(n);return(!r||t)&&(r=new Map,i.set(n,r)),r}getOptionScopes(n,t,i){const{options:r,type:o}=this,s=this._cachedScopes(n,i),a=s.get(t);if(a)return a;const l=new Set;t.forEach(u=>{n&&(l.add(n),u.forEach(d=>Qa(l,n,d))),u.forEach(d=>Qa(l,r,d)),u.forEach(d=>Qa(l,wr[o]||{},d)),u.forEach(d=>Qa(l,xe,d)),u.forEach(d=>Qa(l,Hm,d))});const c=Array.from(l);return 0===c.length&&c.push(Object.create(null)),uT.has(t)&&s.set(t,c),c}chartOptionScopes(){const{options:n,type:t}=this;return[n,wr[t]||{},xe.datasets[t]||{},{type:t},xe,Hm]}resolveNamedOptions(n,t,i,r=[""]){const o={$shared:!0},{resolver:s,subPrefixes:a}=dT(this._resolverCache,n,r);let l=s;(function vG(e,n){const{isScriptable:t,isIndexable:i}=fS(e);for(const r of n){const o=t(r),s=i(r),a=(s||o)&&e[r];if(o&&(Ri(a)||yG(a))||s&&we(a))return!0}return!1})(s,t)&&(o.$shared=!1,l=Zo(s,i=Ri(i)?i():i,this.createResolver(n,i,a)));for(const c of t)o[c]=l[c];return o}createResolver(n,t,i=[""],r){const{resolver:o}=dT(this._resolverCache,n,i);return K(t)?Zo(o,t,void 0,r):o}}function dT(e,n,t){let i=e.get(n);i||(i=new Map,e.set(n,i));const r=t.join();let o=i.get(r);return o||(o={resolver:Wm(n,t),subPrefixes:t.filter(a=>!a.toLowerCase().includes("hover"))},i.set(r,o)),o}const yG=e=>K(e)&&Object.getOwnPropertyNames(e).some(n=>Ri(e[n])),bG=["top","bottom","left","right","chartArea"];function fT(e,n){return"top"===e||"bottom"===e||-1===bG.indexOf(e)&&"x"===n}function hT(e,n){return function(t,i){return t[e]===i[e]?t[n]-i[n]:t[e]-i[e]}}function pT(e){const n=e.chart,t=n.options.animation;n.notifyPlugins("afterRender"),_e(t&&t.onComplete,[e],n)}function DG(e){const n=e.chart,t=n.options.animation;_e(t&&t.onProgress,[e],n)}function gT(e){return Ym()&&"string"==typeof e?e=document.getElementById(e):e&&e.length&&(e=e[0]),e&&e.canvas&&(e=e.canvas),e}const md={},mT=e=>{const n=gT(e);return Object.values(md).filter(t=>t.canvas===n).pop()};function wG(e,n,t){const i=Object.keys(e);for(const r of i){const o=+r;if(o>=n){const s=e[r];delete e[r],(t>0||o>n)&&(e[o+t]=s)}}}function yd(e,n,t){return e.options.clip?e[t]:n[t]}let sy=(()=>class e{static defaults=xe;static instances=md;static overrides=wr;static registry=Ln;static version="4.4.6";static getChart=mT;static register(...t){Ln.add(...t),yT()}static unregister(...t){Ln.remove(...t),yT()}constructor(t,i){const r=this.config=new mG(i),o=gT(t),s=mT(o);if(s)throw new Error("Canvas is already in use. Chart with ID '"+s.id+"' must be destroyed before the canvas with ID '"+s.canvas.id+"' can be reused.");const a=r.createResolver(r.chartOptionScopes(),this.getContext());this.platform=new(r.platform||function HW(e){return!Ym()||typeof OffscreenCanvas<"u"&&e instanceof OffscreenCanvas?SW:jW}(o)),this.platform.updateConfig(r);const l=this.platform.acquireContext(o,a.aspectRatio),c=l&&l.canvas,u=c&&c.height,d=c&&c.width;this.id=E8(),this.ctx=l,this.canvas=c,this.width=d,this.height=u,this._options=a,this._aspectRatio=this.aspectRatio,this._layers=[],this._metasets=[],this._stacks=void 0,this.boxes=[],this.currentDevicePixelRatio=void 0,this.chartArea=void 0,this._active=[],this._lastEvent=void 0,this._listeners={},this._responsiveListeners=void 0,this._sortedMetasets=[],this.scales={},this._plugins=new oG,this.$proxies={},this._hiddenIndices={},this.attached=!1,this._animationsDisabled=void 0,this.$context=void 0,this._doResize=function j8(e,n){let t;return function(...i){return n?(clearTimeout(t),t=setTimeout(e,n,i)):e.apply(this,i),n}}(f=>this.update(f),a.resizeDelay||0),this._dataChanges=[],md[this.id]=this,l&&c?(si.listen(this,"complete",pT),si.listen(this,"progress",DG),this._initialize(),this.attached&&this.update()):console.error("Failed to create chart: can't acquire context from the given item")}get aspectRatio(){const{options:{aspectRatio:t,maintainAspectRatio:i},width:r,height:o,_aspectRatio:s}=this;return ne(t)?i&&s?s:o?r/o:null:t}get data(){return this.config.data}set data(t){this.config.data=t}get options(){return this._options}set options(t){this.config.options=t}get registry(){return Ln}_initialize(){return this.notifyPlugins("beforeInit"),this.options.responsive?this.resize():bS(this,this.options.devicePixelRatio),this.bindEvents(),this.notifyPlugins("afterInit"),this}clear(){return cS(this.canvas,this.ctx),this}stop(){return si.stop(this),this}resize(t,i){si.running(this)?this._resizeBeforeDraw={width:t,height:i}:this._resize(t,i)}_resize(t,i){const r=this.options,a=this.platform.getMaximumSize(this.canvas,t,i,r.maintainAspectRatio&&this.aspectRatio),l=r.devicePixelRatio||this.platform.getDevicePixelRatio(),c=this.width?"resize":"attach";this.width=a.width,this.height=a.height,this._aspectRatio=this.aspectRatio,bS(this,l,!0)&&(this.notifyPlugins("resize",{size:a}),_e(r.onResize,[this,a],this),this.attached&&this._doResize(c)&&this.render())}ensureScalesHaveIDs(){ue(this.options.scales||{},(r,o)=>{r.id=o})}buildOrUpdateScales(){const t=this.options,i=t.scales,r=this.scales,o=Object.keys(r).reduce((a,l)=>(a[l]=!1,a),{});let s=[];i&&(s=s.concat(Object.keys(i).map(a=>{const l=i[a],c=oy(a,l),u="r"===c,d="x"===c;return{options:l,dposition:u?"chartArea":d?"bottom":"left",dtype:u?"radialLinear":d?"category":"linear"}}))),ue(s,a=>{const l=a.options,c=l.id,u=oy(c,l),d=$(l.type,a.dtype);(void 0===l.position||fT(l.position,u)!==fT(a.dposition))&&(l.position=a.dposition),o[c]=!0;let f=null;c in r&&r[c].type===d?f=r[c]:(f=new(Ln.getScale(d))({id:c,type:d,ctx:this.ctx,chart:this}),r[f.id]=f),f.init(l,t)}),ue(o,(a,l)=>{a||delete r[l]}),ue(r,a=>{gt.configure(this,a,a.options),gt.addBox(this,a)})}_updateMetasets(){const t=this._metasets,i=this.data.datasets.length,r=t.length;if(t.sort((o,s)=>o.index-s.index),r>i){for(let o=i;o<r;++o)this._destroyDatasetMeta(o);t.splice(i,r-i)}this._sortedMetasets=t.slice(0).sort(hT("order","index"))}_removeUnreferencedMetasets(){const{_metasets:t,data:{datasets:i}}=this;t.length>i.length&&delete this._stacks,t.forEach((r,o)=>{0===i.filter(s=>s===r._dataset).length&&this._destroyDatasetMeta(o)})}buildOrUpdateControllers(){const t=[],i=this.data.datasets;let r,o;for(this._removeUnreferencedMetasets(),r=0,o=i.length;r<o;r++){const s=i[r];let a=this.getDatasetMeta(r);const l=s.type||this.config.type;if(a.type&&a.type!==l&&(this._destroyDatasetMeta(r),a=this.getDatasetMeta(r)),a.type=l,a.indexAxis=s.indexAxis||ry(l,this.options),a.order=s.order||0,a.index=r,a.label=""+s.label,a.visible=this.isDatasetVisible(r),a.controller)a.controller.updateIndex(r),a.controller.linkScales();else{const c=Ln.getController(l),{datasetElementType:u,dataElementType:d}=xe.datasets[l];Object.assign(c,{dataElementType:Ln.getElement(d),datasetElementType:u&&Ln.getElement(u)}),a.controller=new c(this,r),t.push(a.controller)}}return this._updateMetasets(),t}_resetElements(){ue(this.data.datasets,(t,i)=>{this.getDatasetMeta(i).controller.reset()},this)}reset(){this._resetElements(),this.notifyPlugins("reset")}update(t){const i=this.config;i.update();const r=this._options=i.createResolver(i.chartOptionScopes(),this.getContext()),o=this._animationsDisabled=!r.animation;if(this._updateScales(),this._checkEventBindings(),this._updateHiddenIndices(),this._plugins.invalidate(),!1===this.notifyPlugins("beforeUpdate",{mode:t,cancelable:!0}))return;const s=this.buildOrUpdateControllers();this.notifyPlugins("beforeElementsUpdate");let a=0;for(let u=0,d=this.data.datasets.length;u<d;u++){const{controller:f}=this.getDatasetMeta(u),h=!o&&-1===s.indexOf(f);f.buildOrUpdateElements(h),a=Math.max(+f.getMaxOverflow(),a)}a=this._minPadding=r.layout.autoPadding?a:0,this._updateLayout(a),o||ue(s,u=>{u.reset()}),this._updateDatasets(t),this.notifyPlugins("afterUpdate",{mode:t}),this._layers.sort(hT("z","_idx"));const{_active:l,_lastEvent:c}=this;c?this._eventHandler(c,!0):l.length&&this._updateHoverStyles(l,l,!0),this.render()}_updateScales(){ue(this.scales,t=>{gt.removeBox(this,t)}),this.ensureScalesHaveIDs(),this.buildOrUpdateScales()}_checkEventBindings(){const t=this.options,i=new Set(Object.keys(this._listeners)),r=new Set(t.events);(!Wx(i,r)||!!this._responsiveListeners!==t.responsive)&&(this.unbindEvents(),this.bindEvents())}_updateHiddenIndices(){const{_hiddenIndices:t}=this,i=this._getUniformDataChanges()||[];for(const{method:r,start:o,count:s}of i)wG(t,o,"_removeElements"===r?-s:s)}_getUniformDataChanges(){const t=this._dataChanges;if(!t||!t.length)return;this._dataChanges=[];const i=this.data.datasets.length,r=s=>new Set(t.filter(a=>a[0]===s).map((a,l)=>l+","+a.splice(1).join(","))),o=r(0);for(let s=1;s<i;s++)if(!Wx(o,r(s)))return;return Array.from(o).map(s=>s.split(",")).map(s=>({method:s[1],start:+s[2],count:+s[3]}))}_updateLayout(t){if(!1===this.notifyPlugins("beforeLayout",{cancelable:!0}))return;gt.update(this,this.width,this.height,t);const i=this.chartArea,r=i.width<=0||i.height<=0;this._layers=[],ue(this.boxes,o=>{r&&"chartArea"===o.position||(o.configure&&o.configure(),this._layers.push(...o._layers()))},this),this._layers.forEach((o,s)=>{o._idx=s}),this.notifyPlugins("afterLayout")}_updateDatasets(t){if(!1!==this.notifyPlugins("beforeDatasetsUpdate",{mode:t,cancelable:!0})){for(let i=0,r=this.data.datasets.length;i<r;++i)this.getDatasetMeta(i).controller.configure();for(let i=0,r=this.data.datasets.length;i<r;++i)this._updateDataset(i,Ri(t)?t({datasetIndex:i}):t);this.notifyPlugins("afterDatasetsUpdate",{mode:t})}}_updateDataset(t,i){const r=this.getDatasetMeta(t),o={meta:r,index:t,mode:i,cancelable:!0};!1!==this.notifyPlugins("beforeDatasetUpdate",o)&&(r.controller._update(i),o.cancelable=!1,this.notifyPlugins("afterDatasetUpdate",o))}render(){!1!==this.notifyPlugins("beforeRender",{cancelable:!0})&&(si.has(this)?this.attached&&!si.running(this)&&si.start(this):(this.draw(),pT({chart:this})))}draw(){let t;if(this._resizeBeforeDraw){const{width:r,height:o}=this._resizeBeforeDraw;this._resizeBeforeDraw=null,this._resize(r,o)}if(this.clear(),this.width<=0||this.height<=0||!1===this.notifyPlugins("beforeDraw",{cancelable:!0}))return;const i=this._layers;for(t=0;t<i.length&&i[t].z<=0;++t)i[t].draw(this.chartArea);for(this._drawDatasets();t<i.length;++t)i[t].draw(this.chartArea);this.notifyPlugins("afterDraw")}_getSortedDatasetMetas(t){const i=this._sortedMetasets,r=[];let o,s;for(o=0,s=i.length;o<s;++o){const a=i[o];(!t||a.visible)&&r.push(a)}return r}getSortedVisibleDatasetMetas(){return this._getSortedDatasetMetas(!0)}_drawDatasets(){if(!1===this.notifyPlugins("beforeDatasetsDraw",{cancelable:!0}))return;const t=this.getSortedVisibleDatasetMetas();for(let i=t.length-1;i>=0;--i)this._drawDataset(t[i]);this.notifyPlugins("afterDatasetsDraw")}_drawDataset(t){const i=this.ctx,r=t._clip,o=!r.disabled,s=function EG(e,n){const{xScale:t,yScale:i}=e;return t&&i?{left:yd(t,n,"left"),right:yd(t,n,"right"),top:yd(i,n,"top"),bottom:yd(i,n,"bottom")}:n}(t,this.chartArea),a={meta:t,index:t.index,cancelable:!0};!1!==this.notifyPlugins("beforeDatasetDraw",a)&&(o&&id(i,{left:!1===r.left?0:s.left-r.left,right:!1===r.right?this.width:s.right+r.right,top:!1===r.top?0:s.top-r.top,bottom:!1===r.bottom?this.height:s.bottom+r.bottom}),t.controller.draw(),o&&rd(i),a.cancelable=!1,this.notifyPlugins("afterDatasetDraw",a))}isPointInArea(t){return oi(t,this.chartArea,this._minPadding)}getElementsAtEventForMode(t,i,r,o){const s=bW.modes[i];return"function"==typeof s?s(this,t,r,o):[]}getDatasetMeta(t){const i=this.data.datasets[t],r=this._metasets;let o=r.filter(s=>s&&s._dataset===i).pop();return o||(o={type:null,data:[],dataset:null,controller:null,hidden:null,xAxisID:null,yAxisID:null,order:i&&i.order||0,index:t,_dataset:i,_parsed:[],_sorted:!1},r.push(o)),o}getContext(){return this.$context||(this.$context=Li(null,{chart:this,type:"chart"}))}getVisibleDatasetCount(){return this.getSortedVisibleDatasetMetas().length}isDatasetVisible(t){const i=this.data.datasets[t];if(!i)return!1;const r=this.getDatasetMeta(t);return"boolean"==typeof r.hidden?!r.hidden:!i.hidden}setDatasetVisibility(t,i){this.getDatasetMeta(t).hidden=!i}toggleDataVisibility(t){this._hiddenIndices[t]=!this._hiddenIndices[t]}getDataVisibility(t){return!this._hiddenIndices[t]}_updateVisibility(t,i,r){const o=r?"show":"hide",s=this.getDatasetMeta(t),a=s.controller._resolveAnimations(void 0,o);Fa(i)?(s.data[i].hidden=!r,this.update()):(this.setDatasetVisibility(t,r),a.update(s,{visible:r}),this.update(l=>l.datasetIndex===t?o:void 0))}hide(t,i){this._updateVisibility(t,i,!1)}show(t,i){this._updateVisibility(t,i,!0)}_destroyDatasetMeta(t){const i=this._metasets[t];i&&i.controller&&i.controller._destroy(),delete this._metasets[t]}_stop(){let t,i;for(this.stop(),si.remove(this),t=0,i=this.data.datasets.length;t<i;++t)this._destroyDatasetMeta(t)}destroy(){this.notifyPlugins("beforeDestroy");const{canvas:t,ctx:i}=this;this._stop(),this.config.clearCache(),t&&(this.unbindEvents(),cS(t,i),this.platform.releaseContext(i),this.canvas=null,this.ctx=null),delete md[this.id],this.notifyPlugins("afterDestroy")}toBase64Image(...t){return this.canvas.toDataURL(...t)}bindEvents(){this.bindUserEvents(),this.options.responsive?this.bindResponsiveEvents():this.attached=!0}bindUserEvents(){const t=this._listeners,i=this.platform,r=(s,a)=>{i.addEventListener(this,s,a),t[s]=a},o=(s,a,l)=>{s.offsetX=a,s.offsetY=l,this._eventHandler(s)};ue(this.options.events,s=>r(s,o))}bindResponsiveEvents(){this._responsiveListeners||(this._responsiveListeners={});const t=this._responsiveListeners,i=this.platform,r=(c,u)=>{i.addEventListener(this,c,u),t[c]=u},o=(c,u)=>{t[c]&&(i.removeEventListener(this,c,u),delete t[c])},s=(c,u)=>{this.canvas&&this.resize(c,u)};let a;const l=()=>{o("attach",l),this.attached=!0,this.resize(),r("resize",s),r("detach",a)};a=()=>{this.attached=!1,o("resize",s),this._stop(),this._resize(0,0),r("attach",l)},i.isAttached(this.canvas)?l():a()}unbindEvents(){ue(this._listeners,(t,i)=>{this.platform.removeEventListener(this,i,t)}),this._listeners={},ue(this._responsiveListeners,(t,i)=>{this.platform.removeEventListener(this,i,t)}),this._responsiveListeners=void 0}updateHoverStyle(t,i,r){const o=r?"set":"remove";let s,a,l,c;for("dataset"===i&&(s=this.getDatasetMeta(t[0].datasetIndex),s.controller["_"+o+"DatasetHoverStyle"]()),l=0,c=t.length;l<c;++l){a=t[l];const u=a&&this.getDatasetMeta(a.datasetIndex).controller;u&&u[o+"HoverStyle"](a.element,a.datasetIndex,a.index)}}getActiveElements(){return this._active||[]}setActiveElements(t){const i=this._active||[],r=t.map(({datasetIndex:s,index:a})=>{const l=this.getDatasetMeta(s);if(!l)throw new Error("No dataset found at index "+s);return{datasetIndex:s,element:l.data[a],index:a}});!Qu(r,i)&&(this._active=r,this._lastEvent=null,this._updateHoverStyles(r,i))}notifyPlugins(t,i,r){return this._plugins.notify(this,t,i,r)}isPluginEnabled(t){return 1===this._plugins._cache.filter(i=>i.plugin.id===t).length}_updateHoverStyles(t,i,r){const o=this.options.hover,s=(c,u)=>c.filter(d=>!u.some(f=>d.datasetIndex===f.datasetIndex&&d.index===f.index)),a=s(i,t),l=r?t:s(t,i);a.length&&this.updateHoverStyle(a,o.mode,!1),l.length&&o.mode&&this.updateHoverStyle(l,o.mode,!0)}_eventHandler(t,i){const r={event:t,replay:i,cancelable:!0,inChartArea:this.isPointInArea(t)},o=a=>(a.options.events||this.options.events).includes(t.native.type);if(!1===this.notifyPlugins("beforeEvent",r,o))return;const s=this._handleEvent(t,i,r.inChartArea);return r.cancelable=!1,this.notifyPlugins("afterEvent",r,o),(s||r.changed)&&this.render(),this}_handleEvent(t,i,r){const{_active:o=[],options:s}=this,l=this._getActiveElements(t,o,r,i),c=function A8(e){return"mouseup"===e.type||"click"===e.type||"contextmenu"===e.type}(t),u=function CG(e,n,t,i){return t&&"mouseout"!==e.type?i?n:e:null}(t,this._lastEvent,r,c);r&&(this._lastEvent=null,_e(s.onHover,[t,l,this],this),c&&_e(s.onClick,[t,l,this],this));const d=!Qu(l,o);return(d||i)&&(this._active=l,this._updateHoverStyles(l,o,i)),this._lastEvent=u,d}_getActiveElements(t,i,r,o){if("mouseout"===t.type)return[];if(!r)return i;const s=this.options.hover;return this.getElementsAtEventForMode(t,s.mode,s,o)}})();function yT(){return ue(sy.instances,e=>e._plugins.invalidate())}function Ko(e,n,t,i){return{x:t+e*Math.cos(n),y:i+e*Math.sin(n)}}function vd(e,n,t,i,r,o){const{x:s,y:a,startAngle:l,pixelMargin:c,innerRadius:u}=n,d=Math.max(n.outerRadius+i+t-c,0),f=u>0?u+i+t+c:0;let h=0;const p=r-l;if(i){const je=((u>0?u-i:0)+(d>0?d-i:0))/2;h=(p-(0!==je?p*je/(je+i):p))/2}const m=(p-Math.max(.001,p*d-t/Ce)/d)/2,v=l+m+h,y=r-m-h,{outerStart:_,outerEnd:D,innerStart:b,innerEnd:w}=function xG(e,n,t,i){const r=function IG(e){return zm(e,["outerStart","outerEnd","innerStart","innerEnd"])}(e.options.borderRadius),o=(t-n)/2,s=Math.min(o,i*n/2),a=l=>{const c=(t-Math.min(o,l))*i/2;return tt(l,0,Math.min(o,c))};return{outerStart:a(r.outerStart),outerEnd:a(r.outerEnd),innerStart:tt(r.innerStart,0,s),innerEnd:tt(r.innerEnd,0,s)}}(n,f,d,y-v),I=d-_,x=d-D,N=v+_/I,q=y-D/x,z=f+b,J=f+w,ot=v+b/z,Zt=y-w/J;if(e.beginPath(),o){const de=(N+q)/2;if(e.arc(s,a,d,N,de),e.arc(s,a,d,de,q),D>0){const mt=Ko(x,q,s,a);e.arc(mt.x,mt.y,D,q,y+Be)}const Se=Ko(J,y,s,a);if(e.lineTo(Se.x,Se.y),w>0){const mt=Ko(J,Zt,s,a);e.arc(mt.x,mt.y,w,y+Be,Zt+Math.PI)}const je=(y-w/f+(v+b/f))/2;if(e.arc(s,a,f,y-w/f,je,!0),e.arc(s,a,f,je,v+b/f,!0),b>0){const mt=Ko(z,ot,s,a);e.arc(mt.x,mt.y,b,ot+Math.PI,v-Be)}const _n=Ko(I,v,s,a);if(e.lineTo(_n.x,_n.y),_>0){const mt=Ko(I,N,s,a);e.arc(mt.x,mt.y,_,v-Be,N)}}else{e.moveTo(s,a);const de=Math.cos(N)*d+s,Se=Math.sin(N)*d+a;e.lineTo(de,Se);const je=Math.cos(q)*d+s,_n=Math.sin(q)*d+a;e.lineTo(je,_n)}e.closePath()}function wT(e,n){const{x:t,y:i,base:r,width:o,height:s}=e.getProps(["x","y","base","width","height"],n);let a,l,c,u,d;return e.horizontal?(d=s/2,a=Math.min(t,r),l=Math.max(t,r),c=i-d,u=i+d):(d=o/2,a=t-d,l=t+d,c=Math.min(i,r),u=Math.max(i,r)),{left:a,top:c,right:l,bottom:u}}function Bi(e,n,t,i){return e?0:tt(n,t,i)}function ly(e,n,t,i){const r=null===n,o=null===t,a=e&&!(r&&o)&&wT(e,i);return a&&(r||ii(n,a.left,a.right))&&(o||ii(t,a.top,a.bottom))}function zG(e,n){e.rect(n.x,n.y,n.w,n.h)}function cy(e,n,t={}){const i=e.x!==t.x?-n:0,r=e.y!==t.y?-n:0;return{x:e.x+i,y:e.y+r,w:e.w+((e.x+e.w!==t.x+t.w?n:0)-i),h:e.h+((e.y+e.h!==t.y+t.h?n:0)-r),radius:e.radius}}const LT=(e,n)=>{let{boxHeight:t=n,boxWidth:i=n}=e;return e.usePointStyle&&(t=Math.min(t,n),i=e.pointStyleWidth||Math.min(i,n)),{boxWidth:i,boxHeight:t,itemHeight:Math.max(n,t)}};class VT extends ai{constructor(n){super(),this._added=!1,this.legendHitBoxes=[],this._hoveredItem=null,this.doughnutMode=!1,this.chart=n.chart,this.options=n.options,this.ctx=n.ctx,this.legendItems=void 0,this.columnSizes=void 0,this.lineWidths=void 0,this.maxHeight=void 0,this.maxWidth=void 0,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.height=void 0,this.width=void 0,this._margins=void 0,this.position=void 0,this.weight=void 0,this.fullSize=void 0}update(n,t,i){this.maxWidth=n,this.maxHeight=t,this._margins=i,this.setDimensions(),this.buildLabels(),this.fit()}setDimensions(){this.isHorizontal()?(this.width=this.maxWidth,this.left=this._margins.left,this.right=this.width):(this.height=this.maxHeight,this.top=this._margins.top,this.bottom=this.height)}buildLabels(){const n=this.options.labels||{};let t=_e(n.generateLabels,[this.chart],this)||[];n.filter&&(t=t.filter(i=>n.filter(i,this.chart.data))),n.sort&&(t=t.sort((i,r)=>n.sort(i,r,this.chart.data))),this.options.reverse&&t.reverse(),this.legendItems=t}fit(){const{options:n,ctx:t}=this;if(!n.display)return void(this.width=this.height=0);const i=n.labels,r=et(i.font),o=r.size,s=this._computeTitleHeight(),{boxWidth:a,itemHeight:l}=LT(i,o);let c,u;t.font=r.string,this.isHorizontal()?(c=this.maxWidth,u=this._fitRows(s,o,a,l)+10):(u=this.maxHeight,c=this._fitCols(s,r,a,l)+10),this.width=Math.min(c,n.maxWidth||this.maxWidth),this.height=Math.min(u,n.maxHeight||this.maxHeight)}_fitRows(n,t,i,r){const{ctx:o,maxWidth:s,options:{labels:{padding:a}}}=this,l=this.legendHitBoxes=[],c=this.lineWidths=[0],u=r+a;let d=n;o.textAlign="left",o.textBaseline="middle";let f=-1,h=-u;return this.legendItems.forEach((p,g)=>{const m=i+t/2+o.measureText(p.text).width;(0===g||c[c.length-1]+m+2*a>s)&&(d+=u,c[c.length-(g>0?0:1)]=0,h+=u,f++),l[g]={left:0,top:h,row:f,width:m,height:r},c[c.length-1]+=m+a}),d}_fitCols(n,t,i,r){const{ctx:o,maxHeight:s,options:{labels:{padding:a}}}=this,l=this.legendHitBoxes=[],c=this.columnSizes=[],u=s-n;let d=a,f=0,h=0,p=0,g=0;return this.legendItems.forEach((m,v)=>{const{itemWidth:y,itemHeight:_}=function E4(e,n,t,i,r){const o=function M4(e,n,t,i){let r=e.text;return r&&"string"!=typeof r&&(r=r.reduce((o,s)=>o.length>s.length?o:s)),n+t.size/2+i.measureText(r).width}(i,e,n,t),s=function I4(e,n,t){let i=e;return"string"!=typeof n.text&&(i=BT(n,t)),i}(r,i,n.lineHeight);return{itemWidth:o,itemHeight:s}}(i,t,o,m,r);v>0&&h+_+2*a>u&&(d+=f+a,c.push({width:f,height:h}),p+=f+a,g++,f=h=0),l[v]={left:p,top:h,col:g,width:y,height:_},f=Math.max(f,y),h+=_+a}),d+=f,c.push({width:f,height:h}),d}adjustHitBoxes(){if(!this.options.display)return;const n=this._computeTitleHeight(),{legendHitBoxes:t,options:{align:i,labels:{padding:r},rtl:o}}=this,s=Qo(o,this.left,this.width);if(this.isHorizontal()){let a=0,l=ht(i,this.left+r,this.right-this.lineWidths[a]);for(const c of t)a!==c.row&&(a=c.row,l=ht(i,this.left+r,this.right-this.lineWidths[a])),c.top+=this.top+n+r,c.left=s.leftForLtr(s.x(l),c.width),l+=c.width+r}else{let a=0,l=ht(i,this.top+n+r,this.bottom-this.columnSizes[a].height);for(const c of t)c.col!==a&&(a=c.col,l=ht(i,this.top+n+r,this.bottom-this.columnSizes[a].height)),c.top=l,c.left+=this.left+r,c.left=s.leftForLtr(s.x(c.left),c.width),l+=c.height+r}}isHorizontal(){return"top"===this.options.position||"bottom"===this.options.position}draw(){if(this.options.display){const n=this.ctx;id(n,this),this._draw(),rd(n)}}_draw(){const{options:n,columnSizes:t,lineWidths:i,ctx:r}=this,{align:o,labels:s}=n,a=xe.color,l=Qo(n.rtl,this.left,this.width),c=et(s.font),{padding:u}=s,d=c.size,f=d/2;let h;this.drawTitle(),r.textAlign=l.textAlign("left"),r.textBaseline="middle",r.lineWidth=.5,r.font=c.string;const{boxWidth:p,boxHeight:g,itemHeight:m}=LT(s,d),_=this.isHorizontal(),D=this._computeTitleHeight();h=_?{x:ht(o,this.left+u,this.right-i[0]),y:this.top+u+D,line:0}:{x:this.left+u,y:ht(o,this.top+D+u,this.bottom-t[0].height),line:0},wS(this.ctx,n.textDirection);const b=m+u;this.legendItems.forEach((w,I)=>{r.strokeStyle=w.fontColor,r.fillStyle=w.fontColor;const x=r.measureText(w.text).width,N=l.textAlign(w.textAlign||(w.textAlign=s.textAlign)),q=p+f+x;let z=h.x,J=h.y;l.setWidth(this.width),_?I>0&&z+q+u>this.right&&(J=h.y+=b,h.line++,z=h.x=ht(o,this.left+u,this.right-i[h.line])):I>0&&J+b>this.bottom&&(z=h.x=z+t[h.line].width+u,h.line++,J=h.y=ht(o,this.top+D+u,this.bottom-t[h.line].height)),function(w,I,x){if(isNaN(p)||p<=0||isNaN(g)||g<0)return;r.save();const N=$(x.lineWidth,1);if(r.fillStyle=$(x.fillStyle,a),r.lineCap=$(x.lineCap,"butt"),r.lineDashOffset=$(x.lineDashOffset,0),r.lineJoin=$(x.lineJoin,"miter"),r.lineWidth=N,r.strokeStyle=$(x.strokeStyle,a),r.setLineDash($(x.lineDash,[])),s.usePointStyle){const q={radius:g*Math.SQRT2/2,pointStyle:x.pointStyle,rotation:x.rotation,borderWidth:N},z=l.xPlus(w,p/2);uS(r,q,z,I+f,s.pointStyleWidth&&p)}else{const q=I+Math.max((d-g)/2,0),z=l.leftForLtr(w,p),J=Mr(x.borderRadius);r.beginPath(),Object.values(J).some(ot=>0!==ot)?Ua(r,{x:z,y:q,w:p,h:g,radius:J}):r.rect(z,q,p,g),r.fill(),0!==N&&r.stroke()}r.restore()}(l.x(z),J,w),z=((e,n,t,i)=>e===(i?"left":"right")?t:"center"===e?(n+t)/2:n)(N,z+p+f,_?z+q:this.right,n.rtl),function(w,I,x){Er(r,x.text,w,I+m/2,c,{strikethrough:x.hidden,textAlign:l.textAlign(x.textAlign)})}(l.x(z),J,w),_?h.x+=q+u:h.y+="string"!=typeof w.text?BT(w,c.lineHeight)+u:b}),CS(this.ctx,n.textDirection)}drawTitle(){const n=this.options,t=n.title,i=et(t.font),r=pt(t.padding);if(!t.display)return;const o=Qo(n.rtl,this.left,this.width),s=this.ctx,a=t.position,c=r.top+i.size/2;let u,d=this.left,f=this.width;if(this.isHorizontal())f=Math.max(...this.lineWidths),u=this.top+c,d=ht(n.align,d,this.right-f);else{const p=this.columnSizes.reduce((g,m)=>Math.max(g,m.height),0);u=c+ht(n.align,this.top,this.bottom-p-n.labels.padding-this._computeTitleHeight())}const h=ht(a,d,d+f);s.textAlign=o.textAlign(Vm(a)),s.textBaseline="middle",s.strokeStyle=t.color,s.fillStyle=t.color,s.font=i.string,Er(s,t.text,h,u,i)}_computeTitleHeight(){const n=this.options.title,t=et(n.font),i=pt(n.padding);return n.display?t.lineHeight+i.height:0}_getLegendItemAt(n,t){let i,r,o;if(ii(n,this.left,this.right)&&ii(t,this.top,this.bottom))for(o=this.legendHitBoxes,i=0;i<o.length;++i)if(r=o[i],ii(n,r.left,r.left+r.width)&&ii(t,r.top,r.top+r.height))return this.legendItems[i];return null}handleEvent(n){const t=this.options;if(!function x4(e,n){return!(("mousemove"!==e&&"mouseout"!==e||!n.onHover&&!n.onLeave)&&(!n.onClick||"click"!==e&&"mouseup"!==e))}(n.type,t))return;const i=this._getLegendItemAt(n.x,n.y);if("mousemove"===n.type||"mouseout"===n.type){const r=this._hoveredItem,o=((e,n)=>null!==e&&null!==n&&e.datasetIndex===n.datasetIndex&&e.index===n.index)(r,i);r&&!o&&_e(t.onLeave,[n,r,this],this),this._hoveredItem=i,i&&!o&&_e(t.onHover,[n,i,this],this)}else i&&_e(t.onClick,[n,i,this],this)}}function BT(e,n){return n*(e.text?e.text.length:0)}var jT={id:"legend",_element:VT,start(e,n,t){const i=e.legend=new VT({ctx:e.ctx,options:t,chart:e});gt.configure(e,i,t),gt.addBox(e,i)},stop(e){gt.removeBox(e,e.legend),delete e.legend},beforeUpdate(e,n,t){const i=e.legend;gt.configure(e,i,t),i.options=t},afterUpdate(e){const n=e.legend;n.buildLabels(),n.adjustHitBoxes()},afterEvent(e,n){n.replay||e.legend.handleEvent(n.event)},defaults:{display:!0,position:"top",align:"center",fullSize:!0,reverse:!1,weight:1e3,onClick(e,n,t){const i=n.datasetIndex,r=t.chart;r.isDatasetVisible(i)?(r.hide(i),n.hidden=!0):(r.show(i),n.hidden=!1)},onHover:null,onLeave:null,labels:{color:e=>e.chart.options.color,boxWidth:40,padding:10,generateLabels(e){const n=e.data.datasets,{labels:{usePointStyle:t,pointStyle:i,textAlign:r,color:o,useBorderRadius:s,borderRadius:a}}=e.legend.options;return e._getSortedDatasetMetas().map(l=>{const c=l.controller.getStyle(t?0:void 0),u=pt(c.borderWidth);return{text:n[l.index].label,fillStyle:c.backgroundColor,fontColor:o,hidden:!l.visible,lineCap:c.borderCapStyle,lineDash:c.borderDash,lineDashOffset:c.borderDashOffset,lineJoin:c.borderJoinStyle,lineWidth:(u.width+u.height)/4,strokeStyle:c.borderColor,pointStyle:i||c.pointStyle,rotation:c.rotation,textAlign:r||c.textAlign,borderRadius:s&&(a||c.borderRadius),datasetIndex:l.index}},this)}},title:{color:e=>e.chart.options.color,display:!1,position:"center",text:""}},descriptors:{_scriptable:e=>!e.startsWith("on"),labels:{_scriptable:e=>!["generateLabels","filter","sort"].includes(e)}}};const Ka={average(e){if(!e.length)return!1;let n,t,i=new Set,r=0,o=0;for(n=0,t=e.length;n<t;++n){const a=e[n].element;if(a&&a.hasValue()){const l=a.tooltipPosition();i.add(l.x),r+=l.y,++o}}return 0!==o&&0!==i.size&&{x:[...i].reduce((a,l)=>a+l)/i.size,y:r/o}},nearest(e,n){if(!e.length)return!1;let o,s,a,t=n.x,i=n.y,r=Number.POSITIVE_INFINITY;for(o=0,s=e.length;o<s;++o){const l=e[o].element;if(l&&l.hasValue()){const u=Fm(n,l.getCenterPoint());u<r&&(r=u,a=l)}}if(a){const l=a.tooltipPosition();t=l.x,i=l.y}return{x:t,y:i}}};function Vn(e,n){return n&&(we(n)?Array.prototype.push.apply(e,n):e.push(n)),e}function li(e){return("string"==typeof e||e instanceof String)&&e.indexOf("\n")>-1?e.split("\n"):e}function N4(e,n){const{element:t,datasetIndex:i,index:r}=n,o=e.getDatasetMeta(i).controller,{label:s,value:a}=o.getLabelAndValue(r);return{chart:e,label:s,parsed:o.getParsed(r),raw:e.data.datasets[i].data[r],formattedValue:a,dataset:o.getDataset(),dataIndex:r,datasetIndex:i,element:t}}function HT(e,n){const t=e.chart.ctx,{body:i,footer:r,title:o}=e,{boxWidth:s,boxHeight:a}=n,l=et(n.bodyFont),c=et(n.titleFont),u=et(n.footerFont),d=o.length,f=r.length,h=i.length,p=pt(n.padding);let g=p.height,m=0,v=i.reduce((D,b)=>D+b.before.length+b.lines.length+b.after.length,0);v+=e.beforeBody.length+e.afterBody.length,d&&(g+=d*c.lineHeight+(d-1)*n.titleSpacing+n.titleMarginBottom),v&&(g+=h*(n.displayColors?Math.max(a,l.lineHeight):l.lineHeight)+(v-h)*l.lineHeight+(v-1)*n.bodySpacing),f&&(g+=n.footerMarginTop+f*u.lineHeight+(f-1)*n.footerSpacing);let y=0;const _=function(D){m=Math.max(m,t.measureText(D).width+y)};return t.save(),t.font=c.string,ue(e.title,_),t.font=l.string,ue(e.beforeBody.concat(e.afterBody),_),y=n.displayColors?s+2+n.boxPadding:0,ue(i,D=>{ue(D.before,_),ue(D.lines,_),ue(D.after,_)}),y=0,t.font=u.string,ue(e.footer,_),t.restore(),m+=p.width,{width:m,height:g}}function k4(e,n,t,i){const{x:r,width:o}=t,{width:s,chartArea:{left:a,right:l}}=e;let c="center";return"center"===i?c=r<=(a+l)/2?"left":"right":r<=o/2?c="left":r>=s-o/2&&(c="right"),function O4(e,n,t,i){const{x:r,width:o}=i,s=t.caretSize+t.caretPadding;if("left"===e&&r+o+s>n.width||"right"===e&&r-o-s<0)return!0}(c,e,n,t)&&(c="center"),c}function UT(e,n,t){const i=t.yAlign||n.yAlign||function P4(e,n){const{y:t,height:i}=n;return t<i/2?"top":t>e.height-i/2?"bottom":"center"}(e,t);return{xAlign:t.xAlign||n.xAlign||k4(e,n,t,i),yAlign:i}}function $T(e,n,t,i){const{caretSize:r,caretPadding:o,cornerRadius:s}=e,{xAlign:a,yAlign:l}=t,c=r+o,{topLeft:u,topRight:d,bottomLeft:f,bottomRight:h}=Mr(s);let p=function R4(e,n){let{x:t,width:i}=e;return"right"===n?t-=i:"center"===n&&(t-=i/2),t}(n,a);const g=function F4(e,n,t){let{y:i,height:r}=e;return"top"===n?i+=t:i-="bottom"===n?r+t:r/2,i}(n,l,c);return"center"===l?"left"===a?p+=c:"right"===a&&(p-=c):"left"===a?p-=Math.max(u,f)+r:"right"===a&&(p+=Math.max(d,h)+r),{x:tt(p,0,i.width-n.width),y:tt(g,0,i.height-n.height)}}function Dd(e,n,t){const i=pt(t.padding);return"center"===n?e.x+e.width/2:"right"===n?e.x+e.width-i.right:e.x+i.left}function zT(e){return Vn([],li(e))}function WT(e,n){const t=n&&n.dataset&&n.dataset.tooltip&&n.dataset.tooltip.callbacks;return t?e.override(t):e}const GT={beforeTitle:ni,title(e){if(e.length>0){const n=e[0],t=n.chart.data.labels,i=t?t.length:0;if(this&&this.options&&"dataset"===this.options.mode)return n.dataset.label||"";if(n.label)return n.label;if(i>0&&n.dataIndex<i)return t[n.dataIndex]}return""},afterTitle:ni,beforeBody:ni,beforeLabel:ni,label(e){if(this&&this.options&&"dataset"===this.options.mode)return e.label+": "+e.formattedValue||e.formattedValue;let n=e.dataset.label||"";n&&(n+=": ");const t=e.formattedValue;return ne(t)||(n+=t),n},labelColor(e){const t=e.chart.getDatasetMeta(e.datasetIndex).controller.getStyle(e.dataIndex);return{borderColor:t.borderColor,backgroundColor:t.backgroundColor,borderWidth:t.borderWidth,borderDash:t.borderDash,borderDashOffset:t.borderDashOffset,borderRadius:0}},labelTextColor(){return this.options.bodyColor},labelPointStyle(e){const t=e.chart.getDatasetMeta(e.datasetIndex).controller.getStyle(e.dataIndex);return{pointStyle:t.pointStyle,rotation:t.rotation}},afterLabel:ni,afterBody:ni,beforeFooter:ni,footer:ni,afterFooter:ni};function kt(e,n,t,i){const r=e[n].call(t,i);return typeof r>"u"?GT[n].call(t,i):r}let qT=(()=>class e extends ai{static positioners=Ka;constructor(t){super(),this.opacity=0,this._active=[],this._eventPosition=void 0,this._size=void 0,this._cachedAnimations=void 0,this._tooltipItems=[],this.$animations=void 0,this.$context=void 0,this.chart=t.chart,this.options=t.options,this.dataPoints=void 0,this.title=void 0,this.beforeBody=void 0,this.body=void 0,this.afterBody=void 0,this.footer=void 0,this.xAlign=void 0,this.yAlign=void 0,this.x=void 0,this.y=void 0,this.height=void 0,this.width=void 0,this.caretX=void 0,this.caretY=void 0,this.labelColors=void 0,this.labelPointStyles=void 0,this.labelTextColors=void 0}initialize(t){this.options=t,this._cachedAnimations=void 0,this.$context=void 0}_resolveAnimations(){const t=this._cachedAnimations;if(t)return t;const i=this.chart,r=this.options.setContext(this.getContext()),o=r.enabled&&i.options.animation&&r.animations,s=new NS(this.chart,o);return o._cacheable&&(this._cachedAnimations=Object.freeze(s)),s}getContext(){return this.$context||(this.$context=function L4(e,n,t){return Li(e,{tooltip:n,tooltipItems:t,type:"tooltip"})}(this.chart.getContext(),this,this._tooltipItems))}getTitle(t,i){const{callbacks:r}=i,o=kt(r,"beforeTitle",this,t),s=kt(r,"title",this,t),a=kt(r,"afterTitle",this,t);let l=[];return l=Vn(l,li(o)),l=Vn(l,li(s)),l=Vn(l,li(a)),l}getBeforeBody(t,i){return zT(kt(i.callbacks,"beforeBody",this,t))}getBody(t,i){const{callbacks:r}=i,o=[];return ue(t,s=>{const a={before:[],lines:[],after:[]},l=WT(r,s);Vn(a.before,li(kt(l,"beforeLabel",this,s))),Vn(a.lines,kt(l,"label",this,s)),Vn(a.after,li(kt(l,"afterLabel",this,s))),o.push(a)}),o}getAfterBody(t,i){return zT(kt(i.callbacks,"afterBody",this,t))}getFooter(t,i){const{callbacks:r}=i,o=kt(r,"beforeFooter",this,t),s=kt(r,"footer",this,t),a=kt(r,"afterFooter",this,t);let l=[];return l=Vn(l,li(o)),l=Vn(l,li(s)),l=Vn(l,li(a)),l}_createItems(t){const i=this._active,r=this.chart.data,o=[],s=[],a=[];let c,u,l=[];for(c=0,u=i.length;c<u;++c)l.push(N4(this.chart,i[c]));return t.filter&&(l=l.filter((d,f,h)=>t.filter(d,f,h,r))),t.itemSort&&(l=l.sort((d,f)=>t.itemSort(d,f,r))),ue(l,d=>{const f=WT(t.callbacks,d);o.push(kt(f,"labelColor",this,d)),s.push(kt(f,"labelPointStyle",this,d)),a.push(kt(f,"labelTextColor",this,d))}),this.labelColors=o,this.labelPointStyles=s,this.labelTextColors=a,this.dataPoints=l,l}update(t,i){const r=this.options.setContext(this.getContext()),o=this._active;let s,a=[];if(o.length){const l=Ka[r.position].call(this,o,this._eventPosition);a=this._createItems(r),this.title=this.getTitle(a,r),this.beforeBody=this.getBeforeBody(a,r),this.body=this.getBody(a,r),this.afterBody=this.getAfterBody(a,r),this.footer=this.getFooter(a,r);const c=this._size=HT(this,r),u=Object.assign({},l,c),d=UT(this.chart,r,u),f=$T(r,u,d,this.chart);this.xAlign=d.xAlign,this.yAlign=d.yAlign,s={opacity:1,x:f.x,y:f.y,width:c.width,height:c.height,caretX:l.x,caretY:l.y}}else 0!==this.opacity&&(s={opacity:0});this._tooltipItems=a,this.$context=void 0,s&&this._resolveAnimations().update(this,s),t&&r.external&&r.external.call(this,{chart:this.chart,tooltip:this,replay:i})}drawCaret(t,i,r,o){const s=this.getCaretPosition(t,r,o);i.lineTo(s.x1,s.y1),i.lineTo(s.x2,s.y2),i.lineTo(s.x3,s.y3)}getCaretPosition(t,i,r){const{xAlign:o,yAlign:s}=this,{caretSize:a,cornerRadius:l}=r,{topLeft:c,topRight:u,bottomLeft:d,bottomRight:f}=Mr(l),{x:h,y:p}=t,{width:g,height:m}=i;let v,y,_,D,b,w;return"center"===s?(b=p+m/2,"left"===o?(v=h,y=v-a,D=b+a,w=b-a):(v=h+g,y=v+a,D=b-a,w=b+a),_=v):(y="left"===o?h+Math.max(c,d)+a:"right"===o?h+g-Math.max(u,f)-a:this.caretX,"top"===s?(D=p,b=D-a,v=y-a,_=y+a):(D=p+m,b=D+a,v=y+a,_=y-a),w=D),{x1:v,x2:y,x3:_,y1:D,y2:b,y3:w}}drawTitle(t,i,r){const o=this.title,s=o.length;let a,l,c;if(s){const u=Qo(r.rtl,this.x,this.width);for(t.x=Dd(this,r.titleAlign,r),i.textAlign=u.textAlign(r.titleAlign),i.textBaseline="middle",a=et(r.titleFont),l=r.titleSpacing,i.fillStyle=r.titleColor,i.font=a.string,c=0;c<s;++c)i.fillText(o[c],u.x(t.x),t.y+a.lineHeight/2),t.y+=a.lineHeight+l,c+1===s&&(t.y+=r.titleMarginBottom-l)}}_drawColorBox(t,i,r,o,s){const a=this.labelColors[r],l=this.labelPointStyles[r],{boxHeight:c,boxWidth:u}=s,d=et(s.bodyFont),f=Dd(this,"left",s),h=o.x(f),g=i.y+(c<d.lineHeight?(d.lineHeight-c)/2:0);if(s.usePointStyle){const m={radius:Math.min(u,c)/2,pointStyle:l.pointStyle,rotation:l.rotation,borderWidth:1},v=o.leftForLtr(h,u)+u/2,y=g+c/2;t.strokeStyle=s.multiKeyBackground,t.fillStyle=s.multiKeyBackground,$m(t,m,v,y),t.strokeStyle=a.borderColor,t.fillStyle=a.backgroundColor,$m(t,m,v,y)}else{t.lineWidth=K(a.borderWidth)?Math.max(...Object.values(a.borderWidth)):a.borderWidth||1,t.strokeStyle=a.borderColor,t.setLineDash(a.borderDash||[]),t.lineDashOffset=a.borderDashOffset||0;const m=o.leftForLtr(h,u),v=o.leftForLtr(o.xPlus(h,1),u-2),y=Mr(a.borderRadius);Object.values(y).some(_=>0!==_)?(t.beginPath(),t.fillStyle=s.multiKeyBackground,Ua(t,{x:m,y:g,w:u,h:c,radius:y}),t.fill(),t.stroke(),t.fillStyle=a.backgroundColor,t.beginPath(),Ua(t,{x:v,y:g+1,w:u-2,h:c-2,radius:y}),t.fill()):(t.fillStyle=s.multiKeyBackground,t.fillRect(m,g,u,c),t.strokeRect(m,g,u,c),t.fillStyle=a.backgroundColor,t.fillRect(v,g+1,u-2,c-2))}t.fillStyle=this.labelTextColors[r]}drawBody(t,i,r){const{body:o}=this,{bodySpacing:s,bodyAlign:a,displayColors:l,boxHeight:c,boxWidth:u,boxPadding:d}=r,f=et(r.bodyFont);let h=f.lineHeight,p=0;const g=Qo(r.rtl,this.x,this.width),m=function(N){i.fillText(N,g.x(t.x+p),t.y+h/2),t.y+=h+s},v=g.textAlign(a);let y,_,D,b,w,I,x;for(i.textAlign=a,i.textBaseline="middle",i.font=f.string,t.x=Dd(this,v,r),i.fillStyle=r.bodyColor,ue(this.beforeBody,m),p=l&&"right"!==v?"center"===a?u/2+d:u+2+d:0,b=0,I=o.length;b<I;++b){for(y=o[b],_=this.labelTextColors[b],i.fillStyle=_,ue(y.before,m),D=y.lines,l&&D.length&&(this._drawColorBox(i,t,b,g,r),h=Math.max(f.lineHeight,c)),w=0,x=D.length;w<x;++w)m(D[w]),h=f.lineHeight;ue(y.after,m)}p=0,h=f.lineHeight,ue(this.afterBody,m),t.y-=s}drawFooter(t,i,r){const o=this.footer,s=o.length;let a,l;if(s){const c=Qo(r.rtl,this.x,this.width);for(t.x=Dd(this,r.footerAlign,r),t.y+=r.footerMarginTop,i.textAlign=c.textAlign(r.footerAlign),i.textBaseline="middle",a=et(r.footerFont),i.fillStyle=r.footerColor,i.font=a.string,l=0;l<s;++l)i.fillText(o[l],c.x(t.x),t.y+a.lineHeight/2),t.y+=a.lineHeight+r.footerSpacing}}drawBackground(t,i,r,o){const{xAlign:s,yAlign:a}=this,{x:l,y:c}=t,{width:u,height:d}=r,{topLeft:f,topRight:h,bottomLeft:p,bottomRight:g}=Mr(o.cornerRadius);i.fillStyle=o.backgroundColor,i.strokeStyle=o.borderColor,i.lineWidth=o.borderWidth,i.beginPath(),i.moveTo(l+f,c),"top"===a&&this.drawCaret(t,i,r,o),i.lineTo(l+u-h,c),i.quadraticCurveTo(l+u,c,l+u,c+h),"center"===a&&"right"===s&&this.drawCaret(t,i,r,o),i.lineTo(l+u,c+d-g),i.quadraticCurveTo(l+u,c+d,l+u-g,c+d),"bottom"===a&&this.drawCaret(t,i,r,o),i.lineTo(l+p,c+d),i.quadraticCurveTo(l,c+d,l,c+d-p),"center"===a&&"left"===s&&this.drawCaret(t,i,r,o),i.lineTo(l,c+f),i.quadraticCurveTo(l,c,l+f,c),i.closePath(),i.fill(),o.borderWidth>0&&i.stroke()}_updateAnimationTarget(t){const i=this.chart,r=this.$animations,o=r&&r.x,s=r&&r.y;if(o||s){const a=Ka[t.position].call(this,this._active,this._eventPosition);if(!a)return;const l=this._size=HT(this,t),c=Object.assign({},a,this._size),u=UT(i,t,c),d=$T(t,c,u,i);(o._to!==d.x||s._to!==d.y)&&(this.xAlign=u.xAlign,this.yAlign=u.yAlign,this.width=l.width,this.height=l.height,this.caretX=a.x,this.caretY=a.y,this._resolveAnimations().update(this,d))}}_willRender(){return!!this.opacity}draw(t){const i=this.options.setContext(this.getContext());let r=this.opacity;if(!r)return;this._updateAnimationTarget(i);const o={width:this.width,height:this.height},s={x:this.x,y:this.y};r=Math.abs(r)<.001?0:r;const a=pt(i.padding);i.enabled&&(this.title.length||this.beforeBody.length||this.body.length||this.afterBody.length||this.footer.length)&&(t.save(),t.globalAlpha=r,this.drawBackground(s,t,o,i),wS(t,i.textDirection),s.y+=a.top,this.drawTitle(s,t,i),this.drawBody(s,t,i),this.drawFooter(s,t,i),CS(t,i.textDirection),t.restore())}getActiveElements(){return this._active||[]}setActiveElements(t,i){const r=this._active,o=t.map(({datasetIndex:l,index:c})=>{const u=this.chart.getDatasetMeta(l);if(!u)throw new Error("Cannot find a dataset at index "+l);return{datasetIndex:l,element:u.data[c],index:c}}),s=!Qu(r,o),a=this._positionChanged(o,i);(s||a)&&(this._active=o,this._eventPosition=i,this._ignoreReplayEvents=!0,this.update(!0))}handleEvent(t,i,r=!0){if(i&&this._ignoreReplayEvents)return!1;this._ignoreReplayEvents=!1;const o=this.options,s=this._active||[],a=this._getActiveElements(t,s,i,r),l=this._positionChanged(a,t),c=i||!Qu(a,s)||l;return c&&(this._active=a,(o.enabled||o.external)&&(this._eventPosition={x:t.x,y:t.y},this.update(!0,i))),c}_getActiveElements(t,i,r,o){const s=this.options;if("mouseout"===t.type)return[];if(!o)return i.filter(l=>this.chart.data.datasets[l.datasetIndex]&&void 0!==this.chart.getDatasetMeta(l.datasetIndex).controller.getParsed(l.index));const a=this.chart.getElementsAtEventForMode(t,s.mode,s,r);return s.reverse&&a.reverse(),a}_positionChanged(t,i){const{caretX:r,caretY:o,options:s}=this,a=Ka[s.position].call(this,t,i);return!1!==a&&(r!==a.x||o!==a.y)}})();var YT={id:"tooltip",_element:qT,positioners:Ka,afterInit(e,n,t){t&&(e.tooltip=new qT({chart:e,options:t}))},beforeUpdate(e,n,t){e.tooltip&&e.tooltip.initialize(t)},reset(e,n,t){e.tooltip&&e.tooltip.initialize(t)},afterDraw(e){const n=e.tooltip;if(n&&n._willRender()){const t={tooltip:n};if(!1===e.notifyPlugins("beforeTooltipDraw",{...t,cancelable:!0}))return;n.draw(e.ctx),e.notifyPlugins("afterTooltipDraw",t)}},afterEvent(e,n){e.tooltip&&e.tooltip.handleEvent(n.event,n.replay,n.inChartArea)&&(n.changed=!0)},defaults:{enabled:!0,external:null,position:"average",backgroundColor:"rgba(0,0,0,0.8)",titleColor:"#fff",titleFont:{weight:"bold"},titleSpacing:2,titleMarginBottom:6,titleAlign:"left",bodyColor:"#fff",bodySpacing:2,bodyFont:{},bodyAlign:"left",footerColor:"#fff",footerSpacing:2,footerMarginTop:6,footerFont:{weight:"bold"},footerAlign:"left",padding:6,caretPadding:2,caretSize:5,cornerRadius:6,boxHeight:(e,n)=>n.bodyFont.size,boxWidth:(e,n)=>n.bodyFont.size,multiKeyBackground:"#fff",displayColors:!0,boxPadding:0,borderColor:"rgba(0,0,0,0)",borderWidth:0,animation:{duration:400,easing:"easeOutQuart"},animations:{numbers:{type:"number",properties:["x","y","width","height","caretX","caretY"]},opacity:{easing:"linear",duration:200}},callbacks:GT},defaultRoutes:{bodyFont:"font",footerFont:"font",titleFont:"font"},descriptors:{_scriptable:e=>"filter"!==e&&"itemSort"!==e&&"external"!==e,_indexable:!1,callbacks:{_scriptable:!1,_indexable:!1},animation:{_fallback:!1},animations:{_fallback:"animation"}},additionalOptionScopes:["interaction"]};function ZT(e){const n=this.getLabels();return e>=0&&e<n.length?n[e]:e}let XT=(()=>class e extends Ar{static id="category";static defaults={ticks:{callback:ZT}};constructor(t){super(t),this._startValue=void 0,this._valueRange=0,this._addedLabels=[]}init(t){const i=this._addedLabels;if(i.length){const r=this.getLabels();for(const{index:o,label:s}of i)r[o]===s&&r.splice(o,1);this._addedLabels=[]}super.init(t)}parse(t,i){if(ne(t))return null;const r=this.getLabels();return((e,n)=>null===e?null:tt(Math.round(e),0,n))(i=isFinite(i)&&r[i]===t?i:function j4(e,n,t,i){const r=e.indexOf(n);return-1===r?((e,n,t,i)=>("string"==typeof n?(t=e.push(n)-1,i.unshift({index:t,label:n})):isNaN(n)&&(t=null),t))(e,n,t,i):r!==e.lastIndexOf(n)?t:r}(r,t,$(i,t),this._addedLabels),r.length-1)}determineDataLimits(){const{minDefined:t,maxDefined:i}=this.getUserBounds();let{min:r,max:o}=this.getMinMax(!0);"ticks"===this.options.bounds&&(t||(r=0),i||(o=this.getLabels().length-1)),this.min=r,this.max=o}buildTicks(){const t=this.min,i=this.max,r=this.options.offset,o=[];let s=this.getLabels();s=0===t&&i===s.length-1?s:s.slice(t,i+1),this._valueRange=Math.max(s.length-(r?0:1),1),this._startValue=this.min-(r?.5:0);for(let a=t;a<=i;a++)o.push({value:a});return o}getLabelForValue(t){return ZT.call(this,t)}configure(){super.configure(),this.isHorizontal()||(this._reversePixels=!this._reversePixels)}getPixelForValue(t){return"number"!=typeof t&&(t=this.parse(t)),null===t?NaN:this.getPixelForDecimal((t-this._startValue)/this._valueRange)}getPixelForTick(t){const i=this.ticks;return t<0||t>i.length-1?null:this.getPixelForValue(i[t].value)}getValueForPixel(t){return Math.round(this._startValue+this.getDecimalForPixel(t)*this._valueRange)}getBasePixel(){return this.bottom}})();function QT(e,n,{horizontal:t,minRotation:i}){const r=vn(i),o=(t?Math.sin(r):Math.cos(r))||.001;return Math.min(n/o,.75*n*(""+e).length)}class wd extends Ar{constructor(n){super(n),this.start=void 0,this.end=void 0,this._startValue=void 0,this._endValue=void 0,this._valueRange=0}parse(n,t){return ne(n)||("number"==typeof n||n instanceof Number)&&!isFinite(+n)?null:+n}handleTickRangeOptions(){const{beginAtZero:n}=this.options,{minDefined:t,maxDefined:i}=this.getUserBounds();let{min:r,max:o}=this;const s=l=>r=t?r:l,a=l=>o=i?o:l;if(n){const l=Fn(r),c=Fn(o);l<0&&c<0?a(0):l>0&&c>0&&s(0)}if(r===o){let l=0===o?1:Math.abs(.05*o);a(o+l),n||s(r-l)}this.min=r,this.max=o}getTickLimit(){const n=this.options.ticks;let r,{maxTicksLimit:t,stepSize:i}=n;return i?(r=Math.ceil(this.max/i)-Math.floor(this.min/i)+1,r>1e3&&(console.warn(`scales.${this.id}.ticks.stepSize: ${i} would result generating up to ${r} ticks. Limiting to 1000.`),r=1e3)):(r=this.computeTickLimit(),t=t||11),t&&(r=Math.min(t,r)),r}computeTickLimit(){return Number.POSITIVE_INFINITY}buildTicks(){const n=this.options,t=n.ticks;let i=this.getTickLimit();i=Math.max(2,i);const s=function U4(e,n){const t=[],{bounds:r,step:o,min:s,max:a,precision:l,count:c,maxTicks:u,maxDigits:d,includeBounds:f}=e,h=o||1,p=u-1,{min:g,max:m}=n,v=!ne(s),y=!ne(a),_=!ne(c),D=(m-g)/(d+1);let w,I,x,N,b=qx((m-g)/p/h)*h;if(b<1e-14&&!v&&!y)return[{value:g},{value:m}];N=Math.ceil(m/b)-Math.floor(g/b),N>p&&(b=qx(N*b/p/h)*h),ne(l)||(w=Math.pow(10,l),b=Math.ceil(b*w)/w),"ticks"===r?(I=Math.floor(g/b)*b,x=Math.ceil(m/b)*b):(I=g,x=m),v&&y&&o&&function k8(e,n){const t=Math.round(e);return t-n<=e&&t+n>=e}((a-s)/o,b/1e3)?(N=Math.round(Math.min((a-s)/b,u)),b=(a-s)/N,I=s,x=a):_?(I=v?s:I,x=y?a:x,N=c-1,b=(x-I)/N):(N=(x-I)/b,N=La(N,Math.round(N),b/1e3)?Math.round(N):Math.ceil(N));const q=Math.max(Zx(b),Zx(I));w=Math.pow(10,ne(l)?q:l),I=Math.round(I*w)/w,x=Math.round(x*w)/w;let z=0;for(v&&(f&&I!==s?(t.push({value:s}),I<s&&z++,La(Math.round((I+z*b)*w)/w,s,QT(s,D,e))&&z++):I<s&&z++);z<N;++z){const J=Math.round((I+z*b)*w)/w;if(y&&J>a)break;t.push({value:J})}return y&&f&&x!==a?t.length&&La(t[t.length-1].value,a,QT(a,D,e))?t[t.length-1].value=a:t.push({value:a}):(!y||x===a)&&t.push({value:x}),t}({maxTicks:i,bounds:n.bounds,min:n.min,max:n.max,precision:t.precision,step:t.stepSize,count:t.count,maxDigits:this._maxDigits(),horizontal:this.isHorizontal(),minRotation:t.minRotation||0,includeBounds:!1!==t.includeBounds},this._range||this);return"ticks"===n.bounds&&function Yx(e,n,t){let i,r,o;for(i=0,r=e.length;i<r;i++)o=e[i][t],isNaN(o)||(n.min=Math.min(n.min,o),n.max=Math.max(n.max,o))}(s,this,"value"),n.reverse?(s.reverse(),this.start=this.max,this.end=this.min):(this.start=this.min,this.end=this.max),s}configure(){const n=this.ticks;let t=this.min,i=this.max;if(super.configure(),this.options.offset&&n.length){const r=(i-t)/Math.max(n.length-1,1)/2;t-=r,i+=r}this._startValue=t,this._endValue=i,this._valueRange=i-t}getLabelForValue(n){return ja(n,this.chart.options.locale,this.options.ticks.format)}}sy.register(US,class CT extends ai{static id="bar";static defaults={borderSkipped:"start",borderWidth:0,borderRadius:0,inflateAmount:"auto",pointStyle:void 0};static defaultRoutes={backgroundColor:"backgroundColor",borderColor:"borderColor"};constructor(n){super(),this.options=void 0,this.horizontal=void 0,this.base=void 0,this.width=void 0,this.height=void 0,this.inflateAmount=void 0,n&&Object.assign(this,n)}draw(n){const{inflateAmount:t,options:{borderColor:i,backgroundColor:r}}=this,{inner:o,outer:s}=function UG(e){const n=wT(e),t=n.right-n.left,i=n.bottom-n.top,r=function jG(e,n,t){const r=e.borderSkipped,o=dS(e.options.borderWidth);return{t:Bi(r.top,o.top,0,t),r:Bi(r.right,o.right,0,n),b:Bi(r.bottom,o.bottom,0,t),l:Bi(r.left,o.left,0,n)}}(e,t/2,i/2),o=function HG(e,n,t){const{enableBorderRadius:i}=e.getProps(["enableBorderRadius"]),r=e.options.borderRadius,o=Mr(r),s=Math.min(n,t),a=e.borderSkipped,l=i||K(r);return{topLeft:Bi(!l||a.top||a.left,o.topLeft,0,s),topRight:Bi(!l||a.top||a.right,o.topRight,0,s),bottomLeft:Bi(!l||a.bottom||a.left,o.bottomLeft,0,s),bottomRight:Bi(!l||a.bottom||a.right,o.bottomRight,0,s)}}(e,t/2,i/2);return{outer:{x:n.left,y:n.top,w:t,h:i,radius:o},inner:{x:n.left+r.l,y:n.top+r.t,w:t-r.l-r.r,h:i-r.t-r.b,radius:{topLeft:Math.max(0,o.topLeft-Math.max(r.t,r.l)),topRight:Math.max(0,o.topRight-Math.max(r.t,r.r)),bottomLeft:Math.max(0,o.bottomLeft-Math.max(r.b,r.l)),bottomRight:Math.max(0,o.bottomRight-Math.max(r.b,r.r))}}}}(this),a=function $G(e){return e.topLeft||e.topRight||e.bottomLeft||e.bottomRight}(s.radius)?Ua:zG;n.save(),(s.w!==o.w||s.h!==o.h)&&(n.beginPath(),a(n,cy(s,t,o)),n.clip(),a(n,cy(o,-t,s)),n.fillStyle=i,n.fill("evenodd")),n.beginPath(),a(n,cy(o,t)),n.fillStyle=r,n.fill(),n.restore()}inRange(n,t,i){return ly(this,n,t,i)}inXRange(n,t){return ly(this,n,null,t)}inYRange(n,t){return ly(this,null,n,t)}getCenterPoint(n){const{x:t,y:i,base:r,horizontal:o}=this.getProps(["x","y","base","horizontal"],n);return{x:o?(t+r)/2:t,y:o?i:(i+r)/2}}getRange(n){return"x"===n?this.width/2:this.height/2}},class KT extends wd{static id="linear";static defaults={ticks:{callback:td.formatters.numeric}};determineDataLimits(){const{min:n,max:t}=this.getMinMax(!0);this.min=Pe(n)?n:0,this.max=Pe(t)?t:1,this.handleTickRangeOptions()}computeTickLimit(){const n=this.isHorizontal(),t=n?this.width:this.height,i=vn(this.options.ticks.minRotation),r=(n?Math.sin(i):Math.cos(i))||.001,o=this._resolveTickFontOptions(0);return Math.ceil(t/Math.min(40,o.lineHeight/r))}getPixelForValue(n){return null===n?NaN:this.getPixelForDecimal((n-this._startValue)/this._valueRange)}getValueForPixel(n){return this._startValue+this.getDecimalForPixel(n)*this._valueRange}},XT,jT,YT,class vT extends ai{static id="arc";static defaults={borderAlign:"center",borderColor:"#fff",borderDash:[],borderDashOffset:0,borderJoinStyle:void 0,borderRadius:0,borderWidth:2,offset:0,spacing:0,angle:void 0,circular:!0};static defaultRoutes={backgroundColor:"backgroundColor"};static descriptors={_scriptable:!0,_indexable:n=>"borderDash"!==n};circumference;endAngle;fullCircles;innerRadius;outerRadius;pixelMargin;startAngle;constructor(n){super(),this.options=void 0,this.circumference=void 0,this.startAngle=void 0,this.endAngle=void 0,this.innerRadius=void 0,this.outerRadius=void 0,this.pixelMargin=0,this.fullCircles=0,n&&Object.assign(this,n)}inRange(n,t,i){const r=this.getProps(["x","y"],i),{angle:o,distance:s}=Xx(r,{x:n,y:t}),{startAngle:a,endAngle:l,innerRadius:c,outerRadius:u,circumference:d}=this.getProps(["startAngle","endAngle","innerRadius","outerRadius","circumference"],i),f=(this.options.spacing+this.options.borderWidth)/2,h=$(d,l-a),p=Va(o,a,l)&&a!==l,g=h>=Ee||p,m=ii(s,c+f,u+f);return g&&m}getCenterPoint(n){const{x:t,y:i,startAngle:r,endAngle:o,innerRadius:s,outerRadius:a}=this.getProps(["x","y","startAngle","endAngle","innerRadius","outerRadius"],n),{offset:l,spacing:c}=this.options,u=(r+o)/2,d=(s+a+c+l)/2;return{x:t+Math.cos(u)*d,y:i+Math.sin(u)*d}}tooltipPosition(n){return this.getCenterPoint(n)}draw(n){const{options:t,circumference:i}=this,r=(t.offset||0)/4,o=(t.spacing||0)/2,s=t.circular;if(this.pixelMargin="inner"===t.borderAlign?.33:0,this.fullCircles=i>Ee?Math.floor(i/Ee):0,0===i||this.innerRadius<0||this.outerRadius<0)return;n.save();const a=(this.startAngle+this.endAngle)/2;n.translate(Math.cos(a)*r,Math.sin(a)*r);const c=r*(1-Math.sin(Math.min(Ce,i||0)));n.fillStyle=t.backgroundColor,n.strokeStyle=t.borderColor,function SG(e,n,t,i,r){const{fullCircles:o,startAngle:s,circumference:a}=n;let l=n.endAngle;if(o){vd(e,n,t,i,l,r);for(let c=0;c<o;++c)e.fill();isNaN(a)||(l=s+(a%Ee||Ee))}vd(e,n,t,i,l,r),e.fill()}(n,this,c,o,s),function TG(e,n,t,i,r){const{fullCircles:o,startAngle:s,circumference:a,options:l}=n,{borderWidth:c,borderJoinStyle:u,borderDash:d,borderDashOffset:f}=l,h="inner"===l.borderAlign;if(!c)return;e.setLineDash(d||[]),e.lineDashOffset=f,h?(e.lineWidth=2*c,e.lineJoin=u||"round"):(e.lineWidth=c,e.lineJoin=u||"bevel");let p=n.endAngle;if(o){vd(e,n,t,i,p,r);for(let g=0;g<o;++g)e.stroke();isNaN(a)||(p=s+(a%Ee||Ee))}h&&function MG(e,n,t){const{startAngle:i,pixelMargin:r,x:o,y:s,outerRadius:a,innerRadius:l}=n;let c=r/a;e.beginPath(),e.arc(o,s,a,i-c,t+c),l>r?(c=r/l,e.arc(o,s,l,t+c,i-c,!0)):e.arc(o,s,r,t+Be,i-Be),e.closePath(),e.clip()}(e,n,p),o||(vd(e,n,t,i,p,r),e.stroke())}(n,this,c,o,s),n.restore()}},cd);let d6=(()=>{class e{constructor(t,i){this.elementRef=t,this.zone=i,this.type="bar",this.plugins=[],this.chart=void 0,this.canvasContext=""}ngOnInit(){this.canvasContext=this.elementRef.nativeElement.getContext("2d"),this.render()}ngOnDestroy(){this.chart&&(this.chart.destroy(),this.chart=void 0)}ngOnChanges(t){for(const i in t)if(t.hasOwnProperty(i))switch(i){case"data":this.chart?.data?.datasets&&this.data?.datasets&&this.chart.data.datasets.length===this.data.datasets.length&&(this.data.datasets.forEach((r,o)=>{this.chart.data.datasets[o].data=r.data}),this.chart.update());break;case"options":this.chart&&this.chart.update&&this.chart.update()}}render(){return this.chart&&this.chart.destroy(),this.zone.runOutsideAngular(()=>(this.chart=new sy(this.canvasContext,this.getChartConfiguration()),this.chart))}chartDataConfig(){return{labels:this.data?.labels??[],datasets:this.data?.datasets??[]}}getChartConfiguration(){return{type:this.type,data:this.chartDataConfig(),plugins:this.plugins,options:this.options}}static{this.\u0275fac=function(i){return new(i||e)(E(Tt),E(se))}}static{this.\u0275dir=H({type:e,selectors:[["","chartJs",""]],inputs:{type:"type",data:"data",options:"options",plugins:"plugins"},standalone:!0,features:[En]})}}return e})();const f6=["inputField"];let h6=(()=>{class e{constructor(t,i){this.changeDetector=t,this.elementRef=i,this.keydown=new Qe,this.input=new Qe,this.change=new Qe,this.step=1,this.disabled=!1,this.value=0,this.onChange=()=>{},this.onTouched=()=>{}}ngOnInit(){this.dataMLATag=this.elementRef.nativeElement.getAttribute("data-mla")}increaseClick(){this.increment(this.step)}decreaseClick(){this.increment(-1*this.step)}increment(t){this.value+=+t||1,typeof this.max<"u"&&(this.value=Math.min(this.max,this.value)),typeof this.min<"u"&&(this.value=Math.max(this.min,this.value)),this.onChange(this.value),this.changeDetector.detectChanges()}onInputChange(t){this.value=this.inputField.nativeElement.value,this.change.emit(t),this.onChange(this.value),this.changeDetector.detectChanges()}writeValue(t){this.value=t}registerOnChange(t){this.onChange=t}registerOnTouched(t){this.onTouched=t}setDisabledState(t){this.disabled=t}static{this.\u0275fac=function(i){return new(i||e)(E(pa),E(Tt))}}static{this.\u0275cmp=af({type:e,selectors:[["number-field"]],viewQuery:function(i,r){if(1&i&&$p(f6,5),2&i){let o;zp(o=Wp())&&(r.inputField=o.first)}},inputs:{min:"min",max:"max",step:"step",maxlength:"maxlength"},outputs:{keydown:"keydown",input:"input",change:"change"},features:[De([{provide:yn,multi:!0,useExisting:e}])],decls:8,vars:9,consts:[["inputField",""],[1,"number-field-component"],["type","number",1,"form-control",3,"keydown","input","change","value","step","min","max","disabled"],["aria-hidden","true",1,"spinner-buttons"],["type","button",1,"btn","spinner-button",3,"mousedown","disabled"],["aria-hidden","true","role","img",1,"icon-entypo-triangle-up"],["aria-hidden","true","role","img",1,"icon-entypo-triangle-down"]],template:function(i,r){if(1&i){const o=Vp();Z(0,"div",1)(1,"input",2,0),Ae("keydown",function(a){return Ht(o),Ut(r.keydown.emit(a))})("input",function(a){return Ht(o),Ut(r.input.emit(a))})("change",function(a){return Ht(o),Ut(r.onInputChange(a))}),Q(),Z(3,"div",3)(4,"button",4),Ae("mousedown",function(){return Ht(o),Ut(r.increaseClick())}),Ro(5,"i",5),Q(),Z(6,"button",4),Ae("mousedown",function(){return Ht(o),Ut(r.decreaseClick())}),Ro(7,"i",6),Q()()()}2&i&&(Re(),$e("value",r.value)("step",r.step)("min",r.min)("max",r.max)("disabled",r.disabled),Re(3),$e("disabled",r.disabled),fn("data-mla",r.dataMLATag+"-increment"),Re(2),$e("disabled",r.disabled),fn("data-mla",r.dataMLATag+"-decrement"))},encapsulation:2})}}return e})();const p6=["doughnutChart"],g6=e=>({"right-border-radius right-border":e}),m6=e=>({"canada-mortgage-term-dropdown":e});function y6(e,n){1&e&&(Z(0,"div",6),Ro(1,"i",7),Q())}function v6(e,n){if(1&e&&(Z(0,"option",43),Ne(1),Q()),2&e){const t=n.$implicit;$e("selected",kn(2).interestRate.toString()==t.value)("value",t.value),Re(),qp(t.name)}}function _6(e,n){if(1&e){const t=Vp();Z(0,"div")(1,"form",8)(2,"div",9)(3,"div",10)(4,"div",11)(5,"label",12),Ne(6,"Price"),Q(),Z(7,"input",13),Ae("keydown",function(r){return Ht(t),Ut(kn().omitNonNumeric(r))}),Q()()(),Z(8,"div",10)(9,"div",11)(10,"label",14),Ne(11,"Down Payment"),Q(),Z(12,"div",15)(13,"div",16)(14,"input",17),Ae("keydown",function(r){return Ht(t),Ut(kn().omitNonNumeric(r))}),Q()(),Z(15,"div",18)(16,"number-field",19),Ae("keydown",function(r){return Ht(t),Ut(kn().omitNonNumeric(r))}),Q(),Z(17,"div",20),Ne(18,"%"),Q()()()()()(),Z(19,"div",9)(20,"div",10)(21,"div",11)(22,"label",21),Ne(23,"Property Taxes "),Z(24,"span",22),Ne(25,"Per Year"),Q()(),Z(26,"div",15)(27,"div",16)(28,"input",23),Ae("keydown",function(r){return Ht(t),Ut(kn().omitNonNumeric(r))}),Q(),Z(29,"div",24),Ne(30,"/year"),Q()(),Z(31,"div",18)(32,"number-field",25),Ae("keydown",function(r){return Ht(t),Ut(kn().omitNonNumeric(r))}),Q(),Z(33,"div",26),Ne(34,"%"),Q()()()()(),Z(35,"div",10)(36,"div",11)(37,"label",27),Ne(38,"Insurance "),Z(39,"span",22),Ne(40,"Per Month"),Q()(),Z(41,"div",15)(42,"div",16)(43,"input",28),Ae("keydown",function(r){return Ht(t),Ut(kn().omitNonNumeric(r))}),Q(),Z(44,"div",24),Ne(45,"/mo"),Q()(),Z(46,"div",18)(47,"number-field",29),Ae("keydown",function(r){return Ht(t),Ut(kn().omitNonNumeric(r))}),Q(),Z(48,"div",26),Ne(49,"%"),Q()()()()()(),Z(50,"div",9)(51,"div",30)(52,"div",11)(53,"label",31),Ne(54,"Interest Rate"),Q(),Z(55,"div",15)(56,"div",16)(57,"select",32),Tc(58,v6,2,3,"option",33),Q()(),Z(59,"div",18)(60,"div",34),Ne(61),Q(),Z(62,"select",35)(63,"option",36),Ne(64,"15-Year"),Q(),Z(65,"option",37),Ne(66,"30-Year"),Q(),Z(67,"option",38),Ne(68,"25-Year"),Q()()()()()()()(),Z(69,"div",39)(70,"div",40),Ro(71,"canvas",41,0),Q()(),Z(73,"span",3),Ne(74),Q(),Z(75,"div",42)(76,"span"),Ne(77,"Data Provided by Market Leader Group, Inc."),Q()()()}if(2&e){const t=kn();Re(),$e("formGroup",t.formData),Re(15),$e("min",0)("max",100)("step",1),Re(16),$e("min",0)("max",100)("step",.01),Re(15),$e("min",0)("max",100)("step",.01),Re(10),$e("ngClass",Jp(29,g6,t.isCanada)),Re(),$e("ngForOf",t.aprPickList),Re(2),$e("hidden",!t.isCanada),Re(),$c("",t.term,"-Year "),Re(),$e("ngClass",Jp(31,m6,t.isCanada))("hidden",t.isCanada),Re(),$e("hidden",t.isCanada),Re(2),$e("hidden",t.isCanada)("selected",!t.isCanada),Re(2),$e("hidden",!t.isCanada)("selected",t.isCanada),Re(4),$e("type",t.chartType)("data",t.chartData)("options",t.chartOptions)("plugins",t.chartPlugins),Re(3),Yp("$",t.calculatorData.monthlyPayment,"total monthly payment, $",t.calculatorData.monthlyMortgage," monthly mortgage, $",t.calculatorData.monthlyTaxes," monthly taxes, $",t.calculatorData.monthlyInsurance," monthly insurance")}}let lA=(()=>{class e{get askingPrice(){return this.formData.get("askingPrice")}get downPayment(){return this.formData.get("downPayment")}get downPaymentPercent(){return this.formData.get("downPaymentPercent")}get taxes(){return this.formData.get("taxes")}get taxesPercent(){return this.formData.get("taxesPercent")}get insurance(){return this.formData.get("insurance")}get insurancePercent(){return this.formData.get("insurancePercent")}get interestRate(){return this.formData.get("interestRate")}get term(){return this.formData.get("term")}onResize(){this.windowResizeTimeout&&this.window.nativeWindow.clearTimeout(this.windowResizeTimeout),this.windowResizeTimeout=this.window.nativeWindow.setTimeout(()=>{this.isMobile=this.breakpointService.isMobile(),this.chartOptions.plugins.legend.position=this.isMobile?"bottom":"right",this.updateChart()},500)}constructor(t,i,r,o,s,a,l,c){this.window=t,this.mortgageCalcService=i,this.breakpointService=r,this.elementRef=o,this.formBuilder=s,this.changeDetector=a,this.currencyPipe=l,this.validationService=c,this.isLoading=!0,this.stateCode=null,this.state=null,this.isCanada=!1,this.isMobile=!1,this.CANADA_COUNTRY_CODE="CAN",this.formData=this.formBuilder.group({askingPrice:["0"],downPayment:["0"],downPaymentPercent:[0],taxes:["0"],taxesPercent:[0],insurance:["0"],insurancePercent:[0],interestRate:[0],term:[0]}),this.calculatorData=new L3,this.chartType="doughnut",this.chartOptions={responsive:!0,resizeDelay:300,maintainAspectRatio:!1,cutout:"78%",rotation:45,layout:{padding:25},animation:{duration:500},plugins:{legend:{position:"right",labels:{usePointStyle:!0,boxWidth:16,padding:20},onClick:u=>{}},tooltip:{usePointStyle:!0,callbacks:{label:u=>" "+this.getCurrencyFromNumber("number"==typeof u.raw?u.raw:0)}}},elements:{center:{textData:[{text:"$0",font:"bold 32px Open Sans, Arial",color:"#000000",yOffset:"5"},{text:"monthly",font:"18px Open Sans",color:"#000000",yOffset:"30"}]}}},this.chartPlugins=[{id:"center",beforeDraw:(u,d,f)=>{if(u.config.options.elements.center){const h=u.ctx,p=u.config.options.elements.center,g=(u.chartArea.left+u.chartArea.right)/2,m=(u.chartArea.top+u.chartArea.bottom)/2,v=parseFloat(u.config.options.cutout)/100,y=.85;let _=0;_=u.chartArea.width>u.chartArea.height?u.chartArea.height*v*y:u.chartArea.width*v*y;for(const D of p.textData){h.font=D.font||"Arial",h.fillStyle=D.color||"#111111",h.textAlign="center";const b=h.measureText(D.text);let w=1;b.width>_&&(w=_/b.width);const I=1/w,x=g*I,N=(m+(+D.yOffset||0))*I;h.save(),h.scale(w,w),h.fillText(D.text,x,N),h.restore()}}}}],this.windowResizeTimeout=0}ngOnInit(){this.isLoading=!0,this.stateCode=this.elementRef.nativeElement.getAttribute("data-statecode");const t=decodeURIComponent(this.stateCode);this.mortgageCalcService.getMortgageCalculatorData(t).subscribe({next:i=>{this.initForm(),this.isCanada=i.isCanada,this.state=i.state,this.initAprPicklist(i.picklist);const r=this.getCurrencyFromNumber(this.elementRef.nativeElement.getAttribute("data-askingprice"));this.askingPrice.setValue(r);const o=this.getCurrencyFromNumber(this.elementRef.nativeElement.getAttribute("data-taxes"));this.taxes.setValue(o),this.downPaymentPercent.setValue(20);const s=this.getCurrencyFromNumber(this.computeDownPayment());this.downPayment.setValue(s),this.initTaxes(),this.state.CountryCode===this.CANADA_COUNTRY_CODE?this.initCanadaInsurance():this.initUSAInsurance(),this.calculatorData.monthlyPayment=this.computeMonthlyPayment(),this.updateChart(),this.isLoading=!1,this.changeDetector.detectChanges()},error:i=>{console.error('There was a server error requesting state and country from "/forms/listing/mortgagecalculator/". Reason: '+i)}}),this.isMobile=this.breakpointService.isMobile()}initForm(){this.askingPrice.valueChanges.pipe(_r(),br(null)).subscribe({next:t=>{const i=this.getNumberFromCurrency(t),r=this.getCurrencyFromNumber(i);this.askingPrice.setValue(r,{emitEvent:!1}),this.calculatorData.askingPrice=i,this.downPayment.setValue(this.getCurrencyFromNumber(this.computeDownPayment())),this.taxes.setValue(this.getCurrencyFromNumber(this.computeTaxes())),this.insurance.setValue(this.getCurrencyFromNumber(this.computeInsurance())),this.calculatorData.monthlyPayment=this.computeMonthlyPayment(),this.updateChart()}}),this.downPayment.valueChanges.pipe(_r(),br(null)).subscribe({next:t=>{const i=this.getNumberFromCurrency(t),r=this.getCurrencyFromNumber(i);this.downPayment.setValue(r,{emitEvent:!1}),this.calculatorData.downPayment=i,this.downPaymentPercent.setValue(this.computeDownPaymentPercent(),{emitEvent:!1}),this.calculatorData.monthlyPayment=this.computeMonthlyPayment(),this.updateChart()}}),this.downPaymentPercent.valueChanges.pipe(_r(),br(null)).subscribe({next:t=>{this.calculatorData.downPaymentPercent=this.validatePercentage(t),this.downPayment.setValue(this.getCurrencyFromNumber(this.computeDownPayment())),this.calculatorData.monthlyPayment=this.computeMonthlyPayment(),this.updateChart()}}),this.taxes.valueChanges.pipe(_r(),br(null)).subscribe({next:t=>{const i=this.getNumberFromCurrency(t),r=this.getCurrencyFromNumber(i);this.taxes.setValue(r,{emitEvent:!1}),this.calculatorData.taxes=i,this.taxesPercent.setValue(this.computeTaxesPercent(),{emitEvent:!1}),this.calculatorData.monthlyPayment=this.computeMonthlyPayment(),this.updateChart()}}),this.taxesPercent.valueChanges.pipe(_r(),br(null)).subscribe({next:t=>{this.calculatorData.taxesPercent=this.validatePercentage(t),this.taxes.setValue(this.getCurrencyFromNumber(this.computeTaxes())),this.calculatorData.monthlyPayment=this.computeMonthlyPayment(),this.updateChart()}}),this.insurance.valueChanges.pipe(_r(),br(null)).subscribe({next:t=>{const i=this.getNumberFromCurrency(t),r=this.getCurrencyFromNumber(i);this.insurance.setValue(r,{emitEvent:!1}),this.calculatorData.insurance=i,this.insurancePercent.setValue(this.computeInsurancePercent(),{emitEvent:!1}),this.calculatorData.monthlyPayment=this.computeMonthlyPayment(),this.updateChart()}}),this.insurancePercent.valueChanges.pipe(_r(),br(null)).subscribe({next:t=>{this.calculatorData.insurancePercent=this.validatePercentage(t),this.insurance.setValue(this.getCurrencyFromNumber(this.computeInsurance())),this.calculatorData.monthlyPayment=this.computeMonthlyPayment(),this.updateChart()}}),this.interestRate.valueChanges.subscribe({next:t=>{this.calculatorData.interestRate=t,this.calculatorData.monthlyPayment=this.computeMonthlyPayment(),this.updateChart()}}),this.term.valueChanges.subscribe({next:t=>{this.calculatorData.term=t,this.calculatorData.monthlyPayment=this.computeMonthlyPayment(),this.updateChart()}})}initTaxes(){if(this.taxes.setValue(this.getCurrencyFromNumber(this.calculatorData.taxes)),this.calculatorData.taxes)return this.taxes.setValue(this.getCurrencyFromNumber(Math.round(this.calculatorData.taxes))),void this.taxesPercent.setValue(this.computeTaxesPercent());this.state.PropertyTaxRate&&(this.taxesPercent.setValue(this.state.PropertyTaxRate),this.taxes.setValue(this.getCurrencyFromNumber(this.computeTaxes())))}initUSAInsurance(){this.insurancePercent.setValue(this.state.InsuranceRate?this.state.InsuranceRate:null),this.insurancePercent&&this.insurance.setValue(this.getCurrencyFromNumber(this.computeInsurance()))}initCanadaInsurance(){this.insurance.setValue(this.state.MonthlyInsuranceAmount?this.state.MonthlyInsuranceAmount.toString():null),this.insurance&&this.insurancePercent.setValue(this.computeInsurancePercent())}initAprPicklist(t){this.aprPickList=t,this.isCanada?(this.interestRate.setValue(Number(this.aprPickList[4].value)),this.term.setValue(25)):(this.interestRate.setValue(Number(this.aprPickList[3].value)),this.term.setValue(30))}computeDownPayment(){return this.checkValueForValidNumber((this.calculatorData.downPaymentPercent||0)/100*this.calculatorData.askingPrice)}computeDownPaymentPercent(){const t=Math.round(this.calculatorData.downPayment/this.calculatorData.askingPrice*100);return this.checkValueForValidNumber(t)}computeTaxes(){const t=Math.round((this.calculatorData.taxesPercent||0)/100*this.calculatorData.askingPrice);return this.checkValueForValidNumber(t)}computeTaxesPercent(){const t=Number((this.calculatorData.taxes/this.calculatorData.askingPrice*100).toFixed(2));return this.checkValueForValidNumber(t)}computeInsurance(){const t=Math.round((this.calculatorData.insurancePercent||0)/100*this.calculatorData.askingPrice/12);return this.checkValueForValidNumber(t)}computeInsurancePercent(){const t=Number((12*this.calculatorData.insurance/this.calculatorData.askingPrice*100).toFixed(2));return this.checkValueForValidNumber(t)}computeMonthlyMortgageCosts(){const t=Math.round(this.calculatorData.interestRate/1200*(this.calculatorData.askingPrice-this.calculatorData.downPayment)/(1-Math.pow(1+this.calculatorData.interestRate/1200,12*Number(this.calculatorData.term)*-1))*100)/100;return this.checkValueForValidNumber(t)}computeMonthlyPayment(){const t=Math.round(this.calculatorData.insurance+this.calculatorData.taxes/12),r=this.computeMonthlyMortgageCosts()+t;return this.checkValueForValidNumber(r)}checkValueForValidNumber(t){return t===this.window.nativeWindow.Infinity||this.window.nativeWindow.isNaN(t)||t<0?0:t}validatePercentage(t){return t=Number(t),isNaN(t)?0:(t=Math.abs(t))>100?100:(this.countDecimals(t)>2&&(t=Number(t.toFixed(2))),t)}countDecimals(t){return t%1!=0?t.toString().split(".")[1].length:0}getNumberFromCurrency(t){return t=""+t,Number(t.replace(/[^0-9.-]+/g,""))}getCurrencyFromNumber(t){return this.currencyPipe.transform(t,"$","code","1.0-0")}omitNonNumeric(t){return this.validationService.omitNonNumeric(t,!0)}updateChart(){this.calculatorData.monthlyMortgage=Math.round(this.computeMonthlyMortgageCosts()),this.calculatorData.monthlyTaxes=Math.round(this.calculatorData.taxes/12),this.calculatorData.monthlyInsurance=Math.round(this.calculatorData.insurance),this.chartData={labels:["Mortgage","Property Taxes","Insurance"],datasets:[{data:[this.calculatorData.monthlyMortgage,this.calculatorData.monthlyTaxes,this.calculatorData.monthlyInsurance],backgroundColor:["#0080FC","#FF6812","#B500C5"],borderWidth:0,hoverOffset:10}]},this.chartOptions.elements.center.textData[0].text=this.getCurrencyFromNumber(this.calculatorData.monthlyPayment),this.changeDetector.detectChanges()}static{this.\u0275fac=function(i){return new(i||e)(E(Im),E(B3),E(j3),E(Tt),E(Bz),E(pa),E(Og),E(t8))}}static{this.\u0275cmp=af({type:e,selectors:[["mortgage-calculator"]],viewQuery:function(i,r){if(1&i&&$p(p6,5),2&i){let o;zp(o=Wp())&&(r.doughnutChart=o.first)}},hostBindings:function(i,r){1&i&&Ae("resize",function(s){return r.onResize(s)},0,yb)},decls:7,vars:2,consts:[["doughnutChart",""],["aria-labelledby","payment-calculator-title",1,"white-box","view-mortgagecalculator-mortgagecalculatorview"],["id","payment-calculator-title",1,"mb-4","custom-font"],["tabindex","0",1,"sr-only"],["class","loading flex flex-justify-center flex-align-center p-5",4,"ngIf"],[4,"ngIf"],[1,"loading","flex","flex-justify-center","flex-align-center","p-5"],[1,"icon-ml-sync","font-size-xlarge"],["novalidate","",1,"margin-top-medium",3,"formGroup"],[1,"form-row"],[1,"col-12","col-sm-6","col-lg-12"],[1,"form-group"],["for","asking-price"],["type","text","id","asking-price","formControlName","askingPrice","maxlength","13","data-mla","pdp-mortgage-calculator-asking-price",1,"form-control",3,"keydown"],["for","down-payment-amount"],[1,"flex","split-input"],[1,"split-1"],["type","text","id","down-payment-amount","formControlName","downPayment","maxlength","13","data-mla","pdp-mortgage-calculator-down-payment",1,"form-control","flex-item-full-width",3,"keydown"],[1,"split-2"],["id","down-payment-percent","formControlName","downPaymentPercent","aria-labelledby","percentLabel","data-mla","pdp-mortgage-calculator-down-payment-percent",1,"flex-item-full-width",3,"keydown","min","max","step"],[1,"input-group-addon","flex-item-auto"],["for","taxes"],[1,"sr-only"],["type","text","id","taxes","formControlName","taxes","maxlength","10","data-mla","pdp-mortgage-calculator-taxes",1,"form-control","flex-item-full-width",3,"keydown"],[1,"input-group-addon","first-input-addon","flex-item-auto"],["id","taxes-percent","formControlName","taxesPercent","aria-labelledby","percentLabel","data-mla","pdp-mortgage-calculator-taxes-percent",1,"flex-item-full-width",3,"keydown","min","max","step"],[1,"input-group-addon","second-input-addon","flex-item-auto"],["for","insurance"],["type","text","id","insurance","formControlName","insurance","maxlength","10","data-mla","pdp-mortgage-calculator-insurance",1,"form-control","flex-item-full-width",3,"keydown"],["id","insurance-percent","formControlName","insurancePercent","aria-labelledby","percentLabel","data-mla","pdp-mortgage-calculator-insurance-percent",1,"flex-item-full-width",3,"keydown","min","max","step"],[1,"col-12"],["for","interest-rate"],["id","interest-rate","formControlName","interestRate","data-mla","pdp-mortgage-calculator-interest-rate",1,"form-control",3,"ngClass"],[3,"selected","value",4,"ngFor","ngForOf"],[1,"canadian-mortgage-term-value","form-control-static","margin-left-medium",3,"hidden"],["id","term","formControlName","term","aria-label","Term","data-mla","pdp-mortgage-calculator-term",1,"form-control",3,"ngClass","hidden"],["value","15",3,"hidden"],["value","30",3,"hidden","selected"],["value","25",3,"hidden","selected"],["aria-hidden","true",1,"row"],[1,"col"],["chartJs","",3,"type","data","options","plugins"],[1,"text-center","margin-top-base","margin-bottom-base"],[3,"selected","value"]],template:function(i,r){1&i&&(Z(0,"section",1)(1,"h6",2),Ne(2,"Payment Calculator"),Q(),Z(3,"span",3),Ne(4,"when changing selection within the following field, content on the form will automatically change"),Q(),Tc(5,y6,2,0,"div",4)(6,_6,78,33,"div",5),Q()),2&i&&(Re(5),$e("ngIf",r.isLoading),Re(),$e("ngIf",!r.isLoading))},dependencies:[XE,KE,eM,d6,VI,WI,qI,Iu,ju,wI,CI,_m,Bu,mm,h6],encapsulation:2})}}return e})(),b6=(()=>{class e{ngDoBootstrap(t){window.document.getElementById("mortgageCalculator")&&t.bootstrap(lA),(!window.ml||!window.ml.pdpSearchInterfaceService)&&console.error("Mortgage calculator requires file pdp-search-interface-service.js"),window.ml.pdpSearchInterfaceService.onContentUpdate(function(){const i=function O3(e=0,n,t=N3){let i=-1;return null!=n&&(XM(n)?t=n:i=n),new yt(r=>{let o=function P3(e){return e instanceof Date&&!isNaN(e)}(e)?+e-t.now():e;o<0&&(o=0);let s=0;return t.schedule(function(){r.closed||(r.next(s++),0<=i?this.schedule(void 0,i):r.complete())},o)})}(0,500).subscribe(()=>{window.document.getElementById("mortgageCalculator")&&(i.unsubscribe(),t.bootstrap(lA))})})}static{this.\u0275fac=function(i){return new(i||e)}}static{this.\u0275mod=$i({type:e})}static{this.\u0275inj=di({providers:[Og,v3(vr(Pi.LegacyInterceptors,[{provide:Ex,useFactory:a3},{provide:Na,useExisting:Ex,multi:!0}]))],imports:[zU,rM,jz]})}}return e})();UU().bootstrapModule(b6).catch(e=>{console.error("platformBrowserDynamic().bootstrapModule(MortgageCalculatorModule) failed."),console.error(e)})}},ts=>{ts(ts.s=240)}]);