Bundle web-ui v3.1.0a4

This commit is contained in:
grossmj committed 2026-07-09 08:40:05 +02:00
1 parent bdd73be6d6
commit d64fdd71a9
9 files changed
+136 -136

No files matched your search

@@ -1,15 +0,0 @@
var UE=Object.create;var bs=Object.defineProperty,$E=Object.defineProperties,zE=Object.getOwnPropertyDescriptor,GE=Object.getOwnPropertyDescriptors,WE=Object.getOwnPropertyNames,vs=Object.getOwnPropertySymbols,qE=Object.getPrototypeOf,Sl=Object.prototype.hasOwnProperty,$p=Object.prototype.propertyIsEnumerable;var Up=(t,n,e)=>n in t?bs(t,n,{enumerable:!0,configurable:!0,writable:!0,value:e}):t[n]=e,w=(t,n)=>{for(var e in n||={})Sl.call(n,e)&&Up(t,e,n[e]);if(vs)for(var e of vs(n))$p.call(n,e)&&Up(t,e,n[e]);return t},V=(t,n)=>$E(t,GE(n));var YE=(t,n)=>{var e={};for(var r in t)Sl.call(t,r)&&n.indexOf(r)<0&&(e[r]=t[r]);if(t!=null&&vs)for(var r of vs(t))n.indexOf(r)<0&&$p.call(t,r)&&(e[r]=t[r]);return e};var dR=(t,n)=>()=>(n||t((n={exports:{}}).exports,n),n.exports),fR=(t,n)=>{for(var e in n)bs(t,e,{get:n[e],enumerable:!0})},ZE=(t,n,e,r)=>{if(n&&typeof n=="object"||typeof n=="function")for(let o of WE(n))!Sl.call(t,o)&&o!==e&&bs(t,o,{get:()=>n[o],enumerable:!(r=zE(n,o))||r.enumerable});return t};var hR=(t,n,e)=>(e=t!=null?UE(qE(t)):{},ZE(n||!t||!t.__esModule?bs(e,"default",{value:t,enumerable:!0}):e,t));function x(t){return typeof t=="function"}function mn(t){let e=t(r=>{Error.call(r),r.stack=new Error().stack});return e.prototype=Object.create(Error.prototype),e.prototype.constructor=e,e}var _s=mn(t=>function(e){t(this),this.message=e?`${e.length} errors occurred during unsubscription:
${e.map((r,o)=>`${o+1}) ${r.toString()}`).join(`
`)}`:"",this.name="UnsubscriptionError",this.errors=e});function Bn(t,n){if(t){let e=t.indexOf(n);0<=e&&t.splice(e,1)}}var B=class t{constructor(n){this.initialTeardown=n,this.closed=!1,this._parentage=null,this._finalizers=null}unsubscribe(){let n;if(!this.closed){this.closed=!0;let{_parentage:e}=this;if(e)if(this._parentage=null,Array.isArray(e))for(let i of e)i.remove(this);else e.remove(this);let{initialTeardown:r}=this;if(x(r))try{r()}catch(i){n=i instanceof _s?i.errors:[i]}let{_finalizers:o}=this;if(o){this._finalizers=null;for(let i of o)try{zp(i)}catch(s){n=n??[],s instanceof _s?n=[...n,...s.errors]:n.push(s)}}if(n)throw new _s(n)}}add(n){var e;if(n&&n!==this)if(this.closed)zp(n);else{if(n instanceof t){if(n.closed||n._hasParent(this))return;n._addParent(this)}(this._finalizers=(e=this._finalizers)!==null&&e!==void 0?e:[]).push(n)}}_hasParent(n){let{_parentage:e}=this;return e===n||Array.isArray(e)&&e.includes(n)}_addParent(n){let{_parentage:e}=this;this._parentage=Array.isArray(e)?(e.push(n),e):e?[e,n]:n}_removeParent(n){let{_parentage:e}=this;e===n?this._parentage=null:Array.isArray(e)&&Bn(e,n)}remove(n){let{_finalizers:e}=this;e&&Bn(e,n),n instanceof t&&n._removeParent(this)}};B.EMPTY=(()=>{let t=new B;return t.closed=!0,t})();var Tl=B.EMPTY;function Ds(t){return t instanceof B||t&&"closed"in t&&x(t.remove)&&x(t.add)&&x(t.unsubscribe)}function zp(t){x(t)?t():t.unsubscribe()}var ut={onUnhandledError:null,onStoppedNotification:null,Promise:void 0,useDeprecatedSynchronousErrorHandling:!1,useDeprecatedNextContext:!1};var kr={setTimeout(t,n,...e){let{delegate:r}=kr;return r?.setTimeout?r.setTimeout(t,n,...e):setTimeout(t,n,...e)},clearTimeout(t){let{delegate:n}=kr;return(n?.clearTimeout||clearTimeout)(t)},delegate:void 0};function Es(t){kr.setTimeout(()=>{let{onUnhandledError:n}=ut;if(n)n(t);else throw t})}function Hn(){}var Gp=xl("C",void 0,void 0);function Wp(t){return xl("E",void 0,t)}function qp(t){return xl("N",t,void 0)}function xl(t,n,e){return{kind:t,value:n,error:e}}var Un=null;function Fr(t){if(ut.useDeprecatedSynchronousErrorHandling){let n=!Un;if(n&&(Un={errorThrown:!1,error:null}),t(),n){let{errorThrown:e,error:r}=Un;if(Un=null,e)throw r}}else t()}function Yp(t){ut.useDeprecatedSynchronousErrorHandling&&Un&&(Un.errorThrown=!0,Un.error=t)}var $n=class extends B{constructor(n){super(),this.isStopped=!1,n?(this.destination=n,Ds(n)&&n.add(this)):this.destination=QE}static create(n,e,r){return new dt(n,e,r)}next(n){this.isStopped?Nl(qp(n),this):this._next(n)}error(n){this.isStopped?Nl(Wp(n),this):(this.isStopped=!0,this._error(n))}complete(){this.isStopped?Nl(Gp,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()}}},KE=Function.prototype.bind;function Al(t,n){return KE.call(t,n)}var Rl=class{constructor(n){this.partialObserver=n}next(n){let{partialObserver:e}=this;if(e.next)try{e.next(n)}catch(r){ws(r)}}error(n){let{partialObserver:e}=this;if(e.error)try{e.error(n)}catch(r){ws(r)}else ws(n)}complete(){let{partialObserver:n}=this;if(n.complete)try{n.complete()}catch(e){ws(e)}}},dt=class extends $n{constructor(n,e,r){super();let o;if(x(n)||!n)o={next:n??void 0,error:e??void 0,complete:r??void 0};else{let i;this&&ut.useDeprecatedNextContext?(i=Object.create(n),i.unsubscribe=()=>this.unsubscribe(),o={next:n.next&&Al(n.next,i),error:n.error&&Al(n.error,i),complete:n.complete&&Al(n.complete,i)}):o=n}this.destination=new Rl(o)}};function ws(t){ut.useDeprecatedSynchronousErrorHandling?Yp(t):Es(t)}function XE(t){throw t}function Nl(t,n){let{onStoppedNotification:e}=ut;e&&kr.setTimeout(()=>e(t,n))}var QE={closed:!0,next:Hn,error:XE,complete:Hn};var Pr=typeof Symbol=="function"&&Symbol.observable||"@@observable";function qe(t){return t}function JE(...t){return Ol(t)}function Ol(t){return t.length===0?qe:t.length===1?t[0]:function(e){return t.reduce((r,o)=>o(r),e)}}var O=(()=>{class t{constructor(e){e&&(this._subscribe=e)}lift(e){let r=new t;return r.source=this,r.operator=e,r}subscribe(e,r,o){let i=tw(e)?e:new dt(e,r,o);return Fr(()=>{let{operator:s,source:a}=this;i.add(s?s.call(i,a):a?this._subscribe(i):this._trySubscribe(i))}),i}_trySubscribe(e){try{return this._subscribe(e)}catch(r){e.error(r)}}forEach(e,r){return r=Zp(r),new r((o,i)=>{let s=new dt({next:a=>{try{e(a)}catch(c){i(c),s.unsubscribe()}},error:i,complete:o});this.subscribe(s)})}_subscribe(e){var r;return(r=this.source)===null||r===void 0?void 0:r.subscribe(e)}[Pr](){return this}pipe(...e){return Ol(e)(this)}toPromise(e){return e=Zp(e),new e((r,o)=>{let i;this.subscribe(s=>i=s,s=>o(s),()=>r(i))})}}return t.create=n=>new t(n),t})();function Zp(t){var n;return(n=t??ut.Promise)!==null&&n!==void 0?n:Promise}function ew(t){return t&&x(t.next)&&x(t.error)&&x(t.complete)}function tw(t){return t&&tLine truncated
`);return r>=0?e.slice(0,r):e}function oa(t,n){return t?n?`${t} ${n}`:t:n||""}var Yw=Y({__forward_ref__:Y});function de(t){return t.__forward_ref__=de,t}function ye(t){return _u(t)?t():t}function _u(t){return typeof t=="function"&&t.hasOwnProperty(Yw)&&t.__forward_ref__===de}function g(t){return{token:t.token,providedIn:t.providedIn||null,factory:t.factory,value:void 0}}function W(t){return{providers:t.providers||[],imports:t.imports||[]}}function si(t){return Kw(t,ia)}function Zw(t){return si(t)!==null}function Kw(t,n){return t.hasOwnProperty(n)&&t[n]||null}function Xw(t){let n=t?.[ia]??null;return n||null}function lu(t){return t&&t.hasOwnProperty(Qs)?t[Qs]:null}var ia=Y({\u0275prov:Y}),Qs=Y({\u0275inj:Y}),y=class{_desc;ngMetadataName="InjectionToken";\u0275prov;constructor(n,e){this._desc=n,this.\u0275prov=void 0,typeof e=="number"?this.__NG_ELEMENT_ID__=e:e!==void 0&&(this.\u0275prov=g({token:this,providedIn:e.providedIn||"root",factory:e.factory}))}get multi(){return this}toString(){return`InjectionToken ${this._desc}`}};function Du(t){return t&&!!t.\u0275providers}var Eu=Y({\u0275cmp:Y}),wu=Y({\u0275dir:Y}),Cu=Y({\u0275pipe:Y}),Iu=Y({\u0275mod:Y}),ei=Y({\u0275fac:Y}),rr=Y({__NG_ELEMENT_ID__:Y}),Fm=Y({__NG_ENV_ID__:Y});function Mu(t){return aa(t,"@NgModule"),t[Iu]||null}function kt(t){return aa(t,"@Component"),t[Eu]||null}function sa(t){return aa(t,"@Directive"),t[wu]||null}function Bm(t){return aa(t,"@Pipe"),t[Cu]||null}function aa(t,n){if(t==null)throw new v(-919,!1)}function Ft(t){return typeof t=="string"?t:t==null?"":String(t)}var Hm=Y({ngErrorCode:Y}),Qw=Y({ngErrorMessage:Y}),Jw=Y({ngTokenPath:Y});function Su(t,n){return Um("",-200,n)}function ca(t,n){throw new v(-201,!1)}function Um(t,n,e){let r=new v(n,t);return r[Hm]=n,r[Qw]=t,e&&(r[Jw]=e),r}function eC(t){return t[Hm]}var uu;function $m(){return uu}function Oe(t){let n=uu;return uu=t,n}function Tu(t,n,e){let r=si(t);if(r&&r.providedIn=="root")return r.value===void 0?r.value=r.factory():r.value;if(e&8)return null;if(n!==void 0)return n;ca(t,"")}var tC={},Jn=tC,nC="__NG_DI_FLAG__",du=class{injector;constructor(n){this.injector=n}retrieve(n,e){let r=er(e)||0;try{return this.injector.get(n,r&8?null:Jn,r)}catch(o){if(qr(o))return o;throw o}}};function rC(t,n=0){let e=Ks();if(e===void 0)throw new v(-203,!1);if(e===null)return Tu(t,void 0,n);{let r=oC(n),o=e.retrieve(t,r);if(qr(o)){if(r.optional)return null;throw o}return o}}function I(t,n=0){return($m()||rC)(ye(t),n)}function f(t,n){return I(t,er(n))}function er(t){return typeof t>"u"||typeof t=="number"?t:0|(t.optional&&8)|(t.host&&1)|(t.self&&2)|(t.skipSelf&&4)}function oC(t){return{optional:!!(t&8),host:!!(t&1),self:!!(t&2),skipSelf:!!(t&4)}}function fu(t){let n=[];for(let e=0;e<t.length;e++){let r=ye(t[e]);if(Array.isArray(r)){if(r.length===0)throw new v(900,!1);let o,i=0;for(let s=0;s<r.length;s++){let a=r[s],c=iC(a);typeof c=="number"?c===-1?o=a.token:i|=c:o=a}n.push(I(o,i))}else n.push(I(r))}return n}function iC(t){return t[nC]}function Cn(t,n){let e=t.hasOwnProperty(ei);return e?t[ei]:null}function zm(t,n,e){if(t.length!==n.length)return!1;for(let r=0;r<t.length;r++){let o=t[r],i=n[r];if(e&&(o=e(o),i=e(i)),i!==o)return!1}return!0}function Gm(t){return t.flat(Number.POSITIVE_INFINITY)}function la(t,n){t.forEach(e=>Array.isArray(e)?la(e,n):n(e))}function xu(t,n,e){n>=t.length?t.push(e):t.splice(n,0,e)}function ai(t,n){return n>=t.length-1?t.pop():t.splice(n,1)[0]}function Wm(t,n){let e=[];for(let r=0;r<t;r++)e.push(n);return e}function qm(t,n,e,r){let o=t.length;if(o==n)t.push(e,r);else if(o===1)t.push(r,t[0]),t[0]=e;else{for(o--,t.push(t[o-1],t[o]);o>n;){let i=o-2;t[o]=t[i],o--}t[n]=e,t[n+1]=r}}function ua(t,n,e){let r=Zr(t,n);return r>=0?t[r|1]=e:(r=~r,qm(t,r,n,e)),r}function da(t,n){let e=Zr(t,n);if(e>=0)return t[e|1]}function Zr(t,n){return sC(t,n,1)}function sC(t,n,e){let r=0,o=t.length>>e;for(;o!==r;){let i=r+(o-r>>1),s=t[i<<e];if(n===s)return i<<e;s>n?o=i:r=i+1}return~(o<<e)}var mt={},Se=[],Kr=new y(""),Au=new y("",-1),Nu=new y(""),ti=class{get(n,e=Jn){if(e===Jn){let o=Um("",-201);throw o.name="\u0275NotFound",o}return e}};function or(t){return{\u0275providers:t}}function Ym(...t){return{\u0275providers:Ru(!0,t),\u0275fromNgModule:!0}}function Ru(t,...n){let e=[],r=new Set,o,i=s=>{e.push(s)};return la(n,s=>{let a=s;Js(a,i,[],r)&&(o||=[],o.push(a))}),o!==void 0&&Zm(o,i),e}function Zm(t,n){for(let e=0;e<t.length;e++){let{ngModule:r,providers:o}=t[e];Ou(o,i=>{n(i,r)})}}function Js(t,n,e,r){if(t=ye(t),!t)return!1;let o=null,i=lu(t),s=!i&&kt(t);if(!i&&!s){let c=t.ngModule;if(i=lu(c),i)o=c;else return!1}else{if(s&&!s.standalone)return!1;o=t}let a=r.has(o);if(s){if(a)return!1;if(r.add(o),s.dependencies){let c=typeof s.dependencies=="function"?s.dependencies():s.dependencies;for(let l of c)Js(l,n,e,r)}}else if(i){if(i.imports!=null&&!a){r.add(o);let l;la(i.imports,u=>{Js(u,n,e,r)&&(l||=[],l.push(u))}),l!==void 0&&Zm(l,n)}if(!a){let l=Cn(o)||(()=>new o);n({provide:o,useFactory:l,deps:Se},o),n({ Line truncated
`).forEach(e=>{let r=e.indexOf(":");if(r>0){let o=e.slice(0,r),i=e.slice(r+1).trim();this.addHeaderEntry(o,i)}})}:typeof Headers<"u"&&n instanceof Headers?(this.headers=new Map,n.forEach((e,r)=>{this.addHeaderEntry(r,e)})):this.lazyInit=()=>{this.headers=new Map,Object.entries(n).forEach(([e,r])=>{this.setHeaderEntries(e,r)})}:this.headers=new Map}has(n){return this.init(),this.headers.has(n.toLowerCase())}get(n){this.init();let e=this.headers.get(n.toLowerCase());return e&&e.length>0?e[0]:null}keys(){return this.init(),Array.from(this.normalizedNames.values())}getAll(n){return this.init(),this.headers.get(n.toLowerCase())||null}append(n,e){return this.clone({name:n,value:e,op:"a"})}set(n,e){return this.clone({name:n,value:e,op:"s"})}delete(n,e){return this.clone({name:n,value:e,op:"d"})}maybeSetNormalizedName(n,e){this.normalizedNames.has(e)||this.normalizedNames.set(e,n)}init(){this.lazyInit&&(this.lazyInit instanceof t?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(e=>{this.headers.set(e,n.headers.get(e)),this.normalizedNames.set(e,n.normalizedNames.get(e))})}clone(n){let e=new t;return e.lazyInit=this.lazyInit&&this.lazyInit instanceof t?this.lazyInit:this,e.lazyUpdate=(this.lazyUpdate||[]).concat([n]),e}applyUpdate(n){let e=n.name.toLowerCase();switch(n.op){case"a":case"s":let r=n.value;if(typeof r=="string"&&(r=[r]),r.length===0)return;this.maybeSetNormalizedName(n.name,e);let o=(n.op==="a"?this.headers.get(e):void 0)||[];o.push(...r),this.headers.set(e,o);break;case"d":let i=n.value;if(!i)this.headers.delete(e),this.normalizedNames.delete(e);else{let s=this.headers.get(e);if(!s)return;s=s.filter(a=>i.indexOf(a)===-1),s.length===0?(this.headers.delete(e),this.normalizedNames.delete(e)):this.headers.set(e,s)}break}}addHeaderEntry(n,e){let r=n.toLowerCase();this.maybeSetNormalizedName(n,r),this.headers.has(r)?this.headers.get(r).push(e):this.headers.set(r,[e])}setHeaderEntries(n,e){let r=(Array.isArray(e)?e:[e]).map(i=>i.toString()),o=n.toLowerCase();this.headers.set(o,r),this.maybeSetNormalizedName(n,o)}forEach(n){this.init(),Array.from(this.normalizedNames.keys()).forEach(e=>n(this.normalizedNames.get(e),this.headers.get(e)))}};var jc=class{map=new Map;set(n,e){return this.map.set(n,e),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()}},Bc=class{encodeKey(n){return j_(n)}encodeValue(n){return j_(n)}decodeKey(n){return decodeURIComponent(n)}decodeValue(n){return decodeURIComponent(n)}};function jx(t,n){let e=new Map;return t.length>0&&t.replace(/^\?/,"").split("&").forEach(o=>{let i=o.indexOf("="),[s,a]=i==-1?[n.decodeKey(o),""]:[n.decodeKey(o.slice(0,i)),n.decodeValue(o.slice(i+1))],c=e.get(s)||[];c.push(a),e.set(s,c)}),e}var Bx=/%(\d[a-f0-9])/gi,Hx={40:"@","3A":":",24:"$","2C":",","3B":";","3D":"=","3F":"?","2F":"/"};function j_(t){return encodeURIComponent(t).replace(Bx,(n,e)=>Hx[e]??n)}function Vc(t){return`${t}`}var fn=class t{map;encoder;updates=null;cloneFrom=null;constructor(n={}){if(this.encoder=n.encoder||new Bc,n.fromString){if(n.fromObject)throw new v(2805,!1);this.map=jx(n.fromString,this.encoder)}else n.fromObject?(this.map=new Map,Object.keys(n.fromObject).forEach(e=>{let r=n.fromObject[e],o=Array.isArray(r)?r.map(Vc):[Vc(r)];this.map.set(e,o)})):this.map=null}has(n){return this.init(),this.map.has(n)}get(n){this.init();let e=this.map.get(n);return e?e[0]:null}getAll(n){return this.init(),this.map.get(n)||null}keys(){return this.init(),Array.from(this.map.keys())}append(n,e){return this.clone({param:n,value:e,op:"a"})}appendAll(n){let e=[];return Object.keys(n).forEach(r=>{let o=n[r];Array.isArray(o)?o.forEach(i=>{e.push({param:r,value:i,op:"a"})}):e.push({param:r,value:o,op:"a"})}),this.clone(e)}set(n,e){return this.clone({param:n,value:e,op:"s"})}delete(n,e){return this.clone({param:n,value:e,op:"d"})}toString(){return this.init(),this.keys().map(n=>{let e=this.encoder.encodeKey(n);return this.map.get(n).map(r=>e+"="+this.encoder.encodeValue(r)).join("&")}).filter(n=>n!=="").join("&")}clone(n){let e=new t({encoder:this.encoder});return e.cloneFrom=this.cloneFrom||this,e.updates=(this.updates||[]).concat(n),e}init(){this.map===null&&(this.map=new Map),this.cloneFrom!==null&&(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":let e=(n.op==="a"?this.map.get(n.param):void 0)||[];e.push(Vc(n.value)),this.map.set(n.param,e);break;case"d":if(n.value!==void 0){let r=this.map.get(n.param)||[],o=r.indexOf(Vc(n.value));o!==-1&&r.splice(o,1),r.length>0?this.map.set(n.param,r):this.map.delete(n.param)}else{this.map.delete(n.param);break}}}),this.cloneFrom=this.updates=null)}};function Ux(t){switch(t){cas Line truncated
`],encapsulation:2,changeDetection:0})}return t})(),qc;function hA(){if(qc===void 0&&(qc=null,typeof window<"u")){let t=window;t.trustedTypes!==void 0&&(qc=t.trustedTypes.createPolicy("angular#components",{createHTML:n=>n}))}return qc}function pA(t){return hA()?.createHTML(t)||t}function cD(t,n,e){let r=e.sanitize($e.HTML,n);t.innerHTML=pA(r||"")}function Mr(t){return Array.isArray(t)?t:[t]}var lD=new Set,Sr,Zc=(()=>{class t{_platform=f(oe);_nonce=f(yo,{optional:!0});_matchMedia;constructor(){this._matchMedia=this._platform.isBrowser&&window.matchMedia?window.matchMedia.bind(window):gA}matchMedia(e){return(this._platform.WEBKIT||this._platform.BLINK)&&mA(e,this._nonce),this._matchMedia(e)}static \u0275fac=function(r){return new(r||t)};static \u0275prov=g({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();function mA(t,n){if(!lD.has(t))try{Sr||(Sr=document.createElement("style"),n&&Sr.setAttribute("nonce",n),Sr.setAttribute("type","text/css"),document.head.appendChild(Sr)),Sr.sheet&&(Sr.sheet.insertRule(`@media ${t} {body{ }}`,0),lD.add(t))}catch(e){console.error(e)}}function gA(t){return{matches:t==="all"||t==="",media:t,addListener:()=>{},removeListener:()=>{}}}var qh=(()=>{class t{_mediaMatcher=f(Zc);_zone=f(P);_queries=new Map;_destroySubject=new N;constructor(){}ngOnDestroy(){this._destroySubject.next(),this._destroySubject.complete()}isMatched(e){return uD(Mr(e)).some(o=>this._registerQuery(o).mql.matches)}observe(e){let o=uD(Mr(e)).map(s=>this._registerQuery(s).observable),i=Hl(o);return i=bn(i.pipe(pt(1)),i.pipe(qo(1),Zn(0))),i.pipe(re(s=>{let a={matches:!1,breakpoints:{}};return s.forEach(({matches:c,query:l})=>{a.matches=a.matches||c,a.breakpoints[l]=c}),a}))}_registerQuery(e){if(this._queries.has(e))return this._queries.get(e);let r=this._mediaMatcher.matchMedia(e),i={observable:new O(s=>{let a=c=>this._zone.run(()=>s.next(c));return r.addListener(a),()=>{r.removeListener(a)}}).pipe(Yo(r),re(({matches:s})=>({query:e,matches:s})),qt(this._destroySubject)),mql:r};return this._queries.set(e,i),i}static \u0275fac=function(r){return new(r||t)};static \u0275prov=g({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();function uD(t){return t.map(n=>n.split(",")).reduce((n,e)=>n.concat(e)).map(n=>n.trim())}function yA(t){if(t.type==="characterData"&&t.target instanceof Comment)return!0;if(t.type==="childList"){for(let n=0;n<t.addedNodes.length;n++)if(!(t.addedNodes[n]instanceof Comment))return!1;for(let n=0;n<t.removedNodes.length;n++)if(!(t.removedNodes[n]instanceof Comment))return!1;return!0}return!1}var dD=(()=>{class t{create(e){return typeof MutationObserver>"u"?null:new MutationObserver(e)}static \u0275fac=function(r){return new(r||t)};static \u0275prov=g({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),fD=(()=>{class t{_mutationObserverFactory=f(dD);_observedElements=new Map;_ngZone=f(P);constructor(){}ngOnDestroy(){this._observedElements.forEach((e,r)=>this._cleanupObserver(r))}observe(e){let r=at(e);return new O(o=>{let s=this._observeElement(r).pipe(re(a=>a.filter(c=>!yA(c))),we(a=>!!a.length)).subscribe(a=>{this._ngZone.run(()=>{o.next(a)})});return()=>{s.unsubscribe(),this._unobserveElement(r)}})}_observeElement(e){return this._ngZone.runOutsideAngular(()=>{if(this._observedElements.has(e))this._observedElements.get(e).count++;else{let r=new N,o=this._mutationObserverFactory.create(i=>r.next(i));o&&o.observe(e,{characterData:!0,childList:!0,subtree:!0}),this._observedElements.set(e,{observer:o,stream:r,count:1})}return this._observedElements.get(e).stream})}_unobserveElement(e){this._observedElements.has(e)&&(this._observedElements.get(e).count--,this._observedElements.get(e).count||this._cleanupObserver(e))}_cleanupObserver(e){if(this._observedElements.has(e)){let{observer:r,stream:o}=this._observedElements.get(e);r&&r.disconnect(),o.complete(),this._observedElements.delete(e)}}static \u0275fac=function(r){return new(r||t)};static \u0275prov=g({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),N4=(()=>{class t{_contentObserver=f(fD);_elementRef=f(H);event=new U;get disabled(){return this._disabled}set disabled(e){this._disabled=e,this._disabled?this._unsubscribe():this._subscribe()}_disabled=!1;get debounce(){return this._debounce}set debounce(e){this._debounce=Ir(e),this._subscribe()}_debounce;_currentSubscription=null;constructor(){}ngAfterContentInit(){!this._currentSubscription&&!this.disabled&&this._subscribe()}ngOnDestroy(){this._unsubscribe()}_subscribe(){this._unsubscribe();let e=this._contentObserver.observe(this._elementRef);this._currentSubscription=(this.debounce?e.pipe(Zn(this.debounce)):e).subscribe(this.event)}_unsubscribe(){this._currentSubscription?.unsubscribe()}static \u0275fac=function(r){return new(r||t)};static \u0275dir=T({type:t,selectors:[["","cdkObserveContent",""]],inputs:{disabled:[2,"cdkObserveContentDisabled","disabled",ce],debounce:"debounce"},outputs:{event:"cdkObserveContent"},exportAs:["cdkObserveContent"]})}return Line truncated
`],encapsulation:2,changeDetection:0})}return t})(),is=class t{_target;_ngZone;_platform;_containerElement;_triggerElement=null;_isPointerDown=!1;_activeRipples=new Map;_mostRecentTransientRipple=null;_lastTouchStartEvent;_pointerUpEventsRegistered=!1;_containerRect=null;static _eventManager=new ip;constructor(n,e,r,o,i){this._target=n,this._ngZone=e,this._platform=o,o.isBrowser&&(this._containerElement=at(r)),i&&i.get(ct).load(jA)}fadeInRipple(n,e,r={}){let o=this._containerRect=this._containerRect||this._containerElement.getBoundingClientRect(),i=w(w({},os),r.animation);r.centered&&(n=o.left+o.width/2,e=o.top+o.height/2);let s=r.radius||BA(n,e,o),a=n-o.left,c=e-o.top,l=i.enterDuration,u=document.createElement("div");u.classList.add("mat-ripple-element"),u.style.left=`${a-s}px`,u.style.top=`${c-s}px`,u.style.height=`${s*2}px`,u.style.width=`${s*2}px`,r.color!=null&&(u.style.backgroundColor=r.color),u.style.transitionDuration=`${l}ms`,this._containerElement.appendChild(u);let d=window.getComputedStyle(u),p=d.transitionProperty,h=d.transitionDuration,m=p==="none"||h==="0s"||h==="0s, 0s"||o.width===0&&o.height===0,b=new op(this,u,r,m);u.style.transform="scale3d(1, 1, 1)",b.state=lt.FADING_IN,r.persistent||(this._mostRecentTransientRipple=b);let _=null;return!m&&(l||i.exitDuration)&&this._ngZone.runOutsideAngular(()=>{let C=()=>{_&&(_.fallbackTimer=null),clearTimeout(We),this._finishRippleTransition(b)},ne=()=>this._destroyRipple(b),We=setTimeout(ne,l+100);u.addEventListener("transitionend",C),u.addEventListener("transitioncancel",ne),_={onTransitionEnd:C,onTransitionCancel:ne,fallbackTimer:We}}),this._activeRipples.set(b,_),(m||!l)&&this._finishRippleTransition(b),b}fadeOutRipple(n){if(n.state===lt.FADING_OUT||n.state===lt.HIDDEN)return;let e=n.element,r=w(w({},os),n.config.animation);e.style.transitionDuration=`${r.exitDuration}ms`,e.style.opacity="0",n.state=lt.FADING_OUT,(n._animationForciblyDisabledThroughCss||!r.exitDuration)&&this._finishRippleTransition(n)}fadeOutAll(){this._getActiveRipples().forEach(n=>n.fadeOut())}fadeOutAllNonPersistent(){this._getActiveRipples().forEach(n=>{n.config.persistent||n.fadeOut()})}setupTriggerEvents(n){let e=at(n);!this._platform.isBrowser||!e||e===this._triggerElement||(this._removeTriggerEvents(),this._triggerElement=e,TD.forEach(r=>{t._eventManager.addHandler(this._ngZone,r,e,this)}))}handleEvent(n){n.type==="mousedown"?this._onMousedown(n):n.type==="touchstart"?this._onTouchStart(n):this._onPointerUp(),this._pointerUpEventsRegistered||(this._ngZone.runOutsideAngular(()=>{xD.forEach(e=>{this._triggerElement.addEventListener(e,this,SD)})}),this._pointerUpEventsRegistered=!0)}_finishRippleTransition(n){n.state===lt.FADING_IN?this._startFadeOutTransition(n):n.state===lt.FADING_OUT&&this._destroyRipple(n)}_startFadeOutTransition(n){let e=n===this._mostRecentTransientRipple,{persistent:r}=n.config;n.state=lt.VISIBLE,!r&&(!e||!this._isPointerDown)&&n.fadeOut()}_destroyRipple(n){let e=this._activeRipples.get(n)??null;this._activeRipples.delete(n),this._activeRipples.size||(this._containerRect=null),n===this._mostRecentTransientRipple&&(this._mostRecentTransientRipple=null),n.state=lt.HIDDEN,e!==null&&(n.element.removeEventListener("transitionend",e.onTransitionEnd),n.element.removeEventListener("transitioncancel",e.onTransitionCancel),e.fallbackTimer!==null&&clearTimeout(e.fallbackTimer)),n.element.remove()}_onMousedown(n){let e=Ji(n),r=this._lastTouchStartEvent&&Date.now()<this._lastTouchStartEvent+VA;!this._target.rippleDisabled&&!e&&!r&&(this._isPointerDown=!0,this.fadeInRipple(n.clientX,n.clientY,this._target.rippleConfig))}_onTouchStart(n){if(!this._target.rippleDisabled&&!es(n)){this._lastTouchStartEvent=Date.now(),this._isPointerDown=!0;let e=n.changedTouches;if(e)for(let r=0;r<e.length;r++)this.fadeInRipple(e[r].clientX,e[r].clientY,this._target.rippleConfig)}}_onPointerUp(){this._isPointerDown&&(this._isPointerDown=!1,this._getActiveRipples().forEach(n=>{let e=n.state===lt.VISIBLE||n.config.terminateOnPointerUp&&n.state===lt.FADING_IN;!n.config.persistent&&e&&n.fadeOut()}))}_getActiveRipples(){return Array.from(this._activeRipples.keys())}_removeTriggerEvents(){let n=this._triggerElement;n&&(TD.forEach(e=>t._eventManager.removeHandler(e,n,this)),this._pointerUpEventsRegistered&&(xD.forEach(e=>n.removeEventListener(e,this,SD)),this._pointerUpEventsRegistered=!1))}};function BA(t,n,e){let r=Math.max(Math.abs(t-e.left),Math.abs(t-e.right)),o=Math.max(Math.abs(n-e.top),Math.abs(n-e.bottom));return Math.sqrt(r*r+o*o)}var sp=new y("mat-ripple-global-options"),_q=(()=>{class t{_elementRef=f(H);_animationsDisabled=Ln();color;unbounded=!1;centered=!1;radius=0;animation;get disabled(){return this._disabled}set disabled(e){e&&this.fadeOutAllNonPersistent(),this._disabled=e,this._setupTriggerEventsIfEnabled()}_disabled=!1;get trigger(){return this._trigger||this._elementRef.nativeElement}set trigger(e){this._trigger=e,this._setupTriggerEventsIfEnabled()}_trigger;_rippleRender Line truncated
`],encapsulation:2,changeDetection:0})}return t})();var $A=["mat-icon-button",""],zA=["*"],GA=new y("MAT_BUTTON_CONFIG");function OD(t){return t==null?void 0:ph(t)}var lp=(()=>{class t{_elementRef=f(H);_ngZone=f(P);_animationsDisabled=Ln();_config=f(GA,{optional:!0});_focusMonitor=f(Gc);_cleanupClick;_renderer=f(Ne);_rippleLoader=f(ND);_isAnchor;_isFab=!1;color;get disableRipple(){return this._disableRipple}set disableRipple(e){this._disableRipple=e,this._updateRippleDisabled()}_disableRipple=!1;get disabled(){return this._disabled}set disabled(e){this._disabled=e,this._updateRippleDisabled()}_disabled=!1;ariaDisabled;disabledInteractive;tabIndex;set _tabindex(e){this.tabIndex=e}constructor(){f(ct).load(RD);let e=this._elementRef.nativeElement;this._isAnchor=e.tagName==="A",this.disabledInteractive=this._config?.disabledInteractive??!1,this.color=this._config?.color??null,this._rippleLoader?.configureRipple(e,{className:"mat-mdc-button-ripple"})}ngAfterViewInit(){this._focusMonitor.monitor(this._elementRef,!0),this._isAnchor&&this._setupAsAnchor()}ngOnDestroy(){this._cleanupClick?.(),this._focusMonitor.stopMonitoring(this._elementRef),this._rippleLoader?.destroyRipple(this._elementRef.nativeElement)}focus(e="program",r){e?this._focusMonitor.focusVia(this._elementRef.nativeElement,e,r):this._elementRef.nativeElement.focus(r)}_getAriaDisabled(){return this.ariaDisabled!=null?this.ariaDisabled:this._isAnchor?this.disabled||null:this.disabled&&this.disabledInteractive?!0:null}_getDisabledAttribute(){return this.disabledInteractive||!this.disabled?null:!0}_updateRippleDisabled(){this._rippleLoader?.setDisabled(this._elementRef.nativeElement,this.disableRipple||this.disabled)}_getTabIndex(){return this._isAnchor?this.disabled&&!this.disabledInteractive?-1:this.tabIndex:this.tabIndex}_setupAsAnchor(){this._cleanupClick=this._ngZone.runOutsideAngular(()=>this._renderer.listen(this._elementRef.nativeElement,"click",e=>{this.disabled&&(e.preventDefault(),e.stopImmediatePropagation())}))}static \u0275fac=function(r){return new(r||t)};static \u0275dir=T({type:t,hostAttrs:[1,"mat-mdc-button-base"],hostVars:13,hostBindings:function(r,o){r&2&&(an("disabled",o._getDisabledAttribute())("aria-disabled",o._getAriaDisabled())("tabindex",o._getTabIndex()),Xf(o.color?"mat-"+o.color:""),Pe("mat-mdc-button-disabled",o.disabled)("mat-mdc-button-disabled-interactive",o.disabledInteractive)("mat-unthemed",!o.color)("_mat-animation-noopable",o._animationsDisabled))},inputs:{color:"color",disableRipple:[2,"disableRipple","disableRipple",ce],disabled:[2,"disabled","disabled",ce],ariaDisabled:[2,"aria-disabled","ariaDisabled",ce],disabledInteractive:[2,"disabledInteractive","disabledInteractive",ce],tabIndex:[2,"tabIndex","tabIndex",OD],_tabindex:[2,"tabindex","_tabindex",OD]}})}return t})(),WA=(()=>{class t extends lp{constructor(){super(),this._rippleLoader.configureRipple(this._elementRef.nativeElement,{centered:!0})}static \u0275fac=function(r){return new(r||t)};static \u0275cmp=Ce({type:t,selectors:[["button","mat-icon-button",""],["a","mat-icon-button",""],["button","matIconButton",""],["a","matIconButton",""]],hostAttrs:[1,"mdc-icon-button","mat-mdc-icon-button"],exportAs:["matButton","matAnchor"],features:[G],attrs:$A,ngContentSelectors:zA,decls:4,vars:0,consts:[[1,"mat-mdc-button-persistent-ripple","mdc-icon-button__ripple"],[1,"mat-focus-indicator"],[1,"mat-mdc-button-touch-target"]],template:function(r,o){r&1&&(Dr(),$t(0,"span",0),ln(1),$t(2,"span",1)(3,"span",2))},styles:[`.mat-mdc-icon-button{-webkit-user-select:none;user-select:none;display:inline-block;position:relative;box-sizing:border-box;border:none;outline:none;background-color:rgba(0,0,0,0);fill:currentColor;text-decoration:none;cursor:pointer;z-index:0;overflow:visible;border-radius:var(--mat-icon-button-container-shape, var(--mat-sys-corner-full, 50%));flex-shrink:0;text-align:center;width:var(--mat-icon-button-state-layer-size, 40px);height:var(--mat-icon-button-state-layer-size, 40px);padding:calc(calc(var(--mat-icon-button-state-layer-size, 40px) - var(--mat-icon-button-icon-size, 24px)) / 2);font-size:var(--mat-icon-button-icon-size, 24px);color:var(--mat-icon-button-icon-color, var(--mat-sys-on-surface-variant));-webkit-tap-highlight-color:rgba(0,0,0,0)}.mat-mdc-icon-button .mat-mdc-button-ripple,.mat-mdc-icon-button .mat-mdc-button-persistent-ripple,.mat-mdc-icon-button .mat-mdc-button-persistent-ripple::before{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none;border-radius:inherit}.mat-mdc-icon-button .mat-mdc-button-ripple{overflow:hidden}.mat-mdc-icon-button .mat-mdc-button-persistent-ripple::before{content:"";opacity:0}.mat-mdc-icon-button .mdc-button__label,.mat-mdc-icon-button .mat-icon{z-index:1;position:relative}.mat-mdc-icon-button .mat-focus-indicator{top:0;left:0;right:0;bottom:0;position:absolute;border-radius:inherit}.mat-mdc-icon-button:focus-visible>.mat-focus-indicator::before{content:"";border-radius:inherit}.mat-mdc-icon-bLine truncated
`,`@media(forced-colors: active){.mat-mdc-button:not(.mdc-button--outlined),.mat-mdc-unelevated-button:not(.mdc-button--outlined),.mat-mdc-raised-button:not(.mdc-button--outlined),.mat-mdc-outlined-button:not(.mdc-button--outlined),.mat-mdc-button-base.mat-tonal-button,.mat-mdc-icon-button.mat-mdc-icon-button,.mat-mdc-outlined-button .mdc-button__ripple{outline:solid 1px}}
`],encapsulation:2,changeDetection:0})}return t})();var qA=new y("cdk-dir-doc",{providedIn:"root",factory:()=>f(F)}),YA=/^(ar|ckb|dv|he|iw|fa|nqo|ps|sd|ug|ur|yi|.*[-_](Adlm|Arab|Hebr|Nkoo|Rohg|Thaa))(?!.*[-_](Latn|Cyrl)($|-|_))($|-|_)/i;function kD(t){let n=t?.toLowerCase()||"";return n==="auto"&&typeof navigator<"u"&&navigator?.language?YA.test(navigator.language)?"rtl":"ltr":n==="rtl"?"rtl":"ltr"}var Ao=(()=>{class t{get value(){return this.valueSignal()}valueSignal=be("ltr");change=new U;constructor(){let e=f(qA,{optional:!0});if(e){let r=e.body?e.body.dir:null,o=e.documentElement?e.documentElement.dir:null;this.valueSignal.set(kD(r||o||"ltr"))}}ngOnDestroy(){this.change.complete()}static \u0275fac=function(r){return new(r||t)};static \u0275prov=g({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();var hn=(()=>{class t{static \u0275fac=function(r){return new(r||t)};static \u0275mod=K({type:t});static \u0275inj=W({})}return t})();var FD=(()=>{class t{static \u0275fac=function(r){return new(r||t)};static \u0275mod=K({type:t});static \u0275inj=W({imports:[hn]})}return t})();var ZA=["matButton",""],KA=[[["",8,"material-icons",3,"iconPositionEnd",""],["mat-icon",3,"iconPositionEnd",""],["","matButtonIcon","",3,"iconPositionEnd",""]],"*",[["","iconPositionEnd","",8,"material-icons"],["mat-icon","iconPositionEnd",""],["","matButtonIcon","","iconPositionEnd",""]]],XA=[".material-icons:not([iconPositionEnd]), mat-icon:not([iconPositionEnd]), [matButtonIcon]:not([iconPositionEnd])","*",".material-icons[iconPositionEnd], mat-icon[iconPositionEnd], [matButtonIcon][iconPositionEnd]"];var PD=new Map([["text",["mat-mdc-button"]],["filled",["mdc-button--unelevated","mat-mdc-unelevated-button"]],["elevated",["mdc-button--raised","mat-mdc-raised-button"]],["outlined",["mdc-button--outlined","mat-mdc-outlined-button"]],["tonal",["mat-tonal-button"]]]),Qq=(()=>{class t extends lp{get appearance(){return this._appearance}set appearance(e){this.setAppearance(e||this._config?.defaultAppearance||"text")}_appearance=null;constructor(){super();let e=QA(this._elementRef.nativeElement);e&&this.setAppearance(e)}setAppearance(e){if(e===this._appearance)return;let r=this._elementRef.nativeElement.classList,o=this._appearance?PD.get(this._appearance):null,i=PD.get(e);o&&r.remove(...o),r.add(...i),this._appearance=e}static \u0275fac=function(r){return new(r||t)};static \u0275cmp=Ce({type:t,selectors:[["button","matButton",""],["a","matButton",""],["button","mat-button",""],["button","mat-raised-button",""],["button","mat-flat-button",""],["button","mat-stroked-button",""],["a","mat-button",""],["a","mat-raised-button",""],["a","mat-flat-button",""],["a","mat-stroked-button",""]],hostAttrs:[1,"mdc-button"],inputs:{appearance:[0,"matButton","appearance"]},exportAs:["matButton","matAnchor"],features:[G],attrs:ZA,ngContentSelectors:XA,decls:7,vars:4,consts:[[1,"mat-mdc-button-persistent-ripple"],[1,"mdc-button__label"],[1,"mat-focus-indicator"],[1,"mat-mdc-button-touch-target"]],template:function(r,o){r&1&&(Dr(KA),$t(0,"span",0),ln(1),br(2,"span",1),ln(3,1),_r(),ln(4,2),$t(5,"span",2)(6,"span",3)),r&2&&Pe("mdc-button__ripple",!o._isFab)("mdc-fab__ripple",o._isFab)},styles:[`.mat-mdc-button-base{text-decoration:none}.mat-mdc-button-base .mat-icon{min-height:fit-content;flex-shrink:0}@media(hover: none){.mat-mdc-button-base:hover>span.mat-mdc-button-persistent-ripple::before{opacity:0}}.mdc-button{-webkit-user-select:none;user-select:none;position:relative;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;min-width:64px;border:none;outline:none;line-height:inherit;-webkit-appearance:none;overflow:visible;vertical-align:middle;background:rgba(0,0,0,0);padding:0 8px}.mdc-button::-moz-focus-inner{padding:0;border:0}.mdc-button:active{outline:none}.mdc-button:hover{cursor:pointer}.mdc-button:disabled{cursor:default;pointer-events:none}.mdc-button[hidden]{display:none}.mdc-button .mdc-button__label{position:relative}.mat-mdc-button{padding:0 var(--mat-button-text-horizontal-padding, 12px);height:var(--mat-button-text-container-height, 40px);font-family:var(--mat-button-text-label-text-font, var(--mat-sys-label-large-font));font-size:var(--mat-button-text-label-text-size, var(--mat-sys-label-large-size));letter-spacing:var(--mat-button-text-label-text-tracking, var(--mat-sys-label-large-tracking));text-transform:var(--mat-button-text-label-text-transform);font-weight:var(--mat-button-text-label-text-weight, var(--mat-sys-label-large-weight))}.mat-mdc-button,.mat-mdc-button .mdc-button__ripple{border-radius:var(--mat-button-text-container-shape, var(--mat-sys-corner-full))}.mat-mdc-button:not(:disabled){color:var(--mat-button-text-label-text-color, var(--mat-sys-primary))}.mat-mdc-button[disabled],.mat-mdc-button.mat-mdc-button-disabled{cursor:default;pointer-events:none;color:var(--mat-button-text-disabled-label-text-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent))}.mat-mdc-button.mLine truncated
`,`@media(forced-colors: active){.mat-mdc-button:not(.mdc-button--outlined),.mat-mdc-unelevated-button:not(.mdc-button--outlined),.mat-mdc-raised-button:not(.mdc-button--outlined),.mat-mdc-outlined-button:not(.mdc-button--outlined),.mat-mdc-button-base.mat-tonal-button,.mat-mdc-icon-button.mat-mdc-icon-button,.mat-mdc-outlined-button .mdc-button__ripple{outline:solid 1px}}
`],encapsulation:2,changeDetection:0})}return t})();function QA(t){return t.hasAttribute("mat-raised-button")?"elevated":t.hasAttribute("mat-stroked-button")?"outlined":t.hasAttribute("mat-flat-button")?"filled":t.hasAttribute("mat-button")?"text":null}var Jq=(()=>{class t{static \u0275fac=function(r){return new(r||t)};static \u0275mod=K({type:t});static \u0275inj=W({imports:[FD,hn]})}return t})();var nl={production:!0,electron:!1,githubio:!1,solarputty_download_url:"",current_version:"v3",compute_id:"local"};var ss=class{};function JA(t){return t&&typeof t.connect=="function"&&!(t instanceof jo)}var up=class extends ss{_data;constructor(n){super(),this._data=n}connect(){return vn(this._data)?this._data:Be(this._data)}disconnect(){}},Gt=(function(t){return t[t.REPLACED=0]="REPLACED",t[t.INSERTED=1]="INSERTED",t[t.MOVED=2]="MOVED",t[t.REMOVED=3]="REMOVED",t})(Gt||{}),dp=class{viewCacheSize=20;_viewCache=[];applyChanges(n,e,r,o,i){n.forEachOperation((s,a,c)=>{let l,u;if(s.previousIndex==null){let d=()=>r(s,a,c);l=this._insertView(d,c,e,o(s)),u=l?Gt.INSERTED:Gt.REPLACED}else c==null?(this._detachAndCacheView(a,e),u=Gt.REMOVED):(l=this._moveView(a,c,e,o(s)),u=Gt.MOVED);i&&i({context:l?.context,operation:u,record:s})})}detach(){for(let n of this._viewCache)n.destroy();this._viewCache=[]}_insertView(n,e,r,o){let i=this._insertViewFromCache(e,r);if(i){i.context.$implicit=o;return}let s=n();return r.createEmbeddedView(s.templateRef,s.context,s.index)}_detachAndCacheView(n,e){let r=e.detach(n);this._maybeCacheView(r,e)}_moveView(n,e,r,o){let i=r.get(n);return r.move(i,e),i.context.$implicit=o,i}_maybeCacheView(n,e){if(this._viewCache.length<this.viewCacheSize)this._viewCache.push(n);else{let r=e.indexOf(n);r===-1?n.destroy():e.remove(r)}}_insertViewFromCache(n,e){let r=this._viewCache.pop();return r&&e.insert(r,n),r||null}};var eN=["contentWrapper"],tN=["*"],VD=new y("VIRTUAL_SCROLL_STRATEGY"),fp=class{_scrolledIndexChange=new N;scrolledIndexChange=this._scrolledIndexChange.pipe(Ur());_viewport=null;_itemSize;_minBufferPx;_maxBufferPx;constructor(n,e,r){this._itemSize=n,this._minBufferPx=e,this._maxBufferPx=r}attach(n){this._viewport=n,this._updateTotalContentSize(),this._updateRenderedRange()}detach(){this._scrolledIndexChange.complete(),this._viewport=null}updateItemAndBufferSize(n,e,r){r<e,this._itemSize=n,this._minBufferPx=e,this._maxBufferPx=r,this._updateTotalContentSize(),this._updateRenderedRange()}onContentScrolled(){this._updateRenderedRange()}onDataLengthChanged(){this._updateTotalContentSize(),this._updateRenderedRange()}onContentRendered(){}onRenderedOffsetChanged(){}scrollToIndex(n,e){this._viewport&&this._viewport.scrollToOffset(n*this._itemSize,e)}_updateTotalContentSize(){this._viewport&&this._viewport.setTotalContentSize(this._viewport.getDataLength()*this._itemSize)}_updateRenderedRange(){if(!this._viewport)return;let n=this._viewport.getRenderedRange(),e={start:n.start,end:n.end},r=this._viewport.getViewportSize(),o=this._viewport.getDataLength(),i=this._viewport.measureScrollOffset(),s=this._itemSize>0?i/this._itemSize:0;if(e.end>o){let c=Math.ceil(r/this._itemSize),l=Math.max(0,Math.min(s,o-c));s!=l&&(s=l,i=l*this._itemSize,e.start=Math.floor(s)),e.end=Math.max(0,Math.min(o,e.start+c))}let a=i-e.start*this._itemSize;if(a<this._minBufferPx&&e.start!=0){let c=Math.ceil((this._maxBufferPx-a)/this._itemSize);e.start=Math.max(0,e.start-c),e.end=Math.min(o,Math.ceil(s+(r+this._minBufferPx)/this._itemSize))}else{let c=e.end*this._itemSize-(i+r);if(c<this._minBufferPx&&e.end!=o){let l=Math.ceil((this._maxBufferPx-c)/this._itemSize);l>0&&(e.end=Math.min(o,e.end+l),e.start=Math.max(0,Math.floor(s-this._minBufferPx/this._itemSize)))}}this._viewport.setRenderedRange(e),this._viewport.setRenderedContentOffset(Math.round(this._itemSize*e.start)),this._scrolledIndexChange.next(Math.floor(s))}};function nN(t){return t._scrollStrategy}var rN=(()=>{class t{get itemSize(){return this._itemSize}set itemSize(e){this._itemSize=Ir(e)}_itemSize=20;get minBufferPx(){return this._minBufferPx}set minBufferPx(e){this._minBufferPx=Ir(e)}_minBufferPx=100;get maxBufferPx(){return this._maxBufferPx}set maxBufferPx(e){this._maxBufferPx=Ir(e)}_maxBufferPx=200;_scrollStrategy=new fp(this.itemSize,this.minBufferPx,this.maxBufferPx);ngOnChanges(){this._scrollStrategy.updateItemAndBufferSize(this.itemSize,this.minBufferPx,this.maxBufferPx)}static \u0275fac=function(r){return new(r||t)};static \u0275dir=T({type:t,selectors:[["cdk-virtual-scroll-viewport","itemSize",""]],inputs:{itemSize:"itemSize",minBufferPx:"minBufferPx",maxBufferPx:"maxBufferPx"},features:[me([{provide:VD,useFactory:nN,deps:[de(()=>t)]}]),Ue]})}return t})(),oN=20,as=(()=>{class t{_ngZone=f(P);_platform=f(oe);_renderer=f(De).createRenderer(null,null);_cleanupGlobalListener;constructor(){}_scrolled=new N;_scrolledCount=0;scrollContainers=new Map;register(e){this.scrollContainers.has(e)||this.scrollContainers.set(e,e.elementScrolled().subscribe(()=>this._scrolled.n Line truncated
`],encapsulation:2,changeDetection:0})}return t})();var hp=(()=>{class t{static \u0275fac=function(r){return new(r||t)};static \u0275mod=K({type:t});static \u0275inj=W({})}return t})(),mp=(()=>{class t{static \u0275fac=function(r){return new(r||t)};static \u0275mod=K({type:t});static \u0275inj=W({imports:[hn,hp,hn,hp]})}return t})();var cs=class{_attachedHost=null;attach(n){return this._attachedHost=n,n.attach(this)}detach(){let n=this._attachedHost;n!=null&&(this._attachedHost=null,n.detach())}get isAttached(){return this._attachedHost!=null}setAttachedHost(n){this._attachedHost=n}},gp=class extends cs{component;viewContainerRef;injector;projectableNodes;bindings;constructor(n,e,r,o,i){super(),this.component=n,this.viewContainerRef=e,this.injector=r,this.projectableNodes=o,this.bindings=i||null}},No=class extends cs{templateRef;viewContainerRef;context;injector;constructor(n,e,r,o){super(),this.templateRef=n,this.viewContainerRef=e,this.context=r,this.injector=o}get origin(){return this.templateRef.elementRef}attach(n,e=this.context){return this.context=e,super.attach(n)}detach(){return this.context=void 0,super.detach()}},yp=class extends cs{element;constructor(n){super(),this.element=n instanceof H?n.nativeElement:n}},rl=class{_attachedPortal=null;_disposeFn=null;_isDisposed=!1;hasAttached(){return!!this._attachedPortal}attach(n){if(n instanceof gp)return this._attachedPortal=n,this.attachComponentPortal(n);if(n instanceof No)return this._attachedPortal=n,this.attachTemplatePortal(n);if(this.attachDomPortal&&n instanceof yp)return this._attachedPortal=n,this.attachDomPortal(n)}attachDomPortal=null;detach(){this._attachedPortal&&(this._attachedPortal.setAttachedHost(null),this._attachedPortal=null),this._invokeDisposeFn()}dispose(){this.hasAttached()&&this.detach(),this._invokeDisposeFn(),this._isDisposed=!0}setDisposeFn(n){this._disposeFn=n}_invokeDisposeFn(){this._disposeFn&&(this._disposeFn(),this._disposeFn=null)}},ol=class extends rl{outletElement;_appRef;_defaultInjector;constructor(n,e,r){super(),this.outletElement=n,this._appRef=e,this._defaultInjector=r}attachComponentPortal(n){let e;if(n.viewContainerRef){let r=n.injector||n.viewContainerRef.injector,o=r.get(Bt,null,{optional:!0})||void 0;e=n.viewContainerRef.createComponent(n.component,{index:n.viewContainerRef.length,injector:r,ngModuleRef:o,projectableNodes:n.projectableNodes||void 0,bindings:n.bindings||void 0}),this.setDisposeFn(()=>e.destroy())}else{let r=this._appRef,o=n.injector||this._defaultInjector||j.NULL,i=o.get(le,r.injector);e=_c(n.component,{elementInjector:o,environmentInjector:i,projectableNodes:n.projectableNodes||void 0,bindings:n.bindings||void 0}),r.attachView(e.hostView),this.setDisposeFn(()=>{r.viewCount>0&&r.detachView(e.hostView),e.destroy()})}return this.outletElement.appendChild(this._getComponentRootNode(e)),this._attachedPortal=n,e}attachTemplatePortal(n){let e=n.viewContainerRef,r=e.createEmbeddedView(n.templateRef,n.context,{injector:n.injector});return r.rootNodes.forEach(o=>this.outletElement.appendChild(o)),r.detectChanges(),this.setDisposeFn(()=>{let o=e.indexOf(r);o!==-1&&e.remove(o)}),this._attachedPortal=n,r}attachDomPortal=n=>{let e=n.element;e.parentNode;let r=this.outletElement.ownerDocument.createComment("dom-portal");e.parentNode.insertBefore(r,e),this.outletElement.appendChild(e),this._attachedPortal=n,super.setDisposeFn(()=>{r.parentNode&&r.parentNode.replaceChild(e,r)})};dispose(){super.dispose(),this.outletElement.remove()}_getComponentRootNode(n){return n.hostView.rootNodes[0]}},A6=(()=>{class t extends No{constructor(){let e=f(Ke),r=f(ze);super(e,r)}static \u0275fac=function(r){return new(r||t)};static \u0275dir=T({type:t,selectors:[["","cdkPortal",""]],exportAs:["cdkPortal"],features:[G]})}return t})(),N6=(()=>{class t extends rl{_moduleRef=f(Bt,{optional:!0});_document=f(F);_viewContainerRef=f(ze);_isInitialized=!1;_attachedRef=null;constructor(){super()}get portal(){return this._attachedPortal}set portal(e){this.hasAttached()&&!e&&!this._isInitialized||(this.hasAttached()&&super.detach(),e&&super.attach(e),this._attachedPortal=e||null)}attached=new U;get attachedRef(){return this._attachedRef}ngOnInit(){this._isInitialized=!0}ngOnDestroy(){super.dispose(),this._attachedRef=this._attachedPortal=null}attachComponentPortal(e){e.setAttachedHost(this);let r=e.viewContainerRef!=null?e.viewContainerRef:this._viewContainerRef,o=r.createComponent(e.component,{index:r.length,injector:e.injector||r.injector,projectableNodes:e.projectableNodes||void 0,ngModuleRef:this._moduleRef||void 0,bindings:e.bindings||void 0});return r!==this._viewContainerRef&&this._getRootNode().appendChild(o.hostView.rootNodes[0]),super.setDisposeFn(()=>o.destroy()),this._attachedPortal=e,this._attachedRef=o,this.attached.emit(o),o}attachTemplatePortal(e){e.setAttachedHost(this);let r=this._viewContainerRef.createEmbeddedView(e.templateRef,e.context,{injector:e.injector});return super.setDisposeFn(()=>this._viewContainerRef.clea Line truncated
`],encapsulation:2,changeDetection:0})}return t})(),Ep=(()=>{class t{_platform=f(oe);_containerElement;_document=f(F);_styleLoader=f(ct);constructor(){}ngOnDestroy(){this._containerElement?.remove()}getContainerElement(){return this._loadStyles(),this._containerElement||this._createContainer(),this._containerElement}_createContainer(){let e="cdk-overlay-container";if(this._platform.isBrowser||rp()){let o=this._document.querySelectorAll(`.${e}[platform="server"], .${e}[platform="test"]`);for(let i=0;i<o.length;i++)o[i].remove()}let r=this._document.createElement("div");r.classList.add(e),rp()?r.setAttribute("platform","test"):this._platform.isBrowser||r.setAttribute("platform","server"),this._document.body.appendChild(r),this._containerElement=r}_loadStyles(){this._styleLoader.load(JD)}static \u0275fac=function(r){return new(r||t)};static \u0275prov=g({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),bp=class{_renderer;_ngZone;element;_cleanupClick;_cleanupTransitionEnd;_fallbackTimeout;constructor(n,e,r,o){this._renderer=e,this._ngZone=r,this.element=n.createElement("div"),this.element.classList.add("cdk-overlay-backdrop"),this._cleanupClick=e.listen(this.element,"click",o)}detach(){this._ngZone.runOutsideAngular(()=>{let n=this.element;clearTimeout(this._fallbackTimeout),this._cleanupTransitionEnd?.(),this._cleanupTransitionEnd=this._renderer.listen(n,"transitionend",this.dispose),this._fallbackTimeout=setTimeout(this.dispose,500),n.style.pointerEvents="none",n.classList.remove("cdk-overlay-backdrop-showing")})}dispose=()=>{clearTimeout(this._fallbackTimeout),this._cleanupClick?.(),this._cleanupTransitionEnd?.(),this._cleanupClick=this._cleanupTransitionEnd=this._fallbackTimeout=void 0,this.element.remove()}};function wp(t){return t&&t.nodeType===1}var ll=class{_portalOutlet;_host;_pane;_config;_ngZone;_keyboardDispatcher;_document;_location;_outsideClickDispatcher;_animationsDisabled;_injector;_renderer;_backdropClick=new N;_attachments=new N;_detachments=new N;_positionStrategy;_scrollStrategy;_locationChanges=B.EMPTY;_backdropRef=null;_detachContentMutationObserver;_detachContentAfterRenderRef;_disposed=!1;_previousHostParent;_keydownEvents=new N;_outsidePointerEvents=new N;_afterNextRenderRef;constructor(n,e,r,o,i,s,a,c,l,u=!1,d,p){this._portalOutlet=n,this._host=e,this._pane=r,this._config=o,this._ngZone=i,this._keyboardDispatcher=s,this._document=a,this._location=c,this._outsideClickDispatcher=l,this._animationsDisabled=u,this._injector=d,this._renderer=p,o.scrollStrategy&&(this._scrollStrategy=o.scrollStrategy,this._scrollStrategy.attach(this)),this._positionStrategy=o.positionStrategy}get overlayElement(){return this._pane}get backdropElement(){return this._backdropRef?.element||null}get hostElement(){return this._host}get eventPredicate(){return this._config?.eventPredicate||null}attach(n){if(this._disposed)return null;this._attachHost();let e=this._portalOutlet.attach(n);return this._positionStrategy?.attach(this),this._updateStackingOrder(),this._updateElementSize(),this._updateElementDirection(),this._scrollStrategy&&this._scrollStrategy.enable(),this._afterNextRenderRef?.destroy(),this._afterNextRenderRef=Ut(()=>{this.hasAttached()&&this.updatePosition()},{injector:this._injector}),this._togglePointerEvents(!0),this._config.hasBackdrop&&this._attachBackdrop(),this._config.panelClass&&this._toggleClasses(this._pane,this._config.panelClass,!0),this._attachments.next(),this._completeDetachContent(),this._keyboardDispatcher.add(this),this._config.disposeOnNavigation&&(this._locationChanges=this._location.subscribe(()=>this.dispose())),this._outsideClickDispatcher.add(this),typeof e?.onDestroy=="function"&&e.onDestroy(()=>{this.hasAttached()&&this._ngZone.runOutsideAngular(()=>Promise.resolve().then(()=>this.detach()))}),e}detach(){if(!this.hasAttached())return;this.detachBackdrop(),this._togglePointerEvents(!1),this._positionStrategy&&this._positionStrategy.detach&&this._positionStrategy.detach(),this._scrollStrategy&&this._scrollStrategy.disable();let n=this._portalOutlet.detach();return this._detachments.next(),this._completeDetachContent(),this._keyboardDispatcher.remove(this),this._detachContentWhenEmpty(),this._locationChanges.unsubscribe(),this._outsideClickDispatcher.remove(this),n}dispose(){if(this._disposed)return;let n=this.hasAttached();this._positionStrategy&&this._positionStrategy.dispose(),this._disposeScrollStrategy(),this._backdropRef?.dispose(),this._locationChanges.unsubscribe(),this._keyboardDispatcher.remove(this),this._portalOutlet.dispose(),this._attachments.complete(),this._backdropClick.complete(),this._keydownEvents.complete(),this._outsidePointerEvents.complete(),this._outsideClickDispatcher.remove(this),this._host?.remove(),this._afterNextRenderRef?.destroy(),this._previousHostParent=this._pane=this._host=this._backdropRef=null,n&&this._detachments.next(),this._detachments.complete(),this._completeDetachContent(),this._disposed=!0}hasAttached(){return this._ Line truncated
`],encapsulation:2,changeDetection:0})}return t})();export{w as a,V as b,YE as c,dR as d,fR as e,hR as f,B as g,JE as h,O as i,N as j,Gn as k,Ho as l,Vl as m,jl as n,Wn as o,et as p,Be as q,zo as r,vn as s,qn as t,fw as u,pw as v,re as w,Hl as x,ht as y,Go as z,bn as A,Cw as B,Ul as C,$l as D,Yn as E,Nw as F,Rw as G,we as H,Wo as I,Hr as J,zl as K,Gl as L,Ow as M,Zn as N,pt as O,Wl as P,kw as Q,Ur as R,Ws as S,Lw as T,Vw as U,Em as V,Zl as W,wm as X,qo as Y,Yo as Z,$r as _,qt as $,Xl as aa,v as ba,Ot as ca,de as da,g as ea,W as fa,Zw as ga,y as ha,I as ia,f as ja,Ym as ka,le as la,Qr as ma,ag as na,cg as oa,_g as pa,Dg as qa,j as ra,F as sa,xe as ta,fr as ua,U as va,P as wa,tt as xa,tn as ya,be as za,ao as Aa,Ue as Ba,Ae as Ca,af as Da,H as Ea,nn as Fa,yr as Ga,xi as Ha,jy as Ia,$e as Ja,FI as Ka,Jy as La,ev as Ma,jI as Na,BI as Oa,HI as Pa,Df as Qa,sn as Ra,Ut as Sa,Ke as Ta,De as Ua,Ne as Va,D as Wa,rS as Xa,ze as Ya,Jv as Za,eb as _a,Ce as $a,K as ab,T as bb,Pi as cb,$S as db,G as eb,ib as fb,sb as gb,ab as hb,_o as ib,vr as jb,tT as kb,ub as lb,Fe as mb,hb as nb,an as ob,rT as pb,iT as qb,Gf as rb,sT as sb,aT as tb,cT as ub,lT as vb,uT as wb,pb as xb,qa as yb,Wf as zb,mb as Ab,br as Bb,_r as Cb,$t as Db,qf as Eb,Yf as Fb,yb as Gb,gT as Hb,vb as Ib,cn as Jb,_b as Kb,DT as Lb,Dr as Mb,ln as Nb,Eb as Ob,hc as Pb,Zf as Qb,Kf as Rb,wb as Sb,Cb as Tb,CT as Ub,IT as Vb,pc as Wb,Pe as Xb,Xf as Yb,WT as Zb,Ob as _b,Qf as $b,kb as ac,Fb as bc,Pb as cc,KT as dc,Lb as ec,XT as fc,QT as gc,me as hc,n0 as ic,r0 as jc,o0 as kc,i0 as lc,s0 as mc,c0 as nc,u0 as oc,d0 as pc,f0 as qc,h0 as rc,p0 as sc,m0 as tc,Le as uc,Er as vc,v0 as wc,Gb as xc,j8 as yc,B8 as zc,H8 as Ac,U8 as Bc,$8 as Cc,z8 as Dc,G8 as Ec,kn as Fc,bc as Gc,ce as Hc,ph as Ic,q8 as Jc,Y8 as Kc,$0 as Lc,Do as Mc,d_ as Nc,wc as Oc,q0 as Pc,sx as Qc,S_ as Rc,ax as Sc,cx as Tc,lx as Uc,fx as Vc,px as Wc,yx as Xc,wh as Yc,A_ as Zc,hW as _c,Rh as $c,Nx as ad,Vx as bd,zt as cd,fn as dd,Eo as ed,Cr as fd,wo as gd,Z_ as hd,$c as id,sA as jd,T3 as kd,x3 as ld,Uh as md,zh as nd,dA as od,Ve as pd,ct as qd,Ji as rd,es as sd,Ir as td,nD as ud,at as vd,oe as wd,Ao as xd,hn as yd,ss as zd,JA as Ad,up as Bd,Gt as Cd,dp as Dd,rN as Ed,as as Fd,pp as Gd,xr as Hd,lN as Id,uN as Jd,hp as Kd,mp as Ld,rs as Md,Mr as Nd,gp as Od,No as Pd,rl as Qd,ol as Rd,A6 as Sd,N6 as Td,jD as Ud,Kc as Vd,qD as Wd,Dp as Xd,us as Yd,Ep as Zd,ll as _d,Cp as $d,eE as ae,Ip as be,Mp as ce,_p as de,mN as ee,gN as fe,HE as ge,Rr as he,pE as ie,Wt as je,oE as ke,je as le,pn as me,P9 as ne,L9 as oe,Nr as pe,V9 as qe,LN as re,ko as se,B9 as te,HN as ue,H9 as ve,$N as we,GN as xe,OE as ye,kE as ze,ZN as Ae,XN as Be,U9 as Ce,$9 as De,rR as Ee,iR as Fe,aR as Ge,cR as He,z9 as Ie,G9 as Je,W9 as Ke,Gc as Le,fA as Me,Yc as Ne,pA as Oe,Zc as Pe,qh as Qe,N4 as Re,hD as Se,vA as Te,xA as Ue,NA as Ve,RA as We,Xh as Xe,Qh as Ye,Jh as Ze,S5 as _e,kA as $e,FA as af,L5 as bf,iq as cf,q5 as df,Q5 as ef,LA as ff,Ln as gf,is as hf,sp as if,_q as jf,ND as kf,RD as lf,WA as mf,FD as nf,Qq as of,Jq as pf,nl as qf,lR as rf,tY as sf,uR as tf,Hp as uf,mY as vf};
@@ -0,0 +1,15 @@
var vS=Object.create;var Na=Object.defineProperty,yS=Object.defineProperties,bS=Object.getOwnPropertyDescriptor,_S=Object.getOwnPropertyDescriptors,DS=Object.getOwnPropertyNames,Ra=Object.getOwnPropertySymbols,ES=Object.getPrototypeOf,Cd=Object.prototype.hasOwnProperty,Ev=Object.prototype.propertyIsEnumerable;var Dv=(t,n,e)=>n in t?Na(t,n,{enumerable:!0,configurable:!0,writable:!0,value:e}):t[n]=e,g=(t,n)=>{for(var e in n||={})Cd.call(n,e)&&Dv(t,e,n[e]);if(Ra)for(var e of Ra(n))Ev.call(n,e)&&Dv(t,e,n[e]);return t},F=(t,n)=>yS(t,_S(n));var wS=(t,n)=>{var e={};for(var r in t)Cd.call(t,r)&&n.indexOf(r)<0&&(e[r]=t[r]);if(t!=null&&Ra)for(var r of Ra(t))n.indexOf(r)<0&&Ev.call(t,r)&&(e[r]=t[r]);return e};var yL=(t,n)=>()=>(n||t((n={exports:{}}).exports,n),n.exports),bL=(t,n)=>{for(var e in n)Na(t,e,{get:n[e],enumerable:!0})},CS=(t,n,e,r)=>{if(n&&typeof n=="object"||typeof n=="function")for(let i of DS(n))!Cd.call(t,i)&&i!==e&&Na(t,i,{get:()=>n[i],enumerable:!(r=bS(n,i))||r.enumerable});return t};var _L=(t,n,e)=>(e=t!=null?vS(ES(t)):{},CS(n||!t||!t.__esModule?Na(e,"default",{value:t,enumerable:!0}):e,t));function R(t){return typeof t=="function"}function Zn(t){let e=t(r=>{Error.call(r),r.stack=new Error().stack});return e.prototype=Object.create(Error.prototype),e.prototype.constructor=e,e}var Oa=Zn(t=>function(e){t(this),this.message=e?`${e.length} errors occurred during unsubscription:
${e.map((r,i)=>`${i+1}) ${r.toString()}`).join(`
`)}`:"",this.name="UnsubscriptionError",this.errors=e});function wr(t,n){if(t){let e=t.indexOf(n);0<=e&&t.splice(e,1)}}var G=class t{constructor(n){this.initialTeardown=n,this.closed=!1,this._parentage=null,this._finalizers=null}unsubscribe(){let n;if(!this.closed){this.closed=!0;let{_parentage:e}=this;if(e)if(this._parentage=null,Array.isArray(e))for(let o of e)o.remove(this);else e.remove(this);let{initialTeardown:r}=this;if(R(r))try{r()}catch(o){n=o instanceof Oa?o.errors:[o]}let{_finalizers:i}=this;if(i){this._finalizers=null;for(let o of i)try{wv(o)}catch(s){n=n??[],s instanceof Oa?n=[...n,...s.errors]:n.push(s)}}if(n)throw new Oa(n)}}add(n){var e;if(n&&n!==this)if(this.closed)wv(n);else{if(n instanceof t){if(n.closed||n._hasParent(this))return;n._addParent(this)}(this._finalizers=(e=this._finalizers)!==null&&e!==void 0?e:[]).push(n)}}_hasParent(n){let{_parentage:e}=this;return e===n||Array.isArray(e)&&e.includes(n)}_addParent(n){let{_parentage:e}=this;this._parentage=Array.isArray(e)?(e.push(n),e):e?[e,n]:n}_removeParent(n){let{_parentage:e}=this;e===n?this._parentage=null:Array.isArray(e)&&wr(e,n)}remove(n){let{_finalizers:e}=this;e&&wr(e,n),n instanceof t&&n._removeParent(this)}};G.EMPTY=(()=>{let t=new G;return t.closed=!0,t})();var Id=G.EMPTY;function ka(t){return t instanceof G||t&&"closed"in t&&R(t.remove)&&R(t.add)&&R(t.unsubscribe)}function wv(t){R(t)?t():t.unsubscribe()}var Nt={onUnhandledError:null,onStoppedNotification:null,Promise:void 0,useDeprecatedSynchronousErrorHandling:!1,useDeprecatedNextContext:!1};var yi={setTimeout(t,n,...e){let{delegate:r}=yi;return r?.setTimeout?r.setTimeout(t,n,...e):setTimeout(t,n,...e)},clearTimeout(t){let{delegate:n}=yi;return(n?.clearTimeout||clearTimeout)(t)},delegate:void 0};function Fa(t){yi.setTimeout(()=>{let{onUnhandledError:n}=Nt;if(n)n(t);else throw t})}function Cr(){}var Cv=Sd("C",void 0,void 0);function Iv(t){return Sd("E",void 0,t)}function Sv(t){return Sd("N",t,void 0)}function Sd(t,n,e){return{kind:t,value:n,error:e}}var Ir=null;function bi(t){if(Nt.useDeprecatedSynchronousErrorHandling){let n=!Ir;if(n&&(Ir={errorThrown:!1,error:null}),t(),n){let{errorThrown:e,error:r}=Ir;if(Ir=null,e)throw r}}else t()}function Mv(t){Nt.useDeprecatedSynchronousErrorHandling&&Ir&&(Ir.errorThrown=!0,Ir.error=t)}var Sr=class extends G{constructor(n){super(),this.isStopped=!1,n?(this.destination=n,ka(n)&&n.add(this)):this.destination=MS}static create(n,e,r){return new Ot(n,e,r)}next(n){this.isStopped?Td(Sv(n),this):this._next(n)}error(n){this.isStopped?Td(Iv(n),this):(this.isStopped=!0,this._error(n))}complete(){this.isStopped?Td(Cv,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()}}},IS=Function.prototype.bind;function Md(t,n){return IS.call(t,n)}var xd=class{constructor(n){this.partialObserver=n}next(n){let{partialObserver:e}=this;if(e.next)try{e.next(n)}catch(r){Pa(r)}}error(n){let{partialObserver:e}=this;if(e.error)try{e.error(n)}catch(r){Pa(r)}else Pa(n)}complete(){let{partialObserver:n}=this;if(n.complete)try{n.complete()}catch(e){Pa(e)}}},Ot=class extends Sr{constructor(n,e,r){super();let i;if(R(n)||!n)i={next:n??void 0,error:e??void 0,complete:r??void 0};else{let o;this&&Nt.useDeprecatedNextContext?(o=Object.create(n),o.unsubscribe=()=>this.unsubscribe(),i={next:n.next&&Md(n.next,o),error:n.error&&Md(n.error,o),complete:n.complete&&Md(n.complete,o)}):i=n}this.destination=new xd(i)}};function Pa(t){Nt.useDeprecatedSynchronousErrorHandling?Mv(t):Fa(t)}function SS(t){throw t}function Td(t,n){let{onStoppedNotification:e}=Nt;e&&yi.setTimeout(()=>e(t,n))}var MS={closed:!0,next:Cr,error:SS,complete:Cr};var _i=typeof Symbol=="function"&&Symbol.observable||"@@observable";function st(t){return t}function Ad(...t){return Rd(t)}function Rd(t){return t.length===0?st:t.length===1?t[0]:function(e){return t.reduce((r,i)=>i(r),e)}}var O=(()=>{class t{constructor(e){e&&(this._subscribe=e)}lift(e){let r=new t;return r.source=this,r.operator=e,r}subscribe(e,r,i){let o=xS(e)?e:new Ot(e,r,i);return bi(()=>{let{operator:s,source:a}=this;o.add(s?s.call(o,a):a?this._subscribe(o):this._trySubscribe(o))}),o}_trySubscribe(e){try{return this._subscribe(e)}catch(r){e.error(r)}}forEach(e,r){return r=Tv(r),new r((i,o)=>{let s=new Ot({next:a=>{try{e(a)}catch(c){o(c),s.unsubscribe()}},error:o,complete:i});this.subscribe(s)})}_subscribe(e){var r;return(r=this.source)===null||r===void 0?void 0:r.subscribe(e)}[_i](){return this}pipe(...e){return Rd(e)(this)}toPromise(e){return e=Tv(e),new e((r,i)=>{let o;this.subscribe(s=>o=s,s=>i(s),()=>r(o))})}}return t.create=n=>new t(n),t})();function Tv(t){var n;return(n=t??Nt.Promise)!==null&&n!==void 0?n:Promise}function TS(t){return t&&R(t.next)&&R(t.error)&&R(t.complete)}function xS(t){return t&&tLine truncated
`);return r>=0?e.slice(0,r):e}function vc(t,n){return t?n?`${t} ${n}`:t:n||""}var bM=ne({__forward_ref__:ne});function be(t){return t.__forward_ref__=be,t}function Me(t){return gf(t)?t():t}function gf(t){return typeof t=="function"&&t.hasOwnProperty(bM)&&t.__forward_ref__===be}function v(t){return{token:t.token,providedIn:t.providedIn||null,factory:t.factory,value:void 0}}function Z(t){return{providers:t.providers||[],imports:t.imports||[]}}function Jo(t){return _M(t,yc)}function vf(t){return Jo(t)!==null}function _M(t,n){return t.hasOwnProperty(n)&&t[n]||null}function DM(t){let n=t?.[yc]??null;return n||null}function of(t){return t&&t.hasOwnProperty(dc)?t[dc]:null}var yc=ne({\u0275prov:ne}),dc=ne({\u0275inj:ne}),y=class{_desc;ngMetadataName="InjectionToken";\u0275prov;constructor(n,e){this._desc=n,this.\u0275prov=void 0,typeof e=="number"?this.__NG_ELEMENT_ID__=e:e!==void 0&&(this.\u0275prov=v({token:this,providedIn:e.providedIn||"root",factory:e.factory}))}get multi(){return this}toString(){return`InjectionToken ${this._desc}`}};function yf(t){return t&&!!t.\u0275providers}var bf=ne({\u0275cmp:ne}),_f=ne({\u0275dir:ne}),Df=ne({\u0275pipe:ne}),Ef=ne({\u0275mod:ne}),qo=ne({\u0275fac:ne}),Vr=ne({__NG_ELEMENT_ID__:ne}),py=ne({__NG_ENV_ID__:ne});function wf(t){return _c(t,"@NgModule"),t[Ef]||null}function ln(t){return _c(t,"@Component"),t[bf]||null}function bc(t){return _c(t,"@Directive"),t[_f]||null}function by(t){return _c(t,"@Pipe"),t[Df]||null}function _c(t,n){if(t==null)throw new b(-919,!1)}function un(t){return typeof t=="string"?t:t==null?"":String(t)}var _y=ne({ngErrorCode:ne}),EM=ne({ngErrorMessage:ne}),wM=ne({ngTokenPath:ne});function Cf(t,n){return Dy("",-200,n)}function Dc(t,n){throw new b(-201,!1)}function Dy(t,n,e){let r=new b(n,t);return r[_y]=n,r[EM]=t,e&&(r[wM]=e),r}function CM(t){return t[_y]}var sf;function Ey(){return sf}function Ke(t){let n=sf;return sf=t,n}function If(t,n,e){let r=Jo(t);if(r&&r.providedIn=="root")return r.value===void 0?r.value=r.factory():r.value;if(e&8)return null;if(n!==void 0)return n;Dc(t,"")}var IM={},Fr=IM,SM="__NG_DI_FLAG__",af=class{injector;constructor(n){this.injector=n}retrieve(n,e){let r=Pr(e)||0;try{return this.injector.get(n,r&8?null:Fr,r)}catch(i){if(Ri(i))return i;throw i}}};function MM(t,n=0){let e=lc();if(e===void 0)throw new b(-203,!1);if(e===null)return If(t,void 0,n);{let r=TM(n),i=e.retrieve(t,r);if(Ri(i)){if(r.optional)return null;throw i}return i}}function w(t,n=0){return(Ey()||MM)(Me(t),n)}function f(t,n){return w(t,Pr(n))}function Pr(t){return typeof t>"u"||typeof t=="number"?t:0|(t.optional&&8)|(t.host&&1)|(t.self&&2)|(t.skipSelf&&4)}function TM(t){return{optional:!!(t&8),host:!!(t&1),self:!!(t&2),skipSelf:!!(t&4)}}function cf(t){let n=[];for(let e=0;e<t.length;e++){let r=Me(t[e]);if(Array.isArray(r)){if(r.length===0)throw new b(900,!1);let i,o=0;for(let s=0;s<r.length;s++){let a=r[s],c=xM(a);typeof c=="number"?c===-1?i=a.token:o|=c:i=a}n.push(w(i,o))}else n.push(w(r))}return n}function xM(t){return t[SM]}function rr(t,n){let e=t.hasOwnProperty(qo);return e?t[qo]:null}function wy(t,n,e){if(t.length!==n.length)return!1;for(let r=0;r<t.length;r++){let i=t[r],o=n[r];if(e&&(i=e(i),o=e(o)),o!==i)return!1}return!0}function Cy(t){return t.flat(Number.POSITIVE_INFINITY)}function Ec(t,n){t.forEach(e=>Array.isArray(e)?Ec(e,n):n(e))}function Sf(t,n,e){n>=t.length?t.push(e):t.splice(n,0,e)}function es(t,n){return n>=t.length-1?t.pop():t.splice(n,1)[0]}function Iy(t,n){let e=[];for(let r=0;r<t;r++)e.push(n);return e}function Sy(t,n,e,r){let i=t.length;if(i==n)t.push(e,r);else if(i===1)t.push(r,t[0]),t[0]=e;else{for(i--,t.push(t[i-1],t[i]);i>n;){let o=i-2;t[i]=t[o],i--}t[n]=e,t[n+1]=r}}function wc(t,n,e){let r=Oi(t,n);return r>=0?t[r|1]=e:(r=~r,Sy(t,r,n,e)),r}function Cc(t,n){let e=Oi(t,n);if(e>=0)return t[e|1]}function Oi(t,n){return AM(t,n,1)}function AM(t,n,e){let r=0,i=t.length>>e;for(;i!==r;){let o=r+(i-r>>1),s=t[o<<e];if(n===s)return o<<e;s>n?i=o:r=o+1}return~(i<<e)}var Pt={},Ge=[],Br=new y(""),Mf=new y("",-1),Tf=new y(""),Yo=class{get(n,e=Fr){if(e===Fr){let i=Dy("",-201);throw i.name="\u0275NotFound",i}return e}};function sr(t){return{\u0275providers:t}}function My(...t){return{\u0275providers:xf(!0,t),\u0275fromNgModule:!0}}function xf(t,...n){let e=[],r=new Set,i,o=s=>{e.push(s)};return Ec(n,s=>{let a=s;fc(a,o,[],r)&&(i||=[],i.push(a))}),i!==void 0&&Ty(i,o),e}function Ty(t,n){for(let e=0;e<t.length;e++){let{ngModule:r,providers:i}=t[e];Af(i,o=>{n(o,r)})}}function fc(t,n,e,r){if(t=Me(t),!t)return!1;let i=null,o=of(t),s=!o&&ln(t);if(!o&&!s){let c=t.ngModule;if(o=of(c),o)i=c;else return!1}else{if(s&&!s.standalone)return!1;i=t}let a=r.has(i);if(s){if(a)return!1;if(r.add(i),s.dependencies){let c=typeof s.dependencies=="function"?s.dependencies():s.dependencies;for(let l of c)fc(l,n,e,r)}}else if(o){if(o.imports!=null&&!a){r.add(i);let l;Ec(o.imports,u=>{fc(u,n,e,r)&&(l||=[],l.push(u))}),l!==void 0&&Ty(l,n)}if(!a){let l=rr(i)||(()=>new i);n({provide:i,us Line truncated
`).forEach(e=>{let r=e.indexOf(":");if(r>0){let i=e.slice(0,r),o=e.slice(r+1).trim();this.addHeaderEntry(i,o)}})}:typeof Headers<"u"&&n instanceof Headers?(this.headers=new Map,n.forEach((e,r)=>{this.addHeaderEntry(r,e)})):this.lazyInit=()=>{this.headers=new Map,Object.entries(n).forEach(([e,r])=>{this.setHeaderEntries(e,r)})}:this.headers=new Map}has(n){return this.init(),this.headers.has(n.toLowerCase())}get(n){this.init();let e=this.headers.get(n.toLowerCase());return e&&e.length>0?e[0]:null}keys(){return this.init(),Array.from(this.normalizedNames.values())}getAll(n){return this.init(),this.headers.get(n.toLowerCase())||null}append(n,e){return this.clone({name:n,value:e,op:"a"})}set(n,e){return this.clone({name:n,value:e,op:"s"})}delete(n,e){return this.clone({name:n,value:e,op:"d"})}maybeSetNormalizedName(n,e){this.normalizedNames.has(e)||this.normalizedNames.set(e,n)}init(){this.lazyInit&&(this.lazyInit instanceof t?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(e=>{this.headers.set(e,n.headers.get(e)),this.normalizedNames.set(e,n.normalizedNames.get(e))})}clone(n){let e=new t;return e.lazyInit=this.lazyInit&&this.lazyInit instanceof t?this.lazyInit:this,e.lazyUpdate=(this.lazyUpdate||[]).concat([n]),e}applyUpdate(n){let e=n.name.toLowerCase();switch(n.op){case"a":case"s":let r=n.value;if(typeof r=="string"&&(r=[r]),r.length===0)return;this.maybeSetNormalizedName(n.name,e);let i=(n.op==="a"?this.headers.get(e):void 0)||[];i.push(...r),this.headers.set(e,i);break;case"d":let o=n.value;if(!o)this.headers.delete(e),this.normalizedNames.delete(e);else{let s=this.headers.get(e);if(!s)return;s=s.filter(a=>o.indexOf(a)===-1),s.length===0?(this.headers.delete(e),this.normalizedNames.delete(e)):this.headers.set(e,s)}break}}addHeaderEntry(n,e){let r=n.toLowerCase();this.maybeSetNormalizedName(n,r),this.headers.has(r)?this.headers.get(r).push(e):this.headers.set(r,[e])}setHeaderEntries(n,e){let r=(Array.isArray(e)?e:[e]).map(o=>o.toString()),i=n.toLowerCase();this.headers.set(i,r),this.maybeSetNormalizedName(n,i)}forEach(n){this.init(),Array.from(this.normalizedNames.keys()).forEach(e=>n(this.normalizedNames.get(e),this.headers.get(e)))}};var su=class{map=new Map;set(n,e){return this.map.set(n,e),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()}},au=class{encodeKey(n){return fw(n)}encodeValue(n){return fw(n)}decodeKey(n){return decodeURIComponent(n)}decodeValue(n){return decodeURIComponent(n)}};function iO(t,n){let e=new Map;return t.length>0&&t.replace(/^\?/,"").split("&").forEach(i=>{let o=i.indexOf("="),[s,a]=o==-1?[n.decodeKey(i),""]:[n.decodeKey(i.slice(0,o)),n.decodeValue(i.slice(o+1))],c=e.get(s)||[];c.push(a),e.set(s,c)}),e}var oO=/%(\d[a-f0-9])/gi,sO={40:"@","3A":":",24:"$","2C":",","3B":";","3D":"=","3F":"?","2F":"/"};function fw(t){return encodeURIComponent(t).replace(oO,(n,e)=>sO[e]??n)}function ou(t){return`${t}`}var $n=class t{map;encoder;updates=null;cloneFrom=null;constructor(n={}){if(this.encoder=n.encoder||new au,n.fromString){if(n.fromObject)throw new b(2805,!1);this.map=iO(n.fromString,this.encoder)}else n.fromObject?(this.map=new Map,Object.keys(n.fromObject).forEach(e=>{let r=n.fromObject[e],i=Array.isArray(r)?r.map(ou):[ou(r)];this.map.set(e,i)})):this.map=null}has(n){return this.init(),this.map.has(n)}get(n){this.init();let e=this.map.get(n);return e?e[0]:null}getAll(n){return this.init(),this.map.get(n)||null}keys(){return this.init(),Array.from(this.map.keys())}append(n,e){return this.clone({param:n,value:e,op:"a"})}appendAll(n){let e=[];return Object.keys(n).forEach(r=>{let i=n[r];Array.isArray(i)?i.forEach(o=>{e.push({param:r,value:o,op:"a"})}):e.push({param:r,value:i,op:"a"})}),this.clone(e)}set(n,e){return this.clone({param:n,value:e,op:"s"})}delete(n,e){return this.clone({param:n,value:e,op:"d"})}toString(){return this.init(),this.keys().map(n=>{let e=this.encoder.encodeKey(n);return this.map.get(n).map(r=>e+"="+this.encoder.encodeValue(r)).join("&")}).filter(n=>n!=="").join("&")}clone(n){let e=new t({encoder:this.encoder});return e.cloneFrom=this.cloneFrom||this,e.updates=(this.updates||[]).concat(n),e}init(){this.map===null&&(this.map=new Map),this.cloneFrom!==null&&(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":let e=(n.op==="a"?this.map.get(n.param):void 0)||[];e.push(ou(n.value)),this.map.set(n.param,e);break;case"d":if(n.value!==void 0){let r=this.map.get(n.param)||[],i=r.indexOf(ou(n.value));i!==-1&&r.splice(i,1),r.length>0?this.map.set(n.param,r):this.map.delete(n.param)}else{this.map.delete(n.param);break}}}),this.cloneFrom=this.updates=null)}};function aO(t){switch(t){cas Line truncated
`],encapsulation:2,changeDetection:0})}return t})(),pu;function OO(){if(pu===void 0&&(pu=null,typeof window<"u")){let t=window;t.trustedTypes!==void 0&&(pu=t.trustedTypes.createPolicy("angular#components",{createHTML:n=>n}))}return pu}function kO(t){return OO()?.createHTML(t)||t}function Pw(t,n,e){let r=e.sanitize(it.HTML,n);t.innerHTML=kO(r||"")}function oi(t){return Array.isArray(t)?t:[t]}var Lw=new Set,si,gu=(()=>{class t{_platform=f(he);_nonce=f(Xi,{optional:!0});_matchMedia;constructor(){this._matchMedia=this._platform.isBrowser&&window.matchMedia?window.matchMedia.bind(window):PO}matchMedia(e){return(this._platform.WEBKIT||this._platform.BLINK)&&FO(e,this._nonce),this._matchMedia(e)}static \u0275fac=function(r){return new(r||t)};static \u0275prov=v({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();function FO(t,n){if(!Lw.has(t))try{si||(si=document.createElement("style"),n&&si.setAttribute("nonce",n),si.setAttribute("type","text/css"),document.head.appendChild(si)),si.sheet&&(si.sheet.insertRule(`@media ${t} {body{ }}`,0),Lw.add(t))}catch(e){console.error(e)}}function PO(t){return{matches:t==="all"||t==="",media:t,addListener:()=>{},removeListener:()=>{}}}var qm=(()=>{class t{_mediaMatcher=f(gu);_zone=f(j);_queries=new Map;_destroySubject=new S;constructor(){}ngOnDestroy(){this._destroySubject.next(),this._destroySubject.complete()}isMatched(e){return jw(oi(e)).some(i=>this._registerQuery(i).mql.matches)}observe(e){let i=jw(oi(e)).map(s=>this._registerQuery(s).observable),o=Ii(i);return o=rn(o.pipe(Be(1)),o.pipe(Uo(1),Ar(0))),o.pipe(H(s=>{let a={matches:!1,breakpoints:{}};return s.forEach(({matches:c,query:l})=>{a.matches=a.matches||c,a.breakpoints[l]=c}),a}))}_registerQuery(e){if(this._queries.has(e))return this._queries.get(e);let r=this._mediaMatcher.matchMedia(e),o={observable:new O(s=>{let a=c=>this._zone.run(()=>s.next(c));return r.addListener(a),()=>{r.removeListener(a)}}).pipe(Rr(r),H(({matches:s})=>({query:e,matches:s})),at(this._destroySubject)),mql:r};return this._queries.set(e,o),o}static \u0275fac=function(r){return new(r||t)};static \u0275prov=v({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();function jw(t){return t.map(n=>n.split(",")).reduce((n,e)=>n.concat(e)).map(n=>n.trim())}function LO(t){if(t.type==="characterData"&&t.target instanceof Comment)return!0;if(t.type==="childList"){for(let n=0;n<t.addedNodes.length;n++)if(!(t.addedNodes[n]instanceof Comment))return!1;for(let n=0;n<t.removedNodes.length;n++)if(!(t.removedNodes[n]instanceof Comment))return!1;return!0}return!1}var Vw=(()=>{class t{create(e){return typeof MutationObserver>"u"?null:new MutationObserver(e)}static \u0275fac=function(r){return new(r||t)};static \u0275prov=v({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),Bw=(()=>{class t{_mutationObserverFactory=f(Vw);_observedElements=new Map;_ngZone=f(j);constructor(){}ngOnDestroy(){this._observedElements.forEach((e,r)=>this._cleanupObserver(r))}observe(e){let r=Tt(e);return new O(i=>{let s=this._observeElement(r).pipe(H(a=>a.filter(c=>!LO(c))),fe(a=>!!a.length)).subscribe(a=>{this._ngZone.run(()=>{i.next(a)})});return()=>{s.unsubscribe(),this._unobserveElement(r)}})}_observeElement(e){return this._ngZone.runOutsideAngular(()=>{if(this._observedElements.has(e))this._observedElements.get(e).count++;else{let r=new S,i=this._mutationObserverFactory.create(o=>r.next(o));i&&i.observe(e,{characterData:!0,childList:!0,subtree:!0}),this._observedElements.set(e,{observer:i,stream:r,count:1})}return this._observedElements.get(e).stream})}_unobserveElement(e){this._observedElements.has(e)&&(this._observedElements.get(e).count--,this._observedElements.get(e).count||this._cleanupObserver(e))}_cleanupObserver(e){if(this._observedElements.has(e)){let{observer:r,stream:i}=this._observedElements.get(e);r&&r.disconnect(),i.complete(),this._observedElements.delete(e)}}static \u0275fac=function(r){return new(r||t)};static \u0275prov=v({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),AY=(()=>{class t{_contentObserver=f(Bw);_elementRef=f(z);event=new U;get disabled(){return this._disabled}set disabled(e){this._disabled=e,this._disabled?this._unsubscribe():this._subscribe()}_disabled=!1;get debounce(){return this._debounce}set debounce(e){this._debounce=ii(e),this._subscribe()}_debounce;_currentSubscription=null;constructor(){}ngAfterContentInit(){!this._currentSubscription&&!this.disabled&&this._subscribe()}ngOnDestroy(){this._unsubscribe()}_subscribe(){this._unsubscribe();let e=this._contentObserver.observe(this._elementRef);this._currentSubscription=(this.debounce?e.pipe(Ar(this.debounce)):e).subscribe(this.event)}_unsubscribe(){this._currentSubscription?.unsubscribe()}static \u0275fac=function(r){return new(r||t)};static \u0275dir=M({type:t,selectors:[["","cdkObserveContent",""]],inputs:{disabled:[2,"cdkObserveContentDisabled","disabled",ue],debounce:"debounce"},outputs:{event:"cdkObserveContent"},exportAs:["cdkObserveContent"]})}return t}) Line truncated
`],encapsulation:2,changeDetection:0})}return t})(),ta=class t{_target;_ngZone;_platform;_containerElement;_triggerElement=null;_isPointerDown=!1;_activeRipples=new Map;_mostRecentTransientRipple=null;_lastTouchStartEvent;_pointerUpEventsRegistered=!1;_containerRect=null;static _eventManager=new og;constructor(n,e,r,i,o){this._target=n,this._ngZone=e,this._platform=i,i.isBrowser&&(this._containerElement=Tt(r)),o&&o.get(xt).load(ok)}fadeInRipple(n,e,r={}){let i=this._containerRect=this._containerRect||this._containerElement.getBoundingClientRect(),o=g(g({},ea),r.animation);r.centered&&(n=i.left+i.width/2,e=i.top+i.height/2);let s=r.radius||sk(n,e,i),a=n-i.left,c=e-i.top,l=o.enterDuration,u=document.createElement("div");u.classList.add("mat-ripple-element"),u.style.left=`${a-s}px`,u.style.top=`${c-s}px`,u.style.height=`${s*2}px`,u.style.width=`${s*2}px`,r.color!=null&&(u.style.backgroundColor=r.color),u.style.transitionDuration=`${l}ms`,this._containerElement.appendChild(u);let d=window.getComputedStyle(u),h=d.transitionProperty,p=d.transitionDuration,m=h==="none"||p==="0s"||p==="0s, 0s"||i.width===0&&i.height===0,_=new ig(this,u,r,m);u.style.transform="scale3d(1, 1, 1)",_.state=At.FADING_IN,r.persistent||(this._mostRecentTransientRipple=_);let E=null;return!m&&(l||o.exitDuration)&&this._ngZone.runOutsideAngular(()=>{let I=()=>{E&&(E.fallbackTimer=null),clearTimeout(Pe),this._finishRippleTransition(_)},ee=()=>this._destroyRipple(_),Pe=setTimeout(ee,l+100);u.addEventListener("transitionend",I),u.addEventListener("transitioncancel",ee),E={onTransitionEnd:I,onTransitionCancel:ee,fallbackTimer:Pe}}),this._activeRipples.set(_,E),(m||!l)&&this._finishRippleTransition(_),_}fadeOutRipple(n){if(n.state===At.FADING_OUT||n.state===At.HIDDEN)return;let e=n.element,r=g(g({},ea),n.config.animation);e.style.transitionDuration=`${r.exitDuration}ms`,e.style.opacity="0",n.state=At.FADING_OUT,(n._animationForciblyDisabledThroughCss||!r.exitDuration)&&this._finishRippleTransition(n)}fadeOutAll(){this._getActiveRipples().forEach(n=>n.fadeOut())}fadeOutAllNonPersistent(){this._getActiveRipples().forEach(n=>{n.config.persistent||n.fadeOut()})}setupTriggerEvents(n){let e=Tt(n);!this._platform.isBrowser||!e||e===this._triggerElement||(this._removeTriggerEvents(),this._triggerElement=e,nC.forEach(r=>{t._eventManager.addHandler(this._ngZone,r,e,this)}))}handleEvent(n){n.type==="mousedown"?this._onMousedown(n):n.type==="touchstart"?this._onTouchStart(n):this._onPointerUp(),this._pointerUpEventsRegistered||(this._ngZone.runOutsideAngular(()=>{rC.forEach(e=>{this._triggerElement.addEventListener(e,this,tC)})}),this._pointerUpEventsRegistered=!0)}_finishRippleTransition(n){n.state===At.FADING_IN?this._startFadeOutTransition(n):n.state===At.FADING_OUT&&this._destroyRipple(n)}_startFadeOutTransition(n){let e=n===this._mostRecentTransientRipple,{persistent:r}=n.config;n.state=At.VISIBLE,!r&&(!e||!this._isPointerDown)&&n.fadeOut()}_destroyRipple(n){let e=this._activeRipples.get(n)??null;this._activeRipples.delete(n),this._activeRipples.size||(this._containerRect=null),n===this._mostRecentTransientRipple&&(this._mostRecentTransientRipple=null),n.state=At.HIDDEN,e!==null&&(n.element.removeEventListener("transitionend",e.onTransitionEnd),n.element.removeEventListener("transitioncancel",e.onTransitionCancel),e.fallbackTimer!==null&&clearTimeout(e.fallbackTimer)),n.element.remove()}_onMousedown(n){let e=Zs(n),r=this._lastTouchStartEvent&&Date.now()<this._lastTouchStartEvent+ik;!this._target.rippleDisabled&&!e&&!r&&(this._isPointerDown=!0,this.fadeInRipple(n.clientX,n.clientY,this._target.rippleConfig))}_onTouchStart(n){if(!this._target.rippleDisabled&&!Ks(n)){this._lastTouchStartEvent=Date.now(),this._isPointerDown=!0;let e=n.changedTouches;if(e)for(let r=0;r<e.length;r++)this.fadeInRipple(e[r].clientX,e[r].clientY,this._target.rippleConfig)}}_onPointerUp(){this._isPointerDown&&(this._isPointerDown=!1,this._getActiveRipples().forEach(n=>{let e=n.state===At.VISIBLE||n.config.terminateOnPointerUp&&n.state===At.FADING_IN;!n.config.persistent&&e&&n.fadeOut()}))}_getActiveRipples(){return Array.from(this._activeRipples.keys())}_removeTriggerEvents(){let n=this._triggerElement;n&&(nC.forEach(e=>t._eventManager.removeHandler(e,n,this)),this._pointerUpEventsRegistered&&(rC.forEach(e=>n.removeEventListener(e,this,tC)),this._pointerUpEventsRegistered=!1))}};function sk(t,n,e){let r=Math.max(Math.abs(t-e.left),Math.abs(t-e.right)),i=Math.max(Math.abs(n-e.top),Math.abs(n-e.bottom));return Math.sqrt(r*r+i*i)}var sg=new y("mat-ripple-global-options"),bK=(()=>{class t{_elementRef=f(z);_animationsDisabled=mr();color;unbounded=!1;centered=!1;radius=0;animation;get disabled(){return this._disabled}set disabled(e){e&&this.fadeOutAllNonPersistent(),this._disabled=e,this._setupTriggerEventsIfEnabled()}_disabled=!1;get trigger(){return this._trigger||this._elementRef.nativeElement}set trigger(e){this._trigger=e,this._setupTriggerEventsIfEnabled()}_trigger;_rippleRender Line truncated
`],encapsulation:2,changeDetection:0})}return t})();var lk=["mat-icon-button",""],uk=["*"],dk=new y("MAT_BUTTON_CONFIG");function aC(t){return t==null?void 0:dm(t)}var lg=(()=>{class t{_elementRef=f(z);_ngZone=f(j);_animationsDisabled=mr();_config=f(dk,{optional:!0});_focusMonitor=f(fu);_cleanupClick;_renderer=f(Oe);_rippleLoader=f(oC);_isAnchor;_isFab=!1;color;get disableRipple(){return this._disableRipple}set disableRipple(e){this._disableRipple=e,this._updateRippleDisabled()}_disableRipple=!1;get disabled(){return this._disabled}set disabled(e){this._disabled=e,this._updateRippleDisabled()}_disabled=!1;ariaDisabled;disabledInteractive;tabIndex;set _tabindex(e){this.tabIndex=e}constructor(){f(xt).load(sC);let e=this._elementRef.nativeElement;this._isAnchor=e.tagName==="A",this.disabledInteractive=this._config?.disabledInteractive??!1,this.color=this._config?.color??null,this._rippleLoader?.configureRipple(e,{className:"mat-mdc-button-ripple"})}ngAfterViewInit(){this._focusMonitor.monitor(this._elementRef,!0),this._isAnchor&&this._setupAsAnchor()}ngOnDestroy(){this._cleanupClick?.(),this._focusMonitor.stopMonitoring(this._elementRef),this._rippleLoader?.destroyRipple(this._elementRef.nativeElement)}focus(e="program",r){e?this._focusMonitor.focusVia(this._elementRef.nativeElement,e,r):this._elementRef.nativeElement.focus(r)}_getAriaDisabled(){return this.ariaDisabled!=null?this.ariaDisabled:this._isAnchor?this.disabled||null:this.disabled&&this.disabledInteractive?!0:null}_getDisabledAttribute(){return this.disabledInteractive||!this.disabled?null:!0}_updateRippleDisabled(){this._rippleLoader?.setDisabled(this._elementRef.nativeElement,this.disableRipple||this.disabled)}_getTabIndex(){return this._isAnchor?this.disabled&&!this.disabledInteractive?-1:this.tabIndex:this.tabIndex}_setupAsAnchor(){this._cleanupClick=this._ngZone.runOutsideAngular(()=>this._renderer.listen(this._elementRef.nativeElement,"click",e=>{this.disabled&&(e.preventDefault(),e.stopImmediatePropagation())}))}static \u0275fac=function(r){return new(r||t)};static \u0275dir=M({type:t,hostAttrs:[1,"mat-mdc-button-base"],hostVars:13,hostBindings:function(r,i){r&2&&(Yt("disabled",i._getDisabledAttribute())("aria-disabled",i._getAriaDisabled())("tabindex",i._getTabIndex()),Wp(i.color?"mat-"+i.color:""),Xe("mat-mdc-button-disabled",i.disabled)("mat-mdc-button-disabled-interactive",i.disabledInteractive)("mat-unthemed",!i.color)("_mat-animation-noopable",i._animationsDisabled))},inputs:{color:"color",disableRipple:[2,"disableRipple","disableRipple",ue],disabled:[2,"disabled","disabled",ue],ariaDisabled:[2,"aria-disabled","ariaDisabled",ue],disabledInteractive:[2,"disabledInteractive","disabledInteractive",ue],tabIndex:[2,"tabIndex","tabIndex",aC],_tabindex:[2,"tabindex","_tabindex",aC]}})}return t})(),fk=(()=>{class t extends lg{constructor(){super(),this._rippleLoader.configureRipple(this._elementRef.nativeElement,{centered:!0})}static \u0275fac=function(r){return new(r||t)};static \u0275cmp=ke({type:t,selectors:[["button","mat-icon-button",""],["a","mat-icon-button",""],["button","matIconButton",""],["a","matIconButton",""]],hostAttrs:[1,"mdc-icon-button","mat-mdc-icon-button"],exportAs:["matButton","matAnchor"],features:[J],attrs:lk,ngContentSelectors:uk,decls:4,vars:0,consts:[[1,"mat-mdc-button-persistent-ripple","mdc-icon-button__ripple"],[1,"mat-focus-indicator"],[1,"mat-mdc-button-touch-target"]],template:function(r,i){r&1&&(ti(),vn(0,"span",0),Vn(1),vn(2,"span",1)(3,"span",2))},styles:[`.mat-mdc-icon-button{-webkit-user-select:none;user-select:none;display:inline-block;position:relative;box-sizing:border-box;border:none;outline:none;background-color:rgba(0,0,0,0);fill:currentColor;text-decoration:none;cursor:pointer;z-index:0;overflow:visible;border-radius:var(--mat-icon-button-container-shape, var(--mat-sys-corner-full, 50%));flex-shrink:0;text-align:center;width:var(--mat-icon-button-state-layer-size, 40px);height:var(--mat-icon-button-state-layer-size, 40px);padding:calc(calc(var(--mat-icon-button-state-layer-size, 40px) - var(--mat-icon-button-icon-size, 24px)) / 2);font-size:var(--mat-icon-button-icon-size, 24px);color:var(--mat-icon-button-icon-color, var(--mat-sys-on-surface-variant));-webkit-tap-highlight-color:rgba(0,0,0,0)}.mat-mdc-icon-button .mat-mdc-button-ripple,.mat-mdc-icon-button .mat-mdc-button-persistent-ripple,.mat-mdc-icon-button .mat-mdc-button-persistent-ripple::before{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none;border-radius:inherit}.mat-mdc-icon-button .mat-mdc-button-ripple{overflow:hidden}.mat-mdc-icon-button .mat-mdc-button-persistent-ripple::before{content:"";opacity:0}.mat-mdc-icon-button .mdc-button__label,.mat-mdc-icon-button .mat-icon{z-index:1;position:relative}.mat-mdc-icon-button .mat-focus-indicator{top:0;left:0;right:0;bottom:0;position:absolute;border-radius:inherit}.mat-mdc-icon-button:focus-visible>.mat-focus-indicator::before{content:"";border-radius:inherit}.mat-mdc-icon-bLine truncated
`,`@media(forced-colors: active){.mat-mdc-button:not(.mdc-button--outlined),.mat-mdc-unelevated-button:not(.mdc-button--outlined),.mat-mdc-raised-button:not(.mdc-button--outlined),.mat-mdc-outlined-button:not(.mdc-button--outlined),.mat-mdc-button-base.mat-tonal-button,.mat-mdc-icon-button.mat-mdc-icon-button,.mat-mdc-outlined-button .mdc-button__ripple{outline:solid 1px}}
`],encapsulation:2,changeDetection:0})}return t})();var hk=new y("cdk-dir-doc",{providedIn:"root",factory:()=>f(L)}),pk=/^(ar|ckb|dv|he|iw|fa|nqo|ps|sd|ug|ur|yi|.*[-_](Adlm|Arab|Hebr|Nkoo|Rohg|Thaa))(?!.*[-_](Latn|Cyrl)($|-|_))($|-|_)/i;function cC(t){let n=t?.toLowerCase()||"";return n==="auto"&&typeof navigator<"u"&&navigator?.language?pk.test(navigator.language)?"rtl":"ltr":n==="rtl"?"rtl":"ltr"}var fo=(()=>{class t{get value(){return this.valueSignal()}valueSignal=W("ltr");change=new U;constructor(){let e=f(hk,{optional:!0});if(e){let r=e.body?e.body.dir:null,i=e.documentElement?e.documentElement.dir:null;this.valueSignal.set(cC(r||i||"ltr"))}}ngOnDestroy(){this.change.complete()}static \u0275fac=function(r){return new(r||t)};static \u0275prov=v({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();var zn=(()=>{class t{static \u0275fac=function(r){return new(r||t)};static \u0275mod=X({type:t});static \u0275inj=Z({})}return t})();var lC=(()=>{class t{static \u0275fac=function(r){return new(r||t)};static \u0275mod=X({type:t});static \u0275inj=Z({imports:[zn]})}return t})();var mk=["matButton",""],gk=[[["",8,"material-icons",3,"iconPositionEnd",""],["mat-icon",3,"iconPositionEnd",""],["","matButtonIcon","",3,"iconPositionEnd",""]],"*",[["","iconPositionEnd","",8,"material-icons"],["mat-icon","iconPositionEnd",""],["","matButtonIcon","","iconPositionEnd",""]]],vk=[".material-icons:not([iconPositionEnd]), mat-icon:not([iconPositionEnd]), [matButtonIcon]:not([iconPositionEnd])","*",".material-icons[iconPositionEnd], mat-icon[iconPositionEnd], [matButtonIcon][iconPositionEnd]"];var uC=new Map([["text",["mat-mdc-button"]],["filled",["mdc-button--unelevated","mat-mdc-unelevated-button"]],["elevated",["mdc-button--raised","mat-mdc-raised-button"]],["outlined",["mdc-button--outlined","mat-mdc-outlined-button"]],["tonal",["mat-tonal-button"]]]),QK=(()=>{class t extends lg{get appearance(){return this._appearance}set appearance(e){this.setAppearance(e||this._config?.defaultAppearance||"text")}_appearance=null;constructor(){super();let e=yk(this._elementRef.nativeElement);e&&this.setAppearance(e)}setAppearance(e){if(e===this._appearance)return;let r=this._elementRef.nativeElement.classList,i=this._appearance?uC.get(this._appearance):null,o=uC.get(e);i&&r.remove(...i),r.add(...o),this._appearance=e}static \u0275fac=function(r){return new(r||t)};static \u0275cmp=ke({type:t,selectors:[["button","matButton",""],["a","matButton",""],["button","mat-button",""],["button","mat-raised-button",""],["button","mat-flat-button",""],["button","mat-stroked-button",""],["a","mat-button",""],["a","mat-raised-button",""],["a","mat-flat-button",""],["a","mat-stroked-button",""]],hostAttrs:[1,"mdc-button"],inputs:{appearance:[0,"matButton","appearance"]},exportAs:["matButton","matAnchor"],features:[J],attrs:mk,ngContentSelectors:vk,decls:7,vars:4,consts:[[1,"mat-mdc-button-persistent-ripple"],[1,"mdc-button__label"],[1,"mat-focus-indicator"],[1,"mat-mdc-button-touch-target"]],template:function(r,i){r&1&&(ti(gk),vn(0,"span",0),Vn(1),Jr(2,"span",1),Vn(3,1),ei(),Vn(4,2),vn(5,"span",2)(6,"span",3)),r&2&&Xe("mdc-button__ripple",!i._isFab)("mdc-fab__ripple",i._isFab)},styles:[`.mat-mdc-button-base{text-decoration:none}.mat-mdc-button-base .mat-icon{min-height:fit-content;flex-shrink:0}@media(hover: none){.mat-mdc-button-base:hover>span.mat-mdc-button-persistent-ripple::before{opacity:0}}.mdc-button{-webkit-user-select:none;user-select:none;position:relative;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;min-width:64px;border:none;outline:none;line-height:inherit;-webkit-appearance:none;overflow:visible;vertical-align:middle;background:rgba(0,0,0,0);padding:0 8px}.mdc-button::-moz-focus-inner{padding:0;border:0}.mdc-button:active{outline:none}.mdc-button:hover{cursor:pointer}.mdc-button:disabled{cursor:default;pointer-events:none}.mdc-button[hidden]{display:none}.mdc-button .mdc-button__label{position:relative}.mat-mdc-button{padding:0 var(--mat-button-text-horizontal-padding, 12px);height:var(--mat-button-text-container-height, 40px);font-family:var(--mat-button-text-label-text-font, var(--mat-sys-label-large-font));font-size:var(--mat-button-text-label-text-size, var(--mat-sys-label-large-size));letter-spacing:var(--mat-button-text-label-text-tracking, var(--mat-sys-label-large-tracking));text-transform:var(--mat-button-text-label-text-transform);font-weight:var(--mat-button-text-label-text-weight, var(--mat-sys-label-large-weight))}.mat-mdc-button,.mat-mdc-button .mdc-button__ripple{border-radius:var(--mat-button-text-container-shape, var(--mat-sys-corner-full))}.mat-mdc-button:not(:disabled){color:var(--mat-button-text-label-text-color, var(--mat-sys-primary))}.mat-mdc-button[disabled],.mat-mdc-button.mat-mdc-button-disabled{cursor:default;pointer-events:none;color:var(--mat-button-text-disabled-label-text-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent))}.mat-mdc-button.maLine truncated
`,`@media(forced-colors: active){.mat-mdc-button:not(.mdc-button--outlined),.mat-mdc-unelevated-button:not(.mdc-button--outlined),.mat-mdc-raised-button:not(.mdc-button--outlined),.mat-mdc-outlined-button:not(.mdc-button--outlined),.mat-mdc-button-base.mat-tonal-button,.mat-mdc-icon-button.mat-mdc-icon-button,.mat-mdc-outlined-button .mdc-button__ripple{outline:solid 1px}}
`],encapsulation:2,changeDetection:0})}return t})();function yk(t){return t.hasAttribute("mat-raised-button")?"elevated":t.hasAttribute("mat-stroked-button")?"outlined":t.hasAttribute("mat-flat-button")?"filled":t.hasAttribute("mat-button")?"text":null}var XK=(()=>{class t{static \u0275fac=function(r){return new(r||t)};static \u0275mod=X({type:t});static \u0275inj=Z({imports:[lC,zn]})}return t})();var wu={production:!0,electron:!1,githubio:!1,solarputty_download_url:"",current_version:"v3",compute_id:"local"};var na=class{};function bk(t){return t&&typeof t.connect=="function"&&!(t instanceof ko)}var ug=class extends na{_data;constructor(n){super(),this._data=n}connect(){return Ft(this._data)?this._data:T(this._data)}disconnect(){}},_n=(function(t){return t[t.REPLACED=0]="REPLACED",t[t.INSERTED=1]="INSERTED",t[t.MOVED=2]="MOVED",t[t.REMOVED=3]="REMOVED",t})(_n||{}),dg=class{viewCacheSize=20;_viewCache=[];applyChanges(n,e,r,i,o){n.forEachOperation((s,a,c)=>{let l,u;if(s.previousIndex==null){let d=()=>r(s,a,c);l=this._insertView(d,c,e,i(s)),u=l?_n.INSERTED:_n.REPLACED}else c==null?(this._detachAndCacheView(a,e),u=_n.REMOVED):(l=this._moveView(a,c,e,i(s)),u=_n.MOVED);o&&o({context:l?.context,operation:u,record:s})})}detach(){for(let n of this._viewCache)n.destroy();this._viewCache=[]}_insertView(n,e,r,i){let o=this._insertViewFromCache(e,r);if(o){o.context.$implicit=i;return}let s=n();return r.createEmbeddedView(s.templateRef,s.context,s.index)}_detachAndCacheView(n,e){let r=e.detach(n);this._maybeCacheView(r,e)}_moveView(n,e,r,i){let o=r.get(n);return r.move(o,e),o.context.$implicit=i,o}_maybeCacheView(n,e){if(this._viewCache.length<this.viewCacheSize)this._viewCache.push(n);else{let r=e.indexOf(n);r===-1?n.destroy():e.remove(r)}}_insertViewFromCache(n,e){let r=this._viewCache.pop();return r&&e.insert(r,n),r||null}};var _k=["contentWrapper"],Dk=["*"],fC=new y("VIRTUAL_SCROLL_STRATEGY"),fg=class{_scrolledIndexChange=new S;scrolledIndexChange=this._scrolledIndexChange.pipe(Si());_viewport=null;_itemSize;_minBufferPx;_maxBufferPx;constructor(n,e,r){this._itemSize=n,this._minBufferPx=e,this._maxBufferPx=r}attach(n){this._viewport=n,this._updateTotalContentSize(),this._updateRenderedRange()}detach(){this._scrolledIndexChange.complete(),this._viewport=null}updateItemAndBufferSize(n,e,r){r<e,this._itemSize=n,this._minBufferPx=e,this._maxBufferPx=r,this._updateTotalContentSize(),this._updateRenderedRange()}onContentScrolled(){this._updateRenderedRange()}onDataLengthChanged(){this._updateTotalContentSize(),this._updateRenderedRange()}onContentRendered(){}onRenderedOffsetChanged(){}scrollToIndex(n,e){this._viewport&&this._viewport.scrollToOffset(n*this._itemSize,e)}_updateTotalContentSize(){this._viewport&&this._viewport.setTotalContentSize(this._viewport.getDataLength()*this._itemSize)}_updateRenderedRange(){if(!this._viewport)return;let n=this._viewport.getRenderedRange(),e={start:n.start,end:n.end},r=this._viewport.getViewportSize(),i=this._viewport.getDataLength(),o=this._viewport.measureScrollOffset(),s=this._itemSize>0?o/this._itemSize:0;if(e.end>i){let c=Math.ceil(r/this._itemSize),l=Math.max(0,Math.min(s,i-c));s!=l&&(s=l,o=l*this._itemSize,e.start=Math.floor(s)),e.end=Math.max(0,Math.min(i,e.start+c))}let a=o-e.start*this._itemSize;if(a<this._minBufferPx&&e.start!=0){let c=Math.ceil((this._maxBufferPx-a)/this._itemSize);e.start=Math.max(0,e.start-c),e.end=Math.min(i,Math.ceil(s+(r+this._minBufferPx)/this._itemSize))}else{let c=e.end*this._itemSize-(o+r);if(c<this._minBufferPx&&e.end!=i){let l=Math.ceil((this._maxBufferPx-c)/this._itemSize);l>0&&(e.end=Math.min(i,e.end+l),e.start=Math.max(0,Math.floor(s-this._minBufferPx/this._itemSize)))}}this._viewport.setRenderedRange(e),this._viewport.setRenderedContentOffset(Math.round(this._itemSize*e.start)),this._scrolledIndexChange.next(Math.floor(s))}};function Ek(t){return t._scrollStrategy}var wk=(()=>{class t{get itemSize(){return this._itemSize}set itemSize(e){this._itemSize=ii(e)}_itemSize=20;get minBufferPx(){return this._minBufferPx}set minBufferPx(e){this._minBufferPx=ii(e)}_minBufferPx=100;get maxBufferPx(){return this._maxBufferPx}set maxBufferPx(e){this._maxBufferPx=ii(e)}_maxBufferPx=200;_scrollStrategy=new fg(this.itemSize,this.minBufferPx,this.maxBufferPx);ngOnChanges(){this._scrollStrategy.updateItemAndBufferSize(this.itemSize,this.minBufferPx,this.maxBufferPx)}static \u0275fac=function(r){return new(r||t)};static \u0275dir=M({type:t,selectors:[["cdk-virtual-scroll-viewport","itemSize",""]],inputs:{itemSize:"itemSize",minBufferPx:"minBufferPx",maxBufferPx:"maxBufferPx"},features:[we([{provide:fC,useFactory:Ek,deps:[be(()=>t)]}]),Re]})}return t})(),Ck=20,ra=(()=>{class t{_ngZone=f(j);_platform=f(he);_renderer=f(je).createRenderer(null,null);_cleanupGlobalListener;constructor(){}_scrolled=new S;_scrolledCount=0;scrollContainers=new Map;register(e){this.scrollContainers.has(e)||this.scrollContainers.set(e,e.elementScrolled().subscribe(()=>this._scrolled.ne Line truncated
`],encapsulation:2,changeDetection:0})}return t})();var hg=(()=>{class t{static \u0275fac=function(r){return new(r||t)};static \u0275mod=X({type:t});static \u0275inj=Z({})}return t})(),mg=(()=>{class t{static \u0275fac=function(r){return new(r||t)};static \u0275mod=X({type:t});static \u0275inj=Z({imports:[zn,hg,zn,hg]})}return t})();var ia=class{_attachedHost=null;attach(n){return this._attachedHost=n,n.attach(this)}detach(){let n=this._attachedHost;n!=null&&(this._attachedHost=null,n.detach())}get isAttached(){return this._attachedHost!=null}setAttachedHost(n){this._attachedHost=n}},gg=class extends ia{component;viewContainerRef;injector;projectableNodes;bindings;constructor(n,e,r,i,o){super(),this.component=n,this.viewContainerRef=e,this.injector=r,this.projectableNodes=i,this.bindings=o||null}},ho=class extends ia{templateRef;viewContainerRef;context;injector;constructor(n,e,r,i){super(),this.templateRef=n,this.viewContainerRef=e,this.context=r,this.injector=i}get origin(){return this.templateRef.elementRef}attach(n,e=this.context){return this.context=e,super.attach(n)}detach(){return this.context=void 0,super.detach()}},vg=class extends ia{element;constructor(n){super(),this.element=n instanceof z?n.nativeElement:n}},Cu=class{_attachedPortal=null;_disposeFn=null;_isDisposed=!1;hasAttached(){return!!this._attachedPortal}attach(n){if(n instanceof gg)return this._attachedPortal=n,this.attachComponentPortal(n);if(n instanceof ho)return this._attachedPortal=n,this.attachTemplatePortal(n);if(this.attachDomPortal&&n instanceof vg)return this._attachedPortal=n,this.attachDomPortal(n)}attachDomPortal=null;detach(){this._attachedPortal&&(this._attachedPortal.setAttachedHost(null),this._attachedPortal=null),this._invokeDisposeFn()}dispose(){this.hasAttached()&&this.detach(),this._invokeDisposeFn(),this._isDisposed=!0}setDisposeFn(n){this._disposeFn=n}_invokeDisposeFn(){this._disposeFn&&(this._disposeFn(),this._disposeFn=null)}},Iu=class extends Cu{outletElement;_appRef;_defaultInjector;constructor(n,e,r){super(),this.outletElement=n,this._appRef=e,this._defaultInjector=r}attachComponentPortal(n){let e;if(n.viewContainerRef){let r=n.injector||n.viewContainerRef.injector,i=r.get(mn,null,{optional:!0})||void 0;e=n.viewContainerRef.createComponent(n.component,{index:n.viewContainerRef.length,injector:r,ngModuleRef:i,projectableNodes:n.projectableNodes||void 0,bindings:n.bindings||void 0}),this.setDisposeFn(()=>e.destroy())}else{let r=this._appRef,i=n.injector||this._defaultInjector||$.NULL,o=i.get(re,r.injector);e=Ul(n.component,{elementInjector:i,environmentInjector:o,projectableNodes:n.projectableNodes||void 0,bindings:n.bindings||void 0}),r.attachView(e.hostView),this.setDisposeFn(()=>{r.viewCount>0&&r.detachView(e.hostView),e.destroy()})}return this.outletElement.appendChild(this._getComponentRootNode(e)),this._attachedPortal=n,e}attachTemplatePortal(n){let e=n.viewContainerRef,r=e.createEmbeddedView(n.templateRef,n.context,{injector:n.injector});return r.rootNodes.forEach(i=>this.outletElement.appendChild(i)),r.detectChanges(),this.setDisposeFn(()=>{let i=e.indexOf(r);i!==-1&&e.remove(i)}),this._attachedPortal=n,r}attachDomPortal=n=>{let e=n.element;e.parentNode;let r=this.outletElement.ownerDocument.createComment("dom-portal");e.parentNode.insertBefore(r,e),this.outletElement.appendChild(e),this._attachedPortal=n,super.setDisposeFn(()=>{r.parentNode&&r.parentNode.replaceChild(e,r)})};dispose(){super.dispose(),this.outletElement.remove()}_getComponentRootNode(n){return n.hostView.rootNodes[0]}},x7=(()=>{class t extends ho{constructor(){let e=f(dt),r=f(qe);super(e,r)}static \u0275fac=function(r){return new(r||t)};static \u0275dir=M({type:t,selectors:[["","cdkPortal",""]],exportAs:["cdkPortal"],features:[J]})}return t})(),A7=(()=>{class t extends Cu{_moduleRef=f(mn,{optional:!0});_document=f(L);_viewContainerRef=f(qe);_isInitialized=!1;_attachedRef=null;constructor(){super()}get portal(){return this._attachedPortal}set portal(e){this.hasAttached()&&!e&&!this._isInitialized||(this.hasAttached()&&super.detach(),e&&super.attach(e),this._attachedPortal=e||null)}attached=new U;get attachedRef(){return this._attachedRef}ngOnInit(){this._isInitialized=!0}ngOnDestroy(){super.dispose(),this._attachedRef=this._attachedPortal=null}attachComponentPortal(e){e.setAttachedHost(this);let r=e.viewContainerRef!=null?e.viewContainerRef:this._viewContainerRef,i=r.createComponent(e.component,{index:r.length,injector:e.injector||r.injector,projectableNodes:e.projectableNodes||void 0,ngModuleRef:this._moduleRef||void 0,bindings:e.bindings||void 0});return r!==this._viewContainerRef&&this._getRootNode().appendChild(i.hostView.rootNodes[0]),super.setDisposeFn(()=>i.destroy()),this._attachedPortal=e,this._attachedRef=i,this.attached.emit(i),i}attachTemplatePortal(e){e.setAttachedHost(this);let r=this._viewContainerRef.createEmbeddedView(e.templateRef,e.context,{injector:e.injector});return super.setDisposeFn(()=>this._viewContainerRef.clea Line truncated
`],encapsulation:2,changeDetection:0})}return t})(),Eg=(()=>{class t{_platform=f(he);_containerElement;_document=f(L);_styleLoader=f(xt);constructor(){}ngOnDestroy(){this._containerElement?.remove()}getContainerElement(){return this._loadStyles(),this._containerElement||this._createContainer(),this._containerElement}_createContainer(){let e="cdk-overlay-container";if(this._platform.isBrowser||rg()){let i=this._document.querySelectorAll(`.${e}[platform="server"], .${e}[platform="test"]`);for(let o=0;o<i.length;o++)i[o].remove()}let r=this._document.createElement("div");r.classList.add(e),rg()?r.setAttribute("platform","test"):this._platform.isBrowser||r.setAttribute("platform","server"),this._document.body.appendChild(r),this._containerElement=r}_loadStyles(){this._styleLoader.load(MC)}static \u0275fac=function(r){return new(r||t)};static \u0275prov=v({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),bg=class{_renderer;_ngZone;element;_cleanupClick;_cleanupTransitionEnd;_fallbackTimeout;constructor(n,e,r,i){this._renderer=e,this._ngZone=r,this.element=n.createElement("div"),this.element.classList.add("cdk-overlay-backdrop"),this._cleanupClick=e.listen(this.element,"click",i)}detach(){this._ngZone.runOutsideAngular(()=>{let n=this.element;clearTimeout(this._fallbackTimeout),this._cleanupTransitionEnd?.(),this._cleanupTransitionEnd=this._renderer.listen(n,"transitionend",this.dispose),this._fallbackTimeout=setTimeout(this.dispose,500),n.style.pointerEvents="none",n.classList.remove("cdk-overlay-backdrop-showing")})}dispose=()=>{clearTimeout(this._fallbackTimeout),this._cleanupClick?.(),this._cleanupTransitionEnd?.(),this._cleanupClick=this._cleanupTransitionEnd=this._fallbackTimeout=void 0,this.element.remove()}};function wg(t){return t&&t.nodeType===1}var Au=class{_portalOutlet;_host;_pane;_config;_ngZone;_keyboardDispatcher;_document;_location;_outsideClickDispatcher;_animationsDisabled;_injector;_renderer;_backdropClick=new S;_attachments=new S;_detachments=new S;_positionStrategy;_scrollStrategy;_locationChanges=G.EMPTY;_backdropRef=null;_detachContentMutationObserver;_detachContentAfterRenderRef;_disposed=!1;_previousHostParent;_keydownEvents=new S;_outsidePointerEvents=new S;_afterNextRenderRef;constructor(n,e,r,i,o,s,a,c,l,u=!1,d,h){this._portalOutlet=n,this._host=e,this._pane=r,this._config=i,this._ngZone=o,this._keyboardDispatcher=s,this._document=a,this._location=c,this._outsideClickDispatcher=l,this._animationsDisabled=u,this._injector=d,this._renderer=h,i.scrollStrategy&&(this._scrollStrategy=i.scrollStrategy,this._scrollStrategy.attach(this)),this._positionStrategy=i.positionStrategy}get overlayElement(){return this._pane}get backdropElement(){return this._backdropRef?.element||null}get hostElement(){return this._host}get eventPredicate(){return this._config?.eventPredicate||null}attach(n){if(this._disposed)return null;this._attachHost();let e=this._portalOutlet.attach(n);return this._positionStrategy?.attach(this),this._updateStackingOrder(),this._updateElementSize(),this._updateElementDirection(),this._scrollStrategy&&this._scrollStrategy.enable(),this._afterNextRenderRef?.destroy(),this._afterNextRenderRef=ht(()=>{this.hasAttached()&&this.updatePosition()},{injector:this._injector}),this._togglePointerEvents(!0),this._config.hasBackdrop&&this._attachBackdrop(),this._config.panelClass&&this._toggleClasses(this._pane,this._config.panelClass,!0),this._attachments.next(),this._completeDetachContent(),this._keyboardDispatcher.add(this),this._config.disposeOnNavigation&&(this._locationChanges=this._location.subscribe(()=>this.dispose())),this._outsideClickDispatcher.add(this),typeof e?.onDestroy=="function"&&e.onDestroy(()=>{this.hasAttached()&&this._ngZone.runOutsideAngular(()=>Promise.resolve().then(()=>this.detach()))}),e}detach(){if(!this.hasAttached())return;this.detachBackdrop(),this._togglePointerEvents(!1),this._positionStrategy&&this._positionStrategy.detach&&this._positionStrategy.detach(),this._scrollStrategy&&this._scrollStrategy.disable();let n=this._portalOutlet.detach();return this._detachments.next(),this._completeDetachContent(),this._keyboardDispatcher.remove(this),this._detachContentWhenEmpty(),this._locationChanges.unsubscribe(),this._outsideClickDispatcher.remove(this),n}dispose(){if(this._disposed)return;let n=this.hasAttached();this._positionStrategy&&this._positionStrategy.dispose(),this._disposeScrollStrategy(),this._backdropRef?.dispose(),this._locationChanges.unsubscribe(),this._keyboardDispatcher.remove(this),this._portalOutlet.dispose(),this._attachments.complete(),this._backdropClick.complete(),this._keydownEvents.complete(),this._outsidePointerEvents.complete(),this._outsideClickDispatcher.remove(this),this._host?.remove(),this._afterNextRenderRef?.destroy(),this._previousHostParent=this._pane=this._host=this._backdropRef=null,n&&this._detachments.next(),this._detachments.complete(),this._completeDetachContent(),this._disposed=!0}hasAttached(){return this._ Line truncated
`],encapsulation:2,changeDetection:0})}return t})();export{g as a,F as b,wS as c,yL as d,bL as e,_L as f,G as g,O as h,S as i,Ie as j,Po as k,Pd as l,Ld as m,Se as n,se as o,T as p,Tr as q,Ft as r,BS as s,HS as t,H as u,Ii as v,ve as w,rn as x,Vo as y,Vd as z,Bd as A,xr as B,iM as C,oM as D,fe as E,Bo as F,on as G,Ud as H,Xn as I,sM as J,Ar as K,Be as L,Hd as M,aM as N,Si as O,Mi as P,oc as Q,ty as R,Gd as S,ny as T,Uo as U,Rr as V,Ue as W,at as X,nt as Y,b as Z,be as _,v as $,Z as aa,y as ba,w as ca,f as da,My as ea,re as fa,By as ga,Uy as ha,Jy as ia,eb as ja,$ as ka,L as la,Ae as ma,U as na,j as oa,_t as pa,W as qa,$i as ra,Re as sa,Ne as ta,z as ua,Fn as va,Xr as wa,ws as xa,it as ya,i0 as za,N_ as Aa,O_ as Ba,c0 as Ca,l0 as Da,vp as Ea,ht as Fa,dt as Ga,je as Ha,Oe as Ia,D as Ja,xp as Ka,qe as La,ke as Ma,X as Na,M as Oa,As as Pa,uA as Qa,J as Ra,PD as Sa,LD as Ta,no as Ua,He as Va,HD as Wa,Yt as Xa,wA as Ya,IA as Za,Hp as _a,SA as $a,MA as ab,TA as bb,xA as cb,AA as db,$D as eb,sl as fb,$p as gb,Rl as hb,Jr as ib,ei as jb,vn as kb,zp as lb,Gp as mb,GD as nb,PA as ob,WD as pb,Zt as qb,YD as rb,UA as sb,ti as tb,Vn as ub,Nl as vb,Ol as wb,Os as xb,ks as yb,KD as zb,QD as Ab,zA as Bb,GA as Cb,kl as Db,Xe as Eb,Wp as Fb,fR as Gb,sE as Hb,qp as Ib,aE as Jb,cE as Kb,lE as Lb,gR as Mb,uE as Nb,vR as Ob,yR as Pb,we as Qb,ER as Rb,wR as Sb,CR as Tb,IR as Ub,SR as Vb,TR as Wb,AR as Xb,RR as Yb,NR as Zb,OR as _b,kR as $b,q as ac,Kt as bc,Ll as cc,z4 as dc,G4 as ec,xE as fc,W4 as gc,q4 as hc,Y4 as ic,Z4 as jc,St as kc,Bl as lc,ue as mc,dm as nc,Q4 as oc,yn as pc,CN as qc,ew as rc,IN as sc,SN as tc,MN as uc,AN as vc,NN as wc,FN as xc,Em as yc,rw as zc,Nm as Ac,KN as Bc,rO as Cc,bn as Dc,$n as Ec,ro as Fc,ri as Gc,io as Hc,Ew as Ic,uu as Jc,IO as Kc,Mw as Lc,x9 as Mc,Hm as Nc,zm as Oc,RO as Pc,Je as Qc,xt as Rc,Zs as Sc,Ks as Tc,ii as Uc,Aw as Vc,Tt as Wc,he as Xc,fo as Yc,zn as Zc,na as _c,bk as $c,ug as ad,_n as bd,dg as cd,wk as dd,ra as ed,pg as fd,ci as gd,xk as hd,Ak as id,hg as jd,mg as kd,Js as ld,oi as md,gg as nd,ho as od,Cu as pd,Iu as qd,x7 as rd,A7 as sd,hC as td,vu as ud,DC as vd,Dg as wd,sa as xd,Eg as yd,Au as zd,Cg as Ad,TC as Bd,Ig as Cd,Sg as Dd,_g as Ed,Fk as Fd,Pk as Gd,gS as Hd,di as Id,HC as Jd,Dn as Kd,NC as Ld,et as Md,Gn as Nd,FQ as Od,PQ as Pd,ui as Qd,LQ as Rd,rF as Sd,go as Td,VQ as Ud,aF as Vd,BQ as Wd,lF as Xd,dF as Yd,aI as Zd,cI as _d,mF as $d,vF as ae,UQ as be,HQ as ce,wF as de,IF as ee,MF as fe,TF as ge,$Q as he,zQ as ie,GQ as je,fu as ke,NO as le,mu as me,kO as ne,gu as oe,qm as pe,AY as qe,Uw as re,jO as se,ZO as te,QO as ue,XO as ve,Qm as we,Xm as xe,Jm as ye,SZ as ze,ek as Ae,tk as Be,PZ as Ce,iK as De,WZ as Ee,QZ as Fe,rk as Ge,mr as He,br as Ie,yt as Je,Rt as Ke,mi as Le,Yn as Me,uv as Ne,bt as Oe,Ed as Pe,iL as Qe,lL as Re,ta as Se,sg as Te,bK as Ue,oC as Ve,sC as We,fk as Xe,lC as Ye,QK as Ze,XK as _e,wu as $e,gL as af,KX as bf,vL as cf,_v as df,uJ as ef};
@@ -1,4 +1,4 @@
import{$a as A,Ab as X,B as ht,Ba as de,C as ie,Ca as vt,Ea as I,Fc as st,G as ne,Gb as yt,Gd as we,H as rt,Hc as y,Ib as Wt,Ic as xt,J as f,Ja as K,Jb as tt,Lb as Ct,Le as Rt,Mb as St,Md as z,Nb as It,O as N,Ob as _e,Od as Qt,Oe as it,Pb as et,Pd as Te,Qa as k,Qb as U,Qd as De,Rb as W,S as ae,Sa as ue,Ta as ge,Td as ct,Te as Fe,Uc as ye,Ud as dt,Ue as Re,Va as me,Vb as kt,Vd as ot,W as re,Wb as wt,Wd as Ot,We as Ne,Xb as O,Yb as Tt,Yd as xe,Z as pt,Zd as Ae,_d as Ee,a as M,aa as ft,ab as E,ae as Mt,b as Xt,bb as L,cd as Ce,ce as Oe,da as se,db as he,ea as D,eb as Z,fa as x,fb as Y,fe as Ft,ff as Pe,g as te,gf as ut,ha as h,hc as be,he as Me,i as Ht,ia as S,id as At,j as T,ja as l,jf as Le,k as ee,l as Vt,lf as Be,md as Se,nf as je,ob as g,od as Et,pa as Ut,q as Q,qa as le,qb as pe,qd as Ie,r as m,ra as F,rc as ve,sa as J,sb as fe,sf as Nt,td as $t,uf as ze,v as oe,va as P,vf as Ge,w as q,wa as ce,wd as ke,xa as _t,xb as B,xc as Dt,xd as lt,yb as v,yd as j,za as bt,zb as w}from"./chunk-2OQWUQKO.js";var co=["determinateSpinner"];function uo(i,s){if(i&1&&(Ut(),v(0,"svg",11),X(1,"circle",12),w()),i&2){let t=Ct();g("viewBox",t._viewBox()),k(),wt("stroke-dasharray",t._strokeCircumference(),"px")("stroke-dashoffset",t._strokeCircumference()/2,"px")("stroke-width",t._circleStrokeWidth(),"%"),g("r",t._circleRadius())}}var go=new h("mat-progress-spinner-default-options",{providedIn:"root",factory:()=>({diameter:He})}),He=100,mo=10,ni=(()=>{class i{_elementRef=l(I);_noopAnimations;get color(){return this._color||this._defaultColor}set color(t){this._color=t}_color;_defaultColor="primary";_determinateCircle;constructor(){let t=l(go),e=Pe(),o=this._elementRef.nativeElement;this._noopAnimations=e==="di-disabled"&&!!t&&!t._forceAnimations,this.mode=o.nodeName.toLowerCase()==="mat-spinner"?"indeterminate":"determinate",!this._noopAnimations&&e==="reduced-motion"&&o.classList.add("mat-progress-spinner-reduced-motion"),t&&(t.color&&(this.color=this._defaultColor=t.color),t.diameter&&(this.diameter=t.diameter),t.strokeWidth&&(this.strokeWidth=t.strokeWidth))}mode;get value(){return this.mode==="determinate"?this._value:0}set value(t){this._value=Math.max(0,Math.min(100,t||0))}_value=0;get diameter(){return this._diameter}set diameter(t){this._diameter=t||0}_diameter=He;get strokeWidth(){return this._strokeWidth??this.diameter/10}set strokeWidth(t){this._strokeWidth=t||0}_strokeWidth;_circleRadius(){return(this.diameter-mo)/2}_viewBox(){let t=this._circleRadius()*2+this.strokeWidth;return`0 0 ${t} ${t}`}_strokeCircumference(){return 2*Math.PI*this._circleRadius()}_strokeDashOffset(){return this.mode==="determinate"?this._strokeCircumference()*(100-this._value)/100:null}_circleStrokeWidth(){return this.strokeWidth/this.diameter*100}static \u0275fac=function(e){return new(e||i)};static \u0275cmp=A({type:i,selectors:[["mat-progress-spinner"],["mat-spinner"]],viewQuery:function(e,o){if(e&1&&et(co,5),e&2){let n;U(n=W())&&(o._determinateCircle=n.first)}},hostAttrs:["role","progressbar","tabindex","-1",1,"mat-mdc-progress-spinner","mdc-circular-progress"],hostVars:18,hostBindings:function(e,o){e&2&&(g("aria-valuemin",0)("aria-valuemax",100)("aria-valuenow",o.mode==="determinate"?o.value:null)("mode",o.mode),Tt("mat-"+o.color),wt("width",o.diameter,"px")("height",o.diameter,"px")("--mat-progress-spinner-size",o.diameter+"px")("--mat-progress-spinner-active-indicator-width",o.diameter+"px"),O("_mat-animation-noopable",o._noopAnimations)("mdc-circular-progress--indeterminate",o.mode==="indeterminate"))},inputs:{color:"color",mode:"mode",value:[2,"value","value",xt],diameter:[2,"diameter","diameter",xt],strokeWidth:[2,"strokeWidth","strokeWidth",xt]},exportAs:["matProgressSpinner"],decls:14,vars:11,consts:[["circle",""],["determinateSpinner",""],["aria-hidden","true",1,"mdc-circular-progress__determinate-container"],["xmlns","http://www.w3.org/2000/svg","focusable","false",1,"mdc-circular-progress__determinate-circle-graphic"],["cx","50%","cy","50%",1,"mdc-circular-progress__determinate-circle"],["aria-hidden","true",1,"mdc-circular-progress__indeterminate-container"],[1,"mdc-circular-progress__spinner-layer"],[1,"mdc-circular-progress__circle-clipper","mdc-circular-progress__circle-left"],[3,"ngTemplateOutlet"],[1,"mdc-circular-progress__gap-patch"],[1,"mdc-circular-progress__circle-clipper","mdc-circular-progress__circle-right"],["xmlns","http://www.w3.org/2000/svg","focusable","false",1,"mdc-circular-progress__indeterminate-circle-graphic"],["cx","50%","cy","50%"]],template:function(e,o){if(e&1&&(Y(0,uo,2,8,"ng-template",null,0,ve),v(2,"div",2,1),Ut(),v(4,"svg",3),X(5,"circle",4),w()(),le(),v(6,"div",5)(7,"div",6)(8,"div",7),yt(9,8),w(),v(10,"div",9),yt(11,8),w(),v(12,"div",10),yt(13,8),w()()()),e&2){let n=kt(1);k(4),g("viewBox",o._viewBox()),k(),wt("stroke-dasharray",o._strokeCircumference(),"px")("stroke-dashoffset",o._strokeDashOffset(),"px")("stroke-width",o._circleStrokeWidth(),"%"),g("r",o._circleRadius()),k(4),B("ngTemplateOuLine truncated
import{$ as D,$a as fe,Bd as Mt,Cb as kt,D as ne,Db as wt,Dc as Ce,Dd as Oe,E as rt,Ea as k,Eb as O,Fa as ue,Fb as Tt,G as f,Ga as ge,Gd as Ft,Ge as Pe,He as ut,Ia as me,Id as Me,Jc as At,L as N,Ma as A,Na as E,Nc as Se,Oa as L,P as ae,Pc as Et,Qa as he,Qb as be,Ra as Z,Rc as Ie,S as re,Sa as Y,Uc as $t,Ue as Le,V as pt,We as Be,Xa as g,Xc as ke,Y as ft,Yc as lt,Ye as je,Za as pe,Zc as j,_ as se,_b as ve,a as M,aa as x,b as Xt,ba as h,bf as Nt,ca as S,cc as Dt,da as l,df as ze,eb as B,ef as Ge,fb as v,fd as we,g as te,gb as w,h as Ht,hb as X,i as T,ia as Ut,j as ee,ja as le,k as Vt,ka as F,kc as st,ke as Rt,la as J,ld as z,mc as y,na as P,nb as yt,nc as xt,nd as Qt,ne as it,oa as ce,od as Te,p as Q,pa as _t,pb as Wt,pd as De,q as m,qa as bt,qb as tt,sa as de,sb as Ct,sd as ct,se as Fe,t as oe,ta as vt,tb as St,td as dt,te as Re,u as q,ua as I,ub as It,uc as ye,ud as ot,vb as _e,vd as Ot,ve as Ne,wb as et,xb as U,xd as xe,y as ht,ya as K,yb as W,yd as Ae,z as ie,zd as Ee}from"./chunk-72DGZVTL.js";var co=["determinateSpinner"];function uo(i,s){if(i&1&&(Ut(),v(0,"svg",11),X(1,"circle",12),w()),i&2){let t=Ct();g("viewBox",t._viewBox()),k(),wt("stroke-dasharray",t._strokeCircumference(),"px")("stroke-dashoffset",t._strokeCircumference()/2,"px")("stroke-width",t._circleStrokeWidth(),"%"),g("r",t._circleRadius())}}var go=new h("mat-progress-spinner-default-options",{providedIn:"root",factory:()=>({diameter:He})}),He=100,mo=10,ni=(()=>{class i{_elementRef=l(I);_noopAnimations;get color(){return this._color||this._defaultColor}set color(t){this._color=t}_color;_defaultColor="primary";_determinateCircle;constructor(){let t=l(go),e=Pe(),o=this._elementRef.nativeElement;this._noopAnimations=e==="di-disabled"&&!!t&&!t._forceAnimations,this.mode=o.nodeName.toLowerCase()==="mat-spinner"?"indeterminate":"determinate",!this._noopAnimations&&e==="reduced-motion"&&o.classList.add("mat-progress-spinner-reduced-motion"),t&&(t.color&&(this.color=this._defaultColor=t.color),t.diameter&&(this.diameter=t.diameter),t.strokeWidth&&(this.strokeWidth=t.strokeWidth))}mode;get value(){return this.mode==="determinate"?this._value:0}set value(t){this._value=Math.max(0,Math.min(100,t||0))}_value=0;get diameter(){return this._diameter}set diameter(t){this._diameter=t||0}_diameter=He;get strokeWidth(){return this._strokeWidth??this.diameter/10}set strokeWidth(t){this._strokeWidth=t||0}_strokeWidth;_circleRadius(){return(this.diameter-mo)/2}_viewBox(){let t=this._circleRadius()*2+this.strokeWidth;return`0 0 ${t} ${t}`}_strokeCircumference(){return 2*Math.PI*this._circleRadius()}_strokeDashOffset(){return this.mode==="determinate"?this._strokeCircumference()*(100-this._value)/100:null}_circleStrokeWidth(){return this.strokeWidth/this.diameter*100}static \u0275fac=function(e){return new(e||i)};static \u0275cmp=A({type:i,selectors:[["mat-progress-spinner"],["mat-spinner"]],viewQuery:function(e,o){if(e&1&&et(co,5),e&2){let n;U(n=W())&&(o._determinateCircle=n.first)}},hostAttrs:["role","progressbar","tabindex","-1",1,"mat-mdc-progress-spinner","mdc-circular-progress"],hostVars:18,hostBindings:function(e,o){e&2&&(g("aria-valuemin",0)("aria-valuemax",100)("aria-valuenow",o.mode==="determinate"?o.value:null)("mode",o.mode),Tt("mat-"+o.color),wt("width",o.diameter,"px")("height",o.diameter,"px")("--mat-progress-spinner-size",o.diameter+"px")("--mat-progress-spinner-active-indicator-width",o.diameter+"px"),O("_mat-animation-noopable",o._noopAnimations)("mdc-circular-progress--indeterminate",o.mode==="indeterminate"))},inputs:{color:"color",mode:"mode",value:[2,"value","value",xt],diameter:[2,"diameter","diameter",xt],strokeWidth:[2,"strokeWidth","strokeWidth",xt]},exportAs:["matProgressSpinner"],decls:14,vars:11,consts:[["circle",""],["determinateSpinner",""],["aria-hidden","true",1,"mdc-circular-progress__determinate-container"],["xmlns","http://www.w3.org/2000/svg","focusable","false",1,"mdc-circular-progress__determinate-circle-graphic"],["cx","50%","cy","50%",1,"mdc-circular-progress__determinate-circle"],["aria-hidden","true",1,"mdc-circular-progress__indeterminate-container"],[1,"mdc-circular-progress__spinner-layer"],[1,"mdc-circular-progress__circle-clipper","mdc-circular-progress__circle-left"],[3,"ngTemplateOutlet"],[1,"mdc-circular-progress__gap-patch"],[1,"mdc-circular-progress__circle-clipper","mdc-circular-progress__circle-right"],["xmlns","http://www.w3.org/2000/svg","focusable","false",1,"mdc-circular-progress__indeterminate-circle-graphic"],["cx","50%","cy","50%"]],template:function(e,o){if(e&1&&(Y(0,uo,2,8,"ng-template",null,0,ve),v(2,"div",2,1),Ut(),v(4,"svg",3),X(5,"circle",4),w()(),le(),v(6,"div",5)(7,"div",6)(8,"div",7),yt(9,8),w(),v(10,"div",9),yt(11,8),w(),v(12,"div",10),yt(13,8),w()()()),e&2){let n=kt(1);k(4),g("viewBox",o._viewBox()),k(),wt("stroke-dasharray",o._strokeCircumference(),"px")("stroke-dashoffset",o._strokeDashOffset(),"px")("stroke-width",o._circleStrokeWidth(),"%"),g("r",o._circleRadius()),k(4),B("ngTemplateOutleLine truncated
`],encapsulation:2,changeDetection:0})}return i})();var ai=(()=>{class i{static \u0275fac=function(e){return new(e||i)};static \u0275mod=E({type:i});static \u0275inj=x({imports:[j]})}return i})();function Ve(i){return Error(`Unable to find icon with the name "${i}"`)}function po(){return Error("Could not find HttpClient for use with Angular Material icons. Please add provideHttpClient() to your providers.")}function Ue(i){return Error(`The URL provided to MatIconRegistry was not trusted as a resource URL via Angular's DomSanitizer. Attempted URL was "${i}".`)}function We(i){return Error(`The literal provided to MatIconRegistry was not trusted as safe HTML by Angular's DomSanitizer. Attempted literal was "${i}".`)}var R=class{url;svgText;options;svgElement=null;constructor(s,t,e){this.url=s,this.svgText=t,this.options=e}},Qe=(()=>{class i{_httpClient;_sanitizer;_errorHandler;_document;_svgIconConfigs=new Map;_iconSetConfigs=new Map;_cachedIconsByUrl=new Map;_inProgressUrlFetches=new Map;_fontCssClassesByAlias=new Map;_resolvers=[];_defaultFontSetClass=["material-icons","mat-ligature-font"];constructor(t,e,o,n){this._httpClient=t,this._sanitizer=e,this._errorHandler=n,this._document=o}addSvgIcon(t,e,o){return this.addSvgIconInNamespace("",t,e,o)}addSvgIconLiteral(t,e,o){return this.addSvgIconLiteralInNamespace("",t,e,o)}addSvgIconInNamespace(t,e,o,n){return this._addSvgIconConfig(t,e,new R(o,null,n))}addSvgIconResolver(t){return this._resolvers.push(t),this}addSvgIconLiteralInNamespace(t,e,o,n){let a=this._sanitizer.sanitize(K.HTML,o);if(!a)throw We(o);let r=it(a);return this._addSvgIconConfig(t,e,new R("",r,n))}addSvgIconSet(t,e){return this.addSvgIconSetInNamespace("",t,e)}addSvgIconSetLiteral(t,e){return this.addSvgIconSetLiteralInNamespace("",t,e)}addSvgIconSetInNamespace(t,e,o){return this._addSvgIconSetConfig(t,new R(e,null,o))}addSvgIconSetLiteralInNamespace(t,e,o){let n=this._sanitizer.sanitize(K.HTML,e);if(!n)throw We(e);let a=it(n);return this._addSvgIconSetConfig(t,new R("",a,o))}registerFontClassAlias(t,e=t){return this._fontCssClassesByAlias.set(t,e),this}classNameForFontAlias(t){return this._fontCssClassesByAlias.get(t)||t}setDefaultFontSetClass(...t){return this._defaultFontSetClass=t,this}getDefaultFontSetClass(){return this._defaultFontSetClass}getSvgIconFromUrl(t){let e=this._sanitizer.sanitize(K.RESOURCE_URL,t);if(!e)throw Ue(t);let o=this._cachedIconsByUrl.get(e);return o?Q(Pt(o)):this._loadSvgIconFromConfig(new R(t,null)).pipe(ft(n=>this._cachedIconsByUrl.set(e,n)),q(n=>Pt(n)))}getNamedSvgIcon(t,e=""){let o=$e(e,t),n=this._svgIconConfigs.get(o);if(n)return this._getSvgFromConfig(n);if(n=this._getIconConfigFromResolvers(e,t),n)return this._svgIconConfigs.set(o,n),this._getSvgFromConfig(n);let a=this._iconSetConfigs.get(e);return a?this._getSvgFromIconSetConfigs(t,a):m(Ve(o))}ngOnDestroy(){this._resolvers=[],this._svgIconConfigs.clear(),this._iconSetConfigs.clear(),this._cachedIconsByUrl.clear()}_getSvgFromConfig(t){return t.svgText?Q(Pt(this._svgElementFromConfig(t))):this._loadSvgIconFromConfig(t).pipe(q(e=>Pt(e)))}_getSvgFromIconSetConfigs(t,e){let o=this._extractIconWithNameFromAnySet(t,e);if(o)return Q(o);let n=e.filter(a=>!a.svgText).map(a=>this._loadSvgIconSetFromConfig(a).pipe(f(r=>{let c=`Loading icon set URL: ${this._sanitizer.sanitize(K.RESOURCE_URL,a.url)} failed: ${r.message}`;return this._errorHandler.handleError(new Error(c)),Q(null)})));return ie(n).pipe(q(()=>{let a=this._extractIconWithNameFromAnySet(t,e);if(!a)throw Ve(t);return a}))}_extractIconWithNameFromAnySet(t,e){for(let o=e.length-1;o>=0;o--){let n=e[o];if(n.svgText&&n.svgText.toString().indexOf(t)>-1){let a=this._svgElementFromConfig(n),r=this._extractSvgIconFromSet(a,t,n.options);if(r)return r}}return null}_loadSvgIconFromConfig(t){return this._fetchIcon(t).pipe(ft(e=>t.svgText=e),q(()=>this._svgElementFromConfig(t)))}_loadSvgIconSetFromConfig(t){return t.svgText?Q(null):this._fetchIcon(t).pipe(ft(e=>t.svgText=e))}_extractSvgIconFromSet(t,e,o){let n=t.querySelector(`[id="${e}"]`);if(!n)return null;let a=n.cloneNode(!0);if(a.removeAttribute("id"),a.nodeName.toLowerCase()==="svg")return this._setSvgAttributes(a,o);if(a.nodeName.toLowerCase()==="symbol")return this._setSvgAttributes(this._toSvgElement(a),o);let r=this._svgElementFromString(it("<svg></svg>"));return r.appendChild(a),this._setSvgAttributes(r,o)}_svgElementFromString(t){let e=this._document.createElement("DIV");e.innerHTML=t;let o=e.querySelector("svg");if(!o)throw Error("<svg> tag not found");return o}_toSvgElement(t){let e=this._svgElementFromString(it("<svg></svg>")),o=t.attributes;for(let n=0;n<o.length;n++){let{name:a,value:r}=o[n];a!=="id"&&e.setAttribute(a,r)}for(let n=0;n<t.childNodes.length;n++)t.childNodes[n].nodeType===this._document.ELEMENT_NODE&&e.appendChild(t.childNodes[n].cloneNode(!0));return e}_setSvgAttributes(t,e){return t.setAttribute("fit",""),t.setAttribute("height","100%"),t.setAttribute("width","100%"),t.setAttribute("preserve Line truncated
`],encapsulation:2,changeDetection:0})}return i})(),Di=(()=>{class i{static \u0275fac=function(e){return new(e||i)};static \u0275mod=E({type:i});static \u0275inj=x({imports:[j]})}return i})();function So(i,s){}var G=class{viewContainerRef;injector;id;role="dialog";panelClass="";hasBackdrop=!0;backdropClass="";disableClose=!1;closePredicate;width="";height="";minWidth;minHeight;maxWidth;maxHeight;positionStrategy;data=null;direction;ariaDescribedBy=null;ariaLabelledBy=null;ariaLabel=null;ariaModal=!1;autoFocus="first-tabbable";restoreFocus=!0;scrollStrategy;closeOnNavigation=!0;closeOnDestroy=!0;closeOnOverlayDetachments=!0;disableAnimations=!1;providers;container;templateContext};var Jt=(()=>{class i extends De{_elementRef=l(I);_focusTrapFactory=l(Re);_config;_interactivityChecker=l(Fe);_ngZone=l(ce);_focusMonitor=l(Rt);_renderer=l(me);_changeDetectorRef=l(st);_injector=l(F);_platform=l(ke);_document=l(J);_portalOutlet;_focusTrapped=new T;_focusTrap=null;_elementFocusedBeforeDialogWasOpened=null;_closeInteractionType=null;_ariaLabelledByQueue=[];_isDestroyed=!1;constructor(){super(),this._config=l(G,{optional:!0})||new G,this._config.ariaLabelledBy&&this._ariaLabelledByQueue.push(this._config.ariaLabelledBy)}_addAriaLabelledBy(t){this._ariaLabelledByQueue.push(t),this._changeDetectorRef.markForCheck()}_removeAriaLabelledBy(t){let e=this._ariaLabelledByQueue.indexOf(t);e>-1&&(this._ariaLabelledByQueue.splice(e,1),this._changeDetectorRef.markForCheck())}_contentAttached(){this._initializeFocusTrap(),this._captureInitialFocus()}_captureInitialFocus(){this._trapFocus()}ngOnDestroy(){this._focusTrapped.complete(),this._isDestroyed=!0,this._restoreFocus()}attachComponentPortal(t){this._portalOutlet.hasAttached();let e=this._portalOutlet.attachComponentPortal(t);return this._contentAttached(),e}attachTemplatePortal(t){this._portalOutlet.hasAttached();let e=this._portalOutlet.attachTemplatePortal(t);return this._contentAttached(),e}attachDomPortal=t=>{this._portalOutlet.hasAttached();let e=this._portalOutlet.attachDomPortal(t);return this._contentAttached(),e};_recaptureFocus(){this._containsFocus()||this._trapFocus()}_forceFocus(t,e){this._interactivityChecker.isFocusable(t)||(t.tabIndex=-1,this._ngZone.runOutsideAngular(()=>{let o=()=>{n(),a(),t.removeAttribute("tabindex")},n=this._renderer.listen(t,"blur",o),a=this._renderer.listen(t,"mousedown",o)})),t.focus(e)}_focusByCssSelector(t,e){let o=this._elementRef.nativeElement.querySelector(t);o&&this._forceFocus(o,e)}_trapFocus(t){this._isDestroyed||ue(()=>{let e=this._elementRef.nativeElement;switch(this._config.autoFocus){case!1:case"dialog":this._containsFocus()||e.focus(t);break;case!0:case"first-tabbable":this._focusTrap?.focusInitialElement(t)||this._focusDialogContainer(t);break;case"first-heading":this._focusByCssSelector('h1, h2, h3, h4, h5, h6, [role="heading"]',t);break;default:this._focusByCssSelector(this._config.autoFocus,t);break}this._focusTrapped.next()},{injector:this._injector})}_restoreFocus(){let t=this._config.restoreFocus,e=null;if(typeof t=="string"?e=this._document.querySelector(t):typeof t=="boolean"?e=t?this._elementFocusedBeforeDialogWasOpened:null:t&&(e=t),this._config.restoreFocus&&e&&typeof e.focus=="function"){let o=Et(),n=this._elementRef.nativeElement;(!o||o===this._document.body||o===n||n.contains(o))&&(this._focusMonitor?(this._focusMonitor.focusVia(e,this._closeInteractionType),this._closeInteractionType=null):e.focus())}this._focusTrap&&this._focusTrap.destroy()}_focusDialogContainer(t){this._elementRef.nativeElement.focus?.(t)}_containsFocus(){let t=this._elementRef.nativeElement,e=Et();return t===e||t.contains(e)}_initializeFocusTrap(){this._platform.isBrowser&&(this._focusTrap=this._focusTrapFactory.create(this._elementRef.nativeElement),this._document&&(this._elementFocusedBeforeDialogWasOpened=Et()))}static \u0275fac=function(e){return new(e||i)};static \u0275cmp=A({type:i,selectors:[["cdk-dialog-container"]],viewQuery:function(e,o){if(e&1&&et(ct,7),e&2){let n;U(n=W())&&(o._portalOutlet=n.first)}},hostAttrs:["tabindex","-1",1,"cdk-dialog-container"],hostVars:6,hostBindings:function(e,o){e&2&&g("id",o._config.id||null)("role",o._config.role)("aria-modal",o._config.ariaModal)("aria-labelledby",o._config.ariaLabel?null:o._ariaLabelledByQueue[0])("aria-label",o._config.ariaLabel)("aria-describedby",o._config.ariaDescribedBy||null)},features:[Z],decls:1,vars:0,consts:[["cdkPortalOutlet",""]],template:function(e,o){e&1&&Y(0,So,0,0,"ng-template",0)},dependencies:[ct],styles:[`.cdk-dialog-container{display:block;width:100%;height:100%;min-height:inherit;max-height:inherit}
`],encapsulation:2})}return i})(),gt=class{overlayRef;config;componentInstance=null;componentRef=null;containerInstance;disableClose;closed=new T;backdropClick;keydownEvents;outsidePointerEvents;id;_detachSubscription;constructor(s,t){this.overlayRef=s,this.config=t,this.disableClose=t.disableClose,this.backdropClick=s.backdropClick(),this.keydownEvents=s.keydownEvents(),this.outsidePointerEvents=s.outsidePointerEvents(),this.id=t.id,this.keydownEvents.subscribe(e=>{e.keyCode===27&&!this.disableClose&&!ot(e)&&(e.preventDefault(),this.close(void 0,{focusOrigin:"keyboard"}))}),this.backdropClick.subscribe(()=>{!this.disableClose&&this._canClose()?this.close(void 0,{focusOrigin:"mouse"}):this.containerInstance._recaptureFocus?.()}),this._detachSubscription=s.detachments().subscribe(()=>{t.closeOnOverlayDetachments!==!1&&this.close()})}close(s,t){if(this._canClose(s)){let e=this.closed;this.containerInstance._closeInteractionType=t?.focusOrigin||"program",this._detachSubscription.unsubscribe(),this.overlayRef.dispose(),e.next(s),e.complete(),this.componentInstance=this.containerInstance=null}}updatePosition(){return this.overlayRef.updatePosition(),this}updateSize(s="",t=""){return this.overlayRef.updateSize({width:s,height:t}),this}addPanelClass(s){return this.overlayRef.addPanelClass(s),this}removePanelClass(s){return this.overlayRef.removePanelClass(s),this}_canClose(s){let t=this.config;return!!this.containerInstance&&(!t.closePredicate||t.closePredicate(s,t,this.componentInstance))}},Io=new h("DialogScrollStrategy",{providedIn:"root",factory:()=>{let i=l(F);return()=>Ot(i)}}),ko=new h("DialogData"),wo=new h("DefaultDialogConfig");function To(i){let s=bt(i),t=new P;return{valueSignal:s,get value(){return s()},change:t,ngOnDestroy(){t.complete()}}}var Kt=(()=>{class i{_injector=l(F);_defaultOptions=l(wo,{optional:!0});_parentDialog=l(i,{optional:!0,skipSelf:!0});_overlayContainer=l(Ae);_idGenerator=l(z);_openDialogsAtThisLevel=[];_afterAllClosedAtThisLevel=new T;_afterOpenedAtThisLevel=new T;_ariaHiddenElements=new Map;_scrollStrategy=l(Io);get openDialogs(){return this._parentDialog?this._parentDialog.openDialogs:this._openDialogsAtThisLevel}get afterOpened(){return this._parentDialog?this._parentDialog.afterOpened:this._afterOpenedAtThisLevel}afterAllClosed=ht(()=>this.openDialogs.length?this._getAfterAllClosed():this._getAfterAllClosed().pipe(pt(void 0)));constructor(){}open(t,e){let o=this._defaultOptions||new G;e=M(M({},o),e),e.id=e.id||this._idGenerator.getId("cdk-dialog-"),e.id&&this.getDialogById(e.id);let n=this._getOverlayConfig(e),a=Oe(this._injector,n),r=new gt(a,e),d=this._attachContainer(a,r,e);if(r.containerInstance=d,!this.openDialogs.length){let c=this._overlayContainer.getContainerElement();d._focusTrapped?d._focusTrapped.pipe(N(1)).subscribe(()=>{this._hideNonDialogContentFromAssistiveTechnology(c)}):this._hideNonDialogContentFromAssistiveTechnology(c)}return this._attachDialogContent(t,r,d,e),this.openDialogs.push(r),r.closed.subscribe(()=>this._removeOpenDialog(r,!0)),this.afterOpened.next(r),r}closeAll(){qt(this.openDialogs,t=>t.close())}getDialogById(t){return this.openDialogs.find(e=>e.id===t)}ngOnDestroy(){qt(this._openDialogsAtThisLevel,t=>{t.config.closeOnDestroy===!1&&this._removeOpenDialog(t,!1)}),qt(this._openDialogsAtThisLevel,t=>t.close()),this._afterAllClosedAtThisLevel.complete(),this._afterOpenedAtThisLevel.complete(),this._openDialogsAtThisLevel=[]}_getOverlayConfig(t){let e=new xe({positionStrategy:t.positionStrategy||Mt().centerHorizontally().centerVertically(),scrollStrategy:t.scrollStrategy||this._scrollStrategy(),panelClass:t.panelClass,hasBackdrop:t.hasBackdrop,direction:t.direction,minWidth:t.minWidth,minHeight:t.minHeight,maxWidth:t.maxWidth,maxHeight:t.maxHeight,width:t.width,height:t.height,disposeOnNavigation:t.closeOnNavigation,disableAnimations:t.disableAnimations});return t.backdropClass&&(e.backdropClass=t.backdropClass),e}_attachContainer(t,e,o){let n=o.injector||o.viewContainerRef?.injector,a=[{provide:G,useValue:o},{provide:gt,useValue:e},{provide:Ee,useValue:t}],r;o.container?typeof o.container=="function"?r=o.container:(r=o.container.type,a.push(...o.container.providers(o))):r=Jt;let d=new Qt(r,o.viewContainerRef,F.create({parent:n||this._injector,providers:a}));return t.attach(d).instance}_attachDialogContent(t,e,o,n){if(t instanceof ge){let a=this._createInjector(n,e,o,void 0),r={$implicit:n.data,dialogRef:e};n.templateContext&&(r=M(M({},r),typeof n.templateContext=="function"?n.templateContext():n.templateContext)),o.attachTemplatePortal(new Te(t,null,r,a))}else{let a=this._createInjector(n,e,o,this._injector),r=o.attachComponentPortal(new Qt(t,n.viewContainerRef,a));e.componentRef=r,e.componentInstance=r.instance}}_createInjector(t,e,o,n){let a=t.injector||t.viewContainerRef?.injector,r=[{provide:ko,useValue:t.data},{provide:gt,useValue:e}];return t.providers&&(typeof t.providers=="function"?r.push(...t.providers(e,t,o)):r.push(...t.providers)),t.d Line truncated
@@ -1 +1 @@
import{b as V,d as A,e as z,l as $,m as R,p as L,q as G,r as W,s as Y,t as X,u as U,v as q,x as H}from"./chunk-NAUAAI4R.js";import{$ as w,$a as M,Ab as P,Ec as O,Hb as _,Jb as f,Lb as s,Qa as l,Xb as v,Yc as F,Zb as a,_b as x,a as b,cc as k,dc as T,ec as D,j as S,ja as C,na as p,oa as u,of as B,pb as j,pf as N,qb as m,sb as d,vb as E,wb as I,xb as h,yb as e,za as g,zb as n}from"./chunk-2OQWUQKO.js";function J(o,c){if(o&1){let t=_();e(0,"div",3)(1,"mat-icon",6),a(2,"warning"),n(),e(3,"p",7),a(4,"Ready to inject a network fault?"),n(),e(5,"div",8)(6,"p",9),a(7,"Number of faults to inject"),n(),e(8,"mat-button-toggle-group",10),D("valueChange",function(i){p(t);let y=s();return T(y.faultType,i)||(y.faultType=i),u(i)}),e(9,"mat-button-toggle",11),a(10,"1"),n(),e(11,"mat-button-toggle",11),a(12,"2"),n(),e(13,"mat-button-toggle",11),a(14,"3"),n(),e(15,"mat-button-toggle",11),a(16,"Random"),n()()(),e(17,"p",12),a(18," This will inject a simulated network fault into your topology for troubleshooting practice. Make sure you have saved your current work. "),n(),e(19,"p",12),a(20," The fault injection process will analyze your topology, select an appropriate fault, and apply it automatically. You'll be able to see the details in AI Chat. "),n()()}if(o&2){let t=s();l(8),k("value",t.faultType),l(),h("value",1),l(2),h("value",2),l(2),h("value",3),l(2),h("value","random")}}function K(o,c){if(o&1&&(e(0,"p",17),a(1),n(),e(2,"p",18),a(3,"Agent is working"),n()),o&2){let t=s(2);l(),x(t.currentStep()||"Injecting fault...")}}function Q(o,c){if(o&1&&(e(0,"div",19)(1,"mat-icon",20),a(2),n(),e(3,"div",21)(4,"p",22),a(5),n(),e(6,"p",23),a(7,"Check the AI Chat panel for detailed execution history and tool results."),n()()()),o&2){let t=s(2);v("success",t.completionStatus()==="success")("error",t.completionStatus()==="error")("aborted",t.completionStatus()==="aborted"),l(2),x(t.completionStatus()==="success"?"check_circle":t.completionStatus()==="aborted"?"cancel":"error"),l(3),x(t.completionTitle())}}function Z(o,c){if(o&1&&(e(0,"div",26)(1,"mat-icon"),a(2),n(),e(3,"div",27)(4,"p",28),a(5),n()()()),o&2){let t=c.$implicit,r=s(3);v("success",t.type==="success")("error",t.type==="error"),l(2),x(r.getEventIcon(t.type)),l(3),x(t.message)}}function tt(o,c){if(o&1&&(e(0,"div",16)(1,"h3"),a(2,"Progress"),n(),e(3,"div",24),E(4,Z,6,6,"div",25,j().trackByEventId,!0),n()()),o&2){let t=s(2);l(4),I(t.displayedEvents())}}function et(o,c){if(o&1&&(e(0,"div",13),P(1,"img",14),n(),m(2,K,4,1),m(3,Q,8,8,"div",15),m(4,tt,6,0,"div",16)),o&2){let t=s();v("injecting",t.isInjecting()),l(2),d(t.isInjecting()?2:-1),l(),d(t.completed()&&!t.isInjecting()?3:-1),l(),d(t.isInjecting()&&t.displayedEvents().length>0?4:-1)}}function nt(o,c){if(o&1){let t=_();e(0,"button",29),f("click",function(){p(t);let i=s();return u(i.onCancelConfirm())}),a(1,"Cancel"),n(),e(2,"button",30),f("click",function(){p(t);let i=s();return u(i.onConfirmInject())}),e(3,"mat-icon"),a(4,"bug_report"),n(),e(5,"span"),a(6,"Confirm & Inject"),n()()}}function it(o,c){if(o&1){let t=_();e(0,"button",29),f("click",function(){p(t);let i=s();return u(i.onAbort())}),a(1,"Abort"),n()}}function ot(o,c){if(o&1){let t=_();e(0,"button",29),f("click",function(){p(t);let i=s();return u(i.onCancel())}),a(1,"Cancel"),n(),e(2,"button",30),f("click",function(){p(t);let i=s();return u(i.onInject())}),e(3,"mat-icon"),a(4,"bug_report"),n(),e(5,"span"),a(6,"Inject Fault"),n()()}}function at(o,c){if(o&1){let t=_();e(0,"button",29),f("click",function(){p(t);let i=s();return u(i.onViewDetails())}),e(1,"mat-icon"),a(2,"chat"),n(),e(3,"span"),a(4,"View in AI Chat"),n()(),e(5,"button",31),f("click",function(){p(t);let i=s();return u(i.onClose())}),e(6,"mat-icon"),a(7,"check"),n(),e(8,"span"),a(9,"Done"),n()()}}var bt=(()=>{class o{dialogRef=C($);data=C(R);aiChatService=C(H);controller=this.data.controller;project=this.data.project;isInjecting=g(!1);completed=g(!1);showConfirm=g(!1);faultType=O(1);faceState=g("idle");completionStatus=g("success");completionTitle=g("");currentStep=g("");eventsBuffer=[];displayedEvents=g([]);firstToolCallProcessed=!1;destroy$=new S;static MAX_DISPLAYED_EVENTS=3;ngOnInit(){this.faceState.set("idle")}ngOnDestroy(){this.destroy$.next(),this.destroy$.complete()}onInject(){this.showConfirm.set(!0)}onCancelConfirm(){this.showConfirm.set(!1)}onConfirmInject(){if(this.isInjecting())return;this.showConfirm.set(!1),this.isInjecting.set(!0),this.completed.set(!1),this.faceState.set("injecting"),this.eventsBuffer=[],this.displayedEvents.set([]),this.firstToolCallProcessed=!1;let r=`Inject ${this.faultType()==="random"?"random":String(this.faultType())} network fault(s) for troubleshooting practice`;this.aiChatService.injectFault(this.controller,this.project.project_id,r).pipe(w(this.destroy$)).subscribe({next:i=>{this.handleFaultEvent(i)},error:i=>{this.handleError(i)},complete:()=>{}})}handleFaultEvent(t){if(console.log("Fault injection event:",t),!(t.type==="heartbeat"||t.type==="content"))switch(t.tyLine truncated
import{b as V,d as A,e as z,l as $,m as R,p as L,q as G,r as W,s as Y,t as X,u as U,v as q,x as H}from"./chunk-764TLGKY.js";import{$a as d,Ea as l,Eb as v,Gb as a,Hb as x,Lb as k,Ma as M,Mb as T,Nb as D,X as w,Ya as j,Za as m,Ze as B,_e as N,a as b,cb as E,da as C,db as I,eb as h,fb as e,ga as p,gb as n,ha as u,hb as P,i as S,jc as O,ob as _,qa as g,qb as f,sb as s,yc as F}from"./chunk-72DGZVTL.js";function J(o,c){if(o&1){let t=_();e(0,"div",3)(1,"mat-icon",6),a(2,"warning"),n(),e(3,"p",7),a(4,"Ready to inject a network fault?"),n(),e(5,"div",8)(6,"p",9),a(7,"Number of faults to inject"),n(),e(8,"mat-button-toggle-group",10),D("valueChange",function(i){p(t);let y=s();return T(y.faultType,i)||(y.faultType=i),u(i)}),e(9,"mat-button-toggle",11),a(10,"1"),n(),e(11,"mat-button-toggle",11),a(12,"2"),n(),e(13,"mat-button-toggle",11),a(14,"3"),n(),e(15,"mat-button-toggle",11),a(16,"Random"),n()()(),e(17,"p",12),a(18," This will inject a simulated network fault into your topology for troubleshooting practice. Make sure you have saved your current work. "),n(),e(19,"p",12),a(20," The fault injection process will analyze your topology, select an appropriate fault, and apply it automatically. You'll be able to see the details in AI Chat. "),n()()}if(o&2){let t=s();l(8),k("value",t.faultType),l(),h("value",1),l(2),h("value",2),l(2),h("value",3),l(2),h("value","random")}}function K(o,c){if(o&1&&(e(0,"p",17),a(1),n(),e(2,"p",18),a(3,"Agent is working"),n()),o&2){let t=s(2);l(),x(t.currentStep()||"Injecting fault...")}}function Q(o,c){if(o&1&&(e(0,"div",19)(1,"mat-icon",20),a(2),n(),e(3,"div",21)(4,"p",22),a(5),n(),e(6,"p",23),a(7,"Check the AI Chat panel for detailed execution history and tool results."),n()()()),o&2){let t=s(2);v("success",t.completionStatus()==="success")("error",t.completionStatus()==="error")("aborted",t.completionStatus()==="aborted"),l(2),x(t.completionStatus()==="success"?"check_circle":t.completionStatus()==="aborted"?"cancel":"error"),l(3),x(t.completionTitle())}}function Z(o,c){if(o&1&&(e(0,"div",26)(1,"mat-icon"),a(2),n(),e(3,"div",27)(4,"p",28),a(5),n()()()),o&2){let t=c.$implicit,r=s(3);v("success",t.type==="success")("error",t.type==="error"),l(2),x(r.getEventIcon(t.type)),l(3),x(t.message)}}function tt(o,c){if(o&1&&(e(0,"div",16)(1,"h3"),a(2,"Progress"),n(),e(3,"div",24),E(4,Z,6,6,"div",25,j().trackByEventId,!0),n()()),o&2){let t=s(2);l(4),I(t.displayedEvents())}}function et(o,c){if(o&1&&(e(0,"div",13),P(1,"img",14),n(),m(2,K,4,1),m(3,Q,8,8,"div",15),m(4,tt,6,0,"div",16)),o&2){let t=s();v("injecting",t.isInjecting()),l(2),d(t.isInjecting()?2:-1),l(),d(t.completed()&&!t.isInjecting()?3:-1),l(),d(t.isInjecting()&&t.displayedEvents().length>0?4:-1)}}function nt(o,c){if(o&1){let t=_();e(0,"button",29),f("click",function(){p(t);let i=s();return u(i.onCancelConfirm())}),a(1,"Cancel"),n(),e(2,"button",30),f("click",function(){p(t);let i=s();return u(i.onConfirmInject())}),e(3,"mat-icon"),a(4,"bug_report"),n(),e(5,"span"),a(6,"Confirm & Inject"),n()()}}function it(o,c){if(o&1){let t=_();e(0,"button",29),f("click",function(){p(t);let i=s();return u(i.onAbort())}),a(1,"Abort"),n()}}function ot(o,c){if(o&1){let t=_();e(0,"button",29),f("click",function(){p(t);let i=s();return u(i.onCancel())}),a(1,"Cancel"),n(),e(2,"button",30),f("click",function(){p(t);let i=s();return u(i.onInject())}),e(3,"mat-icon"),a(4,"bug_report"),n(),e(5,"span"),a(6,"Inject Fault"),n()()}}function at(o,c){if(o&1){let t=_();e(0,"button",29),f("click",function(){p(t);let i=s();return u(i.onViewDetails())}),e(1,"mat-icon"),a(2,"chat"),n(),e(3,"span"),a(4,"View in AI Chat"),n()(),e(5,"button",31),f("click",function(){p(t);let i=s();return u(i.onClose())}),e(6,"mat-icon"),a(7,"check"),n(),e(8,"span"),a(9,"Done"),n()()}}var bt=(()=>{class o{dialogRef=C($);data=C(R);aiChatService=C(H);controller=this.data.controller;project=this.data.project;isInjecting=g(!1);completed=g(!1);showConfirm=g(!1);faultType=O(1);faceState=g("idle");completionStatus=g("success");completionTitle=g("");currentStep=g("");eventsBuffer=[];displayedEvents=g([]);firstToolCallProcessed=!1;destroy$=new S;static MAX_DISPLAYED_EVENTS=3;ngOnInit(){this.faceState.set("idle")}ngOnDestroy(){this.destroy$.next(),this.destroy$.complete()}onInject(){this.showConfirm.set(!0)}onCancelConfirm(){this.showConfirm.set(!1)}onConfirmInject(){if(this.isInjecting())return;this.showConfirm.set(!1),this.isInjecting.set(!0),this.completed.set(!1),this.faceState.set("injecting"),this.eventsBuffer=[],this.displayedEvents.set([]),this.firstToolCallProcessed=!1;let r=`Inject ${this.faultType()==="random"?"random":String(this.faultType())} network fault(s) for troubleshooting practice`;this.aiChatService.injectFault(this.controller,this.project.project_id,r).pipe(w(this.destroy$)).subscribe({next:i=>{this.handleFaultEvent(i)},error:i=>{this.handleError(i)},complete:()=>{}})}handleFaultEvent(t){if(console.log("Fault injection event:",t),!(t.type==="heartbeat"||t.type==="content"))switch(t.tyLine truncated
@@ -0,0 +1 @@
import{$ as a}from"./chunk-NJCA2RVJ.js";import"./chunk-72DGZVTL.js";export{a as TopologySummaryComponent};
@@ -1,4 +1,4 @@
import{$ as I,$a as C,$b as ft,$d as Ei,$e as Wi,Aa as ii,Ab as M,B as Ye,Ba as Wt,Bb as kt,Bc as Qt,Be as Pi,Ca as Y,Cb as Ot,Db as ke,Dc as bi,E as Ke,Ea as O,Fa as ai,Fc as W,Fd as Ci,G as J,Gd as Ti,H as dt,Hb as lt,Hc as S,Hd as ae,Ib as Rt,Ic as bt,Jb as u,Jc as gi,Kb as si,Kd as ne,Lb as p,Le as le,Mb as B,Md as U,Me as Bi,N as Ze,Nb as y,Ne as zi,O as Xe,Ob as et,Od as qt,Pa as ye,Pb as V,Pd as oe,Pe as Ni,Qa as c,Qb as m,Qc as vi,Qd as Mi,Qe as ji,Rb as h,Re as Ut,Sa as rt,Sb as li,Sd as Si,Se as ce,Ta as Dt,Tb as ci,Tc as yi,Td as Lt,Ub as we,Uc as xi,Ud as Ii,V as Je,Va as st,Vb as ht,Vd as ct,Ve as de,Wb as Ce,We as Vi,X as ti,Xb as _,Xd as re,Xe as Hi,Y as ei,Ya as ee,Yb as _t,Yc as ki,Yd as Di,Ye as $i,Z as at,Zb as E,_ as $t,_b as pt,a as X,ab as N,ac as di,ae as Fi,af as Ie,bb as x,bc as mi,be as Oi,bf as Qi,cc as hi,ce as se,cf as K,dc as pi,de as Me,ea as P,eb as q,ec as fi,ee as Se,ef as Gi,fa as z,fb as tt,fe as Pt,g as it,gb as ni,gf as Q,ha as w,hc as $,hf as De,i as Jt,ia as nt,ib as oi,ic as ui,if as Yt,j as k,ja as r,jc as _i,jf as gt,k as St,ke as Ri,lf as Ct,me as Ai,na as R,nb as ri,nf as Kt,o as Ue,oa as A,ob as T,of as qi,pa as mt,pd as wi,pf as Ui,q as te,qb as g,qd as wt,qf as vt,ra as G,rc as Te,re as Li,sa as It,sb as v,sf as me,td as Gt,ub as xe,uf as Yi,va as F,vb as Et,vc as At,vf as Ki,w as Ht,wa as H,wb as Ft,wd as ot,xb as D,xc as ie,xd as ut,yb as l,yd as j,za as Z,zb as d}from"./chunk-2OQWUQKO.js";var Ee=class{_box;_destroyed=new k;_resizeSubject=new k;_resizeObserver;_elementObservables=new Map;constructor(s){this._box=s,typeof ResizeObserver<"u"&&(this._resizeObserver=new ResizeObserver(t=>this._resizeSubject.next(t)))}observe(s){return this._elementObservables.has(s)||this._elementObservables.set(s,new Jt(t=>{let e=this._resizeSubject.subscribe(t);return this._resizeObserver?.observe(s,{box:this._box}),()=>{this._resizeObserver?.unobserve(s),e.unsubscribe(),this._elementObservables.delete(s)}}).pipe(dt(t=>t.some(e=>e.target===s)),ti({bufferSize:1,refCount:!0}),I(this._destroyed))),this._elementObservables.get(s)}destroy(){this._destroyed.next(),this._destroyed.complete(),this._resizeSubject.complete(),this._elementObservables.clear()}},he=(()=>{class a{_cleanupErrorListener;_observers=new Map;_ngZone=r(H);constructor(){typeof ResizeObserver<"u"}ngOnDestroy(){for(let[,t]of this._observers)t.destroy();this._observers.clear(),this._cleanupErrorListener?.()}observe(t,e){let i=e?.box||"content-box";return this._observers.has(i)||this._observers.set(i,new Ee(i)),this._observers.get(i).observe(t)}static \u0275fac=function(e){return new(e||a)};static \u0275prov=P({token:a,factory:a.\u0275fac,providedIn:"root"})}return a})();var Bt=["*"];function on(a,s){a&1&&y(0)}var ta=["tabListContainer"],ea=["tabList"],ia=["tabListInner"],aa=["nextPaginator"],na=["previousPaginator"],rn=["content"];function sn(a,s){}var ln=["tabBodyWrapper"],cn=["tabHeader"];function dn(a,s){}function mn(a,s){if(a&1&&tt(0,dn,0,0,"ng-template",12),a&2){let t=p().$implicit;D("cdkPortalOutlet",t.templateLabel)}}function hn(a,s){if(a&1&&E(0),a&2){let t=p().$implicit;pt(t.textLabel)}}function pn(a,s){if(a&1){let t=lt();l(0,"div",7,2),u("click",function(){let i=R(t),n=i.$implicit,o=i.$index,f=p(),b=ht(1);return A(f._handleClick(n,b,o))})("cdkFocusChange",function(i){let n=R(t).$index,o=p();return A(o._tabFocusChanged(i,n))}),M(2,"span",8)(3,"div",9),l(4,"span",10)(5,"span",11),g(6,mn,1,1,null,12)(7,hn,1,1),d()()()}if(a&2){let t=s.$implicit,e=s.$index,i=ht(1),n=p();_t(t.labelClass),_("mdc-tab--active",n.selectedIndex===e),D("id",n._getTabLabelId(t,e))("disabled",t.disabled)("fitInkBarToContent",n.fitInkBarToContent),T("tabIndex",n._getTabIndex(e))("aria-posinset",e+1)("aria-setsize",n._tabs.length)("aria-controls",n._getTabContentId(e))("aria-selected",n.selectedIndex===e)("aria-label",t.ariaLabel||null)("aria-labelledby",!t.ariaLabel&&t.ariaLabelledby?t.ariaLabelledby:null),c(3),D("matRippleTrigger",i)("matRippleDisabled",t.disabled||n.disableRipple),c(3),v(t.templateLabel?6:7)}}function fn(a,s){a&1&&y(0)}function un(a,s){if(a&1){let t=lt();l(0,"mat-tab-body",13),u("_onCentered",function(){R(t);let i=p();return A(i._removeTabBodyWrapperHeight())})("_onCentering",function(i){R(t);let n=p();return A(n._setTabBodyWrapperHeight(i))})("_beforeCentering",function(i){R(t);let n=p();return A(n._bodyCentered(i))}),d()}if(a&2){let t=s.$implicit,e=s.$index,i=p();_t(t.bodyClass),D("id",i._getTabContentId(e))("content",t.content)("position",t.position)("animationDuration",i.animationDuration)("preserveContent",i.preserveContent),T("tabindex",i.contentTabIndex!=null&&i.selectedIndex===e?i.contentTabIndex:null)("aria-labelledby",i._getTabLabelId(t,e))("aria-hidden",i.selectedIndex!==e)}}var _n=["mat-tab-nav-bar",""],bn=["mat-tab-link",""],gn=new w("MatTabContent"),vn=(()=>{class a{template=r(Dt);constructor(){}static \u0275fac=function(e){return new(e||a)};static \u0275dir=x({type:a,selectors:[["","matTabContent",""]],feLine truncated
import{$ as P,$a as v,$e as vt,Ab as ci,Ad as Ei,Ae as Wi,B as Ke,Bb as we,Bd as Fi,Be as Ie,Cb as ht,Cd as Oi,Ce as Qi,D as J,Da as ye,Db as Ce,Dd as se,De as K,E as dt,Ea as c,Eb as _,Ed as Me,Fa as rt,Fb as _t,Fd as Se,Fe as Gi,Ga as Dt,Gb as E,Gd as Pt,Hb as pt,He as Q,Ia as st,Ib as ft,Jb as di,K as Ze,Kb as mi,L as Xe,La as ee,Lb as hi,Ld as Ri,Ma as C,Mb as pi,Na as N,Nb as fi,Nd as Ai,Oa as x,Qb as $,Qc as wi,R as Je,Ra as q,Rb as ui,Rc as wt,Sa as tt,Sb as _i,Sd as Li,Se as De,T as ti,Ta as ni,Te as Yt,U as ei,Ua as oi,Uc as Gt,Ue as gt,V as at,W as $t,Wa as ri,We as Ct,X as I,Xa as T,Xc as ot,Yc as ut,Ye as Kt,Za as g,Zc as j,Ze as qi,_b as Te,_e as Ui,a as X,aa as z,ae as Pi,ba as w,bb as xe,bc as At,bf as me,ca as nt,cb as Et,cc as ie,da as r,db as Ft,df as Yi,eb as D,ed as Ci,ef as Ki,fb as l,fd as Ti,g as it,ga as R,gb as d,gc as Qt,gd as ae,h as Jt,ha as A,hb as M,i as k,ia as mt,ib as kt,ic as bi,j as St,jb as Ot,jd as ne,ka as G,kb as ke,kc as W,ke as le,la as It,ld as U,le as Bi,mc as S,me as zi,n as Ue,na as F,nc as bt,nd as qt,oa as H,ob as lt,oc as gi,od as oe,oe as Ni,p as te,pb as Rt,pd as Mi,pe as ji,qa as Z,qb as u,qc as vi,qe as Ut,ra as ii,rb as si,rd as Si,re as ce,sa as Wt,sb as p,sd as Lt,ta as Y,tb as B,tc as yi,td as Ii,u as Ht,ua as O,ub as y,uc as xi,ud as ct,ue as de,va as ai,vb as et,ve as Vi,wb as V,wd as re,we as Hi,xb as m,xd as Di,xe as $i,y as Ye,yb as h,yc as ki,zb as li}from"./chunk-72DGZVTL.js";var Ee=class{_box;_destroyed=new k;_resizeSubject=new k;_resizeObserver;_elementObservables=new Map;constructor(s){this._box=s,typeof ResizeObserver<"u"&&(this._resizeObserver=new ResizeObserver(t=>this._resizeSubject.next(t)))}observe(s){return this._elementObservables.has(s)||this._elementObservables.set(s,new Jt(t=>{let e=this._resizeSubject.subscribe(t);return this._resizeObserver?.observe(s,{box:this._box}),()=>{this._resizeObserver?.unobserve(s),e.unsubscribe(),this._elementObservables.delete(s)}}).pipe(dt(t=>t.some(e=>e.target===s)),ti({bufferSize:1,refCount:!0}),I(this._destroyed))),this._elementObservables.get(s)}destroy(){this._destroyed.next(),this._destroyed.complete(),this._resizeSubject.complete(),this._elementObservables.clear()}},he=(()=>{class a{_cleanupErrorListener;_observers=new Map;_ngZone=r(H);constructor(){typeof ResizeObserver<"u"}ngOnDestroy(){for(let[,t]of this._observers)t.destroy();this._observers.clear(),this._cleanupErrorListener?.()}observe(t,e){let i=e?.box||"content-box";return this._observers.has(i)||this._observers.set(i,new Ee(i)),this._observers.get(i).observe(t)}static \u0275fac=function(e){return new(e||a)};static \u0275prov=P({token:a,factory:a.\u0275fac,providedIn:"root"})}return a})();var Bt=["*"];function on(a,s){a&1&&y(0)}var ta=["tabListContainer"],ea=["tabList"],ia=["tabListInner"],aa=["nextPaginator"],na=["previousPaginator"],rn=["content"];function sn(a,s){}var ln=["tabBodyWrapper"],cn=["tabHeader"];function dn(a,s){}function mn(a,s){if(a&1&&tt(0,dn,0,0,"ng-template",12),a&2){let t=p().$implicit;D("cdkPortalOutlet",t.templateLabel)}}function hn(a,s){if(a&1&&E(0),a&2){let t=p().$implicit;pt(t.textLabel)}}function pn(a,s){if(a&1){let t=lt();l(0,"div",7,2),u("click",function(){let i=R(t),n=i.$implicit,o=i.$index,f=p(),b=ht(1);return A(f._handleClick(n,b,o))})("cdkFocusChange",function(i){let n=R(t).$index,o=p();return A(o._tabFocusChanged(i,n))}),M(2,"span",8)(3,"div",9),l(4,"span",10)(5,"span",11),g(6,mn,1,1,null,12)(7,hn,1,1),d()()()}if(a&2){let t=s.$implicit,e=s.$index,i=ht(1),n=p();_t(t.labelClass),_("mdc-tab--active",n.selectedIndex===e),D("id",n._getTabLabelId(t,e))("disabled",t.disabled)("fitInkBarToContent",n.fitInkBarToContent),T("tabIndex",n._getTabIndex(e))("aria-posinset",e+1)("aria-setsize",n._tabs.length)("aria-controls",n._getTabContentId(e))("aria-selected",n.selectedIndex===e)("aria-label",t.ariaLabel||null)("aria-labelledby",!t.ariaLabel&&t.ariaLabelledby?t.ariaLabelledby:null),c(3),D("matRippleTrigger",i)("matRippleDisabled",t.disabled||n.disableRipple),c(3),v(t.templateLabel?6:7)}}function fn(a,s){a&1&&y(0)}function un(a,s){if(a&1){let t=lt();l(0,"mat-tab-body",13),u("_onCentered",function(){R(t);let i=p();return A(i._removeTabBodyWrapperHeight())})("_onCentering",function(i){R(t);let n=p();return A(n._setTabBodyWrapperHeight(i))})("_beforeCentering",function(i){R(t);let n=p();return A(n._bodyCentered(i))}),d()}if(a&2){let t=s.$implicit,e=s.$index,i=p();_t(t.bodyClass),D("id",i._getTabContentId(e))("content",t.content)("position",t.position)("animationDuration",i.animationDuration)("preserveContent",i.preserveContent),T("tabindex",i.contentTabIndex!=null&&i.selectedIndex===e?i.contentTabIndex:null)("aria-labelledby",i._getTabLabelId(t,e))("aria-hidden",i.selectedIndex!==e)}}var _n=["mat-tab-nav-bar",""],bn=["mat-tab-link",""],gn=new w("MatTabContent"),vn=(()=>{class a{template=r(Dt);constructor(){}static \u0275fac=function(e){return new(e||a)};static \u0275dir=x({type:a,selectors:[["","matTabContent",""]],feaLine truncated
`],encapsulation:2})}return a})(),da=new w("MAT_TABS_CONFIG"),Ji=(()=>{class a extends Lt{_host=r(Oe);_ngZone=r(H);_centeringSub=it.EMPTY;_leavingSub=it.EMPTY;constructor(){super()}ngOnInit(){super.ngOnInit(),this._centeringSub=this._host._beforeCentering.pipe(at(this._host._isCenterPosition())).subscribe(t=>{this._host._content&&t&&!this.hasAttached()&&this._ngZone.run(()=>{Promise.resolve().then(),this.attach(this._host._content)})}),this._leavingSub=this._host._afterLeavingCenter.subscribe(()=>{this._host.preserveContent||this._ngZone.run(()=>this.detach())})}ngOnDestroy(){super.ngOnDestroy(),this._centeringSub.unsubscribe(),this._leavingSub.unsubscribe()}static \u0275fac=function(e){return new(e||a)};static \u0275dir=x({type:a,selectors:[["","matTabBodyHost",""]],features:[q]})}return a})(),Oe=(()=>{class a{_elementRef=r(O);_dir=r(ut,{optional:!0});_ngZone=r(H);_injector=r(G);_renderer=r(st);_diAnimationsDisabled=Q();_eventCleanups;_initialized=!1;_fallbackTimer;_positionIndex;_dirChangeSubscription=it.EMPTY;_position;_previousPosition;_onCentering=new F;_beforeCentering=new F;_afterLeavingCenter=new F;_onCentered=new F(!0);_portalHost;_contentElement;_content;animationDuration="500ms";preserveContent=!1;set position(t){this._positionIndex=t,this._computePositionAnimationState()}constructor(){if(this._dir){let t=r(W);this._dirChangeSubscription=this._dir.change.subscribe(e=>{this._computePositionAnimationState(e),t.markForCheck()})}}ngOnInit(){this._bindTransitionEvents(),this._position==="center"&&(this._setActiveClass(!0),rt(()=>this._onCentering.emit(this._elementRef.nativeElement.clientHeight),{injector:this._injector})),this._initialized=!0}ngOnDestroy(){clearTimeout(this._fallbackTimer),this._eventCleanups?.forEach(t=>t()),this._dirChangeSubscription.unsubscribe()}_bindTransitionEvents(){this._ngZone.runOutsideAngular(()=>{let t=this._elementRef.nativeElement,e=i=>{i.target===this._contentElement?.nativeElement&&(this._elementRef.nativeElement.classList.remove("mat-tab-body-animating"),i.type==="transitionend"&&this._transitionDone())};this._eventCleanups=[this._renderer.listen(t,"transitionstart",i=>{i.target===this._contentElement?.nativeElement&&(this._elementRef.nativeElement.classList.add("mat-tab-body-animating"),this._transitionStarted())}),this._renderer.listen(t,"transitionend",e),this._renderer.listen(t,"transitioncancel",e)]})}_transitionStarted(){clearTimeout(this._fallbackTimer);let t=this._position==="center";this._beforeCentering.emit(t),t&&this._onCentering.emit(this._elementRef.nativeElement.clientHeight)}_transitionDone(){this._position==="center"?this._onCentered.emit():this._previousPosition==="center"&&this._afterLeavingCenter.emit()}_setActiveClass(t){this._elementRef.nativeElement.classList.toggle("mat-mdc-tab-body-active",t)}_getLayoutDirection(){return this._dir&&this._dir.value==="rtl"?"rtl":"ltr"}_isCenterPosition(){return this._positionIndex===0}_computePositionAnimationState(t=this._getLayoutDirection()){this._previousPosition=this._position,this._positionIndex<0?this._position=t=="ltr"?"left":"right":this._positionIndex>0?this._position=t=="ltr"?"right":"left":this._position="center",this._animationsDisabled()?this._simulateTransitionEvents():this._initialized&&(this._position==="center"||this._previousPosition==="center")&&(clearTimeout(this._fallbackTimer),this._fallbackTimer=this._ngZone.runOutsideAngular(()=>setTimeout(()=>this._simulateTransitionEvents(),100)))}_simulateTransitionEvents(){this._transitionStarted(),rt(()=>this._transitionDone(),{injector:this._injector})}_animationsDisabled(){return this._diAnimationsDisabled||this.animationDuration==="0ms"||this.animationDuration==="0s"}static \u0275fac=function(e){return new(e||a)};static \u0275cmp=C({type:a,selectors:[["mat-tab-body"]],viewQuery:function(e,i){if(e&1&&V(Ji,5)(rn,5),e&2){let n;m(n=h())&&(i._portalHost=n.first),m(n=h())&&(i._contentElement=n.first)}},hostAttrs:[1,"mat-mdc-tab-body"],hostVars:1,hostBindings:function(e,i){e&2&&T("inert",i._position==="center"?null:"")},inputs:{_content:[0,"content","_content"],animationDuration:"animationDuration",preserveContent:"preserveContent",position:"position"},outputs:{_onCentering:"_onCentering",_beforeCentering:"_beforeCentering",_onCentered:"_onCentered"},decls:3,vars:6,consts:[["content",""],["cdkScrollable","",1,"mat-mdc-tab-body-content"],["matTabBodyHost",""]],template:function(e,i){e&1&&(l(0,"div",1,0),tt(2,sn,0,0,"ng-template",2),d()),e&2&&_("mat-tab-body-content-left",i._position==="left")("mat-tab-body-content-right",i._position==="right")("mat-tab-body-content-can-animate",i._position==="center"||i._previousPosition==="center")},dependencies:[Ji,Ti],styles:[`.mat-mdc-tab-body{top:0;left:0;right:0;bottom:0;position:absolute;display:block;overflow:hidden;outline:0;flex-basis:100%}.mat-mdc-tab-body.mat-mdc-tab-body-active{position:relative;overflow-x:hidden;overflow-y:auto;z-index:1;flex-grow:1}.mat-mdc-tab-group.mat-mdc-tab-group-dynamic-height .mLine truncated
`],encapsulation:2})}return a})(),ma=(()=>{class a{_elementRef=r(O);_changeDetectorRef=r(W);_ngZone=r(H);_tabsSubscription=it.EMPTY;_tabLabelSubscription=it.EMPTY;_tabBodySubscription=it.EMPTY;_diAnimationsDisabled=Q();_allTabs;_tabBodies;_tabBodyWrapper;_tabHeader;_tabs=new ai;_indexToSelect=0;_lastFocusedTabIndex=null;_tabBodyWrapperHeight=0;color;get fitInkBarToContent(){return this._fitInkBarToContent}set fitInkBarToContent(t){this._fitInkBarToContent=t,this._changeDetectorRef.markForCheck()}_fitInkBarToContent=!1;stretchTabs=!0;alignTabs=null;dynamicHeight=!1;get selectedIndex(){return this._selectedIndex}set selectedIndex(t){this._indexToSelect=isNaN(t)?null:t}_selectedIndex=null;headerPosition="above";get animationDuration(){return this._animationDuration}set animationDuration(t){let e=t+"";this._animationDuration=/^\d+$/.test(e)?t+"ms":e}_animationDuration;get contentTabIndex(){return this._contentTabIndex}set contentTabIndex(t){this._contentTabIndex=isNaN(t)?null:t}_contentTabIndex=null;disablePagination=!1;disableRipple=!1;preserveContent=!1;get backgroundColor(){return this._backgroundColor}set backgroundColor(t){let e=this._elementRef.nativeElement.classList;e.remove("mat-tabs-with-background",`mat-background-${this.backgroundColor}`),t&&e.add("mat-tabs-with-background",`mat-background-${t}`),this._backgroundColor=t}_backgroundColor;ariaLabel;ariaLabelledby;selectedIndexChange=new F;focusChange=new F;animationDone=new F;selectedTabChange=new F(!0);_groupId;_isServer=!r(ot).isBrowser;constructor(){let t=r(da,{optional:!0});this._groupId=r(U).getId("mat-tab-group-"),this.animationDuration=t&&t.animationDuration?t.animationDuration:"500ms",this.disablePagination=t&&t.disablePagination!=null?t.disablePagination:!1,this.dynamicHeight=t&&t.dynamicHeight!=null?t.dynamicHeight:!1,t?.contentTabIndex!=null&&(this.contentTabIndex=t.contentTabIndex),this.preserveContent=!!t?.preserveContent,this.fitInkBarToContent=t&&t.fitInkBarToContent!=null?t.fitInkBarToContent:!1,this.stretchTabs=t&&t.stretchTabs!=null?t.stretchTabs:!0,this.alignTabs=t&&t.alignTabs!=null?t.alignTabs:null}ngAfterContentChecked(){let t=this._indexToSelect=this._clampTabIndex(this._indexToSelect);if(this._selectedIndex!=t){let e=this._selectedIndex==null;if(!e){this.selectedTabChange.emit(this._createChangeEvent(t));let i=this._tabBodyWrapper.nativeElement;i.style.minHeight=i.clientHeight+"px"}Promise.resolve().then(()=>{this._tabs.forEach((i,n)=>i.isActive=n===t),e||(this.selectedIndexChange.emit(t),this._tabBodyWrapper.nativeElement.style.minHeight="")})}this._tabs.forEach((e,i)=>{e.position=i-t,this._selectedIndex!=null&&e.position==0&&!e.origin&&(e.origin=t-this._selectedIndex)}),this._selectedIndex!==t&&(this._selectedIndex=t,this._lastFocusedTabIndex=null,this._changeDetectorRef.markForCheck())}ngAfterContentInit(){this._subscribeToAllTabChanges(),this._subscribeToTabLabels(),this._tabsSubscription=this._tabs.changes.subscribe(()=>{let t=this._clampTabIndex(this._indexToSelect);if(t===this._selectedIndex){let e=this._tabs.toArray(),i;for(let n=0;n<e.length;n++)if(e[n].isActive){this._indexToSelect=this._selectedIndex=n,this._lastFocusedTabIndex=null,i=e[n];break}!i&&e[t]&&Promise.resolve().then(()=>{e[t].isActive=!0,this.selectedTabChange.emit(this._createChangeEvent(t))})}this._changeDetectorRef.markForCheck()})}ngAfterViewInit(){this._tabBodySubscription=this._tabBodies.changes.subscribe(()=>this._bodyCentered(!0))}_subscribeToAllTabChanges(){this._allTabs.changes.pipe(at(this._allTabs)).subscribe(t=>{this._tabs.reset(t.filter(e=>e._closestTabGroup===this||!e._closestTabGroup)),this._tabs.notifyOnChanges()})}ngOnDestroy(){this._tabs.destroy(),this._tabsSubscription.unsubscribe(),this._tabLabelSubscription.unsubscribe(),this._tabBodySubscription.unsubscribe()}realignInkBar(){this._tabHeader&&this._tabHeader._alignInkBarToSelectedTab()}updatePagination(){this._tabHeader&&this._tabHeader.updatePagination()}focusTab(t){let e=this._tabHeader;e&&(e.focusIndex=t)}_focusChanged(t){this._lastFocusedTabIndex=t,this.focusChange.emit(this._createChangeEvent(t))}_createChangeEvent(t){let e=new Re;return e.index=t,this._tabs&&this._tabs.length&&(e.tab=this._tabs.toArray()[t]),e}_subscribeToTabLabels(){this._tabLabelSubscription&&this._tabLabelSubscription.unsubscribe(),this._tabLabelSubscription=J(...this._tabs.map(t=>t._stateChanges)).subscribe(()=>this._changeDetectorRef.markForCheck())}_clampTabIndex(t){return Math.min(this._tabs.length-1,Math.max(t||0,0))}_getTabLabelId(t,e){return t.id||`${this._groupId}-label-${e}`}_getTabContentId(t){return`${this._groupId}-content-${t}`}_setTabBodyWrapperHeight(t){if(!this.dynamicHeight||!this._tabBodyWrapperHeight){this._tabBodyWrapperHeight=t;return}let e=this._tabBodyWrapper.nativeElement;e.style.height=this._tabBodyWrapperHeight+"px",this._tabBodyWrapper.nativeElement.offsetHeight&&(e.style.height=t+"px")}_removeTabBodyWrapperHeight(){let t=this._tabBodyWrapper.nativeElement;this._tabBodyWrapperHeig Line truncated
`],encapsulation:2})}return a})(),Re=class{index;tab},Tn=(()=>{class a extends ca{_focusedItem=Z(null);get fitInkBarToContent(){return this._fitInkBarToContent.value}set fitInkBarToContent(t){this._fitInkBarToContent.next(t),this._changeDetectorRef.markForCheck()}_fitInkBarToContent=new St(!1);stretchTabs=!0;get animationDuration(){return this._animationDuration}set animationDuration(t){let e=t+"";this._animationDuration=/^\d+$/.test(e)?t+"ms":e}_animationDuration;_items;get backgroundColor(){return this._backgroundColor}set backgroundColor(t){let e=this._elementRef.nativeElement.classList;e.remove("mat-tabs-with-background",`mat-background-${this.backgroundColor}`),t&&e.add("mat-tabs-with-background",`mat-background-${t}`),this._backgroundColor=t}_backgroundColor;get disableRipple(){return this._disableRipple()}set disableRipple(t){this._disableRipple.set(t)}_disableRipple=Z(!1);color="primary";tabPanel;_tabListContainer;_tabList;_tabListInner;_nextPaginator;_previousPaginator;_inkBar;constructor(){let t=r(da,{optional:!0});super(),this.disablePagination=t&&t.disablePagination!=null?t.disablePagination:!1,this.fitInkBarToContent=t&&t.fitInkBarToContent!=null?t.fitInkBarToContent:!1,this.stretchTabs=t&&t.stretchTabs!=null?t.stretchTabs:!0}_itemSelected(){}ngAfterContentInit(){this._inkBar=new pe(this._items),this._items.changes.pipe(at(null),I(this._destroyed)).subscribe(()=>this.updateActiveLink()),super.ngAfterContentInit(),this._keyManager.change.pipe(at(null),I(this._destroyed)).subscribe(()=>this._focusedItem.set(this._keyManager?.activeItem||null))}ngAfterViewInit(){this.tabPanel,super.ngAfterViewInit()}updateActiveLink(){if(!this._items)return;let t=this._items.toArray();for(let e=0;e<t.length;e++)if(t[e].active){this.selectedIndex=e,this.tabPanel&&(this.tabPanel._activeTabId=t[e].id),this._focusedItem.set(t[e]),this._changeDetectorRef.markForCheck();return}this.selectedIndex=-1}_getRole(){return this.tabPanel?"tablist":this._elementRef.nativeElement.getAttribute("role")}_hasFocus(t){return this._keyManager?.activeItem===t}static \u0275fac=function(e){return new(e||a)};static \u0275cmp=C({type:a,selectors:[["","mat-tab-nav-bar",""]],contentQueries:function(e,i,n){if(e&1&&et(n,Mn,5),e&2){let o;m(o=h())&&(i._items=o)}},viewQuery:function(e,i){if(e&1&&V(ta,7)(ea,7)(ia,7)(aa,5)(na,5),e&2){let n;m(n=h())&&(i._tabListContainer=n.first),m(n=h())&&(i._tabList=n.first),m(n=h())&&(i._tabListInner=n.first),m(n=h())&&(i._nextPaginator=n.first),m(n=h())&&(i._previousPaginator=n.first)}},hostAttrs:[1,"mat-mdc-tab-nav-bar","mat-mdc-tab-header"],hostVars:17,hostBindings:function(e,i){e&2&&(T("role",i._getRole()),Ce("--mat-tab-animation-duration",i.animationDuration),_("mat-mdc-tab-header-pagination-controls-enabled",i._showPaginationControls)("mat-mdc-tab-header-rtl",i._getLayoutDirection()=="rtl")("mat-mdc-tab-nav-bar-stretch-tabs",i.stretchTabs)("mat-primary",i.color!=="warn"&&i.color!=="accent")("mat-accent",i.color==="accent")("mat-warn",i.color==="warn")("_mat-animation-noopable",i._animationsDisabled))},inputs:{fitInkBarToContent:[2,"fitInkBarToContent","fitInkBarToContent",S],stretchTabs:[2,"mat-stretch-tabs","stretchTabs",S],animationDuration:"animationDuration",backgroundColor:"backgroundColor",disableRipple:[2,"disableRipple","disableRipple",S],color:"color",tabPanel:"tabPanel"},exportAs:["matTabNavBar","matTabNav"],features:[q],attrs:_n,ngContentSelectors:Bt,decls:13,vars:6,consts:[["previousPaginator",""],["tabListContainer",""],["tabList",""],["tabListInner",""],["nextPaginator",""],["mat-ripple","",1,"mat-mdc-tab-header-pagination","mat-mdc-tab-header-pagination-before",3,"click","mousedown","touchend","matRippleDisabled"],[1,"mat-mdc-tab-header-pagination-chevron"],[1,"mat-mdc-tab-link-container",3,"keydown"],[1,"mat-mdc-tab-list",3,"cdkObserveContent"],[1,"mat-mdc-tab-links"],["mat-ripple","",1,"mat-mdc-tab-header-pagination","mat-mdc-tab-header-pagination-after",3,"mousedown","click","touchend","matRippleDisabled"]],template:function(e,i){e&1&&(B(),l(0,"div",5,0),u("click",function(){return i._handlePaginatorClick("before")})("mousedown",function(o){return i._handlePaginatorPress("before",o)})("touchend",function(){return i._stopInterval()}),M(2,"div",6),d(),l(3,"div",7,1),u("keydown",function(o){return i._handleKeydown(o)}),l(5,"div",8,2),u("cdkObserveContent",function(){return i._onContentChanges()}),l(7,"div",9,3),y(9),d()()(),l(10,"div",10,4),u("mousedown",function(o){return i._handlePaginatorPress("after",o)})("click",function(){return i._handlePaginatorClick("after")})("touchend",function(){return i._stopInterval()}),M(12,"div",6),d()),e&2&&(_("mat-mdc-tab-header-pagination-disabled",i._disableScrollBefore),D("matRippleDisabled",i._disableScrollBefore||i.disableRipple),c(10),_("mat-mdc-tab-header-pagination-disabled",i._disableScrollAfter),D("matRippleDisabled",i._disableScrollAfter||i.disableRipple))},dependencies:[gt,Ut],styles:[`.mdc-tab{min-width:90px;padding:0 24px;display:flex;flex:1 0 Line truncated
@@ -1 +0,0 @@
import{$ as a}from"./chunk-UYDBQQ67.js";import"./chunk-2OQWUQKO.js";export{a as TopologySummaryComponent};
+1 -1
View File
@@ -115,5 +115,5 @@
}
})();
</script>
<link rel="modulepreload" href="chunk-NAUAAI4R.js"><link rel="modulepreload" href="chunk-UYDBQQ67.js"><link rel="modulepreload" href="chunk-2OQWUQKO.js"><script src="main-GNFXLLJY.js" type="module"></script></body>
<link rel="modulepreload" href="chunk-764TLGKY.js"><link rel="modulepreload" href="chunk-NJCA2RVJ.js"><link rel="modulepreload" href="chunk-72DGZVTL.js"><script src="main-XWFCXTXO.js" type="module"></script></body>
</html>
@@ -1,43 +1,43 @@
import{a as pi,b as gn,c as K5,d as de,e as oe,f as J5,g as nt,h as tF,i as nF,j as iF,k as oF,l as Ie,m as vt,n as ot,o as Tc,p as Ne,q as yt,r as Fe,s as ve,t as CF,u as bF,v as $1,w as xF,x as Ih}from"./chunk-NAUAAI4R.js";import{$ as yF,A as mF,B as Mr,C as ls,D as te,E as Ph,F as eE,G as Ma,H as Xr,I as pF,J as Cm,K as uF,L as io,M as ui,N as hF,O as fF,P as ar,Q as sr,R as gF,S as _F,T as vF,U as Io,V as Kr,W as bm,X as Di,Y as xm,Z as Uo,_ as hi,a as Ot,b as kt,c as it,d as Ci,e as B1,f as sl,g as Ei,h as V1,i as Dh,j as Me,k as we,l as Fd,m as z1,n as rF,o as aF,p as j1,q as sF,r as Ct,s as lF,t as cF,u as Vo,v as Nt,w as xt,x as Po,y as ll,z as dF}from"./chunk-UYDBQQ67.js";import{$ as Xe,$a as F,$b as ee,$c as C5,$d as T1,$e as ZT,A as M_,Aa as Sa,Ab as R,Ac as se,Ad as yh,Ae as jt,B as _h,Ba as mn,Bb as So,Bc as Rt,Bd as E5,Be as Bt,C as to,Ca as Mi,Cb as Eo,Cc as m5,Cd as D5,Ce as H5,D as ur,Da as XN,Db as Os,Dd as P5,De as U5,E as rs,Ea as Yt,Eb as Le,Ec as U,Ed as I5,Ee as Th,F as a1,Fa as ql,Fb as Be,Fc as X,Fe as Mc,G as Wn,Ga as vh,Gb as co,Gc as Ed,Ge as G5,H as Ln,Ha as WT,Hb as z,Hc as gt,Hd as Pd,He as A1,I as fm,Ia as KN,Ib as Ko,Ic as Bo,Id as A5,Ie as jn,J as Hi,Ja as qT,Jb as _,Jd as O5,Je as Ze,K as GT,Ka as Xp,Kb as u1,Kc as p5,Kd as Id,Ke as It,L as gm,La as ja,Lb as v,Lc as u5,Ld as w1,Le as $a,M as VN,Ma as c1,Mb as si,Mc as D_,Md as Do,N as zN,Na as YN,Nb as sn,Nc as h5,Nd as N5,Ne as O1,O as Qi,Oa as hr,Ob as Gi,Oc as yc,P as jN,Pa as Ch,Pb as wn,Pc as f5,Pd as Ad,Q as $N,Qa as m,Qb as mt,Qc as no,Qe as N1,R as qp,Ra as QT,Rb as pt,Rc as g5,Rd as F5,S as HN,Sa as da,Sc as _5,T as Md,Ta as Lo,Tb as en,Tc as Sc,Td as Sh,U as k_,Ua as Td,Ub as tn,Uc as KT,Ud as wh,V as s1,Va as gi,Vb as Pe,Vc as Qr,Vd as wa,W as Gl,Wa as Ye,Wb as an,Wc as v5,Wd as R5,X as Qp,Xa as d1,Xb as Ve,Xc as _1,Xd as M1,Xe as W5,Ya as Xi,Yb as rr,Yc as ie,Yd as k1,Ye as vm,Z as di,Za as ZN,Zb as d,Zc as Ns,Zd as Mh,Ze as F1,_ as un,_a as m1,_b as j,_c as YT,_e as q5,a as q,aa as ai,ab as Gt,ac as _i,ad as b5,ae as L5,af as R1,b as We,ba as Cn,bb as ft,bc as h1,bd as v1,bf as Q5,c as NN,ca as UN,cb as Br,cc as Cc,cd as C1,ce as E1,cf as L1,d as Is,da as kd,dc as bc,dd as x5,df as JT,e as zn,ea as K,eb as mi,ec as xc,ed as y5,ef as Nd,f as el,fa as Ut,fb as xe,fc as Yi,fd as xh,fe as kh,ff as X5,g as _o,ga as GN,gb as bh,gc as T_,gd as S5,ge as B5,gf as Yo,h as FN,ha as $t,hb as JN,hc as bn,hd as w5,he as Od,i as pr,ia as ge,ib as e5,ic as zt,id as il,ie as Lt,if as Y5,j as $e,ja as f,jb as t5,jc as hn,jd as M5,je as D1,jf as al,k as Ht,ka as WN,kb as XT,kc as tl,kd as _m,ke as Ue,kf as Z5,l as um,la as Wl,lb as n5,lc as f1,ld as k5,le as V5,lf as pa,m as RN,ma as As,mb as p1,mc as g1,md as yr,me as P1,mf as je,n as vc,na as T,nb as i5,nc as on,nd as b1,ne as At,nf as kc,o as qr,oa as E,ob as qt,oc as Un,od as x1,oe as at,of as pe,p as ir,pa as ii,pc as ma,pd as Kp,pe as I1,pf as W,q as bt,qa as Lr,qb as A,qc as r5,qd as fr,qe as Sr,qf as Ti,r as To,ra as Ro,rb as o5,rc as E_,rd as y1,re as qn,rf as eF,s as hm,sa as Ui,sb as O,sc as a5,sd as S1,se as wc,sf as fn,t as LN,ta as as,tb as Ki,tc as s5,te as et,tf as Eh,u as BN,ua as qN,ub as Ae,uc as Ho,ud as T5,ue as z5,uf as Ha,va as _e,vb as Z,vc as Zt,vd as Ql,ve as st,w as _t,wa as Ai,wb as J,wc as l5,wd as ol,we as wr,x as or,xa as QN,xb as b,xc as nl,xd as ss,xe as rl,y as xr,ya as l1,yb as s,yc as c5,yd as vi,ye as j5,z as w_,za as ne,zb as l,zc as d5,zd as Dd,ze as $5}from"./chunk-2OQWUQKO.js";var _V=Is((Prt,SS)=>{(function(n,i,e){if(!n)return;for(var t={8:"backspace",9:"tab",13:"enter",16:"shift",17:"ctrl",18:"alt",20:"capslock",27:"esc",32:"space",33:"pageup",34:"pagedown",35:"end",36:"home",37:"left",38:"up",39:"right",40:"down",45:"ins",46:"del",91:"meta",93:"meta",224:"meta"},o={106:"*",107:"+",109:"-",110:".",111:"/",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'"},r={"~":"`","!":"1","@":"2","#":"3",$:"4","%":"5","^":"6","&":"7","*":"8","(":"9",")":"0",_:"-","+":"=",":":";",'"':"'","<":",",">":".","?":"/","|":"\\"},a={option:"alt",command:"meta",return:"enter",escape:"esc",plus:"+",mod:/Mac|iPod|iPhone|iPad/.test(navigator.platform)?"meta":"ctrl"},c,p=1;p<20;++p)t[111+p]="f"+p;for(p=0;p<=9;++p)t[p+96]=p.toString();function u(P,L,ae){if(P.addEventListener){P.addEventListener(L,ae,!1);return}P.attachEvent("on"+L,ae)}function h(P){if(P.type=="keypress"){var L=String.fromCharCode(P.which);return P.shiftKey||(L=L.toLowerCase()),L}return t[P.which]?t[P.which]:o[P.which]?o[P.which]:String.fromCharCode(P.which).toLowerCase()}function g(P,L){return P.sort().join(",")===L.sort().join(",")}function S(P){var L=[];return P.shiftKey&&L.push("shift"),P.altKey&&L.push("alt"),P.ctrlKey&&L.push("ctrl"),P.metaKey&&L.push("meta"),L}function x(P){if(P.preventDefault){P.preventDefault();return}P.returnValue=!1}function C(P){if(P.stopPropagation){P.stopPropagation();return}P.cancelBubble=!0}function M(P){return P=="shift"||P=="ctrLine truncated
`;D[ue.url]=V,be(V)}),De.addEventListener("error",function(he){console.warn("Failed to load font from: "+ue.url,he),D[ue.url]=null,be(null)}),De.addEventListener("abort",function(he){console.warn("Aborted loading font from: "+ue.url,he),be(null)}),De.open("GET",ue.url),De.responseType="arraybuffer",De.send()})})).then(function(ue){return ue.filter(function(be){return be}).join("")})},P=null,L=function(){return P||(P=Array.from(document.styleSheets).map(function($){try{return{rules:$.cssRules,href:$.href}}catch(ue){return console.warn("Stylesheet could not be loaded: "+$.href,ue),{}}}))},ae=function($,ue){var be=ue||{},me=be.selectorRemap,De=be.modifyStyle,he=be.modifyCss,V=be.fonts,Y=be.excludeUnusedCss,le=he||function(Je,Ke){var ye=me?me(Je):Je,Q=De?De(Ke):Ke;return ye+"{"+Q+`}
`},ce=[],ke=typeof V>"u",ze=V||[];return L().forEach(function(Je){var Ke=Je.rules,ye=Je.href;Ke&&Array.from(Ke).forEach(function(Q){if(typeof Q.style<"u")if(y($,Q.selectorText))ce.push(le(Q.selectorText,Q.style.cssText));else if(ke&&Q.cssText.match(/^@font-face/)){var Oe=k(Q,ye);Oe&&ze.push(Oe)}else Y||ce.push(Q.cssText)})}),N(ze).then(function(Je){return ce.join(`
`)+Je})},re=function(){if(!navigator.msSaveOrOpenBlob&&!("download"in document.createElement("a")))return{popup:window.open()}};n.prepareSvg=function(G,$,ue){p(G);var be=$||{},me=be.left,De=me===void 0?0:me,he=be.top,V=he===void 0?0:he,Y=be.width,le=be.height,ce=be.scale,ke=ce===void 0?1:ce,ze=be.responsive,Je=ze===void 0?!1:ze,Ke=be.excludeCss,ye=Ke===void 0?!1:Ke;return I(G).then(function(){var Q=G.cloneNode(!0);Q.style.backgroundColor=($||{}).backgroundColor||G.style.backgroundColor;var Oe=C(G,Q,Y,le),qe=Oe.width,ct=Oe.height;if(G.tagName!=="svg")if(G.getBBox){Q.getAttribute("transform")!=null&&Q.setAttribute("transform",Q.getAttribute("transform").replace(/translate\(.*?\)/,""));var Dt=document.createElementNS("http://www.w3.org/2000/svg","svg");Dt.appendChild(Q),Q=Dt}else{console.error("Attempted to render non-SVG element",G);return}if(Q.setAttribute("version","1.1"),Q.setAttribute("viewBox",[De,V,qe,ct].join(" ")),Q.getAttribute("xmlns")||Q.setAttributeNS(i,"xmlns",t),Q.getAttribute("xmlns:xlink")||Q.setAttributeNS(i,"xmlns:xlink","http://www.w3.org/1999/xlink"),Je?(Q.removeAttribute("width"),Q.removeAttribute("height"),Q.setAttribute("preserveAspectRatio","xMinYMin meet")):(Q.setAttribute("width",qe*ke),Q.setAttribute("height",ct*ke)),Array.from(Q.querySelectorAll("foreignObject > *")).forEach(function(yo){yo.setAttributeNS(i,"xmlns",yo.tagName==="svg"?t:e)}),ye){var Zn=document.createElement("div");Zn.appendChild(Q);var Fo=Zn.innerHTML;if(typeof ue=="function")ue(Fo,qe,ct);else return{src:Fo,width:qe,height:ct}}else return ae(G,$).then(function(yo){var Wr=document.createElement("style");Wr.setAttribute("type","text/css"),Wr.innerHTML=`<![CDATA[
`+yo+`
]]>`;var Vn=document.createElement("defs");Vn.appendChild(Wr),Q.insertBefore(Vn,Q.firstChild);var dm=document.createElement("div");dm.appendChild(Q);var gh=dm.innerHTML.replace(/NS\d+:href/gi,'xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href');if(typeof ue=="function")ue(gh,qe,ct);else return{src:gh,width:qe,height:ct}})})},n.svgAsDataUri=function(G,$,ue){return p(G),n.prepareSvg(G,$).then(function(be){var me=be.src,De=be.width,he=be.height,V="data:image/svg+xml;base64,"+window.btoa(M(o+me));return typeof ue=="function"&&ue(V,De,he),V})},n.svgAsPngUri=function(G,$,ue){p(G);var be=$||{},me=be.encoderType,De=me===void 0?"image/png":me,he=be.encoderOptions,V=he===void 0?.8:he,Y=be.canvg,le=function(ke){var ze=ke.src,Je=ke.width,Ke=ke.height,ye=document.createElement("canvas"),Q=ye.getContext("2d"),Oe=window.devicePixelRatio||1;ye.width=Je*Oe,ye.height=Ke*Oe,ye.style.width=ye.width+"px",ye.style.height=ye.height+"px",Q.setTransform(Oe,0,0,Oe,0,0),Y?Y(ye,ze):Q.drawImage(ze,0,0);var qe=void 0;try{qe=ye.toDataURL(De,V)}catch(ct){if(typeof SecurityError<"u"&&ct instanceof SecurityError||ct.name==="SecurityError"){console.error("Rendered SVG images cannot be downloaded in this browser.");return}else throw ct}return typeof ue=="function"&&ue(qe,ye.width,ye.height),Promise.resolve(qe)};return Y?n.prepareSvg(G,$).then(le):n.svgAsDataUri(G,$).then(function(ce){return new Promise(function(ke,ze){var Je=new Image;Je.onload=function(){return ke(le({src:Je,width:Je.width,height:Je.height}))},Je.onerror=function(){ze(`There was an error loading the data URI as an image on the following SVG
import{a as li,b as pn,c as C4,d as de,e as ie,f as y4,g as Je,h as w4,i as M4,j as k4,k as T4,l as Ie,m as gt,n as nt,o as pc,p as Ne,q as bt,r as Fe,s as _e,t as $4,u as H4,v as DC,w as U4,x as eh}from"./chunk-764TLGKY.js";import{$ as G4,A as N4,B as vr,C as Ya,D as te,E as Ju,F as pk,G as ga,H as jr,I as F4,J as Wd,K as R4,L as Zi,M as ci,N as L4,O as V4,P as tr,Q as nr,R as B4,S as z4,T as j4,U as To,V as $r,W as qd,X as ki,Y as Qd,Z as zo,_ as di,a as It,b as wt,c as et,d as fi,e as MC,f as Gs,g as Mi,h as kC,i as Zu,j as Me,k as we,l as fd,m as TC,n as E4,o as D4,p as EC,q as P4,r as _t,s as I4,t as A4,u as Fo,v as At,w as vt,x as ko,y as Ws,z as O4}from"./chunk-NJCA2RVJ.js";import{$ as J,$a as O,$b as IO,$c as Uu,$d as zt,$e as wi,A as sr,Aa as Ia,Ab as Xt,Ac as VO,Ad as hC,Ae as dk,B as Qa,Ba as Zv,Bb as Kt,Bc as BO,Bd as n4,Be as SC,C as Kv,Ca as lr,Cb as Pe,Cc as rC,Ce as u4,D as Hn,Da as zu,Db as nn,Dc as aC,Dd as fC,De as wC,E as ai,Ea as m,Eb as Be,Ec as zO,Ee as mk,F as Ud,Fa as Xa,Fb as er,Fc as jO,Fe as hd,G as po,Ga as Oo,Gb as d,Gc as $u,Gd as Qu,Ge as h4,H as ok,Ha as sd,Hb as j,Hc as $O,Hd as i4,He as qo,I as rk,Ia as Si,Ib as ee,Ic as HO,Id as ud,Ie as f4,J as _O,Ja as ot,Jb as ui,Jc as js,Jd as Ft,Je as bp,K as vO,Ka as MO,Kb as eC,Kc as UO,Kd as gC,Ke as g4,L as Ao,La as oo,Lb as oc,Lc as Hu,Ld as Ue,Le as _4,M as CO,Ma as F,Mb as rc,Mc as GO,Md as o4,Me as lt,N as bO,Na as Ht,Nb as ac,Nc as fr,Nd as _C,Ne as Ku,O as gp,Oa as ft,Ob as Ui,Oc as sC,Od as Pt,Oe as ht,Pa as Ar,Pb as Fg,Pc as lC,Pd as rt,Pe as vn,Q as xO,Qb as fn,Qc as Cp,Qd as vC,Qe as v4,R as Yv,Ra as si,Rb as Bt,Rc as cr,Rd as gr,Re as dt,S as Dl,Sa as xe,Sb as dn,Sc as cC,Sd as Gn,T as _p,Ta as ju,Tb as zs,Tc as dC,Td as cc,Te as b4,Ua as kO,Ub as tC,Ud as Ye,Ue as Us,V as pi,Va as TO,Vb as nC,Vc as WO,Vd as r4,Ve as x4,W as Un,Wa as EO,Wb as en,Wc as Al,Wd as at,We as ia,X as tt,Xa as qt,Xb as jn,Xc as $s,Xd as _r,Xe as je,Y as Qi,Yb as na,Yc as Ka,Yd as Hs,Ye as mc,Z as yi,Za as A,Zb as PO,Zc as hi,Zd as a4,Ze as pe,_ as ad,_a as DO,_b as Rg,_c as cd,_d as s4,_e as W,a as K,aa as $t,ab as Hi,ac as lk,ad as qO,ae as Rt,af as S4,b as it,ba as cn,bb as Ae,bc as Jt,bd as QO,be as l4,bf as mn,c as uO,ca as ge,cb as Y,cc as sc,cd as XO,ce as c4,cf as Yu,d as Cs,da as f,db as Z,dc as AO,dd as KO,de as Xu,df as Oa,e as Ln,ea as yO,eb as C,ec as OO,ee as dc,f as Bs,fa as SO,fb as s,fc as le,fe as d4,g as So,ga as k,gb as l,gc as Nt,gd as dd,ge as CC,h as Dr,ha as T,hb as R,hc as NO,hd as YO,he as Vn,i as He,ia as ei,ib as vo,id as ZO,ie as Xe,j as an,ja as Ir,jb as wo,jc as U,jd as md,je as Dt,k as Hd,ka as Jo,kb as bs,kc as Q,kd as mC,ke as Aa,l as hO,la as Xi,lb as Le,lc as ld,ld as Mo,m as nc,ma as Pl,mb as Ve,mc as Ct,md as JO,me as bC,n as Lu,na as ve,nb as ro,nc as No,o as Vu,oa as Vi,ob as z,od as pd,p as Nn,pa as wO,pb as Wo,pc as iC,pe as xC,q as Bo,qa as ae,qb as g,qc as Yi,qd as e4,r as Ng,ra as ha,rb as Jv,rc as FO,s as fO,sa as bn,sb as v,sc as RO,sd as Gu,ta as Pi,tb as ii,tc as lc,td as Wu,u as Lt,ua as Zt,ub as on,uc as ck,ud as fa,v as Pr,va as Il,vb as Ki,vc as zr,vd as t4,w as ic,wa as Bu,wb as xn,wc as LO,wd as pC,we as m4,x as ik,xa as ak,xb as mt,xc as oC,xd as uC,xe as Gd,y as gO,ya as sk,yb as pt,yc as ne,yd as qu,ye as yC,z as qi,za as vp,zc as xs,ze as p4}from"./chunk-72DGZVTL.js";var B8=Cs((dJe,Fx)=>{(function(n,i,e){if(!n)return;for(var t={8:"backspace",9:"tab",13:"enter",16:"shift",17:"ctrl",18:"alt",20:"capslock",27:"esc",32:"space",33:"pageup",34:"pagedown",35:"end",36:"home",37:"left",38:"up",39:"right",40:"down",45:"ins",46:"del",91:"meta",93:"meta",224:"meta"},o={106:"*",107:"+",109:"-",110:".",111:"/",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'"},r={"~":"`","!":"1","@":"2","#":"3",$:"4","%":"5","^":"6","&":"7","*":"8","(":"9",")":"0",_:"-","+":"=",":":";",'"':"'","<":",",">":".","?":"/","|":"\\"},a={option:"alt",command:"meta",return:"enter",escape:"esc",plus:"+",mod:/Mac|iPod|iPhone|iPad/.test(navigator.platform)?"meta":"ctrl"},c,p=1;p<20;++p)t[111+p]="f"+p;for(p=0;p<=9;++p)t[p+96]=p.toString();function u(P,L,re){if(P.addEventListener){P.addEventListener(L,re,!1);return}P.attachEvent("on"+L,re)}function h(P){if(P.type=="keypress"){var L=String.fromCharCode(P.which);return P.shiftKey||(L=L.toLowerCase()),L}return t[P.which]?t[P.which]:o[P.which]?o[P.which]:String.fromCharCode(P.which).toLowerCase()}function _(P,L){return P.sort().join(",")===L.sort().join(",")}function S(P){var L=[];return P.shiftKey&&L.push("shift"),P.altKey&&L.push("alt"),P.ctrlKey&&L.push("ctrl"),P.metaKey&&L.push("meta"),L}function x(P){if(P.preventDefault){P.preventDefault();return}P.returnValue=!1}function b(P){if(P.stopPropagation){P.stopPropagation();return}P.cancelBubble=!0}function M(P){return P=="shift"||P=="ctrl"||P=="alt"||P=="meta"}function w(){if(!c){c={};for(var P in t)P>95&&P<112||t.hasOwnProperty(P)&&(c[t[P]]=P)}return c}function y(P,L,re){return re||(re=w()[P]?"Line truncated
`;D[ue.url]=B,be(B)}),De.addEventListener("error",function(he){console.warn("Failed to load font from: "+ue.url,he),D[ue.url]=null,be(null)}),De.addEventListener("abort",function(he){console.warn("Aborted loading font from: "+ue.url,he),be(null)}),De.open("GET",ue.url),De.responseType="arraybuffer",De.send()})})).then(function(ue){return ue.filter(function(be){return be}).join("")})},P=null,L=function(){return P||(P=Array.from(document.styleSheets).map(function($){try{return{rules:$.cssRules,href:$.href}}catch(ue){return console.warn("Stylesheet could not be loaded: "+$.href,ue),{}}}))},re=function($,ue){var be=ue||{},me=be.selectorRemap,De=be.modifyStyle,he=be.modifyCss,B=be.fonts,X=be.excludeUnusedCss,se=he||function(Ke,Qe){var ye=me?me(Ke):Ke,q=De?De(Qe):Qe;return ye+"{"+q+`}
`},ce=[],ke=typeof B>"u",ze=B||[];return L().forEach(function(Ke){var Qe=Ke.rules,ye=Ke.href;Qe&&Array.from(Qe).forEach(function(q){if(typeof q.style<"u")if(y($,q.selectorText))ce.push(se(q.selectorText,q.style.cssText));else if(ke&&q.cssText.match(/^@font-face/)){var Oe=E(q,ye);Oe&&ze.push(Oe)}else X||ce.push(q.cssText)})}),N(ze).then(function(Ke){return ce.join(`
`)+Ke})},oe=function(){if(!navigator.msSaveOrOpenBlob&&!("download"in document.createElement("a")))return{popup:window.open()}};n.prepareSvg=function(G,$,ue){p(G);var be=$||{},me=be.left,De=me===void 0?0:me,he=be.top,B=he===void 0?0:he,X=be.width,se=be.height,ce=be.scale,ke=ce===void 0?1:ce,ze=be.responsive,Ke=ze===void 0?!1:ze,Qe=be.excludeCss,ye=Qe===void 0?!1:Qe;return I(G).then(function(){var q=G.cloneNode(!0);q.style.backgroundColor=($||{}).backgroundColor||G.style.backgroundColor;var Oe=b(G,q,X,se),We=Oe.width,ct=Oe.height;if(G.tagName!=="svg")if(G.getBBox){q.getAttribute("transform")!=null&&q.setAttribute("transform",q.getAttribute("transform").replace(/translate\(.*?\)/,""));var Tt=document.createElementNS("http://www.w3.org/2000/svg","svg");Tt.appendChild(q),q=Tt}else{console.error("Attempted to render non-SVG element",G);return}if(q.setAttribute("version","1.1"),q.setAttribute("viewBox",[De,B,We,ct].join(" ")),q.getAttribute("xmlns")||q.setAttributeNS(i,"xmlns",t),q.getAttribute("xmlns:xlink")||q.setAttributeNS(i,"xmlns:xlink","http://www.w3.org/1999/xlink"),Ke?(q.removeAttribute("width"),q.removeAttribute("height"),q.setAttribute("preserveAspectRatio","xMinYMin meet")):(q.setAttribute("width",We*ke),q.setAttribute("height",ct*ke)),Array.from(q.querySelectorAll("foreignObject > *")).forEach(function(_o){_o.setAttributeNS(i,"xmlns",_o.tagName==="svg"?t:e)}),ye){var Xn=document.createElement("div");Xn.appendChild(q);var Io=Xn.innerHTML;if(typeof ue=="function")ue(Io,We,ct);else return{src:Io,width:We,height:ct}}else return re(G,$).then(function(_o){var Br=document.createElement("style");Br.setAttribute("type","text/css"),Br.innerHTML=`<![CDATA[
`+_o+`
]]>`;var Rn=document.createElement("defs");Rn.appendChild(Br),q.insertBefore(Rn,q.firstChild);var zd=document.createElement("div");zd.appendChild(q);var Ru=zd.innerHTML.replace(/NS\d+:href/gi,'xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href');if(typeof ue=="function")ue(Ru,We,ct);else return{src:Ru,width:We,height:ct}})})},n.svgAsDataUri=function(G,$,ue){return p(G),n.prepareSvg(G,$).then(function(be){var me=be.src,De=be.width,he=be.height,B="data:image/svg+xml;base64,"+window.btoa(M(o+me));return typeof ue=="function"&&ue(B,De,he),B})},n.svgAsPngUri=function(G,$,ue){p(G);var be=$||{},me=be.encoderType,De=me===void 0?"image/png":me,he=be.encoderOptions,B=he===void 0?.8:he,X=be.canvg,se=function(ke){var ze=ke.src,Ke=ke.width,Qe=ke.height,ye=document.createElement("canvas"),q=ye.getContext("2d"),Oe=window.devicePixelRatio||1;ye.width=Ke*Oe,ye.height=Qe*Oe,ye.style.width=ye.width+"px",ye.style.height=ye.height+"px",q.setTransform(Oe,0,0,Oe,0,0),X?X(ye,ze):q.drawImage(ze,0,0);var We=void 0;try{We=ye.toDataURL(De,B)}catch(ct){if(typeof SecurityError<"u"&&ct instanceof SecurityError||ct.name==="SecurityError"){console.error("Rendered SVG images cannot be downloaded in this browser.");return}else throw ct}return typeof ue=="function"&&ue(We,ye.width,ye.height),Promise.resolve(We)};return X?n.prepareSvg(G,$).then(se):n.svgAsDataUri(G,$).then(function(ce){return new Promise(function(ke,ze){var Ke=new Image;Ke.onload=function(){return ke(se({src:Ke,width:Ke.width,height:Ke.height}))},Ke.onerror=function(){ze(`There was an error loading the data URI as an image on the following SVG
`+window.atob(ce.slice(26))+`Open the following link to see browser's diagnosis
`+ce)},Je.src=ce})})},n.download=function(G,$,ue){if(navigator.msSaveOrOpenBlob)navigator.msSaveOrOpenBlob(w($),G);else{var be=document.createElement("a");if("download"in be){be.download=G,be.style.display="none",document.body.appendChild(be);try{var me=w($),De=URL.createObjectURL(me);be.href=De,be.onclick=function(){return requestAnimationFrame(function(){return URL.revokeObjectURL(De)})}}catch(he){console.error(he),console.warn("Error while getting object URL. Falling back to string URL."),be.href=$}be.click(),document.body.removeChild(be)}else ue&&ue.popup&&(ue.popup.document.title=G,ue.popup.location.replace($))}},n.saveSvg=function(G,$,ue){var be=re();return u(G).then(function(me){return n.svgAsDataUri(me,ue||{})}).then(function(me){return n.download($,me,be)})},n.saveSvgAsPng=function(G,$,ue){var be=re();return u(G).then(function(me){return n.svgAsPngUri(me,ue||{})}).then(function(me){return n.download($,me,be)})}})()});var xN=Is((fk,bN)=>{(function(n,i){if(typeof fk=="object"&&typeof bN=="object")bN.exports=i();else if(typeof define=="function"&&define.amd)define([],i);else{var e=i();for(var t in e)(typeof fk=="object"?fk:n)[t]=e[t]}})(globalThis,()=>(()=>{"use strict";var n={4567:function(o,r,a){var c=this&&this.__decorate||function(w,y,k,I){var D,N=arguments.length,P=N<3?y:I===null?I=Object.getOwnPropertyDescriptor(y,k):I;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")P=Reflect.decorate(w,y,k,I);else for(var L=w.length-1;L>=0;L--)(D=w[L])&&(P=(N<3?D(P):N>3?D(y,k,P):D(y,k))||P);return N>3&&P&&Object.defineProperty(y,k,P),P},p=this&&this.__param||function(w,y){return function(k,I){y(k,I,w)}};Object.defineProperty(r,"__esModule",{value:!0}),r.AccessibilityManager=void 0;let u=a(9042),h=a(9924),g=a(844),S=a(4725),x=a(2585),C=a(3656),M=r.AccessibilityManager=class extends g.Disposable{constructor(w,y,k,I){super(),this._terminal=w,this._coreBrowserService=k,this._renderService=I,this._rowColumns=new WeakMap,this._liveRegionLineCount=0,this._charsToConsume=[],this._charsToAnnounce="",this._accessibilityContainer=this._coreBrowserService.mainDocument.createElement("div"),this._accessibilityContainer.classList.add("xterm-accessibility"),this._rowContainer=this._coreBrowserService.mainDocument.createElement("div"),this._rowContainer.setAttribute("role","list"),this._rowContainer.classList.add("xterm-accessibility-tree"),this._rowElements=[];for(let D=0;D<this._terminal.rows;D++)this._rowElements[D]=this._createAccessibilityTreeNode(),this._rowContainer.appendChild(this._rowElements[D]);if(this._topBoundaryFocusListener=D=>this._handleBoundaryFocus(D,0),this._bottomBoundaryFocusListener=D=>this._handleBoundaryFocus(D,1),this._rowElements[0].addEventListener("focus",this._topBoundaryFocusListener),this._rowElements[this._rowElements.length-1].addEventListener("focus",this._bottomBoundaryFocusListener),this._refreshRowsDimensions(),this._accessibilityContainer.appendChild(this._rowContainer),this._liveRegion=this._coreBrowserService.mainDocument.createElement("div"),this._liveRegion.classList.add("live-region"),this._liveRegion.setAttribute("aria-live","assertive"),this._accessibilityContainer.appendChild(this._liveRegion),this._liveRegionDebouncer=this.register(new h.TimeBasedDebouncer(this._renderRows.bind(this))),!this._terminal.element)throw new Error("Cannot enable accessibility before Terminal.open");this._terminal.element.insertAdjacentElement("afterbegin",this._accessibilityContainer),this.register(this._terminal.onResize(D=>this._handleResize(D.rows))),this.register(this._terminal.onRender(D=>this._refreshRows(D.start,D.end))),this.register(this._terminal.onScroll(()=>this._refreshRows())),this.register(this._terminal.onA11yChar(D=>this._handleChar(D))),this.register(this._terminal.onLineFeed(()=>this._handleChar(`
`))),this.register(this._terminal.onA11yTab(D=>this._handleTab(D))),this.register(this._terminal.onKey(D=>this._handleKey(D.key))),this.register(this._terminal.onBlur(()=>this._clearLiveRegion())),this.register(this._renderService.onDimensionsChange(()=>this._refreshRowsDimensions())),this.register((0,C.addDisposableDomListener)(document,"selectionchange",()=>this._handleSelectionChange())),this.register(this._coreBrowserService.onDprChange(()=>this._refreshRowsDimensions())),this._refreshRows(),this.register((0,g.toDisposable)(()=>{this._accessibilityContainer.remove(),this._rowElements.length=0}))}_handleTab(w){for(let y=0;y<w;y++)this._handleChar(" ")}_handleChar(w){this._liveRegionLineCount<21&&(this._charsToConsume.length>0?this._charsToConsume.shift()!==w&&(this._charsToAnnounce+=w):this._charsToAnnounce+=w,w===`
`&&(this._liveRegionLineCount++,this._liveRegionLineCount===21&&(this._liveRegion.textContent+=u.tooMuchOutput)))}_clearLiveRegion(){this._liveRegion.textContent="",this._liveRegionLineCount=0}_handleKey(w){this._clearLiveRegion(),new RegExp("\\p{Control}","u").test(w)||this._charsToConsume.push(w)}_refreshRows(w,y){this._liveRegionDebouncer.refresh(w,y,this._terminal.rows)}_renderRows(w,y){let k=this._terminal.buffer,I=k.lines.length.toString();for(let D=w;D<=y;D++){let N=k.lines.get(k.ydisp+D),P=[],L=N?.translateToString(!0,void 0,void 0,P)||"",ae=(k.ydisp+D+1).toString(),re=this._rowElements[D];re&&(L.length===0?(re.innerText="\xA0",this._rowColumns.set(re,[0,1])):(re.textContent=L,this._rowColumns.set(re,P)),re.setAttribute("aria-posinset",ae),re.setAttribute("aria-setsize",I))}this._announceCharacters()}_announceCharacters(){this._charsToAnnounce.length!==0&&(this._liveRegion.textContent+=this._charsToAnnounce,this._charsToAnnounce="")}_handleBoundaryFocus(w,y){let k=w.target,I=this._rowElements[y===0?1:this._rowElements.length-2];if(k.getAttribute("aria-posinset")===(y===0?"1":`${this._terminal.buffer.lines.length}`)||w.relatedTarget!==I)return;let D,N;if(y===0?(D=k,N=this._rowElements.pop(),this._rowContainer.removeChild(N)):(D=this._rowElements.shift(),N=k,this._rowContainer.removeChild(D)),D.removeEventListener("focus",this._topBoundaryFocusListener),N.removeEventListener("focus",this._bottomBoundaryFocusListener),y===0){let P=this._createAccessibilityTreeNode();this._rowElements.unshift(P),this._rowContainer.insertAdjacentElement("afterbegin",P)}else{let P=this._createAccessibilityTreeNode();this._rowElements.push(P),this._rowContainer.appendChild(P)}this._rowElements[0].addEventListener("focus",this._topBoundaryFocusListener),this._rowElements[this._rowElements.length-1].addEventListener("focus",this._bottomBoundaryFocusListener),this._terminal.scrollLines(y===0?-1:1),this._rowElements[y===0?1:this._rowElements.length-2].focus(),w.preventDefault(),w.stopImmediatePropagation()}_handleSelectionChange(){if(this._rowElements.length===0)return;let w=document.getSelection();if(!w)return;if(w.isCollapsed)return void(this._rowContainer.contains(w.anchorNode)&&this._terminal.clearSelection());if(!w.anchorNode||!w.focusNode)return void console.error("anchorNode and/or focusNode are null");let y={node:w.anchorNode,offset:w.anchorOffset},k={node:w.focusNode,offset:w.focusOffset};if((y.node.compareDocumentPosition(k.node)&Node.DOCUMENT_POSITION_PRECEDING||y.node===k.node&&y.offset>k.offset)&&([y,k]=[k,y]),y.node.compareDocumentPosition(this._rowElements[0])&(Node.DOCUMENT_POSITION_CONTAINED_BY|Node.DOCUMENT_POSITION_FOLLOWING)&&(y={node:this._rowElements[0].childNodes[0],offset:0}),!this._rowContainer.contains(y.node))return;let I=this._rowElements.slice(-1)[0];if(k.node.compareDocumentPosition(I)&(Node.DOCUMENT_POSITION_CONTAINED_BY|Node.DOCUMENT_POSITION_PRECEDING)&&(k={node:I,offset:I.textContent?.length??0}),!this._rowContainer.contains(k.node))return;let D=({node:L,offset:ae})=>{let re=L instanceof Text?L.parentNode:L,G=parseInt(re?.getAttribute("aria-posinset"),10)-1;if(isNaN(G))return console.warn("row is invalid. Race condition?"),null;let $=this._rowColumns.get(re);if(!$)return console.warn("columns is null. Race condition?"),null;let ue=ae<$.length?$[ae]:$.slice(-1)[0]+1;return ue>=this._terminal.cols&&(++G,ue=0),{row:G,column:ue}},N=D(y),P=D(k);if(N&&P){if(N.row>P.row||N.row===P.row&&N.column>=P.column)throw new Error("invalid range");this._terminal.select(N.column,N.row,(P.row-N.row)*this._terminal.cols-N.column+P.column)}}_handleResize(w){this._rowElements[this._rowElements.length-1].removeEventListener("focus",this._bottomBoundaryFocusListener);for(let y=this._rowContainer.children.length;y<this._terminal.rows;y++)this._rowElements[y]=this._createAccessibilityTreeNode(),this._rowContainer.appendChild(this._rowElements[y]);for(;this._rowElements.length>w;)this._rowContainer.removeChild(this._rowElements.pop());this._rowElements[this._rowElements.length-1].addEventListener("focus",this._bottomBoundaryFocusListener),this._refreshRowsDimensions()}_createAccessibilityTreeNode(){let w=this._coreBrowserService.mainDocument.createElement("div");return w.setAttribute("role","listitem"),w.tabIndex=-1,this._refreshRowDimensions(w),w}_refreshRowsDimensions(){if(this._renderService.dimensions.css.cell.height){this._accessibilityContainer.style.width=`${this._renderService.dimensions.css.canvas.width}px`,this._rowElements.length!==this._terminal.rows&&this._handleResize(this._terminal.rows);for(let w=0;w<this._terminal.rows;w++)this._refreshRowDimensions(this._rowElements[w])}}_refreshRowDimensions(w){w.style.height=`${this._renderService.dimensions.css.cell.height}px`}};r.AccessibilityManager=M=c([p(1,x.IInstantiationService),p(2,S.ICoreBrowserService),p(3,S.IRenderService)],M)},3614:(o,r)=>{function a(h){return h.replace(/\r?\n/g,"\r")}function c(h,g){return g?"\x1B[200~"+h+"\x1B[201~":h}function p(h,g,S,x Line truncated
`+ce)},Ke.src=ce})})},n.download=function(G,$,ue){if(navigator.msSaveOrOpenBlob)navigator.msSaveOrOpenBlob(w($),G);else{var be=document.createElement("a");if("download"in be){be.download=G,be.style.display="none",document.body.appendChild(be);try{var me=w($),De=URL.createObjectURL(me);be.href=De,be.onclick=function(){return requestAnimationFrame(function(){return URL.revokeObjectURL(De)})}}catch(he){console.error(he),console.warn("Error while getting object URL. Falling back to string URL."),be.href=$}be.click(),document.body.removeChild(be)}else ue&&ue.popup&&(ue.popup.document.title=G,ue.popup.location.replace($))}},n.saveSvg=function(G,$,ue){var be=oe();return u(G).then(function(me){return n.svgAsDataUri(me,ue||{})}).then(function(me){return n.download($,me,be)})},n.saveSvgAsPng=function(G,$,ue){var be=oe();return u(G).then(function(me){return n.svgAsPngUri(me,ue||{})}).then(function(me){return n.download($,me,be)})}})()});var eO=Cs((T2,JA)=>{(function(n,i){if(typeof T2=="object"&&typeof JA=="object")JA.exports=i();else if(typeof define=="function"&&define.amd)define([],i);else{var e=i();for(var t in e)(typeof T2=="object"?T2:n)[t]=e[t]}})(globalThis,()=>(()=>{"use strict";var n={4567:function(o,r,a){var c=this&&this.__decorate||function(w,y,E,I){var D,N=arguments.length,P=N<3?y:I===null?I=Object.getOwnPropertyDescriptor(y,E):I;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")P=Reflect.decorate(w,y,E,I);else for(var L=w.length-1;L>=0;L--)(D=w[L])&&(P=(N<3?D(P):N>3?D(y,E,P):D(y,E))||P);return N>3&&P&&Object.defineProperty(y,E,P),P},p=this&&this.__param||function(w,y){return function(E,I){y(E,I,w)}};Object.defineProperty(r,"__esModule",{value:!0}),r.AccessibilityManager=void 0;let u=a(9042),h=a(9924),_=a(844),S=a(4725),x=a(2585),b=a(3656),M=r.AccessibilityManager=class extends _.Disposable{constructor(w,y,E,I){super(),this._terminal=w,this._coreBrowserService=E,this._renderService=I,this._rowColumns=new WeakMap,this._liveRegionLineCount=0,this._charsToConsume=[],this._charsToAnnounce="",this._accessibilityContainer=this._coreBrowserService.mainDocument.createElement("div"),this._accessibilityContainer.classList.add("xterm-accessibility"),this._rowContainer=this._coreBrowserService.mainDocument.createElement("div"),this._rowContainer.setAttribute("role","list"),this._rowContainer.classList.add("xterm-accessibility-tree"),this._rowElements=[];for(let D=0;D<this._terminal.rows;D++)this._rowElements[D]=this._createAccessibilityTreeNode(),this._rowContainer.appendChild(this._rowElements[D]);if(this._topBoundaryFocusListener=D=>this._handleBoundaryFocus(D,0),this._bottomBoundaryFocusListener=D=>this._handleBoundaryFocus(D,1),this._rowElements[0].addEventListener("focus",this._topBoundaryFocusListener),this._rowElements[this._rowElements.length-1].addEventListener("focus",this._bottomBoundaryFocusListener),this._refreshRowsDimensions(),this._accessibilityContainer.appendChild(this._rowContainer),this._liveRegion=this._coreBrowserService.mainDocument.createElement("div"),this._liveRegion.classList.add("live-region"),this._liveRegion.setAttribute("aria-live","assertive"),this._accessibilityContainer.appendChild(this._liveRegion),this._liveRegionDebouncer=this.register(new h.TimeBasedDebouncer(this._renderRows.bind(this))),!this._terminal.element)throw new Error("Cannot enable accessibility before Terminal.open");this._terminal.element.insertAdjacentElement("afterbegin",this._accessibilityContainer),this.register(this._terminal.onResize(D=>this._handleResize(D.rows))),this.register(this._terminal.onRender(D=>this._refreshRows(D.start,D.end))),this.register(this._terminal.onScroll(()=>this._refreshRows())),this.register(this._terminal.onA11yChar(D=>this._handleChar(D))),this.register(this._terminal.onLineFeed(()=>this._handleChar(`
`))),this.register(this._terminal.onA11yTab(D=>this._handleTab(D))),this.register(this._terminal.onKey(D=>this._handleKey(D.key))),this.register(this._terminal.onBlur(()=>this._clearLiveRegion())),this.register(this._renderService.onDimensionsChange(()=>this._refreshRowsDimensions())),this.register((0,b.addDisposableDomListener)(document,"selectionchange",()=>this._handleSelectionChange())),this.register(this._coreBrowserService.onDprChange(()=>this._refreshRowsDimensions())),this._refreshRows(),this.register((0,_.toDisposable)(()=>{this._accessibilityContainer.remove(),this._rowElements.length=0}))}_handleTab(w){for(let y=0;y<w;y++)this._handleChar(" ")}_handleChar(w){this._liveRegionLineCount<21&&(this._charsToConsume.length>0?this._charsToConsume.shift()!==w&&(this._charsToAnnounce+=w):this._charsToAnnounce+=w,w===`
`&&(this._liveRegionLineCount++,this._liveRegionLineCount===21&&(this._liveRegion.textContent+=u.tooMuchOutput)))}_clearLiveRegion(){this._liveRegion.textContent="",this._liveRegionLineCount=0}_handleKey(w){this._clearLiveRegion(),new RegExp("\\p{Control}","u").test(w)||this._charsToConsume.push(w)}_refreshRows(w,y){this._liveRegionDebouncer.refresh(w,y,this._terminal.rows)}_renderRows(w,y){let E=this._terminal.buffer,I=E.lines.length.toString();for(let D=w;D<=y;D++){let N=E.lines.get(E.ydisp+D),P=[],L=N?.translateToString(!0,void 0,void 0,P)||"",re=(E.ydisp+D+1).toString(),oe=this._rowElements[D];oe&&(L.length===0?(oe.innerText="\xA0",this._rowColumns.set(oe,[0,1])):(oe.textContent=L,this._rowColumns.set(oe,P)),oe.setAttribute("aria-posinset",re),oe.setAttribute("aria-setsize",I))}this._announceCharacters()}_announceCharacters(){this._charsToAnnounce.length!==0&&(this._liveRegion.textContent+=this._charsToAnnounce,this._charsToAnnounce="")}_handleBoundaryFocus(w,y){let E=w.target,I=this._rowElements[y===0?1:this._rowElements.length-2];if(E.getAttribute("aria-posinset")===(y===0?"1":`${this._terminal.buffer.lines.length}`)||w.relatedTarget!==I)return;let D,N;if(y===0?(D=E,N=this._rowElements.pop(),this._rowContainer.removeChild(N)):(D=this._rowElements.shift(),N=E,this._rowContainer.removeChild(D)),D.removeEventListener("focus",this._topBoundaryFocusListener),N.removeEventListener("focus",this._bottomBoundaryFocusListener),y===0){let P=this._createAccessibilityTreeNode();this._rowElements.unshift(P),this._rowContainer.insertAdjacentElement("afterbegin",P)}else{let P=this._createAccessibilityTreeNode();this._rowElements.push(P),this._rowContainer.appendChild(P)}this._rowElements[0].addEventListener("focus",this._topBoundaryFocusListener),this._rowElements[this._rowElements.length-1].addEventListener("focus",this._bottomBoundaryFocusListener),this._terminal.scrollLines(y===0?-1:1),this._rowElements[y===0?1:this._rowElements.length-2].focus(),w.preventDefault(),w.stopImmediatePropagation()}_handleSelectionChange(){if(this._rowElements.length===0)return;let w=document.getSelection();if(!w)return;if(w.isCollapsed)return void(this._rowContainer.contains(w.anchorNode)&&this._terminal.clearSelection());if(!w.anchorNode||!w.focusNode)return void console.error("anchorNode and/or focusNode are null");let y={node:w.anchorNode,offset:w.anchorOffset},E={node:w.focusNode,offset:w.focusOffset};if((y.node.compareDocumentPosition(E.node)&Node.DOCUMENT_POSITION_PRECEDING||y.node===E.node&&y.offset>E.offset)&&([y,E]=[E,y]),y.node.compareDocumentPosition(this._rowElements[0])&(Node.DOCUMENT_POSITION_CONTAINED_BY|Node.DOCUMENT_POSITION_FOLLOWING)&&(y={node:this._rowElements[0].childNodes[0],offset:0}),!this._rowContainer.contains(y.node))return;let I=this._rowElements.slice(-1)[0];if(E.node.compareDocumentPosition(I)&(Node.DOCUMENT_POSITION_CONTAINED_BY|Node.DOCUMENT_POSITION_PRECEDING)&&(E={node:I,offset:I.textContent?.length??0}),!this._rowContainer.contains(E.node))return;let D=({node:L,offset:re})=>{let oe=L instanceof Text?L.parentNode:L,G=parseInt(oe?.getAttribute("aria-posinset"),10)-1;if(isNaN(G))return console.warn("row is invalid. Race condition?"),null;let $=this._rowColumns.get(oe);if(!$)return console.warn("columns is null. Race condition?"),null;let ue=re<$.length?$[re]:$.slice(-1)[0]+1;return ue>=this._terminal.cols&&(++G,ue=0),{row:G,column:ue}},N=D(y),P=D(E);if(N&&P){if(N.row>P.row||N.row===P.row&&N.column>=P.column)throw new Error("invalid range");this._terminal.select(N.column,N.row,(P.row-N.row)*this._terminal.cols-N.column+P.column)}}_handleResize(w){this._rowElements[this._rowElements.length-1].removeEventListener("focus",this._bottomBoundaryFocusListener);for(let y=this._rowContainer.children.length;y<this._terminal.rows;y++)this._rowElements[y]=this._createAccessibilityTreeNode(),this._rowContainer.appendChild(this._rowElements[y]);for(;this._rowElements.length>w;)this._rowContainer.removeChild(this._rowElements.pop());this._rowElements[this._rowElements.length-1].addEventListener("focus",this._bottomBoundaryFocusListener),this._refreshRowsDimensions()}_createAccessibilityTreeNode(){let w=this._coreBrowserService.mainDocument.createElement("div");return w.setAttribute("role","listitem"),w.tabIndex=-1,this._refreshRowDimensions(w),w}_refreshRowsDimensions(){if(this._renderService.dimensions.css.cell.height){this._accessibilityContainer.style.width=`${this._renderService.dimensions.css.canvas.width}px`,this._rowElements.length!==this._terminal.rows&&this._handleResize(this._terminal.rows);for(let w=0;w<this._terminal.rows;w++)this._refreshRowDimensions(this._rowElements[w])}}_refreshRowDimensions(w){w.style.height=`${this._renderService.dimensions.css.cell.height}px`}};r.AccessibilityManager=M=c([p(1,x.IInstantiationService),p(2,S.ICoreBrowserService),p(3,S.IRenderService)],M)},3614:(o,r)=>{function a(h){return h.replace(/\r?\n/g,"\r")}function c(h,_){return _?"\x1B[200~"+h+"\x1B[201~":h}function p(h,_,S,x Line truncated
WARNING: This link could potentially be dangerous`)){let M=window.open();if(M){try{M.opener=null}catch{}M.location.href=C}else console.warn("Opening link blocked as opener could not be cleared")}}r.OscLinkProvider=g=c([p(0,h.IBufferService),p(1,h.IOptionsService),p(2,h.IOscLinkService)],g)},6193:(o,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.RenderDebouncer=void 0,r.RenderDebouncer=class{constructor(a,c){this._renderCallback=a,this._coreBrowserService=c,this._refreshCallbacks=[]}dispose(){this._animationFrame&&(this._coreBrowserService.window.cancelAnimationFrame(this._animationFrame),this._animationFrame=void 0)}addRefreshCallback(a){return this._refreshCallbacks.push(a),this._animationFrame||(this._animationFrame=this._coreBrowserService.window.requestAnimationFrame(()=>this._innerRefresh())),this._animationFrame}refresh(a,c,p){this._rowCount=p,a=a!==void 0?a:0,c=c!==void 0?c:this._rowCount-1,this._rowStart=this._rowStart!==void 0?Math.min(this._rowStart,a):a,this._rowEnd=this._rowEnd!==void 0?Math.max(this._rowEnd,c):c,this._animationFrame||(this._animationFrame=this._coreBrowserService.window.requestAnimationFrame(()=>this._innerRefresh()))}_innerRefresh(){if(this._animationFrame=void 0,this._rowStart===void 0||this._rowEnd===void 0||this._rowCount===void 0)return void this._runRefreshCallbacks();let a=Math.max(this._rowStart,0),c=Math.min(this._rowEnd,this._rowCount-1);this._rowStart=void 0,this._rowEnd=void 0,this._renderCallback(a,c),this._runRefreshCallbacks()}_runRefreshCallbacks(){for(let a of this._refreshCallbacks)a(0);this._refreshCallbacks=[]}}},3236:(o,r,a)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.Terminal=void 0;let c=a(3614),p=a(3656),u=a(3551),h=a(9042),g=a(3730),S=a(1680),x=a(3107),C=a(5744),M=a(2950),w=a(1296),y=a(428),k=a(4269),I=a(5114),D=a(8934),N=a(3230),P=a(9312),L=a(4725),ae=a(6731),re=a(8055),G=a(8969),$=a(8460),ue=a(844),be=a(6114),me=a(8437),De=a(2584),he=a(7399),V=a(5941),Y=a(9074),le=a(2585),ce=a(5435),ke=a(4567),ze=a(779);class Je extends G.CoreTerminal{get onFocus(){return this._onFocus.event}get onBlur(){return this._onBlur.event}get onA11yChar(){return this._onA11yCharEmitter.event}get onA11yTab(){return this._onA11yTabEmitter.event}get onWillOpen(){return this._onWillOpen.event}constructor(ye={}){super(ye),this.browser=be,this._keyDownHandled=!1,this._keyDownSeen=!1,this._keyPressHandled=!1,this._unprocessedDeadKey=!1,this._accessibilityManager=this.register(new ue.MutableDisposable),this._onCursorMove=this.register(new $.EventEmitter),this.onCursorMove=this._onCursorMove.event,this._onKey=this.register(new $.EventEmitter),this.onKey=this._onKey.event,this._onRender=this.register(new $.EventEmitter),this.onRender=this._onRender.event,this._onSelectionChange=this.register(new $.EventEmitter),this.onSelectionChange=this._onSelectionChange.event,this._onTitleChange=this.register(new $.EventEmitter),this.onTitleChange=this._onTitleChange.event,this._onBell=this.register(new $.EventEmitter),this.onBell=this._onBell.event,this._onFocus=this.register(new $.EventEmitter),this._onBlur=this.register(new $.EventEmitter),this._onA11yCharEmitter=this.register(new $.EventEmitter),this._onA11yTabEmitter=this.register(new $.EventEmitter),this._onWillOpen=this.register(new $.EventEmitter),this._setup(),this._decorationService=this._instantiationService.createInstance(Y.DecorationService),this._instantiationService.setService(le.IDecorationService,this._decorationService),this._linkProviderService=this._instantiationService.createInstance(ze.LinkProviderService),this._instantiationService.setService(L.ILinkProviderService,this._linkProviderService),this._linkProviderService.registerLinkProvider(this._instantiationService.createInstance(g.OscLinkProvider)),this.register(this._inputHandler.onRequestBell(()=>this._onBell.fire())),this.register(this._inputHandler.onRequestRefreshRows((Q,Oe)=>this.refresh(Q,Oe))),this.register(this._inputHandler.onRequestSendFocus(()=>this._reportFocus())),this.register(this._inputHandler.onRequestReset(()=>this.reset())),this.register(this._inputHandler.onRequestWindowsOptionsReport(Q=>this._reportWindowsOptions(Q))),this.register(this._inputHandler.onColor(Q=>this._handleColorEvent(Q))),this.register((0,$.forwardEvent)(this._inputHandler.onCursorMove,this._onCursorMove)),this.register((0,$.forwardEvent)(this._inputHandler.onTitleChange,this._onTitleChange)),this.register((0,$.forwardEvent)(this._inputHandler.onA11yChar,this._onA11yCharEmitter)),this.register((0,$.forwardEvent)(this._inputHandler.onA11yTab,this._onA11yTabEmitter)),this.register(this._bufferService.onResize(Q=>this._afterResize(Q.cols,Q.rows))),this.register((0,ue.toDisposable)(()=>{this._customKeyEventHandler=void 0,this.element?.parentNode?.removeChild(this.element)}))}_handleColorEvent(ye){if(this._themeService)for(let Q of ye){let Oe,qe="";switch(Q.index){case 256:Oe="foreground",qe="10";break;case 257:Oe="background",qe="11";break;case 258:Oe="cursor",qe="12";break Line truncated
WARNING: This link could potentially be dangerous`)){let M=window.open();if(M){try{M.opener=null}catch{}M.location.href=b}else console.warn("Opening link blocked as opener could not be cleared")}}r.OscLinkProvider=_=c([p(0,h.IBufferService),p(1,h.IOptionsService),p(2,h.IOscLinkService)],_)},6193:(o,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.RenderDebouncer=void 0,r.RenderDebouncer=class{constructor(a,c){this._renderCallback=a,this._coreBrowserService=c,this._refreshCallbacks=[]}dispose(){this._animationFrame&&(this._coreBrowserService.window.cancelAnimationFrame(this._animationFrame),this._animationFrame=void 0)}addRefreshCallback(a){return this._refreshCallbacks.push(a),this._animationFrame||(this._animationFrame=this._coreBrowserService.window.requestAnimationFrame(()=>this._innerRefresh())),this._animationFrame}refresh(a,c,p){this._rowCount=p,a=a!==void 0?a:0,c=c!==void 0?c:this._rowCount-1,this._rowStart=this._rowStart!==void 0?Math.min(this._rowStart,a):a,this._rowEnd=this._rowEnd!==void 0?Math.max(this._rowEnd,c):c,this._animationFrame||(this._animationFrame=this._coreBrowserService.window.requestAnimationFrame(()=>this._innerRefresh()))}_innerRefresh(){if(this._animationFrame=void 0,this._rowStart===void 0||this._rowEnd===void 0||this._rowCount===void 0)return void this._runRefreshCallbacks();let a=Math.max(this._rowStart,0),c=Math.min(this._rowEnd,this._rowCount-1);this._rowStart=void 0,this._rowEnd=void 0,this._renderCallback(a,c),this._runRefreshCallbacks()}_runRefreshCallbacks(){for(let a of this._refreshCallbacks)a(0);this._refreshCallbacks=[]}}},3236:(o,r,a)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.Terminal=void 0;let c=a(3614),p=a(3656),u=a(3551),h=a(9042),_=a(3730),S=a(1680),x=a(3107),b=a(5744),M=a(2950),w=a(1296),y=a(428),E=a(4269),I=a(5114),D=a(8934),N=a(3230),P=a(9312),L=a(4725),re=a(6731),oe=a(8055),G=a(8969),$=a(8460),ue=a(844),be=a(6114),me=a(8437),De=a(2584),he=a(7399),B=a(5941),X=a(9074),se=a(2585),ce=a(5435),ke=a(4567),ze=a(779);class Ke extends G.CoreTerminal{get onFocus(){return this._onFocus.event}get onBlur(){return this._onBlur.event}get onA11yChar(){return this._onA11yCharEmitter.event}get onA11yTab(){return this._onA11yTabEmitter.event}get onWillOpen(){return this._onWillOpen.event}constructor(ye={}){super(ye),this.browser=be,this._keyDownHandled=!1,this._keyDownSeen=!1,this._keyPressHandled=!1,this._unprocessedDeadKey=!1,this._accessibilityManager=this.register(new ue.MutableDisposable),this._onCursorMove=this.register(new $.EventEmitter),this.onCursorMove=this._onCursorMove.event,this._onKey=this.register(new $.EventEmitter),this.onKey=this._onKey.event,this._onRender=this.register(new $.EventEmitter),this.onRender=this._onRender.event,this._onSelectionChange=this.register(new $.EventEmitter),this.onSelectionChange=this._onSelectionChange.event,this._onTitleChange=this.register(new $.EventEmitter),this.onTitleChange=this._onTitleChange.event,this._onBell=this.register(new $.EventEmitter),this.onBell=this._onBell.event,this._onFocus=this.register(new $.EventEmitter),this._onBlur=this.register(new $.EventEmitter),this._onA11yCharEmitter=this.register(new $.EventEmitter),this._onA11yTabEmitter=this.register(new $.EventEmitter),this._onWillOpen=this.register(new $.EventEmitter),this._setup(),this._decorationService=this._instantiationService.createInstance(X.DecorationService),this._instantiationService.setService(se.IDecorationService,this._decorationService),this._linkProviderService=this._instantiationService.createInstance(ze.LinkProviderService),this._instantiationService.setService(L.ILinkProviderService,this._linkProviderService),this._linkProviderService.registerLinkProvider(this._instantiationService.createInstance(_.OscLinkProvider)),this.register(this._inputHandler.onRequestBell(()=>this._onBell.fire())),this.register(this._inputHandler.onRequestRefreshRows((q,Oe)=>this.refresh(q,Oe))),this.register(this._inputHandler.onRequestSendFocus(()=>this._reportFocus())),this.register(this._inputHandler.onRequestReset(()=>this.reset())),this.register(this._inputHandler.onRequestWindowsOptionsReport(q=>this._reportWindowsOptions(q))),this.register(this._inputHandler.onColor(q=>this._handleColorEvent(q))),this.register((0,$.forwardEvent)(this._inputHandler.onCursorMove,this._onCursorMove)),this.register((0,$.forwardEvent)(this._inputHandler.onTitleChange,this._onTitleChange)),this.register((0,$.forwardEvent)(this._inputHandler.onA11yChar,this._onA11yCharEmitter)),this.register((0,$.forwardEvent)(this._inputHandler.onA11yTab,this._onA11yTabEmitter)),this.register(this._bufferService.onResize(q=>this._afterResize(q.cols,q.rows))),this.register((0,ue.toDisposable)(()=>{this._customKeyEventHandler=void 0,this.element?.parentNode?.removeChild(this.element)}))}_handleColorEvent(ye){if(this._themeService)for(let q of ye){let Oe,We="";switch(q.index){case 256:Oe="foreground",We="10";break;case 257:Oe="background",We="11";break;case 258:Oe="cursor",We="12";break Line truncated
`:`
`)}clearSelection(){this._model.clearSelection(),this._removeMouseDownListeners(),this.refresh(),this._onSelectionChange.fire()}refresh(P){this._refreshAnimationFrame||(this._refreshAnimationFrame=this._coreBrowserService.window.requestAnimationFrame(()=>this._refresh())),M.isLinux&&P&&this.selectionText.length&&this._onLinuxMouseSelection.fire(this.selectionText)}_refresh(){this._refreshAnimationFrame=void 0,this._onRedrawRequest.fire({start:this._model.finalSelectionStart,end:this._model.finalSelectionEnd,columnSelectMode:this._activeSelectionMode===3})}_isClickInSelection(P){let L=this._getMouseBufferCoords(P),ae=this._model.finalSelectionStart,re=this._model.finalSelectionEnd;return!!(ae&&re&&L)&&this._areCoordsInSelection(L,ae,re)}isCellInSelection(P,L){let ae=this._model.finalSelectionStart,re=this._model.finalSelectionEnd;return!(!ae||!re)&&this._areCoordsInSelection([P,L],ae,re)}_areCoordsInSelection(P,L,ae){return P[1]>L[1]&&P[1]<ae[1]||L[1]===ae[1]&&P[1]===L[1]&&P[0]>=L[0]&&P[0]<ae[0]||L[1]<ae[1]&&P[1]===ae[1]&&P[0]<ae[0]||L[1]<ae[1]&&P[1]===L[1]&&P[0]>=L[0]}_selectWordAtCursor(P,L){let ae=this._linkifier.currentLink?.link?.range;if(ae)return this._model.selectionStart=[ae.start.x-1,ae.start.y-1],this._model.selectionStartLength=(0,w.getRangeLength)(ae,this._bufferService.cols),this._model.selectionEnd=void 0,!0;let re=this._getMouseBufferCoords(P);return!!re&&(this._selectWordAt(re,L),this._model.selectionEnd=void 0,!0)}selectAll(){this._model.isSelectAllActive=!0,this.refresh(),this._onSelectionChange.fire()}selectLines(P,L){this._model.clearSelection(),P=Math.max(P,0),L=Math.min(L,this._bufferService.buffer.lines.length-1),this._model.selectionStart=[0,P],this._model.selectionEnd=[this._bufferService.cols,L],this.refresh(),this._onSelectionChange.fire()}_handleTrim(P){this._model.handleTrim(P)&&this.refresh()}_getMouseBufferCoords(P){let L=this._mouseService.getCoords(P,this._screenElement,this._bufferService.cols,this._bufferService.rows,!0);if(L)return L[0]--,L[1]--,L[1]+=this._bufferService.buffer.ydisp,L}_getMouseEventScrollAmount(P){let L=(0,u.getCoordsRelativeToElement)(this._coreBrowserService.window,P,this._screenElement)[1],ae=this._renderService.dimensions.css.canvas.height;return L>=0&&L<=ae?0:(L>ae&&(L-=ae),L=Math.min(Math.max(L,-50),50),L/=50,L/Math.abs(L)+Math.round(14*L))}shouldForceSelection(P){return M.isMac?P.altKey&&this._optionsService.rawOptions.macOptionClickForcesSelection:P.shiftKey}handleMouseDown(P){if(this._mouseDownTimeStamp=P.timeStamp,(P.button!==2||!this.hasSelection)&&P.button===0){if(!this._enabled){if(!this.shouldForceSelection(P))return;P.stopPropagation()}P.preventDefault(),this._dragScrollAmount=0,this._enabled&&P.shiftKey?this._handleIncrementalClick(P):P.detail===1?this._handleSingleClick(P):P.detail===2?this._handleDoubleClick(P):P.detail===3&&this._handleTripleClick(P),this._addMouseDownListeners(),this.refresh(!0)}}_addMouseDownListeners(){this._screenElement.ownerDocument&&(this._screenElement.ownerDocument.addEventListener("mousemove",this._mouseMoveListener),this._screenElement.ownerDocument.addEventListener("mouseup",this._mouseUpListener)),this._dragScrollIntervalTimer=this._coreBrowserService.window.setInterval(()=>this._dragScroll(),50)}_removeMouseDownListeners(){this._screenElement.ownerDocument&&(this._screenElement.ownerDocument.removeEventListener("mousemove",this._mouseMoveListener),this._screenElement.ownerDocument.removeEventListener("mouseup",this._mouseUpListener)),this._coreBrowserService.window.clearInterval(this._dragScrollIntervalTimer),this._dragScrollIntervalTimer=void 0}_handleIncrementalClick(P){this._model.selectionStart&&(this._model.selectionEnd=this._getMouseBufferCoords(P))}_handleSingleClick(P){if(this._model.selectionStartLength=0,this._model.isSelectAllActive=!1,this._activeSelectionMode=this.shouldColumnSelect(P)?3:0,this._model.selectionStart=this._getMouseBufferCoords(P),!this._model.selectionStart)return;this._model.selectionEnd=void 0;let L=this._bufferService.buffer.lines.get(this._model.selectionStart[1]);L&&L.length!==this._model.selectionStart[0]&&L.hasWidth(this._model.selectionStart[0])===0&&this._model.selectionStart[0]++}_handleDoubleClick(P){this._selectWordAtCursor(P,!0)&&(this._activeSelectionMode=1)}_handleTripleClick(P){let L=this._getMouseBufferCoords(P);L&&(this._activeSelectionMode=2,this._selectLineAt(L[1]))}shouldColumnSelect(P){return P.altKey&&!(M.isMac&&this._optionsService.rawOptions.macOptionClickForcesSelection)}_handleMouseMove(P){if(P.stopImmediatePropagation(),!this._model.selectionStart)return;let L=this._model.selectionEnd?[this._model.selectionEnd[0],this._model.selectionEnd[1]]:null;if(this._model.selectionEnd=this._getMouseBufferCoords(P),!this._model.selectionEnd)return void this.refresh(!0);this._activeSelectionMode===2?this._model.selectionEnd[1]<this._model.selectionStart[1]?this._model.selectionEnd[0]=0:this._model.selectionEnd[0]=this._bufferService.cols:this._activeSelectionMo Line truncated
`,u.VT="\v",u.FF="\f",u.CR="\r",u.SO="",u.SI="",u.DLE="",u.DC1="",u.DC2="",u.DC3="",u.DC4="",u.NAK="",u.SYN="",u.ETB="",u.CAN="",u.EM="",u.SUB="",u.ESC="\x1B",u.FS="",u.GS="",u.RS="",u.US="",u.SP=" ",u.DEL="\x7F"})(a||(r.C0=a={})),(function(u){u.PAD="\x80",u.HOP="\x81",u.BPH="\x82",u.NBH="\x83",u.IND="\x84",u.NEL="\x85",u.SSA="\x86",u.ESA="\x87",u.HTS="\x88",u.HTJ="\x89",u.VTS="\x8A",u.PLD="\x8B",u.PLU="\x8C",u.RI="\x8D",u.SS2="\x8E",u.SS3="\x8F",u.DCS="\x90",u.PU1="\x91",u.PU2="\x92",u.STS="\x93",u.CCH="\x94",u.MW="\x95",u.SPA="\x96",u.EPA="\x97",u.SOS="\x98",u.SGCI="\x99",u.SCI="\x9A",u.CSI="\x9B",u.ST="\x9C",u.OSC="\x9D",u.PM="\x9E",u.APC="\x9F"})(c||(r.C1=c={})),(function(u){u.ST=`${a.ESC}\\`})(p||(r.C1_ESCAPED=p={}))},7399:(o,r,a)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.evaluateKeyboardEvent=void 0;let c=a(2584),p={48:["0",")"],49:["1","!"],50:["2","@"],51:["3","#"],52:["4","$"],53:["5","%"],54:["6","^"],55:["7","&"],56:["8","*"],57:["9","("],186:[";",":"],187:["=","+"],188:[",","<"],189:["-","_"],190:[".",">"],191:["/","?"],192:["`","~"],219:["[","{"],220:["\\","|"],221:["]","}"],222:["'",'"']};r.evaluateKeyboardEvent=function(u,h,g,S){let x={type:0,cancel:!1,key:void 0},C=(u.shiftKey?1:0)|(u.altKey?2:0)|(u.ctrlKey?4:0)|(u.metaKey?8:0);switch(u.keyCode){case 0:u.key==="UIKeyInputUpArrow"?x.key=h?c.C0.ESC+"OA":c.C0.ESC+"[A":u.key==="UIKeyInputLeftArrow"?x.key=h?c.C0.ESC+"OD":c.C0.ESC+"[D":u.key==="UIKeyInputRightArrow"?x.key=h?c.C0.ESC+"OC":c.C0.ESC+"[C":u.key==="UIKeyInputDownArrow"&&(x.key=h?c.C0.ESC+"OB":c.C0.ESC+"[B");break;case 8:x.key=u.ctrlKey?"\b":c.C0.DEL,u.altKey&&(x.key=c.C0.ESC+x.key);break;case 9:if(u.shiftKey){x.key=c.C0.ESC+"[Z";break}x.key=c.C0.HT,x.cancel=!0;break;case 13:x.key=u.altKey?c.C0.ESC+c.C0.CR:c.C0.CR,x.cancel=!0;break;case 27:x.key=c.C0.ESC,u.altKey&&(x.key=c.C0.ESC+c.C0.ESC),x.cancel=!0;break;case 37:if(u.metaKey)break;C?(x.key=c.C0.ESC+"[1;"+(C+1)+"D",x.key===c.C0.ESC+"[1;3D"&&(x.key=c.C0.ESC+(g?"b":"[1;5D"))):x.key=h?c.C0.ESC+"OD":c.C0.ESC+"[D";break;case 39:if(u.metaKey)break;C?(x.key=c.C0.ESC+"[1;"+(C+1)+"C",x.key===c.C0.ESC+"[1;3C"&&(x.key=c.C0.ESC+(g?"f":"[1;5C"))):x.key=h?c.C0.ESC+"OC":c.C0.ESC+"[C";break;case 38:if(u.metaKey)break;C?(x.key=c.C0.ESC+"[1;"+(C+1)+"A",g||x.key!==c.C0.ESC+"[1;3A"||(x.key=c.C0.ESC+"[1;5A")):x.key=h?c.C0.ESC+"OA":c.C0.ESC+"[A";break;case 40:if(u.metaKey)break;C?(x.key=c.C0.ESC+"[1;"+(C+1)+"B",g||x.key!==c.C0.ESC+"[1;3B"||(x.key=c.C0.ESC+"[1;5B")):x.key=h?c.C0.ESC+"OB":c.C0.ESC+"[B";break;case 45:u.shiftKey||u.ctrlKey||(x.key=c.C0.ESC+"[2~");break;case 46:x.key=C?c.C0.ESC+"[3;"+(C+1)+"~":c.C0.ESC+"[3~";break;case 36:x.key=C?c.C0.ESC+"[1;"+(C+1)+"H":h?c.C0.ESC+"OH":c.C0.ESC+"[H";break;case 35:x.key=C?c.C0.ESC+"[1;"+(C+1)+"F":h?c.C0.ESC+"OF":c.C0.ESC+"[F";break;case 33:u.shiftKey?x.type=2:u.ctrlKey?x.key=c.C0.ESC+"[5;"+(C+1)+"~":x.key=c.C0.ESC+"[5~";break;case 34:u.shiftKey?x.type=3:u.ctrlKey?x.key=c.C0.ESC+"[6;"+(C+1)+"~":x.key=c.C0.ESC+"[6~";break;case 112:x.key=C?c.C0.ESC+"[1;"+(C+1)+"P":c.C0.ESC+"OP";break;case 113:x.key=C?c.C0.ESC+"[1;"+(C+1)+"Q":c.C0.ESC+"OQ";break;case 114:x.key=C?c.C0.ESC+"[1;"+(C+1)+"R":c.C0.ESC+"OR";break;case 115:x.key=C?c.C0.ESC+"[1;"+(C+1)+"S":c.C0.ESC+"OS";break;case 116:x.key=C?c.C0.ESC+"[15;"+(C+1)+"~":c.C0.ESC+"[15~";break;case 117:x.key=C?c.C0.ESC+"[17;"+(C+1)+"~":c.C0.ESC+"[17~";break;case 118:x.key=C?c.C0.ESC+"[18;"+(C+1)+"~":c.C0.ESC+"[18~";break;case 119:x.key=C?c.C0.ESC+"[19;"+(C+1)+"~":c.C0.ESC+"[19~";break;case 120:x.key=C?c.C0.ESC+"[20;"+(C+1)+"~":c.C0.ESC+"[20~";break;case 121:x.key=C?c.C0.ESC+"[21;"+(C+1)+"~":c.C0.ESC+"[21~";break;case 122:x.key=C?c.C0.ESC+"[23;"+(C+1)+"~":c.C0.ESC+"[23~";break;case 123:x.key=C?c.C0.ESC+"[24;"+(C+1)+"~":c.C0.ESC+"[24~";break;default:if(!u.ctrlKey||u.shiftKey||u.altKey||u.metaKey)if(g&&!S||!u.altKey||u.metaKey)!g||u.altKey||u.ctrlKey||u.shiftKey||!u.metaKey?u.key&&!u.ctrlKey&&!u.altKey&&!u.metaKey&&u.keyCode>=48&&u.key.length===1?x.key=u.key:u.key&&u.ctrlKey&&(u.key==="_"&&(x.key=c.C0.US),u.key==="@"&&(x.key=c.C0.NUL)):u.keyCode===65&&(x.type=1);else{let M=p[u.keyCode],w=M?.[u.shiftKey?1:0];if(w)x.key=c.C0.ESC+w;else if(u.keyCode>=65&&u.keyCode<=90){let y=u.ctrlKey?u.keyCode-64:u.keyCode+32,k=String.fromCharCode(y);u.shiftKey&&(k=k.toUpperCase()),x.key=c.C0.ESC+k}else if(u.keyCode===32)x.key=c.C0.ESC+(u.ctrlKey?c.C0.NUL:" ");else if(u.key==="Dead"&&u.code.startsWith("Key")){let y=u.code.slice(3,4);u.shiftKey||(y=y.toLowerCase()),x.key=c.C0.ESC+y,x.cancel=!0}}else u.keyCode>=65&&u.keyCode<=90?x.key=String.fromCharCode(u.keyCode-64):u.keyCode===32?x.key=c.C0.NUL:u.keyCode>=51&&u.keyCode<=55?x.key=String.fromCharCode(u.keyCode-51+27):u.keyCode===56?x.key=c.C0.DEL:u.keyCode===219?x.key=c.C0.ESC:u.keyCode===220?x.key=c.C0.FS:u.keyCode===221&&(x.key=c.C0.GS)}return x}},482:(o,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.Utf8ToUtf32=r.StringToUtf32=r.utf32ToString=r.stringFromCodePoint=void 0,r.stringFromCodePoint=function(a){returLine truncated
`,w)}paste(M){this._core.paste(M)}refresh(M,w){this._verifyIntegers(M,w),this._core.refresh(M,w)}reset(){this._core.reset()}clearTextureAtlas(){this._core.clearTextureAtlas()}loadAddon(M){this._addonManager.loadAddon(this,M)}static get strings(){return r}_verifyIntegers(...M){for(let w of M)if(w===1/0||isNaN(w)||w%1!=0)throw new Error("This API only accepts integers")}_verifyPositiveIntegers(...M){for(let w of M)if(w&&(w===1/0||isNaN(w)||w%1!=0||w<0))throw new Error("This API only accepts positive integers")}}o.Terminal=x})(),t})())});var SN=Is((gk,yN)=>{(function(n,i){typeof gk=="object"&&typeof yN=="object"?yN.exports=i():typeof define=="function"&&define.amd?define([],i):typeof gk=="object"?gk.AttachAddon=i():n.AttachAddon=i()})(self,()=>(()=>{"use strict";var n={};return(()=>{var i=n;function e(t,o,r){return t.addEventListener(o,r),{dispose:()=>{r&&t.removeEventListener(o,r)}}}Object.defineProperty(i,"__esModule",{value:!0}),i.AttachAddon=void 0,i.AttachAddon=class{constructor(t,o){this._disposables=[],this._socket=t,this._socket.binaryType="arraybuffer",this._bidirectional=!(o&&o.bidirectional===!1)}activate(t){this._disposables.push(e(this._socket,"message",o=>{let r=o.data;t.write(typeof r=="string"?r:new Uint8Array(r))})),this._bidirectional&&(this._disposables.push(t.onData(o=>this._sendData(o))),this._disposables.push(t.onBinary(o=>this._sendBinary(o)))),this._disposables.push(e(this._socket,"close",()=>this.dispose())),this._disposables.push(e(this._socket,"error",()=>this.dispose()))}dispose(){for(let t of this._disposables)t.dispose()}_sendData(t){this._checkOpenSocket()&&this._socket.send(t)}_sendBinary(t){if(!this._checkOpenSocket())return;let o=new Uint8Array(t.length);for(let r=0;r<t.length;++r)o[r]=255&t.charCodeAt(r);this._socket.send(o)}_checkOpenSocket(){switch(this._socket.readyState){case WebSocket.OPEN:return!0;case WebSocket.CONNECTING:throw new Error("Attach addon was loaded before socket was open");case WebSocket.CLOSING:return console.warn("Attach addon socket is closing"),!1;case WebSocket.CLOSED:throw new Error("Attach addon socket is closed");default:throw new Error("Unexpected socket state")}}}})(),n})())});var MN=Is((_k,wN)=>{(function(n,i){typeof _k=="object"&&typeof wN=="object"?wN.exports=i():typeof define=="function"&&define.amd?define([],i):typeof _k=="object"?_k.FitAddon=i():n.FitAddon=i()})(self,()=>(()=>{"use strict";var n={};return(()=>{var i=n;Object.defineProperty(i,"__esModule",{value:!0}),i.FitAddon=void 0,i.FitAddon=class{activate(e){this._terminal=e}dispose(){}fit(){let e=this.proposeDimensions();if(!e||!this._terminal||isNaN(e.cols)||isNaN(e.rows))return;let t=this._terminal._core;this._terminal.rows===e.rows&&this._terminal.cols===e.cols||(t._renderService.clear(),this._terminal.resize(e.cols,e.rows))}proposeDimensions(){if(!this._terminal||!this._terminal.element||!this._terminal.element.parentElement)return;let e=this._terminal._core,t=e._renderService.dimensions;if(t.css.cell.width===0||t.css.cell.height===0)return;let o=this._terminal.options.scrollback===0?0:e.viewport.scrollBarWidth,r=window.getComputedStyle(this._terminal.element.parentElement),a=parseInt(r.getPropertyValue("height")),c=Math.max(0,parseInt(r.getPropertyValue("width"))),p=window.getComputedStyle(this._terminal.element),u=a-(parseInt(p.getPropertyValue("padding-top"))+parseInt(p.getPropertyValue("padding-bottom"))),h=c-(parseInt(p.getPropertyValue("padding-right"))+parseInt(p.getPropertyValue("padding-left")))-o;return{cols:Math.max(2,Math.floor(h/t.css.cell.width)),rows:Math.max(1,Math.floor(u/t.css.cell.height))}}}})(),n})())});var SF=new RegExp(`(\\:not\\()|(([\\.\\#]?)[-\\w]+)|(?:\\[([-.\\w*\\\\$]+)(?:=(["']?)([^\\]"']*)\\5)?\\])|(\\))|(\\s*,\\s*)`,"g"),Xh=class n{element=null;classNames=[];attrs=[];notSelectors=[];static parse(i){let e=[],t=(p,u)=>{u.notSelectors.length>0&&!u.element&&u.classNames.length==0&&u.attrs.length==0&&(u.element="*"),p.push(u)},o=new n,r,a=o,c=!1;for(SF.lastIndex=0;r=SF.exec(i);){if(r[1]){if(c)throw new Error("Nesting :not in a selector is not allowed");c=!0,a=new n,o.notSelectors.push(a)}let p=r[2];if(p){let h=r[3];h==="#"?a.addAttribute("id",p.slice(1)):h==="."?a.addClassName(p.slice(1)):a.setElement(p)}let u=r[4];if(u&&a.addAttribute(a.unescapeAttribute(u),r[6]),r[7]&&(c=!1,a=o),r[8]){if(c)throw new Error("Multiple selectors in :not are not supported");t(e,o),o=a=new n}}return t(e,o),e}unescapeAttribute(i){let e="",t=!1;for(let o=0;o<i.length;o++){let r=i.charAt(o);if(r==="\\"){t=!0;continue}if(r==="$"&&!t)throw new Error(`Error in attribute selector "${i}". Unescaped "$" is not supported. Please escape with "\\$".`);t=!1,e+=r}return e}escapeAttribute(i){return i.replace(/\\/g,"\\\\").replace(/\$/g,"\\$")}isElementSelector(){return this.hasElementSelector()&&this.classNames.length==0&&this.attrs.length==0&&this.notSelectors.length===0}hasElementSelector(){return!!this.element}setElement(i=null){this.element=i}getAttrs(){let i=[];return this.classNames. Line truncated
`;for(let e of n)i+=" *",i+=AF(e).replace(/\n/g,`
`)}clearSelection(){this._model.clearSelection(),this._removeMouseDownListeners(),this.refresh(),this._onSelectionChange.fire()}refresh(P){this._refreshAnimationFrame||(this._refreshAnimationFrame=this._coreBrowserService.window.requestAnimationFrame(()=>this._refresh())),M.isLinux&&P&&this.selectionText.length&&this._onLinuxMouseSelection.fire(this.selectionText)}_refresh(){this._refreshAnimationFrame=void 0,this._onRedrawRequest.fire({start:this._model.finalSelectionStart,end:this._model.finalSelectionEnd,columnSelectMode:this._activeSelectionMode===3})}_isClickInSelection(P){let L=this._getMouseBufferCoords(P),re=this._model.finalSelectionStart,oe=this._model.finalSelectionEnd;return!!(re&&oe&&L)&&this._areCoordsInSelection(L,re,oe)}isCellInSelection(P,L){let re=this._model.finalSelectionStart,oe=this._model.finalSelectionEnd;return!(!re||!oe)&&this._areCoordsInSelection([P,L],re,oe)}_areCoordsInSelection(P,L,re){return P[1]>L[1]&&P[1]<re[1]||L[1]===re[1]&&P[1]===L[1]&&P[0]>=L[0]&&P[0]<re[0]||L[1]<re[1]&&P[1]===re[1]&&P[0]<re[0]||L[1]<re[1]&&P[1]===L[1]&&P[0]>=L[0]}_selectWordAtCursor(P,L){let re=this._linkifier.currentLink?.link?.range;if(re)return this._model.selectionStart=[re.start.x-1,re.start.y-1],this._model.selectionStartLength=(0,w.getRangeLength)(re,this._bufferService.cols),this._model.selectionEnd=void 0,!0;let oe=this._getMouseBufferCoords(P);return!!oe&&(this._selectWordAt(oe,L),this._model.selectionEnd=void 0,!0)}selectAll(){this._model.isSelectAllActive=!0,this.refresh(),this._onSelectionChange.fire()}selectLines(P,L){this._model.clearSelection(),P=Math.max(P,0),L=Math.min(L,this._bufferService.buffer.lines.length-1),this._model.selectionStart=[0,P],this._model.selectionEnd=[this._bufferService.cols,L],this.refresh(),this._onSelectionChange.fire()}_handleTrim(P){this._model.handleTrim(P)&&this.refresh()}_getMouseBufferCoords(P){let L=this._mouseService.getCoords(P,this._screenElement,this._bufferService.cols,this._bufferService.rows,!0);if(L)return L[0]--,L[1]--,L[1]+=this._bufferService.buffer.ydisp,L}_getMouseEventScrollAmount(P){let L=(0,u.getCoordsRelativeToElement)(this._coreBrowserService.window,P,this._screenElement)[1],re=this._renderService.dimensions.css.canvas.height;return L>=0&&L<=re?0:(L>re&&(L-=re),L=Math.min(Math.max(L,-50),50),L/=50,L/Math.abs(L)+Math.round(14*L))}shouldForceSelection(P){return M.isMac?P.altKey&&this._optionsService.rawOptions.macOptionClickForcesSelection:P.shiftKey}handleMouseDown(P){if(this._mouseDownTimeStamp=P.timeStamp,(P.button!==2||!this.hasSelection)&&P.button===0){if(!this._enabled){if(!this.shouldForceSelection(P))return;P.stopPropagation()}P.preventDefault(),this._dragScrollAmount=0,this._enabled&&P.shiftKey?this._handleIncrementalClick(P):P.detail===1?this._handleSingleClick(P):P.detail===2?this._handleDoubleClick(P):P.detail===3&&this._handleTripleClick(P),this._addMouseDownListeners(),this.refresh(!0)}}_addMouseDownListeners(){this._screenElement.ownerDocument&&(this._screenElement.ownerDocument.addEventListener("mousemove",this._mouseMoveListener),this._screenElement.ownerDocument.addEventListener("mouseup",this._mouseUpListener)),this._dragScrollIntervalTimer=this._coreBrowserService.window.setInterval(()=>this._dragScroll(),50)}_removeMouseDownListeners(){this._screenElement.ownerDocument&&(this._screenElement.ownerDocument.removeEventListener("mousemove",this._mouseMoveListener),this._screenElement.ownerDocument.removeEventListener("mouseup",this._mouseUpListener)),this._coreBrowserService.window.clearInterval(this._dragScrollIntervalTimer),this._dragScrollIntervalTimer=void 0}_handleIncrementalClick(P){this._model.selectionStart&&(this._model.selectionEnd=this._getMouseBufferCoords(P))}_handleSingleClick(P){if(this._model.selectionStartLength=0,this._model.isSelectAllActive=!1,this._activeSelectionMode=this.shouldColumnSelect(P)?3:0,this._model.selectionStart=this._getMouseBufferCoords(P),!this._model.selectionStart)return;this._model.selectionEnd=void 0;let L=this._bufferService.buffer.lines.get(this._model.selectionStart[1]);L&&L.length!==this._model.selectionStart[0]&&L.hasWidth(this._model.selectionStart[0])===0&&this._model.selectionStart[0]++}_handleDoubleClick(P){this._selectWordAtCursor(P,!0)&&(this._activeSelectionMode=1)}_handleTripleClick(P){let L=this._getMouseBufferCoords(P);L&&(this._activeSelectionMode=2,this._selectLineAt(L[1]))}shouldColumnSelect(P){return P.altKey&&!(M.isMac&&this._optionsService.rawOptions.macOptionClickForcesSelection)}_handleMouseMove(P){if(P.stopImmediatePropagation(),!this._model.selectionStart)return;let L=this._model.selectionEnd?[this._model.selectionEnd[0],this._model.selectionEnd[1]]:null;if(this._model.selectionEnd=this._getMouseBufferCoords(P),!this._model.selectionEnd)return void this.refresh(!0);this._activeSelectionMode===2?this._model.selectionEnd[1]<this._model.selectionStart[1]?this._model.selectionEnd[0]=0:this._model.selectionEnd[0]=this._bufferService.cols:this._activeSelectionMo Line truncated
`,u.VT="\v",u.FF="\f",u.CR="\r",u.SO="",u.SI="",u.DLE="",u.DC1="",u.DC2="",u.DC3="",u.DC4="",u.NAK="",u.SYN="",u.ETB="",u.CAN="",u.EM="",u.SUB="",u.ESC="\x1B",u.FS="",u.GS="",u.RS="",u.US="",u.SP=" ",u.DEL="\x7F"})(a||(r.C0=a={})),(function(u){u.PAD="\x80",u.HOP="\x81",u.BPH="\x82",u.NBH="\x83",u.IND="\x84",u.NEL="\x85",u.SSA="\x86",u.ESA="\x87",u.HTS="\x88",u.HTJ="\x89",u.VTS="\x8A",u.PLD="\x8B",u.PLU="\x8C",u.RI="\x8D",u.SS2="\x8E",u.SS3="\x8F",u.DCS="\x90",u.PU1="\x91",u.PU2="\x92",u.STS="\x93",u.CCH="\x94",u.MW="\x95",u.SPA="\x96",u.EPA="\x97",u.SOS="\x98",u.SGCI="\x99",u.SCI="\x9A",u.CSI="\x9B",u.ST="\x9C",u.OSC="\x9D",u.PM="\x9E",u.APC="\x9F"})(c||(r.C1=c={})),(function(u){u.ST=`${a.ESC}\\`})(p||(r.C1_ESCAPED=p={}))},7399:(o,r,a)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.evaluateKeyboardEvent=void 0;let c=a(2584),p={48:["0",")"],49:["1","!"],50:["2","@"],51:["3","#"],52:["4","$"],53:["5","%"],54:["6","^"],55:["7","&"],56:["8","*"],57:["9","("],186:[";",":"],187:["=","+"],188:[",","<"],189:["-","_"],190:[".",">"],191:["/","?"],192:["`","~"],219:["[","{"],220:["\\","|"],221:["]","}"],222:["'",'"']};r.evaluateKeyboardEvent=function(u,h,_,S){let x={type:0,cancel:!1,key:void 0},b=(u.shiftKey?1:0)|(u.altKey?2:0)|(u.ctrlKey?4:0)|(u.metaKey?8:0);switch(u.keyCode){case 0:u.key==="UIKeyInputUpArrow"?x.key=h?c.C0.ESC+"OA":c.C0.ESC+"[A":u.key==="UIKeyInputLeftArrow"?x.key=h?c.C0.ESC+"OD":c.C0.ESC+"[D":u.key==="UIKeyInputRightArrow"?x.key=h?c.C0.ESC+"OC":c.C0.ESC+"[C":u.key==="UIKeyInputDownArrow"&&(x.key=h?c.C0.ESC+"OB":c.C0.ESC+"[B");break;case 8:x.key=u.ctrlKey?"\b":c.C0.DEL,u.altKey&&(x.key=c.C0.ESC+x.key);break;case 9:if(u.shiftKey){x.key=c.C0.ESC+"[Z";break}x.key=c.C0.HT,x.cancel=!0;break;case 13:x.key=u.altKey?c.C0.ESC+c.C0.CR:c.C0.CR,x.cancel=!0;break;case 27:x.key=c.C0.ESC,u.altKey&&(x.key=c.C0.ESC+c.C0.ESC),x.cancel=!0;break;case 37:if(u.metaKey)break;b?(x.key=c.C0.ESC+"[1;"+(b+1)+"D",x.key===c.C0.ESC+"[1;3D"&&(x.key=c.C0.ESC+(_?"b":"[1;5D"))):x.key=h?c.C0.ESC+"OD":c.C0.ESC+"[D";break;case 39:if(u.metaKey)break;b?(x.key=c.C0.ESC+"[1;"+(b+1)+"C",x.key===c.C0.ESC+"[1;3C"&&(x.key=c.C0.ESC+(_?"f":"[1;5C"))):x.key=h?c.C0.ESC+"OC":c.C0.ESC+"[C";break;case 38:if(u.metaKey)break;b?(x.key=c.C0.ESC+"[1;"+(b+1)+"A",_||x.key!==c.C0.ESC+"[1;3A"||(x.key=c.C0.ESC+"[1;5A")):x.key=h?c.C0.ESC+"OA":c.C0.ESC+"[A";break;case 40:if(u.metaKey)break;b?(x.key=c.C0.ESC+"[1;"+(b+1)+"B",_||x.key!==c.C0.ESC+"[1;3B"||(x.key=c.C0.ESC+"[1;5B")):x.key=h?c.C0.ESC+"OB":c.C0.ESC+"[B";break;case 45:u.shiftKey||u.ctrlKey||(x.key=c.C0.ESC+"[2~");break;case 46:x.key=b?c.C0.ESC+"[3;"+(b+1)+"~":c.C0.ESC+"[3~";break;case 36:x.key=b?c.C0.ESC+"[1;"+(b+1)+"H":h?c.C0.ESC+"OH":c.C0.ESC+"[H";break;case 35:x.key=b?c.C0.ESC+"[1;"+(b+1)+"F":h?c.C0.ESC+"OF":c.C0.ESC+"[F";break;case 33:u.shiftKey?x.type=2:u.ctrlKey?x.key=c.C0.ESC+"[5;"+(b+1)+"~":x.key=c.C0.ESC+"[5~";break;case 34:u.shiftKey?x.type=3:u.ctrlKey?x.key=c.C0.ESC+"[6;"+(b+1)+"~":x.key=c.C0.ESC+"[6~";break;case 112:x.key=b?c.C0.ESC+"[1;"+(b+1)+"P":c.C0.ESC+"OP";break;case 113:x.key=b?c.C0.ESC+"[1;"+(b+1)+"Q":c.C0.ESC+"OQ";break;case 114:x.key=b?c.C0.ESC+"[1;"+(b+1)+"R":c.C0.ESC+"OR";break;case 115:x.key=b?c.C0.ESC+"[1;"+(b+1)+"S":c.C0.ESC+"OS";break;case 116:x.key=b?c.C0.ESC+"[15;"+(b+1)+"~":c.C0.ESC+"[15~";break;case 117:x.key=b?c.C0.ESC+"[17;"+(b+1)+"~":c.C0.ESC+"[17~";break;case 118:x.key=b?c.C0.ESC+"[18;"+(b+1)+"~":c.C0.ESC+"[18~";break;case 119:x.key=b?c.C0.ESC+"[19;"+(b+1)+"~":c.C0.ESC+"[19~";break;case 120:x.key=b?c.C0.ESC+"[20;"+(b+1)+"~":c.C0.ESC+"[20~";break;case 121:x.key=b?c.C0.ESC+"[21;"+(b+1)+"~":c.C0.ESC+"[21~";break;case 122:x.key=b?c.C0.ESC+"[23;"+(b+1)+"~":c.C0.ESC+"[23~";break;case 123:x.key=b?c.C0.ESC+"[24;"+(b+1)+"~":c.C0.ESC+"[24~";break;default:if(!u.ctrlKey||u.shiftKey||u.altKey||u.metaKey)if(_&&!S||!u.altKey||u.metaKey)!_||u.altKey||u.ctrlKey||u.shiftKey||!u.metaKey?u.key&&!u.ctrlKey&&!u.altKey&&!u.metaKey&&u.keyCode>=48&&u.key.length===1?x.key=u.key:u.key&&u.ctrlKey&&(u.key==="_"&&(x.key=c.C0.US),u.key==="@"&&(x.key=c.C0.NUL)):u.keyCode===65&&(x.type=1);else{let M=p[u.keyCode],w=M?.[u.shiftKey?1:0];if(w)x.key=c.C0.ESC+w;else if(u.keyCode>=65&&u.keyCode<=90){let y=u.ctrlKey?u.keyCode-64:u.keyCode+32,E=String.fromCharCode(y);u.shiftKey&&(E=E.toUpperCase()),x.key=c.C0.ESC+E}else if(u.keyCode===32)x.key=c.C0.ESC+(u.ctrlKey?c.C0.NUL:" ");else if(u.key==="Dead"&&u.code.startsWith("Key")){let y=u.code.slice(3,4);u.shiftKey||(y=y.toLowerCase()),x.key=c.C0.ESC+y,x.cancel=!0}}else u.keyCode>=65&&u.keyCode<=90?x.key=String.fromCharCode(u.keyCode-64):u.keyCode===32?x.key=c.C0.NUL:u.keyCode>=51&&u.keyCode<=55?x.key=String.fromCharCode(u.keyCode-51+27):u.keyCode===56?x.key=c.C0.DEL:u.keyCode===219?x.key=c.C0.ESC:u.keyCode===220?x.key=c.C0.FS:u.keyCode===221&&(x.key=c.C0.GS)}return x}},482:(o,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.Utf8ToUtf32=r.StringToUtf32=r.utf32ToString=r.stringFromCodePoint=void 0,r.stringFromCodePoint=function(a){returLine truncated
`,w)}paste(M){this._core.paste(M)}refresh(M,w){this._verifyIntegers(M,w),this._core.refresh(M,w)}reset(){this._core.reset()}clearTextureAtlas(){this._core.clearTextureAtlas()}loadAddon(M){this._addonManager.loadAddon(this,M)}static get strings(){return r}_verifyIntegers(...M){for(let w of M)if(w===1/0||isNaN(w)||w%1!=0)throw new Error("This API only accepts integers")}_verifyPositiveIntegers(...M){for(let w of M)if(w&&(w===1/0||isNaN(w)||w%1!=0||w<0))throw new Error("This API only accepts positive integers")}}o.Terminal=x})(),t})())});var nO=Cs((E2,tO)=>{(function(n,i){typeof E2=="object"&&typeof tO=="object"?tO.exports=i():typeof define=="function"&&define.amd?define([],i):typeof E2=="object"?E2.AttachAddon=i():n.AttachAddon=i()})(self,()=>(()=>{"use strict";var n={};return(()=>{var i=n;function e(t,o,r){return t.addEventListener(o,r),{dispose:()=>{r&&t.removeEventListener(o,r)}}}Object.defineProperty(i,"__esModule",{value:!0}),i.AttachAddon=void 0,i.AttachAddon=class{constructor(t,o){this._disposables=[],this._socket=t,this._socket.binaryType="arraybuffer",this._bidirectional=!(o&&o.bidirectional===!1)}activate(t){this._disposables.push(e(this._socket,"message",o=>{let r=o.data;t.write(typeof r=="string"?r:new Uint8Array(r))})),this._bidirectional&&(this._disposables.push(t.onData(o=>this._sendData(o))),this._disposables.push(t.onBinary(o=>this._sendBinary(o)))),this._disposables.push(e(this._socket,"close",()=>this.dispose())),this._disposables.push(e(this._socket,"error",()=>this.dispose()))}dispose(){for(let t of this._disposables)t.dispose()}_sendData(t){this._checkOpenSocket()&&this._socket.send(t)}_sendBinary(t){if(!this._checkOpenSocket())return;let o=new Uint8Array(t.length);for(let r=0;r<t.length;++r)o[r]=255&t.charCodeAt(r);this._socket.send(o)}_checkOpenSocket(){switch(this._socket.readyState){case WebSocket.OPEN:return!0;case WebSocket.CONNECTING:throw new Error("Attach addon was loaded before socket was open");case WebSocket.CLOSING:return console.warn("Attach addon socket is closing"),!1;case WebSocket.CLOSED:throw new Error("Attach addon socket is closed");default:throw new Error("Unexpected socket state")}}}})(),n})())});var oO=Cs((D2,iO)=>{(function(n,i){typeof D2=="object"&&typeof iO=="object"?iO.exports=i():typeof define=="function"&&define.amd?define([],i):typeof D2=="object"?D2.FitAddon=i():n.FitAddon=i()})(self,()=>(()=>{"use strict";var n={};return(()=>{var i=n;Object.defineProperty(i,"__esModule",{value:!0}),i.FitAddon=void 0,i.FitAddon=class{activate(e){this._terminal=e}dispose(){}fit(){let e=this.proposeDimensions();if(!e||!this._terminal||isNaN(e.cols)||isNaN(e.rows))return;let t=this._terminal._core;this._terminal.rows===e.rows&&this._terminal.cols===e.cols||(t._renderService.clear(),this._terminal.resize(e.cols,e.rows))}proposeDimensions(){if(!this._terminal||!this._terminal.element||!this._terminal.element.parentElement)return;let e=this._terminal._core,t=e._renderService.dimensions;if(t.css.cell.width===0||t.css.cell.height===0)return;let o=this._terminal.options.scrollback===0?0:e.viewport.scrollBarWidth,r=window.getComputedStyle(this._terminal.element.parentElement),a=parseInt(r.getPropertyValue("height")),c=Math.max(0,parseInt(r.getPropertyValue("width"))),p=window.getComputedStyle(this._terminal.element),u=a-(parseInt(p.getPropertyValue("padding-top"))+parseInt(p.getPropertyValue("padding-bottom"))),h=c-(parseInt(p.getPropertyValue("padding-right"))+parseInt(p.getPropertyValue("padding-left")))-o;return{cols:Math.max(2,Math.floor(h/t.css.cell.width)),rows:Math.max(1,Math.floor(u/t.css.cell.height))}}}})(),n})())});var W4=new RegExp(`(\\:not\\()|(([\\.\\#]?)[-\\w]+)|(?:\\[([-.\\w*\\\\$]+)(?:=(["']?)([^\\]"']*)\\5)?\\])|(\\))|(\\s*,\\s*)`,"g"),vh=class n{element=null;classNames=[];attrs=[];notSelectors=[];static parse(i){let e=[],t=(p,u)=>{u.notSelectors.length>0&&!u.element&&u.classNames.length==0&&u.attrs.length==0&&(u.element="*"),p.push(u)},o=new n,r,a=o,c=!1;for(W4.lastIndex=0;r=W4.exec(i);){if(r[1]){if(c)throw new Error("Nesting :not in a selector is not allowed");c=!0,a=new n,o.notSelectors.push(a)}let p=r[2];if(p){let h=r[3];h==="#"?a.addAttribute("id",p.slice(1)):h==="."?a.addClassName(p.slice(1)):a.setElement(p)}let u=r[4];if(u&&a.addAttribute(a.unescapeAttribute(u),r[6]),r[7]&&(c=!1,a=o),r[8]){if(c)throw new Error("Multiple selectors in :not are not supported");t(e,o),o=a=new n}}return t(e,o),e}unescapeAttribute(i){let e="",t=!1;for(let o=0;o<i.length;o++){let r=i.charAt(o);if(r==="\\"){t=!0;continue}if(r==="$"&&!t)throw new Error(`Error in attribute selector "${i}". Unescaped "$" is not supported. Please escape with "\\$".`);t=!1,e+=r}return e}escapeAttribute(i){return i.replace(/\\/g,"\\\\").replace(/\$/g,"\\$")}isElementSelector(){return this.hasElementSelector()&&this.classNames.length==0&&this.attrs.length==0&&this.notSelectors.length===0}hasElementSelector(){return!!this.element}setElement(i=null){this.element=i}getAttrs(){let i=[];return this.classNames. Line truncated
`;for(let e of n)i+=" *",i+=t5(e).replace(/\n/g,`
* `),i+=`
`;return i+=" ",i}var iW="_c",oW={},rW=50,gb=class n extends ji{resolved;original;shared=!1;constructor(i){super(i.type),this.resolved=i,this.original=i}visitExpression(i,e){return e===oW?this.original.visitExpression(i,e):this.resolved.visitExpression(i,e)}isEquivalent(i){return i instanceof n&&this.resolved.isEquivalent(i.resolved)}isConstant(){return!0}clone(){throw new Error("Not supported.")}fixup(i){this.resolved=i,this.shared=!0}},_b=class{isClosureCompilerEnabled;statements=[];literals=new Map;literalFactories=new Map;sharedConstants=new Map;_claimedNames=new Map;nextNameIndex=0;constructor(i=!1){this.isClosureCompilerEnabled=i}getConstLiteral(i,e){if(i instanceof fa&&!OF(i)||i instanceof gb)return i;let t=s0.INSTANCE.keyOf(i),o=this.literals.get(t),r=!1;if(o||(o=new gb(i),this.literals.set(t,o),r=!0),!r&&!o.shared||r&&e){let a=this.freshName(),c,p;this.isClosureCompilerEnabled&&OF(i)?(c=new Im([],[new Er(i)]),p=ei(a).callFn([])):(c=i,p=ei(a)),this.statements.push(new $r(a,c,Xl,ua.Final)),o.fixup(p)}return o}getSharedConstant(i,e){let t=i.keyOf(e);if(!this.sharedConstants.has(t)){let o=this.freshName();this.sharedConstants.set(t,ei(o)),this.statements.push(i.toSharedConstantDeclaration(o,e))}return this.sharedConstants.get(t)}getSharedFunctionReference(i,e,t=!0){let o=i instanceof Pu;for(let a of this.statements)if(o&&a instanceof $r&&a.value?.isEquivalent(i)||!o&&a instanceof a0&&i instanceof Im&&i.isEquivalent(a))return ei(a.name);let r=t?this.uniqueName(e):e;return this.statements.push(i instanceof Im?i.toDeclStmt(r,ua.Final):new $r(r,i,Xl,ua.Final,i.sourceSpan)),ei(r)}uniqueName(i,e=!0){let t=this._claimedNames.get(i)??0,o=t===0&&!e?`${i}`:`${i}${t}`;return this._claimedNames.set(i,t+1),o}freshName(){return this.uniqueName(iW)}},s0=class n{static INSTANCE=new n;keyOf(i){if(i instanceof fa&&typeof i.value=="string")return`"${i.value}"`;if(i instanceof fa)return String(i.value);if(i instanceof Yh)return`/${i.body}/${i.flags??""}`;if(i instanceof Vc){let e=[];for(let t of i.entries)e.push(this.keyOf(t));return`[${e.join(",")}]`}else if(i instanceof Zl){let e=[];for(let t of i.entries)if(t instanceof Am)e.push("..."+this.keyOf(t.expression));else{let o=t.key;t.quoted&&(o=`"${o}"`),e.push(o+":"+this.keyOf(t.value))}return`{${e.join(",")}}`}else{if(i instanceof gu)return`import("${i.value.moduleName}", ${i.value.name})`;if(i instanceof Kl)return`read(${i.name})`;if(i instanceof Kh)return`typeof(${this.keyOf(i.expr)})`;if(i instanceof vu)return`...${this.keyOf(i.expression)}`;throw new Error(`${this.constructor.name} does not handle expressions of type ${i.constructor.name}`)}}};function OF(n){return n instanceof fa&&typeof n.value=="string"&&n.value.length>=rW}var Ce="@angular/core",fe=(()=>{class n{static core={name:null,moduleName:Ce};static namespaceHTML={name:"\u0275\u0275namespaceHTML",moduleName:Ce};static namespaceMathML={name:"\u0275\u0275namespaceMathML",moduleName:Ce};static namespaceSVG={name:"\u0275\u0275namespaceSVG",moduleName:Ce};static element={name:"\u0275\u0275element",moduleName:Ce};static elementStart={name:"\u0275\u0275elementStart",moduleName:Ce};static elementEnd={name:"\u0275\u0275elementEnd",moduleName:Ce};static domElement={name:"\u0275\u0275domElement",moduleName:Ce};static domElementStart={name:"\u0275\u0275domElementStart",moduleName:Ce};static domElementEnd={name:"\u0275\u0275domElementEnd",moduleName:Ce};static domElementContainer={name:"\u0275\u0275domElementContainer",moduleName:Ce};static domElementContainerStart={name:"\u0275\u0275domElementContainerStart",moduleName:Ce};static domElementContainerEnd={name:"\u0275\u0275domElementContainerEnd",moduleName:Ce};static domTemplate={name:"\u0275\u0275domTemplate",moduleName:Ce};static domListener={name:"\u0275\u0275domListener",moduleName:Ce};static advance={name:"\u0275\u0275advance",moduleName:Ce};static syntheticHostProperty={name:"\u0275\u0275syntheticHostProperty",moduleName:Ce};static syntheticHostListener={name:"\u0275\u0275syntheticHostListener",moduleName:Ce};static attribute={name:"\u0275\u0275attribute",moduleName:Ce};static classProp={name:"\u0275\u0275classProp",moduleName:Ce};static elementContainerStart={name:"\u0275\u0275elementContainerStart",moduleName:Ce};static elementContainerEnd={name:"\u0275\u0275elementContainerEnd",moduleName:Ce};static elementContainer={name:"\u0275\u0275elementContainer",moduleName:Ce};static styleMap={name:"\u0275\u0275styleMap",moduleName:Ce};static classMap={name:"\u0275\u0275classMap",moduleName:Ce};static styleProp={name:"\u0275\u0275styleProp",moduleName:Ce};static interpolate={name:"\u0275\u0275interpolate",moduleName:Ce};static interpolate1={name:"\u0275\u0275interpolate1",moduleName:Ce};static interpolate2={name:"\u0275\u0275interpolate2",moduleName:Ce};static interpolate3={name:"\u0275\u0275interpolate3",moduleName:Ce};static interpolate4={name:"\u0275\u0275interpolate4",moduleName:Ce};static interpolate5={name:"\u0275\u0275interpolate5",moduleName:Ce};static interpola Line truncated
`);return t>=0?e.slice(0,t):e}var DE=class{full;major;minor;patch;constructor(i){this.full=i;let e=i.split(".");this.major=e[0],this.minor=e[1],this.patch=e.slice(2).join(".")}},W_=globalThis,mW=/^([1-9]|1[0-8])\./;function w6(n){return n.startsWith("0.")?!0:!mW.test(n)}var pW=3,uW="# sourceMappingURL=data:application/json;base64,",PE=class{file;sourcesContent=new Map;lines=[];lastCol0=0;hasMappings=!1;constructor(i=null){this.file=i}addSource(i,e=null){return this.sourcesContent.has(i)||this.sourcesContent.set(i,e),this}addLine(){return this.lines.push([]),this.lastCol0=0,this}addMapping(i,e,t,o){if(!this.currentLine)throw new Error("A line must be added before mappings can be added");if(e!=null&&!this.sourcesContent.has(e))throw new Error(`Unknown source file "${e}"`);if(i==null)throw new Error("The column in the generated code must be provided");if(i<this.lastCol0)throw new Error("Mapping should be added in output order");if(e&&(t==null||o==null))throw new Error("The source location must be provided when a source url is provided");return this.hasMappings=!0,this.lastCol0=i,this.currentLine.push({col0:i,sourceUrl:e,sourceLine0:t,sourceCol0:o}),this}get currentLine(){return this.lines.slice(-1)[0]}toJSON(){if(!this.hasMappings)return null;let i=new Map,e=[],t=[];Array.from(this.sourcesContent.keys()).forEach((u,h)=>{i.set(u,h),e.push(u),t.push(this.sourcesContent.get(u)||null)});let o="",r=0,a=0,c=0,p=0;return this.lines.forEach(u=>{r=0,o+=u.map(h=>{let g=H1(h.col0-r);return r=h.col0,h.sourceUrl!=null&&(g+=H1(i.get(h.sourceUrl)-a),a=i.get(h.sourceUrl),g+=H1(h.sourceLine0-c),c=h.sourceLine0,g+=H1(h.sourceCol0-p),p=h.sourceCol0),g}).join(","),o+=";"}),o=o.slice(0,-1),{file:this.file||"",version:pW,sourceRoot:"",sources:e,sourcesContent:t,mappings:o}}toJsComment(){return this.hasMappings?"//"+uW+hW(JSON.stringify(this,null,0)):""}};function hW(n){let i="",e=dW(n);for(let t=0;t<e.length;){let o=e[t++],r=t<e.length?e[t++]:null,a=t<e.length?e[t++]:null;i+=j_(o>>2),i+=j_((o&3)<<4|(r===null?0:r>>4)),i+=r===null?"=":j_((r&15)<<2|(a===null?0:a>>6)),i+=r===null||a===null?"=":j_(a&63)}return i}function H1(n){n=n<0?(-n<<1)+1:n<<1;let i="";do{let e=n&31;n=n>>5,n>0&&(e=e|32),i+=j_(e)}while(n>0);return i}var fW="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";function j_(n){if(n<0||n>=64)throw new Error("Can only encode value in the range [0, 63]");return fW[n]}var gW=/'|\\|\n|\r|\$/g,_W=/^[$A-Z_][0-9A-Z_$]*$/i,IE=" ",vb=class{indent;partsLength=0;parts=[];srcSpans=[];constructor(i){this.indent=i}},vW=new Map([[lt.And,"&&"],[lt.Bigger,">"],[lt.BiggerEquals,">="],[lt.BitwiseOr,"|"],[lt.BitwiseAnd,"&"],[lt.Divide,"/"],[lt.Assign,"="],[lt.Equals,"=="],[lt.Identical,"==="],[lt.Lower,"<"],[lt.LowerEquals,"<="],[lt.Minus,"-"],[lt.Modulo,"%"],[lt.Exponentiation,"**"],[lt.Multiply,"*"],[lt.NotEquals,"!="],[lt.NotIdentical,"!=="],[lt.NullishCoalesce,"??"],[lt.Or,"||"],[lt.Plus,"+"],[lt.In,"in"],[lt.InstanceOf,"instanceof"],[lt.AdditionAssignment,"+="],[lt.SubtractionAssignment,"-="],[lt.MultiplicationAssignment,"*="],[lt.DivisionAssignment,"/="],[lt.RemainderAssignment,"%="],[lt.ExponentiationAssignment,"**="],[lt.AndAssignment,"&&="],[lt.OrAssignment,"||="],[lt.NullishCoalesceAssignment,"??="]]),AE=class n{_indent;static createRoot(){return new n(0)}_lines;constructor(i){this._indent=i,this._lines=[new vb(i)]}get _currentLine(){return this._lines[this._lines.length-1]}println(i,e=""){this.print(i||null,e,!0)}lineIsEmpty(){return this._currentLine.parts.length===0}lineLength(){return this._currentLine.indent*IE.length+this._currentLine.partsLength}print(i,e,t=!1){e.length>0&&(this._currentLine.parts.push(e),this._currentLine.partsLength+=e.length,this._currentLine.srcSpans.push(i&&i.sourceSpan||null)),t&&this._lines.push(new vb(this._indent))}removeEmptyLastLine(){this.lineIsEmpty()&&this._lines.pop()}incIndent(){this._indent++,this.lineIsEmpty()&&(this._currentLine.indent=this._indent)}decIndent(){this._indent--,this.lineIsEmpty()&&(this._currentLine.indent=this._indent)}toSource(){return this.sourceLines.map(i=>i.parts.length>0?NF(i.indent)+i.parts.join(""):"").join(`
`)}toSourceMapGenerator(i,e=0){let t=new PE(i),o=!1,r=()=>{o||(t.addSource(i," ").addMapping(0,i,0,0),o=!0)};for(let a=0;a<e;a++)t.addLine(),r();return this.sourceLines.forEach((a,c)=>{t.addLine();let p=a.srcSpans,u=a.parts,h=a.indent*IE.length,g=0;for(;g<p.length&&!p[g];)h+=u[g].length,g++;for(g<p.length&&c===0&&h===0?o=!0:r();g<p.length;){let S=p[g],x=S.start.file,C=S.start.line,M=S.start.col;for(t.addSource(x.url,x.content).addMapping(h,x.url,C,M),h+=u[g].length,g++;g<p.length&&(S===p[g]||!p[g]);)h+=u[g].length,g++}}),t}spanOf(i,e){let t=this._lines[i];if(t){let o=e-NF(t.indent).length;for(let r=0;r<t.parts.length;r++){let a=t.parts[r];if(a.length>o)return t.srcSpans[r];o-=a.length}}return null}get sourceLines(){return this._lines.length&&this._lines[this._lines.length-1].parts.length===0?this._lines.slice(0,-1):this._lines}},OE=class{_escapeDollarInStrings;lastIfCondition=null;constructor(i){this._escapeDollarInStrings=i}printLeadingComments(i,e){if(i.leadingComments!==void 0)for(let t of i.leadingComments)t instanceof hb?e.print(i,`/*${t.toString()}*/`,t.trailingNewline):t.multiline?e.print(i,`/* ${t.text} */`,t.trailingNewline):t.text.split(`
`).forEach(o=>{e.println(i,`// ${o}`)})}visitExpressionStmt(i,e){return this.printLeadingComments(i,e),i.expr.visitExpression(this,e),e.println(i,";"),null}visitReturnStmt(i,e){return this.printLeadingComments(i,e),e.print(i,"return "),i.value.visitExpression(this,e),e.println(i,";"),null}visitIfStmt(i,e){this.printLeadingComments(i,e),e.print(i,"if ("),this.lastIfCondition=i.condition,i.condition.visitExpression(this,e),this.lastIfCondition=null,e.print(i,") {");let t=i.falseCase!=null&&i.falseCase.length>0;return i.trueCase.length<=1&&!t?(e.print(i," "),this.visitAllStatements(i.trueCase,e),e.removeEmptyLastLine(),e.print(i," ")):(e.println(),e.incIndent(),this.visitAllStatements(i.trueCase,e),e.decIndent(),t&&(e.println(i,"} else {"),e.incIndent(),this.visitAllStatements(i.falseCase,e),e.decIndent())),e.println(i,"}"),null}visitInvokeFunctionExpr(i,e){let t=i.fn instanceof Pu;return t&&e.print(i.fn,"("),i.fn.visitExpression(this,e),t&&e.print(i.fn,")"),e.print(i,"("),this.visitAllExpressions(i.args,e,","),e.print(i,")"),null}visitTaggedTemplateLiteralExpr(i,e){return i.tag.visitExpression(this,e),i.template.visitExpression(this,e),null}visitTemplateLiteralExpr(i,e){e.print(i,"`");for(let t=0;t<i.elements.length;t++){i.elements[t].visitExpression(this,e);let o=t<i.expressions.length?i.expressions[t]:null;o!==null&&(e.print(o,"${"),o.visitExpression(this,e),e.print(o,"}"))}e.print(i,"`")}visitTemplateLiteralElementExpr(i,e){e.print(i,i.rawText)}visitWrappedNodeExpr(i,e){throw new Error("Abstract emitter cannot visit WrappedNodeExpr.")}visitTypeofExpr(i,e){e.print(i,"typeof "),i.expr.visitExpression(this,e)}visitVoidExpr(i,e){e.print(i,"void "),i.expr.visitExpression(this,e)}visitReadVarExpr(i,e){return e.print(i,i.name),null}visitInstantiateExpr(i,e){return e.print(i,"new "),i.classExpr.visitExpression(this,e),e.print(i,"("),this.visitAllExpressions(i.args,e,","),e.print(i,")"),null}visitLiteralExpr(i,e){let t=i.value;return typeof t=="string"?e.print(i,iu(t,this._escapeDollarInStrings)):e.print(i,`${t}`),null}visitRegularExpressionLiteral(i,e){return e.print(i,`/${i.body}/${i.flags||""}`),null}visitLocalizedString(i,e){let t=i.serializeI18nHead();e.print(i,"$localize `"+t.raw);for(let o=1;o<i.messageParts.length;o++)e.print(i,"${"),i.expressions[o-1].visitExpression(this,e),e.print(i,`}${i.serializeI18nTemplatePart(o).raw}`);return e.print(i,"`"),null}visitConditionalExpr(i,e){return e.print(i,"("),i.condition.visitExpression(this,e),e.print(i,"? "),i.trueCase.visitExpression(this,e),e.print(i,": "),i.falseCase.visitExpression(this,e),e.print(i,")"),null}visitDynamicImportExpr(i,e){e.print(i,`import(${i.url})`)}visitNotExpr(i,e){return e.print(i,"!"),i.condition.visitExpression(this,e),null}visitUnaryOperatorExpr(i,e){let t;switch(i.operator){case t0.Plus:t="+";break;case t0.Minus:t="-";break;default:throw new Error(`Unknown operator ${i.operator}`)}let o=i!==this.lastIfCondition;return o&&e.print(i,"("),e.print(i,t),i.expr.visitExpression(this,e),o&&e.print(i,")"),null}visitBinaryOperatorExpr(i,e){let t=vW.get(i.operator);if(!t)throw new Error(`Unknown operator ${i.operator}`);let o=i!==this.lastIfCondition;return o&&e.print(i,"("),i.lhs.visitExpression(this,e),e.print(i,` ${t} `),i.rhs.visitExpression(this,e),o&&e.print(i,")"),null}visitReadPropExpr(i,e){return i.receiver.visitExpression(this,e),e.print(i,"."),e.print(i,i.name),null}visitReadKeyExpr(i,e){return i.receiver.visitExpression(this,e),e.print(i,"["),i.index.visitExpression(this,e),e.print(i,"]"),null}visitLiteralArrayExpr(i,e){return e.print(i,"["),this.visitAllExpressions(i.entries,e,","),e.print(i,"]"),null}visitLiteralMapExpr(i,e){return e.print(i,"{"),this.visitAllObjects(t=>{t instanceof Am?(e.print(i,"..."),t.expression.visitExpression(this,e)):(e.print(i,`${iu(t.key,this._escapeDollarInStrings,t.quoted)}:`),t.value.visitExpression(this,e))},i.entries,e,","),e.print(i,"}"),null}visitCommaExpr(i,e){return e.print(i,"("),this.visitAllExpressions(i.parts,e,","),e.print(i,")"),null}visitParenthesizedExpr(i,e){i.expr.visitExpression(this,e)}visitSpreadElementExpr(i,e){e.print(i,"..."),i.expression.visitExpression(this,e)}visitAllExpressions(i,e,t){this.visitAllObjects(o=>o.visitExpression(this,e),i,e,t)}visitAllObjects(i,e,t,o){let r=!1;for(let a=0;a<e.length;a++)a>0&&(t.lineLength()>80?(t.print(null,o,!0),r||(t.incIndent(),t.incIndent(),r=!0)):t.print(null,o,!1)),i(e[a]);r&&(t.decIndent(),t.decIndent())}visitAllStatements(i,e){i.forEach(t=>t.visitStatement(this,e))}};function iu(n,i,e=!0){if(n==null)return null;let t=n.replace(gW,(...r)=>r[0]=="$"?i?"\\$":"$":r[0]==`
`?"\\n":r[0]=="\r"?"\\r":`\\${r[0]}`);return e||!_W.test(t)?`'${t}'`:t}function NF(n){let i="";for(let e=0;e<n;e++)i+=IE;return i}function fx(n,i){if(i===0)return ha(n);let e=[];for(let t=0;t<i;t++)e.push(hs);return ha(n,void 0,e)}function CW(n,i){let e=iu(i,!1,!1);return e!==i?`${n}[${e}]`:`${n}.${i}`}function bW(n){return xW("ngJitMode",n)}function xW(n,i){let e=new gu({name:n,moduleName:null}),t=new bi(lt.Identical,new Kh(e),Te("undefined")),o=new bi(lt.Or,t,e,void 0,void 0);return new bi(lt.And,o,i)}function zr(n){let i=new li(n);return{value:i,type:i}}function ou(n,i){let e=Zi(n.map(t=>t.value));return i?$s([],e):e}function iP(n,i){return{expression:n,forwardRef:i}}function yW({expression:n,forwardRef:i}){switch(i){case 0:case 1:return n;case 2:return SW(n)}}function SW(n){return Qt(fe.forwardRef).callFn([$s([],n)])}var Cb=(function(n){return n[n.Class=0]="Class",n[n.Function=1]="Function",n})(Cb||{});function eu(n){let i=ei("__ngFactoryType__"),e=null,t=RF(n)?i:new bi(lt.Or,i,n.type.value),o=null;n.deps!==null?n.deps!=="invalid"&&(o=new i0(t,FF(n.deps,n.target))):(e=ei(`\u0275${n.name}_BaseFactory`),o=e.callFn([t]));let r=[],a=null;function c(u){let h=ei("__ngConditionalFactory__");r.push(new $r(h.name,Jh,Xl));let g=o!==null?h.set(o).toStmt():Qt(fe.invalidFactory).callFn([]).toStmt();return r.push(hx(i,[g],[h.set(u).toStmt()])),h}if(RF(n)){let u=FF(n.delegateDeps,n.target),h=new(n.delegateType===Cb.Class?i0:fs)(n.delegate,u);a=c(h)}else EW(n)?a=c(n.expression):a=o;if(a===null)r.push(Qt(fe.invalidFactory).callFn([]).toStmt());else if(e!==null){let u=Qt(fe.getInheritedFactory).callFn([n.type.value]),h=new bi(lt.Or,e,e.set(u));r.push(new Er(h.callFn([t])))}else r.push(new Er(a));let p=Om([new Tr(i.name,hs)],r,Xl,void 0,`${n.name}_Factory`);return e!==null&&(p=$s([],[new $r(e.name),new Er(p)]).callFn([],void 0,!0)),{expression:p,statements:[],type:wW(n)}}function wW(n){let i=n.deps!==null&&n.deps!=="invalid"?kW(n.deps):Lc;return ha(Qt(fe.FactoryDeclaration,[fx(n.type.type,n.typeArgumentCount),i]))}function FF(n,i){return n.map((e,t)=>MW(e,i,t))}function MW(n,i,e){if(n.token===null)return Qt(fe.invalidFactoryDep).callFn([Te(e)]);if(n.attributeNameType===null){let t=0|(n.self?2:0)|(n.skipSelf?4:0)|(n.host?1:0)|(n.optional?8:0)|(i===Rd.Pipe?16:0),o=t!==0||n.optional?Te(t):null,r=[n.token];o&&r.push(o);let a=DW(i);return Qt(a).callFn(r)}else return Qt(fe.injectAttribute).callFn([n.token])}function kW(n){let i=!1,e=n.map(t=>{let o=TW(t);return o!==null?(i=!0,o):Te(null)});return i?ha(Zi(e)):Lc}function TW(n){let i=[];return n.attributeNameType!==null&&i.push({key:"attribute",value:n.attributeNameType,quoted:!1}),n.optional&&i.push({key:"optional",value:Te(!0),quoted:!1}),n.host&&i.push({key:"host",value:Te(!0),quoted:!1}),n.self&&i.push({key:"self",value:Te(!0),quoted:!1}),n.skipSelf&&i.push({key:"skipSelf",value:Te(!0),quoted:!1}),i.length>0?vl(i):null}function RF(n){return n.delegateType!==void 0}function EW(n){return n.expression!==void 0}function DW(n){switch(n){case Rd.Component:case Rd.Directive:case Rd.Pipe:return fe.directiveInject;case Rd.NgModule:case Rd.Injectable:default:return fe.inject}}var bu=class{start;end;constructor(i,e){this.start=i,this.end=e}toAbsolute(i){return new Bs(i+this.start,i+this.end)}},ao=class{span;sourceSpan;constructor(i,e){this.span=i,this.sourceSpan=e}toString(){return"AST"}},l0=class extends ao{nameSpan;constructor(i,e,t){super(i,e),this.nameSpan=t}},ka=class extends ao{visit(i,e=null){return i.visitEmptyExpr?.(this,e)}},zc=class extends ao{visit(i,e=null){return i.visitImplicitReceiver(this,e)}},c0=class extends ao{visit(i,e=null){return i.visitThisReceiver?.(this,e)}},ef=class extends ao{expressions;constructor(i,e,t){super(i,e),this.expressions=t}visit(i,e=null){return i.visitChain(this,e)}},bb=class extends ao{condition;trueExp;falseExp;constructor(i,e,t,o,r){super(i,e),this.condition=t,this.trueExp=o,this.falseExp=r}visit(i,e=null){return i.visitConditional(this,e)}},Nc=class extends l0{receiver;name;constructor(i,e,t,o,r){super(i,e,t),this.receiver=o,this.name=r}visit(i,e=null){return i.visitPropertyRead(this,e)}},d0=class extends l0{receiver;name;constructor(i,e,t,o,r){super(i,e,t),this.receiver=o,this.name=r}visit(i,e=null){return i.visitSafePropertyRead(this,e)}},xu=class extends ao{receiver;key;constructor(i,e,t,o){super(i,e),this.receiver=t,this.key=o}visit(i,e=null){return i.visitKeyedRead(this,e)}},m0=class extends ao{receiver;key;constructor(i,e,t,o){super(i,e),this.receiver=t,this.key=o}visit(i,e=null){return i.visitSafeKeyedRead(this,e)}},nb=(function(n){return n[n.ReferencedByName=0]="ReferencedByName",n[n.ReferencedDirectly=1]="ReferencedDirectly",n})(nb||{}),xb=class extends l0{exp;name;args;type;constructor(i,e,t,o,r,a,c){super(i,e,c),this.exp=t,this.name=o,this.args=r,this.type=a}visit(i,e=null){return i.visitPipe(this,e)}},ds=class extends ao{value;constructor(i,e,t){super(i,e),this.value=t}visit(i,e=null){return i.visitLiteralPrimitive(this,e)}},p0= Line truncated
`;return i+=" ",i}var M$="_c",k$={},T$=50,i1=class n extends Bi{resolved;original;shared=!1;constructor(i){super(i.type),this.resolved=i,this.original=i}visitExpression(i,e){return e===k$?this.original.visitExpression(i,e):this.resolved.visitExpression(i,e)}isEquivalent(i){return i instanceof n&&this.resolved.isEquivalent(i.resolved)}isConstant(){return!0}clone(){throw new Error("Not supported.")}fixup(i){this.resolved=i,this.shared=!0}},o1=class{isClosureCompilerEnabled;statements=[];literals=new Map;literalFactories=new Map;sharedConstants=new Map;_claimedNames=new Map;nextNameIndex=0;constructor(i=!1){this.isClosureCompilerEnabled=i}getConstLiteral(i,e){if(i instanceof aa&&!n5(i)||i instanceof i1)return i;let t=h_.INSTANCE.keyOf(i),o=this.literals.get(t),r=!1;if(o||(o=new i1(i),this.literals.set(t,o),r=!0),!r&&!o.shared||r&&e){let a=this.freshName(),c,p;this.isClosureCompilerEnabled&&n5(i)?(c=new om([],[new xr(i)]),p=Yn(a).callFn([])):(c=i,p=Yn(a)),this.statements.push(new Rr(a,c,Ol,oa.Final)),o.fixup(p)}return o}getSharedConstant(i,e){let t=i.keyOf(e);if(!this.sharedConstants.has(t)){let o=this.freshName();this.sharedConstants.set(t,Yn(o)),this.statements.push(i.toSharedConstantDeclaration(o,e))}return this.sharedConstants.get(t)}getSharedFunctionReference(i,e,t=!0){let o=i instanceof eu;for(let a of this.statements)if(o&&a instanceof Rr&&a.value?.isEquivalent(i)||!o&&a instanceof u_&&i instanceof om&&i.isEquivalent(a))return Yn(a.name);let r=t?this.uniqueName(e):e;return this.statements.push(i instanceof om?i.toDeclStmt(r,oa.Final):new Rr(r,i,Ol,oa.Final,i.sourceSpan)),Yn(r)}uniqueName(i,e=!0){let t=this._claimedNames.get(i)??0,o=t===0&&!e?`${i}`:`${i}${t}`;return this._claimedNames.set(i,t+1),o}freshName(){return this.uniqueName(M$)}},h_=class n{static INSTANCE=new n;keyOf(i){if(i instanceof aa&&typeof i.value=="string")return`"${i.value}"`;if(i instanceof aa)return String(i.value);if(i instanceof bh)return`/${i.body}/${i.flags??""}`;if(i instanceof wc){let e=[];for(let t of i.entries)e.push(this.keyOf(t));return`[${e.join(",")}]`}else if(i instanceof Rl){let e=[];for(let t of i.entries)if(t instanceof rm)e.push("..."+this.keyOf(t.expression));else{let o=t.key;t.quoted&&(o=`"${o}"`),e.push(o+":"+this.keyOf(t.value))}return`{${e.join(",")}}`}else{if(i instanceof zp)return`import("${i.value.moduleName}", ${i.value.name})`;if(i instanceof Nl)return`read(${i.name})`;if(i instanceof Ch)return`typeof(${this.keyOf(i.expr)})`;if(i instanceof $p)return`...${this.keyOf(i.expression)}`;throw new Error(`${this.constructor.name} does not handle expressions of type ${i.constructor.name}`)}}};function n5(n){return n instanceof aa&&typeof n.value=="string"&&n.value.length>=T$}var Ce="@angular/core",fe=(()=>{class n{static core={name:null,moduleName:Ce};static namespaceHTML={name:"\u0275\u0275namespaceHTML",moduleName:Ce};static namespaceMathML={name:"\u0275\u0275namespaceMathML",moduleName:Ce};static namespaceSVG={name:"\u0275\u0275namespaceSVG",moduleName:Ce};static element={name:"\u0275\u0275element",moduleName:Ce};static elementStart={name:"\u0275\u0275elementStart",moduleName:Ce};static elementEnd={name:"\u0275\u0275elementEnd",moduleName:Ce};static domElement={name:"\u0275\u0275domElement",moduleName:Ce};static domElementStart={name:"\u0275\u0275domElementStart",moduleName:Ce};static domElementEnd={name:"\u0275\u0275domElementEnd",moduleName:Ce};static domElementContainer={name:"\u0275\u0275domElementContainer",moduleName:Ce};static domElementContainerStart={name:"\u0275\u0275domElementContainerStart",moduleName:Ce};static domElementContainerEnd={name:"\u0275\u0275domElementContainerEnd",moduleName:Ce};static domTemplate={name:"\u0275\u0275domTemplate",moduleName:Ce};static domListener={name:"\u0275\u0275domListener",moduleName:Ce};static advance={name:"\u0275\u0275advance",moduleName:Ce};static syntheticHostProperty={name:"\u0275\u0275syntheticHostProperty",moduleName:Ce};static syntheticHostListener={name:"\u0275\u0275syntheticHostListener",moduleName:Ce};static attribute={name:"\u0275\u0275attribute",moduleName:Ce};static classProp={name:"\u0275\u0275classProp",moduleName:Ce};static elementContainerStart={name:"\u0275\u0275elementContainerStart",moduleName:Ce};static elementContainerEnd={name:"\u0275\u0275elementContainerEnd",moduleName:Ce};static elementContainer={name:"\u0275\u0275elementContainer",moduleName:Ce};static styleMap={name:"\u0275\u0275styleMap",moduleName:Ce};static classMap={name:"\u0275\u0275classMap",moduleName:Ce};static styleProp={name:"\u0275\u0275styleProp",moduleName:Ce};static interpolate={name:"\u0275\u0275interpolate",moduleName:Ce};static interpolate1={name:"\u0275\u0275interpolate1",moduleName:Ce};static interpolate2={name:"\u0275\u0275interpolate2",moduleName:Ce};static interpolate3={name:"\u0275\u0275interpolate3",moduleName:Ce};static interpolate4={name:"\u0275\u0275interpolate4",moduleName:Ce};static interpolate5={name:"\u0275\u0275interpolate5",moduleName:Ce};static interpola Line truncated
`);return t>=0?e.slice(0,t):e}var jk=class{full;major;minor;patch;constructor(i){this.full=i;let e=i.split(".");this.major=e[0],this.minor=e[1],this.patch=e.slice(2).join(".")}},Jg=globalThis,O$=/^([1-9]|1[0-8])\./;function qN(n){return n.startsWith("0.")?!0:!O$.test(n)}var N$=3,F$="# sourceMappingURL=data:application/json;base64,",$k=class{file;sourcesContent=new Map;lines=[];lastCol0=0;hasMappings=!1;constructor(i=null){this.file=i}addSource(i,e=null){return this.sourcesContent.has(i)||this.sourcesContent.set(i,e),this}addLine(){return this.lines.push([]),this.lastCol0=0,this}addMapping(i,e,t,o){if(!this.currentLine)throw new Error("A line must be added before mappings can be added");if(e!=null&&!this.sourcesContent.has(e))throw new Error(`Unknown source file "${e}"`);if(i==null)throw new Error("The column in the generated code must be provided");if(i<this.lastCol0)throw new Error("Mapping should be added in output order");if(e&&(t==null||o==null))throw new Error("The source location must be provided when a source url is provided");return this.hasMappings=!0,this.lastCol0=i,this.currentLine.push({col0:i,sourceUrl:e,sourceLine0:t,sourceCol0:o}),this}get currentLine(){return this.lines.slice(-1)[0]}toJSON(){if(!this.hasMappings)return null;let i=new Map,e=[],t=[];Array.from(this.sourcesContent.keys()).forEach((u,h)=>{i.set(u,h),e.push(u),t.push(this.sourcesContent.get(u)||null)});let o="",r=0,a=0,c=0,p=0;return this.lines.forEach(u=>{r=0,o+=u.map(h=>{let _=PC(h.col0-r);return r=h.col0,h.sourceUrl!=null&&(_+=PC(i.get(h.sourceUrl)-a),a=i.get(h.sourceUrl),_+=PC(h.sourceLine0-c),c=h.sourceLine0,_+=PC(h.sourceCol0-p),p=h.sourceCol0),_}).join(","),o+=";"}),o=o.slice(0,-1),{file:this.file||"",version:N$,sourceRoot:"",sources:e,sourcesContent:t,mappings:o}}toJsComment(){return this.hasMappings?"//"+F$+R$(JSON.stringify(this,null,0)):""}};function R$(n){let i="",e=A$(n);for(let t=0;t<e.length;){let o=e[t++],r=t<e.length?e[t++]:null,a=t<e.length?e[t++]:null;i+=Qg(o>>2),i+=Qg((o&3)<<4|(r===null?0:r>>4)),i+=r===null?"=":Qg((r&15)<<2|(a===null?0:a>>6)),i+=r===null||a===null?"=":Qg(a&63)}return i}function PC(n){n=n<0?(-n<<1)+1:n<<1;let i="";do{let e=n&31;n=n>>5,n>0&&(e=e|32),i+=Qg(e)}while(n>0);return i}var L$="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";function Qg(n){if(n<0||n>=64)throw new Error("Can only encode value in the range [0, 63]");return L$[n]}var V$=/'|\\|\n|\r|\$/g,B$=/^[$A-Z_][0-9A-Z_$]*$/i,Hk=" ",r1=class{indent;partsLength=0;parts=[];srcSpans=[];constructor(i){this.indent=i}},z$=new Map([[st.And,"&&"],[st.Bigger,">"],[st.BiggerEquals,">="],[st.BitwiseOr,"|"],[st.BitwiseAnd,"&"],[st.Divide,"/"],[st.Assign,"="],[st.Equals,"=="],[st.Identical,"==="],[st.Lower,"<"],[st.LowerEquals,"<="],[st.Minus,"-"],[st.Modulo,"%"],[st.Exponentiation,"**"],[st.Multiply,"*"],[st.NotEquals,"!="],[st.NotIdentical,"!=="],[st.NullishCoalesce,"??"],[st.Or,"||"],[st.Plus,"+"],[st.In,"in"],[st.InstanceOf,"instanceof"],[st.AdditionAssignment,"+="],[st.SubtractionAssignment,"-="],[st.MultiplicationAssignment,"*="],[st.DivisionAssignment,"/="],[st.RemainderAssignment,"%="],[st.ExponentiationAssignment,"**="],[st.AndAssignment,"&&="],[st.OrAssignment,"||="],[st.NullishCoalesceAssignment,"??="]]),Uk=class n{_indent;static createRoot(){return new n(0)}_lines;constructor(i){this._indent=i,this._lines=[new r1(i)]}get _currentLine(){return this._lines[this._lines.length-1]}println(i,e=""){this.print(i||null,e,!0)}lineIsEmpty(){return this._currentLine.parts.length===0}lineLength(){return this._currentLine.indent*Hk.length+this._currentLine.partsLength}print(i,e,t=!1){e.length>0&&(this._currentLine.parts.push(e),this._currentLine.partsLength+=e.length,this._currentLine.srcSpans.push(i&&i.sourceSpan||null)),t&&this._lines.push(new r1(this._indent))}removeEmptyLastLine(){this.lineIsEmpty()&&this._lines.pop()}incIndent(){this._indent++,this.lineIsEmpty()&&(this._currentLine.indent=this._indent)}decIndent(){this._indent--,this.lineIsEmpty()&&(this._currentLine.indent=this._indent)}toSource(){return this.sourceLines.map(i=>i.parts.length>0?i5(i.indent)+i.parts.join(""):"").join(`
`)}toSourceMapGenerator(i,e=0){let t=new $k(i),o=!1,r=()=>{o||(t.addSource(i," ").addMapping(0,i,0,0),o=!0)};for(let a=0;a<e;a++)t.addLine(),r();return this.sourceLines.forEach((a,c)=>{t.addLine();let p=a.srcSpans,u=a.parts,h=a.indent*Hk.length,_=0;for(;_<p.length&&!p[_];)h+=u[_].length,_++;for(_<p.length&&c===0&&h===0?o=!0:r();_<p.length;){let S=p[_],x=S.start.file,b=S.start.line,M=S.start.col;for(t.addSource(x.url,x.content).addMapping(h,x.url,b,M),h+=u[_].length,_++;_<p.length&&(S===p[_]||!p[_]);)h+=u[_].length,_++}}),t}spanOf(i,e){let t=this._lines[i];if(t){let o=e-i5(t.indent).length;for(let r=0;r<t.parts.length;r++){let a=t.parts[r];if(a.length>o)return t.srcSpans[r];o-=a.length}}return null}get sourceLines(){return this._lines.length&&this._lines[this._lines.length-1].parts.length===0?this._lines.slice(0,-1):this._lines}},Gk=class{_escapeDollarInStrings;lastIfCondition=null;constructor(i){this._escapeDollarInStrings=i}printLeadingComments(i,e){if(i.leadingComments!==void 0)for(let t of i.leadingComments)t instanceof t1?e.print(i,`/*${t.toString()}*/`,t.trailingNewline):t.multiline?e.print(i,`/* ${t.text} */`,t.trailingNewline):t.text.split(`
`).forEach(o=>{e.println(i,`// ${o}`)})}visitExpressionStmt(i,e){return this.printLeadingComments(i,e),i.expr.visitExpression(this,e),e.println(i,";"),null}visitReturnStmt(i,e){return this.printLeadingComments(i,e),e.print(i,"return "),i.value.visitExpression(this,e),e.println(i,";"),null}visitIfStmt(i,e){this.printLeadingComments(i,e),e.print(i,"if ("),this.lastIfCondition=i.condition,i.condition.visitExpression(this,e),this.lastIfCondition=null,e.print(i,") {");let t=i.falseCase!=null&&i.falseCase.length>0;return i.trueCase.length<=1&&!t?(e.print(i," "),this.visitAllStatements(i.trueCase,e),e.removeEmptyLastLine(),e.print(i," ")):(e.println(),e.incIndent(),this.visitAllStatements(i.trueCase,e),e.decIndent(),t&&(e.println(i,"} else {"),e.incIndent(),this.visitAllStatements(i.falseCase,e),e.decIndent())),e.println(i,"}"),null}visitInvokeFunctionExpr(i,e){let t=i.fn instanceof eu;return t&&e.print(i.fn,"("),i.fn.visitExpression(this,e),t&&e.print(i.fn,")"),e.print(i,"("),this.visitAllExpressions(i.args,e,","),e.print(i,")"),null}visitTaggedTemplateLiteralExpr(i,e){return i.tag.visitExpression(this,e),i.template.visitExpression(this,e),null}visitTemplateLiteralExpr(i,e){e.print(i,"`");for(let t=0;t<i.elements.length;t++){i.elements[t].visitExpression(this,e);let o=t<i.expressions.length?i.expressions[t]:null;o!==null&&(e.print(o,"${"),o.visitExpression(this,e),e.print(o,"}"))}e.print(i,"`")}visitTemplateLiteralElementExpr(i,e){e.print(i,i.rawText)}visitWrappedNodeExpr(i,e){throw new Error("Abstract emitter cannot visit WrappedNodeExpr.")}visitTypeofExpr(i,e){e.print(i,"typeof "),i.expr.visitExpression(this,e)}visitVoidExpr(i,e){e.print(i,"void "),i.expr.visitExpression(this,e)}visitReadVarExpr(i,e){return e.print(i,i.name),null}visitInstantiateExpr(i,e){return e.print(i,"new "),i.classExpr.visitExpression(this,e),e.print(i,"("),this.visitAllExpressions(i.args,e,","),e.print(i,")"),null}visitLiteralExpr(i,e){let t=i.value;return typeof t=="string"?e.print(i,Tp(t,this._escapeDollarInStrings)):e.print(i,`${t}`),null}visitRegularExpressionLiteral(i,e){return e.print(i,`/${i.body}/${i.flags||""}`),null}visitLocalizedString(i,e){let t=i.serializeI18nHead();e.print(i,"$localize `"+t.raw);for(let o=1;o<i.messageParts.length;o++)e.print(i,"${"),i.expressions[o-1].visitExpression(this,e),e.print(i,`}${i.serializeI18nTemplatePart(o).raw}`);return e.print(i,"`"),null}visitConditionalExpr(i,e){return e.print(i,"("),i.condition.visitExpression(this,e),e.print(i,"? "),i.trueCase.visitExpression(this,e),e.print(i,": "),i.falseCase.visitExpression(this,e),e.print(i,")"),null}visitDynamicImportExpr(i,e){e.print(i,`import(${i.url})`)}visitNotExpr(i,e){return e.print(i,"!"),i.condition.visitExpression(this,e),null}visitUnaryOperatorExpr(i,e){let t;switch(i.operator){case l_.Plus:t="+";break;case l_.Minus:t="-";break;default:throw new Error(`Unknown operator ${i.operator}`)}let o=i!==this.lastIfCondition;return o&&e.print(i,"("),e.print(i,t),i.expr.visitExpression(this,e),o&&e.print(i,")"),null}visitBinaryOperatorExpr(i,e){let t=z$.get(i.operator);if(!t)throw new Error(`Unknown operator ${i.operator}`);let o=i!==this.lastIfCondition;return o&&e.print(i,"("),i.lhs.visitExpression(this,e),e.print(i,` ${t} `),i.rhs.visitExpression(this,e),o&&e.print(i,")"),null}visitReadPropExpr(i,e){return i.receiver.visitExpression(this,e),e.print(i,"."),e.print(i,i.name),null}visitReadKeyExpr(i,e){return i.receiver.visitExpression(this,e),e.print(i,"["),i.index.visitExpression(this,e),e.print(i,"]"),null}visitLiteralArrayExpr(i,e){return e.print(i,"["),this.visitAllExpressions(i.entries,e,","),e.print(i,"]"),null}visitLiteralMapExpr(i,e){return e.print(i,"{"),this.visitAllObjects(t=>{t instanceof rm?(e.print(i,"..."),t.expression.visitExpression(this,e)):(e.print(i,`${Tp(t.key,this._escapeDollarInStrings,t.quoted)}:`),t.value.visitExpression(this,e))},i.entries,e,","),e.print(i,"}"),null}visitCommaExpr(i,e){return e.print(i,"("),this.visitAllExpressions(i.parts,e,","),e.print(i,")"),null}visitParenthesizedExpr(i,e){i.expr.visitExpression(this,e)}visitSpreadElementExpr(i,e){e.print(i,"..."),i.expression.visitExpression(this,e)}visitAllExpressions(i,e,t){this.visitAllObjects(o=>o.visitExpression(this,e),i,e,t)}visitAllObjects(i,e,t,o){let r=!1;for(let a=0;a<e.length;a++)a>0&&(t.lineLength()>80?(t.print(null,o,!0),r||(t.incIndent(),t.incIndent(),r=!0)):t.print(null,o,!1)),i(e[a]);r&&(t.decIndent(),t.decIndent())}visitAllStatements(i,e){i.forEach(t=>t.visitStatement(this,e))}};function Tp(n,i,e=!0){if(n==null)return null;let t=n.replace(V$,(...r)=>r[0]=="$"?i?"\\$":"$":r[0]==`
`?"\\n":r[0]=="\r"?"\\r":`\\${r[0]}`);return e||!B$.test(t)?`'${t}'`:t}function i5(n){let i="";for(let e=0;e<n;e++)i+=Hk;return i}function nb(n,i){if(i===0)return ra(n);let e=[];for(let t=0;t<i;t++)e.push(is);return ra(n,void 0,e)}function j$(n,i){let e=Tp(i,!1,!1);return e!==i?`${n}[${e}]`:`${n}.${i}`}function $$(n){return H$("ngJitMode",n)}function H$(n,i){let e=new zp({name:n,moduleName:null}),t=new gi(st.Identical,new Ch(e),Te("undefined")),o=new gi(st.Or,t,e,void 0,void 0);return new gi(st.And,o,i)}function Nr(n){let i=new oi(n);return{value:i,type:i}}function Ep(n,i){let e=Gi(n.map(t=>t.value));return i?Ds([],e):e}function fE(n,i){return{expression:n,forwardRef:i}}function U$({expression:n,forwardRef:i}){switch(i){case 0:case 1:return n;case 2:return G$(n)}}function G$(n){return Ut(fe.forwardRef).callFn([Ds([],n)])}var a1=(function(n){return n[n.Class=0]="Class",n[n.Function=1]="Function",n})(a1||{});function wp(n){let i=Yn("__ngFactoryType__"),e=null,t=r5(n)?i:new gi(st.Or,i,n.type.value),o=null;n.deps!==null?n.deps!=="invalid"&&(o=new d_(t,o5(n.deps,n.target))):(e=Yn(`\u0275${n.name}_BaseFactory`),o=e.callFn([t]));let r=[],a=null;function c(u){let h=Yn("__ngConditionalFactory__");r.push(new Rr(h.name,yh,Ol));let _=o!==null?h.set(o).toStmt():Ut(fe.invalidFactory).callFn([]).toStmt();return r.push(tb(i,[_],[h.set(u).toStmt()])),h}if(r5(n)){let u=o5(n.delegateDeps,n.target),h=new(n.delegateType===a1.Class?d_:os)(n.delegate,u);a=c(h)}else K$(n)?a=c(n.expression):a=o;if(a===null)r.push(Ut(fe.invalidFactory).callFn([]).toStmt());else if(e!==null){let u=Ut(fe.getInheritedFactory).callFn([n.type.value]),h=new gi(st.Or,e,e.set(u));r.push(new xr(h.callFn([t])))}else r.push(new xr(a));let p=am([new br(i.name,is)],r,Ol,void 0,`${n.name}_Factory`);return e!==null&&(p=Ds([],[new Rr(e.name),new xr(p)]).callFn([],void 0,!0)),{expression:p,statements:[],type:W$(n)}}function W$(n){let i=n.deps!==null&&n.deps!=="invalid"?Q$(n.deps):yc;return ra(Ut(fe.FactoryDeclaration,[nb(n.type.type,n.typeArgumentCount),i]))}function o5(n,i){return n.map((e,t)=>q$(e,i,t))}function q$(n,i,e){if(n.token===null)return Ut(fe.invalidFactoryDep).callFn([Te(e)]);if(n.attributeNameType===null){let t=0|(n.self?2:0)|(n.skipSelf?4:0)|(n.host?1:0)|(n.optional?8:0)|(i===gd.Pipe?16:0),o=t!==0||n.optional?Te(t):null,r=[n.token];o&&r.push(o);let a=Y$(i);return Ut(a).callFn(r)}else return Ut(fe.injectAttribute).callFn([n.token])}function Q$(n){let i=!1,e=n.map(t=>{let o=X$(t);return o!==null?(i=!0,o):Te(null)});return i?ra(Gi(e)):yc}function X$(n){let i=[];return n.attributeNameType!==null&&i.push({key:"attribute",value:n.attributeNameType,quoted:!1}),n.optional&&i.push({key:"optional",value:Te(!0),quoted:!1}),n.host&&i.push({key:"host",value:Te(!0),quoted:!1}),n.self&&i.push({key:"self",value:Te(!0),quoted:!1}),n.skipSelf&&i.push({key:"skipSelf",value:Te(!0),quoted:!1}),i.length>0?nl(i):null}function r5(n){return n.delegateType!==void 0}function K$(n){return n.expression!==void 0}function Y$(n){switch(n){case gd.Component:case gd.Directive:case gd.Pipe:return fe.directiveInject;case gd.NgModule:case gd.Injectable:default:return fe.inject}}var Up=class{start;end;constructor(i,e){this.start=i,this.end=e}toAbsolute(i){return new Ms(i+this.start,i+this.end)}},to=class{span;sourceSpan;constructor(i,e){this.span=i,this.sourceSpan=e}toString(){return"AST"}},f_=class extends to{nameSpan;constructor(i,e,t){super(i,e),this.nameSpan=t}},_a=class extends to{visit(i,e=null){return i.visitEmptyExpr?.(this,e)}},Mc=class extends to{visit(i,e=null){return i.visitImplicitReceiver(this,e)}},g_=class extends to{visit(i,e=null){return i.visitThisReceiver?.(this,e)}},Sh=class extends to{expressions;constructor(i,e,t){super(i,e),this.expressions=t}visit(i,e=null){return i.visitChain(this,e)}},s1=class extends to{condition;trueExp;falseExp;constructor(i,e,t,o,r){super(i,e),this.condition=t,this.trueExp=o,this.falseExp=r}visit(i,e=null){return i.visitConditional(this,e)}},Cc=class extends f_{receiver;name;constructor(i,e,t,o,r){super(i,e,t),this.receiver=o,this.name=r}visit(i,e=null){return i.visitPropertyRead(this,e)}},__=class extends f_{receiver;name;constructor(i,e,t,o,r){super(i,e,t),this.receiver=o,this.name=r}visit(i,e=null){return i.visitSafePropertyRead(this,e)}},Gp=class extends to{receiver;key;constructor(i,e,t,o){super(i,e),this.receiver=t,this.key=o}visit(i,e=null){return i.visitKeyedRead(this,e)}},v_=class extends to{receiver;key;constructor(i,e,t,o){super(i,e),this.receiver=t,this.key=o}visit(i,e=null){return i.visitSafeKeyedRead(this,e)}},HC=(function(n){return n[n.ReferencedByName=0]="ReferencedByName",n[n.ReferencedDirectly=1]="ReferencedDirectly",n})(HC||{}),l1=class extends f_{exp;name;args;type;constructor(i,e,t,o,r,a,c){super(i,e,c),this.exp=t,this.name=o,this.args=r,this.type=a}visit(i,e=null){return i.visitPipe(this,e)}},Ja=class extends to{value;constructor(i,e,t){super(i,e),this.value=t}visit(i,e=null){return i.visitLiteralPrimitive(this,e)}},C_= Line truncated
${i.dtd}
]>`}},P8e=new AW;function OW(n){return n.toUpperCase().replace(/[^A-Z0-9_]/g,"_")}var T6="i18n",QE="i18n-",NW="VAR_";function E6(n){return n===T6||n.startsWith(QE)}function FW(n){return n.attrs.some(i=>E6(i.name))}function D6(n){return n.nodes[0]}function rP(n={},i){let e={};return n&&Object.keys(n).length&&Object.keys(n).forEach(t=>e[ev(t,i)]=n[t]),e}function ev(n,i=!0){let e=OW(n);if(!i)return e;let t=e.split("_");if(t.length===1)return n.toLowerCase();let o;/^\d+$/.test(t[t.length-1])&&(o=t.pop());let r=t.shift().toLowerCase();return t.length&&(r+=t.map(a=>a.charAt(0).toUpperCase()+a.slice(1).toLowerCase()).join("")),o?`${r}_${o}`:r}var RW=/[-.]/,aP="_t",Hs="ctx",gf="rf";function P6(n,i){let e=null;return()=>(e||(n(new $r(aP,void 0,hs)),e=ei(i)),e)}function $h(n){return Array.isArray(n)?Zi(n.map($h)):Te(n,Xl)}function BF(n,i){let e=Object.getOwnPropertyNames(n);return e.length===0?null:vl(e.map(t=>{let o=n[t],r,a,c,p;if(typeof o=="string")r=t,c=t,a=o,p=$h(a);else{c=t,r=o.classPropertyName,a=o.bindingPropertyName;let u=a!==r,h=o.transformFunction!==null,g=z_.None;if(o.isSignal&&(g|=z_.SignalBased),h&&(g|=z_.HasDecoratorInputTransform),i&&(u||h||g!==z_.None)){let S=[Te(g),$h(a)];(u||h)&&(S.push($h(r)),h&&S.push(o.transformFunction)),p=Zi(S)}else p=$h(a)}return{key:c,quoted:RW.test(c),value:p}}))}var Lm=class{values=[];set(i,e){if(e){let t=this.values.find(o=>o.key===i);t?t.value=e:this.values.push({key:i,value:e,quoted:!1})}}toLiteralMap(){return vl(this.values)}};function LW(n){let i=n instanceof jc?n.name:"ng-template",e=BW(n),t=new Xh,o=Jl(i)[1];return t.setElement(o),Object.getOwnPropertyNames(e).forEach(r=>{let a=Jl(r)[1],c=e[r];t.addAttribute(a,c),r.toLowerCase()==="class"&&c.trim().split(/\s+/).forEach(u=>t.addClassName(u))}),t}function BW(n){let i={};return n instanceof Vs&&n.tagName!=="ng-template"?n.templateAttrs.forEach(e=>i[e.name]=""):(n.attributes.forEach(e=>{E6(e.name)||(i[e.name]=e.value)}),n.inputs.forEach(e=>{(e.type===Pi.Property||e.type===Pi.TwoWay)&&(i[e.name]="")}),n.outputs.forEach(e=>{i[e.name]=""})),i}function VF(n,i){let e=null,t={name:n.name,type:n.type,typeArgumentCount:n.typeArgumentCount,deps:[],target:Rd.Injectable};if(n.useClass!==void 0){let c=n.useClass.expression.isEquivalent(n.type.value),p;n.deps!==void 0&&(p=n.deps),p!==void 0?e=eu(We(q({},t),{delegate:n.useClass.expression,delegateDeps:p,delegateType:Cb.Class})):c?e=eu(t):e={statements:[],expression:zF(n.type.value,n.useClass.expression,i)}}else n.useFactory!==void 0?n.deps!==void 0?e=eu(We(q({},t),{delegate:n.useFactory,delegateDeps:n.deps||[],delegateType:Cb.Function})):e={statements:[],expression:$s([],n.useFactory.callFn([]))}:n.useValue!==void 0?e=eu(We(q({},t),{expression:n.useValue.expression})):n.useExisting!==void 0?e=eu(We(q({},t),{expression:Qt(fe.inject).callFn([n.useExisting.expression])})):e={statements:[],expression:zF(n.type.value,n.type.value,i)};let o=n.type.value,r=new Lm;return r.set("token",o),r.set("factory",e.expression),n.providedIn.expression.value!==null&&r.set("providedIn",yW(n.providedIn)),{expression:Qt(fe.\u0275\u0275defineInjectable).callFn([r.toLiteralMap()],void 0,!0),type:VW(n),statements:e.statements}}function VW(n){return new _l(Qt(fe.InjectableDeclaration,[fx(n.type.type,n.typeArgumentCount)]))}function zF(n,i,e){if(n.node===i.node)return i.prop("\u0275fac");if(!e)return jF(i);let t=Qt(fe.resolveForwardRef).callFn([i]);return jF(t)}function jF(n){let i=new Tr("__ngFactoryType__",hs);return $s([i],n.prop("\u0275fac").callFn([ei(i.name)]))}var Jr=0,zW=8,sP=9,cu=10,I6=11,A6=12,lP=13,O6=32,XE=33,P0=34,N6=35,_x=36,jW=37,Rb=38,I0=39,Qa=40,kr=41,$F=42,F6=43,Ta=44,Lb=45,Zp=46,dl=47,Ac=58,ms=59,Qh=60,Yr=61,Rs=62,HF=63,cP=48,$W=55,R6=57,Hm=65,HW=69,UW=70,GW=88,_f=90,Fc=91,du=92,Ld=93,WW=94,Um=95,wu=97,qW=98,QW=101,dP=102,L6=110,B6=114,V6=116,z6=117,j6=118,$6=120,tv=122,ul=123,UF=124,Wa=125,H6=160,Oh=64,KE=96;function A0(n){return n>=sP&&n<=O6||n==H6}function ml(n){return cP<=n&&n<=R6}function Bm(n){return n>=wu&&n<=tv||n>=Hm&&n<=_f}function XW(n){return n>=wu&&n<=dP||n>=Hm&&n<=UW||ml(n)}function Bb(n){return n===cu||n===lP}function GF(n){return cP<=n&&n<=$W}function Q_(n){return n===I0||n===P0||n===KE}var O0=class n{file;offset;line;col;constructor(i,e,t,o){this.file=i,this.offset=e,this.line=t,this.col=o}toString(){return this.offset!=null?`${this.file.url}@${this.line}:${this.col}`:this.file.url}moveBy(i){let e=this.file.content,t=e.length,o=this.offset,r=this.line,a=this.col;for(;o>0&&i<0;)if(o--,i++,e.charCodeAt(o)==cu){r--;let p=e.substring(0,o-1).lastIndexOf(String.fromCharCode(cu));a=p>0?o-p:o}else a--;for(;o<t&&i>0;){let c=e.charCodeAt(o);o++,i--,c==cu?(r++,a=0):a++}return new n(this.file,o,r,a)}getContext(i,e){let t=this.file.content,o=this.offset;if(o!=null){o>t.length-1&&(o=t.length-1);let r=o,a=0,c=0;for(;a<i&&o>0&&(o--,a++,!(t[o]==`
]>`}},h5e=new eH;function tH(n){return n.toUpperCase().replace(/[^A-Z0-9_]/g,"_")}var KN="i18n",aT="i18n-",nH="VAR_";function YN(n){return n===KN||n.startsWith(aT)}function iH(n){return n.attrs.some(i=>YN(i.name))}function ZN(n){return n.nodes[0]}function _E(n={},i){let e={};return n&&Object.keys(n).length&&Object.keys(n).forEach(t=>e[s0(t,i)]=n[t]),e}function s0(n,i=!0){let e=tH(n);if(!i)return e;let t=e.split("_");if(t.length===1)return n.toLowerCase();let o;/^\d+$/.test(t[t.length-1])&&(o=t.pop());let r=t.shift().toLowerCase();return t.length&&(r+=t.map(a=>a.charAt(0).toUpperCase()+a.slice(1).toLowerCase()).join("")),o?`${r}_${o}`:r}var oH=/[-.]/,vE="_t",Ps="ctx",Vh="rf";function JN(n,i){let e=null;return()=>(e||(n(new Rr(vE,void 0,is)),e=Yn(i)),e)}function mh(n){return Array.isArray(n)?Gi(n.map(mh)):Te(n,Ol)}function s5(n,i){let e=Object.getOwnPropertyNames(n);return e.length===0?null:nl(e.map(t=>{let o=n[t],r,a,c,p;if(typeof o=="string")r=t,c=t,a=o,p=mh(a);else{c=t,r=o.classPropertyName,a=o.bindingPropertyName;let u=a!==r,h=o.transformFunction!==null,_=qg.None;if(o.isSignal&&(_|=qg.SignalBased),h&&(_|=qg.HasDecoratorInputTransform),i&&(u||h||_!==qg.None)){let S=[Te(_),mh(a)];(u||h)&&(S.push(mh(r)),h&&S.push(o.transformFunction)),p=Gi(S)}else p=mh(a)}return{key:c,quoted:oH.test(c),value:p}}))}var dm=class{values=[];set(i,e){if(e){let t=this.values.find(o=>o.key===i);t?t.value=e:this.values.push({key:i,value:e,quoted:!1})}}toLiteralMap(){return nl(this.values)}};function rH(n){let i=n instanceof kc?n.name:"ng-template",e=aH(n),t=new vh,o=Ll(i)[1];return t.setElement(o),Object.getOwnPropertyNames(e).forEach(r=>{let a=Ll(r)[1],c=e[r];t.addAttribute(a,c),r.toLowerCase()==="class"&&c.trim().split(/\s+/).forEach(u=>t.addClassName(u))}),t}function aH(n){let i={};return n instanceof ks&&n.tagName!=="ng-template"?n.templateAttrs.forEach(e=>i[e.name]=""):(n.attributes.forEach(e=>{YN(e.name)||(i[e.name]=e.value)}),n.inputs.forEach(e=>{(e.type===Ti.Property||e.type===Ti.TwoWay)&&(i[e.name]="")}),n.outputs.forEach(e=>{i[e.name]=""})),i}function l5(n,i){let e=null,t={name:n.name,type:n.type,typeArgumentCount:n.typeArgumentCount,deps:[],target:gd.Injectable};if(n.useClass!==void 0){let c=n.useClass.expression.isEquivalent(n.type.value),p;n.deps!==void 0&&(p=n.deps),p!==void 0?e=wp(it(K({},t),{delegate:n.useClass.expression,delegateDeps:p,delegateType:a1.Class})):c?e=wp(t):e={statements:[],expression:c5(n.type.value,n.useClass.expression,i)}}else n.useFactory!==void 0?n.deps!==void 0?e=wp(it(K({},t),{delegate:n.useFactory,delegateDeps:n.deps||[],delegateType:a1.Function})):e={statements:[],expression:Ds([],n.useFactory.callFn([]))}:n.useValue!==void 0?e=wp(it(K({},t),{expression:n.useValue.expression})):n.useExisting!==void 0?e=wp(it(K({},t),{expression:Ut(fe.inject).callFn([n.useExisting.expression])})):e={statements:[],expression:c5(n.type.value,n.type.value,i)};let o=n.type.value,r=new dm;return r.set("token",o),r.set("factory",e.expression),n.providedIn.expression.value!==null&&r.set("providedIn",U$(n.providedIn)),{expression:Ut(fe.\u0275\u0275defineInjectable).callFn([r.toLiteralMap()],void 0,!0),type:sH(n),statements:e.statements}}function sH(n){return new tl(Ut(fe.InjectableDeclaration,[nb(n.type.type,n.typeArgumentCount)]))}function c5(n,i,e){if(n.node===i.node)return i.prop("\u0275fac");if(!e)return d5(i);let t=Ut(fe.resolveForwardRef).callFn([i]);return d5(t)}function d5(n){let i=new br("__ngFactoryType__",is);return Ds([i],n.prop("\u0275fac").callFn([Yn(i.name)]))}var Gr=0,lH=8,CE=9,Op=10,eF=11,tF=12,bE=13,nF=32,sT=33,L_=34,iF=35,ob=36,cH=37,S1=38,V_=39,Va=40,Cr=41,m5=42,oF=43,va=44,w1=45,yp=46,Qs=47,_c=58,es=59,_h=60,Hr=61,Ss=62,p5=63,xE=48,dH=55,rF=57,gm=65,mH=69,pH=70,uH=88,Bh=90,bc=91,Np=92,_d=93,hH=94,_m=95,Qp=97,fH=98,gH=101,yE=102,aF=110,sF=114,lF=116,cF=117,dF=118,mF=120,l0=122,Ys=123,u5=124,Ra=125,pF=160,nh=64,lT=96;function B_(n){return n>=CE&&n<=nF||n==pF}function Xs(n){return xE<=n&&n<=rF}function mm(n){return n>=Qp&&n<=l0||n>=gm&&n<=Bh}function _H(n){return n>=Qp&&n<=yE||n>=gm&&n<=pH||Xs(n)}function M1(n){return n===Op||n===bE}function h5(n){return xE<=n&&n<=dH}function t_(n){return n===V_||n===L_||n===lT}var z_=class n{file;offset;line;col;constructor(i,e,t,o){this.file=i,this.offset=e,this.line=t,this.col=o}toString(){return this.offset!=null?`${this.file.url}@${this.line}:${this.col}`:this.file.url}moveBy(i){let e=this.file.content,t=e.length,o=this.offset,r=this.line,a=this.col;for(;o>0&&i<0;)if(o--,i++,e.charCodeAt(o)==Op){r--;let p=e.substring(0,o-1).lastIndexOf(String.fromCharCode(Op));a=p>0?o-p:o}else a--;for(;o<t&&i>0;){let c=e.charCodeAt(o);o++,i--,c==Op?(r++,a=0):a++}return new n(this.file,o,r,a)}getContext(i,e){let t=this.file.content,o=this.offset;if(o!=null){o>t.length-1&&(o=t.length-1);let r=o,a=0,c=0;for(;a<i&&o>0&&(o--,a++,!(t[o]==`
`&&++c==e)););for(a=0,c=0;a<i&&r<t.length-1&&(r++,a++,!(t[r]==`
`&&++c==e)););return{before:t.substring(o,this.offset),after:t.substring(this.offset,r+1)}}return null}},Vb=class{content;url;constructor(i,e){this.content=i,this.url=e}},xn=class{start;end;fullStart;details;constructor(i,e,t=i,o=null){this.start=i,this.end=e,this.fullStart=t,this.details=o}toString(){return this.start.file.content.substring(this.start.offset,this.end.offset)}},Dm=(function(n){return n[n.WARNING=0]="WARNING",n[n.ERROR=1]="ERROR",n})(Dm||{}),cn=class extends Error{span;msg;level;relatedError;constructor(i,e,t=Dm.ERROR,o){super(e),this.span=i,this.msg=e,this.level=t,this.relatedError=o,Object.setPrototypeOf(this,new.target.prototype)}contextualMessage(){let i=this.span.start.getContext(100,3);return i?`${this.msg} ("${i.before}[${Dm[this.level]} ->]${i.after}")`:this.msg}toString(){let i=this.span.details?`, ${this.span.details}`:"";return`${this.contextualMessage()}: ${this.span.start}${i}`}};function KW(n,i,e){let t=`in ${n} ${i} in ${e}`,o=new Vb("",t);return new xn(new O0(o,-1,-1,-1),new O0(o,-1,-1,-1))}var YW=0;function ZW(n){if(!n||!n.reference)return null;let i=n.reference;if(i.__anonymousType)return i.__anonymousType;if(i.__forward_ref__)return"__forward_ref__";let e=S6(i);return e.indexOf("(")>=0?(e=`anonymous_${YW++}`,i.__anonymousType=e):e=tu(e),e}function tu(n){return n.replace(/\W/g,"_")}var WF='(this&&this.__makeTemplateObject||function(e,t){return Object.defineProperty?Object.defineProperty(e,"raw",{value:t}):e.raw=t,e})',YE=class extends OE{constructor(){super(!1)}visitWrappedNodeExpr(i,e){throw new Error("Cannot emit a WrappedNodeExpr in Javascript.")}visitDeclareVarStmt(i,e){return e.print(i,`var ${i.name}`),i.value&&(e.print(i," = "),i.value.visitExpression(this,e)),e.println(i,";"),null}visitTaggedTemplateLiteralExpr(i,e){let t=i.template.elements;return i.tag.visitExpression(this,e),e.print(i,`(${WF}(`),e.print(i,`[${t.map(o=>iu(o.text,!1)).join(", ")}], `),e.print(i,`[${t.map(o=>iu(o.rawText,!1)).join(", ")}])`),i.template.expressions.forEach(o=>{e.print(i,", "),o.visitExpression(this,e)}),e.print(i,")"),null}visitTemplateLiteralExpr(i,e){e.print(i,"`");for(let t=0;t<i.elements.length;t++){i.elements[t].visitExpression(this,e);let o=t<i.expressions.length?i.expressions[t]:null;o!==null&&(e.print(o,"${"),o.visitExpression(this,e),e.print(o,"}"))}e.print(i,"`")}visitTemplateLiteralElementExpr(i,e){return e.print(i,i.rawText),null}visitFunctionExpr(i,e){return e.print(i,`function${i.name?" "+i.name:""}(`),this._visitParams(i.params,e),e.println(i,") {"),e.incIndent(),this.visitAllStatements(i.statements,e),e.decIndent(),e.print(i,"}"),null}visitArrowFunctionExpr(i,e){if(e.print(i,"("),this._visitParams(i.params,e),e.print(i,") =>"),Array.isArray(i.body))e.println(i,"{"),e.incIndent(),this.visitAllStatements(i.body,e),e.decIndent(),e.print(i,"}");else{let t=i.body instanceof Zl;t&&e.print(i,"("),i.body.visitExpression(this,e),t&&e.print(i,")")}return null}visitDeclareFunctionStmt(i,e){return e.print(i,`function ${i.name}(`),this._visitParams(i.params,e),e.println(i,") {"),e.incIndent(),this.visitAllStatements(i.statements,e),e.decIndent(),e.println(i,"}"),null}visitLocalizedString(i,e){e.print(i,`$localize(${WF}(`);let t=[i.serializeI18nHead()];for(let o=1;o<i.messageParts.length;o++)t.push(i.serializeI18nTemplatePart(o));return e.print(i,`[${t.map(o=>iu(o.cooked,!1)).join(", ")}], `),e.print(i,`[${t.map(o=>iu(o.raw,!1)).join(", ")}])`),i.expressions.forEach(o=>{e.print(i,", "),o.visitExpression(this,e)}),e.print(i,")"),null}_visitParams(i,e){this.visitAllObjects(t=>e.print(null,t.name),i,e,",")}},U1;function JW(){if(U1===void 0){let n=W_.trustedTypes;if(U1=null,n)try{U1=n.createPolicy("angular#unsafe-jit",{createScript:i=>i})}catch{}}return U1}function eq(n){return JW()?.createScript(n)||n}function qF(...n){if(!W_.trustedTypes)return new Function(...n);let i=n.slice(0,-1).join(","),e=n[n.length-1],t=`(function anonymous(${i}
`&&++c==e)););return{before:t.substring(o,this.offset),after:t.substring(this.offset,r+1)}}return null}},k1=class{content;url;constructor(i,e){this.content=i,this.url=e}},gn=class{start;end;fullStart;details;constructor(i,e,t=i,o=null){this.start=i,this.end=e,this.fullStart=t,this.details=o}toString(){return this.start.file.content.substring(this.start.offset,this.end.offset)}},nm=(function(n){return n[n.WARNING=0]="WARNING",n[n.ERROR=1]="ERROR",n})(nm||{}),sn=class extends Error{span;msg;level;relatedError;constructor(i,e,t=nm.ERROR,o){super(e),this.span=i,this.msg=e,this.level=t,this.relatedError=o,Object.setPrototypeOf(this,new.target.prototype)}contextualMessage(){let i=this.span.start.getContext(100,3);return i?`${this.msg} ("${i.before}[${nm[this.level]} ->]${i.after}")`:this.msg}toString(){let i=this.span.details?`, ${this.span.details}`:"";return`${this.contextualMessage()}: ${this.span.start}${i}`}};function vH(n,i,e){let t=`in ${n} ${i} in ${e}`,o=new k1("",t);return new gn(new z_(o,-1,-1,-1),new z_(o,-1,-1,-1))}var CH=0;function bH(n){if(!n||!n.reference)return null;let i=n.reference;if(i.__anonymousType)return i.__anonymousType;if(i.__forward_ref__)return"__forward_ref__";let e=WN(i);return e.indexOf("(")>=0?(e=`anonymous_${CH++}`,i.__anonymousType=e):e=Mp(e),e}function Mp(n){return n.replace(/\W/g,"_")}var f5='(this&&this.__makeTemplateObject||function(e,t){return Object.defineProperty?Object.defineProperty(e,"raw",{value:t}):e.raw=t,e})',cT=class extends Gk{constructor(){super(!1)}visitWrappedNodeExpr(i,e){throw new Error("Cannot emit a WrappedNodeExpr in Javascript.")}visitDeclareVarStmt(i,e){return e.print(i,`var ${i.name}`),i.value&&(e.print(i," = "),i.value.visitExpression(this,e)),e.println(i,";"),null}visitTaggedTemplateLiteralExpr(i,e){let t=i.template.elements;return i.tag.visitExpression(this,e),e.print(i,`(${f5}(`),e.print(i,`[${t.map(o=>Tp(o.text,!1)).join(", ")}], `),e.print(i,`[${t.map(o=>Tp(o.rawText,!1)).join(", ")}])`),i.template.expressions.forEach(o=>{e.print(i,", "),o.visitExpression(this,e)}),e.print(i,")"),null}visitTemplateLiteralExpr(i,e){e.print(i,"`");for(let t=0;t<i.elements.length;t++){i.elements[t].visitExpression(this,e);let o=t<i.expressions.length?i.expressions[t]:null;o!==null&&(e.print(o,"${"),o.visitExpression(this,e),e.print(o,"}"))}e.print(i,"`")}visitTemplateLiteralElementExpr(i,e){return e.print(i,i.rawText),null}visitFunctionExpr(i,e){return e.print(i,`function${i.name?" "+i.name:""}(`),this._visitParams(i.params,e),e.println(i,") {"),e.incIndent(),this.visitAllStatements(i.statements,e),e.decIndent(),e.print(i,"}"),null}visitArrowFunctionExpr(i,e){if(e.print(i,"("),this._visitParams(i.params,e),e.print(i,") =>"),Array.isArray(i.body))e.println(i,"{"),e.incIndent(),this.visitAllStatements(i.body,e),e.decIndent(),e.print(i,"}");else{let t=i.body instanceof Rl;t&&e.print(i,"("),i.body.visitExpression(this,e),t&&e.print(i,")")}return null}visitDeclareFunctionStmt(i,e){return e.print(i,`function ${i.name}(`),this._visitParams(i.params,e),e.println(i,") {"),e.incIndent(),this.visitAllStatements(i.statements,e),e.decIndent(),e.println(i,"}"),null}visitLocalizedString(i,e){e.print(i,`$localize(${f5}(`);let t=[i.serializeI18nHead()];for(let o=1;o<i.messageParts.length;o++)t.push(i.serializeI18nTemplatePart(o));return e.print(i,`[${t.map(o=>Tp(o.cooked,!1)).join(", ")}], `),e.print(i,`[${t.map(o=>Tp(o.raw,!1)).join(", ")}])`),i.expressions.forEach(o=>{e.print(i,", "),o.visitExpression(this,e)}),e.print(i,")"),null}_visitParams(i,e){this.visitAllObjects(t=>e.print(null,t.name),i,e,",")}},IC;function xH(){if(IC===void 0){let n=Jg.trustedTypes;if(IC=null,n)try{IC=n.createPolicy("angular#unsafe-jit",{createScript:i=>i})}catch{}}return IC}function yH(n){return xH()?.createScript(n)||n}function g5(...n){if(!Jg.trustedTypes)return new Function(...n);let i=n.slice(0,-1).join(","),e=n[n.length-1],t=`(function anonymous(${i}
) { ${e}
})`,o=W_.eval(eq(t));return o.bind===void 0?new Function(...n):(o.toString=()=>t,o.bind(W_))}var ZE=class{evaluateStatements(i,e,t,o){let r=new JE(t),a=AE.createRoot();return e.length>0&&!tq(e[0])&&(e=[Te("use strict").toStmt(),...e]),r.visitAllStatements(e,a),r.createReturnStmt(a),this.evaluateCode(i,a,r.getArgs(),o)}evaluateCode(i,e,t,o){let r=`"use strict";${e.toSource()}
//# sourceURL=${i}`,a=[],c=[];for(let u in t)c.push(t[u]),a.push(u);if(o){let u=qF(...a.concat("return null;")).toString(),h=u.slice(0,u.indexOf("return null;")).split(`
})`,o=Jg.eval(yH(t));return o.bind===void 0?new Function(...n):(o.toString=()=>t,o.bind(Jg))}var dT=class{evaluateStatements(i,e,t,o){let r=new mT(t),a=Uk.createRoot();return e.length>0&&!SH(e[0])&&(e=[Te("use strict").toStmt(),...e]),r.visitAllStatements(e,a),r.createReturnStmt(a),this.evaluateCode(i,a,r.getArgs(),o)}evaluateCode(i,e,t,o){let r=`"use strict";${e.toSource()}
//# sourceURL=${i}`,a=[],c=[];for(let u in t)c.push(t[u]),a.push(u);if(o){let u=g5(...a.concat("return null;")).toString(),h=u.slice(0,u.indexOf("return null;")).split(`
`).length-1;r+=`
${e.toSourceMapGenerator(i,h).toJsComment()}`}let p=qF(...a.concat(r));return this.executeFunction(p,c)}executeFunction(i,e){return i(...e)}},JE=class extends YE{refResolver;_evalArgNames=[];_evalArgValues=[];_evalExportedVars=[];constructor(i){super(),this.refResolver=i}createReturnStmt(i){new Er(new Zl(this._evalExportedVars.map(t=>new Zh(t,ei(t),!1)))).visitStatement(this,i)}getArgs(){let i={};for(let e=0;e<this._evalArgNames.length;e++)i[this._evalArgNames[e]]=this._evalArgValues[e];return i}visitExternalExpr(i,e){return this._emitReferenceToExternal(i,this.refResolver.resolveExternalReference(i.value),e),null}visitWrappedNodeExpr(i,e){return this._emitReferenceToExternal(i,i.node,e),null}visitDeclareVarStmt(i,e){return i.hasModifier(ua.Exported)&&this._evalExportedVars.push(i.name),super.visitDeclareVarStmt(i,e)}visitDeclareFunctionStmt(i,e){return i.hasModifier(ua.Exported)&&this._evalExportedVars.push(i.name),super.visitDeclareFunctionStmt(i,e)}_emitReferenceToExternal(i,e,t){let o=this._evalArgValues.indexOf(e);if(o===-1){o=this._evalArgValues.length,this._evalArgValues.push(e);let r=ZW({reference:e})||"val";this._evalArgNames.push(`jit_${r}_${o}`)}t.print(i,this._evalArgNames[o])}};function tq(n){return n.isEquivalent(Te("use strict").toStmt())}function QF(n){let i=new Lm;n.providers!==null&&i.set("providers",n.providers),n.imports.length>0&&i.set("imports",Zi(n.imports));let e=Qt(fe.defineInjector).callFn([i.toLiteralMap()],void 0,!0),t=nq(n);return{expression:e,type:t,statements:[]}}function nq(n){return new _l(Qt(fe.InjectorDeclaration,[new _l(n.type.type)]))}var eD=class{context;constructor(i){this.context=i}resolveExternalReference(i){if(i.moduleName!=="@angular/core")throw new Error(`Cannot resolve external reference to ${i.moduleName}, only references to @angular/core are supported.`);if(!this.context.hasOwnProperty(i.name))throw new Error(`No value provided for @angular/core symbol '${i.name}'.`);return this.context[i.name]}},zb=(function(n){return n[n.Inline=0]="Inline",n[n.SideEffect=1]="SideEffect",n[n.Omit=2]="Omit",n})(zb||{}),Pm=(function(n){return n[n.Global=0]="Global",n[n.Local=1]="Local",n})(Pm||{});function iq(n){let i=[],e=new Lm;if(e.set("type",n.type.value),n.kind===Pm.Global&&n.bootstrap.length>0&&e.set("bootstrap",ou(n.bootstrap,n.containsForwardDecls)),n.selectorScopeMode===zb.Inline)n.declarations.length>0&&e.set("declarations",ou(n.declarations,n.containsForwardDecls)),n.imports.length>0&&e.set("imports",ou(n.imports,n.containsForwardDecls)),n.exports.length>0&&e.set("exports",ou(n.exports,n.containsForwardDecls));else if(n.selectorScopeMode===zb.SideEffect){let r=aq(n);r!==null&&i.push(r)}n.schemas!==null&&n.schemas.length>0&&e.set("schemas",Zi(n.schemas.map(r=>r.value))),n.id!==null&&(e.set("id",n.id),i.push(Qt(fe.registerNgModuleType).callFn([n.type.value,n.id]).toStmt()));let t=Qt(fe.defineNgModule).callFn([e.toLiteralMap()],void 0,!0),o=rq(n);return{expression:t,type:o,statements:i}}function oq(n){let i=new Lm;return i.set("type",new li(n.type)),n.bootstrap!==void 0&&i.set("bootstrap",new li(n.bootstrap)),n.declarations!==void 0&&i.set("declarations",new li(n.declarations)),n.imports!==void 0&&i.set("imports",new li(n.imports)),n.exports!==void 0&&i.set("exports",new li(n.exports)),n.schemas!==void 0&&i.set("schemas",new li(n.schemas)),n.id!==void 0&&i.set("id",new li(n.id)),Qt(fe.defineNgModule).callFn([i.toLiteralMap()])}function rq(n){if(n.kind===Pm.Local)return new _l(n.type.value);let{type:i,declarations:e,exports:t,imports:o,includeImportTypes:r,publicDeclarationTypes:a}=n;return new _l(Qt(fe.NgModuleDeclaration,[new _l(i.type),a===null?iE(e):sq(a),r?iE(o):Lc,iE(t)]))}function aq(n){let i=new Lm;if(n.kind===Pm.Global?n.declarations.length>0&&i.set("declarations",ou(n.declarations,n.containsForwardDecls)):n.declarationsExpression&&i.set("declarations",n.declarationsExpression),n.kind===Pm.Global?n.imports.length>0&&i.set("imports",ou(n.imports,n.containsForwardDecls)):n.importsExpression&&i.set("imports",n.importsExpression),n.kind===Pm.Global?n.exports.length>0&&i.set("exports",ou(n.exports,n.containsForwardDecls)):n.exportsExpression&&i.set("exports",n.exportsExpression),n.kind===Pm.Local&&n.bootstrapExpression&&i.set("bootstrap",n.bootstrapExpression),Object.keys(i.values).length===0)return null;let e=new fs(Qt(fe.setNgModuleScope),[n.type.value,i.toLiteralMap()]),t=bW(e),o=new Im([],[t.toStmt()]);return new fs(o,[]).toStmt()}function iE(n){let i=n.map(e=>Z0(e.type));return n.length>0?ha(Zi(i)):Lc}function sq(n){let i=n.map(e=>Z0(e));return n.length>0?ha(Zi(i)):Lc}function XF(n){let i=[];i.push({key:"name",value:Te(n.pipeName??n.name),quoted:!1}),i.push({key:"type",value:n.type.value,quoted:!1}),i.push({key:"pure",value:Te(n.pure),quoted:!1}),n.isStandalone===!1&&i.push({key:"standalone",value:Te(!1),quoted:!1});let e=Qt(fe.definePipe).callFn([vl(i)],void 0,!0),t=lq(n);return{expression:e,type:t,statements:[]}}function lq(n){return new _l(Qt(fe.PipeDeclarati Line truncated
`+o,i.trim()}_extractUnscopedRulesFromCssText(i){let e="",t;for(KF.lastIndex=0;(t=KF.exec(i))!==null;){let o=t[0].replace(t[2],"").replace(t[1],t[4]);e+=o+`
${e.toSourceMapGenerator(i,h).toJsComment()}`}let p=g5(...a.concat(r));return this.executeFunction(p,c)}executeFunction(i,e){return i(...e)}},mT=class extends cT{refResolver;_evalArgNames=[];_evalArgValues=[];_evalExportedVars=[];constructor(i){super(),this.refResolver=i}createReturnStmt(i){new xr(new Rl(this._evalExportedVars.map(t=>new xh(t,Yn(t),!1)))).visitStatement(this,i)}getArgs(){let i={};for(let e=0;e<this._evalArgNames.length;e++)i[this._evalArgNames[e]]=this._evalArgValues[e];return i}visitExternalExpr(i,e){return this._emitReferenceToExternal(i,this.refResolver.resolveExternalReference(i.value),e),null}visitWrappedNodeExpr(i,e){return this._emitReferenceToExternal(i,i.node,e),null}visitDeclareVarStmt(i,e){return i.hasModifier(oa.Exported)&&this._evalExportedVars.push(i.name),super.visitDeclareVarStmt(i,e)}visitDeclareFunctionStmt(i,e){return i.hasModifier(oa.Exported)&&this._evalExportedVars.push(i.name),super.visitDeclareFunctionStmt(i,e)}_emitReferenceToExternal(i,e,t){let o=this._evalArgValues.indexOf(e);if(o===-1){o=this._evalArgValues.length,this._evalArgValues.push(e);let r=bH({reference:e})||"val";this._evalArgNames.push(`jit_${r}_${o}`)}t.print(i,this._evalArgNames[o])}};function SH(n){return n.isEquivalent(Te("use strict").toStmt())}function _5(n){let i=new dm;n.providers!==null&&i.set("providers",n.providers),n.imports.length>0&&i.set("imports",Gi(n.imports));let e=Ut(fe.defineInjector).callFn([i.toLiteralMap()],void 0,!0),t=wH(n);return{expression:e,type:t,statements:[]}}function wH(n){return new tl(Ut(fe.InjectorDeclaration,[new tl(n.type.type)]))}var pT=class{context;constructor(i){this.context=i}resolveExternalReference(i){if(i.moduleName!=="@angular/core")throw new Error(`Cannot resolve external reference to ${i.moduleName}, only references to @angular/core are supported.`);if(!this.context.hasOwnProperty(i.name))throw new Error(`No value provided for @angular/core symbol '${i.name}'.`);return this.context[i.name]}},T1=(function(n){return n[n.Inline=0]="Inline",n[n.SideEffect=1]="SideEffect",n[n.Omit=2]="Omit",n})(T1||{}),im=(function(n){return n[n.Global=0]="Global",n[n.Local=1]="Local",n})(im||{});function MH(n){let i=[],e=new dm;if(e.set("type",n.type.value),n.kind===im.Global&&n.bootstrap.length>0&&e.set("bootstrap",Ep(n.bootstrap,n.containsForwardDecls)),n.selectorScopeMode===T1.Inline)n.declarations.length>0&&e.set("declarations",Ep(n.declarations,n.containsForwardDecls)),n.imports.length>0&&e.set("imports",Ep(n.imports,n.containsForwardDecls)),n.exports.length>0&&e.set("exports",Ep(n.exports,n.containsForwardDecls));else if(n.selectorScopeMode===T1.SideEffect){let r=EH(n);r!==null&&i.push(r)}n.schemas!==null&&n.schemas.length>0&&e.set("schemas",Gi(n.schemas.map(r=>r.value))),n.id!==null&&(e.set("id",n.id),i.push(Ut(fe.registerNgModuleType).callFn([n.type.value,n.id]).toStmt()));let t=Ut(fe.defineNgModule).callFn([e.toLiteralMap()],void 0,!0),o=TH(n);return{expression:t,type:o,statements:i}}function kH(n){let i=new dm;return i.set("type",new oi(n.type)),n.bootstrap!==void 0&&i.set("bootstrap",new oi(n.bootstrap)),n.declarations!==void 0&&i.set("declarations",new oi(n.declarations)),n.imports!==void 0&&i.set("imports",new oi(n.imports)),n.exports!==void 0&&i.set("exports",new oi(n.exports)),n.schemas!==void 0&&i.set("schemas",new oi(n.schemas)),n.id!==void 0&&i.set("id",new oi(n.id)),Ut(fe.defineNgModule).callFn([i.toLiteralMap()])}function TH(n){if(n.kind===im.Local)return new tl(n.type.value);let{type:i,declarations:e,exports:t,imports:o,includeImportTypes:r,publicDeclarationTypes:a}=n;return new tl(Ut(fe.NgModuleDeclaration,[new tl(i.type),a===null?fk(e):DH(a),r?fk(o):yc,fk(t)]))}function EH(n){let i=new dm;if(n.kind===im.Global?n.declarations.length>0&&i.set("declarations",Ep(n.declarations,n.containsForwardDecls)):n.declarationsExpression&&i.set("declarations",n.declarationsExpression),n.kind===im.Global?n.imports.length>0&&i.set("imports",Ep(n.imports,n.containsForwardDecls)):n.importsExpression&&i.set("imports",n.importsExpression),n.kind===im.Global?n.exports.length>0&&i.set("exports",Ep(n.exports,n.containsForwardDecls)):n.exportsExpression&&i.set("exports",n.exportsExpression),n.kind===im.Local&&n.bootstrapExpression&&i.set("bootstrap",n.bootstrapExpression),Object.keys(i.values).length===0)return null;let e=new os(Ut(fe.setNgModuleScope),[n.type.value,i.toLiteralMap()]),t=$$(e),o=new om([],[t.toStmt()]);return new os(o,[]).toStmt()}function fk(n){let i=n.map(e=>r0(e.type));return n.length>0?ra(Gi(i)):yc}function DH(n){let i=n.map(e=>r0(e));return n.length>0?ra(Gi(i)):yc}function v5(n){let i=[];i.push({key:"name",value:Te(n.pipeName??n.name),quoted:!1}),i.push({key:"type",value:n.type.value,quoted:!1}),i.push({key:"pure",value:Te(n.pure),quoted:!1}),n.isStandalone===!1&&i.push({key:"standalone",value:Te(!1),quoted:!1});let e=Ut(fe.definePipe).callFn([nl(i)],void 0,!0),t=PH(n);return{expression:e,type:t,statements:[]}}function PH(n){return new tl(Ut(fe.PipeDeclarati Line truncated
`+o,i.trim()}_extractUnscopedRulesFromCssText(i){let e="",t;for(C5.lastIndex=0;(t=C5.exec(i))!==null;){let o=t[0].replace(t[2],"").replace(t[1],t[4]);e+=o+`
`}return e}_convertColonHost(i){return i.replace(_q,(e,t,o)=>{if(t){let r=[];for(let a of this._splitOnTopLevelCommas(t,!0)){let c=a.trim();if(!c)break;let p=km+c.replace(jb,"")+o;r.push(p)}return r.join(",")}else return km+o})}*_splitOnTopLevelCommas(i,e){let t=i.length,o=0,r=0;for(let a=0;a<t;a++){let c=i.charCodeAt(a);if(c===Qa)o++;else if(c===kr){if(o--,o<0&&e){yield i.slice(r,a);return}}else c===Ta&&o===0&&(yield i.slice(r,a),r=a+1)}yield i.slice(r)}_convertColonHostContext(i){let e=[];for(let t of this._splitOnTopLevelCommas(i,!1))e.push(this._convertColonHostContextInSelectorPart(t));return e.join(",")}_convertColonHostContextInSelectorPart(i){return i.replace(Cq,(e,t)=>{let o=[[]],r=e.indexOf(Vh);for(;r!==-1;){let a=e.substring(r+Vh.length);if(!a||a[0]!=="("){e=a,r=e.indexOf(Vh);continue}let c=[],p=0;for(let h of this._splitOnTopLevelCommas(a.substring(1),!0)){p=p+h.length+1;let g=h.trim();g&&c.push(g)}let u=o.length;Vq(o,c.length);for(let h=0;h<c.length;h++)for(let g=0;g<u;g++)o[g+h*u].push(c[h]);e=a.substring(p+1),r=e.indexOf(Vh)}return o.map(a=>Bq(a,e,t)).join(", ")})}_convertShadowDOMSelectors(i){return xq.reduce((e,t)=>e.replace(t," "),i)}_scopeSelectors(i,e,t){return G1(i,o=>{let r=o.selector,a=o.content;return o.selector[0]!=="@"?r=this._scopeSelector({selector:r,scopeSelector:e,hostSelector:t,isParentSelector:!0}):dq.some(c=>o.selector.startsWith(c))?a=this._scopeSelectors(o.content,e,t):(o.selector.startsWith("@font-face")||o.selector.startsWith("@page"))&&(a=this._stripScopingSelectors(o.content)),new N0(r,a)})}_stripScopingSelectors(i){return G1(i,e=>{let t=e.selector.replace(YF," ").replace(oE," ");return new N0(t,e.content)})}_safeSelector;_shouldScopeIndicator;_scopeSelector({selector:i,scopeSelector:e,hostSelector:t,isParentSelector:o=!1}){let r=/ ?,(?!(?:[^)(]*(?:\([^)(]*(?:\([^)(]*(?:\([^)(]*\)[^)(]*)*\)[^)(]*)*\)[^)(]*)*\))) ?/;return i.split(r).map(a=>a.split(YF)).map(a=>{let[c,...p]=a;return[(h=>this._selectorNeedsScoping(h,e)?this._applySelectorScope({selector:h,scopeSelector:e,hostSelector:t,isParentSelector:o}):h)(c),...p].join(" ")}).join(", ")}_selectorNeedsScoping(i,e){return!this._makeScopeMatcher(e).test(i)}_makeScopeMatcher(i){let e=/\[/g,t=/\]/g;return i=i.replace(e,"\\[").replace(t,"\\]"),new RegExp("^("+i+")"+yq,"m")}_applySimpleSelectorScope(i,e,t){if(Hh.lastIndex=0,Hh.test(i)){let o=`[${t}]`,r=i;for(;r.match(oE);)r=r.replace(oE,(a,c)=>c.replace(/([^:\)]*)(:*)(.*)/,(p,u,h,g)=>u+o+h+g));return r.replace(Hh,o)}return e+" "+i}_applySelectorScope({selector:i,scopeSelector:e,hostSelector:t,isParentSelector:o}){let r=/\[is=([^\]]*)\]/g;e=e.replace(r,(M,...w)=>w[0]);let a=`[${e}]`,c=M=>{let w=M.trim();if(!w)return M;if(M.includes(km)){if(w=this._applySimpleSelectorScope(M,e,t),!M.match(bq)){let[y,k,I,D]=w.match(/([^:]*)(:*)([\s\S]*)/);w=k+a+I+D}}else{let y=M.replace(Hh,"");if(y.length>0){let k=y.match(/([^:]*)(:*)([\s\S]*)/);k&&(w=k[1]+a+k[2]+k[3])}}return w},p=M=>{let w="",y=[],k;for(;(k=A_.exec(M))!==null;){let I=1,D=A_.lastIndex;for(;D<M.length;){let N=M[D];if(D++,N==="("){I++;continue}if(N===")"){if(I--,I===0)break;continue}}y.push(`${k[0]}${M.slice(A_.lastIndex,D)}`),A_.lastIndex=D}return y.join("")===M?w=y.map(I=>{let[D]=I.match(A_)??[],N=I.slice(D?.length,-1);N.includes(km)&&(this._shouldScopeIndicator=!0);let P=this._scopeSelector({selector:N,scopeSelector:e,hostSelector:t});return`${D}${P})`}).join(""):(this._shouldScopeIndicator=this._shouldScopeIndicator||M.includes(km),w=this._shouldScopeIndicator?c(M):M),w};o&&(this._safeSelector=new nD(i),i=this._safeSelector.content());let u="",h=0,g,S=/( |>|\+|~(?!=))(?!([^)(]*(?:\([^)(]*(?:\([^)(]*(?:\([^)(]*\)[^)(]*)*\)[^)(]*)*\)[^)(]*)*\)))\s*/g,x=i.includes(km);for((o||this._shouldScopeIndicator)&&(this._shouldScopeIndicator=!x);(g=S.exec(i))!==null;){let M=g[1],w=i.slice(h,g.index);if(w.match(/__esc-ph-(\d+)__/)&&i[g.index+1]?.match(/[a-fA-F\d]/))continue;let y=p(w);u+=`${y} ${M} `,h=S.lastIndex}let C=i.substring(h);return u+=p(C),this._safeSelector.restore(u)}_insertPolyfillHostInCssText(i){return i.replace(wq,Vh).replace(Sq,jb)}},nD=class{placeholders=[];index=0;_content;constructor(i){i=this._escapeRegexMatches(i,/(\[[^\]]*\])/g),i=i.replace(/(\\.)/g,(e,t)=>{let o=`__esc-ph-${this.index}__`;return this.placeholders.push(t),this.index++,o}),this._content=i.replace(gq,(e,t,o)=>{let r=`__ph-${this.index}__`;return this.placeholders.push(`(${o})`),this.index++,t+r})}restore(i){return i.replace(/__(?:ph|esc-ph)-(\d+)__/g,(e,t)=>this.placeholders[+t])}content(){return this._content}_escapeRegexMatches(i,e){return i.replace(e,(t,o)=>{let r=`__ph-${this.index}__`;return this.placeholders.push(o),this.index++,r})}},mq="(:(where|is)\\()?",A_=/:(where|is)\(/gi,pq=/polyfill-next-selector[^}]*content:[\s]*?(['"])(.*?)\1[;\s]*}([^{]*?){/gim,uq=/(polyfill-rule)[^}]*(content:[\s]*(['"])(.*?)\3)[;\s]*[^}]*}/gim,KF=/(polyfill-unscoped-rule)[^}]*(content:[\s]*(['"])(.*?)\3)[;\s]*[^}]*}/gim,jb="-shadowcsshost",Vh="-shadowcsscontext",iD Line truncated
`,Nfr:"\u{1D511}",NoBreak:"\u2060",NonBreakingSpace:"\xA0",nbsp:"\xA0",Nopf:"\u2115",naturals:"\u2115",Not:"\u2AEC",NotCongruent:"\u2262",nequiv:"\u2262",NotCupCap:"\u226D",NotDoubleVerticalBar:"\u2226",npar:"\u2226",nparallel:"\u2226",nshortparallel:"\u2226",nspar:"\u2226",NotElement:"\u2209",notin:"\u2209",notinva:"\u2209",NotEqual:"\u2260",ne:"\u2260",NotEqualTilde:"\u2242\u0338",nesim:"\u2242\u0338",NotExists:"\u2204",nexist:"\u2204",nexists:"\u2204",NotGreater:"\u226F",ngt:"\u226F",ngtr:"\u226F",NotGreaterEqual:"\u2271",nge:"\u2271",ngeq:"\u2271",NotGreaterFullEqual:"\u2267\u0338",ngE:"\u2267\u0338",ngeqq:"\u2267\u0338",NotGreaterGreater:"\u226B\u0338",nGtv:"\u226B\u0338",NotGreaterLess:"\u2279",ntgl:"\u2279",NotGreaterSlantEqual:"\u2A7E\u0338",ngeqslant:"\u2A7E\u0338",nges:"\u2A7E\u0338",NotGreaterTilde:"\u2275",ngsim:"\u2275",NotHumpDownHump:"\u224E\u0338",nbump:"\u224E\u0338",NotHumpEqual:"\u224F\u0338",nbumpe:"\u224F\u0338",NotLeftTriangle:"\u22EA",nltri:"\u22EA",ntriangleleft:"\u22EA",NotLeftTriangleBar:"\u29CF\u0338",NotLeftTriangleEqual:"\u22EC",nltrie:"\u22EC",ntrianglelefteq:"\u22EC",NotLess:"\u226E",nless:"\u226E",nlt:"\u226E",NotLessEqual:"\u2270",nle:"\u2270",nleq:"\u2270",NotLessGreater:"\u2278",ntlg:"\u2278",NotLessLess:"\u226A\u0338",nLtv:"\u226A\u0338",NotLessSlantEqual:"\u2A7D\u0338",nleqslant:"\u2A7D\u0338",nles:"\u2A7D\u0338",NotLessTilde:"\u2274",nlsim:"\u2274",NotNestedGreaterGreater:"\u2AA2\u0338",NotNestedLessLess:"\u2AA1\u0338",NotPrecedes:"\u2280",npr:"\u2280",nprec:"\u2280",NotPrecedesEqual:"\u2AAF\u0338",npre:"\u2AAF\u0338",npreceq:"\u2AAF\u0338",NotPrecedesSlantEqual:"\u22E0",nprcue:"\u22E0",NotReverseElement:"\u220C",notni:"\u220C",notniva:"\u220C",NotRightTriangle:"\u22EB",nrtri:"\u22EB",ntriangleright:"\u22EB",NotRightTriangleBar:"\u29D0\u0338",NotRightTriangleEqual:"\u22ED",nrtrie:"\u22ED",ntrianglerighteq:"\u22ED",NotSquareSubset:"\u228F\u0338",NotSquareSubsetEqual:"\u22E2",nsqsube:"\u22E2",NotSquareSuperset:"\u2290\u0338",NotSquareSupersetEqual:"\u22E3",nsqsupe:"\u22E3",NotSubset:"\u2282\u20D2",nsubset:"\u2282\u20D2",vnsub:"\u2282\u20D2",NotSubsetEqual:"\u2288",nsube:"\u2288",nsubseteq:"\u2288",NotSucceeds:"\u2281",nsc:"\u2281",nsucc:"\u2281",NotSucceedsEqual:"\u2AB0\u0338",nsce:"\u2AB0\u0338",nsucceq:"\u2AB0\u0338",NotSucceedsSlantEqual:"\u22E1",nsccue:"\u22E1",NotSucceedsTilde:"\u227F\u0338",NotSuperset:"\u2283\u20D2",nsupset:"\u2283\u20D2",vnsup:"\u2283\u20D2",NotSupersetEqual:"\u2289",nsupe:"\u2289",nsupseteq:"\u2289",NotTilde:"\u2241",nsim:"\u2241",NotTildeEqual:"\u2244",nsime:"\u2244",nsimeq:"\u2244",NotTildeFullEqual:"\u2247",ncong:"\u2247",NotTildeTilde:"\u2249",nap:"\u2249",napprox:"\u2249",NotVerticalBar:"\u2224",nmid:"\u2224",nshortmid:"\u2224",nsmid:"\u2224",Nscr:"\u{1D4A9}",Ntilde:"\xD1",Nu:"\u039D",OElig:"\u0152",Oacute:"\xD3",Ocirc:"\xD4",Ocy:"\u041E",Odblac:"\u0150",Ofr:"\u{1D512}",Ograve:"\xD2",Omacr:"\u014C",Omega:"\u03A9",ohm:"\u03A9",Omicron:"\u039F",Oopf:"\u{1D546}",OpenCurlyDoubleQuote:"\u201C",ldquo:"\u201C",OpenCurlyQuote:"\u2018",lsquo:"\u2018",Or:"\u2A54",Oscr:"\u{1D4AA}",Oslash:"\xD8",Otilde:"\xD5",Otimes:"\u2A37",Ouml:"\xD6",OverBar:"\u203E",oline:"\u203E",OverBrace:"\u23DE",OverBracket:"\u23B4",tbrk:"\u23B4",OverParenthesis:"\u23DC",PartialD:"\u2202",part:"\u2202",Pcy:"\u041F",Pfr:"\u{1D513}",Phi:"\u03A6",Pi:"\u03A0",PlusMinus:"\xB1",plusmn:"\xB1",pm:"\xB1",Popf:"\u2119",primes:"\u2119",Pr:"\u2ABB",Precedes:"\u227A",pr:"\u227A",prec:"\u227A",PrecedesEqual:"\u2AAF",pre:"\u2AAF",preceq:"\u2AAF",PrecedesSlantEqual:"\u227C",prcue:"\u227C",preccurlyeq:"\u227C",PrecedesTilde:"\u227E",precsim:"\u227E",prsim:"\u227E",Prime:"\u2033",Product:"\u220F",prod:"\u220F",Proportional:"\u221D",prop:"\u221D",propto:"\u221D",varpropto:"\u221D",vprop:"\u221D",Pscr:"\u{1D4AB}",Psi:"\u03A8",QUOT:'"',quot:'"',Qfr:"\u{1D514}",Qopf:"\u211A",rationals:"\u211A",Qscr:"\u{1D4AC}",RBarr:"\u2910",drbkarow:"\u2910",REG:"\xAE",circledR:"\xAE",reg:"\xAE",Racute:"\u0154",Rang:"\u27EB",Rarr:"\u21A0",twoheadrightarrow:"\u21A0",Rarrtl:"\u2916",Rcaron:"\u0158",Rcedil:"\u0156",Rcy:"\u0420",Re:"\u211C",Rfr:"\u211C",real:"\u211C",realpart:"\u211C",ReverseElement:"\u220B",SuchThat:"\u220B",ni:"\u220B",niv:"\u220B",ReverseEquilibrium:"\u21CB",leftrightharpoons:"\u21CB",lrhar:"\u21CB",ReverseUpEquilibrium:"\u296F",duhar:"\u296F",Rho:"\u03A1",RightAngleBracket:"\u27E9",rang:"\u27E9",rangle:"\u27E9",RightArrow:"\u2192",ShortRightArrow:"\u2192",rarr:"\u2192",rightarrow:"\u2192",srarr:"\u2192",RightArrowBar:"\u21E5",rarrb:"\u21E5",RightArrowLeftArrow:"\u21C4",rightleftarrows:"\u21C4",rlarr:"\u21C4",RightCeiling:"\u2309",rceil:"\u2309",RightDoubleBracket:"\u27E7",robrk:"\u27E7",RightDownTeeVector:"\u295D",RightDownVector:"\u21C2",dharr:"\u21C2",downharpoonright:"\u21C2",RightDownVectorBar:"\u2955",RightFloor:"\u230B",rfloor:"\u230B",RightTee:"\u22A2",vdash:"\u22A2",RightTeeArrow:"\u21A6",map:"\u21A6",mapsto:"\u21A6",RightTeeVector:"\u295B",RightTriangle:"\u22B3",vartriangleright:"\u22B3",v Line truncated
`)}tokenize(){for(;this._cursor.peek()!==Jr;){let i=this._cursor.clone();try{this._attemptCharCode(Qh)?this._attemptCharCode(XE)?this._attemptCharCode(Fc)?this._consumeCdata(i):this._attemptCharCode(Lb)?this._consumeComment(i):this._consumeDocType(i):this._attemptCharCode(dl)?this._consumeTagClose(i):this._consumeTagOpen(i):this._tokenizeLet&&this._cursor.peek()===Oh&&!this._inInterpolation&&this._isLetStart()?this._consumeLetDeclaration(i):this._tokenizeBlocks&&this._isBlockStart()?this._consumeBlockStart(i):this._tokenizeBlocks&&!this._inInterpolation&&!this._isInExpansionCase()&&!this._isInExpansionForm()&&this._attemptCharCode(Wa)?this._consumeBlockEnd(i):this._tokenizeIcu&&this._tokenizeExpansionForm()||this._consumeWithInterpolation(5,8,()=>this._isTextEnd(),()=>this._isTagStart())}catch(e){this.handleError(e)}}this._beginToken(41),this._endToken([])}_getBlockName(){let i=!1,e=this._cursor.clone();return this._attemptCharCodeUntilFn(t=>A0(t)?!i:FX(t)?(i=!0,!1):!0),this._cursor.getChars(e).trim()}_consumeBlockStart(i){this._requireCharCode(Oh),this._beginToken(24,i);let e=this._endToken([this._getBlockName()]);if(e.parts[0]==="default never"&&this._attemptCharCode(ms)){this._beginToken(25),this._endToken([]),this._beginToken(26),this._endToken([]);return}if(this._cursor.peek()===Qa)if(this._cursor.advance(),this._consumeBlockParameters(),this._attemptCharCodeUntilFn(zo),this._attemptCharCode(kr))this._attemptCharCodeUntilFn(zo);else{e.type=28;return}this._attemptCharCode(ul)?(this._beginToken(25),this._endToken([])):this._isBlockStart()&&(e.parts[0]==="case"||e.parts[0]==="default")?(this._beginToken(25),this._endToken([]),this._beginToken(26),this._endToken([])):e.type=28}_consumeBlockEnd(i){this._beginToken(26,i),this._endToken([])}_consumeBlockParameters(){for(this._attemptCharCodeUntilFn(fR);this._cursor.peek()!==kr&&this._cursor.peek()!==Jr;){this._beginToken(27);let i=this._cursor.clone(),e=null,t=0;for(;this._cursor.peek()!==ms&&this._cursor.peek()!==Jr||e!==null;){let o=this._cursor.peek();if(o===du)this._cursor.advance();else if(o===e)e=null;else if(e===null&&Q_(o))e=o;else if(o===Qa&&e===null)t++;else if(o===kr&&e===null){if(t===0)break;t>0&&t--}this._cursor.advance()}this._endToken([this._cursor.getChars(i)]),this._attemptCharCodeUntilFn(fR)}}_consumeLetDeclaration(i){if(this._requireStr("@let"),this._beginToken(29,i),A0(this._cursor.peek()))this._attemptCharCodeUntilFn(zo);else{let o=this._endToken([this._cursor.getChars(i)]);o.type=32;return}let e=this._endToken([this._getLetDeclarationName()]);if(this._attemptCharCodeUntilFn(zo),!this._attemptCharCode(Yr)){e.type=32;return}this._attemptCharCodeUntilFn(o=>zo(o)&&!Bb(o)),this._consumeLetDeclarationValue(),this._cursor.peek()===ms?(this._beginToken(31),this._endToken([]),this._cursor.advance()):(e.type=32,e.sourceSpan=this._cursor.getSpan(i))}_getLetDeclarationName(){let i=this._cursor.clone(),e=!1;return this._attemptCharCodeUntilFn(t=>Bm(t)||t===_x||t===Um||e&&ml(t)?(e=!0,!1):!0),this._cursor.getChars(i).trim()}_consumeLetDeclarationValue(){let i=this._cursor.clone();for(this._beginToken(30,i);this._cursor.peek()!==Jr;){let e=this._cursor.peek();if(e===ms)break;Q_(e)&&(this._cursor.advance(),this._attemptCharCodeUntilFn(t=>t===du?(this._cursor.advance(),!1):t===e)),this._cursor.advance()}this._endToken([this._cursor.getChars(i)])}_tokenizeExpansionForm(){if(this.isExpansionFormStart())return this._consumeExpansionFormStart(),!0;if(OX(this._cursor.peek())&&this._isInExpansionForm())return this._consumeExpansionCaseStart(),!0;if(this._cursor.peek()===Wa){if(this._isInExpansionCase())return this._consumeExpansionCaseEnd(),!0;if(this._isInExpansionForm())return this._consumeExpansionFormEnd(),!0}return!1}_beginToken(i,e=this._cursor.clone()){this._currentTokenStart=e,this._currentTokenType=i}_endToken(i,e){if(this._currentTokenStart===null)throw new cn(this._cursor.getSpan(e),"Programming error - attempted to end a token when there was no start to the token");if(this._currentTokenType===null)throw new cn(this._cursor.getSpan(this._currentTokenStart),"Programming error - attempted to end a token which has no token type");let t={type:this._currentTokenType,parts:i,sourceSpan:(e??this._cursor).getSpan(this._currentTokenStart,this._leadingTriviaCodePoints)};return this.tokens.push(t),this._currentTokenStart=null,this._currentTokenType=null,t}_createError(i,e){this._isInExpansionForm()&&(i+=` (Do you have an unescaped "{" in your template? Use "{{ '{' }}") to escape it.)`);let t=new cn(e,i);return this._currentTokenStart=null,this._currentTokenType=null,t}handleError(i){if(i instanceof W0&&(i=this._createError(i.msg,this._cursor.getSpan(i.cursor))),i instanceof cn)this.errors.push(i);else throw i}_attemptCharCode(i){return this._cursor.peek()===i?(this._cursor.advance(),!0):!1}_attemptCharCodeCaseInsensitive(i){return NX(this._cursor.peek(),i)?(this._cursor.advance(),!0):!1}_requireCharCode(i){let e=this._cursor.clone();if(!this._attemptCharCode(i Line truncated
`){let r=this._getContainer();r!=null&&r.children.length===0&&this._getTagDefinition(r)?.ignoreFirstLf&&(o=o.substring(1),e[0]={type:i.type,sourceSpan:i.sourceSpan,parts:[o]})}for(;this._peek.type===8||this._peek.type===5||this._peek.type===9;)i=this._advance(),e.push(i),i.type===8?o+=i.parts.join("").replace(/&([^;]+);/g,CR):i.type===9?o+=i.parts[0]:o+=i.parts.join("");if(o.length>0){let r=i.sourceSpan;this._addToParent(new Du(o,new xn(t.start,r.end,t.fullStart,t.details),e))}}_closeVoidElement(){let i=this._getContainer();i!==null&&this._getTagDefinition(i)?.isVoid&&this._containerStack.pop()}_consumeElementStartTag(i){let e=[],t=[];this._consumeAttributesAndDirectives(e,t);let o=this._getElementFullName(i,this._getClosestElementLikeParent()),r=this._getTagDefinition(o),a=!1;this._peek.type===2?(this._advance(),a=!0,r?.canSelfClose||BE(o)!==null||r?.isVoid||this.errors.push(gr.create(o,i.sourceSpan,`Only void, custom and foreign elements can be self closed "${i.parts[1]}"`))):this._peek.type===1&&(this._advance(),a=!1);let c=this._peek.sourceSpan.fullStart,p=new xn(i.sourceSpan.start,c,i.sourceSpan.fullStart),u=new xn(i.sourceSpan.start,c,i.sourceSpan.fullStart),h=new cl(o,e,t,[],a,p,u,void 0,r?.isVoid??!1),g=this._getContainer(),S=g!==null&&!!this._getTagDefinition(g)?.isClosedByChild(h.name);this._pushContainer(h,S),a?this._popContainer(o,cl,p):i.type===4&&(this._popContainer(o,cl,null),this.errors.push(gr.create(o,p,`Opening tag "${o}" not terminated.`)))}_consumeComponentStartTag(i){let e=i.parts[0],t=[],o=[];this._consumeAttributesAndDirectives(t,o);let r=this._getClosestElementLikeParent(),a=this._getComponentTagName(i,r),c=this._getComponentFullName(i,r),p=this._peek.type===35;this._advance();let u=this._peek.sourceSpan.fullStart,h=new xn(i.sourceSpan.start,u,i.sourceSpan.fullStart),g=new xn(i.sourceSpan.start,u,i.sourceSpan.fullStart),S=new Ga(e,a,c,t,o,[],p,h,g,void 0),x=this._getContainer(),C=x!==null&&S.tagName!==null&&!!this._getTagDefinition(x)?.isClosedByChild(S.tagName);this._pushContainer(S,C),p?this._popContainer(c,Ga,h):i.type===37&&(this._popContainer(c,Ga,null),this.errors.push(gr.create(c,h,`Opening tag "${c}" not terminated.`)))}_consumeAttributesAndDirectives(i,e){for(;this._peek.type===14||this._peek.type===38;)this._peek.type===38?e.push(this._consumeDirective(this._peek)):i.push(this._consumeAttr(this._advance()))}_consumeComponentEndTag(i){let e=this._getComponentFullName(i,this._getClosestElementLikeParent());if(!this._popContainer(e,Ga,i.sourceSpan)){let t=this._containerStack[this._containerStack.length-1],o;t instanceof Ga&&t.componentName===i.parts[0]?o=`, did you mean "${t.fullName}"?`:o=". It may happen when the tag has already been closed by another tag.";let r=`Unexpected closing tag "${e}"${o}`;this.errors.push(gr.create(e,i.sourceSpan,r))}}_getTagDefinition(i){return typeof i=="string"?this.tagDefinitionResolver(i):i instanceof cl?this.tagDefinitionResolver(i.name):i instanceof Ga&&i.tagName!==null?this.tagDefinitionResolver(i.tagName):null}_pushContainer(i,e){e&&this._containerStack.pop(),this._addToParent(i),this._containerStack.push(i)}_consumeElementEndTag(i){let e=this._getElementFullName(i,this._getClosestElementLikeParent());if(this._getTagDefinition(e)?.isVoid)this.errors.push(gr.create(e,i.sourceSpan,`Void elements do not have end tags "${i.parts[1]}"`));else if(!this._popContainer(e,cl,i.sourceSpan)){let t=`Unexpected closing tag "${e}". It may happen when the tag has already been closed by another tag. For more info see https://www.w3.org/TR/html5/syntax.html#closing-elements-that-have-implied-end-tags`;this.errors.push(gr.create(e,i.sourceSpan,t))}}_popContainer(i,e,t){let o=!1;for(let r=this._containerStack.length-1;r>=0;r--){let a=this._containerStack[r];if(((a instanceof Ga?a.fullName:a.name)===i||i===null)&&a instanceof e)return a.endSourceSpan=t,a.sourceSpan.end=t!==null?t.end:a.sourceSpan.end,this._containerStack.splice(r,this._containerStack.length-r),!o;(a instanceof pl||!this._getTagDefinition(a)?.closedByParent)&&(o=!0)}return!1}_consumeAttr(i){let e=ib(i.parts[0],i.parts[1]),t=i.sourceSpan.end;this._peek.type===15&&this._advance();let o="",r=[],a,c;if(this._peek.type===16)for(a=this._peek.sourceSpan,c=this._peek.sourceSpan.end;this._peek.type===16||this._peek.type===17||this._peek.type===9;){let h=this._advance();r.push(h),h.type===17?o+=h.parts.join("").replace(/&([^;]+);/g,CR):h.type===9?o+=h.parts[0]:o+=h.parts.join(""),c=t=h.sourceSpan.end}this._peek.type===15&&(t=this._advance().sourceSpan.end);let u=a&&c&&new xn(a.start,c,a.fullStart);return new uD(e,o,new xn(i.sourceSpan.start,t,i.sourceSpan.fullStart),i.sourceSpan,u,r.length>0?r:void 0,void 0)}_consumeDirective(i){let e=[],t=i.sourceSpan.end,o=null;if(this._advance(),this._peek.type===39){for(t=this._peek.sourceSpan.end,this._advance();this._peek.type===14;)e.push(this._consumeAttr(this._advance()));this._peek.type===40?(o=this._peek.sourceSpan,this._advance()):this.errors.push(gr.creat Line truncated
\r \v\u1680\u180E\u2000-\u200A\u2028\u2029\u202F\u205F\u3000\uFEFF`,BX=new RegExp(`[^${p8}]`),VX=new RegExp(`[${p8}]{2,}`,"g");function xR(n){return n.some(i=>i.name===m8)}function u8(n){return n.replace(new RegExp(d8,"g")," ")}var ix=class{preserveSignificantWhitespace;originalNodeMap;requireContext;icuExpansionDepth=0;constructor(i,e,t=!0){this.preserveSignificantWhitespace=i,this.originalNodeMap=e,this.requireContext=t}visitElement(i,e){if(bR.has(i.name)||xR(i.attrs)){let o=new cl(i.name,Ec(this,i.attrs),Ec(this,i.directives),i.children,i.isSelfClosing,i.sourceSpan,i.startSourceSpan,i.endSourceSpan,i.isVoid,i.i18n);return this.originalNodeMap?.set(o,i),o}let t=new cl(i.name,i.attrs,i.directives,Ec(this,i.children),i.isSelfClosing,i.sourceSpan,i.startSourceSpan,i.endSourceSpan,i.isVoid,i.i18n);return this.originalNodeMap?.set(t,i),t}visitAttribute(i,e){return i.name!==m8?i:null}visitText(i,e){let t=i.value.match(BX),o=e&&(e.prev instanceof mu||e.next instanceof mu);if(this.icuExpansionDepth>0&&this.preserveSignificantWhitespace)return i;if(t||o){let a=i.tokens.map(h=>h.type===5?HX(h):h);if(!this.preserveSignificantWhitespace&&a.length>0){let h=a[0];a.splice(0,1,zX(h,e));let g=a[a.length-1];a.splice(a.length-1,1,jX(g,e))}let c=f8(i.value),p=this.preserveSignificantWhitespace?c:$X(c,e),u=new Du(p,i.sourceSpan,a,i.i18n);return this.originalNodeMap?.set(u,i),u}return null}visitComment(i,e){return i}visitExpansion(i,e){this.icuExpansionDepth++;let t;try{t=new mu(i.switchValue,i.type,Ec(this,i.cases),i.sourceSpan,i.switchValueSourceSpan,i.i18n)}finally{this.icuExpansionDepth--}return this.originalNodeMap?.set(t,i),t}visitExpansionCase(i,e){let t=new Zb(i.value,Ec(this,i.expression),i.sourceSpan,i.valueSourceSpan,i.expSourceSpan);return this.originalNodeMap?.set(t,i),t}visitBlock(i,e){let t=new pl(i.name,i.parameters,Ec(this,i.children),i.sourceSpan,i.nameSpan,i.startSourceSpan,i.endSourceSpan);return this.originalNodeMap?.set(t,i),t}visitBlockParameter(i,e){return i}visitLetDeclaration(i,e){return i}visitComponent(i,e){if(i.tagName&&bR.has(i.tagName)||xR(i.attrs)){let o=new Ga(i.componentName,i.tagName,i.fullName,Ec(this,i.attrs),Ec(this,i.directives),i.children,i.isSelfClosing,i.sourceSpan,i.startSourceSpan,i.endSourceSpan,i.i18n);return this.originalNodeMap?.set(o,i),o}let t=new Ga(i.componentName,i.tagName,i.fullName,i.attrs,i.directives,Ec(this,i.children),i.isSelfClosing,i.sourceSpan,i.startSourceSpan,i.endSourceSpan,i.i18n);return this.originalNodeMap?.set(t,i),t}visitDirective(i,e){return i}visit(i,e){if(this.requireContext&&!e)throw new Error("WhitespaceVisitor requires context. Visit via `visitAllWithSiblings` to get this context.");return!1}};function zX(n,i){return n.type!==5||!!i?.prev?n:h8(n,t=>t.trimStart())}function jX(n,i){return n.type!==5||!!i?.next?n:h8(n,t=>t.trimEnd())}function $X(n,i){let e=!i?.prev,t=!i?.next,o=e?n.trimStart():n;return t?o.trimEnd():o}function HX({type:n,parts:i,sourceSpan:e}){return{type:n,parts:[f8(i[0])],sourceSpan:e}}function h8({type:n,parts:i,sourceSpan:e},t){return{type:n,parts:[t(i[0])],sourceSpan:e}}function f8(n){return u8(n).replace(VX," ")}function Ec(n,i){let e=[];return i.forEach((t,o)=>{let r={prev:i[o-1],next:i[o+1]},a=t.visit(n,r);a&&e.push(a)}),e}var _n=(function(n){return n[n.Character=0]="Character",n[n.Identifier=1]="Identifier",n[n.PrivateIdentifier=2]="PrivateIdentifier",n[n.Keyword=3]="Keyword",n[n.String=4]="String",n[n.Operator=5]="Operator",n[n.Number=6]="Number",n[n.RegExpBody=7]="RegExpBody",n[n.RegExpFlags=8]="RegExpFlags",n[n.Error=9]="Error",n})(_n||{}),pu=(function(n){return n[n.Plain=0]="Plain",n[n.TemplateLiteralPart=1]="TemplateLiteralPart",n[n.TemplateLiteralEnd=2]="TemplateLiteralEnd",n})(pu||{}),UX=["var","let","as","null","undefined","true","false","if","else","this","typeof","void","in","instanceof"],q0=class{tokenize(i){return new bD(i).scan()}},Gs=class{index;end;type;numValue;strValue;constructor(i,e,t,o,r){this.index=i,this.end=e,this.type=t,this.numValue=o,this.strValue=r}isCharacter(i){return this.type===_n.Character&&this.numValue===i}isNumber(){return this.type===_n.Number}isString(){return this.type===_n.String}isOperator(i){return this.type===_n.Operator&&this.strValue===i}isIdentifier(){return this.type===_n.Identifier}isPrivateIdentifier(){return this.type===_n.PrivateIdentifier}isKeyword(){return this.type===_n.Keyword}isKeywordLet(){return this.type===_n.Keyword&&this.strValue==="let"}isKeywordAs(){return this.type===_n.Keyword&&this.strValue==="as"}isKeywordNull(){return this.type===_n.Keyword&&this.strValue==="null"}isKeywordUndefined(){return this.type===_n.Keyword&&this.strValue==="undefined"}isKeywordTrue(){return this.type===_n.Keyword&&this.strValue==="true"}isKeywordFalse(){return this.type===_n.Keyword&&this.strValue==="false"}isKeywordThis(){return this.type===_n.Keyword&&this.strValue==="this"}isKeywordTypeof(){return this.type===_n.Keyword&&this.strValue==="typeof"}isKeywordVoid(){return this.type===_n.Ke Line truncated
If '${i}' is a directive input, make sure the directive is imported by the current module.`}:{error:!1}}validateAttribute(i){return i.toLowerCase().startsWith("on")?{error:!0,msg:`Binding to event attribute '${i}' is disallowed for security reasons, please use (${i.slice(2)})=...`}:{error:!1}}allKnownElementNames(){return Array.from(this._schema.keys())}allKnownAttributesOfElement(i){let e=this._schema.get(i.toLowerCase())||this._schema.get("unknown");return Array.from(e.keys()).map(t=>mK.get(t)??t)}allKnownEventsOfElement(i){return Array.from(this._eventSchema.get(i.toLowerCase())??[])}normalizeAnimationStyleProperty(i){return sW(i)}normalizeAnimationStyleValue(i,e,t){let o="",r=t.toString().trim(),a=null;if(pK(i)&&t!==0&&t!=="0")if(typeof t=="number")o="px";else{let c=t.match(/^[+-]?[\d\.]+([a-z]*)$/);c&&c[1].length==0&&(a=`Please provide a CSS unit value for ${e}:${t}`)}return{error:a,value:r+o}}};function pK(n){switch(n){case"width":case"height":case"minWidth":case"minHeight":case"maxWidth":case"maxHeight":case"left":case"top":case"bottom":case"right":case"fontSize":case"outlineWidth":case"outlineOffset":case"paddingTop":case"paddingLeft":case"paddingBottom":case"paddingRight":case"marginTop":case"marginLeft":case"marginBottom":case"marginRight":case"borderRadius":case"borderWidth":case"borderTopWidth":case"borderLeftWidth":case"borderRightWidth":case"borderBottomWidth":case"textIndent":return!0;default:return!1}}var Jn=class{closedByChildren={};contentType;closedByParent=!1;implicitNamespacePrefix;isVoid;ignoreFirstLf;canSelfClose;preventNamespaceInheritance;constructor({closedByChildren:i,implicitNamespacePrefix:e,contentType:t=Ic.PARSABLE_DATA,closedByParent:o=!1,isVoid:r=!1,ignoreFirstLf:a=!1,preventNamespaceInheritance:c=!1,canSelfClose:p=!1}={}){i&&i.length>0&&i.forEach(u=>this.closedByChildren[u]=!0),this.isVoid=r,this.closedByParent=o||r,this.implicitNamespacePrefix=e||null,this.contentType=t,this.ignoreFirstLf=a,this.preventNamespaceInheritance=c,this.canSelfClose=p??r}isClosedByChild(i){return this.isVoid||i.toLowerCase()in this.closedByChildren}getContentType(i){return typeof this.contentType=="object"?(i===void 0?void 0:this.contentType[i])??this.contentType.default:this.contentType}},kR,Lh;function kD(n){return Lh||(kR=new Jn({canSelfClose:!0}),Lh=Object.assign(Object.create(null),{base:new Jn({isVoid:!0}),meta:new Jn({isVoid:!0}),area:new Jn({isVoid:!0}),embed:new Jn({isVoid:!0}),link:new Jn({isVoid:!0}),img:new Jn({isVoid:!0}),input:new Jn({isVoid:!0}),param:new Jn({isVoid:!0}),hr:new Jn({isVoid:!0}),br:new Jn({isVoid:!0}),source:new Jn({isVoid:!0}),track:new Jn({isVoid:!0}),wbr:new Jn({isVoid:!0}),p:new Jn({closedByChildren:["address","article","aside","blockquote","div","dl","fieldset","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","hr","main","nav","ol","p","pre","section","table","ul"],closedByParent:!0}),thead:new Jn({closedByChildren:["tbody","tfoot"]}),tbody:new Jn({closedByChildren:["tbody","tfoot"],closedByParent:!0}),tfoot:new Jn({closedByChildren:["tbody"],closedByParent:!0}),tr:new Jn({closedByChildren:["tr"],closedByParent:!0}),td:new Jn({closedByChildren:["td","th"],closedByParent:!0}),th:new Jn({closedByChildren:["td","th"],closedByParent:!0}),col:new Jn({isVoid:!0}),svg:new Jn({implicitNamespacePrefix:"svg"}),foreignObject:new Jn({implicitNamespacePrefix:"svg",preventNamespaceInheritance:!0}),math:new Jn({implicitNamespacePrefix:"math"}),li:new Jn({closedByChildren:["li"],closedByParent:!0}),dt:new Jn({closedByChildren:["dt","dd"]}),dd:new Jn({closedByChildren:["dt","dd"],closedByParent:!0}),rb:new Jn({closedByChildren:["rb","rt","rtc","rp"],closedByParent:!0}),rt:new Jn({closedByChildren:["rb","rt","rtc","rp"],closedByParent:!0}),rtc:new Jn({closedByChildren:["rb","rtc","rp"],closedByParent:!0}),rp:new Jn({closedByChildren:["rb","rt","rtc","rp"],closedByParent:!0}),optgroup:new Jn({closedByChildren:["optgroup"],closedByParent:!0}),option:new Jn({closedByChildren:["option","optgroup"],closedByParent:!0}),pre:new Jn({ignoreFirstLf:!0}),listing:new Jn({ignoreFirstLf:!0}),style:new Jn({contentType:Ic.RAW_TEXT}),script:new Jn({contentType:Ic.RAW_TEXT}),title:new Jn({contentType:{default:Ic.ESCAPABLE_RAW_TEXT,svg:Ic.PARSABLE_DATA}}),textarea:new Jn({contentType:Ic.ESCAPABLE_RAW_TEXT,ignoreFirstLf:!0})}),new hf().allKnownElementNames().forEach(i=>{!Lh[i]&&BE(i)===null&&(Lh[i]=new Jn({canSelfClose:!1}))})),Lh[n]??Lh[n.toLowerCase()]??kR}var TR={A:"LINK",B:"BOLD_TEXT",BR:"LINE_BREAK",EM:"EMPHASISED_TEXT",H1:"HEADING_LEVEL1",H2:"HEADING_LEVEL2",H3:"HEADING_LEVEL3",H4:"HEADING_LEVEL4",H5:"HEADING_LEVEL5",H6:"HEADING_LEVEL6",HR:"HORIZONTAL_RULE",I:"ITALIC_TEXT",LI:"LIST_ITEM",LINK:"MEDIA_LINK",OL:"ORDERED_LIST",P:"PARAGRAPH",Q:"QUOTATION",S:"STRIKETHROUGH_TEXT",SMALL:"SMALL_TEXT",SUB:"SUBSTRIPT",SUP:"SUPERSCRIPT",TBODY:"TABLE_BODY",TD:"TABLE_CELL",TFOOT:"TABLE_FOOTER",TH:"TABLE_HEADER_CELL",THEAD:"TABLE_HEADER",TR:"TABLE_ROW",TT:"MONOSPACED_TEXT",U:"UNDERLINED_TEXT" Line truncated
`}return e}_convertColonHost(i){return i.replace(BH,(e,t,o)=>{if(t){let r=[];for(let a of this._splitOnTopLevelCommas(t,!0)){let c=a.trim();if(!c)break;let p=Jd+c.replace(E1,"")+o;r.push(p)}return r.join(",")}else return Jd+o})}*_splitOnTopLevelCommas(i,e){let t=i.length,o=0,r=0;for(let a=0;a<t;a++){let c=i.charCodeAt(a);if(c===Va)o++;else if(c===Cr){if(o--,o<0&&e){yield i.slice(r,a);return}}else c===va&&o===0&&(yield i.slice(r,a),r=a+1)}yield i.slice(r)}_convertColonHostContext(i){let e=[];for(let t of this._splitOnTopLevelCommas(i,!1))e.push(this._convertColonHostContextInSelectorPart(t));return e.join(",")}_convertColonHostContextInSelectorPart(i){return i.replace(jH,(e,t)=>{let o=[[]],r=e.indexOf(lh);for(;r!==-1;){let a=e.substring(r+lh.length);if(!a||a[0]!=="("){e=a,r=e.indexOf(lh);continue}let c=[],p=0;for(let h of this._splitOnTopLevelCommas(a.substring(1),!0)){p=p+h.length+1;let _=h.trim();_&&c.push(_)}let u=o.length;sU(o,c.length);for(let h=0;h<c.length;h++)for(let _=0;_<u;_++)o[_+h*u].push(c[h]);e=a.substring(p+1),r=e.indexOf(lh)}return o.map(a=>aU(a,e,t)).join(", ")})}_convertShadowDOMSelectors(i){return HH.reduce((e,t)=>e.replace(t," "),i)}_scopeSelectors(i,e,t){return AC(i,o=>{let r=o.selector,a=o.content;return o.selector[0]!=="@"?r=this._scopeSelector({selector:r,scopeSelector:e,hostSelector:t,isParentSelector:!0}):AH.some(c=>o.selector.startsWith(c))?a=this._scopeSelectors(o.content,e,t):(o.selector.startsWith("@font-face")||o.selector.startsWith("@page"))&&(a=this._stripScopingSelectors(o.content)),new j_(r,a)})}_stripScopingSelectors(i){return AC(i,e=>{let t=e.selector.replace(b5," ").replace(gk," ");return new j_(t,e.content)})}_safeSelector;_shouldScopeIndicator;_scopeSelector({selector:i,scopeSelector:e,hostSelector:t,isParentSelector:o=!1}){let r=/ ?,(?!(?:[^)(]*(?:\([^)(]*(?:\([^)(]*(?:\([^)(]*\)[^)(]*)*\)[^)(]*)*\)[^)(]*)*\))) ?/;return i.split(r).map(a=>a.split(b5)).map(a=>{let[c,...p]=a;return[(h=>this._selectorNeedsScoping(h,e)?this._applySelectorScope({selector:h,scopeSelector:e,hostSelector:t,isParentSelector:o}):h)(c),...p].join(" ")}).join(", ")}_selectorNeedsScoping(i,e){return!this._makeScopeMatcher(e).test(i)}_makeScopeMatcher(i){let e=/\[/g,t=/\]/g;return i=i.replace(e,"\\[").replace(t,"\\]"),new RegExp("^("+i+")"+UH,"m")}_applySimpleSelectorScope(i,e,t){if(ph.lastIndex=0,ph.test(i)){let o=`[${t}]`,r=i;for(;r.match(gk);)r=r.replace(gk,(a,c)=>c.replace(/([^:\)]*)(:*)(.*)/,(p,u,h,_)=>u+o+h+_));return r.replace(ph,o)}return e+" "+i}_applySelectorScope({selector:i,scopeSelector:e,hostSelector:t,isParentSelector:o}){let r=/\[is=([^\]]*)\]/g;e=e.replace(r,(M,...w)=>w[0]);let a=`[${e}]`,c=M=>{let w=M.trim();if(!w)return M;if(M.includes(Jd)){if(w=this._applySimpleSelectorScope(M,e,t),!M.match($H)){let[y,E,I,D]=w.match(/([^:]*)(:*)([\s\S]*)/);w=E+a+I+D}}else{let y=M.replace(ph,"");if(y.length>0){let E=y.match(/([^:]*)(:*)([\s\S]*)/);E&&(w=E[1]+a+E[2]+E[3])}}return w},p=M=>{let w="",y=[],E;for(;(E=Bg.exec(M))!==null;){let I=1,D=Bg.lastIndex;for(;D<M.length;){let N=M[D];if(D++,N==="("){I++;continue}if(N===")"){if(I--,I===0)break;continue}}y.push(`${E[0]}${M.slice(Bg.lastIndex,D)}`),Bg.lastIndex=D}return y.join("")===M?w=y.map(I=>{let[D]=I.match(Bg)??[],N=I.slice(D?.length,-1);N.includes(Jd)&&(this._shouldScopeIndicator=!0);let P=this._scopeSelector({selector:N,scopeSelector:e,hostSelector:t});return`${D}${P})`}).join(""):(this._shouldScopeIndicator=this._shouldScopeIndicator||M.includes(Jd),w=this._shouldScopeIndicator?c(M):M),w};o&&(this._safeSelector=new hT(i),i=this._safeSelector.content());let u="",h=0,_,S=/( |>|\+|~(?!=))(?!([^)(]*(?:\([^)(]*(?:\([^)(]*(?:\([^)(]*\)[^)(]*)*\)[^)(]*)*\)[^)(]*)*\)))\s*/g,x=i.includes(Jd);for((o||this._shouldScopeIndicator)&&(this._shouldScopeIndicator=!x);(_=S.exec(i))!==null;){let M=_[1],w=i.slice(h,_.index);if(w.match(/__esc-ph-(\d+)__/)&&i[_.index+1]?.match(/[a-fA-F\d]/))continue;let y=p(w);u+=`${y} ${M} `,h=S.lastIndex}let b=i.substring(h);return u+=p(b),this._safeSelector.restore(u)}_insertPolyfillHostInCssText(i){return i.replace(WH,lh).replace(GH,E1)}},hT=class{placeholders=[];index=0;_content;constructor(i){i=this._escapeRegexMatches(i,/(\[[^\]]*\])/g),i=i.replace(/(\\.)/g,(e,t)=>{let o=`__esc-ph-${this.index}__`;return this.placeholders.push(t),this.index++,o}),this._content=i.replace(VH,(e,t,o)=>{let r=`__ph-${this.index}__`;return this.placeholders.push(`(${o})`),this.index++,t+r})}restore(i){return i.replace(/__(?:ph|esc-ph)-(\d+)__/g,(e,t)=>this.placeholders[+t])}content(){return this._content}_escapeRegexMatches(i,e){return i.replace(e,(t,o)=>{let r=`__ph-${this.index}__`;return this.placeholders.push(o),this.index++,r})}},OH="(:(where|is)\\()?",Bg=/:(where|is)\(/gi,NH=/polyfill-next-selector[^}]*content:[\s]*?(['"])(.*?)\1[;\s]*}([^{]*?){/gim,FH=/(polyfill-rule)[^}]*(content:[\s]*(['"])(.*?)\3)[;\s]*[^}]*}/gim,C5=/(polyfill-unscoped-rule)[^}]*(content:[\s]*(['"])(.*?)\3)[;\s]*[^}]*}/gim,E1="-shadowcsshost",lh="-shadowcsscontext",fT Line truncated
`,Nfr:"\u{1D511}",NoBreak:"\u2060",NonBreakingSpace:"\xA0",nbsp:"\xA0",Nopf:"\u2115",naturals:"\u2115",Not:"\u2AEC",NotCongruent:"\u2262",nequiv:"\u2262",NotCupCap:"\u226D",NotDoubleVerticalBar:"\u2226",npar:"\u2226",nparallel:"\u2226",nshortparallel:"\u2226",nspar:"\u2226",NotElement:"\u2209",notin:"\u2209",notinva:"\u2209",NotEqual:"\u2260",ne:"\u2260",NotEqualTilde:"\u2242\u0338",nesim:"\u2242\u0338",NotExists:"\u2204",nexist:"\u2204",nexists:"\u2204",NotGreater:"\u226F",ngt:"\u226F",ngtr:"\u226F",NotGreaterEqual:"\u2271",nge:"\u2271",ngeq:"\u2271",NotGreaterFullEqual:"\u2267\u0338",ngE:"\u2267\u0338",ngeqq:"\u2267\u0338",NotGreaterGreater:"\u226B\u0338",nGtv:"\u226B\u0338",NotGreaterLess:"\u2279",ntgl:"\u2279",NotGreaterSlantEqual:"\u2A7E\u0338",ngeqslant:"\u2A7E\u0338",nges:"\u2A7E\u0338",NotGreaterTilde:"\u2275",ngsim:"\u2275",NotHumpDownHump:"\u224E\u0338",nbump:"\u224E\u0338",NotHumpEqual:"\u224F\u0338",nbumpe:"\u224F\u0338",NotLeftTriangle:"\u22EA",nltri:"\u22EA",ntriangleleft:"\u22EA",NotLeftTriangleBar:"\u29CF\u0338",NotLeftTriangleEqual:"\u22EC",nltrie:"\u22EC",ntrianglelefteq:"\u22EC",NotLess:"\u226E",nless:"\u226E",nlt:"\u226E",NotLessEqual:"\u2270",nle:"\u2270",nleq:"\u2270",NotLessGreater:"\u2278",ntlg:"\u2278",NotLessLess:"\u226A\u0338",nLtv:"\u226A\u0338",NotLessSlantEqual:"\u2A7D\u0338",nleqslant:"\u2A7D\u0338",nles:"\u2A7D\u0338",NotLessTilde:"\u2274",nlsim:"\u2274",NotNestedGreaterGreater:"\u2AA2\u0338",NotNestedLessLess:"\u2AA1\u0338",NotPrecedes:"\u2280",npr:"\u2280",nprec:"\u2280",NotPrecedesEqual:"\u2AAF\u0338",npre:"\u2AAF\u0338",npreceq:"\u2AAF\u0338",NotPrecedesSlantEqual:"\u22E0",nprcue:"\u22E0",NotReverseElement:"\u220C",notni:"\u220C",notniva:"\u220C",NotRightTriangle:"\u22EB",nrtri:"\u22EB",ntriangleright:"\u22EB",NotRightTriangleBar:"\u29D0\u0338",NotRightTriangleEqual:"\u22ED",nrtrie:"\u22ED",ntrianglerighteq:"\u22ED",NotSquareSubset:"\u228F\u0338",NotSquareSubsetEqual:"\u22E2",nsqsube:"\u22E2",NotSquareSuperset:"\u2290\u0338",NotSquareSupersetEqual:"\u22E3",nsqsupe:"\u22E3",NotSubset:"\u2282\u20D2",nsubset:"\u2282\u20D2",vnsub:"\u2282\u20D2",NotSubsetEqual:"\u2288",nsube:"\u2288",nsubseteq:"\u2288",NotSucceeds:"\u2281",nsc:"\u2281",nsucc:"\u2281",NotSucceedsEqual:"\u2AB0\u0338",nsce:"\u2AB0\u0338",nsucceq:"\u2AB0\u0338",NotSucceedsSlantEqual:"\u22E1",nsccue:"\u22E1",NotSucceedsTilde:"\u227F\u0338",NotSuperset:"\u2283\u20D2",nsupset:"\u2283\u20D2",vnsup:"\u2283\u20D2",NotSupersetEqual:"\u2289",nsupe:"\u2289",nsupseteq:"\u2289",NotTilde:"\u2241",nsim:"\u2241",NotTildeEqual:"\u2244",nsime:"\u2244",nsimeq:"\u2244",NotTildeFullEqual:"\u2247",ncong:"\u2247",NotTildeTilde:"\u2249",nap:"\u2249",napprox:"\u2249",NotVerticalBar:"\u2224",nmid:"\u2224",nshortmid:"\u2224",nsmid:"\u2224",Nscr:"\u{1D4A9}",Ntilde:"\xD1",Nu:"\u039D",OElig:"\u0152",Oacute:"\xD3",Ocirc:"\xD4",Ocy:"\u041E",Odblac:"\u0150",Ofr:"\u{1D512}",Ograve:"\xD2",Omacr:"\u014C",Omega:"\u03A9",ohm:"\u03A9",Omicron:"\u039F",Oopf:"\u{1D546}",OpenCurlyDoubleQuote:"\u201C",ldquo:"\u201C",OpenCurlyQuote:"\u2018",lsquo:"\u2018",Or:"\u2A54",Oscr:"\u{1D4AA}",Oslash:"\xD8",Otilde:"\xD5",Otimes:"\u2A37",Ouml:"\xD6",OverBar:"\u203E",oline:"\u203E",OverBrace:"\u23DE",OverBracket:"\u23B4",tbrk:"\u23B4",OverParenthesis:"\u23DC",PartialD:"\u2202",part:"\u2202",Pcy:"\u041F",Pfr:"\u{1D513}",Phi:"\u03A6",Pi:"\u03A0",PlusMinus:"\xB1",plusmn:"\xB1",pm:"\xB1",Popf:"\u2119",primes:"\u2119",Pr:"\u2ABB",Precedes:"\u227A",pr:"\u227A",prec:"\u227A",PrecedesEqual:"\u2AAF",pre:"\u2AAF",preceq:"\u2AAF",PrecedesSlantEqual:"\u227C",prcue:"\u227C",preccurlyeq:"\u227C",PrecedesTilde:"\u227E",precsim:"\u227E",prsim:"\u227E",Prime:"\u2033",Product:"\u220F",prod:"\u220F",Proportional:"\u221D",prop:"\u221D",propto:"\u221D",varpropto:"\u221D",vprop:"\u221D",Pscr:"\u{1D4AB}",Psi:"\u03A8",QUOT:'"',quot:'"',Qfr:"\u{1D514}",Qopf:"\u211A",rationals:"\u211A",Qscr:"\u{1D4AC}",RBarr:"\u2910",drbkarow:"\u2910",REG:"\xAE",circledR:"\xAE",reg:"\xAE",Racute:"\u0154",Rang:"\u27EB",Rarr:"\u21A0",twoheadrightarrow:"\u21A0",Rarrtl:"\u2916",Rcaron:"\u0158",Rcedil:"\u0156",Rcy:"\u0420",Re:"\u211C",Rfr:"\u211C",real:"\u211C",realpart:"\u211C",ReverseElement:"\u220B",SuchThat:"\u220B",ni:"\u220B",niv:"\u220B",ReverseEquilibrium:"\u21CB",leftrightharpoons:"\u21CB",lrhar:"\u21CB",ReverseUpEquilibrium:"\u296F",duhar:"\u296F",Rho:"\u03A1",RightAngleBracket:"\u27E9",rang:"\u27E9",rangle:"\u27E9",RightArrow:"\u2192",ShortRightArrow:"\u2192",rarr:"\u2192",rightarrow:"\u2192",srarr:"\u2192",RightArrowBar:"\u21E5",rarrb:"\u21E5",RightArrowLeftArrow:"\u21C4",rightleftarrows:"\u21C4",rlarr:"\u21C4",RightCeiling:"\u2309",rceil:"\u2309",RightDoubleBracket:"\u27E7",robrk:"\u27E7",RightDownTeeVector:"\u295D",RightDownVector:"\u21C2",dharr:"\u21C2",downharpoonright:"\u21C2",RightDownVectorBar:"\u2955",RightFloor:"\u230B",rfloor:"\u230B",RightTee:"\u22A2",vdash:"\u22A2",RightTeeArrow:"\u21A6",map:"\u21A6",mapsto:"\u21A6",RightTeeVector:"\u295B",RightTriangle:"\u22B3",vartriangleright:"\u22B3",v Line truncated
`)}tokenize(){for(;this._cursor.peek()!==Gr;){let i=this._cursor.clone();try{this._attemptCharCode(_h)?this._attemptCharCode(sT)?this._attemptCharCode(bc)?this._consumeCdata(i):this._attemptCharCode(w1)?this._consumeComment(i):this._consumeDocType(i):this._attemptCharCode(Qs)?this._consumeTagClose(i):this._consumeTagOpen(i):this._tokenizeLet&&this._cursor.peek()===nh&&!this._inInterpolation&&this._isLetStart()?this._consumeLetDeclaration(i):this._tokenizeBlocks&&this._isBlockStart()?this._consumeBlockStart(i):this._tokenizeBlocks&&!this._inInterpolation&&!this._isInExpansionCase()&&!this._isInExpansionForm()&&this._attemptCharCode(Ra)?this._consumeBlockEnd(i):this._tokenizeIcu&&this._tokenizeExpansionForm()||this._consumeWithInterpolation(5,8,()=>this._isTextEnd(),()=>this._isTagStart())}catch(e){this.handleError(e)}}this._beginToken(41),this._endToken([])}_getBlockName(){let i=!1,e=this._cursor.clone();return this._attemptCharCodeUntilFn(t=>B_(t)?!i:iW(t)?(i=!0,!1):!0),this._cursor.getChars(e).trim()}_consumeBlockStart(i){this._requireCharCode(nh),this._beginToken(24,i);let e=this._endToken([this._getBlockName()]);if(e.parts[0]==="default never"&&this._attemptCharCode(es)){this._beginToken(25),this._endToken([]),this._beginToken(26),this._endToken([]);return}if(this._cursor.peek()===Va)if(this._cursor.advance(),this._consumeBlockParameters(),this._attemptCharCodeUntilFn(Ro),this._attemptCharCode(Cr))this._attemptCharCodeUntilFn(Ro);else{e.type=28;return}this._attemptCharCode(Ys)?(this._beginToken(25),this._endToken([])):this._isBlockStart()&&(e.parts[0]==="case"||e.parts[0]==="default")?(this._beginToken(25),this._endToken([]),this._beginToken(26),this._endToken([])):e.type=28}_consumeBlockEnd(i){this._beginToken(26,i),this._endToken([])}_consumeBlockParameters(){for(this._attemptCharCodeUntilFn(V5);this._cursor.peek()!==Cr&&this._cursor.peek()!==Gr;){this._beginToken(27);let i=this._cursor.clone(),e=null,t=0;for(;this._cursor.peek()!==es&&this._cursor.peek()!==Gr||e!==null;){let o=this._cursor.peek();if(o===Np)this._cursor.advance();else if(o===e)e=null;else if(e===null&&t_(o))e=o;else if(o===Va&&e===null)t++;else if(o===Cr&&e===null){if(t===0)break;t>0&&t--}this._cursor.advance()}this._endToken([this._cursor.getChars(i)]),this._attemptCharCodeUntilFn(V5)}}_consumeLetDeclaration(i){if(this._requireStr("@let"),this._beginToken(29,i),B_(this._cursor.peek()))this._attemptCharCodeUntilFn(Ro);else{let o=this._endToken([this._cursor.getChars(i)]);o.type=32;return}let e=this._endToken([this._getLetDeclarationName()]);if(this._attemptCharCodeUntilFn(Ro),!this._attemptCharCode(Hr)){e.type=32;return}this._attemptCharCodeUntilFn(o=>Ro(o)&&!M1(o)),this._consumeLetDeclarationValue(),this._cursor.peek()===es?(this._beginToken(31),this._endToken([]),this._cursor.advance()):(e.type=32,e.sourceSpan=this._cursor.getSpan(i))}_getLetDeclarationName(){let i=this._cursor.clone(),e=!1;return this._attemptCharCodeUntilFn(t=>mm(t)||t===ob||t===_m||e&&Xs(t)?(e=!0,!1):!0),this._cursor.getChars(i).trim()}_consumeLetDeclarationValue(){let i=this._cursor.clone();for(this._beginToken(30,i);this._cursor.peek()!==Gr;){let e=this._cursor.peek();if(e===es)break;t_(e)&&(this._cursor.advance(),this._attemptCharCodeUntilFn(t=>t===Np?(this._cursor.advance(),!1):t===e)),this._cursor.advance()}this._endToken([this._cursor.getChars(i)])}_tokenizeExpansionForm(){if(this.isExpansionFormStart())return this._consumeExpansionFormStart(),!0;if(tW(this._cursor.peek())&&this._isInExpansionForm())return this._consumeExpansionCaseStart(),!0;if(this._cursor.peek()===Ra){if(this._isInExpansionCase())return this._consumeExpansionCaseEnd(),!0;if(this._isInExpansionForm())return this._consumeExpansionFormEnd(),!0}return!1}_beginToken(i,e=this._cursor.clone()){this._currentTokenStart=e,this._currentTokenType=i}_endToken(i,e){if(this._currentTokenStart===null)throw new sn(this._cursor.getSpan(e),"Programming error - attempted to end a token when there was no start to the token");if(this._currentTokenType===null)throw new sn(this._cursor.getSpan(this._currentTokenStart),"Programming error - attempted to end a token which has no token type");let t={type:this._currentTokenType,parts:i,sourceSpan:(e??this._cursor).getSpan(this._currentTokenStart,this._leadingTriviaCodePoints)};return this.tokens.push(t),this._currentTokenStart=null,this._currentTokenType=null,t}_createError(i,e){this._isInExpansionForm()&&(i+=` (Do you have an unescaped "{" in your template? Use "{{ '{' }}") to escape it.)`);let t=new sn(e,i);return this._currentTokenStart=null,this._currentTokenType=null,t}handleError(i){if(i instanceof J_&&(i=this._createError(i.msg,this._cursor.getSpan(i.cursor))),i instanceof sn)this.errors.push(i);else throw i}_attemptCharCode(i){return this._cursor.peek()===i?(this._cursor.advance(),!0):!1}_attemptCharCodeCaseInsensitive(i){return nW(this._cursor.peek(),i)?(this._cursor.advance(),!0):!1}_requireCharCode(i){let e=this._cursor.clone();if(!this._attemptCharCode(i Line truncated
`){let r=this._getContainer();r!=null&&r.children.length===0&&this._getTagDefinition(r)?.ignoreFirstLf&&(o=o.substring(1),e[0]={type:i.type,sourceSpan:i.sourceSpan,parts:[o]})}for(;this._peek.type===8||this._peek.type===5||this._peek.type===9;)i=this._advance(),e.push(i),i.type===8?o+=i.parts.join("").replace(/&([^;]+);/g,$5):i.type===9?o+=i.parts[0]:o+=i.parts.join("");if(o.length>0){let r=i.sourceSpan;this._addToParent(new Jp(o,new gn(t.start,r.end,t.fullStart,t.details),e))}}_closeVoidElement(){let i=this._getContainer();i!==null&&this._getTagDefinition(i)?.isVoid&&this._containerStack.pop()}_consumeElementStartTag(i){let e=[],t=[];this._consumeAttributesAndDirectives(e,t);let o=this._getElementFullName(i,this._getClosestElementLikeParent()),r=this._getTagDefinition(o),a=!1;this._peek.type===2?(this._advance(),a=!0,r?.canSelfClose||Kk(o)!==null||r?.isVoid||this.errors.push(dr.create(o,i.sourceSpan,`Only void, custom and foreign elements can be self closed "${i.parts[1]}"`))):this._peek.type===1&&(this._advance(),a=!1);let c=this._peek.sourceSpan.fullStart,p=new gn(i.sourceSpan.start,c,i.sourceSpan.fullStart),u=new gn(i.sourceSpan.start,c,i.sourceSpan.fullStart),h=new qs(o,e,t,[],a,p,u,void 0,r?.isVoid??!1),_=this._getContainer(),S=_!==null&&!!this._getTagDefinition(_)?.isClosedByChild(h.name);this._pushContainer(h,S),a?this._popContainer(o,qs,p):i.type===4&&(this._popContainer(o,qs,null),this.errors.push(dr.create(o,p,`Opening tag "${o}" not terminated.`)))}_consumeComponentStartTag(i){let e=i.parts[0],t=[],o=[];this._consumeAttributesAndDirectives(t,o);let r=this._getClosestElementLikeParent(),a=this._getComponentTagName(i,r),c=this._getComponentFullName(i,r),p=this._peek.type===35;this._advance();let u=this._peek.sourceSpan.fullStart,h=new gn(i.sourceSpan.start,u,i.sourceSpan.fullStart),_=new gn(i.sourceSpan.start,u,i.sourceSpan.fullStart),S=new Fa(e,a,c,t,o,[],p,h,_,void 0),x=this._getContainer(),b=x!==null&&S.tagName!==null&&!!this._getTagDefinition(x)?.isClosedByChild(S.tagName);this._pushContainer(S,b),p?this._popContainer(c,Fa,h):i.type===37&&(this._popContainer(c,Fa,null),this.errors.push(dr.create(c,h,`Opening tag "${c}" not terminated.`)))}_consumeAttributesAndDirectives(i,e){for(;this._peek.type===14||this._peek.type===38;)this._peek.type===38?e.push(this._consumeDirective(this._peek)):i.push(this._consumeAttr(this._advance()))}_consumeComponentEndTag(i){let e=this._getComponentFullName(i,this._getClosestElementLikeParent());if(!this._popContainer(e,Fa,i.sourceSpan)){let t=this._containerStack[this._containerStack.length-1],o;t instanceof Fa&&t.componentName===i.parts[0]?o=`, did you mean "${t.fullName}"?`:o=". It may happen when the tag has already been closed by another tag.";let r=`Unexpected closing tag "${e}"${o}`;this.errors.push(dr.create(e,i.sourceSpan,r))}}_getTagDefinition(i){return typeof i=="string"?this.tagDefinitionResolver(i):i instanceof qs?this.tagDefinitionResolver(i.name):i instanceof Fa&&i.tagName!==null?this.tagDefinitionResolver(i.tagName):null}_pushContainer(i,e){e&&this._containerStack.pop(),this._addToParent(i),this._containerStack.push(i)}_consumeElementEndTag(i){let e=this._getElementFullName(i,this._getClosestElementLikeParent());if(this._getTagDefinition(e)?.isVoid)this.errors.push(dr.create(e,i.sourceSpan,`Void elements do not have end tags "${i.parts[1]}"`));else if(!this._popContainer(e,qs,i.sourceSpan)){let t=`Unexpected closing tag "${e}". It may happen when the tag has already been closed by another tag. For more info see https://www.w3.org/TR/html5/syntax.html#closing-elements-that-have-implied-end-tags`;this.errors.push(dr.create(e,i.sourceSpan,t))}}_popContainer(i,e,t){let o=!1;for(let r=this._containerStack.length-1;r>=0;r--){let a=this._containerStack[r];if(((a instanceof Fa?a.fullName:a.name)===i||i===null)&&a instanceof e)return a.endSourceSpan=t,a.sourceSpan.end=t!==null?t.end:a.sourceSpan.end,this._containerStack.splice(r,this._containerStack.length-r),!o;(a instanceof Ks||!this._getTagDefinition(a)?.closedByParent)&&(o=!0)}return!1}_consumeAttr(i){let e=UC(i.parts[0],i.parts[1]),t=i.sourceSpan.end;this._peek.type===15&&this._advance();let o="",r=[],a,c;if(this._peek.type===16)for(a=this._peek.sourceSpan,c=this._peek.sourceSpan.end;this._peek.type===16||this._peek.type===17||this._peek.type===9;){let h=this._advance();r.push(h),h.type===17?o+=h.parts.join("").replace(/&([^;]+);/g,$5):h.type===9?o+=h.parts[0]:o+=h.parts.join(""),c=t=h.sourceSpan.end}this._peek.type===15&&(t=this._advance().sourceSpan.end);let u=a&&c&&new gn(a.start,c,a.fullStart);return new MT(e,o,new gn(i.sourceSpan.start,t,i.sourceSpan.fullStart),i.sourceSpan,u,r.length>0?r:void 0,void 0)}_consumeDirective(i){let e=[],t=i.sourceSpan.end,o=null;if(this._advance(),this._peek.type===39){for(t=this._peek.sourceSpan.end,this._advance();this._peek.type===14;)e.push(this._consumeAttr(this._advance()));this._peek.type===40?(o=this._peek.sourceSpan,this._advance()):this.errors.push(dr.creat Line truncated
\r \v\u1680\u180E\u2000-\u200A\u2028\u2029\u202F\u205F\u3000\uFEFF`,aW=new RegExp(`[^${FF}]`),sW=new RegExp(`[${FF}]{2,}`,"g");function U5(n){return n.some(i=>i.name===NF)}function RF(n){return n.replace(new RegExp(OF,"g")," ")}var U1=class{preserveSignificantWhitespace;originalNodeMap;requireContext;icuExpansionDepth=0;constructor(i,e,t=!0){this.preserveSignificantWhitespace=i,this.originalNodeMap=e,this.requireContext=t}visitElement(i,e){if(H5.has(i.name)||U5(i.attrs)){let o=new qs(i.name,uc(this,i.attrs),uc(this,i.directives),i.children,i.isSelfClosing,i.sourceSpan,i.startSourceSpan,i.endSourceSpan,i.isVoid,i.i18n);return this.originalNodeMap?.set(o,i),o}let t=new qs(i.name,i.attrs,i.directives,uc(this,i.children),i.isSelfClosing,i.sourceSpan,i.startSourceSpan,i.endSourceSpan,i.isVoid,i.i18n);return this.originalNodeMap?.set(t,i),t}visitAttribute(i,e){return i.name!==NF?i:null}visitText(i,e){let t=i.value.match(aW),o=e&&(e.prev instanceof Fp||e.next instanceof Fp);if(this.icuExpansionDepth>0&&this.preserveSignificantWhitespace)return i;if(t||o){let a=i.tokens.map(h=>h.type===5?mW(h):h);if(!this.preserveSignificantWhitespace&&a.length>0){let h=a[0];a.splice(0,1,lW(h,e));let _=a[a.length-1];a.splice(a.length-1,1,cW(_,e))}let c=VF(i.value),p=this.preserveSignificantWhitespace?c:dW(c,e),u=new Jp(p,i.sourceSpan,a,i.i18n);return this.originalNodeMap?.set(u,i),u}return null}visitComment(i,e){return i}visitExpansion(i,e){this.icuExpansionDepth++;let t;try{t=new Fp(i.switchValue,i.type,uc(this,i.cases),i.sourceSpan,i.switchValueSourceSpan,i.i18n)}finally{this.icuExpansionDepth--}return this.originalNodeMap?.set(t,i),t}visitExpansionCase(i,e){let t=new B1(i.value,uc(this,i.expression),i.sourceSpan,i.valueSourceSpan,i.expSourceSpan);return this.originalNodeMap?.set(t,i),t}visitBlock(i,e){let t=new Ks(i.name,i.parameters,uc(this,i.children),i.sourceSpan,i.nameSpan,i.startSourceSpan,i.endSourceSpan);return this.originalNodeMap?.set(t,i),t}visitBlockParameter(i,e){return i}visitLetDeclaration(i,e){return i}visitComponent(i,e){if(i.tagName&&H5.has(i.tagName)||U5(i.attrs)){let o=new Fa(i.componentName,i.tagName,i.fullName,uc(this,i.attrs),uc(this,i.directives),i.children,i.isSelfClosing,i.sourceSpan,i.startSourceSpan,i.endSourceSpan,i.i18n);return this.originalNodeMap?.set(o,i),o}let t=new Fa(i.componentName,i.tagName,i.fullName,i.attrs,i.directives,uc(this,i.children),i.isSelfClosing,i.sourceSpan,i.startSourceSpan,i.endSourceSpan,i.i18n);return this.originalNodeMap?.set(t,i),t}visitDirective(i,e){return i}visit(i,e){if(this.requireContext&&!e)throw new Error("WhitespaceVisitor requires context. Visit via `visitAllWithSiblings` to get this context.");return!1}};function lW(n,i){return n.type!==5||!!i?.prev?n:LF(n,t=>t.trimStart())}function cW(n,i){return n.type!==5||!!i?.next?n:LF(n,t=>t.trimEnd())}function dW(n,i){let e=!i?.prev,t=!i?.next,o=e?n.trimStart():n;return t?o.trimEnd():o}function mW({type:n,parts:i,sourceSpan:e}){return{type:n,parts:[VF(i[0])],sourceSpan:e}}function LF({type:n,parts:i,sourceSpan:e},t){return{type:n,parts:[t(i[0])],sourceSpan:e}}function VF(n){return RF(n).replace(sW," ")}function uc(n,i){let e=[];return i.forEach((t,o)=>{let r={prev:i[o-1],next:i[o+1]},a=t.visit(n,r);a&&e.push(a)}),e}var un=(function(n){return n[n.Character=0]="Character",n[n.Identifier=1]="Identifier",n[n.PrivateIdentifier=2]="PrivateIdentifier",n[n.Keyword=3]="Keyword",n[n.String=4]="String",n[n.Operator=5]="Operator",n[n.Number=6]="Number",n[n.RegExpBody=7]="RegExpBody",n[n.RegExpFlags=8]="RegExpFlags",n[n.Error=9]="Error",n})(un||{}),Rp=(function(n){return n[n.Plain=0]="Plain",n[n.TemplateLiteralPart=1]="TemplateLiteralPart",n[n.TemplateLiteralEnd=2]="TemplateLiteralEnd",n})(Rp||{}),pW=["var","let","as","null","undefined","true","false","if","else","this","typeof","void","in","instanceof"],e0=class{tokenize(i){return new AT(i).scan()}},As=class{index;end;type;numValue;strValue;constructor(i,e,t,o,r){this.index=i,this.end=e,this.type=t,this.numValue=o,this.strValue=r}isCharacter(i){return this.type===un.Character&&this.numValue===i}isNumber(){return this.type===un.Number}isString(){return this.type===un.String}isOperator(i){return this.type===un.Operator&&this.strValue===i}isIdentifier(){return this.type===un.Identifier}isPrivateIdentifier(){return this.type===un.PrivateIdentifier}isKeyword(){return this.type===un.Keyword}isKeywordLet(){return this.type===un.Keyword&&this.strValue==="let"}isKeywordAs(){return this.type===un.Keyword&&this.strValue==="as"}isKeywordNull(){return this.type===un.Keyword&&this.strValue==="null"}isKeywordUndefined(){return this.type===un.Keyword&&this.strValue==="undefined"}isKeywordTrue(){return this.type===un.Keyword&&this.strValue==="true"}isKeywordFalse(){return this.type===un.Keyword&&this.strValue==="false"}isKeywordThis(){return this.type===un.Keyword&&this.strValue==="this"}isKeywordTypeof(){return this.type===un.Keyword&&this.strValue==="typeof"}isKeywordVoid(){return this.type===un.Ke Line truncated
If '${i}' is a directive input, make sure the directive is imported by the current module.`}:{error:!1}}validateAttribute(i){return i.toLowerCase().startsWith("on")?{error:!0,msg:`Binding to event attribute '${i}' is disallowed for security reasons, please use (${i.slice(2)})=...`}:{error:!1}}allKnownElementNames(){return Array.from(this._schema.keys())}allKnownAttributesOfElement(i){let e=this._schema.get(i.toLowerCase())||this._schema.get("unknown");return Array.from(e.keys()).map(t=>OW.get(t)??t)}allKnownEventsOfElement(i){return Array.from(this._eventSchema.get(i.toLowerCase())??[])}normalizeAnimationStyleProperty(i){return D$(i)}normalizeAnimationStyleValue(i,e,t){let o="",r=t.toString().trim(),a=null;if(NW(i)&&t!==0&&t!=="0")if(typeof t=="number")o="px";else{let c=t.match(/^[+-]?[\d\.]+([a-z]*)$/);c&&c[1].length==0&&(a=`Please provide a CSS unit value for ${e}:${t}`)}return{error:a,value:r+o}}};function NW(n){switch(n){case"width":case"height":case"minWidth":case"minHeight":case"maxWidth":case"maxHeight":case"left":case"top":case"bottom":case"right":case"fontSize":case"outlineWidth":case"outlineOffset":case"paddingTop":case"paddingLeft":case"paddingBottom":case"paddingRight":case"marginTop":case"marginLeft":case"marginBottom":case"marginRight":case"borderRadius":case"borderWidth":case"borderTopWidth":case"borderLeftWidth":case"borderRightWidth":case"borderBottomWidth":case"textIndent":return!0;default:return!1}}var Kn=class{closedByChildren={};contentType;closedByParent=!1;implicitNamespacePrefix;isVoid;ignoreFirstLf;canSelfClose;preventNamespaceInheritance;constructor({closedByChildren:i,implicitNamespacePrefix:e,contentType:t=gc.PARSABLE_DATA,closedByParent:o=!1,isVoid:r=!1,ignoreFirstLf:a=!1,preventNamespaceInheritance:c=!1,canSelfClose:p=!1}={}){i&&i.length>0&&i.forEach(u=>this.closedByChildren[u]=!0),this.isVoid=r,this.closedByParent=o||r,this.implicitNamespacePrefix=e||null,this.contentType=t,this.ignoreFirstLf=a,this.preventNamespaceInheritance=c,this.canSelfClose=p??r}isClosedByChild(i){return this.isVoid||i.toLowerCase()in this.closedByChildren}getContentType(i){return typeof this.contentType=="object"?(i===void 0?void 0:this.contentType[i])??this.contentType.default:this.contentType}},X5,ah;function VT(n){return ah||(X5=new Kn({canSelfClose:!0}),ah=Object.assign(Object.create(null),{base:new Kn({isVoid:!0}),meta:new Kn({isVoid:!0}),area:new Kn({isVoid:!0}),embed:new Kn({isVoid:!0}),link:new Kn({isVoid:!0}),img:new Kn({isVoid:!0}),input:new Kn({isVoid:!0}),param:new Kn({isVoid:!0}),hr:new Kn({isVoid:!0}),br:new Kn({isVoid:!0}),source:new Kn({isVoid:!0}),track:new Kn({isVoid:!0}),wbr:new Kn({isVoid:!0}),p:new Kn({closedByChildren:["address","article","aside","blockquote","div","dl","fieldset","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","hr","main","nav","ol","p","pre","section","table","ul"],closedByParent:!0}),thead:new Kn({closedByChildren:["tbody","tfoot"]}),tbody:new Kn({closedByChildren:["tbody","tfoot"],closedByParent:!0}),tfoot:new Kn({closedByChildren:["tbody"],closedByParent:!0}),tr:new Kn({closedByChildren:["tr"],closedByParent:!0}),td:new Kn({closedByChildren:["td","th"],closedByParent:!0}),th:new Kn({closedByChildren:["td","th"],closedByParent:!0}),col:new Kn({isVoid:!0}),svg:new Kn({implicitNamespacePrefix:"svg"}),foreignObject:new Kn({implicitNamespacePrefix:"svg",preventNamespaceInheritance:!0}),math:new Kn({implicitNamespacePrefix:"math"}),li:new Kn({closedByChildren:["li"],closedByParent:!0}),dt:new Kn({closedByChildren:["dt","dd"]}),dd:new Kn({closedByChildren:["dt","dd"],closedByParent:!0}),rb:new Kn({closedByChildren:["rb","rt","rtc","rp"],closedByParent:!0}),rt:new Kn({closedByChildren:["rb","rt","rtc","rp"],closedByParent:!0}),rtc:new Kn({closedByChildren:["rb","rtc","rp"],closedByParent:!0}),rp:new Kn({closedByChildren:["rb","rt","rtc","rp"],closedByParent:!0}),optgroup:new Kn({closedByChildren:["optgroup"],closedByParent:!0}),option:new Kn({closedByChildren:["option","optgroup"],closedByParent:!0}),pre:new Kn({ignoreFirstLf:!0}),listing:new Kn({ignoreFirstLf:!0}),style:new Kn({contentType:gc.RAW_TEXT}),script:new Kn({contentType:gc.RAW_TEXT}),title:new Kn({contentType:{default:gc.ESCAPABLE_RAW_TEXT,svg:gc.PARSABLE_DATA}}),textarea:new Kn({contentType:gc.ESCAPABLE_RAW_TEXT,ignoreFirstLf:!0})}),new Rh().allKnownElementNames().forEach(i=>{!ah[i]&&Kk(i)===null&&(ah[i]=new Kn({canSelfClose:!1}))})),ah[n]??ah[n.toLowerCase()]??X5}var K5={A:"LINK",B:"BOLD_TEXT",BR:"LINE_BREAK",EM:"EMPHASISED_TEXT",H1:"HEADING_LEVEL1",H2:"HEADING_LEVEL2",H3:"HEADING_LEVEL3",H4:"HEADING_LEVEL4",H5:"HEADING_LEVEL5",H6:"HEADING_LEVEL6",HR:"HORIZONTAL_RULE",I:"ITALIC_TEXT",LI:"LIST_ITEM",LINK:"MEDIA_LINK",OL:"ORDERED_LIST",P:"PARAGRAPH",Q:"QUOTATION",S:"STRIKETHROUGH_TEXT",SMALL:"SMALL_TEXT",SUB:"SUBSTRIPT",SUP:"SUPERSCRIPT",TBODY:"TABLE_BODY",TD:"TABLE_CELL",TFOOT:"TABLE_FOOTER",TH:"TABLE_HEADER_CELL",THEAD:"TABLE_HEADER",TR:"TABLE_ROW",TT:"MONOSPACED_TEXT",U:"UNDERLINED_TEXT" Line truncated
The number of i18n message children changed between first and second pass.
First pass (${n.length} tokens):
@@ -47,89 +47,89 @@ ${n.map(e=>`"${e.sourceSpan.toString()}"`).join(`
Second pass (${i.length} tokens):
${i.map(e=>`"${e.sourceSpan.toString()}"`).join(`
`)}
`.trim());if(n.some((e,t)=>i[t].constructor!==e.constructor))throw new Error("The types of the i18n message children changed between first and second pass.")}var CK=/\/\/[\s\S]*i18n[\s\S]*\([\s\S]*ph[\s\S]*=[\s\S]*("|')([\s\S]*?)\1[\s\S]*\)/g;function bK(n){return n.split(CK)[2]}var ER=new Set(["iframe|srcdoc","*|innerhtml","*|outerhtml","embed|src","iframe|src","object|codebase","object|data"]);function DR(n,i){return n=n.toLowerCase(),i=i.toLowerCase(),ER.has(n+"|"+i)||ER.has("*|"+i)}var xK=n=>(i,e)=>{let t=n.get(i)??i;return t instanceof $d&&(e instanceof lf&&t.i18n instanceof Ka&&(e.previousMessage=t.i18n),t.i18n=e),e},rx=class{keepI18nAttrs;enableI18nLegacyMessageIdFormat;preserveSignificantWhitespace;retainEmptyTokens;hasI18nMeta=!1;_errors=[];constructor(i=!1,e=!1,t=!0,o=!t){this.keepI18nAttrs=i,this.enableI18nLegacyMessageIdFormat=e,this.preserveSignificantWhitespace=t,this.retainEmptyTokens=o}_generateI18nMessage(i,e="",t){let{meaning:o,description:r,customId:a}=this._parseMetadata(e),p=hK(this.retainEmptyTokens,this.preserveSignificantWhitespace)(i,o,r,a,t);return this._setMessageId(p,e),this._setLegacyIds(p,e),p}visitAllWithErrors(i){let e=i.map(t=>t.visit(this,null));return new nx(e,this._errors)}visitElement(i){return this._visitElementLike(i),i}visitComponent(i,e){return this._visitElementLike(i),i}visitExpansion(i,e){let t,o=i.i18n;if(this.hasI18nMeta=!0,o instanceof lf){let r=o.name;t=this._generateI18nMessage([i],o);let a=D6(t);a.name=r,e!==null&&(e.placeholderToMessage[r]=t)}else t=this._generateI18nMessage([i],e||o);return i.i18n=t,i}visitText(i){return i}visitAttribute(i){return i}visitComment(i){return i}visitExpansionCase(i){return i}visitBlock(i,e){return wo(this,i.children,e),i}visitBlockParameter(i,e){return i}visitLetDeclaration(i,e){return i}visitDirective(i,e){return i}_visitElementLike(i){let e;if(FW(i)){this.hasI18nMeta=!0;let t=[],o={};for(let r of i.attrs)if(r.name===T6){let a=i.i18n||r.value,c=new Map,p=this.preserveSignificantWhitespace?i.children:Ec(new ix(!1,c),i.children);e=this._generateI18nMessage(p,a,xK(c)),e.nodes.length===0&&(e=void 0),i.i18n=e}else if(r.name.startsWith(QE)){let a=r.name.slice(QE.length),c;i instanceof Ga?c=i.tagName===null?!1:DR(i.tagName,a):c=DR(i.name,a),c?this._reportError(r,`Translating attribute '${a}' is disallowed for security reasons.`):o[a]=r.value}else t.push(r);if(Object.keys(o).length)for(let r of t){let a=o[r.name];a!==void 0&&r.value&&(r.i18n=this._generateI18nMessage([r],r.i18n||a))}this.keepI18nAttrs||(i.attrs=t)}wo(this,i.children,e)}_parseMetadata(i){return typeof i=="string"?wK(i):i instanceof Ka?i:{}}_setMessageId(i,e){i.id||(i.id=e instanceof Ka&&e.id||LG(i))}_setLegacyIds(i,e){if(this.enableI18nLegacyMessageIdFormat)i.legacyIds=[RG(i),v6(i)];else if(typeof e!="string"){let t=e instanceof Ka?e:e instanceof lf?e.previousMessage:void 0;i.legacyIds=t?t.legacyIds:[]}}_reportError(i,e){this._errors.push(new cn(i.sourceSpan,e))}},yK="|",SK="@@";function wK(n=""){let i,e,t;if(n=n.trim(),n){let o=n.indexOf(SK),r=n.indexOf(yK),a;[a,i]=o>-1?[n.slice(0,o),n.slice(o+2)]:[n,""],[e,t]=r>-1?[a.slice(0,r),a.slice(r+1)]:["",a]}return{customId:i,meaning:e,description:t}}function MK(n){let i=[];return n.description?i.push({tagName:"desc",text:n.description}):i.push({tagName:"suppress",text:"{msgDescriptions}"}),n.meaning&&i.push({tagName:"meaning",text:n.meaning}),ZG(i)}var kK="goog.getMsg";function TK(n,i,e,t){let o=DK(i),r=[Te(o)];Object.keys(t).length&&(r.push(mD(rP(t,!0),!0)),r.push(mD({original_code:vl(Object.keys(t).map(p=>({key:ev(p),quoted:!0,value:i.placeholders[p]?Te(i.placeholders[p].sourceSpan.toString()):Te(i.placeholderToMessage[p].nodes.map(u=>u.sourceSpan.toString()).join(""))})))})));let a=new $r(e.name,ei(kK).callFn(r),Xl,ua.Final);a.addLeadingComment(MK(i));let c=new ga(n.set(e));return[a,c]}var DD=class{formatPh(i){return`{$${ev(i)}}`}visitText(i){return i.value}visitContainer(i){return i.children.map(e=>e.visit(this)).join("")}visitIcu(i){return c8(i)}visitTagPlaceholder(i){return i.isVoid?this.formatPh(i.startName):`${this.formatPh(i.startName)}${i.children.map(e=>e.visit(this)).join("")}${this.formatPh(i.closeName)}`}visitPlaceholder(i){return this.formatPh(i.name)}visitBlockPlaceholder(i){return`${this.formatPh(i.startName)}${i.children.map(e=>e.visit(this)).join("")}${this.formatPh(i.closeName)}`}visitIcuPlaceholder(i,e){return this.formatPh(i.name)}},EK=new DD;function DK(n){return n.nodes.map(i=>i.visit(EK,null)).join("")}function PK(n,i,e){let{messageParts:t,placeHolders:o}=IK(i),r=AK(i),a=o.map(u=>e[u.text]),c=tW(i,t,o,a,r),p=n.set(c);return[new ga(p)]}var PD=class{placeholderToMessage;pieces;constructor(i,e){this.placeholderToMessage=i,this.pieces=e}visitText(i){if(this.pieces[this.pieces.length-1]instanceof su)this.pieces[this.pieces.length-1].text+=i.value;else{let e=new xn(i.sourceSpan.fullStart,i.sourceSpan.end,i.sourceSpan.fullStart,i.sourceSpan.details);this.pieces.push(new su(i.value,e))}}visitContainer(i Line truncated
`,"\r"," "];function Pte(n,i,e={}){let{preserveWhitespaces:t,enableI18nLegacyMessageIdFormat:o}=e,r=e.enableSelectorless??!1,a=mx(r),p=new ND().parse(n,i,We(q({leadingTriviaChars:Dte},e),{tokenizeExpansionForms:!0,tokenizeBlocks:e.enableBlockSyntax??!0,tokenizeLet:e.enableLetSyntax??!0,selectorlessEnabled:r}));if(!e.alwaysAttemptHtmlToR3AstConversion&&p.errors&&p.errors.length>0){let D={preserveWhitespaces:t,errors:p.errors,nodes:[],styleUrls:[],styles:[],ngContentSelectors:[]};return e.collectCommentNodes&&(D.commentNodes=[]),D}let u=p.rootNodes,h=!(e.preserveSignificantWhitespace??!0),g=new rx(!t,o,e.preserveSignificantWhitespace,h),S=g.visitAllWithErrors(u);if(!e.alwaysAttemptHtmlToR3AstConversion&&S.errors&&S.errors.length>0){let D={preserveWhitespaces:t,errors:S.errors,nodes:[],styleUrls:[],styles:[],ngContentSelectors:[]};return e.collectCommentNodes&&(D.commentNodes=[]),D}u=S.rootNodes,t||(u=wo(new ix(!0,void 0,!1),u),g.hasI18nMeta&&(u=wo(new rx(!1,void 0,!0,h),u)));let{nodes:x,errors:C,styleUrls:M,styles:w,ngContentSelectors:y,commentNodes:k}=Tte(u,a,{collectCommentNodes:!!e.collectCommentNodes});C.push(...p.errors,...S.errors);let I={preserveWhitespaces:t,errors:C.length>0?C:null,nodes:x,styleUrls:M,styles:w,ngContentSelectors:y};return e.collectCommentNodes&&(I.commentNodes=k),I}var Ite=new hf;function mx(n=!1){return new FD(new ox(new q0,n),Ite,[])}var L8="%COMP%",Ate=`_nghost-${L8}`,Ote=`_ngcontent-${L8}`;function B8(n,i,e){let t=new Lm,o=eP(n.selector);return t.set("type",n.type.value),o.length>0&&t.set("selectors",$h(o)),n.queries.length>0&&t.set("contentQueries",xee(n.queries,i,n.name)),n.viewQueries.length&&t.set("viewQuery",bee(n.viewQueries,i,n.name)),t.set("hostBindings",jte(n.host,n.typeSourceSpan,e,i,n.selector||"",n.name,t)),t.set("inputs",BF(n.inputs,!0)),t.set("outputs",BF(n.outputs)),n.exportAs!==null&&t.set("exportAs",Zi(n.exportAs.map(r=>Te(r)))),n.isStandalone===!1&&t.set("standalone",Te(!1)),n.isSignal&&t.set("signals",Te(!0)),t}function V8(n,i){let e=[],t=i.providers,o=i.viewProviders;if(t||o){let r=[t||new Vc([])];o&&r.push(o),e.push(Qt(fe.ProvidersFeature).callFn(r))}if(i.hostDirectives?.length&&e.push(Qt(fe.HostDirectivesFeature).callFn([Wte(i.hostDirectives)])),i.usesInheritance&&e.push(Qt(fe.InheritDefinitionFeature)),i.lifecycle.usesOnChanges&&e.push(Qt(fe.NgOnChangesFeature)),i.controlCreate!==null&&e.push(Qt(fe.ControlFeature).callFn([Te(i.controlCreate.passThroughInput)])),"externalStyles"in i&&i.externalStyles?.length){let r=i.externalStyles.map(a=>Te(a));e.push(Qt(fe.ExternalStylesFeature).callFn([Zi(r)]))}e.length&&n.set("features",Zi(e))}function Nte(n,i,e){let t=B8(n,i,e);V8(t,n);let o=Qt(fe.defineDirective).callFn([t.toLiteralMap()],void 0,!0),r=zte(n);return{expression:o,type:r,statements:[]}}function Fte(n,i,e){let t=B8(n,i,e);V8(t,n);let o=n.selector&&Xh.parse(n.selector),r=o&&o[0];if(r){let C=r.getAttrs();C.length&&t.set("attrs",i.getConstLiteral(Zi(C.map(M=>M!=null?Te(M):Te(void 0))),!0))}let a=n.name,c=null;if(n.defer.mode===1&&n.defer.dependenciesFn!==null){let C=`${a}_DeferFn`;i.statements.push(new $r(C,n.defer.dependenciesFn,void 0,ua.Final)),c=ei(C)}let p=n.isStandalone&&!n.hasDirectiveDependencies?cs.DomOnly:cs.Full,u=XJ(n.name,n.template.nodes,i,p,n.relativeContextFilePath,n.i18nUseExternalIds,n.defer,c,n.relativeTemplatePath,_ee());M8(u,Pt.Tmpl);let h=GJ(u,i);if(u.contentSelectors!==null&&t.set("ngContentSelectors",u.contentSelectors),t.set("decls",Te(u.root.decls)),t.set("vars",Te(u.root.vars)),u.consts.length>0&&(u.constsInitializers.length>0?t.set("consts",$s([],[...u.constsInitializers,new Er(Zi(u.consts))])):t.set("consts",Zi(u.consts))),t.set("template",h),n.declarationListEmitMode!==3&&n.declarations.length>0)t.set("dependencies",Lte(Zi(n.declarations.map(C=>C.type)),n.declarationListEmitMode));else if(n.declarationListEmitMode===3){let C=[n.type.value];n.rawImports&&C.push(n.rawImports),t.set("dependencies",Qt(fe.getComponentDepsFactory).callFn(C))}n.encapsulation===null&&(n.encapsulation=Jp.Emulated);let g=!!n.externalStyles?.length;if(n.styles&&n.styles.length){let M=(n.encapsulation==Jp.Emulated?Gte(n.styles,Ote,Ate):n.styles).reduce((w,y)=>(y.trim().length>0&&w.push(i.getConstLiteral(Te(y))),w),[]);M.length>0&&(g=!0,t.set("styles",Zi(M)))}!g&&n.encapsulation===Jp.Emulated&&(n.encapsulation=Jp.None),n.encapsulation!==Jp.Emulated&&t.set("encapsulation",Te(n.encapsulation)),n.animations!==null&&t.set("data",vl([{key:"animation",value:n.animations,quoted:!1}])),n.changeDetection!==null&&(typeof n.changeDetection=="number"&&n.changeDetection!==JD.Default?t.set("changeDetection",Te(n.changeDetection)):typeof n.changeDetection=="object"&&t.set("changeDetection",n.changeDetection));let S=Qt(fe.defineComponent).callFn([t.toLiteralMap()],void 0,!0),x=Rte(n);return{expression:S,type:x,statements:[]}}function Rte(n){let i=z8(n);return i.push(GD(n.template.ngContentSelectors)),i.push(ha(Te(n.isStandalone))),i.push(j8(n)),n.isSignal&&i.push(ha(Te(n.is Line truncated
`));for(let r in n)n.hasOwnProperty(r)&&n[r].forEach(a=>{ine(a)?t.properties[a.hostPropertyName||r]=CW("this",r):one(a)&&(t.listeners[a.eventName||r]=`${r}(${(a.args||[]).join(",")})`)});return t}function ine(n){return n.ngMetadataName==="HostBinding"}function one(n){return n.ngMetadataName==="HostListener"}function rne(n){return n.ngMetadataName==="Input"}function ane(n){return n.ngMetadataName==="Output"}function sne(n){return Object.keys(n).reduce((i,e)=>{let t=n[e];return typeof t=="string"||Array.isArray(t)?i[e]=lne(t):i[e]={bindingPropertyName:t.publicName,classPropertyName:e,transformFunction:t.transformFunction!==null?new li(t.transformFunction):null,required:t.isRequired,isSignal:t.isSignal},i},{})}function lne(n){return typeof n=="string"?{bindingPropertyName:n,classPropertyName:n,transformFunction:null,required:!1,isSignal:!1}:{bindingPropertyName:n[0],classPropertyName:n[1],transformFunction:n[2]?new li(n[2]):null,required:!1,isSignal:!1}}function cne(n){return n.reduce((i,e)=>{if(typeof e=="string"){let[t,o]=q8(e);i[o]={bindingPropertyName:t,classPropertyName:o,required:!1,isSignal:!1,transformFunction:null}}else i[e.name]={bindingPropertyName:e.alias||e.name,classPropertyName:e.name,required:e.required||!1,isSignal:!1,transformFunction:e.transform!=null?new li(e.transform):null};return i},{})}function yE(n){return n.reduce((i,e)=>{let[t,o]=q8(e);return i[o]=t,i},{})}function q8(n){let[i,e]=n.split(":",2).map(t=>t.trim());return[e??i,i]}function dne(n){return{name:n.type.name,type:zr(n.type),typeArgumentCount:0,pipeName:n.name,deps:null,pure:n.pure??!0,isStandalone:n.isStandalone??w6(n.version)}}function mne(n){return{name:n.type.name,type:zr(n.type),providers:n.providers!==void 0&&n.providers.length>0?new li(n.providers):null,imports:n.imports!==void 0?n.imports.map(i=>new li(i)):[]}}function pne(n){let i=n.ng||(n.ng={});i.\u0275compilerFacade=new YD}var ZD=class{closedByParent=!1;implicitNamespacePrefix=null;isVoid=!1;ignoreFirstLf=!1;canSelfClose=!0;preventNamespaceInheritance=!1;requireExtraParent(i){return!1}isClosedByChild(i){return!1}getContentType(){return Ic.PARSABLE_DATA}},O8e=new ZD;var N8e=new DE("21.2.6");pne(W_);function wP(n){let i=n.cloneNode(!0),e=i.querySelectorAll("[id]"),t=n.nodeName.toLowerCase();i.removeAttribute("id");for(let o=0;o<e.length;o++)e[o].removeAttribute("id");return t==="canvas"?K8(n,i):(t==="input"||t==="select"||t==="textarea")&&X8(n,i),Q8("canvas",n,i,K8),Q8("input, textarea, select",n,i,X8),i}function Q8(n,i,e,t){let o=i.querySelectorAll(n);if(o.length){let r=e.querySelectorAll(n);for(let a=0;a<o.length;a++)t(o[a],r[a])}}var hne=0;function X8(n,i){i.type!=="file"&&(i.value=n.value),i.type==="radio"&&i.name&&(i.name=`mat-clone-${i.name}-${hne++}`)}function K8(n,i){let e=i.getContext("2d");if(e)try{e.drawImage(n,0,0)}catch{}}function PP(n){let i=n.getBoundingClientRect();return{top:i.top,right:i.right,bottom:i.bottom,left:i.left,width:i.width,height:i.height,x:i.x,y:i.y}}function MP(n,i,e){let{top:t,bottom:o,left:r,right:a}=n;return e>=t&&e<=o&&i>=r&&i<=a}function fne(n,i){let e=i.left<n.left,t=i.left+i.width>n.right,o=i.top<n.top,r=i.top+i.height>n.bottom;return e||t||o||r}function rv(n,i,e){n.top+=i,n.bottom=n.top+n.height,n.left+=e,n.right=n.left+n.width}function Y8(n,i,e,t){let{top:o,right:r,bottom:a,left:c,width:p,height:u}=n,h=p*i,g=u*i;return t>o-g&&t<a+g&&e>c-h&&e<r+h}var yx=class{_document;positions=new Map;constructor(i){this._document=i}clear(){this.positions.clear()}cache(i){this.clear(),this.positions.set(this._document,{scrollPosition:this.getViewportScrollPosition()}),i.forEach(e=>{this.positions.set(e,{scrollPosition:{top:e.scrollTop,left:e.scrollLeft},clientRect:PP(e)})})}handleScroll(i){let e=Kp(i),t=this.positions.get(e);if(!t)return null;let o=t.scrollPosition,r,a;if(e===this._document){let u=this.getViewportScrollPosition();r=u.top,a=u.left}else r=e.scrollTop,a=e.scrollLeft;let c=o.top-r,p=o.left-a;return this.positions.forEach((u,h)=>{u.clientRect&&e!==h&&e.contains(h)&&rv(u.clientRect,c,p)}),o.top=r,o.left=a,{top:c,left:p}}getViewportScrollPosition(){return{top:window.scrollY,left:window.scrollX}}};function cL(n,i){let e=n.rootNodes;if(e.length===1&&e[0].nodeType===i.ELEMENT_NODE)return e[0];let t=i.createElement("div");return e.forEach(o=>t.appendChild(o)),t}function IP(n,i,e){for(let t in i)if(i.hasOwnProperty(t)){let o=i[t];o?n.setProperty(t,o,e?.has(t)?"important":""):n.removeProperty(t)}return n}function xf(n,i){let e=i?"":"none";IP(n.style,{"touch-action":i?"":"none","-webkit-user-drag":i?"":"none","-webkit-tap-highlight-color":i?"":"transparent","user-select":e,"-ms-user-select":e,"-webkit-user-select":e,"-moz-user-select":e})}function Z8(n,i,e){IP(n.style,{position:i?"":"fixed",top:i?"":"0",opacity:i?"":"0",left:i?"":"-999em"},e)}function Sx(n,i){return i&&i!="none"?n+" "+i:n}function J8(n,i){n.style.width=`${i.width}px`,n.style.height=`${i.height}px`,n.style.transform=av(i.left,i.top)}function av(n,i){return`translate3d(${MatLine truncated
`],encapsulation:2,changeDetection:0})}return n})(),dL=(()=>{class n{_ngZone=f(Ai);_document=f(Ui);_styleLoader=f(fr);_renderer=f(Td).createRenderer(null,null);_cleanupDocumentTouchmove;_scroll=new $e;_dropInstances=new Set;_dragInstances=new Set;_activeDragInstances=ne([]);_globalListeners;_draggingPredicate=e=>e.isDragging();_domNodesToDirectives=null;pointerMove=new $e;pointerUp=new $e;constructor(){}registerDropContainer(e){this._dropInstances.has(e)||this._dropInstances.add(e)}registerDragItem(e){this._dragInstances.add(e),this._dragInstances.size===1&&this._ngZone.runOutsideAngular(()=>{this._cleanupDocumentTouchmove?.(),this._cleanupDocumentTouchmove=this._renderer.listen(this._document,"touchmove",this._persistentTouchmoveListener,yP)})}removeDropContainer(e){this._dropInstances.delete(e)}removeDragItem(e){this._dragInstances.delete(e),this.stopDragging(e),this._dragInstances.size===0&&this._cleanupDocumentTouchmove?.()}startDragging(e,t){if(!(this._activeDragInstances().indexOf(e)>-1)&&(this._styleLoader.load(gne),this._activeDragInstances.update(o=>[...o,e]),this._activeDragInstances().length===1)){let o=t.type.startsWith("touch"),r=c=>this.pointerUp.next(c),a=[["scroll",c=>this._scroll.next(c),iv],["selectstart",this._preventDefaultWhileDragging,yP]];o?a.push(["touchend",r,iv],["touchcancel",r,iv]):a.push(["mouseup",r,iv]),o||a.push(["mousemove",c=>this.pointerMove.next(c),yP]),this._ngZone.runOutsideAngular(()=>{this._globalListeners=a.map(([c,p,u])=>this._renderer.listen(this._document,c,p,u))})}}stopDragging(e){this._activeDragInstances.update(t=>{let o=t.indexOf(e);return o>-1?(t.splice(o,1),[...t]):t}),this._activeDragInstances().length===0&&this._clearGlobalListeners()}isDragging(e){return this._activeDragInstances().indexOf(e)>-1}scrolled(e){let t=[this._scroll];return e&&e!==this._document&&t.push(new pr(o=>this._ngZone.runOutsideAngular(()=>{let r=this._renderer.listen(e,"scroll",a=>{this._activeDragInstances().length&&o.next(a)},iv);return()=>{r()}}))),Wn(...t)}registerDirectiveNode(e,t){this._domNodesToDirectives??=new WeakMap,this._domNodesToDirectives.set(e,t)}removeDirectiveNode(e){this._domNodesToDirectives?.delete(e)}getDragDirectiveForNode(e){return this._domNodesToDirectives?.get(e)||null}ngOnDestroy(){this._dragInstances.forEach(e=>this.removeDragItem(e)),this._dropInstances.forEach(e=>this.removeDropContainer(e)),this._domNodesToDirectives=null,this._clearGlobalListeners(),this.pointerMove.complete(),this.pointerUp.complete()}_preventDefaultWhileDragging=e=>{this._activeDragInstances().length>0&&e.preventDefault()};_persistentTouchmoveListener=e=>{this._activeDragInstances().length>0&&(this._activeDragInstances().some(this._draggingPredicate)&&e.preventDefault(),this.pointerMove.next(e))};_clearGlobalListeners(){this._globalListeners?.forEach(e=>e()),this._globalListeners=void 0}static \u0275fac=function(t){return new(t||n)};static \u0275prov=K({token:n,factory:n.\u0275fac,providedIn:"root"})}return n})();function eL(n){let i=n.toLowerCase().indexOf("ms")>-1?1:1e3;return parseFloat(n)*i}function _ne(n){let i=getComputedStyle(n),e=SP(i,"transition-property"),t=e.find(c=>c==="transform"||c==="all");if(!t)return 0;let o=e.indexOf(t),r=SP(i,"transition-duration"),a=SP(i,"transition-delay");return eL(r[o])+eL(a[o])}function SP(n,i){return n.getPropertyValue(i).split(",").map(t=>t.trim())}var vne=new Set(["position"]),kP=class{_document;_rootElement;_direction;_initialDomRect;_previewTemplate;_previewClass;_pickupPositionOnPage;_initialTransform;_zIndex;_renderer;_previewEmbeddedView=null;_preview;get element(){return this._preview}constructor(i,e,t,o,r,a,c,p,u,h){this._document=i,this._rootElement=e,this._direction=t,this._initialDomRect=o,this._previewTemplate=r,this._previewClass=a,this._pickupPositionOnPage=c,this._initialTransform=p,this._zIndex=u,this._renderer=h}attach(i){this._preview=this._createPreview(),i.appendChild(this._preview),tL(this._preview)&&this._preview.showPopover()}destroy(){this._preview.remove(),this._previewEmbeddedView?.destroy(),this._preview=this._previewEmbeddedView=null}setTransform(i){this._preview.style.transform=i}getBoundingClientRect(){return this._preview.getBoundingClientRect()}addClass(i){this._preview.classList.add(i)}getTransitionDuration(){return _ne(this._preview)}addEventListener(i,e){return this._renderer.listen(this._preview,i,e)}_createPreview(){let i=this._previewTemplate,e=this._previewClass,t=i?i.template:null,o;if(t&&i){let r=i.matchSize?this._initialDomRect:null,a=i.viewContainer.createEmbeddedView(t,i.context);a.detectChanges(),o=cL(a,this._document),this._previewEmbeddedView=a,i.matchSize?J8(o,r):o.style.transform=av(this._pickupPositionOnPage.x,this._pickupPositionOnPage.y)}else o=wP(this._rootElement),J8(o,this._initialDomRect),this._initialTransform&&(o.style.transform=this._initialTransform);return IP(o.style,{"pointer-events":"none",margin:tL(o)?"0 auto 0 0":"0",position:"fixed",top:"0",left:"0","z-index":this._zIndex+""}, Line truncated
`],encapsulation:2})}return n})();function Mx(n,i){return n.concat(Array.from(i))}function _L(n,i){let e=i.toUpperCase(),t=n.viewContainer.element.nativeElement;for(;t;){let o=t.nodeType===1?t.nodeName:null;if(o===e)return t;if(o==="TABLE")break;t=t.parentNode}return null}var Px=(()=>{class n{static \u0275fac=function(t){return new(t||n)};static \u0275mod=Gt({type:n});static \u0275inj=Ut({imports:[w1]})}return n})();var yL=(()=>{class n{static \u0275fac=function(t){return new(t||n)};static \u0275mod=Gt({type:n});static \u0275inj=Ut({imports:[Id,vi,Id]})}return n})();var Xn=(function(n){return n[n.State=0]="State",n[n.Transition=1]="Transition",n[n.Sequence=2]="Sequence",n[n.Group=3]="Group",n[n.Animate=4]="Animate",n[n.Keyframes=5]="Keyframes",n[n.Style=6]="Style",n[n.Trigger=7]="Trigger",n[n.Reference=8]="Reference",n[n.AnimateChild=9]="AnimateChild",n[n.AnimateRef=10]="AnimateRef",n[n.Query=11]="Query",n[n.Stagger=12]="Stagger",n})(Xn||{}),xl="*";function $P(n,i){return{type:Xn.Trigger,name:n,definitions:i,options:{}}}function HP(n,i=null){return{type:Xn.Animate,styles:i,timings:n}}function SL(n,i=null){return{type:Xn.Sequence,steps:n,options:i}}function Nu(n){return{type:Xn.Style,styles:n,offset:null}}function Ix(n,i,e){return{type:Xn.State,name:n,styles:i,options:e}}function UP(n,i,e=null){return{type:Xn.Transition,expr:n,animation:i,options:e}}var Gc=class{_onDoneFns=[];_onStartFns=[];_onDestroyFns=[];_originalOnDoneFns=[];_originalOnStartFns=[];_started=!1;_destroyed=!1;_finished=!1;_position=0;parentPlayer=null;totalTime;constructor(i=0,e=0){this.totalTime=i+e}_onFinish(){this._finished||(this._finished=!0,this._onDoneFns.forEach(i=>i()),this._onDoneFns=[])}onStart(i){this._originalOnStartFns.push(i),this._onStartFns.push(i)}onDone(i){this._originalOnDoneFns.push(i),this._onDoneFns.push(i)}onDestroy(i){this._onDestroyFns.push(i)}hasStarted(){return this._started}init(){}play(){this.hasStarted()||(this._onStart(),this.triggerMicrotask()),this._started=!0}triggerMicrotask(){queueMicrotask(()=>this._onFinish())}_onStart(){this._onStartFns.forEach(i=>i()),this._onStartFns=[]}pause(){}restart(){}finish(){this._onFinish()}destroy(){this._destroyed||(this._destroyed=!0,this.hasStarted()||this._onStart(),this.finish(),this._onDestroyFns.forEach(i=>i()),this._onDestroyFns=[])}reset(){this._started=!1,this._finished=!1,this._onStartFns=this._originalOnStartFns,this._onDoneFns=this._originalOnDoneFns}setPosition(i){this._position=this.totalTime?i*this.totalTime:1}getPosition(){return this.totalTime?this._position/this.totalTime:1}triggerCallback(i){let e=i=="start"?this._onStartFns:this._onDoneFns;e.forEach(t=>t()),e.length=0}},Ou=class{_onDoneFns=[];_onStartFns=[];_finished=!1;_started=!1;_destroyed=!1;_onDestroyFns=[];parentPlayer=null;totalTime=0;players;constructor(i){this.players=i;let e=0,t=0,o=0,r=this.players.length;r==0?queueMicrotask(()=>this._onFinish()):this.players.forEach(a=>{a.onDone(()=>{++e==r&&this._onFinish()}),a.onDestroy(()=>{++t==r&&this._onDestroy()}),a.onStart(()=>{++o==r&&this._onStart()})}),this.totalTime=this.players.reduce((a,c)=>Math.max(a,c.totalTime),0)}_onFinish(){this._finished||(this._finished=!0,this._onDoneFns.forEach(i=>i()),this._onDoneFns=[])}init(){this.players.forEach(i=>i.init())}onStart(i){this._onStartFns.push(i)}_onStart(){this.hasStarted()||(this._started=!0,this._onStartFns.forEach(i=>i()),this._onStartFns=[])}onDone(i){this._onDoneFns.push(i)}onDestroy(i){this._onDestroyFns.push(i)}hasStarted(){return this._started}play(){this.parentPlayer||this.init(),this._onStart(),this.players.forEach(i=>i.play())}pause(){this.players.forEach(i=>i.pause())}restart(){this.players.forEach(i=>i.restart())}finish(){this._onFinish(),this.players.forEach(i=>i.finish())}destroy(){this._onDestroy()}_onDestroy(){this._destroyed||(this._destroyed=!0,this._onFinish(),this.players.forEach(i=>i.destroy()),this._onDestroyFns.forEach(i=>i()),this._onDestroyFns=[])}reset(){this.players.forEach(i=>i.reset()),this._destroyed=!1,this._finished=!1,this._started=!1}setPosition(i){let e=i*this.totalTime;this.players.forEach(t=>{let o=t.totalTime?Math.min(1,e/t.totalTime):1;t.setPosition(o)})}getPosition(){let i=this.players.reduce((e,t)=>e===null||t.totalTime>e.totalTime?t:e,null);return i!=null?i.getPosition():0}beforeDestroy(){this.players.forEach(i=>{i.beforeDestroy&&i.beforeDestroy()})}triggerCallback(i){let e=i=="start"?this._onStartFns:this._onDoneFns;e.forEach(t=>t()),e.length=0}},yf="!";function wL(n){return new Cn(3e3,!1)}function One(){return new Cn(3100,!1)}function Nne(){return new Cn(3101,!1)}function Fne(n){return new Cn(3001,!1)}function Rne(n){return new Cn(3003,!1)}function Lne(n){return new Cn(3004,!1)}function kL(n,i){return new Cn(3005,!1)}function TL(){return new Cn(3006,!1)}function EL(){return new Cn(3007,!1)}function DL(n,i){return new Cn(3008,!1)}function PL(n){return new Cn(3002,!1)}function IL(n,i,e,t,o){return new Cn(3010,!1)}function AL(){return new Cn(3011,!1)}functio Line truncated
`.trim());if(n.some((e,t)=>i[t].constructor!==e.constructor))throw new Error("The types of the i18n message children changed between first and second pass.")}var jW=/\/\/[\s\S]*i18n[\s\S]*\([\s\S]*ph[\s\S]*=[\s\S]*("|')([\s\S]*?)\1[\s\S]*\)/g;function $W(n){return n.split(jW)[2]}var Y5=new Set(["iframe|srcdoc","*|innerhtml","*|outerhtml","embed|src","iframe|src","object|codebase","object|data"]);function Z5(n,i){return n=n.toLowerCase(),i=i.toLowerCase(),Y5.has(n+"|"+i)||Y5.has("*|"+i)}var HW=n=>(i,e)=>{let t=n.get(i)??i;return t instanceof yd&&(e instanceof Ph&&t.i18n instanceof za&&(e.previousMessage=t.i18n),t.i18n=e),e},W1=class{keepI18nAttrs;enableI18nLegacyMessageIdFormat;preserveSignificantWhitespace;retainEmptyTokens;hasI18nMeta=!1;_errors=[];constructor(i=!1,e=!1,t=!0,o=!t){this.keepI18nAttrs=i,this.enableI18nLegacyMessageIdFormat=e,this.preserveSignificantWhitespace=t,this.retainEmptyTokens=o}_generateI18nMessage(i,e="",t){let{meaning:o,description:r,customId:a}=this._parseMetadata(e),p=RW(this.retainEmptyTokens,this.preserveSignificantWhitespace)(i,o,r,a,t);return this._setMessageId(p,e),this._setLegacyIds(p,e),p}visitAllWithErrors(i){let e=i.map(t=>t.visit(this,null));return new H1(e,this._errors)}visitElement(i){return this._visitElementLike(i),i}visitComponent(i,e){return this._visitElementLike(i),i}visitExpansion(i,e){let t,o=i.i18n;if(this.hasI18nMeta=!0,o instanceof Ph){let r=o.name;t=this._generateI18nMessage([i],o);let a=ZN(t);a.name=r,e!==null&&(e.placeholderToMessage[r]=t)}else t=this._generateI18nMessage([i],e||o);return i.i18n=t,i}visitText(i){return i}visitAttribute(i){return i}visitComment(i){return i}visitExpansionCase(i){return i}visitBlock(i,e){return Co(this,i.children,e),i}visitBlockParameter(i,e){return i}visitLetDeclaration(i,e){return i}visitDirective(i,e){return i}_visitElementLike(i){let e;if(iH(i)){this.hasI18nMeta=!0;let t=[],o={};for(let r of i.attrs)if(r.name===KN){let a=i.i18n||r.value,c=new Map,p=this.preserveSignificantWhitespace?i.children:uc(new U1(!1,c),i.children);e=this._generateI18nMessage(p,a,HW(c)),e.nodes.length===0&&(e=void 0),i.i18n=e}else if(r.name.startsWith(aT)){let a=r.name.slice(aT.length),c;i instanceof Fa?c=i.tagName===null?!1:Z5(i.tagName,a):c=Z5(i.name,a),c?this._reportError(r,`Translating attribute '${a}' is disallowed for security reasons.`):o[a]=r.value}else t.push(r);if(Object.keys(o).length)for(let r of t){let a=o[r.name];a!==void 0&&r.value&&(r.i18n=this._generateI18nMessage([r],r.i18n||a))}this.keepI18nAttrs||(i.attrs=t)}Co(this,i.children,e)}_parseMetadata(i){return typeof i=="string"?WW(i):i instanceof za?i:{}}_setMessageId(i,e){i.id||(i.id=e instanceof za&&e.id||r$(i))}_setLegacyIds(i,e){if(this.enableI18nLegacyMessageIdFormat)i.legacyIds=[o$(i),jN(i)];else if(typeof e!="string"){let t=e instanceof za?e:e instanceof Ph?e.previousMessage:void 0;i.legacyIds=t?t.legacyIds:[]}}_reportError(i,e){this._errors.push(new sn(i.sourceSpan,e))}},UW="|",GW="@@";function WW(n=""){let i,e,t;if(n=n.trim(),n){let o=n.indexOf(GW),r=n.indexOf(UW),a;[a,i]=o>-1?[n.slice(0,o),n.slice(o+2)]:[n,""],[e,t]=r>-1?[a.slice(0,r),a.slice(r+1)]:["",a]}return{customId:i,meaning:e,description:t}}function qW(n){let i=[];return n.description?i.push({tagName:"desc",text:n.description}):i.push({tagName:"suppress",text:"{msgDescriptions}"}),n.meaning&&i.push({tagName:"meaning",text:n.meaning}),b$(i)}var QW="goog.getMsg";function XW(n,i,e,t){let o=YW(i),r=[Te(o)];Object.keys(t).length&&(r.push(ST(_E(t,!0),!0)),r.push(ST({original_code:nl(Object.keys(t).map(p=>({key:s0(p),quoted:!0,value:i.placeholders[p]?Te(i.placeholders[p].sourceSpan.toString()):Te(i.placeholderToMessage[p].nodes.map(u=>u.sourceSpan.toString()).join(""))})))})));let a=new Rr(e.name,Yn(QW).callFn(r),Ol,oa.Final);a.addLeadingComment(qW(i));let c=new sa(n.set(e));return[a,c]}var jT=class{formatPh(i){return`{$${s0(i)}}`}visitText(i){return i.value}visitContainer(i){return i.children.map(e=>e.visit(this)).join("")}visitIcu(i){return AF(i)}visitTagPlaceholder(i){return i.isVoid?this.formatPh(i.startName):`${this.formatPh(i.startName)}${i.children.map(e=>e.visit(this)).join("")}${this.formatPh(i.closeName)}`}visitPlaceholder(i){return this.formatPh(i.name)}visitBlockPlaceholder(i){return`${this.formatPh(i.startName)}${i.children.map(e=>e.visit(this)).join("")}${this.formatPh(i.closeName)}`}visitIcuPlaceholder(i,e){return this.formatPh(i.name)}},KW=new jT;function YW(n){return n.nodes.map(i=>i.visit(KW,null)).join("")}function ZW(n,i,e){let{messageParts:t,placeHolders:o}=JW(i),r=eq(i),a=o.map(u=>e[u.text]),c=S$(i,t,o,a,r),p=n.set(c);return[new sa(p)]}var $T=class{placeholderToMessage;pieces;constructor(i,e){this.placeholderToMessage=i,this.pieces=e}visitText(i){if(this.pieces[this.pieces.length-1]instanceof Ip)this.pieces[this.pieces.length-1].text+=i.value;else{let e=new gn(i.sourceSpan.fullStart,i.sourceSpan.end,i.sourceSpan.fullStart,i.sourceSpan.details);this.pieces.push(new Ip(i.value,e))}}visitContainer(i Line truncated
`,"\r"," "];function ZY(n,i,e={}){let{preserveWhitespaces:t,enableI18nLegacyMessageIdFormat:o}=e,r=e.enableSelectorless??!1,a=Z1(r),p=new WT().parse(n,i,it(K({leadingTriviaChars:YY},e),{tokenizeExpansionForms:!0,tokenizeBlocks:e.enableBlockSyntax??!0,tokenizeLet:e.enableLetSyntax??!0,selectorlessEnabled:r}));if(!e.alwaysAttemptHtmlToR3AstConversion&&p.errors&&p.errors.length>0){let D={preserveWhitespaces:t,errors:p.errors,nodes:[],styleUrls:[],styles:[],ngContentSelectors:[]};return e.collectCommentNodes&&(D.commentNodes=[]),D}let u=p.rootNodes,h=!(e.preserveSignificantWhitespace??!0),_=new W1(!t,o,e.preserveSignificantWhitespace,h),S=_.visitAllWithErrors(u);if(!e.alwaysAttemptHtmlToR3AstConversion&&S.errors&&S.errors.length>0){let D={preserveWhitespaces:t,errors:S.errors,nodes:[],styleUrls:[],styles:[],ngContentSelectors:[]};return e.collectCommentNodes&&(D.commentNodes=[]),D}u=S.rootNodes,t||(u=Co(new U1(!0,void 0,!1),u),_.hasI18nMeta&&(u=Co(new W1(!1,void 0,!0,h),u)));let{nodes:x,errors:b,styleUrls:M,styles:w,ngContentSelectors:y,commentNodes:E}=XY(u,a,{collectCommentNodes:!!e.collectCommentNodes});b.push(...p.errors,...S.errors);let I={preserveWhitespaces:t,errors:b.length>0?b:null,nodes:x,styleUrls:M,styles:w,ngContentSelectors:y};return e.collectCommentNodes&&(I.commentNodes=E),I}var JY=new Rh;function Z1(n=!1){return new qT(new G1(new e0,n),JY,[])}var a6="%COMP%",eZ=`_nghost-${a6}`,tZ=`_ngcontent-${a6}`;function s6(n,i,e){let t=new dm,o=pE(n.selector);return t.set("type",n.type.value),o.length>0&&t.set("selectors",mh(o)),n.queries.length>0&&t.set("contentQueries",HK(n.queries,i,n.name)),n.viewQueries.length&&t.set("viewQuery",$K(n.viewQueries,i,n.name)),t.set("hostBindings",cZ(n.host,n.typeSourceSpan,e,i,n.selector||"",n.name,t)),t.set("inputs",s5(n.inputs,!0)),t.set("outputs",s5(n.outputs)),n.exportAs!==null&&t.set("exportAs",Gi(n.exportAs.map(r=>Te(r)))),n.isStandalone===!1&&t.set("standalone",Te(!1)),n.isSignal&&t.set("signals",Te(!0)),t}function l6(n,i){let e=[],t=i.providers,o=i.viewProviders;if(t||o){let r=[t||new wc([])];o&&r.push(o),e.push(Ut(fe.ProvidersFeature).callFn(r))}if(i.hostDirectives?.length&&e.push(Ut(fe.HostDirectivesFeature).callFn([hZ(i.hostDirectives)])),i.usesInheritance&&e.push(Ut(fe.InheritDefinitionFeature)),i.lifecycle.usesOnChanges&&e.push(Ut(fe.NgOnChangesFeature)),i.controlCreate!==null&&e.push(Ut(fe.ControlFeature).callFn([Te(i.controlCreate.passThroughInput)])),"externalStyles"in i&&i.externalStyles?.length){let r=i.externalStyles.map(a=>Te(a));e.push(Ut(fe.ExternalStylesFeature).callFn([Gi(r)]))}e.length&&n.set("features",Gi(e))}function nZ(n,i,e){let t=s6(n,i,e);l6(t,n);let o=Ut(fe.defineDirective).callFn([t.toLiteralMap()],void 0,!0),r=lZ(n);return{expression:o,type:r,statements:[]}}function iZ(n,i,e){let t=s6(n,i,e);l6(t,n);let o=n.selector&&vh.parse(n.selector),r=o&&o[0];if(r){let b=r.getAttrs();b.length&&t.set("attrs",i.getConstLiteral(Gi(b.map(M=>M!=null?Te(M):Te(void 0))),!0))}let a=n.name,c=null;if(n.defer.mode===1&&n.defer.dependenciesFn!==null){let b=`${a}_DeferFn`;i.statements.push(new Rr(b,n.defer.dependenciesFn,void 0,oa.Final)),c=Yn(b)}let p=n.isStandalone&&!n.hasDirectiveDependencies?Za.DomOnly:Za.Full,u=_K(n.name,n.template.nodes,i,p,n.relativeContextFilePath,n.i18nUseExternalIds,n.defer,c,n.relativeTemplatePath,BK());QF(u,Et.Tmpl);let h=uK(u,i);if(u.contentSelectors!==null&&t.set("ngContentSelectors",u.contentSelectors),t.set("decls",Te(u.root.decls)),t.set("vars",Te(u.root.vars)),u.consts.length>0&&(u.constsInitializers.length>0?t.set("consts",Ds([],[...u.constsInitializers,new xr(Gi(u.consts))])):t.set("consts",Gi(u.consts))),t.set("template",h),n.declarationListEmitMode!==3&&n.declarations.length>0)t.set("dependencies",rZ(Gi(n.declarations.map(b=>b.type)),n.declarationListEmitMode));else if(n.declarationListEmitMode===3){let b=[n.type.value];n.rawImports&&b.push(n.rawImports),t.set("dependencies",Ut(fe.getComponentDepsFactory).callFn(b))}n.encapsulation===null&&(n.encapsulation=Sp.Emulated);let _=!!n.externalStyles?.length;if(n.styles&&n.styles.length){let M=(n.encapsulation==Sp.Emulated?uZ(n.styles,tZ,eZ):n.styles).reduce((w,y)=>(y.trim().length>0&&w.push(i.getConstLiteral(Te(y))),w),[]);M.length>0&&(_=!0,t.set("styles",Gi(M)))}!_&&n.encapsulation===Sp.Emulated&&(n.encapsulation=Sp.None),n.encapsulation!==Sp.Emulated&&t.set("encapsulation",Te(n.encapsulation)),n.animations!==null&&t.set("data",nl([{key:"animation",value:n.animations,quoted:!1}])),n.changeDetection!==null&&(typeof n.changeDetection=="number"&&n.changeDetection!==mE.Default?t.set("changeDetection",Te(n.changeDetection)):typeof n.changeDetection=="object"&&t.set("changeDetection",n.changeDetection));let S=Ut(fe.defineComponent).callFn([t.toLiteralMap()],void 0,!0),x=oZ(n);return{expression:S,type:x,statements:[]}}function oZ(n){let i=c6(n);return i.push(iE(n.template.ngContentSelectors)),i.push(ra(Te(n.isStandalone))),i.push(d6(n)),n.isSignal&&i.push(ra(Te(n.isSignal))),ra(Ut(fe.Co Line truncated
`));for(let r in n)n.hasOwnProperty(r)&&n[r].forEach(a=>{MZ(a)?t.properties[a.hostPropertyName||r]=j$("this",r):kZ(a)&&(t.listeners[a.eventName||r]=`${r}(${(a.args||[]).join(",")})`)});return t}function MZ(n){return n.ngMetadataName==="HostBinding"}function kZ(n){return n.ngMetadataName==="HostListener"}function TZ(n){return n.ngMetadataName==="Input"}function EZ(n){return n.ngMetadataName==="Output"}function DZ(n){return Object.keys(n).reduce((i,e)=>{let t=n[e];return typeof t=="string"||Array.isArray(t)?i[e]=PZ(t):i[e]={bindingPropertyName:t.publicName,classPropertyName:e,transformFunction:t.transformFunction!==null?new oi(t.transformFunction):null,required:t.isRequired,isSignal:t.isSignal},i},{})}function PZ(n){return typeof n=="string"?{bindingPropertyName:n,classPropertyName:n,transformFunction:null,required:!1,isSignal:!1}:{bindingPropertyName:n[0],classPropertyName:n[1],transformFunction:n[2]?new oi(n[2]):null,required:!1,isSignal:!1}}function IZ(n){return n.reduce((i,e)=>{if(typeof e=="string"){let[t,o]=g6(e);i[o]={bindingPropertyName:t,classPropertyName:o,required:!1,isSignal:!1,transformFunction:null}}else i[e.name]={bindingPropertyName:e.alias||e.name,classPropertyName:e.name,required:e.required||!1,isSignal:!1,transformFunction:e.transform!=null?new oi(e.transform):null};return i},{})}function Nk(n){return n.reduce((i,e)=>{let[t,o]=g6(e);return i[o]=t,i},{})}function g6(n){let[i,e]=n.split(":",2).map(t=>t.trim());return[e??i,i]}function AZ(n){return{name:n.type.name,type:Nr(n.type),typeArgumentCount:0,pipeName:n.name,deps:null,pure:n.pure??!0,isStandalone:n.isStandalone??qN(n.version)}}function OZ(n){return{name:n.type.name,type:Nr(n.type),providers:n.providers!==void 0&&n.providers.length>0?new oi(n.providers):null,imports:n.imports!==void 0?n.imports.map(i=>new oi(i)):[]}}function NZ(n){let i=n.ng||(n.ng={});i.\u0275compilerFacade=new cE}var dE=class{closedByParent=!1;implicitNamespacePrefix=null;isVoid=!1;ignoreFirstLf=!1;canSelfClose=!0;preventNamespaceInheritance=!1;requireExtraParent(i){return!1}isClosedByChild(i){return!1}getContentType(){return gc.PARSABLE_DATA}},_5e=new dE;var v5e=new jk("21.2.6");NZ(Jg);function RE(n){let i=n.cloneNode(!0),e=i.querySelectorAll("[id]"),t=n.nodeName.toLowerCase();i.removeAttribute("id");for(let o=0;o<e.length;o++)e[o].removeAttribute("id");return t==="canvas"?C6(n,i):(t==="input"||t==="select"||t==="textarea")&&v6(n,i),_6("canvas",n,i,C6),_6("input, textarea, select",n,i,v6),i}function _6(n,i,e,t){let o=i.querySelectorAll(n);if(o.length){let r=e.querySelectorAll(n);for(let a=0;a<o.length;a++)t(o[a],r[a])}}var RZ=0;function v6(n,i){i.type!=="file"&&(i.value=n.value),i.type==="radio"&&i.name&&(i.name=`mat-clone-${i.name}-${RZ++}`)}function C6(n,i){let e=i.getContext("2d");if(e)try{e.drawImage(n,0,0)}catch{}}function $E(n){let i=n.getBoundingClientRect();return{top:i.top,right:i.right,bottom:i.bottom,left:i.left,width:i.width,height:i.height,x:i.x,y:i.y}}function LE(n,i,e){let{top:t,bottom:o,left:r,right:a}=n;return e>=t&&e<=o&&i>=r&&i<=a}function LZ(n,i){let e=i.left<n.left,t=i.left+i.width>n.right,o=i.top<n.top,r=i.top+i.height>n.bottom;return e||t||o||r}function p0(n,i,e){n.top+=i,n.bottom=n.top+n.height,n.left+=e,n.right=n.left+n.width}function b6(n,i,e,t){let{top:o,right:r,bottom:a,left:c,width:p,height:u}=n,h=p*i,_=u*i;return t>o-_&&t<a+_&&e>c-h&&e<r+h}var cb=class{_document;positions=new Map;constructor(i){this._document=i}clear(){this.positions.clear()}cache(i){this.clear(),this.positions.set(this._document,{scrollPosition:this.getViewportScrollPosition()}),i.forEach(e=>{this.positions.set(e,{scrollPosition:{top:e.scrollTop,left:e.scrollLeft},clientRect:$E(e)})})}handleScroll(i){let e=Cp(i),t=this.positions.get(e);if(!t)return null;let o=t.scrollPosition,r,a;if(e===this._document){let u=this.getViewportScrollPosition();r=u.top,a=u.left}else r=e.scrollTop,a=e.scrollLeft;let c=o.top-r,p=o.left-a;return this.positions.forEach((u,h)=>{u.clientRect&&e!==h&&e.contains(h)&&p0(u.clientRect,c,p)}),o.top=r,o.left=a,{top:c,left:p}}getViewportScrollPosition(){return{top:window.scrollY,left:window.scrollX}}};function A6(n,i){let e=n.rootNodes;if(e.length===1&&e[0].nodeType===i.ELEMENT_NODE)return e[0];let t=i.createElement("div");return e.forEach(o=>t.appendChild(o)),t}function HE(n,i,e){for(let t in i)if(i.hasOwnProperty(t)){let o=i[t];o?n.setProperty(t,o,e?.has(t)?"important":""):n.removeProperty(t)}return n}function Hh(n,i){let e=i?"":"none";HE(n.style,{"touch-action":i?"":"none","-webkit-user-drag":i?"":"none","-webkit-tap-highlight-color":i?"":"transparent","user-select":e,"-ms-user-select":e,"-webkit-user-select":e,"-moz-user-select":e})}function x6(n,i,e){HE(n.style,{position:i?"":"fixed",top:i?"":"0",opacity:i?"":"0",left:i?"":"-999em"},e)}function db(n,i){return i&&i!="none"?n+" "+i:n}function y6(n,i){n.style.width=`${i.width}px`,n.style.height=`${i.height}px`,n.style.transform=u0(i.left,i.top)}function u0(n,i){return`translate3d(${Math.round(n)}px, ${Line truncated
`],encapsulation:2,changeDetection:0})}return n})(),O6=(()=>{class n{_ngZone=f(Vi);_document=f(Xi);_styleLoader=f(cr);_renderer=f(sd).createRenderer(null,null);_cleanupDocumentTouchmove;_scroll=new He;_dropInstances=new Set;_dragInstances=new Set;_activeDragInstances=ae([]);_globalListeners;_draggingPredicate=e=>e.isDragging();_domNodesToDirectives=null;pointerMove=new He;pointerUp=new He;constructor(){}registerDropContainer(e){this._dropInstances.has(e)||this._dropInstances.add(e)}registerDragItem(e){this._dragInstances.add(e),this._dragInstances.size===1&&this._ngZone.runOutsideAngular(()=>{this._cleanupDocumentTouchmove?.(),this._cleanupDocumentTouchmove=this._renderer.listen(this._document,"touchmove",this._persistentTouchmoveListener,NE)})}removeDropContainer(e){this._dropInstances.delete(e)}removeDragItem(e){this._dragInstances.delete(e),this.stopDragging(e),this._dragInstances.size===0&&this._cleanupDocumentTouchmove?.()}startDragging(e,t){if(!(this._activeDragInstances().indexOf(e)>-1)&&(this._styleLoader.load(VZ),this._activeDragInstances.update(o=>[...o,e]),this._activeDragInstances().length===1)){let o=t.type.startsWith("touch"),r=c=>this.pointerUp.next(c),a=[["scroll",c=>this._scroll.next(c),d0],["selectstart",this._preventDefaultWhileDragging,NE]];o?a.push(["touchend",r,d0],["touchcancel",r,d0]):a.push(["mouseup",r,d0]),o||a.push(["mousemove",c=>this.pointerMove.next(c),NE]),this._ngZone.runOutsideAngular(()=>{this._globalListeners=a.map(([c,p,u])=>this._renderer.listen(this._document,c,p,u))})}}stopDragging(e){this._activeDragInstances.update(t=>{let o=t.indexOf(e);return o>-1?(t.splice(o,1),[...t]):t}),this._activeDragInstances().length===0&&this._clearGlobalListeners()}isDragging(e){return this._activeDragInstances().indexOf(e)>-1}scrolled(e){let t=[this._scroll];return e&&e!==this._document&&t.push(new Dr(o=>this._ngZone.runOutsideAngular(()=>{let r=this._renderer.listen(e,"scroll",a=>{this._activeDragInstances().length&&o.next(a)},d0);return()=>{r()}}))),Hn(...t)}registerDirectiveNode(e,t){this._domNodesToDirectives??=new WeakMap,this._domNodesToDirectives.set(e,t)}removeDirectiveNode(e){this._domNodesToDirectives?.delete(e)}getDragDirectiveForNode(e){return this._domNodesToDirectives?.get(e)||null}ngOnDestroy(){this._dragInstances.forEach(e=>this.removeDragItem(e)),this._dropInstances.forEach(e=>this.removeDropContainer(e)),this._domNodesToDirectives=null,this._clearGlobalListeners(),this.pointerMove.complete(),this.pointerUp.complete()}_preventDefaultWhileDragging=e=>{this._activeDragInstances().length>0&&e.preventDefault()};_persistentTouchmoveListener=e=>{this._activeDragInstances().length>0&&(this._activeDragInstances().some(this._draggingPredicate)&&e.preventDefault(),this.pointerMove.next(e))};_clearGlobalListeners(){this._globalListeners?.forEach(e=>e()),this._globalListeners=void 0}static \u0275fac=function(t){return new(t||n)};static \u0275prov=J({token:n,factory:n.\u0275fac,providedIn:"root"})}return n})();function S6(n){let i=n.toLowerCase().indexOf("ms")>-1?1:1e3;return parseFloat(n)*i}function BZ(n){let i=getComputedStyle(n),e=FE(i,"transition-property"),t=e.find(c=>c==="transform"||c==="all");if(!t)return 0;let o=e.indexOf(t),r=FE(i,"transition-duration"),a=FE(i,"transition-delay");return S6(r[o])+S6(a[o])}function FE(n,i){return n.getPropertyValue(i).split(",").map(t=>t.trim())}var zZ=new Set(["position"]),VE=class{_document;_rootElement;_direction;_initialDomRect;_previewTemplate;_previewClass;_pickupPositionOnPage;_initialTransform;_zIndex;_renderer;_previewEmbeddedView=null;_preview;get element(){return this._preview}constructor(i,e,t,o,r,a,c,p,u,h){this._document=i,this._rootElement=e,this._direction=t,this._initialDomRect=o,this._previewTemplate=r,this._previewClass=a,this._pickupPositionOnPage=c,this._initialTransform=p,this._zIndex=u,this._renderer=h}attach(i){this._preview=this._createPreview(),i.appendChild(this._preview),w6(this._preview)&&this._preview.showPopover()}destroy(){this._preview.remove(),this._previewEmbeddedView?.destroy(),this._preview=this._previewEmbeddedView=null}setTransform(i){this._preview.style.transform=i}getBoundingClientRect(){return this._preview.getBoundingClientRect()}addClass(i){this._preview.classList.add(i)}getTransitionDuration(){return BZ(this._preview)}addEventListener(i,e){return this._renderer.listen(this._preview,i,e)}_createPreview(){let i=this._previewTemplate,e=this._previewClass,t=i?i.template:null,o;if(t&&i){let r=i.matchSize?this._initialDomRect:null,a=i.viewContainer.createEmbeddedView(t,i.context);a.detectChanges(),o=A6(a,this._document),this._previewEmbeddedView=a,i.matchSize?y6(o,r):o.style.transform=u0(this._pickupPositionOnPage.x,this._pickupPositionOnPage.y)}else o=RE(this._rootElement),y6(o,this._initialDomRect),this._initialTransform&&(o.style.transform=this._initialTransform);return HE(o.style,{"pointer-events":"none",margin:w6(o)?"0 auto 0 0":"0",position:"fixed",top:"0",left:"0","z-index":this._zIndex+""},zZ), Line truncated
`],encapsulation:2})}return n})();function pb(n,i){return n.concat(Array.from(i))}function z6(n,i){let e=i.toUpperCase(),t=n.viewContainer.element.nativeElement;for(;t;){let o=t.nodeType===1?t.nodeName:null;if(o===e)return t;if(o==="TABLE")break;t=t.parentNode}return null}var _b=(()=>{class n{static \u0275fac=function(t){return new(t||n)};static \u0275mod=Ht({type:n});static \u0275inj=$t({imports:[mC]})}return n})();var G6=(()=>{class n{static \u0275fac=function(t){return new(t||n)};static \u0275mod=Ht({type:n});static \u0275inj=$t({imports:[md,hi,md]})}return n})();var qn=(function(n){return n[n.State=0]="State",n[n.Transition=1]="Transition",n[n.Sequence=2]="Sequence",n[n.Group=3]="Group",n[n.Animate=4]="Animate",n[n.Keyframes=5]="Keyframes",n[n.Style=6]="Style",n[n.Trigger=7]="Trigger",n[n.Reference=8]="Reference",n[n.AnimateChild=9]="AnimateChild",n[n.AnimateRef=10]="AnimateRef",n[n.Query=11]="Query",n[n.Stagger=12]="Stagger",n})(qn||{}),rl="*";function eD(n,i){return{type:qn.Trigger,name:n,definitions:i,options:{}}}function tD(n,i=null){return{type:qn.Animate,styles:i,timings:n}}function W6(n,i=null){return{type:qn.Sequence,steps:n,options:i}}function ou(n){return{type:qn.Style,styles:n,offset:null}}function vb(n,i,e){return{type:qn.State,name:n,styles:i,options:e}}function nD(n,i,e=null){return{type:qn.Transition,expr:n,animation:i,options:e}}var Pc=class{_onDoneFns=[];_onStartFns=[];_onDestroyFns=[];_originalOnDoneFns=[];_originalOnStartFns=[];_started=!1;_destroyed=!1;_finished=!1;_position=0;parentPlayer=null;totalTime;constructor(i=0,e=0){this.totalTime=i+e}_onFinish(){this._finished||(this._finished=!0,this._onDoneFns.forEach(i=>i()),this._onDoneFns=[])}onStart(i){this._originalOnStartFns.push(i),this._onStartFns.push(i)}onDone(i){this._originalOnDoneFns.push(i),this._onDoneFns.push(i)}onDestroy(i){this._onDestroyFns.push(i)}hasStarted(){return this._started}init(){}play(){this.hasStarted()||(this._onStart(),this.triggerMicrotask()),this._started=!0}triggerMicrotask(){queueMicrotask(()=>this._onFinish())}_onStart(){this._onStartFns.forEach(i=>i()),this._onStartFns=[]}pause(){}restart(){}finish(){this._onFinish()}destroy(){this._destroyed||(this._destroyed=!0,this.hasStarted()||this._onStart(),this.finish(),this._onDestroyFns.forEach(i=>i()),this._onDestroyFns=[])}reset(){this._started=!1,this._finished=!1,this._onStartFns=this._originalOnStartFns,this._onDoneFns=this._originalOnDoneFns}setPosition(i){this._position=this.totalTime?i*this.totalTime:1}getPosition(){return this.totalTime?this._position/this.totalTime:1}triggerCallback(i){let e=i=="start"?this._onStartFns:this._onDoneFns;e.forEach(t=>t()),e.length=0}},iu=class{_onDoneFns=[];_onStartFns=[];_finished=!1;_started=!1;_destroyed=!1;_onDestroyFns=[];parentPlayer=null;totalTime=0;players;constructor(i){this.players=i;let e=0,t=0,o=0,r=this.players.length;r==0?queueMicrotask(()=>this._onFinish()):this.players.forEach(a=>{a.onDone(()=>{++e==r&&this._onFinish()}),a.onDestroy(()=>{++t==r&&this._onDestroy()}),a.onStart(()=>{++o==r&&this._onStart()})}),this.totalTime=this.players.reduce((a,c)=>Math.max(a,c.totalTime),0)}_onFinish(){this._finished||(this._finished=!0,this._onDoneFns.forEach(i=>i()),this._onDoneFns=[])}init(){this.players.forEach(i=>i.init())}onStart(i){this._onStartFns.push(i)}_onStart(){this.hasStarted()||(this._started=!0,this._onStartFns.forEach(i=>i()),this._onStartFns=[])}onDone(i){this._onDoneFns.push(i)}onDestroy(i){this._onDestroyFns.push(i)}hasStarted(){return this._started}play(){this.parentPlayer||this.init(),this._onStart(),this.players.forEach(i=>i.play())}pause(){this.players.forEach(i=>i.pause())}restart(){this.players.forEach(i=>i.restart())}finish(){this._onFinish(),this.players.forEach(i=>i.finish())}destroy(){this._onDestroy()}_onDestroy(){this._destroyed||(this._destroyed=!0,this._onFinish(),this.players.forEach(i=>i.destroy()),this._onDestroyFns.forEach(i=>i()),this._onDestroyFns=[])}reset(){this.players.forEach(i=>i.reset()),this._destroyed=!1,this._finished=!1,this._started=!1}setPosition(i){let e=i*this.totalTime;this.players.forEach(t=>{let o=t.totalTime?Math.min(1,e/t.totalTime):1;t.setPosition(o)})}getPosition(){let i=this.players.reduce((e,t)=>e===null||t.totalTime>e.totalTime?t:e,null);return i!=null?i.getPosition():0}beforeDestroy(){this.players.forEach(i=>{i.beforeDestroy&&i.beforeDestroy()})}triggerCallback(i){let e=i=="start"?this._onStartFns:this._onDoneFns;e.forEach(t=>t()),e.length=0}},Uh="!";function q6(n){return new yi(3e3,!1)}function tJ(){return new yi(3100,!1)}function nJ(){return new yi(3101,!1)}function iJ(n){return new yi(3001,!1)}function oJ(n){return new yi(3003,!1)}function rJ(n){return new yi(3004,!1)}function X6(n,i){return new yi(3005,!1)}function K6(){return new yi(3006,!1)}function Y6(){return new yi(3007,!1)}function Z6(n,i){return new yi(3008,!1)}function J6(n){return new yi(3002,!1)}function eR(n,i,e,t,o){return new yi(3010,!1)}function tR(){return new yi(3011,!1)}function nR( Line truncated
body * {
-moz-user-select: none;
-ms-user-select: none;
-webkit-user-select: none;
user-select: none;
}
`)),requestAnimationFrame(()=>{this.document.head.appendChild(o)});let r=this.getScrollPosition(),a=new pr(x=>{let C=this.scrollContainer?this.scrollContainer.elementRef.nativeElement:"window";return this.renderer.listen(C,"scroll",M=>x.next(M))}).pipe(di(r),_t(()=>this.getScrollPosition())),c=new $e,p=new um;this.dragPointerDown.observers.length>0&&this.zone.run(()=>{this.dragPointerDown.next({x:0,y:0})});let u=Wn(this.pointerUp$,this.pointerDown$,p,this.destroy$).pipe(Gl()),h=or([this.pointerMove$,a]).pipe(_t(([x,C])=>({currentDrag$:c,transformX:x.clientX-t.clientX,transformY:x.clientY-t.clientY,clientX:x.clientX,clientY:x.clientY,scrollLeft:C.left,scrollTop:C.top,target:x.event.target})),_t(x=>(this.dragSnapGrid.x&&(x.transformX=Math.round(x.transformX/this.dragSnapGrid.x)*this.dragSnapGrid.x),this.dragSnapGrid.y&&(x.transformY=Math.round(x.transformY/this.dragSnapGrid.y)*this.dragSnapGrid.y),x)),_t(x=>(this.dragAxis.x||(x.transformX=0),this.dragAxis.y||(x.transformY=0),x)),_t(x=>{let C=x.scrollLeft-r.left,M=x.scrollTop-r.top;return We(q({},x),{x:x.transformX+C,y:x.transformY+M})}),Ln(({x,y:C,transformX:M,transformY:w})=>!this.validateDrag||this.validateDrag({x,y:C,transform:{x:M,y:w}})),Xe(u),Gl()),g=h.pipe(Qi(1),Gl()),S=h.pipe(k_(1),Gl());return g.subscribe(({clientX:x,clientY:C,x:M,y:w})=>{if(this.dragStart.observers.length>0&&this.zone.run(()=>{this.dragStart.next({cancelDrag$:p})}),this.scroller=k7([this.scrollContainer?this.scrollContainer.elementRef.nativeElement:this.document.defaultView],We(q({},this.autoScroll),{autoScroll(){return!0}})),qie(this.renderer,this.element,this.dragActiveClass),this.ghostDragEnabled){let y=this.element.nativeElement.getBoundingClientRect(),k=this.element.nativeElement.cloneNode(!0);if(this.showOriginalElementWhileDragging||this.renderer.setStyle(this.element.nativeElement,"visibility","hidden"),this.ghostElementAppendTo?this.ghostElementAppendTo.appendChild(k):this.element.nativeElement.parentNode.insertBefore(k,this.element.nativeElement.nextSibling),this.ghostElement=k,this.document.body.style.cursor=this.dragCursor,this.setElementStyles(k,{position:"fixed",top:`${y.top}px`,left:`${y.left}px`,width:`${y.width}px`,height:`${y.height}px`,cursor:this.dragCursor,margin:"0",willChange:"transform",pointerEvents:"none"}),this.ghostElementTemplate){let I=this.vcr.createEmbeddedView(this.ghostElementTemplate);k.innerHTML="",I.rootNodes.filter(D=>D instanceof Node).forEach(D=>{k.appendChild(D)}),S.subscribe(()=>{this.vcr.remove(this.vcr.indexOf(I))})}this.ghostElementCreated.observers.length>0&&this.zone.run(()=>{this.ghostElementCreated.emit({clientX:x-M,clientY:C-w,element:k})}),S.subscribe(()=>{k.parentElement.removeChild(k),this.ghostElement=null,this.renderer.setStyle(this.element.nativeElement,"visibility","")})}this.draggableHelper.currentDrag.next(c)}),S.pipe(xr(x=>{let C=p.pipe(VN(),Qi(1),_t(M=>We(q({},x),{dragCancelled:M>0})));return p.complete(),C})).subscribe(({x,y:C,dragCancelled:M})=>{this.scroller.destroy(),this.dragEnd.observers.length>0&&this.zone.run(()=>{this.dragEnd.next({x,y:C,dragCancelled:M})}),Qie(this.renderer,this.element,this.dragActiveClass),c.complete()}),Wn(u,S).pipe(Qi(1)).subscribe(()=>{requestAnimationFrame(()=>{this.document.head.removeChild(o)})}),h}),Gl());Wn(e.pipe(Qi(1),_t(t=>[,t])),e.pipe(s1())).pipe(Ln(([t,o])=>t?t.x!==o.x||t.y!==o.y:!0),_t(([t,o])=>o)).subscribe(({x:t,y:o,currentDrag$:r,clientX:a,clientY:c,transformX:p,transformY:u,target:h})=>{this.dragging.observers.length>0&&this.zone.run(()=>{this.dragging.next({x:t,y:o})}),requestAnimationFrame(()=>{if(this.ghostElement){let g=`translate3d(${p}px, ${u}px, 0px)`;this.setElementStyles(this.ghostElement,{transform:g,"-webkit-transform":g,"-ms-transform":g,"-moz-transform":g,"-o-transform":g})}}),r.next({clientX:a,clientY:c,dropData:this.dropData,target:h})})}ngOnChanges(e){e.dragAxis&&this.checkEventListeners()}ngOnDestroy(){this.unsubscribeEventListeners(),this.pointerDown$.complete(),this.pointerMove$.complete(),this.pointerUp$.complete(),this.destroy$.next()}checkEventListeners(){let e=this.canDrag(),t=Object.keys(this.eventListenerSubscriptions).length>0;e&&!t?this.zone.runOutsideAngular(()=>{this.eventListenerSubscriptions.mousedown=this.renderer.listen(this.element.nativeElement,"mousedown",o=>{this.onMouseDown(o)}),this.eventListenerSubscriptions.mouseup=this.renderer.listen("document","mouseup",o=>{this.onMouseUp(o)}),this.eventListenerSubscriptions.touchstart=this.renderer.listen(this.element.nativeElement,"touchstart",o=>{this.onTouchStart(o)}),this.eventListenerSubscriptions.touchend=this.renderer.listen("document","touchend",o=>{this.onTouchEnd(o)}),this.eventListenerSubscriptions.touchcancel=this.renderer.listen("document","touchcancel",o=>{this.onTouchEnd(o)}),this.eventListenerSubscriptions.mouseenter=this.renderer.listen(this.element.nativeElement,"mouseenter",()=>{this.onMouseEnter()}),this.eventListenerSubscriptions.mouseleave=this.renderer.listen(this.el Line truncated
`).map(a=>{r=a.indexOf(":"),t=a.slice(0,r).trim().toLowerCase(),o=a.slice(r+1).trim(),t&&(e[t]=e[t]?e[t]+", "+o:o)}),e}_onWhenAddingFileFailed(i,e,t){this.onWhenAddingFileFailed(i,e,t)}_onAfterAddingFile(i){this.onAfterAddingFile(i)}_onAfterAddingAll(i){this.onAfterAddingAll(i)}_onBeforeUploadItem(i){i._onBeforeUpload(),this.onBeforeUploadItem(i)}_onBuildItemForm(i,e){i._onBuildForm(e),this.onBuildItemForm(i,e)}_onProgressItem(i,e){let t=this._getTotalProgress(e);this.progress=t,i._onProgress(e),this.onProgressItem(i,e),this.onProgressAll(t),this._render()}_onSuccessItem(i,e,t,o){i._onSuccess(e,t,o),this.onSuccessItem(i,e,t,o)}_onCancelItem(i,e,t,o){i._onCancel(e,t,o),this.onCancelItem(i,e,t,o)}};var qc=(()=>{class n{constructor(e){this.onFileSelected=new _e,this.element=e}getOptions(){return this.uploader?.options}getFilters(){return""}isEmptyAfterSelection(){return!!this.element.nativeElement.attributes.multiple}onChange(){let e=this.element.nativeElement.files,t=this.getOptions(),o=this.getFilters();this.uploader?.addToQueue(e,t,o),this.onFileSelected.emit(e),this.isEmptyAfterSelection()&&(this.element.nativeElement.value="")}}return n.\u0275fac=function(e){return new(e||n)(Ye(Yt))},n.\u0275dir=ft({type:n,selectors:[["","ng2FileSelect",""]],hostBindings:function(e,t){e&1&&_("change",function(){return t.onChange()})},inputs:{uploader:"uploader"},outputs:{onFileSelected:"onFileSelected"},standalone:!1}),n})(),Sl=(()=>{class n{}return n.\u0275fac=function(e){return new(e||n)},n.\u0275mod=Gt({type:n}),n.\u0275inj=Ut({imports:[ie]}),n})();var Kn="primary",Av=Symbol("RouteTitle"),AI=class{params;constructor(i){this.params=i||{}}has(i){return Object.prototype.hasOwnProperty.call(this.params,i)}get(i){if(this.has(i)){let e=this.params[i];return Array.isArray(e)?e[0]:e}return null}getAll(i){if(this.has(i)){let e=this.params[i];return Array.isArray(e)?e:[e]}return[]}get keys(){return Object.keys(this.params)}};function ju(n){return new AI(n)}function EI(n,i,e){for(let t=0;t<n.length;t++){let o=n[t],r=i[t];if(o[0]===":")e[o.substring(1)]=r;else if(o!==r.path)return!1}return!0}function N7(n,i,e){let t=e.path.split("/"),o=t.indexOf("**");if(o===-1){if(t.length>n.length||e.pathMatch==="full"&&(i.hasChildren()||t.length<n.length))return null;let p={},u=n.slice(0,t.length);return EI(t,u,p)?{consumed:u,posParams:p}:null}if(o!==t.lastIndexOf("**"))return null;let r=t.slice(0,o),a=t.slice(o+1);if(r.length+a.length>n.length||e.pathMatch==="full"&&i.hasChildren()&&e.path!=="**")return null;let c={};return!EI(r,n.slice(0,r.length),c)||!EI(a,n.slice(n.length-a.length),c)?null:{consumed:n,posParams:c}}function oy(n){return new Promise((i,e)=>{n.pipe(Md()).subscribe({next:t=>i(t),error:t=>e(t)})})}function Zie(n,i){if(n.length!==i.length)return!1;for(let e=0;e<n.length;++e)if(!Qc(n[e],i[e]))return!1;return!0}function Qc(n,i){let e=n?OI(n):void 0,t=i?OI(i):void 0;if(!e||!t||e.length!=t.length)return!1;let o;for(let r=0;r<e.length;r++)if(o=e[r],!F7(n[o],i[o]))return!1;return!0}function OI(n){return[...Object.keys(n),...Object.getOwnPropertySymbols(n)]}function F7(n,i){if(Array.isArray(n)&&Array.isArray(i)){if(n.length!==i.length)return!1;let e=[...n].sort(),t=[...i].sort();return e.every((o,r)=>t[r]===o)}else return n===i}function Jie(n){return n.length>0?n[n.length-1]:null}function $u(n){return hm(n)?n:t5(n)?ir(Promise.resolve(n)):bt(n)}function R7(n){return hm(n)?oy(n):Promise.resolve(n)}var eoe={exact:B7,subset:V7},L7={exact:toe,subset:noe,ignored:()=>!0},qI={paths:"exact",fragment:"ignored",matrixParams:"ignored",queryParams:"exact"},wv={paths:"subset",fragment:"ignored",matrixParams:"ignored",queryParams:"subset"};function QI(n,i,e){let t=n instanceof Ja?n:i.parseUrl(n);return Zt(()=>NI(i.lastSuccessfulNavigation()?.finalUrl??new Ja,t,q(q({},wv),e)))}function NI(n,i,e){return eoe[e.paths](n.root,i.root,e.matrixParams)&&L7[e.queryParams](n.queryParams,i.queryParams)&&!(e.fragment==="exact"&&n.fragment!==i.fragment)}function toe(n,i){return Qc(n,i)}function B7(n,i,e){if(!zu(n.segments,i.segments)||!ty(n.segments,i.segments,e)||n.numberOfChildren!==i.numberOfChildren)return!1;for(let t in i.children)if(!n.children[t]||!B7(n.children[t],i.children[t],e))return!1;return!0}function noe(n,i){return Object.keys(i).length<=Object.keys(n).length&&Object.keys(i).every(e=>F7(n[e],i[e]))}function V7(n,i,e){return z7(n,i,i.segments,e)}function z7(n,i,e,t){if(n.segments.length>e.length){let o=n.segments.slice(0,e.length);return!(!zu(o,e)||i.hasChildren()||!ty(o,e,t))}else if(n.segments.length===e.length){if(!zu(n.segments,e)||!ty(n.segments,e,t))return!1;for(let o in i.children)if(!n.children[o]||!V7(n.children[o],i.children[o],t))return!1;return!0}else{let o=e.slice(0,n.segments.length),r=e.slice(n.segments.length);return!zu(n.segments,o)||!ty(n.segments,o,t)||!n.children[Kn]?!1:z7(n.children[Kn],i,r,t)}}function ty(n,i,e){return i.every((t,o)=>L7[e](n[o].parameters,t.parameters))}var Ja=class{root;queryParams;fragment;_queryParamMap;cons Line truncated
`],encapsulation:2,changeDetection:0})}return n})(),Wre=new $t("mat-menu-scroll-strategy",{providedIn:"root",factory:()=>{let n=f(Ro);return()=>M1(n)}});var jf=new WeakMap,qre=(()=>{class n{_canHaveBackdrop;_element=f(Yt);_viewContainerRef=f(Xi);_menuItemInstance=f(tt,{optional:!0,self:!0});_dir=f(ss,{optional:!0});_focusMonitor=f($a);_ngZone=f(Ai);_injector=f(Ro);_scrollStrategy=f(Wre);_changeDetectorRef=f(X);_animationsDisabled=Yo();_portal;_overlayRef=null;_menuOpen=!1;_closingActionsSubscription=_o.EMPTY;_menuCloseSubscription=_o.EMPTY;_pendingRemoval;_parentMaterialMenu;_parentInnerPadding;_openedBy=void 0;get _menu(){return this._menuInternal}set _menu(e){e!==this._menuInternal&&(this._menuInternal=e,this._menuCloseSubscription.unsubscribe(),e&&(this._parentMaterialMenu,this._menuCloseSubscription=e.close.subscribe(t=>{this._destroyMenu(t),(t==="click"||t==="tab")&&this._parentMaterialMenu&&this._parentMaterialMenu.closed.emit(t)})),this._menuItemInstance?._setTriggersSubmenu(this._triggersSubmenu()))}_menuInternal=null;constructor(e){this._canHaveBackdrop=e;let t=f(l3,{optional:!0});this._parentMaterialMenu=t instanceof Yn?t:void 0}ngOnDestroy(){this._menu&&this._ownsMenu(this._menu)&&jf.delete(this._menu),this._pendingRemoval?.unsubscribe(),this._menuCloseSubscription.unsubscribe(),this._closingActionsSubscription.unsubscribe(),this._overlayRef&&(this._overlayRef.dispose(),this._overlayRef=null)}get menuOpen(){return this._menuOpen}get dir(){return this._dir&&this._dir.value==="rtl"?"rtl":"ltr"}_triggersSubmenu(){return!!(this._menuItemInstance&&this._parentMaterialMenu&&this._menu)}_closeMenu(){this._menu?.close.emit()}_openMenu(e){if(this._triggerIsAriaDisabled())return;let t=this._menu;if(this._menuOpen||!t)return;this._pendingRemoval?.unsubscribe();let o=jf.get(t);jf.set(t,this),o&&o!==this&&o._closeMenu();let r=this._createOverlay(t),a=r.getConfig(),c=a.positionStrategy;this._setPosition(t,c),this._canHaveBackdrop?a.hasBackdrop=t.hasBackdrop==null?!this._triggersSubmenu():t.hasBackdrop:a.hasBackdrop=t.hasBackdrop??!1,r.hasAttached()||(r.attach(this._getPortal(t)),t.lazyContent?.attach(this.menuData)),this._closingActionsSubscription=this._menuClosingActions().subscribe(()=>this._closeMenu()),t.parentMenu=this._triggersSubmenu()?this._parentMaterialMenu:void 0,t.direction=this.dir,e&&t.focusFirstItem(this._openedBy||"program"),this._setIsMenuOpen(!0),t instanceof Yn&&(t._setIsOpen(!0),t._directDescendantItems.changes.pipe(Xe(t.close)).subscribe(()=>{c.withLockedPosition(!1).reapplyLastPosition(),c.withLockedPosition(!0)}))}focus(e,t){this._focusMonitor&&e?this._focusMonitor.focusVia(this._element,e,t):this._element.nativeElement.focus(t)}_destroyMenu(e){let t=this._overlayRef,o=this._menu;!t||!this.menuOpen||(this._closingActionsSubscription.unsubscribe(),this._pendingRemoval?.unsubscribe(),o instanceof Yn&&this._ownsMenu(o)?(this._pendingRemoval=o._animationDone.pipe(Qi(1)).subscribe(()=>{t.detach(),jf.has(o)||o.lazyContent?.detach()}),o._setIsOpen(!1)):(t.detach(),o?.lazyContent?.detach()),o&&this._ownsMenu(o)&&jf.delete(o),this.restoreFocus&&(e==="keydown"||!this._openedBy||!this._triggersSubmenu())&&this.focus(this._openedBy),this._openedBy=void 0,this._setIsMenuOpen(!1))}_setIsMenuOpen(e){e!==this._menuOpen&&(this._menuOpen=e,this._menuOpen?this.menuOpened.emit():this.menuClosed.emit(),this._triggersSubmenu()&&this._menuItemInstance._setHighlighted(e),this._changeDetectorRef.markForCheck())}_createOverlay(e){if(!this._overlayRef){let t=this._getOverlayConfig(e);this._subscribeToPositions(e,t.positionStrategy),this._overlayRef=E1(this._injector,t),this._overlayRef.keydownEvents().subscribe(o=>{this._menu instanceof Yn&&this._menu._handleKeydown(o)})}return this._overlayRef}_getOverlayConfig(e){return new k1({positionStrategy:T1(this._injector,this._getOverlayOrigin()).withLockedPosition().withGrowAfterOpen().withTransformOriginOn(".mat-menu-panel, .mat-mdc-menu-panel"),backdropClass:e.backdropClass||"cdk-overlay-transparent-backdrop",panelClass:e.overlayPanelClass,scrollStrategy:this._scrollStrategy(),direction:this._dir||"ltr",disableAnimations:this._animationsDisabled})}_subscribeToPositions(e,t){e.setPositionClasses&&t.positionChanges.subscribe(o=>{this._ngZone.run(()=>{let r=o.connectionPair.overlayX==="start"?"after":"before",a=o.connectionPair.overlayY==="top"?"below":"above";e.setPositionClasses(r,a)})})}_setPosition(e,t){let[o,r]=e.xPosition==="before"?["end","start"]:["start","end"],[a,c]=e.yPosition==="above"?["bottom","top"]:["top","bottom"],[p,u]=[a,c],[h,g]=[o,r],S=0;if(this._triggersSubmenu()){if(g=o=e.xPosition==="before"?"start":"end",r=h=o==="end"?"start":"end",this._parentMaterialMenu){if(this._parentInnerPadding==null){let x=this._parentMaterialMenu.items.first;this._parentInnerPadding=x?x._getHostElement().offsetTop:0}S=a==="bottom"?this._parentInnerPadding:-this._parentInnerPadding}}else e.overlapTrigger||(p=a==="top"?"bottom":"top",u=c==="top"?"bottom":"top");t.withPos Line truncated
`],encapsulation:2})}return n})(),Tn=(()=>{class n extends Tx{static \u0275fac=(()=>{let e;return function(o){return(e||(e=Mi(n)))(o||n)}})();static \u0275dir=ft({type:n,selectors:[["","matCellDef",""]],features:[bn([{provide:Tx,useExisting:n}]),mi]})}return n})(),En=(()=>{class n extends Ex{static \u0275fac=(()=>{let e;return function(o){return(e||(e=Mi(n)))(o||n)}})();static \u0275dir=ft({type:n,selectors:[["","matHeaderCellDef",""]],features:[bn([{provide:Ex,useExisting:n}]),mi]})}return n})();var Dn=(()=>{class n extends Wm{get name(){return this._name}set name(e){this._setNameInput(e)}_updateColumnCssClassName(){super._updateColumnCssClassName(),this._columnCssClassName.push(`mat-column-${this.cssClassFriendlyName}`)}static \u0275fac=(()=>{let e;return function(o){return(e||(e=Mi(n)))(o||n)}})();static \u0275dir=ft({type:n,selectors:[["","matColumnDef",""]],inputs:{name:[0,"matColumnDef","name"]},features:[bn([{provide:Wm,useExisting:n}]),mi]})}return n})(),Pn=(()=>{class n extends CL{static \u0275fac=(()=>{let e;return function(o){return(e||(e=Mi(n)))(o||n)}})();static \u0275dir=ft({type:n,selectors:[["mat-header-cell"],["th","mat-header-cell",""]],hostAttrs:["role","columnheader",1,"mat-mdc-header-cell","mdc-data-table__header-cell"],features:[mi]})}return n})();var In=(()=>{class n extends bL{static \u0275fac=(()=>{let e;return function(o){return(e||(e=Mi(n)))(o||n)}})();static \u0275dir=ft({type:n,selectors:[["mat-cell"],["td","mat-cell",""]],hostAttrs:[1,"mat-mdc-cell","mdc-data-table__cell"],features:[mi]})}return n})();var An=(()=>{class n extends lv{static \u0275fac=(()=>{let e;return function(o){return(e||(e=Mi(n)))(o||n)}})();static \u0275dir=ft({type:n,selectors:[["","matHeaderRowDef",""]],inputs:{columns:[0,"matHeaderRowDef","columns"],sticky:[2,"matHeaderRowDefSticky","sticky",gt]},features:[bn([{provide:lv,useExisting:n}]),mi]})}return n})();var On=(()=>{class n extends Dx{static \u0275fac=(()=>{let e;return function(o){return(e||(e=Mi(n)))(o||n)}})();static \u0275dir=ft({type:n,selectors:[["","matRowDef",""]],inputs:{columns:[0,"matRowDefColumns","columns"],when:[0,"matRowDefWhen","when"]},features:[bn([{provide:Dx,useExisting:n}]),mi]})}return n})(),Nn=(()=>{class n extends FP{static \u0275fac=(()=>{let e;return function(o){return(e||(e=Mi(n)))(o||n)}})();static \u0275cmp=F({type:n,selectors:[["mat-header-row"],["tr","mat-header-row",""]],hostAttrs:["role","row",1,"mat-mdc-header-row","mdc-data-table__header-row"],exportAs:["matHeaderRow"],features:[bn([{provide:FP,useExisting:n}]),mi],decls:1,vars:0,consts:[["cdkCellOutlet",""]],template:function(t,o){t&1&&co(0,0)},dependencies:[Au],encapsulation:2})}return n})();var Fn=(()=>{class n extends RP{static \u0275fac=(()=>{let e;return function(o){return(e||(e=Mi(n)))(o||n)}})();static \u0275cmp=F({type:n,selectors:[["mat-row"],["tr","mat-row",""]],hostAttrs:["role","row",1,"mat-mdc-row","mdc-data-table__row"],exportAs:["matRow"],features:[bn([{provide:RP,useExisting:n}]),mi],decls:1,vars:0,consts:[["cdkCellOutlet",""]],template:function(t,o){t&1&&co(0,0)},dependencies:[Au],encapsulation:2})}return n})();var vn=(()=>{class n{static \u0275fac=function(t){return new(t||n)};static \u0275mod=Gt({type:n});static \u0275inj=Ut({imports:[Px,vi]})}return n})(),Jre=9007199254740991,vr=class extends Dd{_data;_renderData=new Ht([]);_filter=new Ht("");_internalPageChanges=new $e;_renderChangesSubscription=null;filteredData;get data(){return this._data.value}set data(i){i=Array.isArray(i)?i:[],this._data.next(i),this._renderChangesSubscription||this._filterData(i)}get filter(){return this._filter.value}set filter(i){this._filter.next(i),this._renderChangesSubscription||this._filterData(this.data)}get sort(){return this._sort}set sort(i){this._sort=i,this._updateChangeSubscription()}_sort;get paginator(){return this._paginator}set paginator(i){this._paginator=i,this._updateChangeSubscription()}_paginator;sortingDataAccessor=(i,e)=>{let t=i[e];if(T5(t)){let o=Number(t);return o<Jre?o:t}return t};sortData=(i,e)=>{let t=e.active,o=e.direction;return!t||o==""?i:i.sort((r,a)=>{let c=this.sortingDataAccessor(r,t),p=this.sortingDataAccessor(a,t),u=typeof c,h=typeof p;u!==h&&(u==="number"&&(c+=""),h==="number"&&(p+=""));let g=0;return c!=null&&p!=null?c>p?g=1:c<p&&(g=-1):c!=null?g=1:p!=null&&(g=-1),g*(o=="asc"?1:-1)})};filterPredicate=(i,e)=>{let t=e.trim().toLowerCase();return Object.values(i).some(o=>`${o}`.toLowerCase().includes(t))};constructor(i=[]){super(),this._data=new Ht(i),this._updateChangeSubscription()}_updateChangeSubscription(){let i=this._sort?Wn(this._sort.sortChange,this._sort.initialized):bt(null),e=this._paginator?Wn(this._paginator.page,this._internalPageChanges,this._paginator.initialized):bt(null),t=this._data,o=or([t,this._filter]).pipe(_t(([c])=>this._filterData(c))),r=or([o,i]).pipe(_t(([c])=>this._orderData(c))),a=or([r,e]).pipe(_t(([c])=>this._pageData(c)));this._renderChangesSubscription?.unsubscribe(),this._renderChangesSubscription= Line truncated
`],encapsulation:2,changeDetection:0})}return n})(),tae={passive:!0},OB=(()=>{class n{_platform=f(ol);_ngZone=f(Ai);_renderer=f(Td).createRenderer(null,null);_styleLoader=f(fr);_monitoredElements=new Map;constructor(){}monitor(e){if(!this._platform.isBrowser)return qr;this._styleLoader.load(eae);let t=Ql(e),o=this._monitoredElements.get(t);if(o)return o.subject;let r=new $e,a="cdk-text-field-autofilled",c=u=>{u.animationName==="cdk-text-field-autofill-start"&&!t.classList.contains(a)?(t.classList.add(a),this._ngZone.run(()=>r.next({target:u.target,isAutofilled:!0}))):u.animationName==="cdk-text-field-autofill-end"&&t.classList.contains(a)&&(t.classList.remove(a),this._ngZone.run(()=>r.next({target:u.target,isAutofilled:!1})))},p=this._ngZone.runOutsideAngular(()=>(t.classList.add("cdk-text-field-autofill-monitored"),this._renderer.listen(t,"animationstart",c,tae)));return this._monitoredElements.set(t,{subject:r,unlisten:p}),r}stopMonitoring(e){let t=Ql(e),o=this._monitoredElements.get(t);o&&(o.unlisten(),o.subject.complete(),t.classList.remove("cdk-text-field-autofill-monitored"),t.classList.remove("cdk-text-field-autofilled"),this._monitoredElements.delete(t))}ngOnDestroy(){this._monitoredElements.forEach((e,t)=>this.stopMonitoring(t))}static \u0275fac=function(t){return new(t||n)};static \u0275prov=K({token:n,factory:n.\u0275fac,providedIn:"root"})}return n})();var NB=(()=>{class n{static \u0275fac=function(t){return new(t||n)};static \u0275mod=Gt({type:n});static \u0275inj=Ut({})}return n})();var FB=new $t("MAT_INPUT_VALUE_ACCESSOR");var nae=["button","checkbox","file","hidden","image","radio","range","reset","submit"],iae=new $t("MAT_INPUT_CONFIG"),Ee=(()=>{class n{_elementRef=f(Yt);_platform=f(ol);ngControl=f(P1,{optional:!0,self:!0});_autofillMonitor=f(OB);_ngZone=f(Ai);_formField=f(Dh,{optional:!0});_renderer=f(gi);_uid=f(Do).getId("mat-input-");_previousNativeValue;_inputValueAccessor;_signalBasedValueAccessor;_previousPlaceholder=null;_errorStateTracker;_config=f(iae,{optional:!0});_cleanupIosKeyup;_cleanupWebkitWheel;_isServer=!1;_isNativeSelect=!1;_isTextarea=!1;_isInFormField=!1;focused=!1;stateChanges=new $e;controlType="mat-input";autofilled=!1;get disabled(){return this._disabled}set disabled(e){this._disabled=L1(e),this.focused&&(this.focused=!1,this.stateChanges.next())}_disabled=!1;get id(){return this._id}set id(e){this._id=e||this._uid}_id;placeholder;name;get required(){return this._required??this.ngControl?.control?.hasValidator(Ue.required)??!1}set required(e){this._required=L1(e)}_required;get type(){return this._type}set type(e){this._type=e||"text",this._validateType(),!this._isTextarea&&JT().has(this._type)&&(this._elementRef.nativeElement.type=this._type)}_type="text";get errorStateMatcher(){return this._errorStateTracker.matcher}set errorStateMatcher(e){this._errorStateTracker.matcher=e}userAriaDescribedBy;get value(){return this._signalBasedValueAccessor?this._signalBasedValueAccessor.value():this._inputValueAccessor.value}set value(e){e!==this.value&&(this._signalBasedValueAccessor?this._signalBasedValueAccessor.value.set(e):this._inputValueAccessor.value=e,this.stateChanges.next())}get readonly(){return this._readonly}set readonly(e){this._readonly=L1(e)}_readonly=!1;disabledInteractive;get errorState(){return this._errorStateTracker.errorState}set errorState(e){this._errorStateTracker.errorState=e}_neverEmptyInputTypes=["date","datetime","datetime-local","month","time","week"].filter(e=>JT().has(e));constructor(){let e=f(qn,{optional:!0}),t=f(Bt,{optional:!0}),o=f(Fd),r=f(FB,{optional:!0,self:!0}),a=this._elementRef.nativeElement,c=a.nodeName.toLowerCase();r?e5(r.value)?this._signalBasedValueAccessor=r:this._inputValueAccessor=r:this._inputValueAccessor=a,this._previousNativeValue=this.value,this.id=this.id,this._platform.IOS&&this._ngZone.runOutsideAngular(()=>{this._cleanupIosKeyup=this._renderer.listen(a,"keyup",this._iOSKeyupListener)}),this._errorStateTracker=new z1(o,this.ngControl,t,e,this.stateChanges),this._isServer=!this._platform.isBrowser,this._isNativeSelect=c==="select",this._isTextarea=c==="textarea",this._isInFormField=!!this._formField,this.disabledInteractive=this._config?.disabledInteractive||!1,this._isNativeSelect&&(this.controlType=a.multiple?"mat-native-select-multiple":"mat-native-select"),this._signalBasedValueAccessor&&Sa(()=>{this._signalBasedValueAccessor.value(),this.stateChanges.next()})}ngAfterViewInit(){this._platform.isBrowser&&this._autofillMonitor.monitor(this._elementRef.nativeElement).subscribe(e=>{this.autofilled=e.isAutofilled,this.stateChanges.next()})}ngOnChanges(){this.stateChanges.next()}ngOnDestroy(){this.stateChanges.complete(),this._platform.isBrowser&&this._autofillMonitor.stopMonitoring(this._elementRef.nativeElement),this._cleanupIosKeyup?.(),this._cleanupWebkitWheel?.()}ngDoCheck(){this.ngControl&&(this.updateErrorState(),this.ngControl.disabled!==null&&this.ngControl.disabled!==this.disabled&&(this.disabled=this.ngControl. Line truncated
`)),requestAnimationFrame(()=>{this.document.head.appendChild(o)});let r=this.getScrollPosition(),a=new Dr(x=>{let b=this.scrollContainer?this.scrollContainer.elementRef.nativeElement:"window";return this.renderer.listen(b,"scroll",M=>x.next(M))}).pipe(pi(r),Lt(()=>this.getScrollPosition())),c=new He,p=new Hd;this.dragPointerDown.observers.length>0&&this.zone.run(()=>{this.dragPointerDown.next({x:0,y:0})});let u=Hn(this.pointerUp$,this.pointerDown$,p,this.destroy$).pipe(Dl()),h=Pr([this.pointerMove$,a]).pipe(Lt(([x,b])=>({currentDrag$:c,transformX:x.clientX-t.clientX,transformY:x.clientY-t.clientY,clientX:x.clientX,clientY:x.clientY,scrollLeft:b.left,scrollTop:b.top,target:x.event.target})),Lt(x=>(this.dragSnapGrid.x&&(x.transformX=Math.round(x.transformX/this.dragSnapGrid.x)*this.dragSnapGrid.x),this.dragSnapGrid.y&&(x.transformY=Math.round(x.transformY/this.dragSnapGrid.y)*this.dragSnapGrid.y),x)),Lt(x=>(this.dragAxis.x||(x.transformX=0),this.dragAxis.y||(x.transformY=0),x)),Lt(x=>{let b=x.scrollLeft-r.left,M=x.scrollTop-r.top;return it(K({},x),{x:x.transformX+b,y:x.transformY+M})}),ai(({x,y:b,transformX:M,transformY:w})=>!this.validateDrag||this.validateDrag({x,y:b,transform:{x:M,y:w}})),tt(u),Dl()),_=h.pipe(Ao(1),Dl()),S=h.pipe(xO(1),Dl());return _.subscribe(({clientX:x,clientY:b,x:M,y:w})=>{if(this.dragStart.observers.length>0&&this.zone.run(()=>{this.dragStart.next({cancelDrag$:p})}),this.scroller=XR([this.scrollContainer?this.scrollContainer.elementRef.nativeElement:this.document.defaultView],it(K({},this.autoScroll),{autoScroll(){return!0}})),fee(this.renderer,this.element,this.dragActiveClass),this.ghostDragEnabled){let y=this.element.nativeElement.getBoundingClientRect(),E=this.element.nativeElement.cloneNode(!0);if(this.showOriginalElementWhileDragging||this.renderer.setStyle(this.element.nativeElement,"visibility","hidden"),this.ghostElementAppendTo?this.ghostElementAppendTo.appendChild(E):this.element.nativeElement.parentNode.insertBefore(E,this.element.nativeElement.nextSibling),this.ghostElement=E,this.document.body.style.cursor=this.dragCursor,this.setElementStyles(E,{position:"fixed",top:`${y.top}px`,left:`${y.left}px`,width:`${y.width}px`,height:`${y.height}px`,cursor:this.dragCursor,margin:"0",willChange:"transform",pointerEvents:"none"}),this.ghostElementTemplate){let I=this.vcr.createEmbeddedView(this.ghostElementTemplate);E.innerHTML="",I.rootNodes.filter(D=>D instanceof Node).forEach(D=>{E.appendChild(D)}),S.subscribe(()=>{this.vcr.remove(this.vcr.indexOf(I))})}this.ghostElementCreated.observers.length>0&&this.zone.run(()=>{this.ghostElementCreated.emit({clientX:x-M,clientY:b-w,element:E})}),S.subscribe(()=>{E.parentElement.removeChild(E),this.ghostElement=null,this.renderer.setStyle(this.element.nativeElement,"visibility","")})}this.draggableHelper.currentDrag.next(c)}),S.pipe(ic(x=>{let b=p.pipe(_O(),Ao(1),Lt(M=>it(K({},x),{dragCancelled:M>0})));return p.complete(),b})).subscribe(({x,y:b,dragCancelled:M})=>{this.scroller.destroy(),this.dragEnd.observers.length>0&&this.zone.run(()=>{this.dragEnd.next({x,y:b,dragCancelled:M})}),gee(this.renderer,this.element,this.dragActiveClass),c.complete()}),Hn(u,S).pipe(Ao(1)).subscribe(()=>{requestAnimationFrame(()=>{this.document.head.removeChild(o)})}),h}),Dl());Hn(e.pipe(Ao(1),Lt(t=>[,t])),e.pipe(Yv())).pipe(ai(([t,o])=>t?t.x!==o.x||t.y!==o.y:!0),Lt(([t,o])=>o)).subscribe(({x:t,y:o,currentDrag$:r,clientX:a,clientY:c,transformX:p,transformY:u,target:h})=>{this.dragging.observers.length>0&&this.zone.run(()=>{this.dragging.next({x:t,y:o})}),requestAnimationFrame(()=>{if(this.ghostElement){let _=`translate3d(${p}px, ${u}px, 0px)`;this.setElementStyles(this.ghostElement,{transform:_,"-webkit-transform":_,"-ms-transform":_,"-moz-transform":_,"-o-transform":_})}}),r.next({clientX:a,clientY:c,dropData:this.dropData,target:h})})}ngOnChanges(e){e.dragAxis&&this.checkEventListeners()}ngOnDestroy(){this.unsubscribeEventListeners(),this.pointerDown$.complete(),this.pointerMove$.complete(),this.pointerUp$.complete(),this.destroy$.next()}checkEventListeners(){let e=this.canDrag(),t=Object.keys(this.eventListenerSubscriptions).length>0;e&&!t?this.zone.runOutsideAngular(()=>{this.eventListenerSubscriptions.mousedown=this.renderer.listen(this.element.nativeElement,"mousedown",o=>{this.onMouseDown(o)}),this.eventListenerSubscriptions.mouseup=this.renderer.listen("document","mouseup",o=>{this.onMouseUp(o)}),this.eventListenerSubscriptions.touchstart=this.renderer.listen(this.element.nativeElement,"touchstart",o=>{this.onTouchStart(o)}),this.eventListenerSubscriptions.touchend=this.renderer.listen("document","touchend",o=>{this.onTouchEnd(o)}),this.eventListenerSubscriptions.touchcancel=this.renderer.listen("document","touchcancel",o=>{this.onTouchEnd(o)}),this.eventListenerSubscriptions.mouseenter=this.renderer.listen(this.element.nativeElement,"mouseenter",()=>{this.onMouseEnter()}),this.eventListenerSubscriptions.mouseleave=this.renderer.listen(this.el Line truncated
`).map(a=>{r=a.indexOf(":"),t=a.slice(0,r).trim().toLowerCase(),o=a.slice(r+1).trim(),t&&(e[t]=e[t]?e[t]+", "+o:o)}),e}_onWhenAddingFileFailed(i,e,t){this.onWhenAddingFileFailed(i,e,t)}_onAfterAddingFile(i){this.onAfterAddingFile(i)}_onAfterAddingAll(i){this.onAfterAddingAll(i)}_onBeforeUploadItem(i){i._onBeforeUpload(),this.onBeforeUploadItem(i)}_onBuildItemForm(i,e){i._onBuildForm(e),this.onBuildItemForm(i,e)}_onProgressItem(i,e){let t=this._getTotalProgress(e);this.progress=t,i._onProgress(e),this.onProgressItem(i,e),this.onProgressAll(t),this._render()}_onSuccessItem(i,e,t,o){i._onSuccess(e,t,o),this.onSuccessItem(i,e,t,o)}_onCancelItem(i,e,t,o){i._onCancel(e,t,o),this.onCancelItem(i,e,t,o)}};var Ac=(()=>{class n{constructor(e){this.onFileSelected=new ve,this.element=e}getOptions(){return this.uploader?.options}getFilters(){return""}isEmptyAfterSelection(){return!!this.element.nativeElement.attributes.multiple}onChange(){let e=this.element.nativeElement.files,t=this.getOptions(),o=this.getFilters();this.uploader?.addToQueue(e,t,o),this.onFileSelected.emit(e),this.isEmptyAfterSelection()&&(this.element.nativeElement.value="")}}return n.\u0275fac=function(e){return new(e||n)(ot(Zt))},n.\u0275dir=ft({type:n,selectors:[["","ng2FileSelect",""]],hostBindings:function(e,t){e&1&&g("change",function(){return t.onChange()})},inputs:{uploader:"uploader"},outputs:{onFileSelected:"onFileSelected"},standalone:!1}),n})(),sl=(()=>{class n{}return n.\u0275fac=function(e){return new(e||n)},n.\u0275mod=Ht({type:n}),n.\u0275inj=$t({imports:[ne]}),n})();var du=class{visible;error;clear;constructor(i,e,t=!1){this.visible=i,this.error=e,this.clear=t}},no=(()=>{class n{state=new an(new du(!1));constructor(){}setError(e){this.state.next(new du(!1,e.error))}clear(){this.state.next(new du(!1,null,!0))}activate(){this.state.next(new du(!0))}deactivate(){this.state.next(new du(!1))}static \u0275fac=function(t){return new(t||n)};static \u0275prov=J({token:n,factory:n.\u0275fac})}return n})();function bee(n,i){n&1&&(s(0,"div",1),R(1,"mat-spinner",3),l())}function xee(n,i){if(n&1){let e=z();s(0,"div",2)(1,"div",4)(2,"mat-icon"),d(3,"error_outline"),l()(),s(4,"div"),d(5),l(),s(6,"div")(7,"button",5),g("click",function(){k(e);let o=v(2);return T(o.refresh())}),s(8,"mat-icon"),d(9,"refresh"),l()(),s(10,"button",6)(11,"mat-icon"),d(12,"home"),l()()()()}if(n&2){let e,t=v(2);m(5),ee("Error occurred: ",(e=t.error())==null?null:e.message)}}function yee(n,i){if(n&1&&(s(0,"div",0),A(1,bee,2,0,"div",1),A(2,xee,13,1,"div",2),l()),n&2){let e=v();m(),O(e.visible()&&!e.error()?1:-1),m(),O(e.error()?2:-1)}}var xm=(()=>{class n{progressService=f(no);router=f(ht);visible=ae(!1);error=ae(null);routerSubscription;ngOnInit(){this.progressService.state.subscribe(e=>{this.visible.set(e.visible),e.error&&!this.error()&&this.error.set(e.error),e.clear&&this.error.set(null)}),this.routerSubscription=this.router.events.subscribe(()=>{this.progressService.clear()})}refresh(){this.router.navigateByUrl(this.router.url)}ngOnDestroy(){this.routerSubscription.unsubscribe()}static \u0275fac=function(t){return new(t||n)};static \u0275cmp=F({type:n,selectors:[["app-progress"]],decls:1,vars:1,consts:[[1,"overlay"],[1,"loading-spinner"],[1,"error-state"],["color","primary"],[1,"error-icon"],["mat-button","","matTooltip","Refresh page","matTooltipClass","custom-tooltip",3,"click"],["mat-button","","routerLink","/","matTooltip","Go to home","matTooltipClass","custom-tooltip"]],template:function(t,o){t&1&&A(0,yee,3,2,"div",0),t&2&&O(o.visible()||o.error()?0:-1)},dependencies:[ne,pn,li,ie,de,W,pe,wt,It,vn],styles:[".overlay[_ngcontent-%COMP%]{position:fixed;width:100%;height:100%;inset:0;background-color:color-mix(in srgb,var(--mat-sys-shadow) 50%,transparent);z-index:2000}.loading-spinner[_ngcontent-%COMP%], .error-state[_ngcontent-%COMP%]{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.error-state[_ngcontent-%COMP%] div[_ngcontent-%COMP%]{text-align:center}.error-icon[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:64px;width:64px;height:64px}"],changeDetection:0})}return n})();var zb=(()=>{class n{document;router=f(ht);controllerService=f(Je);progressService=f(no);constructor(e){this.document=e}ngOnInit(){this.progressService.activate(),setTimeout(()=>{let e;parseInt(this.document.location.port,10)?e=parseInt(this.document.location.port,10):this.document.location.protocol=="https:"?e=443:e=80,this.controllerService.getLocalController(this.document.location.hostname,e).then(t=>{this.router.navigate(["/controller",t.id,"projects"]),this.progressService.deactivate()})},100)}static \u0275fac=function(t){return new(t||n)(ot(Xi))};static \u0275cmp=F({type:n,selectors:[["app-bundled-controller-finder"]],decls:1,vars:0,template:function(t,o){t&1&&R(0,"app-progress")},dependencies:[xm],encapsulation:2,changeDetection:0})}return n})();var See=["mat-menu-item",""],wee=[[["mat-icon"],["","matMenuItemIcon",""]],"*"],Mee=["mat-icon, [matMenuItemIcon]","*"]; Line truncated
`],encapsulation:2,changeDetection:0})}return n})(),Pee=new cn("mat-menu-scroll-strategy",{providedIn:"root",factory:()=>{let n=f(Jo);return()=>pC(n)}});var Kh=new WeakMap,Iee=(()=>{class n{_canHaveBackdrop;_element=f(Zt);_viewContainerRef=f(oo);_menuItemInstance=f(Ze,{optional:!0,self:!0});_dir=f(Ka,{optional:!0});_focusMonitor=f(Aa);_ngZone=f(Vi);_injector=f(Jo);_scrollStrategy=f(Pee);_changeDetectorRef=f(Q);_animationsDisabled=qo();_portal;_overlayRef=null;_menuOpen=!1;_closingActionsSubscription=So.EMPTY;_menuCloseSubscription=So.EMPTY;_pendingRemoval;_parentMaterialMenu;_parentInnerPadding;_openedBy=void 0;get _menu(){return this._menuInternal}set _menu(e){e!==this._menuInternal&&(this._menuInternal=e,this._menuCloseSubscription.unsubscribe(),e&&(this._parentMaterialMenu,this._menuCloseSubscription=e.close.subscribe(t=>{this._destroyMenu(t),(t==="click"||t==="tab")&&this._parentMaterialMenu&&this._parentMaterialMenu.closed.emit(t)})),this._menuItemInstance?._setTriggersSubmenu(this._triggersSubmenu()))}_menuInternal=null;constructor(e){this._canHaveBackdrop=e;let t=f(jD,{optional:!0});this._parentMaterialMenu=t instanceof Qn?t:void 0}ngOnDestroy(){this._menu&&this._ownsMenu(this._menu)&&Kh.delete(this._menu),this._pendingRemoval?.unsubscribe(),this._menuCloseSubscription.unsubscribe(),this._closingActionsSubscription.unsubscribe(),this._overlayRef&&(this._overlayRef.dispose(),this._overlayRef=null)}get menuOpen(){return this._menuOpen}get dir(){return this._dir&&this._dir.value==="rtl"?"rtl":"ltr"}_triggersSubmenu(){return!!(this._menuItemInstance&&this._parentMaterialMenu&&this._menu)}_closeMenu(){this._menu?.close.emit()}_openMenu(e){if(this._triggerIsAriaDisabled())return;let t=this._menu;if(this._menuOpen||!t)return;this._pendingRemoval?.unsubscribe();let o=Kh.get(t);Kh.set(t,this),o&&o!==this&&o._closeMenu();let r=this._createOverlay(t),a=r.getConfig(),c=a.positionStrategy;this._setPosition(t,c),this._canHaveBackdrop?a.hasBackdrop=t.hasBackdrop==null?!this._triggersSubmenu():t.hasBackdrop:a.hasBackdrop=t.hasBackdrop??!1,r.hasAttached()||(r.attach(this._getPortal(t)),t.lazyContent?.attach(this.menuData)),this._closingActionsSubscription=this._menuClosingActions().subscribe(()=>this._closeMenu()),t.parentMenu=this._triggersSubmenu()?this._parentMaterialMenu:void 0,t.direction=this.dir,e&&t.focusFirstItem(this._openedBy||"program"),this._setIsMenuOpen(!0),t instanceof Qn&&(t._setIsOpen(!0),t._directDescendantItems.changes.pipe(tt(t.close)).subscribe(()=>{c.withLockedPosition(!1).reapplyLastPosition(),c.withLockedPosition(!0)}))}focus(e,t){this._focusMonitor&&e?this._focusMonitor.focusVia(this._element,e,t):this._element.nativeElement.focus(t)}_destroyMenu(e){let t=this._overlayRef,o=this._menu;!t||!this.menuOpen||(this._closingActionsSubscription.unsubscribe(),this._pendingRemoval?.unsubscribe(),o instanceof Qn&&this._ownsMenu(o)?(this._pendingRemoval=o._animationDone.pipe(Ao(1)).subscribe(()=>{t.detach(),Kh.has(o)||o.lazyContent?.detach()}),o._setIsOpen(!1)):(t.detach(),o?.lazyContent?.detach()),o&&this._ownsMenu(o)&&Kh.delete(o),this.restoreFocus&&(e==="keydown"||!this._openedBy||!this._triggersSubmenu())&&this.focus(this._openedBy),this._openedBy=void 0,this._setIsMenuOpen(!1))}_setIsMenuOpen(e){e!==this._menuOpen&&(this._menuOpen=e,this._menuOpen?this.menuOpened.emit():this.menuClosed.emit(),this._triggersSubmenu()&&this._menuItemInstance._setHighlighted(e),this._changeDetectorRef.markForCheck())}_createOverlay(e){if(!this._overlayRef){let t=this._getOverlayConfig(e);this._subscribeToPositions(e,t.positionStrategy),this._overlayRef=fC(this._injector,t),this._overlayRef.keydownEvents().subscribe(o=>{this._menu instanceof Qn&&this._menu._handleKeydown(o)})}return this._overlayRef}_getOverlayConfig(e){return new uC({positionStrategy:hC(this._injector,this._getOverlayOrigin()).withLockedPosition().withGrowAfterOpen().withTransformOriginOn(".mat-menu-panel, .mat-mdc-menu-panel"),backdropClass:e.backdropClass||"cdk-overlay-transparent-backdrop",panelClass:e.overlayPanelClass,scrollStrategy:this._scrollStrategy(),direction:this._dir||"ltr",disableAnimations:this._animationsDisabled})}_subscribeToPositions(e,t){e.setPositionClasses&&t.positionChanges.subscribe(o=>{this._ngZone.run(()=>{let r=o.connectionPair.overlayX==="start"?"after":"before",a=o.connectionPair.overlayY==="top"?"below":"above";e.setPositionClasses(r,a)})})}_setPosition(e,t){let[o,r]=e.xPosition==="before"?["end","start"]:["start","end"],[a,c]=e.yPosition==="above"?["bottom","top"]:["top","bottom"],[p,u]=[a,c],[h,_]=[o,r],S=0;if(this._triggersSubmenu()){if(_=o=e.xPosition==="before"?"start":"end",r=h=o==="end"?"start":"end",this._parentMaterialMenu){if(this._parentInnerPadding==null){let x=this._parentMaterialMenu.items.first;this._parentInnerPadding=x?x._getHostElement().offsetTop:0}S=a==="bottom"?this._parentInnerPadding:-this._parentInnerPadding}}else e.overlapTrigger||(p=a==="top"?"bottom":"top",u=c==="top"?"bottom":"top");t.withPos Line truncated
`],encapsulation:2})}return n})(),wn=(()=>{class n extends hb{static \u0275fac=(()=>{let e;return function(o){return(e||(e=Pi(n)))(o||n)}})();static \u0275dir=ft({type:n,selectors:[["","matCellDef",""]],features:[fn([{provide:hb,useExisting:n}]),si]})}return n})(),Mn=(()=>{class n extends fb{static \u0275fac=(()=>{let e;return function(o){return(e||(e=Pi(n)))(o||n)}})();static \u0275dir=ft({type:n,selectors:[["","matHeaderCellDef",""]],features:[fn([{provide:fb,useExisting:n}]),si]})}return n})();var kn=(()=>{class n extends Cm{get name(){return this._name}set name(e){this._setNameInput(e)}_updateColumnCssClassName(){super._updateColumnCssClassName(),this._columnCssClassName.push(`mat-column-${this.cssClassFriendlyName}`)}static \u0275fac=(()=>{let e;return function(o){return(e||(e=Pi(n)))(o||n)}})();static \u0275dir=ft({type:n,selectors:[["","matColumnDef",""]],inputs:{name:[0,"matColumnDef","name"]},features:[fn([{provide:Cm,useExisting:n}]),si]})}return n})(),Tn=(()=>{class n extends $6{static \u0275fac=(()=>{let e;return function(o){return(e||(e=Pi(n)))(o||n)}})();static \u0275dir=ft({type:n,selectors:[["mat-header-cell"],["th","mat-header-cell",""]],hostAttrs:["role","columnheader",1,"mat-mdc-header-cell","mdc-data-table__header-cell"],features:[si]})}return n})();var En=(()=>{class n extends H6{static \u0275fac=(()=>{let e;return function(o){return(e||(e=Pi(n)))(o||n)}})();static \u0275dir=ft({type:n,selectors:[["mat-cell"],["td","mat-cell",""]],hostAttrs:[1,"mat-mdc-cell","mdc-data-table__cell"],features:[si]})}return n})();var Dn=(()=>{class n extends f0{static \u0275fac=(()=>{let e;return function(o){return(e||(e=Pi(n)))(o||n)}})();static \u0275dir=ft({type:n,selectors:[["","matHeaderRowDef",""]],inputs:{columns:[0,"matHeaderRowDef","columns"],sticky:[2,"matHeaderRowDefSticky","sticky",Ct]},features:[fn([{provide:f0,useExisting:n}]),si]})}return n})();var Pn=(()=>{class n extends gb{static \u0275fac=(()=>{let e;return function(o){return(e||(e=Pi(n)))(o||n)}})();static \u0275dir=ft({type:n,selectors:[["","matRowDef",""]],inputs:{columns:[0,"matRowDefColumns","columns"],when:[0,"matRowDefWhen","when"]},features:[fn([{provide:gb,useExisting:n}]),si]})}return n})(),In=(()=>{class n extends qE{static \u0275fac=(()=>{let e;return function(o){return(e||(e=Pi(n)))(o||n)}})();static \u0275cmp=F({type:n,selectors:[["mat-header-row"],["tr","mat-header-row",""]],hostAttrs:["role","row",1,"mat-mdc-header-row","mdc-data-table__header-row"],exportAs:["matHeaderRow"],features:[fn([{provide:qE,useExisting:n}]),si],decls:1,vars:0,consts:[["cdkCellOutlet",""]],template:function(t,o){t&1&&ro(0,0)},dependencies:[nu],encapsulation:2})}return n})();var An=(()=>{class n extends QE{static \u0275fac=(()=>{let e;return function(o){return(e||(e=Pi(n)))(o||n)}})();static \u0275cmp=F({type:n,selectors:[["mat-row"],["tr","mat-row",""]],hostAttrs:["role","row",1,"mat-mdc-row","mdc-data-table__row"],exportAs:["matRow"],features:[fn([{provide:QE,useExisting:n}]),si],decls:1,vars:0,consts:[["cdkCellOutlet",""]],template:function(t,o){t&1&&ro(0,0)},dependencies:[nu],encapsulation:2})}return n})();var hn=(()=>{class n{static \u0275fac=function(t){return new(t||n)};static \u0275mod=Ht({type:n});static \u0275inj=$t({imports:[_b,hi]})}return n})(),Lee=9007199254740991,pr=class extends cd{_data;_renderData=new an([]);_filter=new an("");_internalPageChanges=new He;_renderChangesSubscription=null;filteredData;get data(){return this._data.value}set data(i){i=Array.isArray(i)?i:[],this._data.next(i),this._renderChangesSubscription||this._filterData(i)}get filter(){return this._filter.value}set filter(i){this._filter.next(i),this._renderChangesSubscription||this._filterData(this.data)}get sort(){return this._sort}set sort(i){this._sort=i,this._updateChangeSubscription()}_sort;get paginator(){return this._paginator}set paginator(i){this._paginator=i,this._updateChangeSubscription()}_paginator;sortingDataAccessor=(i,e)=>{let t=i[e];if(WO(t)){let o=Number(t);return o<Lee?o:t}return t};sortData=(i,e)=>{let t=e.active,o=e.direction;return!t||o==""?i:i.sort((r,a)=>{let c=this.sortingDataAccessor(r,t),p=this.sortingDataAccessor(a,t),u=typeof c,h=typeof p;u!==h&&(u==="number"&&(c+=""),h==="number"&&(p+=""));let _=0;return c!=null&&p!=null?c>p?_=1:c<p&&(_=-1):c!=null?_=1:p!=null&&(_=-1),_*(o=="asc"?1:-1)})};filterPredicate=(i,e)=>{let t=e.trim().toLowerCase();return Object.values(i).some(o=>`${o}`.toLowerCase().includes(t))};constructor(i=[]){super(),this._data=new an(i),this._updateChangeSubscription()}_updateChangeSubscription(){let i=this._sort?Hn(this._sort.sortChange,this._sort.initialized):Nn(null),e=this._paginator?Hn(this._paginator.page,this._internalPageChanges,this._paginator.initialized):Nn(null),t=this._data,o=Pr([t,this._filter]).pipe(Lt(([c])=>this._filterData(c))),r=Pr([o,i]).pipe(Lt(([c])=>this._orderData(c))),a=Pr([r,e]).pipe(Lt(([c])=>this._pageData(c)));this._renderChangesSubscription?.unsubscribe(),this._renderChangesSubscription= Line truncated
`],encapsulation:2,changeDetection:0})}return n})(),Bee={passive:!0},t8=(()=>{class n{_platform=f($s);_ngZone=f(Vi);_renderer=f(sd).createRenderer(null,null);_styleLoader=f(cr);_monitoredElements=new Map;constructor(){}monitor(e){if(!this._platform.isBrowser)return Lu;this._styleLoader.load(Vee);let t=Al(e),o=this._monitoredElements.get(t);if(o)return o.subject;let r=new He,a="cdk-text-field-autofilled",c=u=>{u.animationName==="cdk-text-field-autofill-start"&&!t.classList.contains(a)?(t.classList.add(a),this._ngZone.run(()=>r.next({target:u.target,isAutofilled:!0}))):u.animationName==="cdk-text-field-autofill-end"&&t.classList.contains(a)&&(t.classList.remove(a),this._ngZone.run(()=>r.next({target:u.target,isAutofilled:!1})))},p=this._ngZone.runOutsideAngular(()=>(t.classList.add("cdk-text-field-autofill-monitored"),this._renderer.listen(t,"animationstart",c,Bee)));return this._monitoredElements.set(t,{subject:r,unlisten:p}),r}stopMonitoring(e){let t=Al(e),o=this._monitoredElements.get(t);o&&(o.unlisten(),o.subject.complete(),t.classList.remove("cdk-text-field-autofill-monitored"),t.classList.remove("cdk-text-field-autofilled"),this._monitoredElements.delete(t))}ngOnDestroy(){this._monitoredElements.forEach((e,t)=>this.stopMonitoring(t))}static \u0275fac=function(t){return new(t||n)};static \u0275prov=J({token:n,factory:n.\u0275fac,providedIn:"root"})}return n})();var n8=(()=>{class n{static \u0275fac=function(t){return new(t||n)};static \u0275mod=Ht({type:n});static \u0275inj=$t({})}return n})();var i8=new cn("MAT_INPUT_VALUE_ACCESSOR");var zee=["button","checkbox","file","hidden","image","radio","range","reset","submit"],jee=new cn("MAT_INPUT_CONFIG"),Ee=(()=>{class n{_elementRef=f(Zt);_platform=f($s);ngControl=f(_C,{optional:!0,self:!0});_autofillMonitor=f(t8);_ngZone=f(Vi);_formField=f(Zu,{optional:!0});_renderer=f(Si);_uid=f(Mo).getId("mat-input-");_previousNativeValue;_inputValueAccessor;_signalBasedValueAccessor;_previousPlaceholder=null;_errorStateTracker;_config=f(jee,{optional:!0});_cleanupIosKeyup;_cleanupWebkitWheel;_isServer=!1;_isNativeSelect=!1;_isTextarea=!1;_isInFormField=!1;focused=!1;stateChanges=new He;controlType="mat-input";autofilled=!1;get disabled(){return this._disabled}set disabled(e){this._disabled=wC(e),this.focused&&(this.focused=!1,this.stateChanges.next())}_disabled=!1;get id(){return this._id}set id(e){this._id=e||this._uid}_id;placeholder;name;get required(){return this._required??this.ngControl?.control?.hasValidator(Ue.required)??!1}set required(e){this._required=wC(e)}_required;get type(){return this._type}set type(e){this._type=e||"text",this._validateType(),!this._isTextarea&&mk().has(this._type)&&(this._elementRef.nativeElement.type=this._type)}_type="text";get errorStateMatcher(){return this._errorStateTracker.matcher}set errorStateMatcher(e){this._errorStateTracker.matcher=e}userAriaDescribedBy;get value(){return this._signalBasedValueAccessor?this._signalBasedValueAccessor.value():this._inputValueAccessor.value}set value(e){e!==this.value&&(this._signalBasedValueAccessor?this._signalBasedValueAccessor.value.set(e):this._inputValueAccessor.value=e,this.stateChanges.next())}get readonly(){return this._readonly}set readonly(e){this._readonly=wC(e)}_readonly=!1;disabledInteractive;get errorState(){return this._errorStateTracker.errorState}set errorState(e){this._errorStateTracker.errorState=e}_neverEmptyInputTypes=["date","datetime","datetime-local","month","time","week"].filter(e=>mk().has(e));constructor(){let e=f(Gn,{optional:!0}),t=f(Rt,{optional:!0}),o=f(fd),r=f(i8,{optional:!0,self:!0}),a=this._elementRef.nativeElement,c=a.nodeName.toLowerCase();r?kO(r.value)?this._signalBasedValueAccessor=r:this._inputValueAccessor=r:this._inputValueAccessor=a,this._previousNativeValue=this.value,this.id=this.id,this._platform.IOS&&this._ngZone.runOutsideAngular(()=>{this._cleanupIosKeyup=this._renderer.listen(a,"keyup",this._iOSKeyupListener)}),this._errorStateTracker=new TC(o,this.ngControl,t,e,this.stateChanges),this._isServer=!this._platform.isBrowser,this._isNativeSelect=c==="select",this._isTextarea=c==="textarea",this._isInFormField=!!this._formField,this.disabledInteractive=this._config?.disabledInteractive||!1,this._isNativeSelect&&(this.controlType=a.multiple?"mat-native-select-multiple":"mat-native-select"),this._signalBasedValueAccessor&&ha(()=>{this._signalBasedValueAccessor.value(),this.stateChanges.next()})}ngAfterViewInit(){this._platform.isBrowser&&this._autofillMonitor.monitor(this._elementRef.nativeElement).subscribe(e=>{this.autofilled=e.isAutofilled,this.stateChanges.next()})}ngOnChanges(){this.stateChanges.next()}ngOnDestroy(){this.stateChanges.complete(),this._platform.isBrowser&&this._autofillMonitor.stopMonitoring(this._elementRef.nativeElement),this._cleanupIosKeyup?.(),this._cleanupWebkitWheel?.()}ngDoCheck(){this.ngControl&&(this.updateErrorState(),this.ngControl.disabled!==null&&this.ngControl.disabled!==this.disabled&&(this.disabled=this.ngControl. Line truncated
[mat-card-title], [mat-card-subtitle],
[matCardTitle], [matCardSubtitle]`,"*"],Sae=new $t("MAT_CARD_CONFIG"),Rn=(()=>{class n{appearance;constructor(){let e=f(Sae,{optional:!0});this.appearance=e?.appearance||"raised"}static \u0275fac=function(t){return new(t||n)};static \u0275cmp=F({type:n,selectors:[["mat-card"]],hostAttrs:[1,"mat-mdc-card","mdc-card"],hostVars:8,hostBindings:function(t,o){t&2&&Ve("mat-mdc-card-outlined",o.appearance==="outlined")("mdc-card--outlined",o.appearance==="outlined")("mat-mdc-card-filled",o.appearance==="filled")("mdc-card--filled",o.appearance==="filled")},inputs:{appearance:"appearance"},exportAs:["matCard"],ngContentSelectors:bae,decls:1,vars:0,template:function(t,o){t&1&&(si(),sn(0))},styles:[`.mat-mdc-card{display:flex;flex-direction:column;box-sizing:border-box;position:relative;border-style:solid;border-width:0;background-color:var(--mat-card-elevated-container-color, var(--mat-sys-surface-container-low));border-color:var(--mat-card-elevated-container-color, var(--mat-sys-surface-container-low));border-radius:var(--mat-card-elevated-container-shape, var(--mat-sys-corner-medium));box-shadow:var(--mat-card-elevated-container-elevation, var(--mat-sys-level1))}.mat-mdc-card::after{position:absolute;top:0;left:0;width:100%;height:100%;border:solid 1px rgba(0,0,0,0);content:"";display:block;pointer-events:none;box-sizing:border-box;border-radius:var(--mat-card-elevated-container-shape, var(--mat-sys-corner-medium))}.mat-mdc-card-outlined{background-color:var(--mat-card-outlined-container-color, var(--mat-sys-surface));border-radius:var(--mat-card-outlined-container-shape, var(--mat-sys-corner-medium));border-width:var(--mat-card-outlined-outline-width, 1px);border-color:var(--mat-card-outlined-outline-color, var(--mat-sys-outline-variant));box-shadow:var(--mat-card-outlined-container-elevation, var(--mat-sys-level0))}.mat-mdc-card-outlined::after{border:none}.mat-mdc-card-filled{background-color:var(--mat-card-filled-container-color, var(--mat-sys-surface-container-highest));border-radius:var(--mat-card-filled-container-shape, var(--mat-sys-corner-medium));box-shadow:var(--mat-card-filled-container-elevation, var(--mat-sys-level0))}.mdc-card__media{position:relative;box-sizing:border-box;background-repeat:no-repeat;background-position:center;background-size:cover}.mdc-card__media::before{display:block;content:""}.mdc-card__media:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit}.mdc-card__media:last-child{border-bottom-left-radius:inherit;border-bottom-right-radius:inherit}.mat-mdc-card-actions{display:flex;flex-direction:row;align-items:center;box-sizing:border-box;min-height:52px;padding:8px}.mat-mdc-card-title{font-family:var(--mat-card-title-text-font, var(--mat-sys-title-large-font));line-height:var(--mat-card-title-text-line-height, var(--mat-sys-title-large-line-height));font-size:var(--mat-card-title-text-size, var(--mat-sys-title-large-size));letter-spacing:var(--mat-card-title-text-tracking, var(--mat-sys-title-large-tracking));font-weight:var(--mat-card-title-text-weight, var(--mat-sys-title-large-weight))}.mat-mdc-card-subtitle{color:var(--mat-card-subtitle-text-color, var(--mat-sys-on-surface));font-family:var(--mat-card-subtitle-text-font, var(--mat-sys-title-medium-font));line-height:var(--mat-card-subtitle-text-line-height, var(--mat-sys-title-medium-line-height));font-size:var(--mat-card-subtitle-text-size, var(--mat-sys-title-medium-size));letter-spacing:var(--mat-card-subtitle-text-tracking, var(--mat-sys-title-medium-tracking));font-weight:var(--mat-card-subtitle-text-weight, var(--mat-sys-title-medium-weight))}.mat-mdc-card-title,.mat-mdc-card-subtitle{display:block;margin:0}.mat-mdc-card-avatar~.mat-mdc-card-header-text .mat-mdc-card-title,.mat-mdc-card-avatar~.mat-mdc-card-header-text .mat-mdc-card-subtitle{padding:16px 16px 0}.mat-mdc-card-header{display:flex;padding:16px 16px 0}.mat-mdc-card-content{display:block;padding:0 16px}.mat-mdc-card-content:first-child{padding-top:16px}.mat-mdc-card-content:last-child{padding-bottom:16px}.mat-mdc-card-title-group{display:flex;justify-content:space-between;width:100%}.mat-mdc-card-avatar{height:40px;width:40px;border-radius:50%;flex-shrink:0;margin-bottom:16px;object-fit:cover}.mat-mdc-card-avatar~.mat-mdc-card-header-text .mat-mdc-card-subtitle,.mat-mdc-card-avatar~.mat-mdc-card-header-text .mat-mdc-card-title{line-height:normal}.mat-mdc-card-sm-image{width:80px;height:80px}.mat-mdc-card-md-image{width:112px;height:112px}.mat-mdc-card-lg-image{width:152px;height:152px}.mat-mdc-card-xl-image{width:240px;height:240px}.mat-mdc-card-subtitle~.mat-mdc-card-title,.mat-mdc-card-title~.mat-mdc-card-subtitle,.mat-mdc-card-header .mat-mdc-card-header-text .mat-mdc-card-title,.mat-mdc-card-header .mat-mdc-card-header-text .mat-mdc-card-subtitle,.mat-mdc-card-title-group .mat-mdc-card-title,.mat-mdc-card-title-group .mat-mdc-card-subtitle{padding-top:0}.mat-mdc-card-content>:last-child:not(.mat-mdc-card-footer){margin-bottom:0}.Line truncated
`],encapsulation:2,changeDetection:0})}return n})(),Zc=(()=>{class n{static \u0275fac=function(t){return new(t||n)};static \u0275dir=ft({type:n,selectors:[["mat-card-title"],["","mat-card-title",""],["","matCardTitle",""]],hostAttrs:[1,"mat-mdc-card-title"]})}return n})();var wl=(()=>{class n{static \u0275fac=function(t){return new(t||n)};static \u0275dir=ft({type:n,selectors:[["mat-card-content"]],hostAttrs:[1,"mat-mdc-card-content"]})}return n})();var Py=(()=>{class n{align="start";static \u0275fac=function(t){return new(t||n)};static \u0275dir=ft({type:n,selectors:[["mat-card-actions"]],hostAttrs:[1,"mat-mdc-card-actions","mdc-card__actions"],hostVars:2,hostBindings:function(t,o){t&2&&Ve("mat-mdc-card-actions-align-end",o.align==="end")},inputs:{align:"align"},exportAs:["matCardActions"]})}return n})(),Jc=(()=>{class n{static \u0275fac=function(t){return new(t||n)};static \u0275cmp=F({type:n,selectors:[["mat-card-header"]],hostAttrs:[1,"mat-mdc-card-header"],ngContentSelectors:yae,decls:4,vars:0,consts:[[1,"mat-mdc-card-header-text"]],template:function(t,o){t&1&&(si(xae),sn(0),So(1,"div",0),sn(2,1),Eo(),sn(3,2))},encapsulation:2,changeDetection:0})}return n})();var Tt=(()=>{class n{static \u0275fac=function(t){return new(t||n)};static \u0275mod=Gt({type:n});static \u0275inj=Ut({imports:[vi]})}return n})();var tp=(()=>{class n{dataChange=new Ht([]);constructor(){}get data(){return this.dataChange.value}addController(e){let t=this.data.slice();t.push(e),this.dataChange.next(t)}addControllers(e){this.dataChange.next(e)}remove(e){let t=this.data.indexOf(e);t>=0&&(this.data.splice(t,1),this.dataChange.next(this.data.slice()))}find(e){return this.data.find(t=>t.name===e)}findById(e){return this.data.find(t=>t.id===e)}findIndex(e){return this.data.findIndex(t=>t.name===e)}findIndexById(e){return this.data.findIndex(t=>t.id===e)}update(e){let t=this.findIndexById(e.id);t>=0&&(this.data[t]=e,this.dataChange.next(this.data.slice()))}static \u0275fac=function(t){return new(t||n)};static \u0275prov=K({token:n,factory:n.\u0275fac})}return n})();var BB=(n,i)=>i.key;function wae(n,i){n&1&&(s(0,"mat-error"),d(1,"You must enter a value"),l())}function Mae(n,i){if(n&1&&(s(0,"mat-option",9),d(1),l()),n&2){let e=i.$implicit;b("value",e.key),m(),ee(" ",e.name," ")}}function kae(n,i){if(n&1&&(s(0,"mat-option",9),d(1),l()),n&2){let e=i.$implicit;b("value",e.key),m(),ee(" ",e.name," ")}}var Iy=(()=>{class n{controllerService=f(nt);controllerDatabase=f(tp);route=f(rt);router=f(dt);toasterService=f(te);cdr=f(X);controllerOptionsVisibility=ne(!1);controllerIp;controllerPort;projectId;protocols=[{key:"http:",name:"HTTP"},{key:"https:",name:"HTTPS"}];locations=[{key:"local",name:"Local"},{key:"remote",name:"Remote"}];controllerForm=new Sr({name:new et("",[Ue.required]),location:new et(""),protocol:new et("http:")});constructor(){}async ngOnInit(){this.controllerService.isServiceInitialized&&this.getControllers(),this.controllerService.serviceInitialized.subscribe(async e=>{e&&this.getControllers()})}async getControllers(){this.controllerIp=this.route.snapshot.paramMap.get("controller_ip"),this.controllerPort=+this.route.snapshot.paramMap.get("controller_port"),this.projectId=this.route.snapshot.paramMap.get("project_id");try{let t=(await this.controllerService.findAll()).filter(o=>o.host===this.controllerIp&&o.port===this.controllerPort)[0];t?this.router.navigate(["/controller",t.id,"project",this.projectId]):(this.controllerOptionsVisibility.set(!0),this.cdr.markForCheck())}catch(e){let t=e.error?.message||e.message||"Failed to load controllers";this.toasterService.error(t),this.cdr.markForCheck()}}createController(){if(!this.controllerForm.get("name").hasError&&!this.controllerForm.get("location").hasError&&!this.controllerForm.get("protocol").hasError){this.toasterService.error("Please use correct values");return}let e=new J5;e.host=this.controllerIp,e.port=this.controllerPort,e.name=this.controllerForm.get("name").value,e.location=this.controllerForm.get("location").value,e.protocol=this.controllerForm.get("protocol").value,this.controllerService.create(e).then(t=>{this.router.navigate(["/controller",t.id,"project",this.projectId])},t=>{let o=t.error?.message||t.message||"Failed to create controller";this.toasterService.error(o),this.cdr.markForCheck()})}static \u0275fac=function(t){return new(t||n)};static \u0275cmp=F({type:n,selectors:[["app-direct-link"]],decls:22,vars:3,consts:[[1,"content",3,"hidden"],[1,"default-header"],[1,"row"],[1,"col"],[1,"default-content"],[1,"matCard"],[3,"formGroup"],["matInput","","tabindex","1","formControlName","name","placeholder","Name"],["placeholder","Location","formControlName","location"],[3,"value"],["placeholder","Protocol","formControlName","protocol"],[1,"buttons-bar"],["mat-raised-button","","color","primary",3,"click"]],template:function(t,o){t&1&&(s(0,"div",0)(1,"div",1)(2,"div",2)(3,"h1",3),d(4,"Add new controller"),l()()(),s(5,"div",4)(6,"mat-card",5)(7,"form",6)(8,"mat-form-fiel Line truncated
`],encapsulation:2,changeDetection:0})}return n})();var Yd=(()=>{class n{panel=f(Kd,{host:!0});_element=f(Yt);_focusMonitor=f($a);_changeDetectorRef=f(X);_parentChangeSubscription=_o.EMPTY;constructor(){f(fr).load(pa);let e=this.panel,t=f($B,{optional:!0}),o=f(new nl("tabindex"),{optional:!0}),r=e.accordion?e.accordion._stateChanges.pipe(Ln(a=>!!(a.hideToggle||a.togglePosition))):qr;this.tabIndex=parseInt(o||"")||0,this._parentChangeSubscription=Wn(e.opened,e.closed,r,e._inputChanges.pipe(Ln(a=>!!(a.hideToggle||a.disabled||a.togglePosition)))).subscribe(()=>this._changeDetectorRef.markForCheck()),e.closed.pipe(Ln(()=>e._containsFocus())).subscribe(()=>this._focusMonitor.focusVia(this._element,"program")),t&&(this.expandedHeight=t.expandedHeight,this.collapsedHeight=t.collapsedHeight)}expandedHeight;collapsedHeight;tabIndex=0;get disabled(){return this.panel.disabled}_toggle(){this.disabled||this.panel.toggle()}_isExpanded(){return this.panel.expanded}_getExpandedState(){return this.panel._getExpandedState()}_getPanelId(){return this.panel.id}_getTogglePosition(){return this.panel.togglePosition}_showToggle(){return!this.panel.hideToggle&&!this.panel.disabled}_getHeaderHeight(){let e=this._isExpanded();return e&&this.expandedHeight?this.expandedHeight:!e&&this.collapsedHeight?this.collapsedHeight:null}_keydown(e){switch(e.keyCode){case 32:case 13:wa(e)||(e.preventDefault(),this._toggle());break;default:this.panel.accordion&&this.panel.accordion._handleHeaderKeydown(e);return}}focus(e,t){e?this._focusMonitor.focusVia(this._element,e,t):this._element.nativeElement.focus(t)}ngAfterViewInit(){this._focusMonitor.monitor(this._element).subscribe(e=>{e&&this.panel.accordion&&this.panel.accordion._handleHeaderFocus(this)})}ngOnDestroy(){this._parentChangeSubscription.unsubscribe(),this._focusMonitor.stopMonitoring(this._element)}static \u0275fac=function(t){return new(t||n)};static \u0275cmp=F({type:n,selectors:[["mat-expansion-panel-header"]],hostAttrs:["role","button",1,"mat-expansion-panel-header","mat-focus-indicator"],hostVars:13,hostBindings:function(t,o){t&1&&_("click",function(){return o._toggle()})("keydown",function(a){return o._keydown(a)}),t&2&&(qt("id",o.panel._headerId)("tabindex",o.disabled?-1:o.tabIndex)("aria-controls",o._getPanelId())("aria-expanded",o._isExpanded())("aria-disabled",o.panel.disabled),an("height",o._getHeaderHeight()),Ve("mat-expanded",o._isExpanded())("mat-expansion-toggle-indicator-after",o._getTogglePosition()==="after")("mat-expansion-toggle-indicator-before",o._getTogglePosition()==="before"))},inputs:{expandedHeight:"expandedHeight",collapsedHeight:"collapsedHeight",tabIndex:[2,"tabIndex","tabIndex",e=>e==null?0:Bo(e)]},ngContentSelectors:Oae,decls:5,vars:3,consts:[[1,"mat-content"],[1,"mat-expansion-indicator"],["xmlns","http://www.w3.org/2000/svg","viewBox","0 -960 960 960","aria-hidden","true","focusable","false"],["d","M480-345 240-585l56-56 184 184 184-184 56 56-240 240Z"]],template:function(t,o){t&1&&(si(Aae),So(0,"span",0),sn(1),sn(2,1),sn(3,2),Eo(),A(4,Nae,3,0,"span",1)),t&2&&(Ve("mat-content-hide-toggle",!o._showToggle()),m(4),O(o._showToggle()?4:-1))},styles:[`.mat-expansion-panel-header{display:flex;flex-direction:row;align-items:center;padding:0 24px;border-radius:inherit}.mat-expansion-panel-animations-enabled .mat-expansion-panel-header{transition:height 225ms cubic-bezier(0.4, 0, 0.2, 1)}.mat-expansion-panel-header::before{border-radius:inherit}.mat-expansion-panel-header{height:var(--mat-expansion-header-collapsed-state-height, 48px);font-family:var(--mat-expansion-header-text-font, var(--mat-sys-title-medium-font));font-size:var(--mat-expansion-header-text-size, var(--mat-sys-title-medium-size));font-weight:var(--mat-expansion-header-text-weight, var(--mat-sys-title-medium-weight));line-height:var(--mat-expansion-header-text-line-height, var(--mat-sys-title-medium-line-height));letter-spacing:var(--mat-expansion-header-text-tracking, var(--mat-sys-title-medium-tracking))}.mat-expansion-panel-header.mat-expanded{height:var(--mat-expansion-header-expanded-state-height, 64px)}.mat-expansion-panel-header[aria-disabled=true]{color:var(--mat-expansion-header-disabled-state-text-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent))}.mat-expansion-panel-header:not([aria-disabled=true]){cursor:pointer}.mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:not([aria-disabled=true]):hover{background:var(--mat-expansion-header-hover-state-layer-color, color-mix(in srgb, var(--mat-sys-on-surface) calc(var(--mat-sys-hover-state-layer-opacity) * 100%), transparent))}@media(hover: none){.mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:not([aria-disabled=true]):hover{background:var(--mat-expansion-container-background-color, var(--mat-sys-surface))}}.mat-expansion-panel .mat-expansion-panel-header:not([aria-disabled=true]).cdk-keyboard-focused,.mat-expansion-panel .mat-expansion-panel-header:not([aria-disabled=true]).cdk-prograLine truncated
`],encapsulation:2,changeDetection:0})}return n})(),Oy=(()=>{class n{static \u0275fac=function(t){return new(t||n)};static \u0275dir=ft({type:n,selectors:[["mat-panel-description"]],hostAttrs:[1,"mat-expansion-panel-header-description"]})}return n})(),np=(()=>{class n{static \u0275fac=function(t){return new(t||n)};static \u0275dir=ft({type:n,selectors:[["mat-panel-title"]],hostAttrs:[1,"mat-expansion-panel-header-title"]})}return n})(),ip=(()=>{class n extends VB{_keyManager;_ownHeaders=new ql;_headers;hideToggle=!1;displayMode="default";togglePosition="after";ngAfterContentInit(){this._headers.changes.pipe(di(this._headers)).subscribe(e=>{this._ownHeaders.reset(e.filter(t=>t.panel.accordion===this)),this._ownHeaders.notifyOnChanges()}),this._keyManager=new vm(this._ownHeaders).withWrap().withHomeAndEnd()}_handleHeaderKeydown(e){this._keyManager.onKeydown(e)}_handleHeaderFocus(e){this._keyManager.updateActiveItem(e)}ngOnDestroy(){super.ngOnDestroy(),this._keyManager?.destroy(),this._ownHeaders.destroy()}static \u0275fac=(()=>{let e;return function(o){return(e||(e=Mi(n)))(o||n)}})();static \u0275dir=ft({type:n,selectors:[["mat-accordion"]],contentQueries:function(t,o,r){if(t&1&&Gi(r,Yd,5),t&2){let a;mt(a=pt())&&(o._headers=a)}},hostAttrs:[1,"mat-accordion"],hostVars:2,hostBindings:function(t,o){t&2&&Ve("mat-accordion-multi",o.multi)},inputs:{hideToggle:[2,"hideToggle","hideToggle",gt],displayMode:"displayMode",togglePosition:"togglePosition"},exportAs:["matAccordion"],features:[bn([{provide:d3,useExisting:n}]),mi]})}return n})(),Ml=(()=>{class n{static \u0275fac=function(t){return new(t||n)};static \u0275mod=Gt({type:n});static \u0275inj=Ut({imports:[Ay,wh,vi]})}return n})();var Fy=(()=>{class n{httpClient=f(il);sanitizer=f(yr);toasterService=f(te);cd=f(X);thirdpartylicenses=ne("");releasenotes=ne("");ngOnInit(){this.httpClient.get(window.location.href+"/3rdpartylicenses.txt",{responseType:"text"}).subscribe({next:e=>{let t=e.replace(new RegExp(`
[matCardTitle], [matCardSubtitle]`,"*"],ste=new cn("MAT_CARD_CONFIG"),On=(()=>{class n{appearance;constructor(){let e=f(ste,{optional:!0});this.appearance=e?.appearance||"raised"}static \u0275fac=function(t){return new(t||n)};static \u0275cmp=F({type:n,selectors:[["mat-card"]],hostAttrs:[1,"mat-mdc-card","mdc-card"],hostVars:8,hostBindings:function(t,o){t&2&&Be("mat-mdc-card-outlined",o.appearance==="outlined")("mdc-card--outlined",o.appearance==="outlined")("mat-mdc-card-filled",o.appearance==="filled")("mdc-card--filled",o.appearance==="filled")},inputs:{appearance:"appearance"},exportAs:["matCard"],ngContentSelectors:ote,decls:1,vars:0,template:function(t,o){t&1&&(ii(),on(0))},styles:[`.mat-mdc-card{display:flex;flex-direction:column;box-sizing:border-box;position:relative;border-style:solid;border-width:0;background-color:var(--mat-card-elevated-container-color, var(--mat-sys-surface-container-low));border-color:var(--mat-card-elevated-container-color, var(--mat-sys-surface-container-low));border-radius:var(--mat-card-elevated-container-shape, var(--mat-sys-corner-medium));box-shadow:var(--mat-card-elevated-container-elevation, var(--mat-sys-level1))}.mat-mdc-card::after{position:absolute;top:0;left:0;width:100%;height:100%;border:solid 1px rgba(0,0,0,0);content:"";display:block;pointer-events:none;box-sizing:border-box;border-radius:var(--mat-card-elevated-container-shape, var(--mat-sys-corner-medium))}.mat-mdc-card-outlined{background-color:var(--mat-card-outlined-container-color, var(--mat-sys-surface));border-radius:var(--mat-card-outlined-container-shape, var(--mat-sys-corner-medium));border-width:var(--mat-card-outlined-outline-width, 1px);border-color:var(--mat-card-outlined-outline-color, var(--mat-sys-outline-variant));box-shadow:var(--mat-card-outlined-container-elevation, var(--mat-sys-level0))}.mat-mdc-card-outlined::after{border:none}.mat-mdc-card-filled{background-color:var(--mat-card-filled-container-color, var(--mat-sys-surface-container-highest));border-radius:var(--mat-card-filled-container-shape, var(--mat-sys-corner-medium));box-shadow:var(--mat-card-filled-container-elevation, var(--mat-sys-level0))}.mdc-card__media{position:relative;box-sizing:border-box;background-repeat:no-repeat;background-position:center;background-size:cover}.mdc-card__media::before{display:block;content:""}.mdc-card__media:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit}.mdc-card__media:last-child{border-bottom-left-radius:inherit;border-bottom-right-radius:inherit}.mat-mdc-card-actions{display:flex;flex-direction:row;align-items:center;box-sizing:border-box;min-height:52px;padding:8px}.mat-mdc-card-title{font-family:var(--mat-card-title-text-font, var(--mat-sys-title-large-font));line-height:var(--mat-card-title-text-line-height, var(--mat-sys-title-large-line-height));font-size:var(--mat-card-title-text-size, var(--mat-sys-title-large-size));letter-spacing:var(--mat-card-title-text-tracking, var(--mat-sys-title-large-tracking));font-weight:var(--mat-card-title-text-weight, var(--mat-sys-title-large-weight))}.mat-mdc-card-subtitle{color:var(--mat-card-subtitle-text-color, var(--mat-sys-on-surface));font-family:var(--mat-card-subtitle-text-font, var(--mat-sys-title-medium-font));line-height:var(--mat-card-subtitle-text-line-height, var(--mat-sys-title-medium-line-height));font-size:var(--mat-card-subtitle-text-size, var(--mat-sys-title-medium-size));letter-spacing:var(--mat-card-subtitle-text-tracking, var(--mat-sys-title-medium-tracking));font-weight:var(--mat-card-subtitle-text-weight, var(--mat-sys-title-medium-weight))}.mat-mdc-card-title,.mat-mdc-card-subtitle{display:block;margin:0}.mat-mdc-card-avatar~.mat-mdc-card-header-text .mat-mdc-card-title,.mat-mdc-card-avatar~.mat-mdc-card-header-text .mat-mdc-card-subtitle{padding:16px 16px 0}.mat-mdc-card-header{display:flex;padding:16px 16px 0}.mat-mdc-card-content{display:block;padding:0 16px}.mat-mdc-card-content:first-child{padding-top:16px}.mat-mdc-card-content:last-child{padding-bottom:16px}.mat-mdc-card-title-group{display:flex;justify-content:space-between;width:100%}.mat-mdc-card-avatar{height:40px;width:40px;border-radius:50%;flex-shrink:0;margin-bottom:16px;object-fit:cover}.mat-mdc-card-avatar~.mat-mdc-card-header-text .mat-mdc-card-subtitle,.mat-mdc-card-avatar~.mat-mdc-card-header-text .mat-mdc-card-title{line-height:normal}.mat-mdc-card-sm-image{width:80px;height:80px}.mat-mdc-card-md-image{width:112px;height:112px}.mat-mdc-card-lg-image{width:152px;height:152px}.mat-mdc-card-xl-image{width:240px;height:240px}.mat-mdc-card-subtitle~.mat-mdc-card-title,.mat-mdc-card-title~.mat-mdc-card-subtitle,.mat-mdc-card-header .mat-mdc-card-header-text .mat-mdc-card-title,.mat-mdc-card-header .mat-mdc-card-header-text .mat-mdc-card-subtitle,.mat-mdc-card-title-group .mat-mdc-card-title,.mat-mdc-card-title-group .mat-mdc-card-subtitle{padding-top:0}.mat-mdc-card-content>:last-child:not(.mat-mdc-card-footer){margin-bottom:0}.Line truncated
`],encapsulation:2,changeDetection:0})}return n})(),Oc=(()=>{class n{static \u0275fac=function(t){return new(t||n)};static \u0275dir=ft({type:n,selectors:[["mat-card-title"],["","mat-card-title",""],["","matCardTitle",""]],hostAttrs:[1,"mat-mdc-card-title"]})}return n})();var ll=(()=>{class n{static \u0275fac=function(t){return new(t||n)};static \u0275dir=ft({type:n,selectors:[["mat-card-content"]],hostAttrs:[1,"mat-mdc-card-content"]})}return n})();var $b=(()=>{class n{align="start";static \u0275fac=function(t){return new(t||n)};static \u0275dir=ft({type:n,selectors:[["mat-card-actions"]],hostAttrs:[1,"mat-mdc-card-actions","mdc-card__actions"],hostVars:2,hostBindings:function(t,o){t&2&&Be("mat-mdc-card-actions-align-end",o.align==="end")},inputs:{align:"align"},exportAs:["matCardActions"]})}return n})(),Nc=(()=>{class n{static \u0275fac=function(t){return new(t||n)};static \u0275cmp=F({type:n,selectors:[["mat-card-header"]],hostAttrs:[1,"mat-mdc-card-header"],ngContentSelectors:ate,decls:4,vars:0,consts:[[1,"mat-mdc-card-header-text"]],template:function(t,o){t&1&&(ii(rte),on(0),vo(1,"div",0),on(2,1),wo(),on(3,2))},encapsulation:2,changeDetection:0})}return n})();var Mt=(()=>{class n{static \u0275fac=function(t){return new(t||n)};static \u0275mod=Ht({type:n});static \u0275inj=$t({imports:[hi]})}return n})();var wm=(()=>{class n{dataChange=new an([]);constructor(){}get data(){return this.dataChange.value}addController(e){let t=this.data.slice();t.push(e),this.dataChange.next(t)}addControllers(e){this.dataChange.next(e)}remove(e){let t=this.data.indexOf(e);t>=0&&(this.data.splice(t,1),this.dataChange.next(this.data.slice()))}find(e){return this.data.find(t=>t.name===e)}findById(e){return this.data.find(t=>t.id===e)}findIndex(e){return this.data.findIndex(t=>t.name===e)}findIndexById(e){return this.data.findIndex(t=>t.id===e)}update(e){let t=this.findIndexById(e.id);t>=0&&(this.data[t]=e,this.dataChange.next(this.data.slice()))}static \u0275fac=function(t){return new(t||n)};static \u0275prov=J({token:n,factory:n.\u0275fac})}return n})();var a8=(n,i)=>i.key;function lte(n,i){n&1&&(s(0,"mat-error"),d(1,"You must enter a value"),l())}function cte(n,i){if(n&1&&(s(0,"mat-option",9),d(1),l()),n&2){let e=i.$implicit;C("value",e.key),m(),ee(" ",e.name," ")}}function dte(n,i){if(n&1&&(s(0,"mat-option",9),d(1),l()),n&2){let e=i.$implicit;C("value",e.key),m(),ee(" ",e.name," ")}}var Hb=(()=>{class n{controllerService=f(Je);controllerDatabase=f(wm);route=f(lt);router=f(ht);toasterService=f(te);cdr=f(Q);controllerOptionsVisibility=ae(!1);controllerIp;controllerPort;projectId;protocols=[{key:"http:",name:"HTTP"},{key:"https:",name:"HTTPS"}];locations=[{key:"local",name:"Local"},{key:"remote",name:"Remote"}];controllerForm=new gr({name:new Ye("",[Ue.required]),location:new Ye(""),protocol:new Ye("http:")});constructor(){}async ngOnInit(){this.controllerService.isServiceInitialized&&this.getControllers(),this.controllerService.serviceInitialized.subscribe(async e=>{e&&this.getControllers()})}async getControllers(){this.controllerIp=this.route.snapshot.paramMap.get("controller_ip"),this.controllerPort=+this.route.snapshot.paramMap.get("controller_port"),this.projectId=this.route.snapshot.paramMap.get("project_id");try{let t=(await this.controllerService.findAll()).filter(o=>o.host===this.controllerIp&&o.port===this.controllerPort)[0];t?this.router.navigate(["/controller",t.id,"project",this.projectId]):(this.controllerOptionsVisibility.set(!0),this.cdr.markForCheck())}catch(e){let t=e.error?.message||e.message||"Failed to load controllers";this.toasterService.error(t),this.cdr.markForCheck()}}createController(){if(!this.controllerForm.get("name").hasError&&!this.controllerForm.get("location").hasError&&!this.controllerForm.get("protocol").hasError){this.toasterService.error("Please use correct values");return}let e=new y4;e.host=this.controllerIp,e.port=this.controllerPort,e.name=this.controllerForm.get("name").value,e.location=this.controllerForm.get("location").value,e.protocol=this.controllerForm.get("protocol").value,this.controllerService.create(e).then(t=>{this.router.navigate(["/controller",t.id,"project",this.projectId])},t=>{let o=t.error?.message||t.message||"Failed to create controller";this.toasterService.error(o),this.cdr.markForCheck()})}static \u0275fac=function(t){return new(t||n)};static \u0275cmp=F({type:n,selectors:[["app-direct-link"]],decls:22,vars:3,consts:[[1,"content",3,"hidden"],[1,"default-header"],[1,"row"],[1,"col"],[1,"default-content"],[1,"matCard"],[3,"formGroup"],["matInput","","tabindex","1","formControlName","name","placeholder","Name"],["placeholder","Location","formControlName","location"],[3,"value"],["placeholder","Protocol","formControlName","protocol"],[1,"buttons-bar"],["mat-raised-button","","color","primary",3,"click"]],template:function(t,o){t&1&&(s(0,"div",0)(1,"div",1)(2,"div",2)(3,"h1",3),d(4,"Add new controller"),l()()(),s(5,"div",4)(6,"mat-card",5)(7,"form",6)(8,"mat-form-fiel Line truncated
`],encapsulation:2,changeDetection:0})}return n})();var Td=(()=>{class n{panel=f(kd,{host:!0});_element=f(Zt);_focusMonitor=f(Aa);_changeDetectorRef=f(Q);_parentChangeSubscription=So.EMPTY;constructor(){f(cr).load(ia);let e=this.panel,t=f(d8,{optional:!0}),o=f(new sc("tabindex"),{optional:!0}),r=e.accordion?e.accordion._stateChanges.pipe(ai(a=>!!(a.hideToggle||a.togglePosition))):Lu;this.tabIndex=parseInt(o||"")||0,this._parentChangeSubscription=Hn(e.opened,e.closed,r,e._inputChanges.pipe(ai(a=>!!(a.hideToggle||a.disabled||a.togglePosition)))).subscribe(()=>this._changeDetectorRef.markForCheck()),e.closed.pipe(ai(()=>e._containsFocus())).subscribe(()=>this._focusMonitor.focusVia(this._element,"program")),t&&(this.expandedHeight=t.expandedHeight,this.collapsedHeight=t.collapsedHeight)}expandedHeight;collapsedHeight;tabIndex=0;get disabled(){return this.panel.disabled}_toggle(){this.disabled||this.panel.toggle()}_isExpanded(){return this.panel.expanded}_getExpandedState(){return this.panel._getExpandedState()}_getPanelId(){return this.panel.id}_getTogglePosition(){return this.panel.togglePosition}_showToggle(){return!this.panel.hideToggle&&!this.panel.disabled}_getHeaderHeight(){let e=this._isExpanded();return e&&this.expandedHeight?this.expandedHeight:!e&&this.collapsedHeight?this.collapsedHeight:null}_keydown(e){switch(e.keyCode){case 32:case 13:fa(e)||(e.preventDefault(),this._toggle());break;default:this.panel.accordion&&this.panel.accordion._handleHeaderKeydown(e);return}}focus(e,t){e?this._focusMonitor.focusVia(this._element,e,t):this._element.nativeElement.focus(t)}ngAfterViewInit(){this._focusMonitor.monitor(this._element).subscribe(e=>{e&&this.panel.accordion&&this.panel.accordion._handleHeaderFocus(this)})}ngOnDestroy(){this._parentChangeSubscription.unsubscribe(),this._focusMonitor.stopMonitoring(this._element)}static \u0275fac=function(t){return new(t||n)};static \u0275cmp=F({type:n,selectors:[["mat-expansion-panel-header"]],hostAttrs:["role","button",1,"mat-expansion-panel-header","mat-focus-indicator"],hostVars:13,hostBindings:function(t,o){t&1&&g("click",function(){return o._toggle()})("keydown",function(a){return o._keydown(a)}),t&2&&(qt("id",o.panel._headerId)("tabindex",o.disabled?-1:o.tabIndex)("aria-controls",o._getPanelId())("aria-expanded",o._isExpanded())("aria-disabled",o.panel.disabled),nn("height",o._getHeaderHeight()),Be("mat-expanded",o._isExpanded())("mat-expansion-toggle-indicator-after",o._getTogglePosition()==="after")("mat-expansion-toggle-indicator-before",o._getTogglePosition()==="before"))},inputs:{expandedHeight:"expandedHeight",collapsedHeight:"collapsedHeight",tabIndex:[2,"tabIndex","tabIndex",e=>e==null?0:No(e)]},ngContentSelectors:_te,decls:5,vars:3,consts:[[1,"mat-content"],[1,"mat-expansion-indicator"],["xmlns","http://www.w3.org/2000/svg","viewBox","0 -960 960 960","aria-hidden","true","focusable","false"],["d","M480-345 240-585l56-56 184 184 184-184 56 56-240 240Z"]],template:function(t,o){t&1&&(ii(gte),vo(0,"span",0),on(1),on(2,1),on(3,2),wo(),A(4,vte,3,0,"span",1)),t&2&&(Be("mat-content-hide-toggle",!o._showToggle()),m(4),O(o._showToggle()?4:-1))},styles:[`.mat-expansion-panel-header{display:flex;flex-direction:row;align-items:center;padding:0 24px;border-radius:inherit}.mat-expansion-panel-animations-enabled .mat-expansion-panel-header{transition:height 225ms cubic-bezier(0.4, 0, 0.2, 1)}.mat-expansion-panel-header::before{border-radius:inherit}.mat-expansion-panel-header{height:var(--mat-expansion-header-collapsed-state-height, 48px);font-family:var(--mat-expansion-header-text-font, var(--mat-sys-title-medium-font));font-size:var(--mat-expansion-header-text-size, var(--mat-sys-title-medium-size));font-weight:var(--mat-expansion-header-text-weight, var(--mat-sys-title-medium-weight));line-height:var(--mat-expansion-header-text-line-height, var(--mat-sys-title-medium-line-height));letter-spacing:var(--mat-expansion-header-text-tracking, var(--mat-sys-title-medium-tracking))}.mat-expansion-panel-header.mat-expanded{height:var(--mat-expansion-header-expanded-state-height, 64px)}.mat-expansion-panel-header[aria-disabled=true]{color:var(--mat-expansion-header-disabled-state-text-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent))}.mat-expansion-panel-header:not([aria-disabled=true]){cursor:pointer}.mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:not([aria-disabled=true]):hover{background:var(--mat-expansion-header-hover-state-layer-color, color-mix(in srgb, var(--mat-sys-on-surface) calc(var(--mat-sys-hover-state-layer-opacity) * 100%), transparent))}@media(hover: none){.mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:not([aria-disabled=true]):hover{background:var(--mat-expansion-container-background-color, var(--mat-sys-surface))}}.mat-expansion-panel .mat-expansion-panel-header:not([aria-disabled=true]).cdk-keyboard-focused,.mat-expansion-panel .mat-expansion-panel-header:not([aria-disabled=true]).cdk-prograLine truncated
`],encapsulation:2,changeDetection:0})}return n})(),Gb=(()=>{class n{static \u0275fac=function(t){return new(t||n)};static \u0275dir=ft({type:n,selectors:[["mat-panel-description"]],hostAttrs:[1,"mat-expansion-panel-header-description"]})}return n})(),Mm=(()=>{class n{static \u0275fac=function(t){return new(t||n)};static \u0275dir=ft({type:n,selectors:[["mat-panel-title"]],hostAttrs:[1,"mat-expansion-panel-header-title"]})}return n})(),km=(()=>{class n extends s8{_keyManager;_ownHeaders=new Il;_headers;hideToggle=!1;displayMode="default";togglePosition="after";ngAfterContentInit(){this._headers.changes.pipe(pi(this._headers)).subscribe(e=>{this._ownHeaders.reset(e.filter(t=>t.panel.accordion===this)),this._ownHeaders.notifyOnChanges()}),this._keyManager=new Gd(this._ownHeaders).withWrap().withHomeAndEnd()}_handleHeaderKeydown(e){this._keyManager.onKeydown(e)}_handleHeaderFocus(e){this._keyManager.updateActiveItem(e)}ngOnDestroy(){super.ngOnDestroy(),this._keyManager?.destroy(),this._ownHeaders.destroy()}static \u0275fac=(()=>{let e;return function(o){return(e||(e=Pi(n)))(o||n)}})();static \u0275dir=ft({type:n,selectors:[["mat-accordion"]],contentQueries:function(t,o,r){if(t&1&&Ki(r,Td,5),t&2){let a;mt(a=pt())&&(o._headers=a)}},hostAttrs:[1,"mat-accordion"],hostVars:2,hostBindings:function(t,o){t&2&&Be("mat-accordion-multi",o.multi)},inputs:{hideToggle:[2,"hideToggle","hideToggle",Ct],displayMode:"displayMode",togglePosition:"togglePosition"},exportAs:["matAccordion"],features:[fn([{provide:HD,useExisting:n}]),si]})}return n})(),cl=(()=>{class n{static \u0275fac=function(t){return new(t||n)};static \u0275mod=Ht({type:n});static \u0275inj=$t({imports:[Ub,Wu,hi]})}return n})();var qb=(()=>{class n{httpClient=f(js);sanitizer=f(fr);toasterService=f(te);cd=f(Q);thirdpartylicenses=ae("");releasenotes=ae("");ngOnInit(){this.httpClient.get(window.location.href+"/3rdpartylicenses.txt",{responseType:"text"}).subscribe({next:e=>{let t=e.replace(new RegExp(`
`,"g"),"<br />");this.thirdpartylicenses.set(this.sanitizer.bypassSecurityTrustHtml(t))},error:e=>{if(e.status===404)this.thirdpartylicenses.set("Download Solar-PuTTY");else{let t=e.error?.message||e.message||"Failed to load third party licenses";this.toasterService.error(t)}this.cd.markForCheck()}}),this.httpClient.get("ReleaseNotes.txt",{responseType:"text"}).subscribe({next:e=>{let t=e.replace(new RegExp(`
`,"g"),"<br />");this.releasenotes.set(this.sanitizer.bypassSecurityTrustHtml(t))},error:e=>{let t=e.error?.message||e.message||"Failed to load release notes";this.toasterService.error(t),this.cd.markForCheck()}})}goToDocumentation(){window.location.href="https://docs.gns3.com/docs/"}static \u0275fac=function(t){return new(t||n)};static \u0275cmp=F({type:n,selectors:[["app-help"]],decls:39,vars:2,consts:[[1,"help"],[1,"help__header"],[1,"help__title"],[1,"help__content"],[1,"help__card"],["href","https://downloads.solarwinds.com/solarwinds/GNS3/Solar-PuTTY/Solar-PuTTY-Optional.exe",1,"help__link"],[3,"innerHTML"],["mat-button","","color","primary",1,"help__doc-button",3,"click"]],template:function(t,o){t&1&&(s(0,"div",0)(1,"header",1)(2,"h1",2),d(3,"Help"),l()(),s(4,"main",3)(5,"section",4)(6,"mat-accordion")(7,"mat-expansion-panel")(8,"mat-expansion-panel-header")(9,"mat-panel-title"),d(10," Useful shortcuts "),l()(),s(11,"mat-list")(12,"mat-list-item"),d(13," ctrl + + to zoom in "),l(),s(14,"mat-list-item"),d(15," ctrl + - to zoom out "),l(),s(16,"mat-list-item"),d(17," ctrl + 0 to reset zoom "),l(),s(18,"mat-list-item"),d(19," ctrl + h to hide toolbar "),l(),s(20,"mat-list-item"),d(21," ctrl + a to select all items on map "),l(),s(22,"mat-list-item"),d(23," ctrl + shift + a to deselect all items on map "),l(),s(24,"mat-list-item"),d(25," ctrl + shift + s to go to preferences "),l()()(),s(26,"mat-expansion-panel")(27,"mat-expansion-panel-header")(28,"mat-panel-title"),d(29," Third party components "),l()(),s(30,"a",5),R(31,"div",6),l()(),s(32,"mat-expansion-panel")(33,"mat-expansion-panel-header")(34,"mat-panel-title"),d(35," Release notes "),l()(),R(36,"div",6),l()()(),s(37,"button",7),_("click",function(){return o.goToDocumentation()}),d(38," Go to documentation "),l()()()),t&2&&(m(31),b("innerHTML",o.thirdpartylicenses(),Xp),m(5),b("innerHTML",o.releasenotes(),Xp))},dependencies:[W,pe,Ml,ip,Kd,Yd,np,io,pF,Cm],styles:["[_nghost-%COMP%]{display:block;width:100%;background:transparent}.help__header[_ngcontent-%COMP%]{max-width:800px;margin:0 auto;padding:32px 20px 16px;animation:_ngcontent-%COMP%_fadeInSlideIn .4s ease-out}.help__title[_ngcontent-%COMP%]{font-size:32px;font-weight:500;color:var(--mat-sys-on-surface);margin:0;padding-bottom:8px}.help__content[_ngcontent-%COMP%]{max-width:800px;margin:0 auto;padding:0 20px 20px;animation:_ngcontent-%COMP%_fadeInSlideIn .4s ease-out .1s both}.help__card[_ngcontent-%COMP%]{background:var(--mat-sys-surface);border-radius:16px;overflow:hidden;box-shadow:0 8px 32px color-mix(in srgb,var(--mat-sys-shadow) 20%,transparent),0 2px 8px color-mix(in srgb,var(--mat-sys-shadow) 10%,transparent)}.mat-expansion-panel[_ngcontent-%COMP%]{box-shadow:none;border-bottom:1px solid var(--mat-sys-outline-variant)}.mat-expansion-panel[_ngcontent-%COMP%]:first-of-type{border-top:none}.mat-expansion-panel-header[_ngcontent-%COMP%]{font-weight:500;color:var(--mat-sys-on-surface)}.mat-expansion-panel-header-title[_ngcontent-%COMP%]{color:var(--mat-sys-on-surface)}.help__doc-button[_ngcontent-%COMP%]{display:block;width:100%;margin-top:20px;height:48px;border-radius:12px;font-size:16px;font-weight:500;text-transform:none;letter-spacing:.5px}.help__link[_ngcontent-%COMP%]{color:var(--mat-sys-primary);text-decoration:none;font-size:14px;font-weight:400}.help__link[_ngcontent-%COMP%]:hover{text-decoration:underline}@keyframes _ngcontent-%COMP%_fadeInSlideIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media(max-width:768px){.help__header[_ngcontent-%COMP%]{padding:24px 16px 12px}.help__title[_ngcontent-%COMP%]{font-size:24px}.help__content[_ngcontent-%COMP%]{padding:0 16px 16px}.help__doc-button[_ngcontent-%COMP%]{height:44px;font-size:15px}}"],changeDetection:0})}return n})();var Ry=(()=>{class n{constructor(){}isWindows(){return navigator.platform.indexOf("Win")>-1}isLinux(){return navigator.platform.indexOf("Linux")>-1}isDarwin(){return navigator.platform.indexOf("Mac")>-1}static \u0275fac=function(t){return new(t||n)};static \u0275prov=K({token:n,factory:n.\u0275fac})}return n})();var Ly=(()=>{class n{platformService;constructor(e){this.platformService=e}get(){return this.platformService.isWindows()?this.getForWindows():this.platformService.isDarwin()?this.getForDarwin():this.getForLinux()}getForWindows(){let e=[{name:"Wireshark",locations:["C:\\Program Files\\Wireshark\\Wireshark.exe"],type:"web",resource:"https://1.na.dl.wireshark.org/win64/all-versions/Wireshark-win64-2.6.3.exe",binary:"Wireshark.exe",sudo:!0,installation_arguments:[],installed:!1,installer:!0}],t={name:"SolarPuTTY",locations:["SolarPuTTY.exe","external\\SolarPuTTY.exe"],type:"web",resource:"",binary:"SolarPuTTY.exe",sudo:!1,installation_arguments:["--only-ask"],installed:!1,installer:!1};return Ti.solarputty_download_url&&(t.resource=Ti.solarputty_download_url,e.push(t)),e}getForLinux(){return[]}getForDarwin(){return[]}static \u0275fac=function(t){return new(t||n)(ge(Ry))};static Line truncated
`],encapsulation:2,changeDetection:0})}return n})(),Ft=(()=>{class n{static \u0275fac=function(t){return new(t||n)};static \u0275mod=Gt({type:n});static \u0275inj=Ut({imports:[Xt,vi]})}return n})();var kl=(()=>{class n{httpController;controller_id="";constructor(e){this.httpController=e}login(e,t,o){let r=new x5().set("username",t).set("password",o),a={headers:new C1().set("Content-Type","application/x-www-form-urlencoded")};return this.httpController.post(e,"/access/users/login",r,a)}getLoggedUser(e){return this.httpController.get(e,"/access/users/me").toPromise()}async getLoggedUserRefToken(e,t){return await this.httpController.post(e,"/access/users/authenticate",{username:t.username,password:t.password}).toPromise()}static \u0275fac=function(t){return new(t||n)(ge(fn))};static \u0275prov=K({token:n,factory:n.\u0275fac})}return n})();var $y=(()=>{class n{httpController;constructor(e){this.httpController=e}get(e){return this.httpController.get(e,"/version")}static \u0275fac=function(t){return new(t||n)(ge(fn))};static \u0275prov=K({token:n,factory:n.\u0275fac})}return n})();var op=(()=>{class n{notificationService;currentController=null;constructor(e){this.notificationService=e}establishConnection(e){this.currentController&&this.currentController.id===e.id||(this.currentController&&this.disconnect(),this.notificationService.connectToComputeNotifications(e),this.currentController=e)}disconnect(){this.notificationService.disconnect(),this.currentController=null}getCurrentController(){return this.currentController}isConnectedTo(e){return this.currentController&&this.currentController.id===e.id}static \u0275fac=function(t){return new(t||n)(ge(ll))};static \u0275prov=K({token:n,factory:n.\u0275fac})}return n})();var ese=["usernameInput"];function tse(n,i){n&1&&R(0,"mat-icon",3)}function nse(n,i){n&1&&R(0,"mat-icon",4)}function ise(n,i){n&1&&R(0,"mat-icon",9)}function ose(n,i){n&1&&R(0,"mat-icon",10)}function rse(n,i){if(n&1&&(s(0,"div",12)(1,"mat-icon",32),d(2,"storage"),l(),s(3,"div",33)(4,"span",34),d(5),l(),s(6,"span",35),d(7),l()()()),n&2){let e=v();m(5),j(e.controllerName),m(2),j(e.controllerAddress)}}function ase(n,i){n&1&&(s(0,"mat-error"),d(1," Username is required "),l())}function sse(n,i){n&1&&(s(0,"mat-error"),d(1," Password is required "),l())}function lse(n,i){n&1&&(s(0,"div",19)(1,"mat-icon",36),d(2,"warning"),l(),s(3,"span"),d(4,"Caps Lock is on"),l()())}function cse(n,i){n&1&&R(0,"mat-progress-spinner",24)}function dse(n,i){n&1&&(s(0,"span"),d(1,"Login"),l())}function mse(n,i){n&1&&R(0,"mat-icon",29)}function pse(n,i){n&1&&R(0,"mat-icon",30)}var Hy=(()=>{class n{loginService=f(kl);controllerService=f(nt);controllerDatabase=f(tp);route=f(rt);router=f(dt);toasterService=f(te);versionService=f($y);themeService=f(ui);connectionManager=f(op);cd=f(X);controller;returnUrl=ne("");usernameInput;version=ne("");isLoading=ne(!1);hidePassword=ne(!0);isCapsLockOn=ne(!1);isRememberMeChecked=ne(!1);currentYear=new Date().getFullYear();isLightThemeEnabled=Zt(()=>this.themeService.getActualTheme()==="light");loginForm=new I1({username:new wc("",{nonNullable:!0,validators:[Ue.required]}),password:new wc("",{nonNullable:!0,validators:[Ue.required]})});constructor(){}ngOnInit(){let e=this.route.snapshot.paramMap.get("controller_id");this.returnUrl.set(this.route.snapshot.queryParams.returnUrl||"/"),this.controllerService.get(parseInt(e,10)).then(t=>{this.controller=t,t.authToken&&this.router.navigate(["/controller",this.controller.id,"projects"]),this.versionService.get(this.controller).subscribe({next:o=>{this.version.set(o.version)},error:o=>{let r=o.error?.message||o.message||"Failed to load version";this.toasterService.error(r),this.cd.markForCheck()}})},t=>{let o=t.error?.message||t.message||"Failed to load controller";this.toasterService.error(o),this.cd.markForCheck()}),this.loadRememberMeData(),setTimeout(()=>{this.usernameInput&&this.usernameInput.nativeElement.focus()},100)}loadRememberMeData(){let e=localStorage.getItem("isRememberMe");if(e)try{let t=JSON.parse(e);t.isRememberMe&&(this.loginForm.controls.username.setValue(t.username),this.isRememberMeChecked.set(!0))}catch(t){console.error("Failed to parse remember me data",t)}}togglePasswordVisibility(){this.hidePassword.update(e=>!e)}onCapsLock(e){this.isCapsLockOn.set(e.getModifierState&&e.getModifierState("CapsLock"))}login(){if(this.loginForm.invalid){this.toasterService.error("Please enter username and password");return}let e=this.loginForm.value.username,t=this.loginForm.value.password;this.isLoading.set(!0),this.loginService.login(this.controller,e,t).subscribe({next:async o=>{let r=this.controller;r.authToken=o.access_token,o.refresh_token&&localStorage.setItem(`refresh_token_${r.id}`,o.refresh_token),r.username=e,r.password=t,r.tokenExpired=!1,await this.controllerService.update(r),this.connectionManager.establishConnection(r),this.handleRememberMe(e),this.isLoading.set(!1),this.cd.markForCheck(),this.returnUrl().length<=1?this.router.navigate( Line truncated
`],encapsulation:2,changeDetection:0})}return n})(),lo=(()=>{class n{static \u0275fac=function(t){return new(t||n)};static \u0275mod=Gt({type:n});static \u0275inj=Ut({imports:[kc,Co,vi]})}return n})();var Wy,vse=new Uint8Array(16);function f3(){if(!Wy&&(Wy=typeof crypto<"u"&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)||typeof msCrypto<"u"&&typeof msCrypto.getRandomValues=="function"&&msCrypto.getRandomValues.bind(msCrypto),!Wy))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return Wy(vse)}var GB=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;function Cse(n){return typeof n=="string"&&GB.test(n)}var WB=Cse;var va=[];for(qy=0;qy<256;++qy)va.push((qy+256).toString(16).substr(1));var qy;function bse(n){var i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,e=(va[n[i+0]]+va[n[i+1]]+va[n[i+2]]+va[n[i+3]]+"-"+va[n[i+4]]+va[n[i+5]]+"-"+va[n[i+6]]+va[n[i+7]]+"-"+va[n[i+8]]+va[n[i+9]]+"-"+va[n[i+10]]+va[n[i+11]]+va[n[i+12]]+va[n[i+13]]+va[n[i+14]]+va[n[i+15]]).toLowerCase();if(!WB(e))throw TypeError("Stringified UUID is invalid");return e}var qB=bse;function xse(n,i,e){n=n||{};var t=n.random||(n.rng||f3)();if(t[6]=t[6]&15|64,t[8]=t[8]&63|128,i){e=e||0;for(var o=0;o<16;++o)i[e+o]=t[o];return i}return qB(t)}var Fi=xse;var Pr=(()=>{class n{httpController;constructor(e){this.httpController=e}getTemplates(e){return this.httpController.get(e,"/templates")}getTemplate(e,t){return this.httpController.get(e,`/templates/${t}`)}addTemplate(e,t){return this.httpController.post(e,"/templates",t)}saveTemplate(e,t){return this.httpController.put(e,`/templates/${t.template_id}`,t)}static \u0275fac=function(t){return new(t||n)(ge(fn))};static \u0275prov=K({token:n,factory:n.\u0275fac})}return n})();var Ia=(()=>{class n{getQemuTemplate(){return bt({adapter_type:"e1000",adapters:4,bios_image:"",boot_priority:"c",builtin:!1,category:"guest",cdrom_image:"",compute_id:"local",console_auto_start:!1,console_type:"telnet",aux_type:"none",cpu_throttling:0,cpus:1,maxcpus:1,create_config_disk:!1,custom_adapters:[],default_name_format:"{name}-{0}",first_port_name:"",hda_disk_image:"",hda_disk_interface:"ide",hdb_disk_image:"",hdb_disk_interface:"ide",hdc_disk_image:"",hdc_disk_interface:"ide",hdd_disk_image:"",hdd_disk_interface:"ide",initrd:"",kernel_command_line:"",kernel_image:"",linked_clone:!0,mac_address:"",name:"",on_close:"power_off",options:"-nographic",platform:"",port_name_format:"Ethernet{0}",port_segment_size:0,process_priority:"normal",qemu_path:"",ram:256,symbol:"qemu_guest",template_id:"",template_type:"qemu",usage:"",replicate_network_connection_state:!0,tpm:!1,uefi:!1,tags:[]})}getVpcsTemplate(){return bt({base_script_file:"vpcs_base_config.txt",builtin:!1,category:"guest",compute_id:"local",console_auto_start:!1,console_type:"telnet",default_name_format:"PC{0}",name:"",symbol:"vpcs_guest",template_id:"",template_type:"vpcs",tags:[]})}getVirtualBoxTemplate(){return bt({adapter_type:"Intel PRO/1000 MT Desktop (82540EM)",adapters:1,builtin:!1,category:"guest",compute_id:"local",console_auto_start:!1,console_type:"none",custom_adapters:[],default_name_format:"{name}-{0}",first_port_name:"",headless:!1,linked_clone:!1,name:"",on_close:"power_off",port_name_format:"Ethernet{0}",port_segment_size:0,ram:0,symbol:"vbox_guest",template_id:"",template_type:"virtualbox",usage:"",use_any_adapter:!1,vmname:"",tags:[]})}getCloudNodeTemplate(){return bt({builtin:!1,category:"guest",compute_id:"local",default_name_format:"Cloud{0}",name:"",ports_mapping:[],remote_console_type:"none",symbol:"cloud",template_id:"",template_type:"cloud",tags:[]})}getEthernetHubTemplate(){return bt({builtin:!1,category:"switch",compute_id:"local",default_name_format:"Hub{0}",name:"",ports_mapping:[],symbol:"hub",template_id:"",template_type:"ethernet_hub",tags:[]})}getEthernetSwitchTemplate(){return bt({builtin:!1,category:"switch",compute_id:"local",console_type:"telnet",default_name_format:"Switch{0}",name:"",ports_mapping:[],symbol:"ethernet_switch",template_id:"",template_type:"ethernet_switch",tags:[]})}getIosTemplate(){return bt({auto_delete_disks:!0,builtin:!1,category:"router",compute_id:"local",console_auto_start:!1,console_type:"telnet",aux_type:"none",default_name_format:"R{0}",disk0:0,disk1:0,exec_area:64,idlemax:500,idlepc:"",idlesleep:30,image:"",mac_addr:"",mmap:!0,name:"",nvram:128,platform:"",private_config:"",ram:128,sparsemem:!0,startup_config:"ios_base_startup-config.txt",symbol:"router",system_id:"FTX0945W0MY",template_id:"",template_type:"dynamips",usage:"",tags:[]})}getVmwareTemplate(){return bt({adapter_type:"e1000",adapters:1,builtin:!1,category:"guest",compute_id:"local",console_auto_start:!1,console_type:"none",custom_adapters:[],default_name_format:"{name}-{0}",first_port_name:"",headless:!1,linked_clone:!1,name:"",on_close:"power_off",port_name_format:"Ethernet{0}", Line truncated
`,Dse=[[["","matChipEdit",""]],[["mat-chip-avatar"],["","matChipAvatar",""]],[["","matChipEditInput",""]],"*",[["mat-chip-trailing-icon"],["","matChipRemove",""],["","matChipTrailingIcon",""]]],Pse=["[matChipEdit]","mat-chip-avatar, [matChipAvatar]","[matChipEditInput]","*","mat-chip-trailing-icon,[matChipRemove],[matChipTrailingIcon]"];function Ise(n,i){n&1&&R(0,"span",0)}function Ase(n,i){n&1&&(s(0,"span",1),sn(1),l())}function Ose(n,i){n&1&&(s(0,"span",3),sn(1,1),l())}function Nse(n,i){n&1&&sn(0,2)}function Fse(n,i){n&1&&R(0,"span",7)}function Rse(n,i){if(n&1&&A(0,Nse,1,0)(1,Fse,1,0,"span",7),n&2){let e=v();O(e.contentEditInput?0:1)}}function Lse(n,i){n&1&&sn(0,3)}function Bse(n,i){n&1&&(s(0,"span",6),sn(1,4),l())}var ZB=["*"],Vse=`.mat-mdc-chip-set{display:flex}.mat-mdc-chip-set:focus{outline:none}.mat-mdc-chip-set .mdc-evolution-chip-set__chips{min-width:100%;margin-left:-8px;margin-right:0}.mat-mdc-chip-set .mdc-evolution-chip{margin:4px 0 4px 8px}[dir=rtl] .mat-mdc-chip-set .mdc-evolution-chip-set__chips{margin-left:0;margin-right:-8px}[dir=rtl] .mat-mdc-chip-set .mdc-evolution-chip{margin-left:0;margin-right:8px}.mdc-evolution-chip-set__chips{display:flex;flex-flow:wrap;min-width:0}.mat-mdc-chip-set-stacked{flex-direction:column;align-items:flex-start}.mat-mdc-chip-set-stacked .mat-mdc-chip{width:100%}.mat-mdc-chip-set-stacked .mdc-evolution-chip__graphic{flex-grow:0}.mat-mdc-chip-set-stacked .mdc-evolution-chip__action--primary{flex-basis:100%;justify-content:start}input.mat-mdc-chip-input{flex:1 0 150px;margin-left:8px}[dir=rtl] input.mat-mdc-chip-input{margin-left:0;margin-right:8px}.mat-mdc-form-field:not(.mat-form-field-hide-placeholder) input.mat-mdc-chip-input::placeholder{opacity:1}.mat-mdc-form-field:not(.mat-form-field-hide-placeholder) input.mat-mdc-chip-input::-moz-placeholder{opacity:1}.mat-mdc-form-field:not(.mat-form-field-hide-placeholder) input.mat-mdc-chip-input::-webkit-input-placeholder{opacity:1}.mat-mdc-form-field:not(.mat-form-field-hide-placeholder) input.mat-mdc-chip-input:-ms-input-placeholder{opacity:1}.mat-mdc-chip-set+input.mat-mdc-chip-input{margin-left:0;margin-right:0}
`,JB=new $t("mat-chips-default-options",{providedIn:"root",factory:()=>({separatorKeyCodes:[13]})}),QB=new $t("MatChipAvatar"),XB=new $t("MatChipTrailingIcon"),KB=new $t("MatChipEdit"),_3=new $t("MatChipRemove"),b3=new $t("MatChip"),eV=(()=>{class n{_elementRef=f(Yt);_parentChip=f(b3);_isPrimary=!0;_isLeading=!1;get disabled(){return this._disabled||this._parentChip?.disabled||!1}set disabled(e){this._disabled=e}_disabled=!1;tabIndex=-1;_allowFocusWhenDisabled=!1;_getDisabledAttribute(){return this.disabled&&!this._allowFocusWhenDisabled?"":null}constructor(){f(fr).load(pa),this._elementRef.nativeElement.nodeName==="BUTTON"&&this._elementRef.nativeElement.setAttribute("type","button")}focus(){this._elementRef.nativeElement.focus()}static \u0275fac=function(t){return new(t||n)};static \u0275dir=ft({type:n,selectors:[["","matChipContent",""]],hostAttrs:[1,"mat-mdc-chip-action","mdc-evolution-chip__action","mdc-evolution-chip__action--presentational"],hostVars:8,hostBindings:function(t,o){t&2&&(qt("disabled",o._getDisabledAttribute())("aria-disabled",o.disabled),Ve("mdc-evolution-chip__action--primary",o._isPrimary)("mdc-evolution-chip__action--secondary",!o._isPrimary)("mdc-evolution-chip__action--trailing",!o._isPrimary&&!o._isLeading))},inputs:{disabled:[2,"disabled","disabled",gt],tabIndex:[2,"tabIndex","tabIndex",e=>e==null?-1:Bo(e)],_allowFocusWhenDisabled:"_allowFocusWhenDisabled"}})}return n})(),x3=(()=>{class n extends eV{_getTabindex(){return this.disabled&&!this._allowFocusWhenDisabled?null:this.tabIndex.toString()}_handleClick(e){!this.disabled&&this._isPrimary&&(e.preventDefault(),this._parentChip._handlePrimaryActionInteraction())}_handleKeydown(e){(e.keyCode===13||e.keyCode===32)&&!this.disabled&&this._isPrimary&&!this._parentChip._isEditing&&(e.preventDefault(),this._parentChip._handlePrimaryActionInteraction())}static \u0275fac=(()=>{let e;return function(o){return(e||(e=Mi(n)))(o||n)}})();static \u0275dir=ft({type:n,selectors:[["","matChipAction",""]],hostVars:3,hostBindings:function(t,o){t&1&&_("click",function(a){return o._handleClick(a)})("keydown",function(a){return o._handleKeydown(a)}),t&2&&(qt("tabindex",o._getTabindex()),Ve("mdc-evolution-chip__action--presentational",!1))},features:[mi]})}return n})();var fi=(()=>{class n extends x3{_isPrimary=!1;_handleClick(e){this.disabled||(e.stopPropagation(),e.preventDefault(),this._parentChip.remove())}_handleKeydown(e){(e.keyCode===13||e.keyCode===32)&&!this.disabled&&(e.stopPropagation(),e.preventDefault(),this._parentChip.remove())}static \u0275fac=(()=>{let e;return function(o){return(e||(e=Mi(n)))(o||n)}})();static \u0275dir=ft({type:n,selectors:[["","matChipRemove",""]],hostAttrs:["role","button",1,"mat-mdc-chip-remove","mat-mdc-chip-trailing-icon","mat-focus-indicator","mdc-evolution-chip__icon","mdc-evolution-chip__icon--trailing"],hostVars:1,hostBindings:function(t,o){t&2&&qt("aria-hidden",null)},features:[bn([{provide:_3,useExisting:n}]),mi]})}return n})(),ni=(()=>{class n{_changeDetectorRef=f(X);_elementRef=f(Yt);_tagName=f(c5);_ngZone=f(Ai);_focusMonitor=f($a);_globalRippleOptions=f(Y5,{optional:!0});_document=f(Ui);_onFocus=new $e;_onBlur=new $e;_isBasicChip=!1;role=null;_hasFocusInternal=!1;_pendingFocus=!1;_actionChanges;_animationsDisabled=Yo();_allLeadingIcons;_allTrailingIcons;_allEditIcons;_allRemoveIcons;_hasFocus(){return this._hasFocusInternal}id=f(Do).getId("mat-mdc-chip-");ariaLabel=null;ariaDescription=null;_chipListDisabled=!1;_hadFocusOnRemove=!1;_textElement;get value(){return this._value!==void 0?this._value:this._textElement.textContent.trim()}set value(e){this._value=e}_value;color;removable=!0;highlighted=!1;disableRipple=!1;get disabled(){return this._disabled||this._chipListDisabled}set disabled(e){this._disabled=e}_disabled=!1;removed=new _e;destroyed=new _e;basicChipAttrName="mat-basic-chip";leadingIcon;editIcon;trailingIcon;removeIcon;primaryAction;_rippleLoader=f(Z5);_injector=f(Ro);constructor(){let e=f(fr);e.load(pa),e.load(O1),this._monitorFocus(),this._rippleLoader?.configureRipple(this._elementRef.nativeElement,{className:"mat-mdc-chip-ripple",disabled:this._isRippleDisabled()})}ngOnInit(){this._isBasicChip=this._elementRef.nativeElement.hasAttribute(this.basicChipAttrName)||this._tagName.toLowerCase()===this.basicChipAttrName}ngAfterViewInit(){this._textElement=this._elementRef.nativeElement.querySelector(".mat-mdc-chip-action-label"),this._pendingFocus&&(this._pendingFocus=!1,this.focus())}ngAfterContentInit(){this._actionChanges=Wn(this._allLeadingIcons.changes,this._allTrailingIcons.changes,this._allEditIcons.changes,this._allRemoveIcons.changes).subscribe(()=>this._changeDetectorRef.markForCheck())}ngDoCheck(){this._rippleLoader.setDisabled(this._elementRef.nativeElement,this._isRippleDisabled())}ngOnDestroy(){this._focusMonitor.stopMonitoring(this._elementRef),this._rippleLoader?.destroyRipple(this._elementRef.nativeElement),this._actionChanges?.unsubscribe(),this.destroyed.emit({chip:this}),th Line truncated
`],encapsulation:2,changeDetection:0})}return n})();var g3=(()=>{class n{_elementRef=f(Yt);_document=f(Ui);constructor(){}initialize(e){this.getNativeElement().focus(),this.setValue(e)}getNativeElement(){return this._elementRef.nativeElement}setValue(e){this.getNativeElement().textContent=e,this._moveCursorToEndOfInput()}getValue(){return this.getNativeElement().textContent||""}_moveCursorToEndOfInput(){let e=this._document.createRange();e.selectNodeContents(this.getNativeElement()),e.collapse(!1);let t=window.getSelection();t.removeAllRanges(),t.addRange(e)}static \u0275fac=function(t){return new(t||n)};static \u0275dir=ft({type:n,selectors:[["span","matChipEditInput",""]],hostAttrs:["role","textbox","tabindex","-1","contenteditable","true",1,"mat-chip-edit-input"]})}return n})(),zse=(()=>{class n extends ni{basicChipAttrName="mat-basic-chip-row";_renderer=f(gi);_cleanupMousedown;_editStartPending=!1;editable=!1;edited=new _e;defaultEditInput;contentEditInput;_alreadyFocused=!1;_isEditing=!1;constructor(){super(),this.role="row",this._onBlur.pipe(Xe(this.destroyed)).subscribe(()=>{this._isEditing&&!this._editStartPending&&this._onEditFinish(),this._alreadyFocused=!1})}ngAfterViewInit(){super.ngAfterViewInit(),this._cleanupMousedown=this._ngZone.runOutsideAngular(()=>this._renderer.listen(this._elementRef.nativeElement,"mousedown",()=>{this._alreadyFocused=this._hasFocus()}))}ngOnDestroy(){super.ngOnDestroy(),this._cleanupMousedown?.()}_hasLeadingActionIcon(){return!this._isEditing&&!!this.editIcon}_hasTrailingIcon(){return!this._isEditing&&super._hasTrailingIcon()}_handleFocus(){!this._isEditing&&!this.disabled&&this.focus()}_handleKeydown(e){e.keyCode===13&&!this.disabled?this._isEditing?(e.preventDefault(),this._onEditFinish()):this.editable&&this._startEditing(e):this._isEditing?e.stopPropagation():super._handleKeydown(e)}_handleClick(e){!this.disabled&&this.editable&&!this._isEditing&&this._alreadyFocused&&(e.preventDefault(),e.stopPropagation(),this._startEditing(e))}_handleDoubleclick(e){!this.disabled&&this.editable&&this._startEditing(e)}_edit(){this._changeDetectorRef.markForCheck(),this._startEditing()}_startEditing(e){if(!this.primaryAction||this.removeIcon&&e&&this._getSourceAction(e.target)===this.removeIcon)return;let t=this.value;this._isEditing=this._editStartPending=!0,da(()=>{this._getEditInput().initialize(t),setTimeout(()=>this._ngZone.run(()=>this._editStartPending=!1))},{injector:this._injector})}_onEditFinish(){this._isEditing=this._editStartPending=!1,this.edited.emit({chip:this,value:this._getEditInput().getValue()}),(this._document.activeElement===this._getEditInput().getNativeElement()||this._document.activeElement===this._document.body)&&this.primaryAction.focus()}_isRippleDisabled(){return super._isRippleDisabled()||this._isEditing}_getEditInput(){return this.contentEditInput||this.defaultEditInput}static \u0275fac=function(t){return new(t||n)};static \u0275cmp=F({type:n,selectors:[["mat-chip-row"],["","mat-chip-row",""],["mat-basic-chip-row"],["","mat-basic-chip-row",""]],contentQueries:function(t,o,r){if(t&1&&Gi(r,g3,5),t&2){let a;mt(a=pt())&&(o.contentEditInput=a.first)}},viewQuery:function(t,o){if(t&1&&wn(g3,5),t&2){let r;mt(r=pt())&&(o.defaultEditInput=r.first)}},hostAttrs:[1,"mat-mdc-chip","mat-mdc-chip-row","mdc-evolution-chip"],hostVars:29,hostBindings:function(t,o){t&1&&_("focus",function(){return o._handleFocus()})("click",function(a){return o._hasInteractiveActions()?o._handleClick(a):null})("dblclick",function(a){return o._handleDoubleclick(a)}),t&2&&(Ko("id",o.id),qt("tabindex",o.disabled?null:-1)("aria-label",null)("aria-description",null)("role",o.role),Ve("mat-mdc-chip-with-avatar",o.leadingIcon)("mat-mdc-chip-disabled",o.disabled)("mat-mdc-chip-editing",o._isEditing)("mat-mdc-chip-editable",o.editable)("mdc-evolution-chip--disabled",o.disabled)("mdc-evolution-chip--with-leading-action",o._hasLeadingActionIcon())("mdc-evolution-chip--with-trailing-action",o._hasTrailingIcon())("mdc-evolution-chip--with-primary-graphic",o.leadingIcon)("mdc-evolution-chip--with-primary-icon",o.leadingIcon)("mdc-evolution-chip--with-avatar",o.leadingIcon)("mat-mdc-chip-highlighted",o.highlighted)("mat-mdc-chip-with-trailing-icon",o._hasTrailingIcon()))},inputs:{editable:"editable"},outputs:{edited:"edited"},features:[bn([{provide:ni,useExisting:n},{provide:b3,useExisting:n}]),mi],ngContentSelectors:Pse,decls:9,vars:8,consts:[[1,"mat-mdc-chip-focus-overlay"],["role","gridcell",1,"mdc-evolution-chip__cell","mdc-evolution-chip__cell--leading"],["role","gridcell","matChipAction","",1,"mdc-evolution-chip__cell","mdc-evolution-chip__cell--primary",3,"disabled"],[1,"mdc-evolution-chip__graphic","mat-mdc-chip-graphic"],[1,"mdc-evolution-chip__text-label","mat-mdc-chip-action-label"],["aria-hidden","true",1,"mat-mdc-chip-primary-focus-indicator","mat-focus-indicator"],["role","gridcell",1,"mdc-evolution-chip__cell","mdc-evolution-chip__cell--trailing"],["matChipEditInput",""]],template:fun Line truncated
`],encapsulation:2,changeDetection:0})}return n})();var v3=class{source;value;constructor(i,e){this.source=i,this.value=e}},yi=(()=>{class n extends y3{ngControl=f(P1,{optional:!0,self:!0});controlType="mat-chip-grid";_chipInput;_defaultRole="grid";_errorStateTracker;_uid=f(Do).getId("mat-chip-grid-");_ariaDescribedbyIds=[];_onTouched=()=>{};_onChange=()=>{};get disabled(){return this.ngControl?!!this.ngControl.disabled:this._disabled}set disabled(e){this._disabled=e,this._syncChipsState(),this.stateChanges.next()}get id(){return this._chipInput?this._chipInput.id:this._uid}get empty(){return(!this._chipInput||this._chipInput.empty)&&(!this._chips||this._chips.length===0)}get placeholder(){return this._chipInput?this._chipInput.placeholder:this._placeholder}set placeholder(e){this._placeholder=e,this.stateChanges.next()}_placeholder="";get focused(){return this._chipInput?.focused||this._hasFocusedChip()}get required(){return this._required??this.ngControl?.control?.hasValidator(Ue.required)??!1}set required(e){this._required=e,this.stateChanges.next()}_required;get shouldLabelFloat(){return!this.empty||this.focused}get value(){return this._value}set value(e){this._value=e}_value=[];get errorStateMatcher(){return this._errorStateTracker.matcher}set errorStateMatcher(e){this._errorStateTracker.matcher=e}get chipBlurChanges(){return this._getChipStream(e=>e._onBlur)}change=new _e;valueChange=new _e;_chips=void 0;stateChanges=new $e;get errorState(){return this._errorStateTracker.errorState}set errorState(e){this._errorStateTracker.errorState=e}constructor(){super();let e=f(qn,{optional:!0}),t=f(Bt,{optional:!0}),o=f(Fd);this.ngControl&&(this.ngControl.valueAccessor=this),this._errorStateTracker=new z1(o,this.ngControl,t,e,this.stateChanges)}ngAfterContentInit(){this.chipBlurChanges.pipe(Xe(this._destroyed)).subscribe(()=>{this._blur(),this.stateChanges.next()}),Wn(this.chipFocusChanges,this._chips.changes).pipe(Xe(this._destroyed)).subscribe(()=>this.stateChanges.next())}ngDoCheck(){this.ngControl&&this.updateErrorState()}ngOnDestroy(){super.ngOnDestroy(),this.stateChanges.complete()}registerInput(e){this._chipInput=e,this._chipInput.setDescribedByIds(this._ariaDescribedbyIds),this._elementRef.nativeElement.removeAttribute("aria-describedby")}onContainerClick(e){!this.disabled&&!this._originatesFromChip(e)&&this.focus()}focus(){if(!(this.disabled||this._chipInput?.focused)){if(!this._chips.length||this._chips.first.disabled){if(!this._chipInput)return;Promise.resolve().then(()=>this._chipInput.focus())}else{let e=this._keyManager.activeItem;e?e.focus():this._keyManager.setFirstItemActive()}this.stateChanges.next()}}get describedByIds(){if(this._chipInput)return this._chipInput.describedByIds||[];let e=this._elementRef.nativeElement.getAttribute("aria-describedby");return e?e.split(" "):[]}setDescribedByIds(e){this._ariaDescribedbyIds=e,this._chipInput?this._chipInput.setDescribedByIds(e):e.length?this._elementRef.nativeElement.setAttribute("aria-describedby",e.join(" ")):this._elementRef.nativeElement.removeAttribute("aria-describedby")}writeValue(e){this._value=e}registerOnChange(e){this._onChange=e}registerOnTouched(e){this._onTouched=e}setDisabledState(e){this.disabled=e,this.stateChanges.next()}updateErrorState(){this._errorStateTracker.updateErrorState()}_blur(){this.disabled||setTimeout(()=>{this.focused||(this._propagateChanges(),this._markAsTouched())})}_allowFocusEscape(){this._chipInput?.focused||super._allowFocusEscape()}_handleKeydown(e){let t=e.keyCode,o=this._keyManager.activeItem;if(t===9)this._chipInput?.focused&&wa(e,"shiftKey")&&this._chips.length&&!this._chips.last.disabled?(e.preventDefault(),o?this._keyManager.setActiveItem(o):this._focusLastChip()):super._allowFocusEscape();else if(!this._chipInput?.focused)if((t===38||t===40)&&o){let r=this._chipActions.filter(p=>p._isPrimary===o._isPrimary&&!this._skipPredicate(p)),a=r.indexOf(o),c=e.keyCode===38?-1:1;e.preventDefault(),a>-1&&this._isValidIndex(a+c)&&this._keyManager.setActiveItem(r[a+c])}else super._handleKeydown(e);this.stateChanges.next()}_focusLastChip(){this._chips.length&&this._chips.last.focus()}_propagateChanges(){let e=this._chips.length?this._chips.toArray().map(t=>t.value):[];this._value=e,this.change.emit(new v3(this,e)),this.valueChange.emit(e),this._onChange(e),this._changeDetectorRef.markForCheck()}_markAsTouched(){this._onTouched(),this._changeDetectorRef.markForCheck(),this.stateChanges.next()}static \u0275fac=function(t){return new(t||n)};static \u0275cmp=F({type:n,selectors:[["mat-chip-grid"]],contentQueries:function(t,o,r){if(t&1&&Gi(r,zse,5),t&2){let a;mt(a=pt())&&(o._chips=a)}},hostAttrs:[1,"mat-mdc-chip-set","mat-mdc-chip-grid","mdc-evolution-chip-set"],hostVars:10,hostBindings:function(t,o){t&1&&_("focus",function(){return o.focus()})("blur",function(){return o._blur()}),t&2&&(qt("role",o.role)("tabindex",o.disabled||o._chips&&o._chips.length===0?-1:o.tabIndex)("aria-disabled",o.disabled.toString())("aria-inval Line truncated
`);for(let r=0;r<o.length;r++){let a=o[r].trim();if(!a)continue;let c=a.indexOf("=");if(c<=0)return{isValid:!1,errorMessage:`${t}, line ${r+1}: Invalid format (expected KEY=VALUE)`};let p=a.substring(0,c);if(p!==p.toUpperCase())return{isValid:!1,errorMessage:`${t}, line ${r+1}: Variable name "${p}" should be uppercase (e.g., ${p.toUpperCase()}=value)`}}return{isValid:!0}}validateConsolePort(e){return!e||e.trim()===""?{isValid:!0}:this.base.validatePortRange(e,1,65535)}static \u0275fac=function(t){return new(t||n)};static \u0275prov=K({token:n,factory:n.\u0275fac,providedIn:"root"})}return n})();var zv=(()=>{class n{base=f($i);idlePcRegex=/^(0x[0-9a-fA-F]+)?$/;platformRamLimits={c7200:{min:512,max:512},c3725:{min:128,max:256},c3745:{min:128,max:256},c2691:{min:128,max:256},c3600:{min:192,max:192},c2600:{min:160,max:160},c1700:{min:160,max:160}};platformNvramDefaults={c7200:512,c3725:256,c3745:256,c2691:256,c3600:256,c2600:256,c1700:256};validateName(e){return this.base.required(e,"Name")}validateImagePath(e){return this.base.required(e,"IOS image path")}validateRam(e){let t=this.base.required(e,"RAM");if(!t.isValid)return t;let o=parseInt(e,10);return isNaN(o)||o<0||o!==parseFloat(e)?{isValid:!1,errorMessage:"RAM must be a non-negative integer"}:{isValid:!0}}validateNvram(e){let t=this.base.required(e,"NVRAM");if(!t.isValid)return t;let o=parseInt(e,10);return isNaN(o)||o<0||o!==parseFloat(e)?{isValid:!1,errorMessage:"NVRAM must be a non-negative integer"}:{isValid:!0}}validateIdlepc(e){return!e||e.trim()===""?{isValid:!0}:this.idlePcRegex.test(e)?{isValid:!0}:{isValid:!1,errorMessage:"Invalid Idle-PC format (expected 0x..., e.g. 0x1234)"}}validateMacAddress(e){return!e||e.trim()===""?{isValid:!0}:/^([0-9a-fA-F]{4}\.){2}[0-9a-fA-F]{4}$/.test(e)?{isValid:!0}:{isValid:!1,errorMessage:"Invalid MAC address format (expected XXXX.XXXX.XXXX)"}}validateRamForPlatform(e,t){let o=this.validateRam(e);if(!o.isValid)return o;let r=this.platformRamLimits[t];if(r){let a=parseInt(e,10);if(a<r.min||a>r.max)return{isValid:!1,errorMessage:`RAM for ${t} should be ${r.min} MB${r.max!==r.min?` (${r.min}-${r.max})`:""}`}}return{isValid:!0}}validateNvramForPlatform(e,t){let o=this.validateNvram(e);if(!o.isValid)return o;let r=this.platformNvramDefaults[t];if(r){let a=parseInt(e,10);if(a>r*2)return{isValid:!1,errorMessage:`NVRAM for ${t} is typically ${r} KB. Value ${a} seems unusually high.`}}return{isValid:!0}}validateIomem(e){if(!e||e.trim()==="")return{isValid:!0};let t=parseInt(e,10);return isNaN(t)||t<0||t>100||t!==parseFloat(e)?{isValid:!1,errorMessage:"I/O memory must be an integer between 0 and 100"}:{isValid:!0}}validateDisk(e,t){if(!e||e.trim()==="")return{isValid:!0};let o=parseInt(e,10);return isNaN(o)||o<0||o!==parseFloat(e)?{isValid:!1,errorMessage:`${t} must be a non-negative integer`}:{isValid:!0}}validateNonNegative(e,t){if(!e||e.trim()==="")return{isValid:!0};let o=parseInt(e,10);return isNaN(o)||o<0||o!==parseFloat(e)?{isValid:!1,errorMessage:`${t} must be a non-negative integer`}:{isValid:!0}}static \u0275fac=function(t){return new(t||n)};static \u0275prov=K({token:n,factory:n.\u0275fac,providedIn:"root"})}return n})();var jv=(()=>{class n{base=f($i);validateName(e){return this.base.required(e,"Name")}validatePath(e){return this.base.required(e,"IOU image path")}validateEthernetAdapters(e){let t=this.base.required(e,"Ethernet adapters");if(!t.isValid)return t;let o=parseInt(e,10);return isNaN(o)||o<0||o!==parseFloat(e)?{isValid:!1,errorMessage:"Ethernet adapters must be a non-negative integer"}:{isValid:!0}}validateSerialAdapters(e){let t=this.base.required(e,"Serial adapters");if(!t.isValid)return t;let o=parseInt(e,10);return isNaN(o)||o<0||o!==parseFloat(e)?{isValid:!1,errorMessage:"Serial adapters must be a non-negative integer"}:{isValid:!0}}validateRam(e){if(!e||e.trim()==="")return{isValid:!0};let t=parseInt(e,10);return isNaN(t)||t<0||t!==parseFloat(e)?{isValid:!1,errorMessage:"RAM must be a non-negative integer"}:{isValid:!0}}validateNvram(e){if(!e||e.trim()==="")return{isValid:!0};let t=parseInt(e,10);return isNaN(t)||t<0||t!==parseFloat(e)?{isValid:!1,errorMessage:"NVRAM must be a non-negative integer"}:{isValid:!0}}static \u0275fac=function(t){return new(t||n)};static \u0275prov=K({token:n,factory:n.\u0275fac,providedIn:"root"})}return n})();var w3=(()=>{class n{base=f($i);validateName(e){return this.base.required(e,"Name")}validateRequiredRam(e){return this.base.required(e,"RAM")}validateCpus(e){if(!e||e.trim()==="")return{isValid:!0};let t=parseInt(e,10);return isNaN(t)||t<1||t>255||t!==parseFloat(e)?{isValid:!1,errorMessage:"CPUs must be an integer between 1 and 255"}:{isValid:!0}}validateAdapters(e){if(!e||e.trim()==="")return{isValid:!0};let t=parseInt(e,10);return isNaN(t)||t<0||t>275||t!==parseFloat(e)?{isValid:!1,errorMessage:"Adapters must be an integer between 0 and 275"}:{isValid:!0}}validateCpuThrottling(e){if(!e||e.trim()==="")return{isValid:!0};let t=parseInt(e,10);return isNaN(t)||t<0 Line truncated
`],encapsulation:2,changeDetection:0})}return n})(),lde=(()=>{class n{templateRef=f(Lo);name;constructor(){}static \u0275fac=function(t){return new(t||n)};static \u0275dir=ft({type:n,selectors:[["ng-template","matStepperIcon",""]],inputs:{name:[0,"matStepperIcon","name"]}})}return n})(),cde=(()=>{class n{_template=f(Lo);constructor(){}static \u0275fac=function(t){return new(t||n)};static \u0275dir=ft({type:n,selectors:[["ng-template","matStepContent",""]]})}return n})(),rc=(()=>{class n extends iS{_errorStateMatcher=f(Fd,{skipSelf:!0});_viewContainerRef=f(Xi);_isSelected=_o.EMPTY;stepLabel=void 0;color;_lazyContent;_portal;ngAfterContentInit(){this._isSelected=this._stepper.steps.changes.pipe(un(()=>this._stepper.selectionChange.pipe(_t(e=>e.selectedStep===this),di(this._stepper.selected===this)))).subscribe(e=>{e&&this._lazyContent&&!this._portal&&(this._portal=new Ad(this._lazyContent._template,this._viewContainerRef))})}ngOnDestroy(){this._isSelected.unsubscribe()}isErrorState(e,t){let o=this._errorStateMatcher.isErrorState(e,t),r=!!(e&&e.invalid&&this.interacted);return o||r}static \u0275fac=(()=>{let e;return function(o){return(e||(e=Mi(n)))(o||n)}})();static \u0275cmp=F({type:n,selectors:[["mat-step"]],contentQueries:function(t,o,r){if(t&1&&Gi(r,$v,5)(r,cde,5),t&2){let a;mt(a=pt())&&(o.stepLabel=a.first),mt(a=pt())&&(o._lazyContent=a.first)}},hostAttrs:["hidden",""],inputs:{color:"color"},exportAs:["matStep"],features:[bn([{provide:Fd,useExisting:n},{provide:iS,useExisting:n}]),mi],ngContentSelectors:aV,decls:1,vars:0,consts:[[3,"cdkPortalOutlet"]],template:function(t,o){t&1&&(si(),xe(0,qce,2,1,"ng-template"))},dependencies:[Sh],encapsulation:2,changeDetection:0})}return n})(),ac=(()=>{class n extends Hf{_ngZone=f(Ai);_renderer=f(gi);_animationsDisabled=Yo();_cleanupTransition;_isAnimating=ne(!1);_stepHeader=void 0;_animatedContainers;_steps=void 0;steps=new ql;_icons;animationDone=new _e;disableRipple=!1;color;labelPosition="end";headerPosition="top";headerPrefix=se(null);_iconOverrides={};get animationDuration(){return this._animationDuration}set animationDuration(e){this._animationDuration=/^\d+$/.test(e)?e+"ms":e}_animationDuration="";_isServer=!f(ol).isBrowser;constructor(){super();let t=f(Yt).nativeElement.nodeName.toLowerCase();this.orientation=t==="mat-vertical-stepper"?"vertical":"horizontal"}ngAfterContentInit(){super.ngAfterContentInit(),this._icons.forEach(({name:e,templateRef:t})=>this._iconOverrides[e]=t),this.steps.changes.pipe(Xe(this._destroyed)).subscribe(()=>this._stateChanged()),this.selectedIndexChange.pipe(Xe(this._destroyed)).subscribe(()=>{let e=this._getAnimationDuration();e==="0ms"||e==="0s"?this._onAnimationDone():this._isAnimating.set(!0)}),this._ngZone.runOutsideAngular(()=>{this._animationsDisabled||setTimeout(()=>{this._elementRef.nativeElement.classList.add("mat-stepper-animations-enabled"),this._cleanupTransition=this._renderer.listen(this._elementRef.nativeElement,"transitionend",this._handleTransitionend)},200)})}ngAfterViewInit(){if(super.ngAfterViewInit(),typeof queueMicrotask=="function"){let e=!1;this._animatedContainers.changes.pipe(di(null),Xe(this._destroyed)).subscribe(()=>queueMicrotask(()=>{e||(e=!0,this.animationDone.emit()),this._stateChanged()}))}}ngOnDestroy(){super.ngOnDestroy(),this._cleanupTransition?.()}_getAnimationDuration(){return this._animationsDisabled?"0ms":this.animationDuration?this.animationDuration:this.orientation==="horizontal"?"500ms":"225ms"}_handleTransitionend=e=>{let t=e.target;if(!t)return;let o=this.orientation==="horizontal"&&e.propertyName==="transform"&&t.classList.contains("mat-horizontal-stepper-content-current"),r=this.orientation==="vertical"&&e.propertyName==="grid-template-rows"&&t.classList.contains("mat-vertical-content-container-active");(o||r)&&this._animatedContainers.find(c=>c.nativeElement===t)&&this._onAnimationDone()};_onAnimationDone(){this._isAnimating.set(!1),this.animationDone.emit()}static \u0275fac=function(t){return new(t||n)};static \u0275cmp=F({type:n,selectors:[["mat-stepper"],["mat-vertical-stepper"],["mat-horizontal-stepper"],["","matStepper",""]],contentQueries:function(t,o,r){if(t&1&&Gi(r,rc,5)(r,lde,5),t&2){let a;mt(a=pt())&&(o._steps=a),mt(a=pt())&&(o._icons=a)}},viewQuery:function(t,o){if(t&1&&wn(T3,5)(Qce,5),t&2){let r;mt(r=pt())&&(o._stepHeader=r),mt(r=pt())&&(o._animatedContainers=r)}},hostVars:14,hostBindings:function(t,o){t&2&&(an("--mat-stepper-animation-duration",o._getAnimationDuration()),Ve("mat-stepper-horizontal",o.orientation==="horizontal")("mat-stepper-vertical",o.orientation==="vertical")("mat-stepper-label-position-end",o.orientation==="horizontal"&&o.labelPosition=="end")("mat-stepper-label-position-bottom",o.orientation==="horizontal"&&o.labelPosition=="bottom")("mat-stepper-header-position-bottom",o.headerPosition==="bottom")("mat-stepper-animating",o._isAnimating()))},inputs:{disableRipple:"disableRipple",color:"color",labelPosition:"labelPosition",headerPosition:"headerPosi Line truncated
`],encapsulation:2,changeDetection:0})}return n})(),cV=(()=>{class n extends iV{static \u0275fac=(()=>{let e;return function(o){return(e||(e=Mi(n)))(o||n)}})();static \u0275dir=ft({type:n,selectors:[["button","matStepperNext",""]],hostAttrs:[1,"mat-stepper-next"],hostVars:1,hostBindings:function(t,o){t&2&&Ko("type",o.type)},features:[mi]})}return n})(),dV=(()=>{class n extends oV{static \u0275fac=(()=>{let e;return function(o){return(e||(e=Mi(n)))(o||n)}})();static \u0275dir=ft({type:n,selectors:[["button","matStepperPrevious",""]],hostAttrs:[1,"mat-stepper-previous"],hostVars:1,hostBindings:function(t,o){t&2&&Ko("type",o.type)},features:[mi]})}return n})(),Dl=(()=>{class n{static \u0275fac=function(t){return new(t||n)};static \u0275mod=Gt({type:n});static \u0275inj=Ut({providers:[Fd],imports:[wh,rV,oe,kc,ac,T3,vi]})}return n})();var ed=(()=>{class n{getConsoleTypes(){return["telnet","ssh","vnc","http","https","none"]}getAuxConsoleTypes(){return["telnet","ssh","none"]}getCategories(){return[["Default","guest"],["Routers","router"],["Switches","switch"],["End devices","guest"],["Security devices","firewall"]]}getConsoleResolutions(){return["2560x1440","1920x1080","1680x1050","1440x900","1366x768","1280x1024","1280x800","1024x768","800x600","640x480"]}getMacAddrRegex(){return/^([0-9a-fA-F]{2}[:]){5}([0-9a-fA-F]{2})$/}static \u0275fac=function(t){return new(t||n)};static \u0275prov=K({token:n,factory:n.\u0275fac})}return n})();var ys=(()=>{class n{httpController;constructor(e){this.httpController=e}getTemplates(e){return this.httpController.get(e,"/templates")}getTemplate(e,t){return this.httpController.get(e,`/templates/${t}`)}getImages(e){return this.httpController.get(e,`/computes/${Ti.compute_id}/docker/images`)}addTemplate(e,t){let o=this.prepareTemplate(t);return this.httpController.post(e,"/templates",o)}saveTemplate(e,t){let o=this.prepareTemplate(t);return this.httpController.put(e,`/templates/${t.template_id}`,o)}prepareTemplate(e){return We(q({},e),{custom_adapters:e.custom_adapters||[]})}static \u0275fac=function(t){return new(t||n)(ge(fn))};static \u0275prov=K({token:n,factory:n.\u0275fac})}return n})();var dde=(n,i)=>i.image;function mde(n,i){if(n&1&&(s(0,"mat-option",22),d(1),l()),n&2){let e=i.$implicit;b("value",e),m(),j(e.image)}}function pde(n,i){if(n&1){let e=z();s(0,"mat-form-field",13)(1,"mat-label"),d(2,"Image list"),l(),s(3,"mat-select",30),_("selectionChange",function(o){T(e);let r=v();return E(r.selectedImage=o.value)}),Z(4,mde,2,2,"mat-option",22,dde),l()()}if(n&2){let e=v();m(3),b("value",e.selectedImage),m(),J(e.dockerImages)}}function ude(n,i){if(n&1){let e=z();s(0,"mat-form-field",13)(1,"mat-label"),d(2,"Image name"),l(),s(3,"input",31),_("input",function(o){T(e);let r=v();return E(r.filename.set(o.target.value))}),l()()}if(n&2){let e=v();m(3),b("value",e.filename())}}function hde(n,i){if(n&1&&(s(0,"mat-option",22),d(1),l()),n&2){let e=i.$implicit;b("value",e),m(),j(e)}}function fde(n,i){if(n&1&&(s(0,"mat-option",22),d(1),l()),n&2){let e=i.$implicit;b("value",e),m(),j(e)}}var oS=(()=>{class n{route=f(rt);controllerService=f(nt);dockerService=f(ys);toasterService=f(te);router=f(dt);templateMocksService=f(Ia);configurationService=f(ed);computeService=f(Po);cd=f(X);controller;dockerTemplate;consoleTypes=[];auxConsoleTypes=[];dockerImages=[];selectedImage;newImageSelected=!1;isLocalComputerChosen=!0;filename=U("");templateName=U("");adapters=U(1);startCommand=U("");consoleType=U("");auxConsoleType=U("");environment=U("");ngOnInit(){let e=this.route.snapshot.paramMap.get("controller_id");this.controllerService.get(parseInt(e,10)).then(t=>{this.controller=t,this.cd.markForCheck(),this.consoleTypes=this.configurationService.getConsoleTypes(),this.auxConsoleTypes=this.configurationService.getAuxConsoleTypes(),this.templateMocksService.getDockerTemplate().subscribe({next:o=>{this.dockerTemplate=o,this.cd.markForCheck()},error:o=>{let r=o.error?.message||o.message||"Failed to load template";this.toasterService.error(r),this.cd.markForCheck()}}),this.dockerService.getImages(t).subscribe({next:o=>{this.dockerImages=o,this.cd.markForCheck()},error:o=>{let r=o.error?.message||o.message||"Failed to load docker images";this.toasterService.error(r),this.cd.markForCheck()}})},t=>{let o=t.error?.message||t.message||"Failed to load controller";this.toasterService.error(o),this.cd.markForCheck()})}setControllerType(e){e==="local"&&(this.isLocalComputerChosen=!0)}setDiskImage(e){this.newImageSelected=e==="newImage"}goBack(){this.router.navigate(["/controller",this.controller.id,"preferences","docker","templates"])}addTemplate(){!this.newImageSelected&&this.selectedImage||this.newImageSelected&&this.filename()&&this.templateName()&&this.adapters()?(this.dockerTemplate.template_id=Fi(),this.newImageSelected?this.dockerTemplate.image=this.filename():this.dockerTemplate.image=this.selectedImage.image,this.dockerTemplate.name=this.templateName(),this.dockerTemplate.adapters=this.adapters(),this.dockerTempl Line truncated
`,"g"),"<br />");this.releasenotes.set(this.sanitizer.bypassSecurityTrustHtml(t))},error:e=>{let t=e.error?.message||e.message||"Failed to load release notes";this.toasterService.error(t),this.cd.markForCheck()}})}goToDocumentation(){window.location.href="https://docs.gns3.com/docs/"}static \u0275fac=function(t){return new(t||n)};static \u0275cmp=F({type:n,selectors:[["app-help"]],decls:39,vars:2,consts:[[1,"help"],[1,"help__header"],[1,"help__title"],[1,"help__content"],[1,"help__card"],["href","https://downloads.solarwinds.com/solarwinds/GNS3/Solar-PuTTY/Solar-PuTTY-Optional.exe",1,"help__link"],[3,"innerHTML"],["mat-button","","color","primary",1,"help__doc-button",3,"click"]],template:function(t,o){t&1&&(s(0,"div",0)(1,"header",1)(2,"h1",2),d(3,"Help"),l()(),s(4,"main",3)(5,"section",4)(6,"mat-accordion")(7,"mat-expansion-panel")(8,"mat-expansion-panel-header")(9,"mat-panel-title"),d(10," Useful shortcuts "),l()(),s(11,"mat-list")(12,"mat-list-item"),d(13," ctrl + + to zoom in "),l(),s(14,"mat-list-item"),d(15," ctrl + - to zoom out "),l(),s(16,"mat-list-item"),d(17," ctrl + 0 to reset zoom "),l(),s(18,"mat-list-item"),d(19," ctrl + h to hide toolbar "),l(),s(20,"mat-list-item"),d(21," ctrl + a to select all items on map "),l(),s(22,"mat-list-item"),d(23," ctrl + shift + a to deselect all items on map "),l(),s(24,"mat-list-item"),d(25," ctrl + shift + s to go to preferences "),l()()(),s(26,"mat-expansion-panel")(27,"mat-expansion-panel-header")(28,"mat-panel-title"),d(29," Third party components "),l()(),s(30,"a",5),R(31,"div",6),l()(),s(32,"mat-expansion-panel")(33,"mat-expansion-panel-header")(34,"mat-panel-title"),d(35," Release notes "),l()(),R(36,"div",6),l()()(),s(37,"button",7),g("click",function(){return o.goToDocumentation()}),d(38," Go to documentation "),l()()()),t&2&&(m(31),C("innerHTML",o.thirdpartylicenses(),vp),m(5),C("innerHTML",o.releasenotes(),vp))},dependencies:[W,pe,cl,km,kd,Td,Mm,Zi,F4,Wd],styles:["[_nghost-%COMP%]{display:block;width:100%;background:transparent}.help__header[_ngcontent-%COMP%]{max-width:800px;margin:0 auto;padding:32px 20px 16px;animation:_ngcontent-%COMP%_fadeInSlideIn .4s ease-out}.help__title[_ngcontent-%COMP%]{font-size:32px;font-weight:500;color:var(--mat-sys-on-surface);margin:0;padding-bottom:8px}.help__content[_ngcontent-%COMP%]{max-width:800px;margin:0 auto;padding:0 20px 20px;animation:_ngcontent-%COMP%_fadeInSlideIn .4s ease-out .1s both}.help__card[_ngcontent-%COMP%]{background:var(--mat-sys-surface);border-radius:16px;overflow:hidden;box-shadow:0 8px 32px color-mix(in srgb,var(--mat-sys-shadow) 20%,transparent),0 2px 8px color-mix(in srgb,var(--mat-sys-shadow) 10%,transparent)}.mat-expansion-panel[_ngcontent-%COMP%]{box-shadow:none;border-bottom:1px solid var(--mat-sys-outline-variant)}.mat-expansion-panel[_ngcontent-%COMP%]:first-of-type{border-top:none}.mat-expansion-panel-header[_ngcontent-%COMP%]{font-weight:500;color:var(--mat-sys-on-surface)}.mat-expansion-panel-header-title[_ngcontent-%COMP%]{color:var(--mat-sys-on-surface)}.help__doc-button[_ngcontent-%COMP%]{display:block;width:100%;margin-top:20px;height:48px;border-radius:12px;font-size:16px;font-weight:500;text-transform:none;letter-spacing:.5px}.help__link[_ngcontent-%COMP%]{color:var(--mat-sys-primary);text-decoration:none;font-size:14px;font-weight:400}.help__link[_ngcontent-%COMP%]:hover{text-decoration:underline}@keyframes _ngcontent-%COMP%_fadeInSlideIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media(max-width:768px){.help__header[_ngcontent-%COMP%]{padding:24px 16px 12px}.help__title[_ngcontent-%COMP%]{font-size:24px}.help__content[_ngcontent-%COMP%]{padding:0 16px 16px}.help__doc-button[_ngcontent-%COMP%]{height:44px;font-size:15px}}"],changeDetection:0})}return n})();var Qb=(()=>{class n{constructor(){}isWindows(){return navigator.platform.indexOf("Win")>-1}isLinux(){return navigator.platform.indexOf("Linux")>-1}isDarwin(){return navigator.platform.indexOf("Mac")>-1}static \u0275fac=function(t){return new(t||n)};static \u0275prov=J({token:n,factory:n.\u0275fac})}return n})();var Xb=(()=>{class n{platformService;constructor(e){this.platformService=e}get(){return this.platformService.isWindows()?this.getForWindows():this.platformService.isDarwin()?this.getForDarwin():this.getForLinux()}getForWindows(){let e=[{name:"Wireshark",locations:["C:\\Program Files\\Wireshark\\Wireshark.exe"],type:"web",resource:"https://1.na.dl.wireshark.org/win64/all-versions/Wireshark-win64-2.6.3.exe",binary:"Wireshark.exe",sudo:!0,installation_arguments:[],installed:!1,installer:!0}],t={name:"SolarPuTTY",locations:["SolarPuTTY.exe","external\\SolarPuTTY.exe"],type:"web",resource:"",binary:"SolarPuTTY.exe",sudo:!1,installation_arguments:["--only-ask"],installed:!1,installer:!1};return wi.solarputty_download_url&&(t.resource=wi.solarputty_download_url,e.push(t)),e}getForLinux(){return[]}getForDarwin(){return[]}static \u0275fac=function(t){return new(t||n)(ge(Qb))};static Line truncated
`],encapsulation:2,changeDetection:0})}return n})(),Ot=(()=>{class n{static \u0275fac=function(t){return new(t||n)};static \u0275mod=Ht({type:n});static \u0275inj=$t({imports:[Gt,hi]})}return n})();var dl=(()=>{class n{httpController;controller_id="";constructor(e){this.httpController=e}login(e,t,o){let r=new zO().set("username",t).set("password",o),a={headers:new aC().set("Content-Type","application/x-www-form-urlencoded")};return this.httpController.post(e,"/access/users/login",r,a)}getLoggedUser(e){return this.httpController.get(e,"/access/users/me").toPromise()}async getLoggedUserRefToken(e,t){return await this.httpController.post(e,"/access/users/authenticate",{username:t.username,password:t.password}).toPromise()}static \u0275fac=function(t){return new(t||n)(ge(mn))};static \u0275prov=J({token:n,factory:n.\u0275fac})}return n})();var ex=(()=>{class n{httpController;constructor(e){this.httpController=e}get(e){return this.httpController.get(e,"/version")}static \u0275fac=function(t){return new(t||n)(ge(mn))};static \u0275prov=J({token:n,factory:n.\u0275fac})}return n})();var Tm=(()=>{class n{notificationService;currentController=null;constructor(e){this.notificationService=e}establishConnection(e){this.currentController&&this.currentController.id===e.id||(this.currentController&&this.disconnect(),this.notificationService.connectToComputeNotifications(e),this.currentController=e)}disconnect(){this.notificationService.disconnect(),this.currentController=null}getCurrentController(){return this.currentController}isConnectedTo(e){return this.currentController&&this.currentController.id===e.id}static \u0275fac=function(t){return new(t||n)(ge(Ws))};static \u0275prov=J({token:n,factory:n.\u0275fac})}return n})();var Vte=["usernameInput"];function Bte(n,i){n&1&&R(0,"mat-icon",3)}function zte(n,i){n&1&&R(0,"mat-icon",4)}function jte(n,i){n&1&&R(0,"mat-icon",9)}function $te(n,i){n&1&&R(0,"mat-icon",10)}function Hte(n,i){if(n&1&&(s(0,"div",12)(1,"mat-icon",32),d(2,"storage"),l(),s(3,"div",33)(4,"span",34),d(5),l(),s(6,"span",35),d(7),l()()()),n&2){let e=v();m(5),j(e.controllerName),m(2),j(e.controllerAddress)}}function Ute(n,i){n&1&&(s(0,"mat-error"),d(1," Username is required "),l())}function Gte(n,i){n&1&&(s(0,"mat-error"),d(1," Password is required "),l())}function Wte(n,i){n&1&&(s(0,"div",19)(1,"mat-icon",36),d(2,"warning"),l(),s(3,"span"),d(4,"Caps Lock is on"),l()())}function qte(n,i){n&1&&R(0,"mat-progress-spinner",24)}function Qte(n,i){n&1&&(s(0,"span"),d(1,"Login"),l())}function Xte(n,i){n&1&&R(0,"mat-icon",29)}function Kte(n,i){n&1&&R(0,"mat-icon",30)}var tx=(()=>{class n{loginService=f(dl);controllerService=f(Je);controllerDatabase=f(wm);route=f(lt);router=f(ht);toasterService=f(te);versionService=f(ex);themeService=f(ci);connectionManager=f(Tm);cd=f(Q);controller;returnUrl=ae("");usernameInput;version=ae("");isLoading=ae(!1);hidePassword=ae(!0);isCapsLockOn=ae(!1);isRememberMeChecked=ae(!1);currentYear=new Date().getFullYear();isLightThemeEnabled=Jt(()=>this.themeService.getActualTheme()==="light");loginForm=new vC({username:new cc("",{nonNullable:!0,validators:[Ue.required]}),password:new cc("",{nonNullable:!0,validators:[Ue.required]})});constructor(){}ngOnInit(){let e=this.route.snapshot.paramMap.get("controller_id");this.returnUrl.set(this.route.snapshot.queryParams.returnUrl||"/"),this.controllerService.get(parseInt(e,10)).then(t=>{this.controller=t,t.authToken&&this.router.navigate(["/controller",this.controller.id,"projects"]),this.versionService.get(this.controller).subscribe({next:o=>{this.version.set(o.version)},error:o=>{let r=o.error?.message||o.message||"Failed to load version";this.toasterService.error(r),this.cd.markForCheck()}})},t=>{let o=t.error?.message||t.message||"Failed to load controller";this.toasterService.error(o),this.cd.markForCheck()}),this.loadRememberMeData(),setTimeout(()=>{this.usernameInput&&this.usernameInput.nativeElement.focus()},100)}loadRememberMeData(){let e=localStorage.getItem("isRememberMe");if(e)try{let t=JSON.parse(e);t.isRememberMe&&(this.loginForm.controls.username.setValue(t.username),this.isRememberMeChecked.set(!0))}catch(t){console.error("Failed to parse remember me data",t)}}togglePasswordVisibility(){this.hidePassword.update(e=>!e)}onCapsLock(e){this.isCapsLockOn.set(e.getModifierState&&e.getModifierState("CapsLock"))}login(){if(this.loginForm.invalid){this.toasterService.error("Please enter username and password");return}let e=this.loginForm.value.username,t=this.loginForm.value.password;this.isLoading.set(!0),this.loginService.login(this.controller,e,t).subscribe({next:async o=>{let r=this.controller;r.authToken=o.access_token,o.refresh_token&&localStorage.setItem(`refresh_token_${r.id}`,o.refresh_token),r.username=e,r.password=t,r.tokenExpired=!1,await this.controllerService.update(r),this.connectionManager.establishConnection(r),this.handleRememberMe(e),this.isLoading.set(!1),this.cd.markForCheck(),this.returnUrl().length<=1?this.router.navigate( Line truncated
`],encapsulation:2,changeDetection:0})}return n})(),io=(()=>{class n{static \u0275fac=function(t){return new(t||n)};static \u0275mod=Ht({type:n});static \u0275inj=$t({imports:[mc,ho,hi]})}return n})();var ox,nne=new Uint8Array(16);function QD(){if(!ox&&(ox=typeof crypto<"u"&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)||typeof msCrypto<"u"&&typeof msCrypto.getRandomValues=="function"&&msCrypto.getRandomValues.bind(msCrypto),!ox))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return ox(nne)}var u8=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;function ine(n){return typeof n=="string"&&u8.test(n)}var h8=ine;var ca=[];for(rx=0;rx<256;++rx)ca.push((rx+256).toString(16).substr(1));var rx;function one(n){var i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,e=(ca[n[i+0]]+ca[n[i+1]]+ca[n[i+2]]+ca[n[i+3]]+"-"+ca[n[i+4]]+ca[n[i+5]]+"-"+ca[n[i+6]]+ca[n[i+7]]+"-"+ca[n[i+8]]+ca[n[i+9]]+"-"+ca[n[i+10]]+ca[n[i+11]]+ca[n[i+12]]+ca[n[i+13]]+ca[n[i+14]]+ca[n[i+15]]).toLowerCase();if(!h8(e))throw TypeError("Stringified UUID is invalid");return e}var f8=one;function rne(n,i,e){n=n||{};var t=n.random||(n.rng||QD)();if(t[6]=t[6]&15|64,t[8]=t[8]&63|128,i){e=e||0;for(var o=0;o<16;++o)i[e+o]=t[o];return i}return f8(t)}var Ai=rne;var yr=(()=>{class n{httpController;constructor(e){this.httpController=e}getTemplates(e){return this.httpController.get(e,"/templates")}getTemplate(e,t){return this.httpController.get(e,`/templates/${t}`)}addTemplate(e,t){return this.httpController.post(e,"/templates",t)}saveTemplate(e,t){return this.httpController.put(e,`/templates/${t.template_id}`,t)}static \u0275fac=function(t){return new(t||n)(ge(mn))};static \u0275prov=J({token:n,factory:n.\u0275fac})}return n})();var xa=(()=>{class n{getQemuTemplate(){return Nn({adapter_type:"e1000",adapters:4,bios_image:"",boot_priority:"c",builtin:!1,category:"guest",cdrom_image:"",compute_id:"local",console_auto_start:!1,console_type:"telnet",aux_type:"none",cpu_throttling:0,cpus:1,maxcpus:1,create_config_disk:!1,custom_adapters:[],default_name_format:"{name}-{0}",first_port_name:"",hda_disk_image:"",hda_disk_interface:"ide",hdb_disk_image:"",hdb_disk_interface:"ide",hdc_disk_image:"",hdc_disk_interface:"ide",hdd_disk_image:"",hdd_disk_interface:"ide",initrd:"",kernel_command_line:"",kernel_image:"",linked_clone:!0,mac_address:"",name:"",on_close:"power_off",options:"-nographic",platform:"",port_name_format:"Ethernet{0}",port_segment_size:0,process_priority:"normal",qemu_path:"",ram:256,symbol:"qemu_guest",template_id:"",template_type:"qemu",usage:"",replicate_network_connection_state:!0,tpm:!1,uefi:!1,tags:[]})}getVpcsTemplate(){return Nn({base_script_file:"vpcs_base_config.txt",builtin:!1,category:"guest",compute_id:"local",console_auto_start:!1,console_type:"telnet",default_name_format:"PC{0}",name:"",symbol:"vpcs_guest",template_id:"",template_type:"vpcs",tags:[]})}getVirtualBoxTemplate(){return Nn({adapter_type:"Intel PRO/1000 MT Desktop (82540EM)",adapters:1,builtin:!1,category:"guest",compute_id:"local",console_auto_start:!1,console_type:"none",custom_adapters:[],default_name_format:"{name}-{0}",first_port_name:"",headless:!1,linked_clone:!1,name:"",on_close:"power_off",port_name_format:"Ethernet{0}",port_segment_size:0,ram:0,symbol:"vbox_guest",template_id:"",template_type:"virtualbox",usage:"",use_any_adapter:!1,vmname:"",tags:[]})}getCloudNodeTemplate(){return Nn({builtin:!1,category:"guest",compute_id:"local",default_name_format:"Cloud{0}",name:"",ports_mapping:[],remote_console_type:"none",symbol:"cloud",template_id:"",template_type:"cloud",tags:[]})}getEthernetHubTemplate(){return Nn({builtin:!1,category:"switch",compute_id:"local",default_name_format:"Hub{0}",name:"",ports_mapping:[],symbol:"hub",template_id:"",template_type:"ethernet_hub",tags:[]})}getEthernetSwitchTemplate(){return Nn({builtin:!1,category:"switch",compute_id:"local",console_type:"telnet",default_name_format:"Switch{0}",name:"",ports_mapping:[],symbol:"ethernet_switch",template_id:"",template_type:"ethernet_switch",tags:[]})}getIosTemplate(){return Nn({auto_delete_disks:!0,builtin:!1,category:"router",compute_id:"local",console_auto_start:!1,console_type:"telnet",aux_type:"none",default_name_format:"R{0}",disk0:0,disk1:0,exec_area:64,idlemax:500,idlepc:"",idlesleep:30,image:"",mac_addr:"",mmap:!0,name:"",nvram:128,platform:"",private_config:"",ram:128,sparsemem:!0,startup_config:"ios_base_startup-config.txt",symbol:"router",system_id:"FTX0945W0MY",template_id:"",template_type:"dynamips",usage:"",tags:[]})}getVmwareTemplate(){return Nn({adapter_type:"e1000",adapters:1,builtin:!1,category:"guest",compute_id:"local",console_auto_start:!1,console_type:"none",custom_adapters:[],default_name_format:"{name}-{0}",first_port_name:"",headless:!1,linked_clone:!1,name:"",on_close:"power_off",port_name_format:"Ethernet{0}", Line truncated
`,une=[[["","matChipEdit",""]],[["mat-chip-avatar"],["","matChipAvatar",""]],[["","matChipEditInput",""]],"*",[["mat-chip-trailing-icon"],["","matChipRemove",""],["","matChipTrailingIcon",""]]],hne=["[matChipEdit]","mat-chip-avatar, [matChipAvatar]","[matChipEditInput]","*","mat-chip-trailing-icon,[matChipRemove],[matChipTrailingIcon]"];function fne(n,i){n&1&&R(0,"span",0)}function gne(n,i){n&1&&(s(0,"span",1),on(1),l())}function _ne(n,i){n&1&&(s(0,"span",3),on(1,1),l())}function vne(n,i){n&1&&on(0,2)}function Cne(n,i){n&1&&R(0,"span",7)}function bne(n,i){if(n&1&&A(0,vne,1,0)(1,Cne,1,0,"span",7),n&2){let e=v();O(e.contentEditInput?0:1)}}function xne(n,i){n&1&&on(0,3)}function yne(n,i){n&1&&(s(0,"span",6),on(1,4),l())}var b8=["*"],Sne=`.mat-mdc-chip-set{display:flex}.mat-mdc-chip-set:focus{outline:none}.mat-mdc-chip-set .mdc-evolution-chip-set__chips{min-width:100%;margin-left:-8px;margin-right:0}.mat-mdc-chip-set .mdc-evolution-chip{margin:4px 0 4px 8px}[dir=rtl] .mat-mdc-chip-set .mdc-evolution-chip-set__chips{margin-left:0;margin-right:-8px}[dir=rtl] .mat-mdc-chip-set .mdc-evolution-chip{margin-left:0;margin-right:8px}.mdc-evolution-chip-set__chips{display:flex;flex-flow:wrap;min-width:0}.mat-mdc-chip-set-stacked{flex-direction:column;align-items:flex-start}.mat-mdc-chip-set-stacked .mat-mdc-chip{width:100%}.mat-mdc-chip-set-stacked .mdc-evolution-chip__graphic{flex-grow:0}.mat-mdc-chip-set-stacked .mdc-evolution-chip__action--primary{flex-basis:100%;justify-content:start}input.mat-mdc-chip-input{flex:1 0 150px;margin-left:8px}[dir=rtl] input.mat-mdc-chip-input{margin-left:0;margin-right:8px}.mat-mdc-form-field:not(.mat-form-field-hide-placeholder) input.mat-mdc-chip-input::placeholder{opacity:1}.mat-mdc-form-field:not(.mat-form-field-hide-placeholder) input.mat-mdc-chip-input::-moz-placeholder{opacity:1}.mat-mdc-form-field:not(.mat-form-field-hide-placeholder) input.mat-mdc-chip-input::-webkit-input-placeholder{opacity:1}.mat-mdc-form-field:not(.mat-form-field-hide-placeholder) input.mat-mdc-chip-input:-ms-input-placeholder{opacity:1}.mat-mdc-chip-set+input.mat-mdc-chip-input{margin-left:0;margin-right:0}
`,x8=new cn("mat-chips-default-options",{providedIn:"root",factory:()=>({separatorKeyCodes:[13]})}),g8=new cn("MatChipAvatar"),_8=new cn("MatChipTrailingIcon"),v8=new cn("MatChipEdit"),KD=new cn("MatChipRemove"),JD=new cn("MatChip"),y8=(()=>{class n{_elementRef=f(Zt);_parentChip=f(JD);_isPrimary=!0;_isLeading=!1;get disabled(){return this._disabled||this._parentChip?.disabled||!1}set disabled(e){this._disabled=e}_disabled=!1;tabIndex=-1;_allowFocusWhenDisabled=!1;_getDisabledAttribute(){return this.disabled&&!this._allowFocusWhenDisabled?"":null}constructor(){f(cr).load(ia),this._elementRef.nativeElement.nodeName==="BUTTON"&&this._elementRef.nativeElement.setAttribute("type","button")}focus(){this._elementRef.nativeElement.focus()}static \u0275fac=function(t){return new(t||n)};static \u0275dir=ft({type:n,selectors:[["","matChipContent",""]],hostAttrs:[1,"mat-mdc-chip-action","mdc-evolution-chip__action","mdc-evolution-chip__action--presentational"],hostVars:8,hostBindings:function(t,o){t&2&&(qt("disabled",o._getDisabledAttribute())("aria-disabled",o.disabled),Be("mdc-evolution-chip__action--primary",o._isPrimary)("mdc-evolution-chip__action--secondary",!o._isPrimary)("mdc-evolution-chip__action--trailing",!o._isPrimary&&!o._isLeading))},inputs:{disabled:[2,"disabled","disabled",Ct],tabIndex:[2,"tabIndex","tabIndex",e=>e==null?-1:No(e)],_allowFocusWhenDisabled:"_allowFocusWhenDisabled"}})}return n})(),eP=(()=>{class n extends y8{_getTabindex(){return this.disabled&&!this._allowFocusWhenDisabled?null:this.tabIndex.toString()}_handleClick(e){!this.disabled&&this._isPrimary&&(e.preventDefault(),this._parentChip._handlePrimaryActionInteraction())}_handleKeydown(e){(e.keyCode===13||e.keyCode===32)&&!this.disabled&&this._isPrimary&&!this._parentChip._isEditing&&(e.preventDefault(),this._parentChip._handlePrimaryActionInteraction())}static \u0275fac=(()=>{let e;return function(o){return(e||(e=Pi(n)))(o||n)}})();static \u0275dir=ft({type:n,selectors:[["","matChipAction",""]],hostVars:3,hostBindings:function(t,o){t&1&&g("click",function(a){return o._handleClick(a)})("keydown",function(a){return o._handleKeydown(a)}),t&2&&(qt("tabindex",o._getTabindex()),Be("mdc-evolution-chip__action--presentational",!1))},features:[si]})}return n})();var mi=(()=>{class n extends eP{_isPrimary=!1;_handleClick(e){this.disabled||(e.stopPropagation(),e.preventDefault(),this._parentChip.remove())}_handleKeydown(e){(e.keyCode===13||e.keyCode===32)&&!this.disabled&&(e.stopPropagation(),e.preventDefault(),this._parentChip.remove())}static \u0275fac=(()=>{let e;return function(o){return(e||(e=Pi(n)))(o||n)}})();static \u0275dir=ft({type:n,selectors:[["","matChipRemove",""]],hostAttrs:["role","button",1,"mat-mdc-chip-remove","mat-mdc-chip-trailing-icon","mat-focus-indicator","mdc-evolution-chip__icon","mdc-evolution-chip__icon--trailing"],hostVars:1,hostBindings:function(t,o){t&2&&qt("aria-hidden",null)},features:[fn([{provide:KD,useExisting:n}]),si]})}return n})(),Jn=(()=>{class n{_changeDetectorRef=f(Q);_elementRef=f(Zt);_tagName=f(AO);_ngZone=f(Vi);_focusMonitor=f(Aa);_globalRippleOptions=f(b4,{optional:!0});_document=f(Xi);_onFocus=new He;_onBlur=new He;_isBasicChip=!1;role=null;_hasFocusInternal=!1;_pendingFocus=!1;_actionChanges;_animationsDisabled=qo();_allLeadingIcons;_allTrailingIcons;_allEditIcons;_allRemoveIcons;_hasFocus(){return this._hasFocusInternal}id=f(Mo).getId("mat-mdc-chip-");ariaLabel=null;ariaDescription=null;_chipListDisabled=!1;_hadFocusOnRemove=!1;_textElement;get value(){return this._value!==void 0?this._value:this._textElement.textContent.trim()}set value(e){this._value=e}_value;color;removable=!0;highlighted=!1;disableRipple=!1;get disabled(){return this._disabled||this._chipListDisabled}set disabled(e){this._disabled=e}_disabled=!1;removed=new ve;destroyed=new ve;basicChipAttrName="mat-basic-chip";leadingIcon;editIcon;trailingIcon;removeIcon;primaryAction;_rippleLoader=f(x4);_injector=f(Jo);constructor(){let e=f(cr);e.load(ia),e.load(bC),this._monitorFocus(),this._rippleLoader?.configureRipple(this._elementRef.nativeElement,{className:"mat-mdc-chip-ripple",disabled:this._isRippleDisabled()})}ngOnInit(){this._isBasicChip=this._elementRef.nativeElement.hasAttribute(this.basicChipAttrName)||this._tagName.toLowerCase()===this.basicChipAttrName}ngAfterViewInit(){this._textElement=this._elementRef.nativeElement.querySelector(".mat-mdc-chip-action-label"),this._pendingFocus&&(this._pendingFocus=!1,this.focus())}ngAfterContentInit(){this._actionChanges=Hn(this._allLeadingIcons.changes,this._allTrailingIcons.changes,this._allEditIcons.changes,this._allRemoveIcons.changes).subscribe(()=>this._changeDetectorRef.markForCheck())}ngDoCheck(){this._rippleLoader.setDisabled(this._elementRef.nativeElement,this._isRippleDisabled())}ngOnDestroy(){this._focusMonitor.stopMonitoring(this._elementRef),this._rippleLoader?.destroyRipple(this._elementRef.nativeElement),this._actionChanges?.unsubscribe(),this.destroyed.emit({chip:this}),th Line truncated
`],encapsulation:2,changeDetection:0})}return n})();var XD=(()=>{class n{_elementRef=f(Zt);_document=f(Xi);constructor(){}initialize(e){this.getNativeElement().focus(),this.setValue(e)}getNativeElement(){return this._elementRef.nativeElement}setValue(e){this.getNativeElement().textContent=e,this._moveCursorToEndOfInput()}getValue(){return this.getNativeElement().textContent||""}_moveCursorToEndOfInput(){let e=this._document.createRange();e.selectNodeContents(this.getNativeElement()),e.collapse(!1);let t=window.getSelection();t.removeAllRanges(),t.addRange(e)}static \u0275fac=function(t){return new(t||n)};static \u0275dir=ft({type:n,selectors:[["span","matChipEditInput",""]],hostAttrs:["role","textbox","tabindex","-1","contenteditable","true",1,"mat-chip-edit-input"]})}return n})(),wne=(()=>{class n extends Jn{basicChipAttrName="mat-basic-chip-row";_renderer=f(Si);_cleanupMousedown;_editStartPending=!1;editable=!1;edited=new ve;defaultEditInput;contentEditInput;_alreadyFocused=!1;_isEditing=!1;constructor(){super(),this.role="row",this._onBlur.pipe(tt(this.destroyed)).subscribe(()=>{this._isEditing&&!this._editStartPending&&this._onEditFinish(),this._alreadyFocused=!1})}ngAfterViewInit(){super.ngAfterViewInit(),this._cleanupMousedown=this._ngZone.runOutsideAngular(()=>this._renderer.listen(this._elementRef.nativeElement,"mousedown",()=>{this._alreadyFocused=this._hasFocus()}))}ngOnDestroy(){super.ngOnDestroy(),this._cleanupMousedown?.()}_hasLeadingActionIcon(){return!this._isEditing&&!!this.editIcon}_hasTrailingIcon(){return!this._isEditing&&super._hasTrailingIcon()}_handleFocus(){!this._isEditing&&!this.disabled&&this.focus()}_handleKeydown(e){e.keyCode===13&&!this.disabled?this._isEditing?(e.preventDefault(),this._onEditFinish()):this.editable&&this._startEditing(e):this._isEditing?e.stopPropagation():super._handleKeydown(e)}_handleClick(e){!this.disabled&&this.editable&&!this._isEditing&&this._alreadyFocused&&(e.preventDefault(),e.stopPropagation(),this._startEditing(e))}_handleDoubleclick(e){!this.disabled&&this.editable&&this._startEditing(e)}_edit(){this._changeDetectorRef.markForCheck(),this._startEditing()}_startEditing(e){if(!this.primaryAction||this.removeIcon&&e&&this._getSourceAction(e.target)===this.removeIcon)return;let t=this.value;this._isEditing=this._editStartPending=!0,Xa(()=>{this._getEditInput().initialize(t),setTimeout(()=>this._ngZone.run(()=>this._editStartPending=!1))},{injector:this._injector})}_onEditFinish(){this._isEditing=this._editStartPending=!1,this.edited.emit({chip:this,value:this._getEditInput().getValue()}),(this._document.activeElement===this._getEditInput().getNativeElement()||this._document.activeElement===this._document.body)&&this.primaryAction.focus()}_isRippleDisabled(){return super._isRippleDisabled()||this._isEditing}_getEditInput(){return this.contentEditInput||this.defaultEditInput}static \u0275fac=function(t){return new(t||n)};static \u0275cmp=F({type:n,selectors:[["mat-chip-row"],["","mat-chip-row",""],["mat-basic-chip-row"],["","mat-basic-chip-row",""]],contentQueries:function(t,o,r){if(t&1&&Ki(r,XD,5),t&2){let a;mt(a=pt())&&(o.contentEditInput=a.first)}},viewQuery:function(t,o){if(t&1&&xn(XD,5),t&2){let r;mt(r=pt())&&(o.defaultEditInput=r.first)}},hostAttrs:[1,"mat-mdc-chip","mat-mdc-chip-row","mdc-evolution-chip"],hostVars:29,hostBindings:function(t,o){t&1&&g("focus",function(){return o._handleFocus()})("click",function(a){return o._hasInteractiveActions()?o._handleClick(a):null})("dblclick",function(a){return o._handleDoubleclick(a)}),t&2&&(Wo("id",o.id),qt("tabindex",o.disabled?null:-1)("aria-label",null)("aria-description",null)("role",o.role),Be("mat-mdc-chip-with-avatar",o.leadingIcon)("mat-mdc-chip-disabled",o.disabled)("mat-mdc-chip-editing",o._isEditing)("mat-mdc-chip-editable",o.editable)("mdc-evolution-chip--disabled",o.disabled)("mdc-evolution-chip--with-leading-action",o._hasLeadingActionIcon())("mdc-evolution-chip--with-trailing-action",o._hasTrailingIcon())("mdc-evolution-chip--with-primary-graphic",o.leadingIcon)("mdc-evolution-chip--with-primary-icon",o.leadingIcon)("mdc-evolution-chip--with-avatar",o.leadingIcon)("mat-mdc-chip-highlighted",o.highlighted)("mat-mdc-chip-with-trailing-icon",o._hasTrailingIcon()))},inputs:{editable:"editable"},outputs:{edited:"edited"},features:[fn([{provide:Jn,useExisting:n},{provide:JD,useExisting:n}]),si],ngContentSelectors:hne,decls:9,vars:8,consts:[[1,"mat-mdc-chip-focus-overlay"],["role","gridcell",1,"mdc-evolution-chip__cell","mdc-evolution-chip__cell--leading"],["role","gridcell","matChipAction","",1,"mdc-evolution-chip__cell","mdc-evolution-chip__cell--primary",3,"disabled"],[1,"mdc-evolution-chip__graphic","mat-mdc-chip-graphic"],[1,"mdc-evolution-chip__text-label","mat-mdc-chip-action-label"],["aria-hidden","true",1,"mat-mdc-chip-primary-focus-indicator","mat-focus-indicator"],["role","gridcell",1,"mdc-evolution-chip__cell","mdc-evolution-chip__cell--trailing"],["matChipEditInput",""]],template:fun Line truncated
`],encapsulation:2,changeDetection:0})}return n})();var YD=class{source;value;constructor(i,e){this.source=i,this.value=e}},vi=(()=>{class n extends tP{ngControl=f(_C,{optional:!0,self:!0});controlType="mat-chip-grid";_chipInput;_defaultRole="grid";_errorStateTracker;_uid=f(Mo).getId("mat-chip-grid-");_ariaDescribedbyIds=[];_onTouched=()=>{};_onChange=()=>{};get disabled(){return this.ngControl?!!this.ngControl.disabled:this._disabled}set disabled(e){this._disabled=e,this._syncChipsState(),this.stateChanges.next()}get id(){return this._chipInput?this._chipInput.id:this._uid}get empty(){return(!this._chipInput||this._chipInput.empty)&&(!this._chips||this._chips.length===0)}get placeholder(){return this._chipInput?this._chipInput.placeholder:this._placeholder}set placeholder(e){this._placeholder=e,this.stateChanges.next()}_placeholder="";get focused(){return this._chipInput?.focused||this._hasFocusedChip()}get required(){return this._required??this.ngControl?.control?.hasValidator(Ue.required)??!1}set required(e){this._required=e,this.stateChanges.next()}_required;get shouldLabelFloat(){return!this.empty||this.focused}get value(){return this._value}set value(e){this._value=e}_value=[];get errorStateMatcher(){return this._errorStateTracker.matcher}set errorStateMatcher(e){this._errorStateTracker.matcher=e}get chipBlurChanges(){return this._getChipStream(e=>e._onBlur)}change=new ve;valueChange=new ve;_chips=void 0;stateChanges=new He;get errorState(){return this._errorStateTracker.errorState}set errorState(e){this._errorStateTracker.errorState=e}constructor(){super();let e=f(Gn,{optional:!0}),t=f(Rt,{optional:!0}),o=f(fd);this.ngControl&&(this.ngControl.valueAccessor=this),this._errorStateTracker=new TC(o,this.ngControl,t,e,this.stateChanges)}ngAfterContentInit(){this.chipBlurChanges.pipe(tt(this._destroyed)).subscribe(()=>{this._blur(),this.stateChanges.next()}),Hn(this.chipFocusChanges,this._chips.changes).pipe(tt(this._destroyed)).subscribe(()=>this.stateChanges.next())}ngDoCheck(){this.ngControl&&this.updateErrorState()}ngOnDestroy(){super.ngOnDestroy(),this.stateChanges.complete()}registerInput(e){this._chipInput=e,this._chipInput.setDescribedByIds(this._ariaDescribedbyIds),this._elementRef.nativeElement.removeAttribute("aria-describedby")}onContainerClick(e){!this.disabled&&!this._originatesFromChip(e)&&this.focus()}focus(){if(!(this.disabled||this._chipInput?.focused)){if(!this._chips.length||this._chips.first.disabled){if(!this._chipInput)return;Promise.resolve().then(()=>this._chipInput.focus())}else{let e=this._keyManager.activeItem;e?e.focus():this._keyManager.setFirstItemActive()}this.stateChanges.next()}}get describedByIds(){if(this._chipInput)return this._chipInput.describedByIds||[];let e=this._elementRef.nativeElement.getAttribute("aria-describedby");return e?e.split(" "):[]}setDescribedByIds(e){this._ariaDescribedbyIds=e,this._chipInput?this._chipInput.setDescribedByIds(e):e.length?this._elementRef.nativeElement.setAttribute("aria-describedby",e.join(" ")):this._elementRef.nativeElement.removeAttribute("aria-describedby")}writeValue(e){this._value=e}registerOnChange(e){this._onChange=e}registerOnTouched(e){this._onTouched=e}setDisabledState(e){this.disabled=e,this.stateChanges.next()}updateErrorState(){this._errorStateTracker.updateErrorState()}_blur(){this.disabled||setTimeout(()=>{this.focused||(this._propagateChanges(),this._markAsTouched())})}_allowFocusEscape(){this._chipInput?.focused||super._allowFocusEscape()}_handleKeydown(e){let t=e.keyCode,o=this._keyManager.activeItem;if(t===9)this._chipInput?.focused&&fa(e,"shiftKey")&&this._chips.length&&!this._chips.last.disabled?(e.preventDefault(),o?this._keyManager.setActiveItem(o):this._focusLastChip()):super._allowFocusEscape();else if(!this._chipInput?.focused)if((t===38||t===40)&&o){let r=this._chipActions.filter(p=>p._isPrimary===o._isPrimary&&!this._skipPredicate(p)),a=r.indexOf(o),c=e.keyCode===38?-1:1;e.preventDefault(),a>-1&&this._isValidIndex(a+c)&&this._keyManager.setActiveItem(r[a+c])}else super._handleKeydown(e);this.stateChanges.next()}_focusLastChip(){this._chips.length&&this._chips.last.focus()}_propagateChanges(){let e=this._chips.length?this._chips.toArray().map(t=>t.value):[];this._value=e,this.change.emit(new YD(this,e)),this.valueChange.emit(e),this._onChange(e),this._changeDetectorRef.markForCheck()}_markAsTouched(){this._onTouched(),this._changeDetectorRef.markForCheck(),this.stateChanges.next()}static \u0275fac=function(t){return new(t||n)};static \u0275cmp=F({type:n,selectors:[["mat-chip-grid"]],contentQueries:function(t,o,r){if(t&1&&Ki(r,wne,5),t&2){let a;mt(a=pt())&&(o._chips=a)}},hostAttrs:[1,"mat-mdc-chip-set","mat-mdc-chip-grid","mdc-evolution-chip-set"],hostVars:10,hostBindings:function(t,o){t&1&&g("focus",function(){return o.focus()})("blur",function(){return o._blur()}),t&2&&(qt("role",o.role)("tabindex",o.disabled||o._chips&&o._chips.length===0?-1:o.tabIndex)("aria-disabled",o.disabled.toString())("aria-inval Line truncated
`);for(let r=0;r<o.length;r++){let a=o[r].trim();if(!a)continue;let c=a.indexOf("=");if(c<=0)return{isValid:!1,errorMessage:`${t}, line ${r+1}: Invalid format (expected KEY=VALUE)`};let p=a.substring(0,c);if(p!==p.toUpperCase())return{isValid:!1,errorMessage:`${t}, line ${r+1}: Variable name "${p}" should be uppercase (e.g., ${p.toUpperCase()}=value)`}}return{isValid:!0}}validateConsolePort(e){return!e||e.trim()===""?{isValid:!0}:this.base.validatePortRange(e,1,65535)}static \u0275fac=function(t){return new(t||n)};static \u0275prov=J({token:n,factory:n.\u0275fac,providedIn:"root"})}return n})();var P0=(()=>{class n{base=f(zi);idlePcRegex=/^(0x[0-9a-fA-F]+)?$/;platformRamLimits={c7200:{min:512,max:512},c3725:{min:128,max:256},c3745:{min:128,max:256},c2691:{min:128,max:256},c3600:{min:192,max:192},c2600:{min:160,max:160},c1700:{min:160,max:160}};platformNvramDefaults={c7200:512,c3725:256,c3745:256,c2691:256,c3600:256,c2600:256,c1700:256};validateName(e){return this.base.required(e,"Name")}validateImagePath(e){return this.base.required(e,"IOS image path")}validateRam(e){let t=this.base.required(e,"RAM");if(!t.isValid)return t;let o=parseInt(e,10);return isNaN(o)||o<0||o!==parseFloat(e)?{isValid:!1,errorMessage:"RAM must be a non-negative integer"}:{isValid:!0}}validateNvram(e){let t=this.base.required(e,"NVRAM");if(!t.isValid)return t;let o=parseInt(e,10);return isNaN(o)||o<0||o!==parseFloat(e)?{isValid:!1,errorMessage:"NVRAM must be a non-negative integer"}:{isValid:!0}}validateIdlepc(e){return!e||e.trim()===""?{isValid:!0}:this.idlePcRegex.test(e)?{isValid:!0}:{isValid:!1,errorMessage:"Invalid Idle-PC format (expected 0x..., e.g. 0x1234)"}}validateMacAddress(e){return!e||e.trim()===""?{isValid:!0}:/^([0-9a-fA-F]{4}\.){2}[0-9a-fA-F]{4}$/.test(e)?{isValid:!0}:{isValid:!1,errorMessage:"Invalid MAC address format (expected XXXX.XXXX.XXXX)"}}validateRamForPlatform(e,t){let o=this.validateRam(e);if(!o.isValid)return o;let r=this.platformRamLimits[t];if(r){let a=parseInt(e,10);if(a<r.min||a>r.max)return{isValid:!1,errorMessage:`RAM for ${t} should be ${r.min} MB${r.max!==r.min?` (${r.min}-${r.max})`:""}`}}return{isValid:!0}}validateNvramForPlatform(e,t){let o=this.validateNvram(e);if(!o.isValid)return o;let r=this.platformNvramDefaults[t];if(r){let a=parseInt(e,10);if(a>r*2)return{isValid:!1,errorMessage:`NVRAM for ${t} is typically ${r} KB. Value ${a} seems unusually high.`}}return{isValid:!0}}validateIomem(e){if(!e||e.trim()==="")return{isValid:!0};let t=parseInt(e,10);return isNaN(t)||t<0||t>100||t!==parseFloat(e)?{isValid:!1,errorMessage:"I/O memory must be an integer between 0 and 100"}:{isValid:!0}}validateDisk(e,t){if(!e||e.trim()==="")return{isValid:!0};let o=parseInt(e,10);return isNaN(o)||o<0||o!==parseFloat(e)?{isValid:!1,errorMessage:`${t} must be a non-negative integer`}:{isValid:!0}}validateNonNegative(e,t){if(!e||e.trim()==="")return{isValid:!0};let o=parseInt(e,10);return isNaN(o)||o<0||o!==parseFloat(e)?{isValid:!1,errorMessage:`${t} must be a non-negative integer`}:{isValid:!0}}static \u0275fac=function(t){return new(t||n)};static \u0275prov=J({token:n,factory:n.\u0275fac,providedIn:"root"})}return n})();var I0=(()=>{class n{base=f(zi);validateName(e){return this.base.required(e,"Name")}validatePath(e){return this.base.required(e,"IOU image path")}validateEthernetAdapters(e){let t=this.base.required(e,"Ethernet adapters");if(!t.isValid)return t;let o=parseInt(e,10);return isNaN(o)||o<0||o!==parseFloat(e)?{isValid:!1,errorMessage:"Ethernet adapters must be a non-negative integer"}:{isValid:!0}}validateSerialAdapters(e){let t=this.base.required(e,"Serial adapters");if(!t.isValid)return t;let o=parseInt(e,10);return isNaN(o)||o<0||o!==parseFloat(e)?{isValid:!1,errorMessage:"Serial adapters must be a non-negative integer"}:{isValid:!0}}validateRam(e){if(!e||e.trim()==="")return{isValid:!0};let t=parseInt(e,10);return isNaN(t)||t<0||t!==parseFloat(e)?{isValid:!1,errorMessage:"RAM must be a non-negative integer"}:{isValid:!0}}validateNvram(e){if(!e||e.trim()==="")return{isValid:!0};let t=parseInt(e,10);return isNaN(t)||t<0||t!==parseFloat(e)?{isValid:!1,errorMessage:"NVRAM must be a non-negative integer"}:{isValid:!0}}static \u0275fac=function(t){return new(t||n)};static \u0275prov=J({token:n,factory:n.\u0275fac,providedIn:"root"})}return n})();var iP=(()=>{class n{base=f(zi);validateName(e){return this.base.required(e,"Name")}validateRequiredRam(e){return this.base.required(e,"RAM")}validateCpus(e){if(!e||e.trim()==="")return{isValid:!0};let t=parseInt(e,10);return isNaN(t)||t<1||t>255||t!==parseFloat(e)?{isValid:!1,errorMessage:"CPUs must be an integer between 1 and 255"}:{isValid:!0}}validateAdapters(e){if(!e||e.trim()==="")return{isValid:!0};let t=parseInt(e,10);return isNaN(t)||t<0||t>275||t!==parseFloat(e)?{isValid:!1,errorMessage:"Adapters must be an integer between 0 and 275"}:{isValid:!0}}validateCpuThrottling(e){if(!e||e.trim()==="")return{isValid:!0};let t=parseInt(e,10);return isNaN(t)||t<0 Line truncated
`],encapsulation:2,changeDetection:0})}return n})(),Woe=(()=>{class n{templateRef=f(Oo);name;constructor(){}static \u0275fac=function(t){return new(t||n)};static \u0275dir=ft({type:n,selectors:[["ng-template","matStepperIcon",""]],inputs:{name:[0,"matStepperIcon","name"]}})}return n})(),qoe=(()=>{class n{_template=f(Oo);constructor(){}static \u0275fac=function(t){return new(t||n)};static \u0275dir=ft({type:n,selectors:[["ng-template","matStepContent",""]]})}return n})(),Hl=(()=>{class n extends fx{_errorStateMatcher=f(fd,{skipSelf:!0});_viewContainerRef=f(oo);_isSelected=So.EMPTY;stepLabel=void 0;color;_lazyContent;_portal;ngAfterContentInit(){this._isSelected=this._stepper.steps.changes.pipe(Un(()=>this._stepper.selectionChange.pipe(Lt(e=>e.selectedStep===this),pi(this._stepper.selected===this)))).subscribe(e=>{e&&this._lazyContent&&!this._portal&&(this._portal=new pd(this._lazyContent._template,this._viewContainerRef))})}ngOnDestroy(){this._isSelected.unsubscribe()}isErrorState(e,t){let o=this._errorStateMatcher.isErrorState(e,t),r=!!(e&&e.invalid&&this.interacted);return o||r}static \u0275fac=(()=>{let e;return function(o){return(e||(e=Pi(n)))(o||n)}})();static \u0275cmp=F({type:n,selectors:[["mat-step"]],contentQueries:function(t,o,r){if(t&1&&Ki(r,A0,5)(r,qoe,5),t&2){let a;mt(a=pt())&&(o.stepLabel=a.first),mt(a=pt())&&(o._lazyContent=a.first)}},hostAttrs:["hidden",""],inputs:{color:"color"},exportAs:["matStep"],features:[fn([{provide:fd,useExisting:n},{provide:fx,useExisting:n}]),si],ngContentSelectors:E8,decls:1,vars:0,consts:[[3,"cdkPortalOutlet"]],template:function(t,o){t&1&&(ii(),xe(0,Ioe,2,1,"ng-template"))},dependencies:[Gu],encapsulation:2,changeDetection:0})}return n})(),Ul=(()=>{class n extends Zh{_ngZone=f(Vi);_renderer=f(Si);_animationsDisabled=qo();_cleanupTransition;_isAnimating=ae(!1);_stepHeader=void 0;_animatedContainers;_steps=void 0;steps=new Il;_icons;animationDone=new ve;disableRipple=!1;color;labelPosition="end";headerPosition="top";headerPrefix=le(null);_iconOverrides={};get animationDuration(){return this._animationDuration}set animationDuration(e){this._animationDuration=/^\d+$/.test(e)?e+"ms":e}_animationDuration="";_isServer=!f($s).isBrowser;constructor(){super();let t=f(Zt).nativeElement.nodeName.toLowerCase();this.orientation=t==="mat-vertical-stepper"?"vertical":"horizontal"}ngAfterContentInit(){super.ngAfterContentInit(),this._icons.forEach(({name:e,templateRef:t})=>this._iconOverrides[e]=t),this.steps.changes.pipe(tt(this._destroyed)).subscribe(()=>this._stateChanged()),this.selectedIndexChange.pipe(tt(this._destroyed)).subscribe(()=>{let e=this._getAnimationDuration();e==="0ms"||e==="0s"?this._onAnimationDone():this._isAnimating.set(!0)}),this._ngZone.runOutsideAngular(()=>{this._animationsDisabled||setTimeout(()=>{this._elementRef.nativeElement.classList.add("mat-stepper-animations-enabled"),this._cleanupTransition=this._renderer.listen(this._elementRef.nativeElement,"transitionend",this._handleTransitionend)},200)})}ngAfterViewInit(){if(super.ngAfterViewInit(),typeof queueMicrotask=="function"){let e=!1;this._animatedContainers.changes.pipe(pi(null),tt(this._destroyed)).subscribe(()=>queueMicrotask(()=>{e||(e=!0,this.animationDone.emit()),this._stateChanged()}))}}ngOnDestroy(){super.ngOnDestroy(),this._cleanupTransition?.()}_getAnimationDuration(){return this._animationsDisabled?"0ms":this.animationDuration?this.animationDuration:this.orientation==="horizontal"?"500ms":"225ms"}_handleTransitionend=e=>{let t=e.target;if(!t)return;let o=this.orientation==="horizontal"&&e.propertyName==="transform"&&t.classList.contains("mat-horizontal-stepper-content-current"),r=this.orientation==="vertical"&&e.propertyName==="grid-template-rows"&&t.classList.contains("mat-vertical-content-container-active");(o||r)&&this._animatedContainers.find(c=>c.nativeElement===t)&&this._onAnimationDone()};_onAnimationDone(){this._isAnimating.set(!1),this.animationDone.emit()}static \u0275fac=function(t){return new(t||n)};static \u0275cmp=F({type:n,selectors:[["mat-stepper"],["mat-vertical-stepper"],["mat-horizontal-stepper"],["","matStepper",""]],contentQueries:function(t,o,r){if(t&1&&Ki(r,Hl,5)(r,Woe,5),t&2){let a;mt(a=pt())&&(o._steps=a),mt(a=pt())&&(o._icons=a)}},viewQuery:function(t,o){if(t&1&&xn(aP,5)(Aoe,5),t&2){let r;mt(r=pt())&&(o._stepHeader=r),mt(r=pt())&&(o._animatedContainers=r)}},hostVars:14,hostBindings:function(t,o){t&2&&(nn("--mat-stepper-animation-duration",o._getAnimationDuration()),Be("mat-stepper-horizontal",o.orientation==="horizontal")("mat-stepper-vertical",o.orientation==="vertical")("mat-stepper-label-position-end",o.orientation==="horizontal"&&o.labelPosition=="end")("mat-stepper-label-position-bottom",o.orientation==="horizontal"&&o.labelPosition=="bottom")("mat-stepper-header-position-bottom",o.headerPosition==="bottom")("mat-stepper-animating",o._isAnimating()))},inputs:{disableRipple:"disableRipple",color:"color",labelPosition:"labelPosition",headerPosition:"headerPosi Line truncated
`],encapsulation:2,changeDetection:0})}return n})(),I8=(()=>{class n extends M8{static \u0275fac=(()=>{let e;return function(o){return(e||(e=Pi(n)))(o||n)}})();static \u0275dir=ft({type:n,selectors:[["button","matStepperNext",""]],hostAttrs:[1,"mat-stepper-next"],hostVars:1,hostBindings:function(t,o){t&2&&Wo("type",o.type)},features:[si]})}return n})(),A8=(()=>{class n extends k8{static \u0275fac=(()=>{let e;return function(o){return(e||(e=Pi(n)))(o||n)}})();static \u0275dir=ft({type:n,selectors:[["button","matStepperPrevious",""]],hostAttrs:[1,"mat-stepper-previous"],hostVars:1,hostBindings:function(t,o){t&2&&Wo("type",o.type)},features:[si]})}return n})(),ul=(()=>{class n{static \u0275fac=function(t){return new(t||n)};static \u0275mod=Ht({type:n});static \u0275inj=$t({providers:[fd],imports:[Wu,T8,ie,mc,Ul,aP,hi]})}return n})();var Fc=(()=>{class n{getConsoleTypes(){return["telnet","ssh","vnc","http","https","none"]}getAuxConsoleTypes(){return["telnet","ssh","none"]}getCategories(){return[["Default","guest"],["Routers","router"],["Switches","switch"],["End devices","guest"],["Security devices","firewall"]]}getConsoleResolutions(){return["2560x1440","1920x1080","1680x1050","1440x900","1366x768","1280x1024","1280x800","1024x768","800x600","640x480"]}getMacAddrRegex(){return/^([0-9a-fA-F]{2}[:]){5}([0-9a-fA-F]{2})$/}static \u0275fac=function(t){return new(t||n)};static \u0275prov=J({token:n,factory:n.\u0275fac})}return n})();var ds=(()=>{class n{httpController;constructor(e){this.httpController=e}getTemplates(e){return this.httpController.get(e,"/templates")}getTemplate(e,t){return this.httpController.get(e,`/templates/${t}`)}getImages(e){return this.httpController.get(e,`/computes/${wi.compute_id}/docker/images`)}addTemplate(e,t){let o=this.prepareTemplate(t);return this.httpController.post(e,"/templates",o)}saveTemplate(e,t){let o=this.prepareTemplate(t);return this.httpController.put(e,`/templates/${t.template_id}`,o)}prepareTemplate(e){return it(K({},e),{custom_adapters:e.custom_adapters||[]})}static \u0275fac=function(t){return new(t||n)(ge(mn))};static \u0275prov=J({token:n,factory:n.\u0275fac})}return n})();var Qoe=(n,i)=>i.image;function Xoe(n,i){if(n&1&&(s(0,"mat-option",22),d(1),l()),n&2){let e=i.$implicit;C("value",e),m(),j(e.image)}}function Koe(n,i){if(n&1){let e=z();s(0,"mat-form-field",13)(1,"mat-label"),d(2,"Image list"),l(),s(3,"mat-select",30),g("selectionChange",function(o){k(e);let r=v();return T(r.selectedImage=o.value)}),Y(4,Xoe,2,2,"mat-option",22,Qoe),l()()}if(n&2){let e=v();m(3),C("value",e.selectedImage),m(),Z(e.dockerImages)}}function Yoe(n,i){if(n&1){let e=z();s(0,"mat-form-field",13)(1,"mat-label"),d(2,"Image name"),l(),s(3,"input",31),g("input",function(o){k(e);let r=v();return T(r.filename.set(o.target.value))}),l()()}if(n&2){let e=v();m(3),C("value",e.filename())}}function Zoe(n,i){if(n&1&&(s(0,"mat-option",22),d(1),l()),n&2){let e=i.$implicit;C("value",e),m(),j(e)}}function Joe(n,i){if(n&1&&(s(0,"mat-option",22),d(1),l()),n&2){let e=i.$implicit;C("value",e),m(),j(e)}}var gx=(()=>{class n{route=f(lt);controllerService=f(Je);dockerService=f(ds);toasterService=f(te);router=f(ht);templateMocksService=f(xa);configurationService=f(Fc);computeService=f(ko);cd=f(Q);controller;dockerTemplate;consoleTypes=[];auxConsoleTypes=[];dockerImages=[];selectedImage;newImageSelected=!1;isLocalComputerChosen=!0;filename=U("");templateName=U("");adapters=U(1);startCommand=U("");consoleType=U("");auxConsoleType=U("");environment=U("");ngOnInit(){let e=this.route.snapshot.paramMap.get("controller_id");this.controllerService.get(parseInt(e,10)).then(t=>{this.controller=t,this.cd.markForCheck(),this.consoleTypes=this.configurationService.getConsoleTypes(),this.auxConsoleTypes=this.configurationService.getAuxConsoleTypes(),this.templateMocksService.getDockerTemplate().subscribe({next:o=>{this.dockerTemplate=o,this.cd.markForCheck()},error:o=>{let r=o.error?.message||o.message||"Failed to load template";this.toasterService.error(r),this.cd.markForCheck()}}),this.dockerService.getImages(t).subscribe({next:o=>{this.dockerImages=o,this.cd.markForCheck()},error:o=>{let r=o.error?.message||o.message||"Failed to load docker images";this.toasterService.error(r),this.cd.markForCheck()}})},t=>{let o=t.error?.message||t.message||"Failed to load controller";this.toasterService.error(o),this.cd.markForCheck()})}setControllerType(e){e==="local"&&(this.isLocalComputerChosen=!0)}setDiskImage(e){this.newImageSelected=e==="newImage"}goBack(){this.router.navigate(["/controller",this.controller.id,"preferences","docker","templates"])}addTemplate(){!this.newImageSelected&&this.selectedImage||this.newImageSelected&&this.filename()&&this.templateName()&&this.adapters()?(this.dockerTemplate.template_id=Ai(),this.newImageSelected?this.dockerTemplate.image=this.filename():this.dockerTemplate.image=this.selectedImage.image,this.dockerTemplate.name=this.templateName(),this.dockerTemplate.adapters=this.adapters(),this.dockerTempl Line truncated
`)),this.usage.set(r.usage||""),this.cd.markForCheck()},error:r=>{let a=r.error?.message||r.message||"Failed to load template";this.toasterService.error(a),this.cd.markForCheck()}})},o=>{let r=o.error?.message||o.message||"Failed to load controller";this.toasterService.error(r),this.cd.markForCheck()})}getConfiguration(){this.consoleTypes=this.configurationService.getConsoleTypes(),this.auxConsoleTypes=this.configurationService.getAuxConsoleTypes(),this.categories=this.configurationService.getCategories(),this.consoleResolutions=this.configurationService.getConsoleResolutions()}goBack(){this.router.navigate(["/controller",this.controller.id,"preferences","docker","templates"])}toggleSection(e){switch(e){case"general":this.generalSettingsExpanded=!this.generalSettingsExpanded;break;case"advanced":this.advancedExpanded=!this.advancedExpanded;break;case"usage":this.usageExpanded=!this.usageExpanded;break}}onSave(){let e=this.validationService.validateName(this.name());if(!e.isValid){this.toasterService.error(e.errorMessage||"Name is required");return}if(!this.validationService.validateName(this.image()).isValid){this.toasterService.error("Image is required");return}let o=this.validationService.validateAdapters(this.adaptersCount().toString(),100);if(!o.isValid){this.toasterService.error(o.errorMessage);return}let r=this.validationService.validateMacAddress(this.macAddress());if(!r.isValid){this.toasterService.error(r.errorMessage);return}let a=this.validationService.validateMemory(this.memory().toString());if(!a.isValid){this.toasterService.error(a.errorMessage);return}let c=this.validationService.validateCpus(this.cpus().toString());if(!c.isValid){this.toasterService.error(c.errorMessage);return}if(this.consoleHttpPort()){let u=this.validationService.validateConsoleHttpPort(this.consoleHttpPort().toString());if(!u.isValid){this.toasterService.error(u.errorMessage||"Console HTTP port must be between 1 and 65535");return}}let p=this.validationService.validateEnvironment(this.environment(),"Advanced > Environment");if(!p.isValid){this.toasterService.error(p.errorMessage);return}this.dockerTemplate.name=this.name(),this.dockerTemplate.default_name_format=this.defaultNameFormat(),this.dockerTemplate.category=this.category(),this.dockerTemplate.symbol=this.symbol(),this.dockerTemplate.tags=this.tags(),this.dockerTemplate.image=this.image(),this.dockerTemplate.start_command=this.startCommand(),this.dockerTemplate.mac_address=this.macAddress(),this.dockerTemplate.adapters=this.adaptersCount(),this.dockerTemplate.console_type=this.consoleType(),this.dockerTemplate.aux_type=this.auxConsoleType(),this.dockerTemplate.console_auto_start=this.consoleAutoStart(),this.dockerTemplate.console_resolution=this.consoleResolution(),this.dockerTemplate.console_http_port=this.consoleHttpPort(),this.dockerTemplate.console_http_path=this.consoleHttpPath(),this.dockerTemplate.memory=this.memory(),this.dockerTemplate.cpus=this.cpus(),this.dockerTemplate.environment=this.environment(),this.dockerTemplate.extra_hosts=this.extraHosts(),this.dockerTemplate.extra_volumes=this.extraVolumes()?this.extraVolumes().split(`
`).filter(u=>u.trim()):[],this.dockerTemplate.usage=this.usage(),this.dockerService.saveTemplate(this.controller,this.dockerTemplate).subscribe({next:u=>{this.toasterService.success("Changes saved")},error:u=>{let h=u.error?.message||u.message||"Failed to save template";this.toasterService.error(h),this.cd.markForCheck()}})}editCustomAdapters(){let e=this.dockerTemplate.custom_adapters||[];e.length===0&&(e=Array.from({length:this.adaptersCount()||1},(a,c)=>({adapter_number:c,port_name:"",adapter_type:""})));let t=this.dialogConfig.openConfig("base",{autoFocus:!1,panelClass:["base-dialog-panel","docker-configurator-dialog-panel"],disableClose:!0,data:{}});t.data={};let r=this.dialog.open(Uf,We(q({},t),{data:{}})).componentInstance;r.adapters.set(e),r.saveHandler=a=>{this.dockerTemplate.custom_adapters=a.map(c=>We(q({},c),{mac_address:c.mac_address||null})),this.adaptersCount.set(a.length)}}chooseSymbol(){let e=this.dialogConfig.openConfig("templateSymbol",{autoFocus:!1,disableClose:!1,data:{controller:this.controller,symbol:this.symbol()}});this.dialog.open(ta,e).afterClosed().subscribe(o=>{o&&this.symbol.set(o)})}addTag(e){let t=(e.value||"").trim();t&&this.dockerTemplate&&(this.dockerTemplate.tags||(this.dockerTemplate.tags=[]),this.dockerTemplate.tags.push(t)),e.chipInput&&e.chipInput.clear()}removeTag(e){if(!this.dockerTemplate.tags)return;let t=this.dockerTemplate.tags.indexOf(e);t>=0&&this.dockerTemplate.tags.splice(t,1)}static \u0275fac=function(t){return new(t||n)};static \u0275cmp=F({type:n,selectors:[["app-docker-template-details"]],inputs:{name:[1,"name"],defaultNameFormat:[1,"defaultNameFormat"],category:[1,"category"],symbol:[1,"symbol"],tags:[1,"tags"],image:[1,"image"],startCommand:[1,"startCommand"],macAddress:[1,"macAddress"],adaptersCount:[1,"adaptersCount"],memory:[1,"memory"],cpus:[1,"cpus"],consoleType:[1,"consoleType"],auxConsoleType:[1,"auxConsoleType"],consoleAutoStart:[1,"consoleAutoStart"],consoleResolution:[1,"consoleResolution"],consoleHttpPort:[1,"consoleHttpPort"],consoleHttpPath:[1,"consoleHttpPath"],environment:[1,"environment"],extraHosts:[1,"extraHosts"],extraVolumes:[1,"extraVolumes"],usage:[1,"usage"]},outputs:{name:"nameChange",defaultNameFormat:"defaultNameFormatChange",category:"categoryChange",symbol:"symbolChange",tags:"tagsChange",image:"imageChange",startCommand:"startCommandChange",macAddress:"macAddressChange",adaptersCount:"adaptersCountChange",memory:"memoryChange",cpus:"cpusChange",consoleType:"consoleTypeChange",auxConsoleType:"auxConsoleTypeChange",consoleAutoStart:"consoleAutoStartChange",consoleResolution:"consoleResolutionChange",consoleHttpPort:"consoleHttpPortChange",consoleHttpPath:"consoleHttpPathChange",environment:"environmentChange",extraHosts:"extraHostsChange",extraVolumes:"extraVolumesChange",usage:"usageChange"},decls:6,vars:2,consts:[["chipList",""],[1,"docker-details"],[1,"docker-details__header"],["mat-icon-button","",1,"docker-details__back-btn"],[1,"docker-details__title"],[1,"docker-details__content"],["mat-icon-button","",1,"docker-details__back-btn",3,"click"],[1,"docker-details__form-card"],[1,"docker-details__section-header",3,"click"],[1,"docker-details__section-title"],[1,"docker-details__expand-icon"],[1,"form-container"],[1,"preferences__usage-form"],[1,"docker-details__actions"],["mat-button","",1,"docker-details__cancel-btn",3,"click"],["mat-raised-button","","color","primary",1,"docker-details__save-btn",3,"click"],[1,"two-column-grid"],[1,"form-field"],["matInput","","type","text","placeholder","Template name",3,"input","value"],["matInput","","type","text","placeholder","Default name format",3,"input","value"],["matInput","","type","text","placeholder","Docker image name",3,"input","value"],[1,"docker-details__symbol-row"],["placeholder","Category",3,"selectionChange","value"],[3,"value"],[1,"form-field","form-field--flex"],["matInput","","type","text","placeholder","Symbol",3,"input","value"],["mat-button","",1,"docker-details__symbol-btn",3,"click"],["matInput","","placeholder","Add tags",3,"matChipInputTokenEnd","matChipInputFor","matChipInputSeparatorKeyCodes"],["matInput","","type","text","placeholder","Adapters",3,"input","value"],["matInput","","type","text","placeholder","Base MAC",3,"input","value"],["matInput","","type","text","min","0","placeholder","Memory",3,"input","value"],["matSuffix",""],["matInput","","type","text","min","0","placeholder","CPUs",3,"input","value"],["placeholder","Console type",3,"selectionChange","value"],["placeholder","Auxiliary console type",3,"selectionChange","value"],["placeholder","VNC console resolution",3,"selectionChange","value"],["matInput","","type","text","placeholder","HTTP port in the container",3,"input","value"],[1,"form-field","grid-span-2"],["matInput","","type","text","placeholder","HTTP path",3,"input","value"],[1,"grid-span-2",3,"change","checked"],["mat-button","",1,"form-field",3,"click"],[3,"removed"],["matChipRemove",""],[1,"docker-details__section-subtitle"],["mat Line truncated
/config)`,3,"input","value"],["matInput","","type","text","placeholder","Hostname to IP mappings, one per line (e.g., gns3.com:192.168.100.10)",3,"input","value"],[1,"preferences__usage-field--full"],["matInput","","type","text",3,"input","value"]],template:function(t,o){t&1&&(s(0,"div",1)(1,"header",2),A(2,bde,3,0,"button",3),s(3,"h1",4),d(4,"Docker container template configuration"),l()(),A(5,Dde,27,6,"main",5),l()),t&2&&(m(2),O(o.controller?2:-1),m(3),O(o.dockerTemplate?5:-1))},dependencies:[ie,Ze,st,at,qn,ut,oe,de,W,pe,je,we,Me,it,Ei,Se,Ee,xt,Nt,Ct,oi,ni,yi,Si,fi,Ft,Xt],styles:["[_nghost-%COMP%]{display:block;width:100%;background:transparent}.docker-details__header[_ngcontent-%COMP%]{max-width:800px;margin:0 auto;padding:32px 20px 16px;display:flex;align-items:center;gap:16px;animation:_ngcontent-%COMP%_fadeInSlideIn .4s ease-out}.docker-details__back-btn[_ngcontent-%COMP%]{width:48px;height:48px;border-radius:12px;color:var(--mat-sys-on-surface);transition:all .2s cubic-bezier(.4,0,.2,1)}.docker-details__back-btn[_ngcontent-%COMP%]:hover{background-color:color-mix(in srgb,var(--mat-sys-on-surface) 8%,transparent)}.docker-details__title[_ngcontent-%COMP%]{flex:1;font-size:28px;font-weight:500;color:var(--mat-sys-on-surface);margin:0}.docker-details__content[_ngcontent-%COMP%]{max-width:800px;margin:0 auto;padding:0 20px 20px;animation:_ngcontent-%COMP%_fadeInSlideIn .4s ease-out .1s both}.docker-details--hidden[_ngcontent-%COMP%]{opacity:.5;pointer-events:none}.docker-details__form-card[_ngcontent-%COMP%]{background:var(--mat-sys-surface);border-radius:16px;overflow:hidden;box-shadow:0 8px 32px color-mix(in srgb,var(--mat-sys-shadow) 20%,transparent),0 2px 8px color-mix(in srgb,var(--mat-sys-shadow) 10%,transparent);margin-bottom:16px}.docker-details__section-header[_ngcontent-%COMP%]{padding:16px 24px;display:flex;align-items:center;justify-content:space-between;cursor:pointer;transition:background-color .2s ease;border-bottom:1px solid color-mix(in srgb,var(--mat-sys-outline) 30%,transparent)}.docker-details__section-header[_ngcontent-%COMP%]:hover{background-color:color-mix(in srgb,var(--mat-sys-on-surface) 5%,transparent)}.docker-details__section-title[_ngcontent-%COMP%]{margin:0;font-size:16px;font-weight:500;color:var(--mat-sys-on-surface-variant)}.docker-details__expand-icon[_ngcontent-%COMP%]{color:var(--mat-sys-on-surface-variant);transition:transform .2s ease}.docker-details__form[_ngcontent-%COMP%], .form-container[_ngcontent-%COMP%]{padding:16px 24px 24px;display:flex;flex-direction:column;gap:16px}.docker-details__form[_ngcontent-%COMP%] .two-column-grid[_ngcontent-%COMP%], .form-container[_ngcontent-%COMP%] .two-column-grid[_ngcontent-%COMP%]{display:grid;grid-template-columns:1fr 1fr;gap:16px}.docker-details__form[_ngcontent-%COMP%] .two-column-grid[_ngcontent-%COMP%] .grid-span-2[_ngcontent-%COMP%], .form-container[_ngcontent-%COMP%] .two-column-grid[_ngcontent-%COMP%] .grid-span-2[_ngcontent-%COMP%]{grid-column:1/-1}.docker-details__field[_ngcontent-%COMP%], .form-field[_ngcontent-%COMP%]{width:100%}.docker-details__field--flex[_ngcontent-%COMP%]{flex:1}.docker-details__field--full[_ngcontent-%COMP%]{width:100%;padding:0}.docker-details__symbol-row[_ngcontent-%COMP%]{display:flex;align-items:flex-start;gap:16px}.docker-details__symbol-row[_ngcontent-%COMP%] .form-field[_ngcontent-%COMP%]{flex:1}.docker-details__symbol-btn[_ngcontent-%COMP%]{margin-top:4px;height:48px}.docker-details__section-subtitle[_ngcontent-%COMP%]{font-size:12px;font-weight:600;color:var(--mat-sys-on-surface-variant);text-transform:uppercase;letter-spacing:.5px;margin:8px 0}.docker-details__checkbox[_ngcontent-%COMP%]{margin-top:8px}.docker-details__actions[_ngcontent-%COMP%]{display:flex;justify-content:flex-end;gap:12px;margin-top:24px}.docker-details__cancel-btn[_ngcontent-%COMP%]{height:48px;border-radius:12px;font-size:16px;font-weight:500;text-transform:none}.docker-details__save-btn[_ngcontent-%COMP%]{height:48px;border-radius:12px;font-size:16px;font-weight:500;text-transform:none;letter-spacing:.5px}@keyframes _ngcontent-%COMP%_fadeInSlideIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media(max-width:768px){.docker-details__header[_ngcontent-%COMP%]{padding:24px 16px 12px;gap:12px}.docker-details__back-btn[_ngcontent-%COMP%]{width:44px;height:44px}.docker-details__title[_ngcontent-%COMP%]{font-size:22px}.docker-details__content[_ngcontent-%COMP%]{padding:0 16px 16px}.docker-details__section-header[_ngcontent-%COMP%]{padding:12px 16px}.docker-details__form[_ngcontent-%COMP%], .form-container[_ngcontent-%COMP%]{padding:16px}.docker-details__symbol-row[_ngcontent-%COMP%]{flex-direction:column}.docker-details__symbol-btn[_ngcontent-%COMP%]{width:100%}.docker-details__actions[_ngcontent-%COMP%]{flex-direction:column}.docker-details__cancel-btn[_ngcontent-%COMP%], .docker-details__save-btn[_ngcontent-%COMP%]{width:100%;height:44px}}","[_nghost-%COMP%]{display:blLine truncated
`],encapsulation:2,changeDetection:0})}return n})();function pV(n,i=0,e=100){return Math.max(i,Math.min(e,n))}var Ss=(()=>{class n{static \u0275fac=function(t){return new(t||n)};static \u0275mod=Gt({type:n});static \u0275inj=Ut({imports:[vi]})}return n})();var Il=(()=>{class n{data;_snackRef=f(dF);_US=f(Pl);uploadProgress=ne(0);subscription;upload_file_type;constructor(e){this.data=e}ngOnInit(){this.upload_file_type=this.data.upload_file_type,this.subscription=this._US.currentCount.subscribe(e=>{this.uploadProgress.set(e),(this.uploadProgress()===100||this.uploadProgress()==null)&&this.dismiss()})}dismiss(){this._snackRef.dismiss()}cancelItem(){this._US.cancelFileUploading(!0)}ngOnDestroy(){this.subscription.unsubscribe()}static \u0275fac=function(t){return new(t||n)(Ye(mF))};static \u0275cmp=F({type:n,selectors:[["app-uploading-processbar"]],decls:8,vars:3,consts:[[1,"row","proccessBar-row"],[1,"col-md-9","proccessBar-col"],["mode","determinate","aria-valuemin","0","aria-valuemax","100",3,"value"],[1,"col-md-3","proccessBar-col"],["mat-button","","color","primary",1,"file-button",3,"click"]],template:function(t,o){t&1&&(s(0,"p"),d(1),l(),s(2,"div",0)(3,"div",1),R(4,"mat-progress-bar",2),l(),s(5,"div",3)(6,"button",4),_("click",function(){return o.cancelItem()}),d(7,"Cancel"),l()()()),t&2&&(m(),_i("",o.upload_file_type," Uploading please wait .... ",o.uploadProgress,"%"),m(3),b("value",o.uploadProgress))},dependencies:[W,pe,Ss,td],styles:[".mat-snack-bar-container[_ngcontent-%COMP%]{min-width:450px}.proccessBar-row[_ngcontent-%COMP%]{display:flex}.proccessBar-col[_ngcontent-%COMP%]{margin:auto}"],changeDetection:0})}return n})();var ap=class{auto_delete_disks;builtin;category;chassis;compute_id;console_auto_start;console_type;aux_type;default_name_format;disk0;disk1;exec_area;idlemax;idlepc;idlesleep;image;iomem;mac_addr;mmap;name;nvram;platform;private_config;ram;slot0;slot1;slot2;slot3;slot4;slot5;slot6;slot7;sparsemem;startup_config;symbol;system_id;template_id;template_type;usage;wic0;wic1;wic2;tags};var sp=(()=>{class n{c2600_nms=["NM-1FE-TX","NM-1E","NM-4E","NM-16ESW"];c3600_nms=["NM-1FE-TX","NM-1E","NM-4E","NM-16ESW","NM-4T"];c3700_nms=["NM-1FE-TX","NM-4T","NM-16ESW"];c7200_pas=["PA-A1","PA-FE-TX","PA-2FE-TX","PA-GE","PA-4T+","PA-8T","PA-4E","PA-8E","PA-POS-OC3"];c7200_io=["C7200-IO-FE","C7200-IO-2FE","C7200-IO-GE-E"];c1700_wics=["WIC-1T","WIC-2T","WIC-1ENET"];c2600_wics=["WIC-1T","WIC-2T"];c3700_wics=["WIC-1T","WIC-2T"];getConsoleTypes(){return["telnet","ssh","none"]}getCategories(){return[["Default","guest"],["Routers","router"],["Switches","switch"],["End devices","guest"],["Security devices","firewall"]]}getDefaultRamSettings(){return{c1700:160,c2600:160,c2691:192,c3600:192,c3725:128,c3745:256,c7200:512}}getDefaultNvRamSettings(){return{c1700:128,c2600:128,c2691:256,c3600:256,c3725:256,c3745:256,c7200:512}}getAvailablePlatforms(){return["c1700","c2600","c2691","c3725","c3745","c3600","c7200"]}getPlatformsWithEtherSwitchRouterOption(){return{c1700:!1,c2600:!0,c2691:!0,c3725:!0,c3745:!0,c3600:!0,c7200:!1}}getPlatformsWithChassis(){return{c1700:!0,c2600:!0,c2691:!1,c3725:!1,c3745:!1,c3600:!0,c7200:!1}}getChassis(){return{c1700:["1720","1721","1750","1751","1760"],c2600:["2610","2611","2620","2621","2610XM","2611XM","2620XM","2621XM","2650XM","2651XM"],c3600:["3620","3640","3660"]}}getNPETypes(){return["npe-100","npe-150","npe-175","npe-200","npe-225","npe-300","npe-400","npe-g2"]}getMidplaneTypes(){return["std","vxr"]}getAdapterMatrix(){let e={};for(let t of["c1700","c2600","c2691","c3725","c3745","c3600","c7200"])e[t]={};for(let t of["1720","1721","1750","1751","1760"])e.c1700[t]={0:["C1700-MB-1FE"]};for(let t of["1751","1760"])e.c1700[t][1]=["C1700-MB-WIC1"];for(let t of["2620","2610XM","2620XM","2650XM"])e.c2600[t]={0:["C2600-MB-1FE"],1:this.c2600_nms};for(let t of["2621","2611XM","2621XM","2651XM"])e.c2600[t]={0:["C2600-MB-2FE"],1:this.c2600_nms};e.c2600[2610]={0:["C2600-MB-1E"],1:this.c2600_nms},e.c2600[2611]={0:["C2600-MB-2E"],1:this.c2600_nms},e.c2691[""]={0:["GT96100-FE"],1:this.c3700_nms},e.c3600[3620]={};for(let t=0;t<2;t++)e.c3600[3620][t]=this.c3600_nms;e.c3600[3640]={};for(let t=0;t<4;t++)e.c3600[3640][t]=this.c3600_nms;e.c3600[3660]={0:["Leopard-2FE"]};for(let t=1;t<7;t++)e.c3600[3660][t]=this.c3600_nms;e.c3725[""]={0:["GT96100-FE"]};for(let t=1;t<3;t++)e.c3725[""][t]=this.c3700_nms;e.c3745[""]={0:["GT96100-FE"]};for(let t=1;t<5;t++)e.c3745[""][t]=this.c3700_nms;e.c7200[""]={0:this.c7200_io};for(let t=1;t<7;t++)e.c7200[""][t]=this.c7200_pas;return e}getWicMatrix(){let e={};return e.c1700={0:this.c1700_wics,1:this.c1700_wics},e.c2600={0:this.c2600_wics,1:this.c2600_wics,2:this.c2600_wics},e.c2691={0:this.c3700_wics,1:this.c3700_wics,2:this.c3700_wics},e.c3725={0:this.c3700_wics,1:this.c3700_wics,2:this.c3700_wics},e.c3745={0:this.c3700_wics,1:this.c3700_wics,2:this.c3700_wics},e}getIdlepcRegex(){return/^(0x[0-9a-fA-F]+)?$|^$/}getMacAddrRegex(){return/^([0-9a-fA-F]{4}\.){2}[0-9a-fA-F]{4 Line truncated
`],encapsulation:2,changeDetection:0})}return n})();var hpe={provide:Od,useExisting:kd(()=>er),multi:!0};var fpe=new $t("mat-autocomplete-scroll-strategy",{providedIn:"root",factory:()=>{let n=f(Ro);return()=>M1(n)}}),er=(()=>{class n{_environmentInjector=f(Wl);_element=f(Yt);_injector=f(Ro);_viewContainerRef=f(Xi);_zone=f(Ai);_changeDetectorRef=f(X);_dir=f(ss,{optional:!0});_formField=f(Dh,{optional:!0,host:!0});_viewportRuler=f(Pd);_scrollStrategy=f(fpe);_renderer=f(gi);_animationsDisabled=Yo();_defaults=f(uV,{optional:!0});_overlayRef=null;_portal;_componentDestroyed=!1;_initialized=new $e;_keydownSubscription;_outsideClickSubscription;_cleanupWindowBlur;_previousValue=null;_valueOnAttach=null;_valueOnLastKeydown=null;_positionStrategy;_manuallyFloatingLabel=!1;_closingActionsSubscription;_viewportSubscription=_o.EMPTY;_breakpointObserver=f(N1);_handsetLandscapeSubscription=_o.EMPTY;_canOpenOnNextFocus=!0;_valueBeforeAutoSelection;_pendingAutoselectedOption=null;_closeKeyEventStream=new $e;_overlayPanelClass=N5(this._defaults?.overlayPanelClass||[]);_windowBlurHandler=()=>{this._canOpenOnNextFocus=this.panelOpen||!this._hasFocus()};_onChange=()=>{};_onTouched=()=>{};autocomplete;position="auto";connectedTo;autocompleteAttribute="off";autocompleteDisabled=!1;constructor(){}_aboveClass="mat-mdc-autocomplete-panel-above";ngAfterViewInit(){this._initialized.next(),this._initialized.complete(),this._cleanupWindowBlur=this._renderer.listen("window","blur",this._windowBlurHandler)}ngOnChanges(e){e.position&&this._positionStrategy&&(this._setStrategyPositions(this._positionStrategy),this.panelOpen&&this._overlayRef.updatePosition())}ngOnDestroy(){this._cleanupWindowBlur?.(),this._handsetLandscapeSubscription.unsubscribe(),this._viewportSubscription.unsubscribe(),this._componentDestroyed=!0,this._destroyPanel(),this._closeKeyEventStream.complete(),this._clearFromModal()}get panelOpen(){return this._overlayAttached&&this.autocomplete.showPanel}_overlayAttached=!1;openPanel(){this._openPanelInternal()}closePanel(){this._resetLabel(),this._overlayAttached&&(this.panelOpen&&this._zone.run(()=>{this.autocomplete.closed.emit()}),this.autocomplete._latestOpeningTrigger===this&&(this.autocomplete._isOpen=!1,this.autocomplete._latestOpeningTrigger=null),this._overlayAttached=!1,this._pendingAutoselectedOption=null,this._overlayRef&&this._overlayRef.hasAttached()&&(this._overlayRef.detach(),this._closingActionsSubscription.unsubscribe()),this._updatePanelState(),this._componentDestroyed||this._changeDetectorRef.detectChanges(),this._trackedModal&&R1(this._trackedModal,"aria-owns",this.autocomplete.id))}updatePosition(){this._overlayAttached&&this._overlayRef.updatePosition()}get panelClosingActions(){return Wn(this.optionSelections,this.autocomplete._keyManager.tabOut.pipe(Ln(()=>this._overlayAttached)),this._closeKeyEventStream,this._getOutsideClickStream(),this._overlayRef?this._overlayRef.detachments().pipe(Ln(()=>this._overlayAttached)):bt()).pipe(_t(e=>e instanceof sF?e:null))}optionSelections=_h(()=>{let e=this.autocomplete?this.autocomplete.options:null;return e?e.changes.pipe(di(e),un(()=>Wn(...e.map(t=>t.onSelectionChange)))):this._initialized.pipe(un(()=>this.optionSelections))});get activeOption(){return this.autocomplete&&this.autocomplete._keyManager?this.autocomplete._keyManager.activeItem:null}_getOutsideClickStream(){return new pr(e=>{let t=r=>{let a=Kp(r),c=this._formField?this._formField.getConnectedOverlayOrigin().nativeElement:null,p=this.connectedTo?this.connectedTo.elementRef.nativeElement:null;this._overlayAttached&&a!==this._element.nativeElement&&!this._hasFocus()&&(!c||!c.contains(a))&&(!p||!p.contains(a))&&this._overlayRef&&!this._overlayRef.overlayElement.contains(a)&&e.next(r)},o=[this._renderer.listen("document","click",t),this._renderer.listen("document","auxclick",t),this._renderer.listen("document","touchend",t)];return()=>{o.forEach(r=>r())}})}writeValue(e){Promise.resolve(null).then(()=>this._assignOptionValue(e))}registerOnChange(e){this._onChange=e}registerOnTouched(e){this._onTouched=e}setDisabledState(e){this._element.nativeElement.disabled=e}_handleKeydown(e){let t=e,o=t.keyCode,r=wa(t);if(o===27&&!r&&t.preventDefault(),this._valueOnLastKeydown=this._element.nativeElement.value,this.activeOption&&o===13&&this.panelOpen&&!r)this.activeOption._selectViaInteraction(),this._resetActiveItem(),t.preventDefault();else if(this.autocomplete){let a=this.autocomplete._keyManager.activeItem,c=o===38||o===40;o===9||c&&!r&&this.panelOpen?this.autocomplete._keyManager.onKeydown(t):c&&this._canOpen()&&this._openPanelInternal(this._valueOnLastKeydown),(c||this.autocomplete._keyManager.activeItem!==a)&&(this._scrollToOption(this.autocomplete._keyManager.activeItemIndex||0),this.autocomplete.autoSelectActiveOption&&this.activeOption&&(this._pendingAutoselectedOption||(this._valueBeforeAutoSelection=this._valueOnLastKeydown),this._pendingAutoselectedOption=this.activeOption,this._assignOptionValue(this Line truncated
`).filter(u=>u.trim()):[],this.dockerTemplate.usage=this.usage(),this.dockerService.saveTemplate(this.controller,this.dockerTemplate).subscribe({next:u=>{this.toasterService.success("Changes saved")},error:u=>{let h=u.error?.message||u.message||"Failed to save template";this.toasterService.error(h),this.cd.markForCheck()}})}editCustomAdapters(){let e=this.dockerTemplate.custom_adapters||[];e.length===0&&(e=Array.from({length:this.adaptersCount()||1},(a,c)=>({adapter_number:c,port_name:"",adapter_type:""})));let t=this.dialogConfig.openConfig("base",{autoFocus:!1,panelClass:["base-dialog-panel","docker-configurator-dialog-panel"],disableClose:!0,data:{}});t.data={};let r=this.dialog.open(Jh,it(K({},t),{data:{}})).componentInstance;r.adapters.set(e),r.saveHandler=a=>{this.dockerTemplate.custom_adapters=a.map(c=>it(K({},c),{mac_address:c.mac_address||null})),this.adaptersCount.set(a.length)}}chooseSymbol(){let e=this.dialogConfig.openConfig("templateSymbol",{autoFocus:!1,disableClose:!1,data:{controller:this.controller,symbol:this.symbol()}});this.dialog.open(qr,e).afterClosed().subscribe(o=>{o&&this.symbol.set(o)})}addTag(e){let t=(e.value||"").trim();t&&this.dockerTemplate&&(this.dockerTemplate.tags||(this.dockerTemplate.tags=[]),this.dockerTemplate.tags.push(t)),e.chipInput&&e.chipInput.clear()}removeTag(e){if(!this.dockerTemplate.tags)return;let t=this.dockerTemplate.tags.indexOf(e);t>=0&&this.dockerTemplate.tags.splice(t,1)}static \u0275fac=function(t){return new(t||n)};static \u0275cmp=F({type:n,selectors:[["app-docker-template-details"]],inputs:{name:[1,"name"],defaultNameFormat:[1,"defaultNameFormat"],category:[1,"category"],symbol:[1,"symbol"],tags:[1,"tags"],image:[1,"image"],startCommand:[1,"startCommand"],macAddress:[1,"macAddress"],adaptersCount:[1,"adaptersCount"],memory:[1,"memory"],cpus:[1,"cpus"],consoleType:[1,"consoleType"],auxConsoleType:[1,"auxConsoleType"],consoleAutoStart:[1,"consoleAutoStart"],consoleResolution:[1,"consoleResolution"],consoleHttpPort:[1,"consoleHttpPort"],consoleHttpPath:[1,"consoleHttpPath"],environment:[1,"environment"],extraHosts:[1,"extraHosts"],extraVolumes:[1,"extraVolumes"],usage:[1,"usage"]},outputs:{name:"nameChange",defaultNameFormat:"defaultNameFormatChange",category:"categoryChange",symbol:"symbolChange",tags:"tagsChange",image:"imageChange",startCommand:"startCommandChange",macAddress:"macAddressChange",adaptersCount:"adaptersCountChange",memory:"memoryChange",cpus:"cpusChange",consoleType:"consoleTypeChange",auxConsoleType:"auxConsoleTypeChange",consoleAutoStart:"consoleAutoStartChange",consoleResolution:"consoleResolutionChange",consoleHttpPort:"consoleHttpPortChange",consoleHttpPath:"consoleHttpPathChange",environment:"environmentChange",extraHosts:"extraHostsChange",extraVolumes:"extraVolumesChange",usage:"usageChange"},decls:6,vars:2,consts:[["chipList",""],[1,"docker-details"],[1,"docker-details__header"],["mat-icon-button","",1,"docker-details__back-btn"],[1,"docker-details__title"],[1,"docker-details__content"],["mat-icon-button","",1,"docker-details__back-btn",3,"click"],[1,"docker-details__form-card"],[1,"docker-details__section-header",3,"click"],[1,"docker-details__section-title"],[1,"docker-details__expand-icon"],[1,"form-container"],[1,"preferences__usage-form"],[1,"docker-details__actions"],["mat-button","",1,"docker-details__cancel-btn",3,"click"],["mat-raised-button","","color","primary",1,"docker-details__save-btn",3,"click"],[1,"two-column-grid"],[1,"form-field"],["matInput","","type","text","placeholder","Template name",3,"input","value"],["matInput","","type","text","placeholder","Default name format",3,"input","value"],["matInput","","type","text","placeholder","Docker image name",3,"input","value"],[1,"docker-details__symbol-row"],["placeholder","Category",3,"selectionChange","value"],[3,"value"],[1,"form-field","form-field--flex"],["matInput","","type","text","placeholder","Symbol",3,"input","value"],["mat-button","",1,"docker-details__symbol-btn",3,"click"],["matInput","","placeholder","Add tags",3,"matChipInputTokenEnd","matChipInputFor","matChipInputSeparatorKeyCodes"],["matInput","","type","text","placeholder","Adapters",3,"input","value"],["matInput","","type","text","placeholder","Base MAC",3,"input","value"],["matInput","","type","text","min","0","placeholder","Memory",3,"input","value"],["matSuffix",""],["matInput","","type","text","min","0","placeholder","CPUs",3,"input","value"],["placeholder","Console type",3,"selectionChange","value"],["placeholder","Auxiliary console type",3,"selectionChange","value"],["placeholder","VNC console resolution",3,"selectionChange","value"],["matInput","","type","text","placeholder","HTTP port in the container",3,"input","value"],[1,"form-field","grid-span-2"],["matInput","","type","text","placeholder","HTTP path",3,"input","value"],[1,"grid-span-2",3,"change","checked"],["mat-button","",1,"form-field",3,"click"],[3,"removed"],["matChipRemove",""],[1,"docker-details__section-subtitle"],["mat Line truncated
/config)`,3,"input","value"],["matInput","","type","text","placeholder","Hostname to IP mappings, one per line (e.g., gns3.com:192.168.100.10)",3,"input","value"],[1,"preferences__usage-field--full"],["matInput","","type","text",3,"input","value"]],template:function(t,o){t&1&&(s(0,"div",1)(1,"header",2),A(2,ore,3,0,"button",3),s(3,"h1",4),d(4,"Docker container template configuration"),l()(),A(5,ure,27,6,"main",5),l()),t&2&&(m(2),O(o.controller?2:-1),m(3),O(o.dockerTemplate?5:-1))},dependencies:[ne,Xe,at,rt,Gn,dt,ie,de,W,pe,je,we,Me,et,Mi,Se,Ee,vt,At,_t,ti,Jn,vi,Ci,mi,Ot,Gt],styles:["[_nghost-%COMP%]{display:block;width:100%;background:transparent}.docker-details__header[_ngcontent-%COMP%]{max-width:800px;margin:0 auto;padding:32px 20px 16px;display:flex;align-items:center;gap:16px;animation:_ngcontent-%COMP%_fadeInSlideIn .4s ease-out}.docker-details__back-btn[_ngcontent-%COMP%]{width:48px;height:48px;border-radius:12px;color:var(--mat-sys-on-surface);transition:all .2s cubic-bezier(.4,0,.2,1)}.docker-details__back-btn[_ngcontent-%COMP%]:hover{background-color:color-mix(in srgb,var(--mat-sys-on-surface) 8%,transparent)}.docker-details__title[_ngcontent-%COMP%]{flex:1;font-size:28px;font-weight:500;color:var(--mat-sys-on-surface);margin:0}.docker-details__content[_ngcontent-%COMP%]{max-width:800px;margin:0 auto;padding:0 20px 20px;animation:_ngcontent-%COMP%_fadeInSlideIn .4s ease-out .1s both}.docker-details--hidden[_ngcontent-%COMP%]{opacity:.5;pointer-events:none}.docker-details__form-card[_ngcontent-%COMP%]{background:var(--mat-sys-surface);border-radius:16px;overflow:hidden;box-shadow:0 8px 32px color-mix(in srgb,var(--mat-sys-shadow) 20%,transparent),0 2px 8px color-mix(in srgb,var(--mat-sys-shadow) 10%,transparent);margin-bottom:16px}.docker-details__section-header[_ngcontent-%COMP%]{padding:16px 24px;display:flex;align-items:center;justify-content:space-between;cursor:pointer;transition:background-color .2s ease;border-bottom:1px solid color-mix(in srgb,var(--mat-sys-outline) 30%,transparent)}.docker-details__section-header[_ngcontent-%COMP%]:hover{background-color:color-mix(in srgb,var(--mat-sys-on-surface) 5%,transparent)}.docker-details__section-title[_ngcontent-%COMP%]{margin:0;font-size:16px;font-weight:500;color:var(--mat-sys-on-surface-variant)}.docker-details__expand-icon[_ngcontent-%COMP%]{color:var(--mat-sys-on-surface-variant);transition:transform .2s ease}.docker-details__form[_ngcontent-%COMP%], .form-container[_ngcontent-%COMP%]{padding:16px 24px 24px;display:flex;flex-direction:column;gap:16px}.docker-details__form[_ngcontent-%COMP%] .two-column-grid[_ngcontent-%COMP%], .form-container[_ngcontent-%COMP%] .two-column-grid[_ngcontent-%COMP%]{display:grid;grid-template-columns:1fr 1fr;gap:16px}.docker-details__form[_ngcontent-%COMP%] .two-column-grid[_ngcontent-%COMP%] .grid-span-2[_ngcontent-%COMP%], .form-container[_ngcontent-%COMP%] .two-column-grid[_ngcontent-%COMP%] .grid-span-2[_ngcontent-%COMP%]{grid-column:1/-1}.docker-details__field[_ngcontent-%COMP%], .form-field[_ngcontent-%COMP%]{width:100%}.docker-details__field--flex[_ngcontent-%COMP%]{flex:1}.docker-details__field--full[_ngcontent-%COMP%]{width:100%;padding:0}.docker-details__symbol-row[_ngcontent-%COMP%]{display:flex;align-items:flex-start;gap:16px}.docker-details__symbol-row[_ngcontent-%COMP%] .form-field[_ngcontent-%COMP%]{flex:1}.docker-details__symbol-btn[_ngcontent-%COMP%]{margin-top:4px;height:48px}.docker-details__section-subtitle[_ngcontent-%COMP%]{font-size:12px;font-weight:600;color:var(--mat-sys-on-surface-variant);text-transform:uppercase;letter-spacing:.5px;margin:8px 0}.docker-details__checkbox[_ngcontent-%COMP%]{margin-top:8px}.docker-details__actions[_ngcontent-%COMP%]{display:flex;justify-content:flex-end;gap:12px;margin-top:24px}.docker-details__cancel-btn[_ngcontent-%COMP%]{height:48px;border-radius:12px;font-size:16px;font-weight:500;text-transform:none}.docker-details__save-btn[_ngcontent-%COMP%]{height:48px;border-radius:12px;font-size:16px;font-weight:500;text-transform:none;letter-spacing:.5px}@keyframes _ngcontent-%COMP%_fadeInSlideIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media(max-width:768px){.docker-details__header[_ngcontent-%COMP%]{padding:24px 16px 12px;gap:12px}.docker-details__back-btn[_ngcontent-%COMP%]{width:44px;height:44px}.docker-details__title[_ngcontent-%COMP%]{font-size:22px}.docker-details__content[_ngcontent-%COMP%]{padding:0 16px 16px}.docker-details__section-header[_ngcontent-%COMP%]{padding:12px 16px}.docker-details__form[_ngcontent-%COMP%], .form-container[_ngcontent-%COMP%]{padding:16px}.docker-details__symbol-row[_ngcontent-%COMP%]{flex-direction:column}.docker-details__symbol-btn[_ngcontent-%COMP%]{width:100%}.docker-details__actions[_ngcontent-%COMP%]{flex-direction:column}.docker-details__cancel-btn[_ngcontent-%COMP%], .docker-details__save-btn[_ngcontent-%COMP%]{width:100%;height:44px}}","[_nghost-%COMP%]{display:blLine truncated
`],encapsulation:2,changeDetection:0})}return n})();function N8(n,i=0,e=100){return Math.max(i,Math.min(e,n))}var ms=(()=>{class n{static \u0275fac=function(t){return new(t||n)};static \u0275mod=Ht({type:n});static \u0275inj=$t({imports:[hi]})}return n})();var fl=(()=>{class n{data;_snackRef=f(O4);_US=f(hl);uploadProgress=ae(0);subscription;upload_file_type;constructor(e){this.data=e}ngOnInit(){this.upload_file_type=this.data.upload_file_type,this.subscription=this._US.currentCount.subscribe(e=>{this.uploadProgress.set(e),(this.uploadProgress()===100||this.uploadProgress()==null)&&this.dismiss()})}dismiss(){this._snackRef.dismiss()}cancelItem(){this._US.cancelFileUploading(!0)}ngOnDestroy(){this.subscription.unsubscribe()}static \u0275fac=function(t){return new(t||n)(ot(N4))};static \u0275cmp=F({type:n,selectors:[["app-uploading-processbar"]],decls:8,vars:3,consts:[[1,"row","proccessBar-row"],[1,"col-md-9","proccessBar-col"],["mode","determinate","aria-valuemin","0","aria-valuemax","100",3,"value"],[1,"col-md-3","proccessBar-col"],["mat-button","","color","primary",1,"file-button",3,"click"]],template:function(t,o){t&1&&(s(0,"p"),d(1),l(),s(2,"div",0)(3,"div",1),R(4,"mat-progress-bar",2),l(),s(5,"div",3)(6,"button",4),g("click",function(){return o.cancelItem()}),d(7,"Cancel"),l()()()),t&2&&(m(),ui("",o.upload_file_type," Uploading please wait .... ",o.uploadProgress,"%"),m(3),C("value",o.uploadProgress))},dependencies:[W,pe,ms,Rc],styles:[".mat-snack-bar-container[_ngcontent-%COMP%]{min-width:450px}.proccessBar-row[_ngcontent-%COMP%]{display:flex}.proccessBar-col[_ngcontent-%COMP%]{margin:auto}"],changeDetection:0})}return n})();var Dm=class{auto_delete_disks;builtin;category;chassis;compute_id;console_auto_start;console_type;aux_type;default_name_format;disk0;disk1;exec_area;idlemax;idlepc;idlesleep;image;iomem;mac_addr;mmap;name;nvram;platform;private_config;ram;slot0;slot1;slot2;slot3;slot4;slot5;slot6;slot7;sparsemem;startup_config;symbol;system_id;template_id;template_type;usage;wic0;wic1;wic2;tags};var Pm=(()=>{class n{c2600_nms=["NM-1FE-TX","NM-1E","NM-4E","NM-16ESW"];c3600_nms=["NM-1FE-TX","NM-1E","NM-4E","NM-16ESW","NM-4T"];c3700_nms=["NM-1FE-TX","NM-4T","NM-16ESW"];c7200_pas=["PA-A1","PA-FE-TX","PA-2FE-TX","PA-GE","PA-4T+","PA-8T","PA-4E","PA-8E","PA-POS-OC3"];c7200_io=["C7200-IO-FE","C7200-IO-2FE","C7200-IO-GE-E"];c1700_wics=["WIC-1T","WIC-2T","WIC-1ENET"];c2600_wics=["WIC-1T","WIC-2T"];c3700_wics=["WIC-1T","WIC-2T"];getConsoleTypes(){return["telnet","ssh","none"]}getCategories(){return[["Default","guest"],["Routers","router"],["Switches","switch"],["End devices","guest"],["Security devices","firewall"]]}getDefaultRamSettings(){return{c1700:160,c2600:160,c2691:192,c3600:192,c3725:128,c3745:256,c7200:512}}getDefaultNvRamSettings(){return{c1700:128,c2600:128,c2691:256,c3600:256,c3725:256,c3745:256,c7200:512}}getAvailablePlatforms(){return["c1700","c2600","c2691","c3725","c3745","c3600","c7200"]}getPlatformsWithEtherSwitchRouterOption(){return{c1700:!1,c2600:!0,c2691:!0,c3725:!0,c3745:!0,c3600:!0,c7200:!1}}getPlatformsWithChassis(){return{c1700:!0,c2600:!0,c2691:!1,c3725:!1,c3745:!1,c3600:!0,c7200:!1}}getChassis(){return{c1700:["1720","1721","1750","1751","1760"],c2600:["2610","2611","2620","2621","2610XM","2611XM","2620XM","2621XM","2650XM","2651XM"],c3600:["3620","3640","3660"]}}getNPETypes(){return["npe-100","npe-150","npe-175","npe-200","npe-225","npe-300","npe-400","npe-g2"]}getMidplaneTypes(){return["std","vxr"]}getAdapterMatrix(){let e={};for(let t of["c1700","c2600","c2691","c3725","c3745","c3600","c7200"])e[t]={};for(let t of["1720","1721","1750","1751","1760"])e.c1700[t]={0:["C1700-MB-1FE"]};for(let t of["1751","1760"])e.c1700[t][1]=["C1700-MB-WIC1"];for(let t of["2620","2610XM","2620XM","2650XM"])e.c2600[t]={0:["C2600-MB-1FE"],1:this.c2600_nms};for(let t of["2621","2611XM","2621XM","2651XM"])e.c2600[t]={0:["C2600-MB-2FE"],1:this.c2600_nms};e.c2600[2610]={0:["C2600-MB-1E"],1:this.c2600_nms},e.c2600[2611]={0:["C2600-MB-2E"],1:this.c2600_nms},e.c2691[""]={0:["GT96100-FE"],1:this.c3700_nms},e.c3600[3620]={};for(let t=0;t<2;t++)e.c3600[3620][t]=this.c3600_nms;e.c3600[3640]={};for(let t=0;t<4;t++)e.c3600[3640][t]=this.c3600_nms;e.c3600[3660]={0:["Leopard-2FE"]};for(let t=1;t<7;t++)e.c3600[3660][t]=this.c3600_nms;e.c3725[""]={0:["GT96100-FE"]};for(let t=1;t<3;t++)e.c3725[""][t]=this.c3700_nms;e.c3745[""]={0:["GT96100-FE"]};for(let t=1;t<5;t++)e.c3745[""][t]=this.c3700_nms;e.c7200[""]={0:this.c7200_io};for(let t=1;t<7;t++)e.c7200[""][t]=this.c7200_pas;return e}getWicMatrix(){let e={};return e.c1700={0:this.c1700_wics,1:this.c1700_wics},e.c2600={0:this.c2600_wics,1:this.c2600_wics,2:this.c2600_wics},e.c2691={0:this.c3700_wics,1:this.c3700_wics,2:this.c3700_wics},e.c3725={0:this.c3700_wics,1:this.c3700_wics,2:this.c3700_wics},e.c3745={0:this.c3700_wics,1:this.c3700_wics,2:this.c3700_wics},e}getIdlepcRegex(){return/^(0x[0-9a-fA-F]+)?$|^$/}getMacAddrRegex(){return/^([0-9a-fA-F]{4}\.){2}[0-9a-fA-F]{4 Line truncated
`],encapsulation:2,changeDetection:0})}return n})();var Zae={provide:ud,useExisting:ad(()=>Ko),multi:!0};var Jae=new cn("mat-autocomplete-scroll-strategy",{providedIn:"root",factory:()=>{let n=f(Jo);return()=>pC(n)}}),Ko=(()=>{class n{_environmentInjector=f(SO);_element=f(Zt);_injector=f(Jo);_viewContainerRef=f(oo);_zone=f(Vi);_changeDetectorRef=f(Q);_dir=f(Ka,{optional:!0});_formField=f(Zu,{optional:!0,host:!0});_viewportRuler=f(dd);_scrollStrategy=f(Jae);_renderer=f(Si);_animationsDisabled=qo();_defaults=f(F8,{optional:!0});_overlayRef=null;_portal;_componentDestroyed=!1;_initialized=new He;_keydownSubscription;_outsideClickSubscription;_cleanupWindowBlur;_previousValue=null;_valueOnAttach=null;_valueOnLastKeydown=null;_positionStrategy;_manuallyFloatingLabel=!1;_closingActionsSubscription;_viewportSubscription=So.EMPTY;_breakpointObserver=f(xC);_handsetLandscapeSubscription=So.EMPTY;_canOpenOnNextFocus=!0;_valueBeforeAutoSelection;_pendingAutoselectedOption=null;_closeKeyEventStream=new He;_overlayPanelClass=JO(this._defaults?.overlayPanelClass||[]);_windowBlurHandler=()=>{this._canOpenOnNextFocus=this.panelOpen||!this._hasFocus()};_onChange=()=>{};_onTouched=()=>{};autocomplete;position="auto";connectedTo;autocompleteAttribute="off";autocompleteDisabled=!1;constructor(){}_aboveClass="mat-mdc-autocomplete-panel-above";ngAfterViewInit(){this._initialized.next(),this._initialized.complete(),this._cleanupWindowBlur=this._renderer.listen("window","blur",this._windowBlurHandler)}ngOnChanges(e){e.position&&this._positionStrategy&&(this._setStrategyPositions(this._positionStrategy),this.panelOpen&&this._overlayRef.updatePosition())}ngOnDestroy(){this._cleanupWindowBlur?.(),this._handsetLandscapeSubscription.unsubscribe(),this._viewportSubscription.unsubscribe(),this._componentDestroyed=!0,this._destroyPanel(),this._closeKeyEventStream.complete(),this._clearFromModal()}get panelOpen(){return this._overlayAttached&&this.autocomplete.showPanel}_overlayAttached=!1;openPanel(){this._openPanelInternal()}closePanel(){this._resetLabel(),this._overlayAttached&&(this.panelOpen&&this._zone.run(()=>{this.autocomplete.closed.emit()}),this.autocomplete._latestOpeningTrigger===this&&(this.autocomplete._isOpen=!1,this.autocomplete._latestOpeningTrigger=null),this._overlayAttached=!1,this._pendingAutoselectedOption=null,this._overlayRef&&this._overlayRef.hasAttached()&&(this._overlayRef.detach(),this._closingActionsSubscription.unsubscribe()),this._updatePanelState(),this._componentDestroyed||this._changeDetectorRef.detectChanges(),this._trackedModal&&SC(this._trackedModal,"aria-owns",this.autocomplete.id))}updatePosition(){this._overlayAttached&&this._overlayRef.updatePosition()}get panelClosingActions(){return Hn(this.optionSelections,this.autocomplete._keyManager.tabOut.pipe(ai(()=>this._overlayAttached)),this._closeKeyEventStream,this._getOutsideClickStream(),this._overlayRef?this._overlayRef.detachments().pipe(ai(()=>this._overlayAttached)):Nn()).pipe(Lt(e=>e instanceof P4?e:null))}optionSelections=gO(()=>{let e=this.autocomplete?this.autocomplete.options:null;return e?e.changes.pipe(pi(e),Un(()=>Hn(...e.map(t=>t.onSelectionChange)))):this._initialized.pipe(Un(()=>this.optionSelections))});get activeOption(){return this.autocomplete&&this.autocomplete._keyManager?this.autocomplete._keyManager.activeItem:null}_getOutsideClickStream(){return new Dr(e=>{let t=r=>{let a=Cp(r),c=this._formField?this._formField.getConnectedOverlayOrigin().nativeElement:null,p=this.connectedTo?this.connectedTo.elementRef.nativeElement:null;this._overlayAttached&&a!==this._element.nativeElement&&!this._hasFocus()&&(!c||!c.contains(a))&&(!p||!p.contains(a))&&this._overlayRef&&!this._overlayRef.overlayElement.contains(a)&&e.next(r)},o=[this._renderer.listen("document","click",t),this._renderer.listen("document","auxclick",t),this._renderer.listen("document","touchend",t)];return()=>{o.forEach(r=>r())}})}writeValue(e){Promise.resolve(null).then(()=>this._assignOptionValue(e))}registerOnChange(e){this._onChange=e}registerOnTouched(e){this._onTouched=e}setDisabledState(e){this._element.nativeElement.disabled=e}_handleKeydown(e){let t=e,o=t.keyCode,r=fa(t);if(o===27&&!r&&t.preventDefault(),this._valueOnLastKeydown=this._element.nativeElement.value,this.activeOption&&o===13&&this.panelOpen&&!r)this.activeOption._selectViaInteraction(),this._resetActiveItem(),t.preventDefault();else if(this.autocomplete){let a=this.autocomplete._keyManager.activeItem,c=o===38||o===40;o===9||c&&!r&&this.panelOpen?this.autocomplete._keyManager.onKeydown(t):c&&this._canOpen()&&this._openPanelInternal(this._valueOnLastKeydown),(c||this.autocomplete._keyManager.activeItem!==a)&&(this._scrollToOption(this.autocomplete._keyManager.activeItemIndex||0),this.autocomplete.autoSelectActiveOption&&this.activeOption&&(this._pendingAutoselectedOption||(this._valueBeforeAutoSelection=this._valueOnLastKeydown),this._pendingAutoselectedOption=this.activeOption,this._assignOptionValue(this Line truncated
`+u.join(`
`));return}let e=this.data.portNameFormat||"Ethernet{0}",t=this.data.portSegmentSize||0,o=this.data.defaultAdapterType||"e1000",r=[];for(let p of this.adapters()){let u;if(t>0){let x=Math.floor(p.adapter_number/t),C=p.adapter_number%t;u=e.replace("{0}",String(x*t+C))}else u=e.replace("{0}",String(p.adapter_number));let h=p.port_name!==u,g=p.adapter_type!==o,S=p.mac_address&&p.mac_address.length>0;(h||g||S)&&r.push({adapter_number:p.adapter_number,port_name:h?p.port_name:u,adapter_type:p.adapter_type,mac_address:p.mac_address||null})}let a=this.adapters().length,c={adapters:r,requiredAdapters:a};this.dialogRef.close(c)}static \u0275fac=function(t){return new(t||n)(Ye(vt))};static \u0275cmp=F({type:n,selectors:[["app-custom-adapters"]],inputs:{adapters:[1,"adapters"]},outputs:{adapters:"adaptersChange"},decls:28,vars:0,consts:[["mat-dialog-title",""],["mat-dialog-content","",1,"content"],[1,"adapter-form"],[1,"adapter-header"],[1,"adapter-header-label"],[1,"adapter-header-field"],[1,"adapter-header-actions"],[1,"adapter-item"],[1,"add-adapter-row"],["mat-button","",1,"add-btn",3,"click"],[1,"info-note-text"],["mat-dialog-actions","","align","end"],["mat-button","",3,"click"],["mat-raised-button","","color","primary",3,"click"],[1,"adapter-label"],["appearance","fill","subscriptSizing","dynamic",1,"adapter-field"],["matInput","",3,"input","value","name"],[3,"selectionChange","value","name"],[3,"value"],["matInput","","placeholder","Paste any MAC format",3,"input","value","name"],["mat-icon-button","","matTooltip","Delete",1,"adapter-actions",3,"click"]],template:function(t,o){t&1&&(s(0,"h1",0),d(1,"Custom adapters configuration"),l(),s(2,"div",1)(3,"div",2)(4,"div",3)(5,"span",4),d(6,"Adapter"),l(),s(7,"span",5),d(8,"Port name"),l(),s(9,"span",5),d(10,"Type"),l(),s(11,"span",5),d(12,"MAC address"),l(),R(13,"span",6),l(),Z(14,xpe,15,11,"div",7,_pe),l(),s(16,"div",8)(17,"button",9),_("click",function(){return o.onAdd()}),s(18,"mat-icon"),d(19,"add"),l(),d(20," Add adapter "),l(),s(21,"div",10),d(22," Deleting an adapter reduces the total number of adapters. Adapter numbers will be renumbered when reopened. Adapters without custom configuration will use default settings. "),l()()(),s(23,"div",11)(24,"button",12),_("click",function(){return o.cancelConfigureCustomAdapters()}),d(25,"Cancel"),l(),s(26,"button",13),_("click",function(){return o.configureCustomAdapters()}),d(27,"Apply"),l()()),t&2&&(m(14),J(o.adapters()))},dependencies:[W,pe,je,we,Me,Ci,oe,de,Se,Ee,xt,Nt,Ct,kt,Ot,ve,Ne,Fe,yt],styles:["[_nghost-%COMP%]{display:block}.adapter-form[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:12px;max-height:500px;overflow-y:auto}.adapter-item[_ngcontent-%COMP%]{display:grid;grid-template-columns:100px 1fr 2fr 1.5fr auto;gap:12px;align-items:center;padding:12px 16px;background:var(--mat-sys-surface-container-lowest);border-radius:12px;border:1px solid color-mix(in srgb,var(--mat-sys-outline) 15%,transparent)}.adapter-item[_ngcontent-%COMP%]:hover{border-color:color-mix(in srgb,var(--mat-sys-primary) 30%,transparent)}.adapter-label[_ngcontent-%COMP%]{font-size:14px;font-weight:500;color:var(--mat-sys-on-surface);text-align:center}.adapter-header[_ngcontent-%COMP%]{display:grid;grid-template-columns:100px 1fr 2fr 1.5fr auto;gap:12px;align-items:center;padding:8px 16px;margin-bottom:8px;border-bottom:2px solid color-mix(in srgb,var(--mat-sys-outline) 30%,transparent);position:sticky;top:0;z-index:10;background:var(--mat-sys-surface);box-shadow:0 2px 4px color-mix(in srgb,var(--mat-sys-shadow) 10%,transparent)}.adapter-header-label[_ngcontent-%COMP%], .adapter-header-field[_ngcontent-%COMP%]{font-size:13px;font-weight:600;color:var(--mat-sys-on-surface-variant);text-transform:uppercase;letter-spacing:.5px;text-align:center}.adapter-header-actions[_ngcontent-%COMP%]{width:40px;text-align:center}.adapter-field[_ngcontent-%COMP%], .adapter-actions[_ngcontent-%COMP%]{margin:0;text-align:center}.add-btn[_ngcontent-%COMP%]{flex-shrink:0;width:auto;margin-top:12px;height:48px;border-radius:12px;font-size:14px;font-weight:500;text-transform:none;border:2px dashed color-mix(in srgb,var(--mat-sys-outline) 40%,transparent);color:var(--mat-sys-on-surface-variant)}.add-btn[_ngcontent-%COMP%]:hover{border-color:var(--mat-sys-primary);color:var(--mat-sys-primary);background:color-mix(in srgb,var(--mat-sys-primary) 8%,transparent)}"],changeDetection:0})}return n})();var hV=(n,i)=>i[1],pp=(n,i)=>i.filename,ype=(n,i)=>i.value;function Spe(n,i){if(n&1){let e=z();s(0,"button",18),_("click",function(){T(e);let o=v();return E(o.goBack())}),s(1,"mat-icon"),d(2,"arrow_back"),l()()}}function wpe(n,i){if(n&1&&(s(0,"mat-option",37),d(1),l()),n&2){let e=i.$implicit;b("value",e[1]),m(),j(e[0])}}function Mpe(n,i){if(n&1){let e=z();s(0,"mat-chip",47),_("removed",function(){let o=T(e).$implicit,r=v(3);return E(r.removeTag(o))}),d(1),s(2,"mat-icon",48),d(3,"cancel"),l()()}if(n&2){let e=i.$implicit;m(),ee(" ",e," ")}}function kpe(n,i){if(n&1&&( Line truncated
`],encapsulation:2})}return n})(),P3=new $t("MatBottomSheetData"),D3=class{viewContainerRef;injector;panelClass;direction;data=null;hasBackdrop=!0;backdropClass;disableClose=!1;ariaLabel=null;ariaModal=!1;closeOnNavigation=!0;autoFocus="first-tabbable";restoreFocus=!0;scrollStrategy;height="";minHeight;maxHeight},fp=class{_ref;get instance(){return this._ref.componentInstance}get componentRef(){return this._ref.componentRef}containerInstance;disableClose;_afterOpened=new $e;_result;_closeFallbackTimeout;constructor(i,e,t){this._ref=i,this.containerInstance=t,this.disableClose=e.disableClose,t._animationStateChanged.pipe(Ln(o=>o.phase==="done"&&o.toState==="visible"),Qi(1)).subscribe(()=>{this._afterOpened.next(),this._afterOpened.complete()}),t._animationStateChanged.pipe(Ln(o=>o.phase==="done"&&o.toState==="hidden"),Qi(1)).subscribe(()=>{clearTimeout(this._closeFallbackTimeout),this._ref.close(this._result)}),i.overlayRef.detachments().subscribe(()=>{this._ref.close(this._result)}),Wn(this.backdropClick(),this.keydownEvents().pipe(Ln(o=>o.keyCode===27))).subscribe(o=>{!this.disableClose&&(o.type!=="keydown"||!wa(o))&&(o.preventDefault(),this.dismiss())})}dismiss(i){this.containerInstance&&(this.containerInstance._animationStateChanged.pipe(Ln(e=>e.phase==="start"),Qi(1)).subscribe(()=>{this._closeFallbackTimeout=setTimeout(()=>this._ref.close(this._result),500),this._ref.overlayRef.detachBackdrop()}),this._result=i,this.containerInstance.exit(),this.containerInstance=null)}afterDismissed(){return this._ref.closed}afterOpened(){return this._afterOpened}backdropClick(){return this._ref.backdropClick}keydownEvents(){return this._ref.keydownEvents}},Tue=new $t("mat-bottom-sheet-default-options"),sc=(()=>{class n{_injector=f(Ro);_parentBottomSheet=f(n,{optional:!0,skipSelf:!0});_animationsDisabled=Yo();_defaultOptions=f(Tue,{optional:!0});_bottomSheetRefAtThisLevel=null;_dialog=f(iF);get _openedBottomSheetRef(){let e=this._parentBottomSheet;return e?e._openedBottomSheetRef:this._bottomSheetRefAtThisLevel}set _openedBottomSheetRef(e){this._parentBottomSheet?this._parentBottomSheet._openedBottomSheetRef=e:this._bottomSheetRefAtThisLevel=e}constructor(){}open(e,t){let o=q(q({},this._defaultOptions||new D3),t),r;return this._dialog.open(e,We(q({},o),{disableClose:!0,closeOnOverlayDetachments:!1,maxWidth:"100%",container:kue,scrollStrategy:o.scrollStrategy||R5(this._injector),positionStrategy:L5(this._injector).centerHorizontally().bottom("0"),disableAnimations:this._animationsDisabled,templateContext:()=>({bottomSheetRef:r}),providers:(a,c,p)=>(r=new fp(a,o,p),[{provide:fp,useValue:r},{provide:P3,useValue:o.data}])})),r.afterDismissed().subscribe(()=>{this._openedBottomSheetRef===r&&(this._openedBottomSheetRef=null)}),this._openedBottomSheetRef?(this._openedBottomSheetRef.afterDismissed().subscribe(()=>r.containerInstance?.enter()),this._openedBottomSheetRef.dismiss()):r.containerInstance.enter(),this._openedBottomSheetRef=r,r}dismiss(e){this._openedBottomSheetRef&&this._openedBottomSheetRef.dismiss(e)}ngOnDestroy(){this._bottomSheetRefAtThisLevel&&this._bottomSheetRefAtThisLevel.dismiss()}static \u0275fac=function(t){return new(t||n)};static \u0275prov=K({token:n,factory:n.\u0275fac,providedIn:"root"})}return n})(),od=(()=>{class n{static \u0275fac=function(t){return new(t||n)};static \u0275mod=Gt({type:n});static \u0275inj=Ut({providers:[sc],imports:[oF,wh,vi]})}return n})();var Due=(n,i)=>i==null?null:i.name;function Pue(n,i){if(n&1&&(s(0,"mat-option",10),d(1),l()),n&2){let e=i.$implicit;b("value",e),m(),j(e==null?null:e.name)}}function Iue(n,i){if(n&1&&(s(0,"mat-option",10),d(1),l()),n&2){let e=i.$implicit;b("value",e),m(),j(e)}}function Aue(n,i){if(n&1){let e=z();s(0,"form",1),_("ngSubmit",function(){T(e);let o=v();return E(o.export_project_form.valid&&o.exportPortableProject())}),s(1,"div",2)(2,"h1",3),d(3,"Export Project"),l(),s(4,"button",4),_("click",function(){T(e);let o=v();return E(o.dialogRef.close())}),s(5,"mat-icon"),d(6,"close"),l()()(),R(7,"mat-divider"),s(8,"div",5)(9,"div",6)(10,"span",7),d(11,"Compression:"),l(),s(12,"mat-form-field",8)(13,"mat-select",9),_("selectionChange",function(o){T(e);let r=v();return E(r.selectCompression(o))}),Z(14,Pue,2,2,"mat-option",10,Due),l()()(),s(16,"div",6)(17,"span",7),d(18,"Compression level:"),l(),s(19,"mat-form-field",8)(20,"mat-select",11),Z(21,Iue,2,2,"mat-option",10,Ae),l()()(),s(23,"div",6)(24,"section",12)(25,"mat-checkbox",13),d(26," Include base images "),l()()(),s(27,"div",6)(28,"section",12)(29,"mat-checkbox",14),d(30," Include snapshots "),l()()(),s(31,"div",6)(32,"section",12)(33,"mat-checkbox",15),d(34," Reset MAC addresses "),l()()()(),R(35,"mat-divider"),s(36,"div",16)(37,"button",17),_("click",function(){T(e);let o=v();return E(o.dialogRef.close())}),d(38,"Cancel"),l(),s(39,"button",18),d(40,"Export"),l()()()}if(n&2){let e=v();b("formGroup",e.export_project_form),m(14),J(e.compression_methods),m(7),J(e.compression_filter_value),m(18),b("disab Line truncated
`)}})}var j3=100,mz=60,pz=" ";function uz({source:n,line:i,column:e},t){function o(h,g){return r.slice(h,g).map((S,x)=>String(h+x+1).padStart(p)+" |"+S).join(`
`)}let r=n.split(/\r\n?|\n|\f/),a=Math.max(1,i-t)-1,c=Math.min(i+t,r.length+1),p=Math.max(4,String(c).length)+1,u=0;e+=(pz.length-1)*(r[i-1].substr(0,e-1).match(/\t/g)||[]).length,e>j3&&(u=e-mz+3,e=mz-2);for(let h=a;h<=c;h++)h>=0&&h<r.length&&(r[h]=r[h].replace(/\t/g,pz),r[h]=(u>0&&r[h].length>u?"\u2026":"")+r[h].substr(u,j3-2)+(r[h].length>u+j3-1?"\u2026":""));return[o(a,i),new Array(e+p+2).join("-")+"^",o(i,c)].filter(Boolean).join(`
`)}function $3(n,i,e,t,o){return Object.assign(Xu("SyntaxError",n),{source:i,offset:e,line:t,column:o,sourceFragment(a){return uz({source:i,line:t,column:o},isNaN(a)?0:a)},get formattedMessage(){return`Parse error: ${n}
`+uz({source:i,line:t,column:o},2)}})}function hz(n){let i=this.createList(),e=!1,t={recognizer:n};for(;!this.eof;){switch(this.tokenType){case 25:this.next();continue;case 13:e=!0,this.next();continue}let o=n.getNode.call(this,t);if(o===void 0)break;e&&(n.onWhiteSpace&&n.onWhiteSpace.call(this,o,i,t),e=!1),i.push(o)}return e&&n.onWhiteSpace&&n.onWhiteSpace.call(this,null,i,t),i}var fz=()=>{},Lhe=33,Bhe=35,H3=59,gz=123,_z=0;function Vhe(n){return function(){return this[n]()}}function U3(n){let i=Object.create(null);for(let e in n){let t=n[e],o=t.parse||t;o&&(i[e]=o)}return i}function zhe(n){let i={context:Object.create(null),scope:Object.assign(Object.create(null),n.scope),atrule:U3(n.atrule),pseudo:U3(n.pseudo),node:U3(n.node)};for(let e in n.parseContext)switch(typeof n.parseContext[e]){case"function":i.context[e]=n.parseContext[e];break;case"string":i.context[e]=Vhe(n.parseContext[e]);break}return q(q({config:i},i),i.node)}function vz(n){let i="",e="<unknown>",t=!1,o=fz,r=!1,a=new jS,c=Object.assign(new tC,zhe(n||{}),{parseAtrulePrelude:!0,parseRulePrelude:!0,parseValue:!0,parseCustomProperty:!1,readSequence:hz,consumeUntilBalanceEnd:()=>0,consumeUntilLeftCurlyBracket(u){return u===gz?1:0},consumeUntilLeftCurlyBracketOrSemicolon(u){return u===gz||u===H3?1:0},consumeUntilExclamationMarkOrSemicolon(u){return u===Lhe||u===H3?1:0},consumeUntilSemicolonIncluded(u){return u===H3?2:0},createList(){return new ts},createSingleNodeList(u){return new ts().appendData(u)},getFirstListNode(u){return u&&u.first},getLastListNode(u){return u&&u.last},parseWithFallback(u,h){let g=this.tokenIndex;try{return u.call(this)}catch(S){if(r)throw S;let x=h.call(this,g);return r=!0,o(S,x),r=!1,x}},lookupNonWSType(u){let h;do if(h=this.lookupType(u++),h!==13)return h;while(h!==_z);return _z},charCodeAt(u){return u>=0&&u<i.length?i.charCodeAt(u):0},substring(u,h){return i.substring(u,h)},substrToCursor(u){return this.source.substring(u,this.tokenStart)},cmpChar(u,h){return tm(i,u,h)},cmpStr(u,h,g){return nm(i,u,h,g)},consume(u){let h=this.tokenStart;return this.eat(u),this.substrToCursor(h)},consumeFunctionName(){let u=i.substring(this.tokenStart,this.tokenEnd-1);return this.eat(2),u},consumeNumber(u){let h=i.substring(this.tokenStart,Qu(i,this.tokenStart));return this.eat(u),h},eat(u){if(this.tokenType!==u){let h=eg[u].slice(0,-6).replace(/-/g," ").replace(/^./,x=>x.toUpperCase()),g=`${/[[\](){}]/.test(h)?`"${h}"`:h} is expected`,S=this.tokenStart;switch(u){case 1:this.tokenType===2||this.tokenType===7?(S=this.tokenEnd-1,g="Identifier is expected but function found"):g="Identifier is expected";break;case 4:this.isDelim(Bhe)&&(this.next(),S++,g="Name is expected");break;case 11:this.tokenType===10&&(S=this.tokenEnd,g="Percent sign is expected");break}this.error(g,S)}this.next()},eatIdent(u){(this.tokenType!==1||this.lookupValue(0,u)===!1)&&this.error(`Identifier "${u}" is expected`),this.next()},eatDelim(u){this.isDelim(u)||this.error(`Delim "${String.fromCharCode(u)}" is expected`),this.next()},getLocation(u,h){return t?a.getLocationRange(u,h,e):null},getLocationFromList(u){if(t){let h=this.getFirstListNode(u),g=this.getLastListNode(u);return a.getLocationRange(h!==null?h.loc.start.offset-a.startOffset:this.tokenStart,g!==null?g.loc.end.offset-a.startOffset:this.tokenStart,e)}return null},error(u,h){let g=typeof h<"u"&&h<i.length?a.getLocation(h):this.eof?a.getLocation(sz(i,i.length-1)):a.getLocation(this.tokenStart);throw new $3(u||"Unexpected input",i,g.offset,g.line,g.column)}});return Object.assign(function(u,h){i=u,h=h||{},c.setSource(i,xp),a.setSource(i,h.offset,h.line,h.column),e=h.filename||"<unknown>",t=!!h.positions,o=typeof h.onParseError=="function"?h.onParseError:fz,r=!1,c.parseAtrulePrelude="parseAtrulePrelude"in h?!!h.parseAtrulePrelude:!0,c.parseRulePrelude="parseRulePrelude"in h?!!h.parseRulePrelude:!0,c.parseValue="parseValue"in h?!!h.parseValue:!0,c.parseCustomProperty="parseCustomProperty"in h?!!h.parseCustomProperty:!1;let{context:g="default",onComment:S}=h;if(!(g in c.context))throw new Error("Unknown context `"+g+"`");typeof S=="function"&&c.forEachToken((C,M,w)=>{if(C===25){let y=c.getLocation(M,w),k=nm(i,w-2,w,"*/")?i.slice(M+2,w-2):i.slice(M+2,w);S(k,y)}});let x=c.context[g].call(c,h);return c.eof||c.error(),x},{SyntaxError:$3,config:c.config})}var Vz=el(Lz(),1),Bz=new Set(["Atrule","Selector","Declaration"]);function zz(n){let i=new Vz.SourceMapGenerator,e={line:1,column:0},t={line:0,column:0},o={line:1,column:0},r={generated:o},a=1,c=0,p=!1,u=n.node;n.node=function(S){if(S.loc&&S.loc.start&&Bz.has(S.type)){let x=S.loc.start.line,C=S.loc.start.column-1;(t.line!==x||t.column!==C)&&(t.line=x,t.column=C,e.line=a,e.column=c,p&&(p=!1,(e.line!==o.line||e.column!==o.column)&&i.addMapping(r)),p=!0,i.addMapping({source:S.loc.source,original:t,generated:e}))}u.call(this,S),p&&Bz.has(S.type)&&(o.line=a,o.column=c)};let h=n.emit;n.emit=function(S,x,C){for(let M=0;M<S.length;M++)S.charCodeAt(M)===10?(a++,c=0):c++;h(S Line truncated
`,13,!0)},emit(p){o+=p},result(){return o}};t&&(typeof t.decorator=="function"&&(a=t.decorator(a)),t.sourceMap&&(a=zz(a)),t.mode in GS&&(a.tokenBefore=GS[t.mode]));let c={node:p=>a.node(p),children:dfe,token:(p,u)=>a.token(p,u),tokenize:mfe};return a.node(e),a.result()}}function Uz(n){return{fromPlainObject(i){return n(i,{enter(e){e.children&&!(e.children instanceof ts)&&(e.children=new ts().fromArray(e.children))}}),i},toPlainObject(i){return n(i,{leave(e){e.children&&e.children instanceof ts&&(e.children=e.children.toArray())}}),i}}}var{hasOwnProperty:J3}=Object.prototype,rC=function(){};function Gz(n){return typeof n=="function"?n:rC}function Wz(n,i){return function(e,t,o){e.type===i&&n.call(this,e,t,o)}}function pfe(n,i){let e=i.structure,t=[];for(let o in e){if(J3.call(e,o)===!1)continue;let r=e[o],a={name:o,type:!1,nullable:!1};Array.isArray(r)||(r=[r]);for(let c of r)c===null?a.nullable=!0:typeof c=="string"?a.type="node":Array.isArray(c)&&(a.type="list");a.type&&t.push(a)}return t.length?{context:i.walkContext,fields:t}:null}function ufe(n){let i={};for(let e in n.node)if(J3.call(n.node,e)){let t=n.node[e];if(!t.structure)throw new Error("Missed `structure` field in `"+e+"` node type definition");i[e]=pfe(e,t)}return i}function qz(n,i){let e=n.fields.slice(),t=n.context,o=typeof t=="string";return i&&e.reverse(),function(r,a,c,p){let u;o&&(u=a[t],a[t]=r);for(let h of e){let g=r[h.name];if(!h.nullable||g){if(h.type==="list"){if(i?g.reduceRight(p,!1):g.reduce(p,!1))return!0}else if(c(g))return!0}}o&&(a[t]=u)}}function Qz({StyleSheet:n,Atrule:i,Rule:e,Block:t,DeclarationList:o}){return{Atrule:{StyleSheet:n,Atrule:i,Rule:e,Block:t},Rule:{StyleSheet:n,Atrule:i,Rule:e,Block:t},Declaration:{StyleSheet:n,Atrule:i,Rule:e,Block:t,DeclarationList:o}}}function Xz(n){let i=ufe(n),e={},t={},o=Symbol("break-walk"),r=Symbol("skip-node");for(let u in i)J3.call(i,u)&&i[u]!==null&&(e[u]=qz(i[u],!1),t[u]=qz(i[u],!0));let a=Qz(e),c=Qz(t),p=function(u,h){function g(y,k,I){let D=S.call(w,y,k,I);return D===o?!0:D===r?!1:!!(C.hasOwnProperty(y.type)&&C[y.type](y,w,g,M)||x.call(w,y,k,I)===o)}let S=rC,x=rC,C=e,M=(y,k,I,D)=>y||g(k,I,D),w={break:o,skip:r,root:u,stylesheet:null,atrule:null,atrulePrelude:null,rule:null,selector:null,block:null,declaration:null,function:null};if(typeof h=="function")S=h;else if(h&&(S=Gz(h.enter),x=Gz(h.leave),h.reverse&&(C=t),h.visit)){if(a.hasOwnProperty(h.visit))C=h.reverse?c[h.visit]:a[h.visit];else if(!i.hasOwnProperty(h.visit))throw new Error("Bad value `"+h.visit+"` for `visit` option (should be: "+Object.keys(i).sort().join(", ")+")");S=Wz(S,h.visit),x=Wz(x,h.visit)}if(S===rC&&x===rC)throw new Error("Neither `enter` nor `leave` walker handler is set or both aren't a function");g(u)};return p.break=o,p.skip=r,p.find=function(u,h){let g=null;return p(u,function(S,x,C){if(h.call(this,S,x,C))return g=S,o}),g},p.findLast=function(u,h){let g=null;return p(u,{reverse:!0,enter(S,x,C){if(h.call(this,S,x,C))return g=S,o}}),g},p.findAll=function(u,h){let g=[];return p(u,function(S,x,C){h.call(this,S,x,C)&&g.push(S)}),g},p}function hfe(n){return n}function ffe(n){let{min:i,max:e,comma:t}=n;return i===0&&e===0?t?"#?":"*":i===0&&e===1?"?":i===1&&e===0?t?"#":"+":i===1&&e===1?"":(t?"#":"")+(i===e?"{"+i+"}":"{"+i+","+(e!==0?e:"")+"}")}function gfe(n){if(n.type==="Range")return" ["+(n.min===null?"-\u221E":n.min)+","+(n.max===null?"\u221E":n.max)+"]";throw new Error("Unknown node type `"+n.type+"`")}function _fe(n,i,e,t){let o=n.combinator===" "||t?n.combinator:" "+n.combinator+" ",r=n.terms.map(a=>eA(a,i,e,t)).join(o);return n.explicit||e?(t||r[0]===","?"[":"[ ")+r+(t?"]":" ]"):r}function eA(n,i,e,t){let o;switch(n.type){case"Group":o=_fe(n,i,e,t)+(n.disallowEmpty?"!":"");break;case"Multiplier":return eA(n.term,i,e,t)+i(ffe(n),n);case"Type":o="<"+n.name+(n.opts?i(gfe(n.opts),n.opts):"")+">";break;case"Property":o="<'"+n.name+"'>";break;case"Keyword":o=n.name;break;case"AtKeyword":o="@"+n.name;break;case"Function":o=n.name+"(";break;case"String":case"Token":o=n.value;break;case"Comma":o=",";break;default:throw new Error("Unknown node type `"+n.type+"`")}return i(o,n)}function og(n,i){let e=hfe,t=!1,o=!1;return typeof i=="function"?e=i:i&&(t=!!i.forceBraces,o=!!i.compact,typeof i.decorate=="function"&&(e=i.decorate)),eA(n,e,t,o)}var Kz={offset:0,line:1,column:1};function vfe(n,i){let e=n.tokens,t=n.longestMatch,o=t<e.length&&e[t].node||null,r=o!==i?o:null,a=0,c=0,p=0,u="",h,g;for(let S=0;S<e.length;S++){let x=e[S].value;S===t&&(c=x.length,a=u.length),r!==null&&e[S].node===r&&(S<=t?p++:p=0),u+=x}return t===e.length||p>1?(h=WS(r||i,"end")||aC(Kz,u),g=aC(h)):(h=WS(r,"start")||aC(WS(i,"start")||Kz,u.slice(0,a)),g=WS(r,"end")||aC(h,u.substr(a,c))),{css:u,mismatchOffset:a,mismatchLength:c,start:h,end:g}}function WS(n,i){let e=n&&n.loc&&n.loc[i];return e?"line"in e?aC(e):e:null}function aC({offset:n,line:i,column:e},t){let o={offset:n,line:i,column:e};if(t){let r=t.split(/\n|\r\n?|\f/);o.offset+=t.length,o.line+=r.le Line truncated
`));return}let e=this.data.portNameFormat||"Ethernet{0}",t=this.data.portSegmentSize||0,o=this.data.defaultAdapterType||"e1000",r=[];for(let p of this.adapters()){let u;if(t>0){let x=Math.floor(p.adapter_number/t),b=p.adapter_number%t;u=e.replace("{0}",String(x*t+b))}else u=e.replace("{0}",String(p.adapter_number));let h=p.port_name!==u,_=p.adapter_type!==o,S=p.mac_address&&p.mac_address.length>0;(h||_||S)&&r.push({adapter_number:p.adapter_number,port_name:h?p.port_name:u,adapter_type:p.adapter_type,mac_address:p.mac_address||null})}let a=this.adapters().length,c={adapters:r,requiredAdapters:a};this.dialogRef.close(c)}static \u0275fac=function(t){return new(t||n)(ot(gt))};static \u0275cmp=F({type:n,selectors:[["app-custom-adapters"]],inputs:{adapters:[1,"adapters"]},outputs:{adapters:"adaptersChange"},decls:28,vars:0,consts:[["mat-dialog-title",""],["mat-dialog-content","",1,"content"],[1,"adapter-form"],[1,"adapter-header"],[1,"adapter-header-label"],[1,"adapter-header-field"],[1,"adapter-header-actions"],[1,"adapter-item"],[1,"add-adapter-row"],["mat-button","",1,"add-btn",3,"click"],[1,"info-note-text"],["mat-dialog-actions","","align","end"],["mat-button","",3,"click"],["mat-raised-button","","color","primary",3,"click"],[1,"adapter-label"],["appearance","fill","subscriptSizing","dynamic",1,"adapter-field"],["matInput","",3,"input","value","name"],[3,"selectionChange","value","name"],[3,"value"],["matInput","","placeholder","Paste any MAC format",3,"input","value","name"],["mat-icon-button","","matTooltip","Delete",1,"adapter-actions",3,"click"]],template:function(t,o){t&1&&(s(0,"h1",0),d(1,"Custom adapters configuration"),l(),s(2,"div",1)(3,"div",2)(4,"div",3)(5,"span",4),d(6,"Adapter"),l(),s(7,"span",5),d(8,"Port name"),l(),s(9,"span",5),d(10,"Type"),l(),s(11,"span",5),d(12,"MAC address"),l(),R(13,"span",6),l(),Y(14,rse,15,11,"div",7,tse),l(),s(16,"div",8)(17,"button",9),g("click",function(){return o.onAdd()}),s(18,"mat-icon"),d(19,"add"),l(),d(20," Add adapter "),l(),s(21,"div",10),d(22," Deleting an adapter reduces the total number of adapters. Adapter numbers will be renumbered when reopened. Adapters without custom configuration will use default settings. "),l()()(),s(23,"div",11)(24,"button",12),g("click",function(){return o.cancelConfigureCustomAdapters()}),d(25,"Cancel"),l(),s(26,"button",13),g("click",function(){return o.configureCustomAdapters()}),d(27,"Apply"),l()()),t&2&&(m(14),Z(o.adapters()))},dependencies:[W,pe,je,we,Me,fi,ie,de,Se,Ee,vt,At,_t,wt,It,_e,Ne,Fe,bt],styles:["[_nghost-%COMP%]{display:block}.adapter-form[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:12px;max-height:500px;overflow-y:auto}.adapter-item[_ngcontent-%COMP%]{display:grid;grid-template-columns:100px 1fr 2fr 1.5fr auto;gap:12px;align-items:center;padding:12px 16px;background:var(--mat-sys-surface-container-lowest);border-radius:12px;border:1px solid color-mix(in srgb,var(--mat-sys-outline) 15%,transparent)}.adapter-item[_ngcontent-%COMP%]:hover{border-color:color-mix(in srgb,var(--mat-sys-primary) 30%,transparent)}.adapter-label[_ngcontent-%COMP%]{font-size:14px;font-weight:500;color:var(--mat-sys-on-surface);text-align:center}.adapter-header[_ngcontent-%COMP%]{display:grid;grid-template-columns:100px 1fr 2fr 1.5fr auto;gap:12px;align-items:center;padding:8px 16px;margin-bottom:8px;border-bottom:2px solid color-mix(in srgb,var(--mat-sys-outline) 30%,transparent);position:sticky;top:0;z-index:10;background:var(--mat-sys-surface);box-shadow:0 2px 4px color-mix(in srgb,var(--mat-sys-shadow) 10%,transparent)}.adapter-header-label[_ngcontent-%COMP%], .adapter-header-field[_ngcontent-%COMP%]{font-size:13px;font-weight:600;color:var(--mat-sys-on-surface-variant);text-transform:uppercase;letter-spacing:.5px;text-align:center}.adapter-header-actions[_ngcontent-%COMP%]{width:40px;text-align:center}.adapter-field[_ngcontent-%COMP%], .adapter-actions[_ngcontent-%COMP%]{margin:0;text-align:center}.add-btn[_ngcontent-%COMP%]{flex-shrink:0;width:auto;margin-top:12px;height:48px;border-radius:12px;font-size:14px;font-weight:500;text-transform:none;border:2px dashed color-mix(in srgb,var(--mat-sys-outline) 40%,transparent);color:var(--mat-sys-on-surface-variant)}.add-btn[_ngcontent-%COMP%]:hover{border-color:var(--mat-sys-primary);color:var(--mat-sys-primary);background:color-mix(in srgb,var(--mat-sys-primary) 8%,transparent)}"],changeDetection:0})}return n})();var R8=(n,i)=>i[1],Fm=(n,i)=>i.filename,ase=(n,i)=>i.value;function sse(n,i){if(n&1){let e=z();s(0,"button",18),g("click",function(){k(e);let o=v();return T(o.goBack())}),s(1,"mat-icon"),d(2,"arrow_back"),l()()}}function lse(n,i){if(n&1&&(s(0,"mat-option",37),d(1),l()),n&2){let e=i.$implicit;C("value",e[1]),m(),j(e[0])}}function cse(n,i){if(n&1){let e=z();s(0,"mat-chip",47),g("removed",function(){let o=k(e).$implicit,r=v(3);return T(r.removeTag(o))}),d(1),s(2,"mat-icon",48),d(3,"cancel"),l()()}if(n&2){let e=i.$implicit;m(),ee(" ",e," ")}}function dse(n,i){if(n&1&&( Line truncated
`],encapsulation:2})}return n})(),cP=new cn("MatBottomSheetData"),lP=class{viewContainerRef;injector;panelClass;direction;data=null;hasBackdrop=!0;backdropClass;disableClose=!1;ariaLabel=null;ariaModal=!1;closeOnNavigation=!0;autoFocus="first-tabbable";restoreFocus=!0;scrollStrategy;height="";minHeight;maxHeight},Vm=class{_ref;get instance(){return this._ref.componentInstance}get componentRef(){return this._ref.componentRef}containerInstance;disableClose;_afterOpened=new He;_result;_closeFallbackTimeout;constructor(i,e,t){this._ref=i,this.containerInstance=t,this.disableClose=e.disableClose,t._animationStateChanged.pipe(ai(o=>o.phase==="done"&&o.toState==="visible"),Ao(1)).subscribe(()=>{this._afterOpened.next(),this._afterOpened.complete()}),t._animationStateChanged.pipe(ai(o=>o.phase==="done"&&o.toState==="hidden"),Ao(1)).subscribe(()=>{clearTimeout(this._closeFallbackTimeout),this._ref.close(this._result)}),i.overlayRef.detachments().subscribe(()=>{this._ref.close(this._result)}),Hn(this.backdropClick(),this.keydownEvents().pipe(ai(o=>o.keyCode===27))).subscribe(o=>{!this.disableClose&&(o.type!=="keydown"||!fa(o))&&(o.preventDefault(),this.dismiss())})}dismiss(i){this.containerInstance&&(this.containerInstance._animationStateChanged.pipe(ai(e=>e.phase==="start"),Ao(1)).subscribe(()=>{this._closeFallbackTimeout=setTimeout(()=>this._ref.close(this._result),500),this._ref.overlayRef.detachBackdrop()}),this._result=i,this.containerInstance.exit(),this.containerInstance=null)}afterDismissed(){return this._ref.closed}afterOpened(){return this._afterOpened}backdropClick(){return this._ref.backdropClick}keydownEvents(){return this._ref.keydownEvents}},mle=new cn("mat-bottom-sheet-default-options"),Gl=(()=>{class n{_injector=f(Jo);_parentBottomSheet=f(n,{optional:!0,skipSelf:!0});_animationsDisabled=qo();_defaultOptions=f(mle,{optional:!0});_bottomSheetRefAtThisLevel=null;_dialog=f(k4);get _openedBottomSheetRef(){let e=this._parentBottomSheet;return e?e._openedBottomSheetRef:this._bottomSheetRefAtThisLevel}set _openedBottomSheetRef(e){this._parentBottomSheet?this._parentBottomSheet._openedBottomSheetRef=e:this._bottomSheetRefAtThisLevel=e}constructor(){}open(e,t){let o=K(K({},this._defaultOptions||new lP),t),r;return this._dialog.open(e,it(K({},o),{disableClose:!0,closeOnOverlayDetachments:!1,maxWidth:"100%",container:dle,scrollStrategy:o.scrollStrategy||t4(this._injector),positionStrategy:n4(this._injector).centerHorizontally().bottom("0"),disableAnimations:this._animationsDisabled,templateContext:()=>({bottomSheetRef:r}),providers:(a,c,p)=>(r=new Vm(a,o,p),[{provide:Vm,useValue:r},{provide:cP,useValue:o.data}])})),r.afterDismissed().subscribe(()=>{this._openedBottomSheetRef===r&&(this._openedBottomSheetRef=null)}),this._openedBottomSheetRef?(this._openedBottomSheetRef.afterDismissed().subscribe(()=>r.containerInstance?.enter()),this._openedBottomSheetRef.dismiss()):r.containerInstance.enter(),this._openedBottomSheetRef=r,r}dismiss(e){this._openedBottomSheetRef&&this._openedBottomSheetRef.dismiss(e)}ngOnDestroy(){this._bottomSheetRefAtThisLevel&&this._bottomSheetRefAtThisLevel.dismiss()}static \u0275fac=function(t){return new(t||n)};static \u0275prov=J({token:n,factory:n.\u0275fac,providedIn:"root"})}return n})(),Bc=(()=>{class n{static \u0275fac=function(t){return new(t||n)};static \u0275mod=Ht({type:n});static \u0275inj=$t({providers:[Gl],imports:[T4,Wu,hi]})}return n})();var ule=(n,i)=>i==null?null:i.name;function hle(n,i){if(n&1&&(s(0,"mat-option",10),d(1),l()),n&2){let e=i.$implicit;C("value",e),m(),j(e==null?null:e.name)}}function fle(n,i){if(n&1&&(s(0,"mat-option",10),d(1),l()),n&2){let e=i.$implicit;C("value",e),m(),j(e)}}function gle(n,i){if(n&1){let e=z();s(0,"form",1),g("ngSubmit",function(){k(e);let o=v();return T(o.export_project_form.valid&&o.exportPortableProject())}),s(1,"div",2)(2,"h1",3),d(3,"Export Project"),l(),s(4,"button",4),g("click",function(){k(e);let o=v();return T(o.dialogRef.close())}),s(5,"mat-icon"),d(6,"close"),l()()(),R(7,"mat-divider"),s(8,"div",5)(9,"div",6)(10,"span",7),d(11,"Compression:"),l(),s(12,"mat-form-field",8)(13,"mat-select",9),g("selectionChange",function(o){k(e);let r=v();return T(r.selectCompression(o))}),Y(14,hle,2,2,"mat-option",10,ule),l()()(),s(16,"div",6)(17,"span",7),d(18,"Compression level:"),l(),s(19,"mat-form-field",8)(20,"mat-select",11),Y(21,fle,2,2,"mat-option",10,Ae),l()()(),s(23,"div",6)(24,"section",12)(25,"mat-checkbox",13),d(26," Include base images "),l()()(),s(27,"div",6)(28,"section",12)(29,"mat-checkbox",14),d(30," Include snapshots "),l()()(),s(31,"div",6)(32,"section",12)(33,"mat-checkbox",15),d(34," Reset MAC addresses "),l()()()(),R(35,"mat-divider"),s(36,"div",16)(37,"button",17),g("click",function(){k(e);let o=v();return T(o.dialogRef.close())}),d(38,"Cancel"),l(),s(39,"button",18),d(40,"Export"),l()()()}if(n&2){let e=v();C("formGroup",e.export_project_form),m(14),Z(e.compression_methods),m(7),Z(e.compression_filter_value),m(18),C("disab Line truncated
`)}})}var bP=100,OL=60,NL=" ";function FL({source:n,line:i,column:e},t){function o(h,_){return r.slice(h,_).map((S,x)=>String(h+x+1).padStart(p)+" |"+S).join(`
`)}let r=n.split(/\r\n?|\n|\f/),a=Math.max(1,i-t)-1,c=Math.min(i+t,r.length+1),p=Math.max(4,String(c).length)+1,u=0;e+=(NL.length-1)*(r[i-1].substr(0,e-1).match(/\t/g)||[]).length,e>bP&&(u=e-OL+3,e=OL-2);for(let h=a;h<=c;h++)h>=0&&h<r.length&&(r[h]=r[h].replace(/\t/g,NL),r[h]=(u>0&&r[h].length>u?"\u2026":"")+r[h].substr(u,bP-2)+(r[h].length>u+bP-1?"\u2026":""));return[o(a,i),new Array(e+p+2).join("-")+"^",o(i,c)].filter(Boolean).join(`
`)}function xP(n,i,e,t,o){return Object.assign(fu("SyntaxError",n),{source:i,offset:e,line:t,column:o,sourceFragment(a){return FL({source:i,line:t,column:o},isNaN(a)?0:a)},get formattedMessage(){return`Parse error: ${n}
`+FL({source:i,line:t,column:o},2)}})}function RL(n){let i=this.createList(),e=!1,t={recognizer:n};for(;!this.eof;){switch(this.tokenType){case 25:this.next();continue;case 13:e=!0,this.next();continue}let o=n.getNode.call(this,t);if(o===void 0)break;e&&(n.onWhiteSpace&&n.onWhiteSpace.call(this,o,i,t),e=!1),i.push(o)}return e&&n.onWhiteSpace&&n.onWhiteSpace.call(this,null,i,t),i}var LL=()=>{},xce=33,yce=35,yP=59,VL=123,BL=0;function Sce(n){return function(){return this[n]()}}function SP(n){let i=Object.create(null);for(let e in n){let t=n[e],o=t.parse||t;o&&(i[e]=o)}return i}function wce(n){let i={context:Object.create(null),scope:Object.assign(Object.create(null),n.scope),atrule:SP(n.atrule),pseudo:SP(n.pseudo),node:SP(n.node)};for(let e in n.parseContext)switch(typeof n.parseContext[e]){case"function":i.context[e]=n.parseContext[e];break;case"string":i.context[e]=Sce(n.parseContext[e]);break}return K(K({config:i},i),i.node)}function zL(n){let i="",e="<unknown>",t=!1,o=LL,r=!1,a=new Jx,c=Object.assign(new G0,wce(n||{}),{parseAtrulePrelude:!0,parseRulePrelude:!0,parseValue:!0,parseCustomProperty:!1,readSequence:RL,consumeUntilBalanceEnd:()=>0,consumeUntilLeftCurlyBracket(u){return u===VL?1:0},consumeUntilLeftCurlyBracketOrSemicolon(u){return u===VL||u===yP?1:0},consumeUntilExclamationMarkOrSemicolon(u){return u===xce||u===yP?1:0},consumeUntilSemicolonIncluded(u){return u===yP?2:0},createList(){return new Ua},createSingleNodeList(u){return new Ua().appendData(u)},getFirstListNode(u){return u&&u.first},getLastListNode(u){return u&&u.last},parseWithFallback(u,h){let _=this.tokenIndex;try{return u.call(this)}catch(S){if(r)throw S;let x=h.call(this,_);return r=!0,o(S,x),r=!1,x}},lookupNonWSType(u){let h;do if(h=this.lookupType(u++),h!==13)return h;while(h!==BL);return BL},charCodeAt(u){return u>=0&&u<i.length?i.charCodeAt(u):0},substring(u,h){return i.substring(u,h)},substrToCursor(u){return this.source.substring(u,this.tokenStart)},cmpChar(u,h){return Id(i,u,h)},cmpStr(u,h,_){return Ad(i,u,h,_)},consume(u){let h=this.tokenStart;return this.eat(u),this.substrToCursor(h)},consumeFunctionName(){let u=i.substring(this.tokenStart,this.tokenEnd-1);return this.eat(2),u},consumeNumber(u){let h=i.substring(this.tokenStart,hu(i,this.tokenStart));return this.eat(u),h},eat(u){if(this.tokenType!==u){let h=df[u].slice(0,-6).replace(/-/g," ").replace(/^./,x=>x.toUpperCase()),_=`${/[[\](){}]/.test(h)?`"${h}"`:h} is expected`,S=this.tokenStart;switch(u){case 1:this.tokenType===2||this.tokenType===7?(S=this.tokenEnd-1,_="Identifier is expected but function found"):_="Identifier is expected";break;case 4:this.isDelim(yce)&&(this.next(),S++,_="Name is expected");break;case 11:this.tokenType===10&&(S=this.tokenEnd,_="Percent sign is expected");break}this.error(_,S)}this.next()},eatIdent(u){(this.tokenType!==1||this.lookupValue(0,u)===!1)&&this.error(`Identifier "${u}" is expected`),this.next()},eatDelim(u){this.isDelim(u)||this.error(`Delim "${String.fromCharCode(u)}" is expected`),this.next()},getLocation(u,h){return t?a.getLocationRange(u,h,e):null},getLocationFromList(u){if(t){let h=this.getFirstListNode(u),_=this.getLastListNode(u);return a.getLocationRange(h!==null?h.loc.start.offset-a.startOffset:this.tokenStart,_!==null?_.loc.end.offset-a.startOffset:this.tokenStart,e)}return null},error(u,h){let _=typeof h<"u"&&h<i.length?a.getLocation(h):this.eof?a.getLocation(DL(i,i.length-1)):a.getLocation(this.tokenStart);throw new xP(u||"Unexpected input",i,_.offset,_.line,_.column)}});return Object.assign(function(u,h){i=u,h=h||{},c.setSource(i,Um),a.setSource(i,h.offset,h.line,h.column),e=h.filename||"<unknown>",t=!!h.positions,o=typeof h.onParseError=="function"?h.onParseError:LL,r=!1,c.parseAtrulePrelude="parseAtrulePrelude"in h?!!h.parseAtrulePrelude:!0,c.parseRulePrelude="parseRulePrelude"in h?!!h.parseRulePrelude:!0,c.parseValue="parseValue"in h?!!h.parseValue:!0,c.parseCustomProperty="parseCustomProperty"in h?!!h.parseCustomProperty:!1;let{context:_="default",onComment:S}=h;if(!(_ in c.context))throw new Error("Unknown context `"+_+"`");typeof S=="function"&&c.forEachToken((b,M,w)=>{if(b===25){let y=c.getLocation(M,w),E=Ad(i,w-2,w,"*/")?i.slice(M+2,w-2):i.slice(M+2,w);S(E,y)}});let x=c.context[_].call(c,h);return c.eof||c.error(),x},{SyntaxError:xP,config:c.config})}var s7=Bs(r7(),1),a7=new Set(["Atrule","Selector","Declaration"]);function l7(n){let i=new s7.SourceMapGenerator,e={line:1,column:0},t={line:0,column:0},o={line:1,column:0},r={generated:o},a=1,c=0,p=!1,u=n.node;n.node=function(S){if(S.loc&&S.loc.start&&a7.has(S.type)){let x=S.loc.start.line,b=S.loc.start.column-1;(t.line!==x||t.column!==b)&&(t.line=x,t.column=b,e.line=a,e.column=c,p&&(p=!1,(e.line!==o.line||e.column!==o.column)&&i.addMapping(r)),p=!0,i.addMapping({source:S.loc.source,original:t,generated:e}))}u.call(this,S),p&&a7.has(S.type)&&(o.line=a,o.column=c)};let h=n.emit;n.emit=function(S,x,b){for(let M=0;M<S.length;M++)S.charCodeAt(M)===10?(a++,c=0):c++;h(S Line truncated
`,13,!0)},emit(p){o+=p},result(){return o}};t&&(typeof t.decorator=="function"&&(a=t.decorator(a)),t.sourceMap&&(a=l7(a)),t.mode in iy&&(a.tokenBefore=iy[t.mode]));let c={node:p=>a.node(p),children:Qce,token:(p,u)=>a.token(p,u),tokenize:Xce};return a.node(e),a.result()}}function p7(n){return{fromPlainObject(i){return n(i,{enter(e){e.children&&!(e.children instanceof Ua)&&(e.children=new Ua().fromArray(e.children))}}),i},toPlainObject(i){return n(i,{leave(e){e.children&&e.children instanceof Ua&&(e.children=e.children.toArray())}}),i}}}var{hasOwnProperty:AP}=Object.prototype,X0=function(){};function u7(n){return typeof n=="function"?n:X0}function h7(n,i){return function(e,t,o){e.type===i&&n.call(this,e,t,o)}}function Kce(n,i){let e=i.structure,t=[];for(let o in e){if(AP.call(e,o)===!1)continue;let r=e[o],a={name:o,type:!1,nullable:!1};Array.isArray(r)||(r=[r]);for(let c of r)c===null?a.nullable=!0:typeof c=="string"?a.type="node":Array.isArray(c)&&(a.type="list");a.type&&t.push(a)}return t.length?{context:i.walkContext,fields:t}:null}function Yce(n){let i={};for(let e in n.node)if(AP.call(n.node,e)){let t=n.node[e];if(!t.structure)throw new Error("Missed `structure` field in `"+e+"` node type definition");i[e]=Kce(e,t)}return i}function f7(n,i){let e=n.fields.slice(),t=n.context,o=typeof t=="string";return i&&e.reverse(),function(r,a,c,p){let u;o&&(u=a[t],a[t]=r);for(let h of e){let _=r[h.name];if(!h.nullable||_){if(h.type==="list"){if(i?_.reduceRight(p,!1):_.reduce(p,!1))return!0}else if(c(_))return!0}}o&&(a[t]=u)}}function g7({StyleSheet:n,Atrule:i,Rule:e,Block:t,DeclarationList:o}){return{Atrule:{StyleSheet:n,Atrule:i,Rule:e,Block:t},Rule:{StyleSheet:n,Atrule:i,Rule:e,Block:t},Declaration:{StyleSheet:n,Atrule:i,Rule:e,Block:t,DeclarationList:o}}}function _7(n){let i=Yce(n),e={},t={},o=Symbol("break-walk"),r=Symbol("skip-node");for(let u in i)AP.call(i,u)&&i[u]!==null&&(e[u]=f7(i[u],!1),t[u]=f7(i[u],!0));let a=g7(e),c=g7(t),p=function(u,h){function _(y,E,I){let D=S.call(w,y,E,I);return D===o?!0:D===r?!1:!!(b.hasOwnProperty(y.type)&&b[y.type](y,w,_,M)||x.call(w,y,E,I)===o)}let S=X0,x=X0,b=e,M=(y,E,I,D)=>y||_(E,I,D),w={break:o,skip:r,root:u,stylesheet:null,atrule:null,atrulePrelude:null,rule:null,selector:null,block:null,declaration:null,function:null};if(typeof h=="function")S=h;else if(h&&(S=u7(h.enter),x=u7(h.leave),h.reverse&&(b=t),h.visit)){if(a.hasOwnProperty(h.visit))b=h.reverse?c[h.visit]:a[h.visit];else if(!i.hasOwnProperty(h.visit))throw new Error("Bad value `"+h.visit+"` for `visit` option (should be: "+Object.keys(i).sort().join(", ")+")");S=h7(S,h.visit),x=h7(x,h.visit)}if(S===X0&&x===X0)throw new Error("Neither `enter` nor `leave` walker handler is set or both aren't a function");_(u)};return p.break=o,p.skip=r,p.find=function(u,h){let _=null;return p(u,function(S,x,b){if(h.call(this,S,x,b))return _=S,o}),_},p.findLast=function(u,h){let _=null;return p(u,{reverse:!0,enter(S,x,b){if(h.call(this,S,x,b))return _=S,o}}),_},p.findAll=function(u,h){let _=[];return p(u,function(S,x,b){h.call(this,S,x,b)&&_.push(S)}),_},p}function Zce(n){return n}function Jce(n){let{min:i,max:e,comma:t}=n;return i===0&&e===0?t?"#?":"*":i===0&&e===1?"?":i===1&&e===0?t?"#":"+":i===1&&e===1?"":(t?"#":"")+(i===e?"{"+i+"}":"{"+i+","+(e!==0?e:"")+"}")}function ede(n){if(n.type==="Range")return" ["+(n.min===null?"-\u221E":n.min)+","+(n.max===null?"\u221E":n.max)+"]";throw new Error("Unknown node type `"+n.type+"`")}function tde(n,i,e,t){let o=n.combinator===" "||t?n.combinator:" "+n.combinator+" ",r=n.terms.map(a=>OP(a,i,e,t)).join(o);return n.explicit||e?(t||r[0]===","?"[":"[ ")+r+(t?"]":" ]"):r}function OP(n,i,e,t){let o;switch(n.type){case"Group":o=tde(n,i,e,t)+(n.disallowEmpty?"!":"");break;case"Multiplier":return OP(n.term,i,e,t)+i(Jce(n),n);case"Type":o="<"+n.name+(n.opts?i(ede(n.opts),n.opts):"")+">";break;case"Property":o="<'"+n.name+"'>";break;case"Keyword":o=n.name;break;case"AtKeyword":o="@"+n.name;break;case"Function":o=n.name+"(";break;case"String":case"Token":o=n.value;break;case"Comma":o=",";break;default:throw new Error("Unknown node type `"+n.type+"`")}return i(o,n)}function hf(n,i){let e=Zce,t=!1,o=!1;return typeof i=="function"?e=i:i&&(t=!!i.forceBraces,o=!!i.compact,typeof i.decorate=="function"&&(e=i.decorate)),OP(n,e,t,o)}var v7={offset:0,line:1,column:1};function nde(n,i){let e=n.tokens,t=n.longestMatch,o=t<e.length&&e[t].node||null,r=o!==i?o:null,a=0,c=0,p=0,u="",h,_;for(let S=0;S<e.length;S++){let x=e[S].value;S===t&&(c=x.length,a=u.length),r!==null&&e[S].node===r&&(S<=t?p++:p=0),u+=x}return t===e.length||p>1?(h=oy(r||i,"end")||K0(v7,u),_=K0(h)):(h=oy(r,"start")||K0(oy(i,"start")||v7,u.slice(0,a)),_=oy(r,"end")||K0(h,u.substr(a,c))),{css:u,mismatchOffset:a,mismatchLength:c,start:h,end:_}}function oy(n,i){let e=n&&n.loc&&n.loc[i];return e?"line"in e?K0(e):e:null}function K0({offset:n,line:i,column:e},t){let o={offset:n,line:i,column:e};if(t){let r=t.split(/\n|\r\n?|\f/);o.offset+=t.length,o.line+=r.le Line truncated
syntax: `+o.syntax+`
value: `+(r||"<empty string>")+`
--------`+new Array(o.mismatchOffset+1).join("-")+"^",Object.assign(o,p),o.loc={source:e&&e.loc&&e.loc.source||"<unknown>",start:p,end:u},o};var qS=new Map,ag=new Map,QS=45,XS=Cfe,tA=bfe;function KS(n,i){return i=i||0,n.length-i>=2&&n.charCodeAt(i)===QS&&n.charCodeAt(i+1)===QS}function Zz(n,i){if(i=i||0,n.length-i>=3&&n.charCodeAt(i)===QS&&n.charCodeAt(i+1)!==QS){let e=n.indexOf("-",i+2);if(e!==-1)return n.substring(i,e+1)}return""}function Cfe(n){if(qS.has(n))return qS.get(n);let i=n.toLowerCase(),e=qS.get(i);if(e===void 0){let t=KS(i,0),o=t?"":Zz(i,0);e=Object.freeze({basename:i.substr(o.length),name:i,prefix:o,vendor:o,custom:t})}return qS.set(n,e),e}function bfe(n){if(ag.has(n))return ag.get(n);let i=n,e=n[0];e==="/"?e=n[1]==="/"?"//":"/":e!=="_"&&e!=="*"&&e!=="$"&&e!=="#"&&e!=="+"&&e!=="&"&&(e="");let t=KS(i,e.length);if(!t&&(i=i.toLowerCase(),ag.has(i))){let c=ag.get(i);return ag.set(n,c),c}let o=t?"":Zz(i,e.length),r=i.substr(0,e.length+o.length),a=Object.freeze({basename:i.substr(r.length),name:i.substr(e.length),hack:e,vendor:o,prefix:r,custom:t});return ag.set(n,a),a}var YS=["initial","inherit","unset","revert","revert-layer"];var lC=43,dd=45,nA=110,sg=!0,yfe=!1;function oA(n,i){return n!==null&&n.type===9&&n.value.charCodeAt(0)===i}function sC(n,i,e){for(;n!==null&&(n.type===13||n.type===25);)n=e(++i);return i}function yp(n,i,e,t){if(!n)return 0;let o=n.value.charCodeAt(i);if(o===lC||o===dd){if(e)return 0;i++}for(;i<n.value.length;i++)if(!tr(n.value.charCodeAt(i)))return 0;return t+1}function iA(n,i,e){let t=!1,o=sC(n,i,e);if(n=e(o),n===null)return i;if(n.type!==10)if(oA(n,lC)||oA(n,dd)){if(t=!0,o=sC(e(++o),o,e),n=e(o),n===null||n.type!==10)return 0}else return i;if(!t){let r=n.value.charCodeAt(0);if(r!==lC&&r!==dd)return 0}return yp(n,t?0:1,t,o)}function rA(n,i){let e=0;if(!n)return 0;if(n.type===10)return yp(n,0,yfe,e);if(n.type===1&&n.value.charCodeAt(0)===dd){if(!tm(n.value,1,nA))return 0;switch(n.value.length){case 2:return iA(i(++e),e,i);case 3:return n.value.charCodeAt(2)!==dd?0:(e=sC(i(++e),e,i),n=i(e),yp(n,0,sg,e));default:return n.value.charCodeAt(2)!==dd?0:yp(n,3,sg,e)}}else if(n.type===1||oA(n,lC)&&i(e+1).type===1){if(n.type!==1&&(n=i(++e)),n===null||!tm(n.value,0,nA))return 0;switch(n.value.length){case 1:return iA(i(++e),e,i);case 2:return n.value.charCodeAt(1)!==dd?0:(e=sC(i(++e),e,i),n=i(e),yp(n,0,sg,e));default:return n.value.charCodeAt(1)!==dd?0:yp(n,2,sg,e)}}else if(n.type===12){let t=n.value.charCodeAt(0),o=t===lC||t===dd?1:0,r=o;for(;r<n.value.length&&tr(n.value.charCodeAt(r));r++);return r===o||!tm(n.value,r,nA)?0:r+1===n.value.length?iA(i(++e),e,i):n.value.charCodeAt(r+1)!==dd?0:r+2===n.value.length?(e=sC(i(++e),e,i),n=i(e),yp(n,0,sg,e)):yp(n,r+2,sg,e)}return 0}var Sfe=43,Jz=45,e9=63,wfe=117;function aA(n,i){return n!==null&&n.type===9&&n.value.charCodeAt(0)===i}function Mfe(n,i){return n.value.charCodeAt(0)===i}function cC(n,i,e){let t=0;for(let o=i;o<n.value.length;o++){let r=n.value.charCodeAt(o);if(r===Jz&&e&&t!==0)return cC(n,i+t+1,!1),6;if(!ks(r)||++t>6)return 0}return t}function ZS(n,i,e){if(!n)return 0;for(;aA(e(i),e9);){if(++n>6)return 0;i++}return i}function sA(n,i){let e=0;if(n===null||n.type!==1||!tm(n.value,0,wfe)||(n=i(++e),n===null))return 0;if(aA(n,Sfe))return n=i(++e),n===null?0:n.type===1?ZS(cC(n,0,!0),++e,i):aA(n,e9)?ZS(1,++e,i):0;if(n.type===10){let t=cC(n,1,!0);return t===0?0:(n=i(++e),n===null?e:n.type===12||n.type===10?!Mfe(n,Jz)||!cC(n,1,!1)?0:e+1:ZS(t,e,i))}return n.type===12?ZS(cC(n,1,!0),++e,i):0}var kfe=["calc(","-moz-calc(","-webkit-calc("],lA=new Map([[2,22],[21,22],[19,20],[23,24]]);function cc(n,i){return i<n.length?n.charCodeAt(i):0}function t9(n,i){return nm(n,0,n.length,i)}function n9(n,i){for(let e=0;e<i.length;e++)if(t9(n,i[e]))return!0;return!1}function i9(n,i){return i!==n.length-2?!1:cc(n,i)===92&&tr(cc(n,i+1))}function JS(n,i,e){if(n&&n.type==="Range"){let t=Number(e!==void 0&&e!==i.length?i.substr(0,e):i);if(isNaN(t)||n.min!==null&&t<n.min&&typeof n.min!="string"||n.max!==null&&t>n.max&&typeof n.max!="string")return!0}return!1}function Tfe(n,i){let e=0,t=[],o=0;e:do{switch(n.type){case 24:case 22:case 20:if(n.type!==e)break e;if(e=t.pop(),t.length===0){o++;break e}break;case 2:case 21:case 19:case 23:t.push(e),e=lA.get(n.type);break}o++}while(n=i(o));return o}function Rl(n){return function(i,e,t){return i===null?0:i.type===2&&n9(i.value,kfe)?Tfe(i,e):n(i,e,t)}}function No(n){return function(i){return i===null||i.type!==n?0:1}}function Efe(n){if(n===null||n.type!==1)return 0;let i=n.value.toLowerCase();return n9(i,YS)||t9(i,"default")?0:1}function Dfe(n){return n===null||n.type!==1||cc(n.value,0)!==45||cc(n.value,1)!==45?0:1}function Pfe(n){if(n===null||n.type!==4)return 0;let i=n.value.length;if(i!==4&&i!==5&&i!==7&&i!==9)return 0;for(let e=1;e<i;e++)if(!ks(cc(n.value,e)))return 0;return 1}function Ife(n){return n===null||n.type!==4||!Zf(cc(n.value,1),cc(n.value,2),cc(n.value,3))?0:1}function Afe(n,i){if(!n)return 0;let e=0,t=[], Line truncated
--------`+new Array(o.mismatchOffset+1).join("-")+"^",Object.assign(o,p),o.loc={source:e&&e.loc&&e.loc.source||"<unknown>",start:p,end:u},o};var ry=new Map,gf=new Map,ay=45,sy=ide,NP=ode;function ly(n,i){return i=i||0,n.length-i>=2&&n.charCodeAt(i)===ay&&n.charCodeAt(i+1)===ay}function b7(n,i){if(i=i||0,n.length-i>=3&&n.charCodeAt(i)===ay&&n.charCodeAt(i+1)!==ay){let e=n.indexOf("-",i+2);if(e!==-1)return n.substring(i,e+1)}return""}function ide(n){if(ry.has(n))return ry.get(n);let i=n.toLowerCase(),e=ry.get(i);if(e===void 0){let t=ly(i,0),o=t?"":b7(i,0);e=Object.freeze({basename:i.substr(o.length),name:i,prefix:o,vendor:o,custom:t})}return ry.set(n,e),e}function ode(n){if(gf.has(n))return gf.get(n);let i=n,e=n[0];e==="/"?e=n[1]==="/"?"//":"/":e!=="_"&&e!=="*"&&e!=="$"&&e!=="#"&&e!=="+"&&e!=="&"&&(e="");let t=ly(i,e.length);if(!t&&(i=i.toLowerCase(),gf.has(i))){let c=gf.get(i);return gf.set(n,c),c}let o=t?"":b7(i,e.length),r=i.substr(0,e.length+o.length),a=Object.freeze({basename:i.substr(r.length),name:i.substr(e.length),hack:e,vendor:o,prefix:r,custom:t});return gf.set(n,a),a}var cy=["initial","inherit","unset","revert","revert-layer"];var Z0=43,Gc=45,FP=110,_f=!0,ade=!1;function LP(n,i){return n!==null&&n.type===9&&n.value.charCodeAt(0)===i}function Y0(n,i,e){for(;n!==null&&(n.type===13||n.type===25);)n=e(++i);return i}function Gm(n,i,e,t){if(!n)return 0;let o=n.value.charCodeAt(i);if(o===Z0||o===Gc){if(e)return 0;i++}for(;i<n.value.length;i++)if(!Yo(n.value.charCodeAt(i)))return 0;return t+1}function RP(n,i,e){let t=!1,o=Y0(n,i,e);if(n=e(o),n===null)return i;if(n.type!==10)if(LP(n,Z0)||LP(n,Gc)){if(t=!0,o=Y0(e(++o),o,e),n=e(o),n===null||n.type!==10)return 0}else return i;if(!t){let r=n.value.charCodeAt(0);if(r!==Z0&&r!==Gc)return 0}return Gm(n,t?0:1,t,o)}function VP(n,i){let e=0;if(!n)return 0;if(n.type===10)return Gm(n,0,ade,e);if(n.type===1&&n.value.charCodeAt(0)===Gc){if(!Id(n.value,1,FP))return 0;switch(n.value.length){case 2:return RP(i(++e),e,i);case 3:return n.value.charCodeAt(2)!==Gc?0:(e=Y0(i(++e),e,i),n=i(e),Gm(n,0,_f,e));default:return n.value.charCodeAt(2)!==Gc?0:Gm(n,3,_f,e)}}else if(n.type===1||LP(n,Z0)&&i(e+1).type===1){if(n.type!==1&&(n=i(++e)),n===null||!Id(n.value,0,FP))return 0;switch(n.value.length){case 1:return RP(i(++e),e,i);case 2:return n.value.charCodeAt(1)!==Gc?0:(e=Y0(i(++e),e,i),n=i(e),Gm(n,0,_f,e));default:return n.value.charCodeAt(1)!==Gc?0:Gm(n,2,_f,e)}}else if(n.type===12){let t=n.value.charCodeAt(0),o=t===Z0||t===Gc?1:0,r=o;for(;r<n.value.length&&Yo(n.value.charCodeAt(r));r++);return r===o||!Id(n.value,r,FP)?0:r+1===n.value.length?RP(i(++e),e,i):n.value.charCodeAt(r+1)!==Gc?0:r+2===n.value.length?(e=Y0(i(++e),e,i),n=i(e),Gm(n,0,_f,e)):Gm(n,r+2,_f,e)}return 0}var sde=43,x7=45,y7=63,lde=117;function BP(n,i){return n!==null&&n.type===9&&n.value.charCodeAt(0)===i}function cde(n,i){return n.value.charCodeAt(0)===i}function J0(n,i,e){let t=0;for(let o=i;o<n.value.length;o++){let r=n.value.charCodeAt(o);if(r===x7&&e&&t!==0)return J0(n,i+t+1,!1),6;if(!hs(r)||++t>6)return 0}return t}function dy(n,i,e){if(!n)return 0;for(;BP(e(i),y7);){if(++n>6)return 0;i++}return i}function zP(n,i){let e=0;if(n===null||n.type!==1||!Id(n.value,0,lde)||(n=i(++e),n===null))return 0;if(BP(n,sde))return n=i(++e),n===null?0:n.type===1?dy(J0(n,0,!0),++e,i):BP(n,y7)?dy(1,++e,i):0;if(n.type===10){let t=J0(n,1,!0);return t===0?0:(n=i(++e),n===null?e:n.type===12||n.type===10?!cde(n,x7)||!J0(n,1,!1)?0:e+1:dy(t,e,i))}return n.type===12?dy(J0(n,1,!0),++e,i):0}var dde=["calc(","-moz-calc(","-webkit-calc("],jP=new Map([[2,22],[21,22],[19,20],[23,24]]);function ql(n,i){return i<n.length?n.charCodeAt(i):0}function S7(n,i){return Ad(n,0,n.length,i)}function w7(n,i){for(let e=0;e<i.length;e++)if(S7(n,i[e]))return!0;return!1}function M7(n,i){return i!==n.length-2?!1:ql(n,i)===92&&Yo(ql(n,i+1))}function my(n,i,e){if(n&&n.type==="Range"){let t=Number(e!==void 0&&e!==i.length?i.substr(0,e):i);if(isNaN(t)||n.min!==null&&t<n.min&&typeof n.min!="string"||n.max!==null&&t>n.max&&typeof n.max!="string")return!0}return!1}function mde(n,i){let e=0,t=[],o=0;e:do{switch(n.type){case 24:case 22:case 20:if(n.type!==e)break e;if(e=t.pop(),t.length===0){o++;break e}break;case 2:case 21:case 19:case 23:t.push(e),e=jP.get(n.type);break}o++}while(n=i(o));return o}function bl(n){return function(i,e,t){return i===null?0:i.type===2&&w7(i.value,dde)?mde(i,e):n(i,e,t)}}function Po(n){return function(i){return i===null||i.type!==n?0:1}}function pde(n){if(n===null||n.type!==1)return 0;let i=n.value.toLowerCase();return w7(i,cy)||S7(i,"default")?0:1}function ude(n){return n===null||n.type!==1||ql(n.value,0)!==45||ql(n.value,1)!==45?0:1}function hde(n){if(n===null||n.type!==4)return 0;let i=n.value.length;if(i!==4&&i!==5&&i!==7&&i!==9)return 0;for(let e=1;e<i;e++)if(!hs(ql(n.value,e)))return 0;return 1}function fde(n){return n===null||n.type!==4||!lf(ql(n.value,1),ql(n.value,2),ql(n.value,3))?0:1}function gde(n,i){if(!n)return 0;let e=0,t=[], Line truncated
`+i+`
--`+new Array((e||i.length)+1).join("-")+"^"})}var Qfe=9,Xfe=10,Kfe=12,Yfe=13,Zfe=32,tw=class{constructor(i){this.str=i,this.pos=0}charCodeAt(i){return i<this.str.length?this.str.charCodeAt(i):0}charCode(){return this.charCodeAt(this.pos)}nextCharCode(){return this.charCodeAt(this.pos+1)}nextNonWsCode(i){return this.charCodeAt(this.findWsEnd(i))}findWsEnd(i){for(;i<this.str.length;i++){let e=this.str.charCodeAt(i);if(e!==Yfe&&e!==Xfe&&e!==Kfe&&e!==Zfe&&e!==Qfe)break}return i}substringToPos(i){return this.str.substring(this.pos,this.pos=i)}eat(i){this.charCode()!==i&&this.error("Expect `"+String.fromCharCode(i)+"`"),this.pos++}peek(){return this.pos<this.str.length?this.str.charAt(this.pos++):""}error(i){throw new cA(i,this.str,this.pos)}};var Jfe=9,ege=10,tge=12,nge=13,ige=32,u9=33,pA=35,a9=38,nw=39,h9=40,oge=41,f9=42,uA=43,hA=44,s9=45,fA=60,g9=62,mA=63,rge=64,aw=91,gA=93,iw=123,l9=124,c9=125,d9=8734,dC=new Uint8Array(128).map((n,i)=>/[a-zA-Z0-9\-]/.test(String.fromCharCode(i))?1:0),m9={" ":1,"&&":2,"||":3,"|":4};function ow(n){return n.substringToPos(n.findWsEnd(n.pos))}function lg(n){let i=n.pos;for(;i<n.str.length;i++){let e=n.str.charCodeAt(i);if(e>=128||dC[e]===0)break}return n.pos===i&&n.error("Expect a keyword"),n.substringToPos(i)}function rw(n){let i=n.pos;for(;i<n.str.length;i++){let e=n.str.charCodeAt(i);if(e<48||e>57)break}return n.pos===i&&n.error("Expect a number"),n.substringToPos(i)}function age(n){let i=n.str.indexOf("'",n.pos+1);return i===-1&&(n.pos=n.str.length,n.error("Expect an apostrophe")),n.substringToPos(i+1)}function p9(n){let i=null,e=null;return n.eat(iw),i=rw(n),n.charCode()===hA?(n.pos++,n.charCode()!==c9&&(e=rw(n))):e=i,n.eat(c9),{min:Number(i),max:e?Number(e):0}}function sge(n){let i=null,e=!1;switch(n.charCode()){case f9:n.pos++,i={min:0,max:0};break;case uA:n.pos++,i={min:1,max:0};break;case mA:n.pos++,i={min:0,max:1};break;case pA:n.pos++,e=!0,n.charCode()===iw?i=p9(n):n.charCode()===mA?(n.pos++,i={min:0,max:0}):i={min:1,max:0};break;case iw:i=p9(n);break;default:return null}return{type:"Multiplier",comma:e,min:i.min,max:i.max,term:null}}function cg(n,i){let e=sge(n);return e!==null?(e.term=i,n.charCode()===pA&&n.charCodeAt(n.pos-1)===uA?cg(n,e):e):i}function dA(n){let i=n.peek();return i===""?null:{type:"Token",value:i}}function lge(n){let i;return n.eat(fA),n.eat(nw),i=lg(n),n.eat(nw),n.eat(g9),cg(n,{type:"Property",name:i})}function cge(n){let i=null,e=null,t=1;return n.eat(aw),n.charCode()===s9&&(n.peek(),t=-1),t==-1&&n.charCode()===d9?n.peek():(i=t*Number(rw(n)),dC[n.charCode()]!==0&&(i+=lg(n))),ow(n),n.eat(hA),ow(n),n.charCode()===d9?n.peek():(t=1,n.charCode()===s9&&(n.peek(),t=-1),e=t*Number(rw(n)),dC[n.charCode()]!==0&&(e+=lg(n))),n.eat(gA),{type:"Range",min:i,max:e}}function dge(n){let i,e=null;return n.eat(fA),i=lg(n),n.charCode()===h9&&n.nextCharCode()===oge&&(n.pos+=2,i+="()"),n.charCodeAt(n.findWsEnd(n.pos))===aw&&(ow(n),e=cge(n)),n.eat(g9),cg(n,{type:"Type",name:i,opts:e})}function mge(n){let i=lg(n);return n.charCode()===h9?(n.pos++,{type:"Function",name:i}):cg(n,{type:"Keyword",name:i})}function pge(n,i){function e(o,r){return{type:"Group",terms:o,combinator:r,disallowEmpty:!1,explicit:!1}}let t;for(i=Object.keys(i).sort((o,r)=>m9[o]-m9[r]);i.length>0;){t=i.shift();let o=0,r=0;for(;o<n.length;o++){let a=n[o];a.type==="Combinator"&&(a.value===t?(r===-1&&(r=o-1),n.splice(o,1),o--):(r!==-1&&o-r>1&&(n.splice(r,o-r,e(n.slice(r,o),t)),o=r+1),r=-1))}r!==-1&&i.length&&n.splice(r,o-r,e(n.slice(r,o),t))}return t}function _9(n){let i=[],e={},t,o=null,r=n.pos;for(;t=hge(n);)t.type!=="Spaces"&&(t.type==="Combinator"?((o===null||o.type==="Combinator")&&(n.pos=r,n.error("Unexpected combinator")),e[t.value]=!0):o!==null&&o.type!=="Combinator"&&(e[" "]=!0,i.push({type:"Combinator",value:" "})),i.push(t),o=t,r=n.pos);return o!==null&&o.type==="Combinator"&&(n.pos-=r,n.error("Unexpected combinator")),{type:"Group",terms:i,combinator:pge(i,e)||" ",disallowEmpty:!1,explicit:!1}}function uge(n){let i;return n.eat(aw),i=_9(n),n.eat(gA),i.explicit=!0,n.charCode()===u9&&(n.pos++,i.disallowEmpty=!0),i}function hge(n){let i=n.charCode();if(i<128&&dC[i]===1)return mge(n);switch(i){case gA:break;case aw:return cg(n,uge(n));case fA:return n.nextCharCode()===nw?lge(n):dge(n);case l9:return{type:"Combinator",value:n.substringToPos(n.pos+(n.nextCharCode()===l9?2:1))};case a9:return n.pos++,n.eat(a9),{type:"Combinator",value:"&&"};case hA:return n.pos++,{type:"Comma"};case nw:return cg(n,{type:"String",value:age(n)});case ige:case Jfe:case ege:case nge:case tge:return{type:"Spaces",value:ow(n)};case rge:return i=n.nextCharCode(),i<128&&dC[i]===1?(n.pos++,{type:"AtKeyword",name:lg(n)}):dA(n);case f9:case uA:case mA:case pA:case u9:break;case iw:if(i=n.nextCharCode(),i<48||i>57)return dA(n);break;default:return dA(n)}}function mC(n){let i=new tw(n),e=_9(i);return i.pos!==n.length&&i.error("Unexpected input"),e.terms.length===1&&e.terms[0].type==="Group"?e.terms[0]:e}var pC=function(){};func Line truncated
`))},styles:[".temporaryElement[_ngcontent-%COMP%]{padding-left:4px;width:fit-content;position:absolute;z-index:99;font-family:Noto Sans;font-size:11pt;font-weight:700;color:var(--mat-app-on-surface-color);vertical-align:top;line-height:1.2;transform-origin:top left}"],changeDetection:0})}return n})();var X$=(()=>{class n{svg=se(void 0);mapListener;drawingSelected;drawingsEventSource=f(Qo);context=f(Ao);ngOnInit(){this.drawingSelected=this.drawingsEventSource.selected.subscribe(e=>{e===""?this.deactivate():this.activate()})}activate(){let e=t=>{let o=(t.pageX-(this.context.getZeroZeroTransformationPoint().x+this.context.transformation.x))/this.context.transformation.k,r=(t.pageY-(this.context.getZeroZeroTransformationPoint().y+this.context.transformation.y))/this.context.transformation.k;this.drawingsEventSource.pointToAddSelected.emit(new Xw(o,r)),this.deactivate()};this.deactivate(),this.mapListener=e,this.svg().addEventListener("click",this.mapListener)}deactivate(){this.svg().removeEventListener("click",this.mapListener)}ngOnDestroy(){this.drawingSelected.unsubscribe()}static \u0275fac=function(t){return new(t||n)};static \u0275cmp=F({type:n,selectors:[["app-drawing-adding"]],inputs:{svg:[1,"svg"]},decls:0,vars:0,template:function(t,o){},encapsulation:2,changeDetection:0})}return n})();var Ii=(()=>{class n extends xm{getItemKey(e){return e.drawing_id}static \u0275fac=(()=>{let e;return function(o){return(e||(e=Mi(n)))(o||n)}})();static \u0275prov=K({token:n,factory:n.\u0275fac})}return n})();var Vi=(()=>{class n{httpController;svgToDrawingConverter;constructor(e,t){this.httpController=e,this.svgToDrawingConverter=t}add(e,t,o,r,a){return this.httpController.post(e,`/projects/${t}/drawings`,{svg:a,x:Math.round(o),y:Math.round(r),z:1})}duplicate(e,t,o){return this.httpController.post(e,`/projects/${t}/drawings`,{svg:o.svg,rotation:o.rotation,x:o.x+10,y:o.y+10,z:o.z})}updatePosition(e,t,o,r,a){let c=Math.round(r),p=Math.round(a);return t.snap_to_grid&&(o.element=this.svgToDrawingConverter.convert(o.svg),c=Math.round((c+o.element.width/2)/t.drawing_grid_size)*t.drawing_grid_size,p=Math.round((p+o.element.height/2)/t.drawing_grid_size)*t.drawing_grid_size,c=Math.round(c-o.element.width/2),p=Math.round(p-o.element.height/2)),this.httpController.put(e,`/projects/${o.project_id}/drawings/${o.drawing_id}`,{x:c,y:p})}updateSizeAndPosition(e,t,o,r,a){return this.httpController.put(e,`/projects/${t.project_id}/drawings/${t.drawing_id}`,{svg:a,x:Math.round(o),y:Math.round(r)})}updateText(e,t,o){return this.httpController.put(e,`/projects/${t.project_id}/drawings/${t.drawing_id}`,{svg:o,x:Math.round(t.x),y:Math.round(t.y),z:t.z})}update(e,t){return this.httpController.put(e,`/projects/${t.project_id}/drawings/${t.drawing_id}`,{locked:t.locked,svg:t.svg,rotation:t.rotation,x:Math.round(t.x),y:Math.round(t.y),z:t.z})}delete(e,t){return this.httpController.delete(e,`/projects/${t.project_id}/drawings/${t.drawing_id}`)}lockAllNodes(e,t){return this.httpController.post(e,`/projects/${t.project_id}/lock`,{})}unLockAllNodes(e,t){return this.httpController.post(e,`/projects/${t.project_id}/unlock`,{})}static \u0275fac=function(t){return new(t||n)(ge(fn),ge(Lp))};static \u0275prov=K({token:n,factory:n.\u0275fac})}return n})();var K$=(()=>{class n{svg=se(void 0);controller=se(void 0);project=se(void 0);isDrawing=!1;points=[];drawingSelected;svgSelection;canvasGroup;previewPath;drawingsEventSource=f(Qo);context=f(Ao);drawingsDataSource=f(Ii);drawingService=f(Vi);toolsService=f(Al);ngOnInit(){this.svgSelection=Kt(this.svg()),this.canvasGroup=this.svgSelection.select("g.canvas"),this.drawingSelected=this.drawingsEventSource.selected.subscribe(e=>{e==="curve"?this.activate():this.deactivate()})}activate(){let e=this;this.toolsService.selectionToolActivation(!1);let t=a=>{a.preventDefault(),a.stopPropagation();let c=e.getCanvasCoordinates(a);e.isDrawing=!0,e.points=[{x:c[0],y:c[1]}],e.createPreviewPath(),document.addEventListener("mousemove",o,{passive:!1}),document.addEventListener("mouseup",r,{passive:!1})},o=a=>{if(!e.isDrawing)return;a.preventDefault();let c=e.getCanvasCoordinates(a);e.points.push({x:c[0],y:c[1]}),e.updatePreviewPath()},r=a=>{e.isDrawing&&(a.preventDefault(),e.isDrawing=!1,document.removeEventListener("mousemove",o),document.removeEventListener("mouseup",r),e.points.length>1&&e.createCurveDrawing(),e.removePreviewPath(),e.drawingsEventSource.drawingCompleted.emit("curve"))};this.svg()._curveDrawingListener=t,this.svg().addEventListener("mousedown",t)}deactivate(){this.toolsService.selectionToolActivation(!0);let e=this.svg()._curveDrawingListener;e&&(this.svg().removeEventListener("mousedown",e),delete this.svg()._curveDrawingListener),this.removePreviewPath(),this.isDrawing=!1,this.points=[]}getCanvasCoordinates(e){let t=this.canvasGroup.node(),o=this.context.transformation,r=this.context.getZeroZeroTransformationPoint(),a=(e.pageX-(r.x+o.x))/o.k,c=(e.pageY-(r.y+o.y))/o.k;return[a,c]}createPreviewPath(){this.c Line truncated
--`+new Array((e||i.length)+1).join("-")+"^"})}var Ade=9,Ode=10,Nde=12,Fde=13,Rde=32,uy=class{constructor(i){this.str=i,this.pos=0}charCodeAt(i){return i<this.str.length?this.str.charCodeAt(i):0}charCode(){return this.charCodeAt(this.pos)}nextCharCode(){return this.charCodeAt(this.pos+1)}nextNonWsCode(i){return this.charCodeAt(this.findWsEnd(i))}findWsEnd(i){for(;i<this.str.length;i++){let e=this.str.charCodeAt(i);if(e!==Fde&&e!==Ode&&e!==Nde&&e!==Rde&&e!==Ade)break}return i}substringToPos(i){return this.str.substring(this.pos,this.pos=i)}eat(i){this.charCode()!==i&&this.error("Expect `"+String.fromCharCode(i)+"`"),this.pos++}peek(){return this.pos<this.str.length?this.str.charAt(this.pos++):""}error(i){throw new $P(i,this.str,this.pos)}};var Lde=9,Vde=10,Bde=12,zde=13,jde=32,F7=33,GP=35,E7=38,hy=39,R7=40,$de=41,L7=42,WP=43,qP=44,D7=45,QP=60,V7=62,UP=63,Hde=64,vy=91,XP=93,fy=123,P7=124,I7=125,A7=8734,ev=new Uint8Array(128).map((n,i)=>/[a-zA-Z0-9\-]/.test(String.fromCharCode(i))?1:0),O7={" ":1,"&&":2,"||":3,"|":4};function gy(n){return n.substringToPos(n.findWsEnd(n.pos))}function vf(n){let i=n.pos;for(;i<n.str.length;i++){let e=n.str.charCodeAt(i);if(e>=128||ev[e]===0)break}return n.pos===i&&n.error("Expect a keyword"),n.substringToPos(i)}function _y(n){let i=n.pos;for(;i<n.str.length;i++){let e=n.str.charCodeAt(i);if(e<48||e>57)break}return n.pos===i&&n.error("Expect a number"),n.substringToPos(i)}function Ude(n){let i=n.str.indexOf("'",n.pos+1);return i===-1&&(n.pos=n.str.length,n.error("Expect an apostrophe")),n.substringToPos(i+1)}function N7(n){let i=null,e=null;return n.eat(fy),i=_y(n),n.charCode()===qP?(n.pos++,n.charCode()!==I7&&(e=_y(n))):e=i,n.eat(I7),{min:Number(i),max:e?Number(e):0}}function Gde(n){let i=null,e=!1;switch(n.charCode()){case L7:n.pos++,i={min:0,max:0};break;case WP:n.pos++,i={min:1,max:0};break;case UP:n.pos++,i={min:0,max:1};break;case GP:n.pos++,e=!0,n.charCode()===fy?i=N7(n):n.charCode()===UP?(n.pos++,i={min:0,max:0}):i={min:1,max:0};break;case fy:i=N7(n);break;default:return null}return{type:"Multiplier",comma:e,min:i.min,max:i.max,term:null}}function Cf(n,i){let e=Gde(n);return e!==null?(e.term=i,n.charCode()===GP&&n.charCodeAt(n.pos-1)===WP?Cf(n,e):e):i}function HP(n){let i=n.peek();return i===""?null:{type:"Token",value:i}}function Wde(n){let i;return n.eat(QP),n.eat(hy),i=vf(n),n.eat(hy),n.eat(V7),Cf(n,{type:"Property",name:i})}function qde(n){let i=null,e=null,t=1;return n.eat(vy),n.charCode()===D7&&(n.peek(),t=-1),t==-1&&n.charCode()===A7?n.peek():(i=t*Number(_y(n)),ev[n.charCode()]!==0&&(i+=vf(n))),gy(n),n.eat(qP),gy(n),n.charCode()===A7?n.peek():(t=1,n.charCode()===D7&&(n.peek(),t=-1),e=t*Number(_y(n)),ev[n.charCode()]!==0&&(e+=vf(n))),n.eat(XP),{type:"Range",min:i,max:e}}function Qde(n){let i,e=null;return n.eat(QP),i=vf(n),n.charCode()===R7&&n.nextCharCode()===$de&&(n.pos+=2,i+="()"),n.charCodeAt(n.findWsEnd(n.pos))===vy&&(gy(n),e=qde(n)),n.eat(V7),Cf(n,{type:"Type",name:i,opts:e})}function Xde(n){let i=vf(n);return n.charCode()===R7?(n.pos++,{type:"Function",name:i}):Cf(n,{type:"Keyword",name:i})}function Kde(n,i){function e(o,r){return{type:"Group",terms:o,combinator:r,disallowEmpty:!1,explicit:!1}}let t;for(i=Object.keys(i).sort((o,r)=>O7[o]-O7[r]);i.length>0;){t=i.shift();let o=0,r=0;for(;o<n.length;o++){let a=n[o];a.type==="Combinator"&&(a.value===t?(r===-1&&(r=o-1),n.splice(o,1),o--):(r!==-1&&o-r>1&&(n.splice(r,o-r,e(n.slice(r,o),t)),o=r+1),r=-1))}r!==-1&&i.length&&n.splice(r,o-r,e(n.slice(r,o),t))}return t}function B7(n){let i=[],e={},t,o=null,r=n.pos;for(;t=Zde(n);)t.type!=="Spaces"&&(t.type==="Combinator"?((o===null||o.type==="Combinator")&&(n.pos=r,n.error("Unexpected combinator")),e[t.value]=!0):o!==null&&o.type!=="Combinator"&&(e[" "]=!0,i.push({type:"Combinator",value:" "})),i.push(t),o=t,r=n.pos);return o!==null&&o.type==="Combinator"&&(n.pos-=r,n.error("Unexpected combinator")),{type:"Group",terms:i,combinator:Kde(i,e)||" ",disallowEmpty:!1,explicit:!1}}function Yde(n){let i;return n.eat(vy),i=B7(n),n.eat(XP),i.explicit=!0,n.charCode()===F7&&(n.pos++,i.disallowEmpty=!0),i}function Zde(n){let i=n.charCode();if(i<128&&ev[i]===1)return Xde(n);switch(i){case XP:break;case vy:return Cf(n,Yde(n));case QP:return n.nextCharCode()===hy?Wde(n):Qde(n);case P7:return{type:"Combinator",value:n.substringToPos(n.pos+(n.nextCharCode()===P7?2:1))};case E7:return n.pos++,n.eat(E7),{type:"Combinator",value:"&&"};case qP:return n.pos++,{type:"Comma"};case hy:return Cf(n,{type:"String",value:Ude(n)});case jde:case Lde:case Vde:case zde:case Bde:return{type:"Spaces",value:gy(n)};case Hde:return i=n.nextCharCode(),i<128&&ev[i]===1?(n.pos++,{type:"AtKeyword",name:vf(n)}):HP(n);case L7:case WP:case UP:case GP:case F7:break;case fy:if(i=n.nextCharCode(),i<48||i>57)return HP(n);break;default:return HP(n)}}function tv(n){let i=new uy(n),e=B7(i);return i.pos!==n.length&&i.error("Unexpected input"),e.terms.length===1&&e.terms[0].type==="Group"?e.terms[0]:e}var nv=function(){};func Line truncated
`))},styles:[".temporaryElement[_ngcontent-%COMP%]{padding-left:4px;width:fit-content;position:absolute;z-index:99;font-family:Noto Sans;font-size:11pt;font-weight:700;color:var(--mat-app-on-surface-color);vertical-align:top;line-height:1.2;transform-origin:top left}"],changeDetection:0})}return n})();var _z=(()=>{class n{svg=le(void 0);mapListener;drawingSelected;drawingsEventSource=f(Uo);context=f(Eo);ngOnInit(){this.drawingSelected=this.drawingsEventSource.selected.subscribe(e=>{e===""?this.deactivate():this.activate()})}activate(){let e=t=>{let o=(t.pageX-(this.context.getZeroZeroTransformationPoint().x+this.context.transformation.x))/this.context.transformation.k,r=(t.pageY-(this.context.getZeroZeroTransformationPoint().y+this.context.transformation.y))/this.context.transformation.k;this.drawingsEventSource.pointToAddSelected.emit(new sS(o,r)),this.deactivate()};this.deactivate(),this.mapListener=e,this.svg().addEventListener("click",this.mapListener)}deactivate(){this.svg().removeEventListener("click",this.mapListener)}ngOnDestroy(){this.drawingSelected.unsubscribe()}static \u0275fac=function(t){return new(t||n)};static \u0275cmp=F({type:n,selectors:[["app-drawing-adding"]],inputs:{svg:[1,"svg"]},decls:0,vars:0,template:function(t,o){},encapsulation:2,changeDetection:0})}return n})();var Ei=(()=>{class n extends Qd{getItemKey(e){return e.drawing_id}static \u0275fac=(()=>{let e;return function(o){return(e||(e=Pi(n)))(o||n)}})();static \u0275prov=J({token:n,factory:n.\u0275fac})}return n})();var Ri=(()=>{class n{httpController;svgToDrawingConverter;constructor(e,t){this.httpController=e,this.svgToDrawingConverter=t}add(e,t,o,r,a){return this.httpController.post(e,`/projects/${t}/drawings`,{svg:a,x:Math.round(o),y:Math.round(r),z:1})}duplicate(e,t,o){return this.httpController.post(e,`/projects/${t}/drawings`,{svg:o.svg,rotation:o.rotation,x:o.x+10,y:o.y+10,z:o.z})}updatePosition(e,t,o,r,a){let c=Math.round(r),p=Math.round(a);return t.snap_to_grid&&(o.element=this.svgToDrawingConverter.convert(o.svg),c=Math.round((c+o.element.width/2)/t.drawing_grid_size)*t.drawing_grid_size,p=Math.round((p+o.element.height/2)/t.drawing_grid_size)*t.drawing_grid_size,c=Math.round(c-o.element.width/2),p=Math.round(p-o.element.height/2)),this.httpController.put(e,`/projects/${o.project_id}/drawings/${o.drawing_id}`,{x:c,y:p})}updateSizeAndPosition(e,t,o,r,a){return this.httpController.put(e,`/projects/${t.project_id}/drawings/${t.drawing_id}`,{svg:a,x:Math.round(o),y:Math.round(r)})}updateText(e,t,o){return this.httpController.put(e,`/projects/${t.project_id}/drawings/${t.drawing_id}`,{svg:o,x:Math.round(t.x),y:Math.round(t.y),z:t.z})}update(e,t){return this.httpController.put(e,`/projects/${t.project_id}/drawings/${t.drawing_id}`,{locked:t.locked,svg:t.svg,rotation:t.rotation,x:Math.round(t.x),y:Math.round(t.y),z:t.z})}delete(e,t){return this.httpController.delete(e,`/projects/${t.project_id}/drawings/${t.drawing_id}`)}lockAllNodes(e,t){return this.httpController.post(e,`/projects/${t.project_id}/lock`,{})}unLockAllNodes(e,t){return this.httpController.post(e,`/projects/${t.project_id}/unlock`,{})}static \u0275fac=function(t){return new(t||n)(ge(mn),ge(ap))};static \u0275prov=J({token:n,factory:n.\u0275fac})}return n})();var vz=(()=>{class n{svg=le(void 0);controller=le(void 0);project=le(void 0);isDrawing=!1;points=[];drawingSelected;svgSelection;canvasGroup;previewPath;drawingsEventSource=f(Uo);context=f(Eo);drawingsDataSource=f(Ei);drawingService=f(Ri);toolsService=f(gl);ngOnInit(){this.svgSelection=Wt(this.svg()),this.canvasGroup=this.svgSelection.select("g.canvas"),this.drawingSelected=this.drawingsEventSource.selected.subscribe(e=>{e==="curve"?this.activate():this.deactivate()})}activate(){let e=this;this.toolsService.selectionToolActivation(!1);let t=a=>{a.preventDefault(),a.stopPropagation();let c=e.getCanvasCoordinates(a);e.isDrawing=!0,e.points=[{x:c[0],y:c[1]}],e.createPreviewPath(),document.addEventListener("mousemove",o,{passive:!1}),document.addEventListener("mouseup",r,{passive:!1})},o=a=>{if(!e.isDrawing)return;a.preventDefault();let c=e.getCanvasCoordinates(a);e.points.push({x:c[0],y:c[1]}),e.updatePreviewPath()},r=a=>{e.isDrawing&&(a.preventDefault(),e.isDrawing=!1,document.removeEventListener("mousemove",o),document.removeEventListener("mouseup",r),e.points.length>1&&e.createCurveDrawing(),e.removePreviewPath(),e.drawingsEventSource.drawingCompleted.emit("curve"))};this.svg()._curveDrawingListener=t,this.svg().addEventListener("mousedown",t)}deactivate(){this.toolsService.selectionToolActivation(!0);let e=this.svg()._curveDrawingListener;e&&(this.svg().removeEventListener("mousedown",e),delete this.svg()._curveDrawingListener),this.removePreviewPath(),this.isDrawing=!1,this.points=[]}getCanvasCoordinates(e){let t=this.canvasGroup.node(),o=this.context.transformation,r=this.context.getZeroZeroTransformationPoint(),a=(e.pageX-(r.x+o.x))/o.k,c=(e.pageY-(r.y+o.y))/o.k;return[a,c]}createPreviewPath(){this.c Line truncated
<path d="${t}" stroke="${e.stroke}" stroke-width="${e.stroke_width}"
fill="none" stroke-dasharray="${e.stroke_dasharray}"
data-curve-type="none"
data-arrow-start="${e.arrow_start}"
data-arrow-end="${e.arrow_end}" />
</svg>`}ngOnDestroy(){this.deactivate(),this.drawingSelected.unsubscribe()}static \u0275fac=function(t){return new(t||n)};static \u0275cmp=F({type:n,selectors:[["app-curve-drawing"]],inputs:{svg:[1,"svg"],controller:[1,"controller"],project:[1,"project"]},decls:0,vars:0,template:function(t,o){},encapsulation:2,changeDetection:0})}return n})();var Abe=["*"],Y$=(()=>{class n{resizingFinished;drawingsWidget=f(_d);drawingsEventSource=f(Qo);ngOnInit(){this.resizingFinished=this.drawingsWidget.resizingFinished.subscribe(e=>{this.drawingsEventSource.resized.emit(new Qw(e.datum,e.x,e.y,e.width,e.height,e.rotation))})}ngOnDestroy(){this.resizingFinished.unsubscribe()}static \u0275fac=function(t){return new(t||n)};static \u0275cmp=F({type:n,selectors:[["app-drawing-resizing"]],ngContentSelectors:Abe,decls:1,vars:0,template:function(t,o){t&1&&(si(),sn(0))},encapsulation:2,changeDetection:0})}return n})();var C2=(()=>{class n{inRectangle(e,t,o){return e.x<=t&&t<e.x+e.width&&e.y<=o&&o<e.y+e.height}static \u0275fac=function(t){return new(t||n)};static \u0275prov=K({token:n,factory:n.\u0275fac})}return n})();var Z$=(()=>{class n{onSelection;selectionEventSource=f(kg);graphDataManager=f(kp);inRectangleHelper=f(C2);selectionManager=f(qo);cd=f(X);ngOnInit(){this.onSelection=this.selectionEventSource.selected.subscribe(e=>{let t=this.graphDataManager.getNodes().filter(g=>this.inRectangleHelper.inRectangle(e,g.x,g.y)),o=this.graphDataManager.getLinks().filter(g=>this.inRectangleHelper.inRectangle(e,g.x,g.y)),r=this.graphDataManager.getDrawings().filter(g=>this.inRectangleHelper.inRectangle(e,g.x,g.y)),a=this.graphDataManager.getNodes().filter(g=>{if(g.label===void 0)return!1;let S=g.x+g.label.x,x=g.y+g.label.y;return this.inRectangleHelper.inRectangle(e,S,x)}).map(g=>g.label),c=this.graphDataManager.getLinks().filter(g=>{if(g.source===void 0||g.nodes.length!=2||g.nodes[0].label===void 0)return!1;let S=g.source.x+g.nodes[0].label.x,x=g.source.y+g.nodes[0].label.y;return this.inRectangleHelper.inRectangle(e,S,x)}).map(g=>g.nodes[0]),p=this.graphDataManager.getLinks().filter(g=>{if(g.target===void 0||g.nodes.length!=2||g.nodes[1].label===void 0)return!1;let S=g.target.x+g.nodes[1].label.x,x=g.target.y+g.nodes[1].label.y;return this.inRectangleHelper.inRectangle(e,S,x)}).map(g=>g.nodes[1]),u=[...c,...p],h=[...t,...o,...r,...a,...u];this.selectionManager.setSelected(h),this.cd.markForCheck()})}ngOnDestroy(){this.onSelection.unsubscribe()}static \u0275fac=function(t){return new(t||n)};static \u0275cmp=F({type:n,selectors:[["app-selection-control"]],decls:0,vars:0,template:function(t,o){},encapsulation:2,changeDetection:0})}return n})();var J$=(()=>{class n{onSelected;onUnselected;selectionManager=f(qo);mapChangeDetectorRef=f(Tp);ngOnInit(){this.onSelected=this.selectionManager.selected.subscribe(()=>{this.mapChangeDetectorRef.detectSelectionChanges()}),this.onUnselected=this.selectionManager.unselected.subscribe(()=>{this.mapChangeDetectorRef.detectSelectionChanges()})}ngOnDestroy(){this.onSelected.unsubscribe(),this.onUnselected.unsubscribe()}static \u0275fac=function(t){return new(t||n)};static \u0275cmp=F({type:n,selectors:[["app-selection-select"]],decls:0,vars:0,template:function(t,o){},encapsulation:2,changeDetection:0})}return n})();var eH=(()=>{class n{start;drag;end;mapSettingsSubscription;isMapLocked=!1;svg;nodesWidget=f(Fp);drawingsWidget=f(_d);linksWidget=f(Rp);labelWidget=f(Np);interfaceWidget=f(hd);selectionManager=f(qo);nodesEventSource=f(jl);drawingsEventSource=f(Qo);graphDataManager=f(kp);linksEventSource=f(Va);mapSettingsService=f(xo);ngOnInit(){let e=Kt(this.svg);this.mapSettingsSubscription=this.mapSettingsService.isMapLocked.subscribe(t=>{this.isMapLocked=t}),this.start=Wn(this.nodesWidget.draggable.start,this.drawingsWidget.draggable.start,this.labelWidget.draggable.start,this.interfaceWidget.draggable.start).subscribe(t=>{let o=this.selectionManager.getSelected();t.datum instanceof Ol&&o.filter(r=>r instanceof Ol&&r.id===t.datum.id).length===0&&this.selectionManager.setSelected([t.datum]),t.datum instanceof Ba&&o.filter(r=>r instanceof Ba&&r.id===t.datum.id).length===0&&this.selectionManager.setSelected([t.datum]),t.datum instanceof lc&&o.filter(r=>r instanceof lc&&r.id===t.datum.id).length===0&&this.selectionManager.setSelected([t.datum]),t.datum instanceof am&&o.filter(r=>r instanceof am&&r.id===t.datum.id).length===0&&this.selectionManager.setSelected([t.datum])}),this.drag=Wn(this.nodesWidget.draggable.drag,this.drawingsWidget.draggable.drag,this.labelWidget.draggable.drag,this.interfaceWidget.draggable.drag).subscribe(t=>{if(!this.isMapLocked){let o=this.selectionManager.getSelected(),r=o.filter(C=>C instanceof Ol),a=r.filter(C=>C.locked),c=r.filter(C=>!C.locked);c.forEach(C=>{C.x+=t.dx,C.y+=t.dy,this.nodesWidget.updateNodePosition(e,C),this.graphDataManager.getLinks().filter(w=>w.target!==void 0&&w.target.id===C.id||w.source!==void 0&&w.source.id===C.id).forEach(w=>{this.linksWidget.redrawLink(e,w)}Line truncated
]`).replace("lheading",fH).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()}),sxe=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,lxe=/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,_H=/^( {2,}|\\)\n(?!\s*$)/,cxe=/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\<!\[`*_]|\b_|$)|[^ ](?= {2,}\n)))/,Bg=/[\p{P}\p{S}]/u,N2=/[\s\p{P}\p{S}]/u,nN=/[^\s\p{P}\p{S}]/u,dxe=zi(/^((?![*_])punctSpace)/,"u").replace(/punctSpace/g,N2).getRegex(),vH=/(?!~)[\p{P}\p{S}]/u,mxe=/(?!~)[\s\p{P}\p{S}]/u,pxe=/(?:[^\s\p{P}\p{S}]|~)/u,uxe=zi(/link|precode-code|html/,"g").replace("link",/\[(?:[^\[\]`]|(?<a>`+)[^`]+\k<a>(?!`))*?\]\((?:\\[\s\S]|[^\\\(\)]|\((?:\\[\s\S]|[^\\\(\)])*\))*\)/).replace("precode-",Qbe?"(?<!`)()":"(^^|[^`])").replace("code",/(?<b>`+)[^`]+\k<b>(?!`)/).replace("html",/<(?! )[^<>]*?>/).getRegex(),CH=/^(?:\*+(?:((?!\*)punct)|([^\s*]))?)|^_+(?:((?!_)punct)|([^\s_]))?/,hxe=zi(CH,"u").replace(/punct/g,Bg).getRegex(),fxe=zi(CH,"u").replace(/punct/g,vH).getRegex(),bH="^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)punctSpace(\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|notPunctSpace(\\*+)(?=notPunctSpace)",gxe=zi(bH,"gu").replace(/notPunctSpace/g,nN).replace(/punctSpace/g,N2).replace(/punct/g,Bg).getRegex(),_xe=zi(bH,"gu").replace(/notPunctSpace/g,pxe).replace(/punctSpace/g,mxe).replace(/punct/g,vH).getRegex(),vxe=zi("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)punctSpace(_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)","gu").replace(/notPunctSpace/g,nN).replace(/punctSpace/g,N2).replace(/punct/g,Bg).getRegex(),Cxe=zi(/^~~?(?:((?!~)punct)|[^\s~])/,"u").replace(/punct/g,Bg).getRegex(),bxe="^[^~]+(?=[^~])|(?!~)punct(~~?)(?=[\\s]|$)|notPunctSpace(~~?)(?!~)(?=punctSpace|$)|(?!~)punctSpace(~~?)(?=notPunctSpace)|[\\s](~~?)(?!~)(?=punct)|(?!~)punct(~~?)(?!~)(?=punct)|notPunctSpace(~~?)(?=notPunctSpace)",xxe=zi(bxe,"gu").replace(/notPunctSpace/g,nN).replace(/punctSpace/g,N2).replace(/punct/g,Bg).getRegex(),yxe=zi(/\\(punct)/,"gu").replace(/punct/g,Bg).getRegex(),Sxe=zi(/^<(scheme:[^\s\x00-\x1f<>]*|email)>/).replace("scheme",/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace("email",/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex(),wxe=zi(eN).replace("(?:-->|$)","-->").getRegex(),Mxe=zi("^comment|^</[a-zA-Z][\\w:-]*\\s*>|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^<![a-zA-Z]+\\s[\\s\\S]*?>|^<!\\[CDATA\\[[\\s\\S]*?\\]\\]>").replace("comment",wxe).replace("attribute",/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(),I2=/(?:\[(?:\\[\s\S]|[^\[\]\\])*\]|\\[\s\S]|`+(?!`)[^`]*?`+(?!`)|``+(?=\])|[^\[\]\\`])*?/,kxe=zi(/^!?\[(label)\]\(\s*(href)(?:(?:[ \t]+(?:\n[ \t]*)?|\n[ \t]*)(title))?\s*\)/).replace("label",I2).replace("href",/<(?:\\.|[^\n<>\\])+>|[^ \t\n\x00-\x1f]*/).replace("title",/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(),xH=zi(/^!?\[(label)\]\[(ref)\]/).replace("label",I2).replace("ref",J4).getRegex(),yH=zi(/^!?\[(ref)\](?:\[\])?/).replace("ref",J4).getRegex(),Txe=zi("reflink|nolink(?!\\()","g").replace("reflink",xH).replace("nolink",yH).getRegex(),lH=/[hH][tT][tT][pP][sS]?|[fF][tT][pP]/,iN={_backpedal:mh,anyPunctuation:yxe,autolink:Sxe,blockSkip:uxe,br:_H,code:lxe,del:mh,delLDelim:mh,delRDelim:mh,emStrongLDelim:hxe,emStrongRDelimAst:gxe,emStrongRDelimUnd:vxe,escape:sxe,link:kxe,nolink:yH,punctuation:dxe,reflink:xH,reflinkSearch:Txe,tag:Mxe,text:cxe,url:mh},Exe=We(q({},iN),{link:zi(/^!?\[(label)\]\((.*?)\)/).replace("label",I2).getRegex(),reflink:zi(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",I2).getRegex()}),q4=We(q({},iN),{emStrongRDelimAst:_xe,emStrongLDelim:fxe,delLDelim:Cxe,delRDelim:xxe,url:zi(/^((?:protocol):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/).replace("protocol",lH).replace("email",/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/).getRegex(),_backpedal:/(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])((?:\\[\s\S]|[^\\])*?(?:\\[\s\S]|[^\s~\\]))\1(?=[^~]|$)/,text:zi(/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\<!\[`*~_]|\b_|protocol:\/\/|www\.|$)|[^ ](?= {2,}\n)|[^a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-](?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)))/).replace("protocol",lH).getRegex()}),Dxe=We(q({},q4),{br:zi(_H).replace("{2,}","*").getRegex(),text:zi(q4.text).replace("\\b_","\\b_| {2,}\\n").replace(/\{2,\}/g,"*").getRegex()}),P2={normal:tN,gfm:rxe,pedantic:axe},$C={normal:iN,gfm:q4,breaks:Dxe,pedantic:Exe},Pxe={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"},cH=n=>Pxe[n];function bd(n,i){if(i){if(os.escapeTest.test(nLine truncated
</svg>`}ngOnDestroy(){this.deactivate(),this.drawingSelected.unsubscribe()}static \u0275fac=function(t){return new(t||n)};static \u0275cmp=F({type:n,selectors:[["app-curve-drawing"]],inputs:{svg:[1,"svg"],controller:[1,"controller"],project:[1,"project"]},decls:0,vars:0,template:function(t,o){},encapsulation:2,changeDetection:0})}return n})();var g_e=["*"],Cz=(()=>{class n{resizingFinished;drawingsWidget=f(Zc);drawingsEventSource=f(Uo);ngOnInit(){this.resizingFinished=this.drawingsWidget.resizingFinished.subscribe(e=>{this.drawingsEventSource.resized.emit(new aS(e.datum,e.x,e.y,e.width,e.height,e.rotation))})}ngOnDestroy(){this.resizingFinished.unsubscribe()}static \u0275fac=function(t){return new(t||n)};static \u0275cmp=F({type:n,selectors:[["app-drawing-resizing"]],ngContentSelectors:g_e,decls:1,vars:0,template:function(t,o){t&1&&(ii(),on(0))},encapsulation:2,changeDetection:0})}return n})();var IS=(()=>{class n{inRectangle(e,t,o){return e.x<=t&&t<e.x+e.width&&e.y<=o&&o<e.y+e.height}static \u0275fac=function(t){return new(t||n)};static \u0275prov=J({token:n,factory:n.\u0275fac})}return n})();var bz=(()=>{class n{onSelection;selectionEventSource=f(Rf);graphDataManager=f(Xm);inRectangleHelper=f(IS);selectionManager=f(Ho);cd=f(Q);ngOnInit(){this.onSelection=this.selectionEventSource.selected.subscribe(e=>{let t=this.graphDataManager.getNodes().filter(_=>this.inRectangleHelper.inRectangle(e,_.x,_.y)),o=this.graphDataManager.getLinks().filter(_=>this.inRectangleHelper.inRectangle(e,_.x,_.y)),r=this.graphDataManager.getDrawings().filter(_=>this.inRectangleHelper.inRectangle(e,_.x,_.y)),a=this.graphDataManager.getNodes().filter(_=>{if(_.label===void 0)return!1;let S=_.x+_.label.x,x=_.y+_.label.y;return this.inRectangleHelper.inRectangle(e,S,x)}).map(_=>_.label),c=this.graphDataManager.getLinks().filter(_=>{if(_.source===void 0||_.nodes.length!=2||_.nodes[0].label===void 0)return!1;let S=_.source.x+_.nodes[0].label.x,x=_.source.y+_.nodes[0].label.y;return this.inRectangleHelper.inRectangle(e,S,x)}).map(_=>_.nodes[0]),p=this.graphDataManager.getLinks().filter(_=>{if(_.target===void 0||_.nodes.length!=2||_.nodes[1].label===void 0)return!1;let S=_.target.x+_.nodes[1].label.x,x=_.target.y+_.nodes[1].label.y;return this.inRectangleHelper.inRectangle(e,S,x)}).map(_=>_.nodes[1]),u=[...c,...p],h=[...t,...o,...r,...a,...u];this.selectionManager.setSelected(h),this.cd.markForCheck()})}ngOnDestroy(){this.onSelection.unsubscribe()}static \u0275fac=function(t){return new(t||n)};static \u0275cmp=F({type:n,selectors:[["app-selection-control"]],decls:0,vars:0,template:function(t,o){},encapsulation:2,changeDetection:0})}return n})();var xz=(()=>{class n{onSelected;onUnselected;selectionManager=f(Ho);mapChangeDetectorRef=f(Km);ngOnInit(){this.onSelected=this.selectionManager.selected.subscribe(()=>{this.mapChangeDetectorRef.detectSelectionChanges()}),this.onUnselected=this.selectionManager.unselected.subscribe(()=>{this.mapChangeDetectorRef.detectSelectionChanges()})}ngOnDestroy(){this.onSelected.unsubscribe(),this.onUnselected.unsubscribe()}static \u0275fac=function(t){return new(t||n)};static \u0275cmp=F({type:n,selectors:[["app-selection-select"]],decls:0,vars:0,template:function(t,o){},encapsulation:2,changeDetection:0})}return n})();var yz=(()=>{class n{start;drag;end;mapSettingsSubscription;isMapLocked=!1;svg;nodesWidget=f(op);drawingsWidget=f(Zc);linksWidget=f(rp);labelWidget=f(ip);interfaceWidget=f(Xc);selectionManager=f(Ho);nodesEventSource=f(Ml);drawingsEventSource=f(Uo);graphDataManager=f(Xm);linksEventSource=f(Da);mapSettingsService=f(go);ngOnInit(){let e=Wt(this.svg);this.mapSettingsSubscription=this.mapSettingsService.isMapLocked.subscribe(t=>{this.isMapLocked=t}),this.start=Hn(this.nodesWidget.draggable.start,this.drawingsWidget.draggable.start,this.labelWidget.draggable.start,this.interfaceWidget.draggable.start).subscribe(t=>{let o=this.selectionManager.getSelected();t.datum instanceof _l&&o.filter(r=>r instanceof _l&&r.id===t.datum.id).length===0&&this.selectionManager.setSelected([t.datum]),t.datum instanceof Ea&&o.filter(r=>r instanceof Ea&&r.id===t.datum.id).length===0&&this.selectionManager.setSelected([t.datum]),t.datum instanceof Wl&&o.filter(r=>r instanceof Wl&&r.id===t.datum.id).length===0&&this.selectionManager.setSelected([t.datum]),t.datum instanceof Rd&&o.filter(r=>r instanceof Rd&&r.id===t.datum.id).length===0&&this.selectionManager.setSelected([t.datum])}),this.drag=Hn(this.nodesWidget.draggable.drag,this.drawingsWidget.draggable.drag,this.labelWidget.draggable.drag,this.interfaceWidget.draggable.drag).subscribe(t=>{if(!this.isMapLocked){let o=this.selectionManager.getSelected(),r=o.filter(b=>b instanceof _l),a=r.filter(b=>b.locked),c=r.filter(b=>!b.locked);c.forEach(b=>{b.x+=t.dx,b.y+=t.dy,this.nodesWidget.updateNodePosition(e,b),this.graphDataManager.getLinks().filter(w=>w.target!==void 0&&w.target.id===b.id||w.source!==void 0&&w.source.id===b.id).forEach(w=>{this.linksWidget.redrawLink(e,w)}Line truncated
]`).replace("lheading",Lz).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()}),G_e=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,W_e=/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,Bz=/^( {2,}|\\)\n(?!\s*$)/,q_e=/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\<!\[`*_]|\b_|$)|[^ ](?= {2,}\n)))/,Qf=/[\p{P}\p{S}]/u,WS=/[\s\p{P}\p{S}]/u,FA=/[^\s\p{P}\p{S}]/u,Q_e=Li(/^((?![*_])punctSpace)/,"u").replace(/punctSpace/g,WS).getRegex(),zz=/(?!~)[\p{P}\p{S}]/u,X_e=/(?!~)[\s\p{P}\p{S}]/u,K_e=/(?:[^\s\p{P}\p{S}]|~)/u,Y_e=Li(/link|precode-code|html/,"g").replace("link",/\[(?:[^\[\]`]|(?<a>`+)[^`]+\k<a>(?!`))*?\]\((?:\\[\s\S]|[^\\\(\)]|\((?:\\[\s\S]|[^\\\(\)])*\))*\)/).replace("precode-",A_e?"(?<!`)()":"(^^|[^`])").replace("code",/(?<b>`+)[^`]+\k<b>(?!`)/).replace("html",/<(?! )[^<>]*?>/).getRegex(),jz=/^(?:\*+(?:((?!\*)punct)|([^\s*]))?)|^_+(?:((?!_)punct)|([^\s_]))?/,Z_e=Li(jz,"u").replace(/punct/g,Qf).getRegex(),J_e=Li(jz,"u").replace(/punct/g,zz).getRegex(),$z="^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)punctSpace(\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|notPunctSpace(\\*+)(?=notPunctSpace)",e0e=Li($z,"gu").replace(/notPunctSpace/g,FA).replace(/punctSpace/g,WS).replace(/punct/g,Qf).getRegex(),t0e=Li($z,"gu").replace(/notPunctSpace/g,K_e).replace(/punctSpace/g,X_e).replace(/punct/g,zz).getRegex(),n0e=Li("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)punctSpace(_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)","gu").replace(/notPunctSpace/g,FA).replace(/punctSpace/g,WS).replace(/punct/g,Qf).getRegex(),i0e=Li(/^~~?(?:((?!~)punct)|[^\s~])/,"u").replace(/punct/g,Qf).getRegex(),o0e="^[^~]+(?=[^~])|(?!~)punct(~~?)(?=[\\s]|$)|notPunctSpace(~~?)(?!~)(?=punctSpace|$)|(?!~)punctSpace(~~?)(?=notPunctSpace)|[\\s](~~?)(?!~)(?=punct)|(?!~)punct(~~?)(?!~)(?=punct)|notPunctSpace(~~?)(?=notPunctSpace)",r0e=Li(o0e,"gu").replace(/notPunctSpace/g,FA).replace(/punctSpace/g,WS).replace(/punct/g,Qf).getRegex(),a0e=Li(/\\(punct)/,"gu").replace(/punct/g,Qf).getRegex(),s0e=Li(/^<(scheme:[^\s\x00-\x1f<>]*|email)>/).replace("scheme",/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace("email",/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex(),l0e=Li(OA).replace("(?:-->|$)","-->").getRegex(),c0e=Li("^comment|^</[a-zA-Z][\\w:-]*\\s*>|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^<![a-zA-Z]+\\s[\\s\\S]*?>|^<!\\[CDATA\\[[\\s\\S]*?\\]\\]>").replace("comment",l0e).replace("attribute",/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(),HS=/(?:\[(?:\\[\s\S]|[^\[\]\\])*\]|\\[\s\S]|`+(?!`)[^`]*?`+(?!`)|``+(?=\])|[^\[\]\\`])*?/,d0e=Li(/^!?\[(label)\]\(\s*(href)(?:(?:[ \t]+(?:\n[ \t]*)?|\n[ \t]*)(title))?\s*\)/).replace("label",HS).replace("href",/<(?:\\.|[^\n<>\\])+>|[^ \t\n\x00-\x1f]*/).replace("title",/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(),Hz=Li(/^!?\[(label)\]\[(ref)\]/).replace("label",HS).replace("ref",AA).getRegex(),Uz=Li(/^!?\[(ref)\](?:\[\])?/).replace("ref",AA).getRegex(),m0e=Li("reflink|nolink(?!\\()","g").replace("reflink",Hz).replace("nolink",Uz).getRegex(),Pz=/[hH][tT][tT][pP][sS]?|[fF][tT][pP]/,RA={_backpedal:Iu,anyPunctuation:a0e,autolink:s0e,blockSkip:Y_e,br:Bz,code:W_e,del:Iu,delLDelim:Iu,delRDelim:Iu,emStrongLDelim:Z_e,emStrongRDelimAst:e0e,emStrongRDelimUnd:n0e,escape:G_e,link:d0e,nolink:Uz,punctuation:Q_e,reflink:Hz,reflinkSearch:m0e,tag:c0e,text:q_e,url:Iu},p0e=it(K({},RA),{link:Li(/^!?\[(label)\]\((.*?)\)/).replace("label",HS).getRegex(),reflink:Li(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",HS).getRegex()}),kA=it(K({},RA),{emStrongRDelimAst:t0e,emStrongLDelim:J_e,delLDelim:i0e,delRDelim:r0e,url:Li(/^((?:protocol):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/).replace("protocol",Pz).replace("email",/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/).getRegex(),_backpedal:/(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])((?:\\[\s\S]|[^\\])*?(?:\\[\s\S]|[^\s~\\]))\1(?=[^~]|$)/,text:Li(/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\<!\[`*~_]|\b_|protocol:\/\/|www\.|$)|[^ ](?= {2,}\n)|[^a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-](?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)))/).replace("protocol",Pz).getRegex()}),u0e=it(K({},kA),{br:Li(Bz).replace("{2,}","*").getRegex(),text:Li(kA.text).replace("\\b_","\\b_| {2,}\\n").replace(/\{2,\}/g,"*").getRegex()}),$S={normal:NA,gfm:H_e,pedantic:U_e},Av={normal:RA,gfm:kA,breaks:u0e,pedantic:p0e},h0e={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"},Iz=n=>h0e[n];function td(n,i){if(i){if(qa.escapeTest.test(nLine truncated
`).map(r=>{let a=r.match(e.other.beginningSpace);if(a===null)return r;let[c]=a;return c.length>=o.length?r.slice(o.length):r}).join(`
`)}var A2=class{options;rules;lexer;constructor(n){this.options=n||uh}space(n){let i=this.rules.block.newline.exec(n);if(i&&i[0].length>0)return{type:"space",raw:i[0]}}code(n){let i=this.rules.block.code.exec(n);if(i){let e=i[0].replace(this.rules.other.codeRemoveIndent,"");return{type:"code",raw:i[0],codeBlockStyle:"indented",text:this.options.pedantic?e:HC(e,`
`)}}}fences(n){let i=this.rules.block.fences.exec(n);if(i){let e=i[0],t=Oxe(e,i[3]||"",this.rules);return{type:"code",raw:e,lang:i[2]?i[2].trim().replace(this.rules.inline.anyPunctuation,"$1"):i[2],text:t}}}heading(n){let i=this.rules.block.heading.exec(n);if(i){let e=i[2].trim();if(this.rules.other.endingHash.test(e)){let t=HC(e,"#");(this.options.pedantic||!t||this.rules.other.endingSpaceChar.test(t))&&(e=t.trim())}return{type:"heading",raw:i[0],depth:i[1].length,text:e,tokens:this.lexer.inline(e)}}}hr(n){let i=this.rules.block.hr.exec(n);if(i)return{type:"hr",raw:HC(i[0],`
`)}}blockquote(n){let i=this.rules.block.blockquote.exec(n);if(i){let e=HC(i[0],`
`)}var US=class{options;rules;lexer;constructor(n){this.options=n||Ou}space(n){let i=this.rules.block.newline.exec(n);if(i&&i[0].length>0)return{type:"space",raw:i[0]}}code(n){let i=this.rules.block.code.exec(n);if(i){let e=i[0].replace(this.rules.other.codeRemoveIndent,"");return{type:"code",raw:i[0],codeBlockStyle:"indented",text:this.options.pedantic?e:Ov(e,`
`)}}}fences(n){let i=this.rules.block.fences.exec(n);if(i){let e=i[0],t=_0e(e,i[3]||"",this.rules);return{type:"code",raw:e,lang:i[2]?i[2].trim().replace(this.rules.inline.anyPunctuation,"$1"):i[2],text:t}}}heading(n){let i=this.rules.block.heading.exec(n);if(i){let e=i[2].trim();if(this.rules.other.endingHash.test(e)){let t=Ov(e,"#");(this.options.pedantic||!t||this.rules.other.endingSpaceChar.test(t))&&(e=t.trim())}return{type:"heading",raw:i[0],depth:i[1].length,text:e,tokens:this.lexer.inline(e)}}}hr(n){let i=this.rules.block.hr.exec(n);if(i)return{type:"hr",raw:Ov(i[0],`
`)}}blockquote(n){let i=this.rules.block.blockquote.exec(n);if(i){let e=Ov(i[0],`
`).split(`
`),t="",o="",r=[];for(;e.length>0;){let a=!1,c=[],p;for(p=0;p<e.length;p++)if(this.rules.other.blockquoteStart.test(e[p]))c.push(e[p]),a=!0;else if(!a)c.push(e[p]);else break;e=e.slice(p);let u=c.join(`
`),h=u.replace(this.rules.other.blockquoteSetextReplace,`
$1`).replace(this.rules.other.blockquoteSetextReplace2,"");t=t?`${t}
${u}`:u,o=o?`${o}
${h}`:h;let g=this.lexer.state.top;if(this.lexer.state.top=!0,this.lexer.blockTokens(h,r,!0),this.lexer.state.top=g,e.length===0)break;let S=r.at(-1);if(S?.type==="code")break;if(S?.type==="blockquote"){let x=S,C=x.raw+`
${h}`:h;let _=this.lexer.state.top;if(this.lexer.state.top=!0,this.lexer.blockTokens(h,r,!0),this.lexer.state.top=_,e.length===0)break;let S=r.at(-1);if(S?.type==="code")break;if(S?.type==="blockquote"){let x=S,b=x.raw+`
`+e.join(`
`),M=this.blockquote(C);r[r.length-1]=M,t=t.substring(0,t.length-x.raw.length)+M.raw,o=o.substring(0,o.length-x.text.length)+M.text;break}else if(S?.type==="list"){let x=S,C=x.raw+`
`),M=this.blockquote(b);r[r.length-1]=M,t=t.substring(0,t.length-x.raw.length)+M.raw,o=o.substring(0,o.length-x.text.length)+M.text;break}else if(S?.type==="list"){let x=S,b=x.raw+`
`+e.join(`
`),M=this.list(C);r[r.length-1]=M,t=t.substring(0,t.length-S.raw.length)+M.raw,o=o.substring(0,o.length-x.raw.length)+M.raw,e=C.substring(r.at(-1).raw.length).split(`
`);continue}}return{type:"blockquote",raw:t,tokens:r,text:o}}}list(n){let i=this.rules.block.list.exec(n);if(i){let e=i[1].trim(),t=e.length>1,o={type:"list",raw:"",ordered:t,start:t?+e.slice(0,-1):"",loose:!1,items:[]};e=t?`\\d{1,9}\\${e.slice(-1)}`:`\\${e}`,this.options.pedantic&&(e=t?e:"[*+-]");let r=this.rules.other.listItemRegex(e),a=!1;for(;n;){let p=!1,u="",h="";if(!(i=r.exec(n))||this.rules.block.hr.test(n))break;u=i[0],n=n.substring(u.length);let g=Axe(i[2].split(`
`),M=this.list(b);r[r.length-1]=M,t=t.substring(0,t.length-S.raw.length)+M.raw,o=o.substring(0,o.length-x.raw.length)+M.raw,e=b.substring(r.at(-1).raw.length).split(`
`);continue}}return{type:"blockquote",raw:t,tokens:r,text:o}}}list(n){let i=this.rules.block.list.exec(n);if(i){let e=i[1].trim(),t=e.length>1,o={type:"list",raw:"",ordered:t,start:t?+e.slice(0,-1):"",loose:!1,items:[]};e=t?`\\d{1,9}\\${e.slice(-1)}`:`\\${e}`,this.options.pedantic&&(e=t?e:"[*+-]");let r=this.rules.other.listItemRegex(e),a=!1;for(;n;){let p=!1,u="",h="";if(!(i=r.exec(n))||this.rules.block.hr.test(n))break;u=i[0],n=n.substring(u.length);let _=g0e(i[2].split(`
`,1)[0],i[1].length),S=n.split(`
`,1)[0],x=!g.trim(),C=0;if(this.options.pedantic?(C=2,h=g.trimStart()):x?C=i[1].length+1:(C=g.search(this.rules.other.nonSpaceChar),C=C>4?1:C,h=g.slice(C),C+=i[1].length),x&&this.rules.other.blankLine.test(S)&&(u+=S+`
`,n=n.substring(S.length+1),p=!0),!p){let M=this.rules.other.nextBulletRegex(C),w=this.rules.other.hrRegex(C),y=this.rules.other.fencesBeginRegex(C),k=this.rules.other.headingBeginRegex(C),I=this.rules.other.htmlBeginRegex(C),D=this.rules.other.blockquoteBeginRegex(C);for(;n;){let N=n.split(`
`,1)[0],P;if(S=N,this.options.pedantic?(S=S.replace(this.rules.other.listReplaceNesting," "),P=S):P=S.replace(this.rules.other.tabCharGlobal," "),y.test(S)||k.test(S)||I.test(S)||D.test(S)||M.test(S)||w.test(S))break;if(P.search(this.rules.other.nonSpaceChar)>=C||!S.trim())h+=`
`+P.slice(C);else{if(x||g.replace(this.rules.other.tabCharGlobal," ").search(this.rules.other.nonSpaceChar)>=4||y.test(g)||k.test(g)||w.test(g))break;h+=`
`,1)[0],x=!_.trim(),b=0;if(this.options.pedantic?(b=2,h=_.trimStart()):x?b=i[1].length+1:(b=_.search(this.rules.other.nonSpaceChar),b=b>4?1:b,h=_.slice(b),b+=i[1].length),x&&this.rules.other.blankLine.test(S)&&(u+=S+`
`,n=n.substring(S.length+1),p=!0),!p){let M=this.rules.other.nextBulletRegex(b),w=this.rules.other.hrRegex(b),y=this.rules.other.fencesBeginRegex(b),E=this.rules.other.headingBeginRegex(b),I=this.rules.other.htmlBeginRegex(b),D=this.rules.other.blockquoteBeginRegex(b);for(;n;){let N=n.split(`
`,1)[0],P;if(S=N,this.options.pedantic?(S=S.replace(this.rules.other.listReplaceNesting," "),P=S):P=S.replace(this.rules.other.tabCharGlobal," "),y.test(S)||E.test(S)||I.test(S)||D.test(S)||M.test(S)||w.test(S))break;if(P.search(this.rules.other.nonSpaceChar)>=b||!S.trim())h+=`
`+P.slice(b);else{if(x||_.replace(this.rules.other.tabCharGlobal," ").search(this.rules.other.nonSpaceChar)>=4||y.test(_)||E.test(_)||w.test(_))break;h+=`
`+S}x=!S.trim(),u+=N+`
`,n=n.substring(N.length+1),g=P.slice(C)}}o.loose||(a?o.loose=!0:this.rules.other.doubleBlankLine.test(u)&&(a=!0)),o.items.push({type:"list_item",raw:u,task:!!this.options.gfm&&this.rules.other.listIsTask.test(h),loose:!1,text:h,tokens:[]}),o.raw+=u}let c=o.items.at(-1);if(c)c.raw=c.raw.trimEnd(),c.text=c.text.trimEnd();else return;o.raw=o.raw.trimEnd();for(let p of o.items){if(this.lexer.state.top=!1,p.tokens=this.lexer.blockTokens(p.text,[]),p.task){if(p.text=p.text.replace(this.rules.other.listReplaceTask,""),p.tokens[0]?.type==="text"||p.tokens[0]?.type==="paragraph"){p.tokens[0].raw=p.tokens[0].raw.replace(this.rules.other.listReplaceTask,""),p.tokens[0].text=p.tokens[0].text.replace(this.rules.other.listReplaceTask,"");for(let h=this.lexer.inlineQueue.length-1;h>=0;h--)if(this.rules.other.listIsTask.test(this.lexer.inlineQueue[h].src)){this.lexer.inlineQueue[h].src=this.lexer.inlineQueue[h].src.replace(this.rules.other.listReplaceTask,"");break}}let u=this.rules.other.listTaskCheckbox.exec(p.raw);if(u){let h={type:"checkbox",raw:u[0]+" ",checked:u[0]!=="[ ]"};p.checked=h.checked,o.loose?p.tokens[0]&&["paragraph","text"].includes(p.tokens[0].type)&&"tokens"in p.tokens[0]&&p.tokens[0].tokens?(p.tokens[0].raw=h.raw+p.tokens[0].raw,p.tokens[0].text=h.raw+p.tokens[0].text,p.tokens[0].tokens.unshift(h)):p.tokens.unshift({type:"paragraph",raw:h.raw,text:h.raw,tokens:[h]}):p.tokens.unshift(h)}}if(!o.loose){let u=p.tokens.filter(g=>g.type==="space"),h=u.length>0&&u.some(g=>this.rules.other.anyLine.test(g.raw));o.loose=h}}if(o.loose)for(let p of o.items){p.loose=!0;for(let u of p.tokens)u.type==="text"&&(u.type="paragraph")}return o}}html(n){let i=this.rules.block.html.exec(n);if(i)return{type:"html",block:!0,raw:i[0],pre:i[1]==="pre"||i[1]==="script"||i[1]==="style",text:i[0]}}def(n){let i=this.rules.block.def.exec(n);if(i){let e=i[1].toLowerCase().replace(this.rules.other.multipleSpaceGlobal," "),t=i[2]?i[2].replace(this.rules.other.hrefBrackets,"$1").replace(this.rules.inline.anyPunctuation,"$1"):"",o=i[3]?i[3].substring(1,i[3].length-1).replace(this.rules.inline.anyPunctuation,"$1"):i[3];return{type:"def",tag:e,raw:i[0],href:t,title:o}}}table(n){let i=this.rules.block.table.exec(n);if(!i||!this.rules.other.tableDelimiter.test(i[2]))return;let e=mH(i[1]),t=i[2].replace(this.rules.other.tableAlignChars,"").split("|"),o=i[3]?.trim()?i[3].replace(this.rules.other.tableRowBlankLine,"").split(`
`):[],r={type:"table",raw:i[0],header:[],align:[],rows:[]};if(e.length===t.length){for(let a of t)this.rules.other.tableAlignRight.test(a)?r.align.push("right"):this.rules.other.tableAlignCenter.test(a)?r.align.push("center"):this.rules.other.tableAlignLeft.test(a)?r.align.push("left"):r.align.push(null);for(let a=0;a<e.length;a++)r.header.push({text:e[a],tokens:this.lexer.inline(e[a]),header:!0,align:r.align[a]});for(let a of o)r.rows.push(mH(a,r.header.length).map((c,p)=>({text:c,tokens:this.lexer.inline(c),header:!1,align:r.align[p]})));return r}}lheading(n){let i=this.rules.block.lheading.exec(n);if(i){let e=i[1].trim();return{type:"heading",raw:i[0],depth:i[2].charAt(0)==="="?1:2,text:e,tokens:this.lexer.inline(e)}}}paragraph(n){let i=this.rules.block.paragraph.exec(n);if(i){let e=i[1].charAt(i[1].length-1)===`
`?i[1].slice(0,-1):i[1];return{type:"paragraph",raw:i[0],text:e,tokens:this.lexer.inline(e)}}}text(n){let i=this.rules.block.text.exec(n);if(i)return{type:"text",raw:i[0],text:i[0],tokens:this.lexer.inline(i[0])}}escape(n){let i=this.rules.inline.escape.exec(n);if(i)return{type:"escape",raw:i[0],text:i[1]}}tag(n){let i=this.rules.inline.tag.exec(n);if(i)return!this.lexer.state.inLink&&this.rules.other.startATag.test(i[0])?this.lexer.state.inLink=!0:this.lexer.state.inLink&&this.rules.other.endATag.test(i[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&this.rules.other.startPreScriptTag.test(i[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&this.rules.other.endPreScriptTag.test(i[0])&&(this.lexer.state.inRawBlock=!1),{type:"html",raw:i[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,block:!1,text:i[0]}}link(n){let i=this.rules.inline.link.exec(n);if(i){let e=i[2].trim();if(!this.options.pedantic&&this.rules.other.startAngleBracket.test(e)){if(!this.rules.other.endAngleBracket.test(e))return;let r=HC(e.slice(0,-1),"\\");if((e.length-r.length)%2===0)return}else{let r=Ixe(i[2],"()");if(r===-2)return;if(r>-1){let a=(i[0].indexOf("!")===0?5:4)+i[1].length+r;i[2]=i[2].substring(0,r),i[0]=i[0].substring(0,a).trim(),i[3]=""}}let t=i[2],o="";if(this.options.pedantic){let r=this.rules.other.pedanticHrefTitle.exec(t);r&&(t=r[1],o=r[3])}else o=i[3]?i[3].slice(1,-1):"";return t=t.trim(),this.rules.other.startAngleBracket.test(t)&&(this.options.pedantic&&!this.rules.other.endAngleBracket.test(e)?t=t.slice(1):t=t.slice(1,-1)),pH(i,{href:t&&t.replace(this.rules.inline.anyPunctuation,"$1"),title:o&&o.replace(this.rules.inline.anyPunctuation,"$1")},i[0],this.lexer,this.rules)}}reflink(n,i){let e;if((e=this.rules.inline.reflink.exec(n))||(e=this.rules.inline.nolink.exec(n))){let t=(e[2]||e[1]).replace(this.rules.other.multipleSpaceGlobal," "),o=i[t.toLowerCase()];if(!o){let r=e[0].charAt(0);return{type:"text",raw:r,text:r}}return pH(e,o,e[0],this.lexer,this.rules)}}emStrong(n,i,e=""){let t=this.rules.inline.emStrongLDelim.exec(n);if(!(!t||!t[1]&&!t[2]&&!t[3]&&!t[4]||t[4]&&e.match(this.rules.other.unicodeAlphaNumeric))&&(!(t[1]||t[3])||!e||this.rules.inline.punctuation.exec(e))){let o=[...t[0]].length-1,r,a,c=o,p=0,u=t[0][0]==="*"?this.rules.inline.emStrongRDelimAst:this.rules.inline.emStrongRDelimUnd;for(u.lastIndex=0,i=i.slice(-1*n.length+o);(t=u.exec(i))!=null;){if(r=t[1]||t[2]||t[3]||t[4]||t[5]||t[6],!r)continue;if(a=[...r].length,t[3]||t[4]){c+=a;continue}else if((t[5]||t[6])&&o%3&&!((o+a)%3)){p+=a;continue}if(c-=a,c>0)continue;a=Math.min(a,a+c+p);let h=[...t[0]][0].length,g=n.slice(0,o+t.index+h+a);if(Math.min(o,a)%2){let x=g.slice(1,-1);return{type:"em",raw:g,text:x,tokens:this.lexer.inlineTokens(x)}}let S=g.slice(2,-2);return{type:"strong",raw:g,text:S,tokens:this.lexer.inlineTokens(S)}}}}codespan(n){let i=this.rules.inline.code.exec(n);if(i){let e=i[2].replace(this.rules.other.newLineCharGlobal," "),t=this.rules.other.nonSpaceChar.test(e),o=this.rules.other.startingSpaceChar.test(e)&&this.rules.other.endingSpaceChar.test(e);return t&&o&&(e=e.substring(1,e.length-1)),{type:"codespan",raw:i[0],text:e}}}br(n){let i=this.rules.inline.br.exec(n);if(i)return{type:"br",raw:i[0]}}del(n,i,e=""){let t=this.rules.inline.delLDelim.exec(n);if(t&&(!t[1]||!e||this.rules.inline.punctuation.exec(e))){let o=[...t[0]].length-1,r,a,c=o,p=this.rules.inline.delRDelim;for(p.lastIndex=0,i=i.slice(-1*n.length+o);(t=p.exec(i))!=null;){if(r=t[1]||t[2]||t[3]||t[4]||t[5]||t[6],!r||(a=[...r].length,a!==o))continue;if(t[3]||t[4]){c+=a;continue}if(c-=a,c>0)continue;a=Math.min(a,a+c);let u=[...t[0]][0].length,h=n.slice(0,o+t.index+u+a),g=h.slice(o,-o);return{type:"del",raw:h,text:g,tokens:this.lexer.inlineTokens(g)}}}}autolink(n){let i=this.rules.inline.autolink.exec(n);if(i){let e,t;return i[2]==="@"?(e=i[1],t="mailto:"+e):(e=i[1],t=e),{type:"link",raw:i[0],text:e,href:t,tokens:[{type:"text",raw:e,text:e}]}}}url(n){let i;if(i=this.rules.inline.url.exec(n)){let e,t;if(i[2]==="@")e=i[0],t="mailto:"+e;else{let o;do o=i[0],i[0]=this.rules.inline._backpedal.exec(i[0])?.[0]??"";while(o!==i[0]);e=i[0],i[1]==="www."?t="http://"+i[0]:t=i[0]}return{type:"link",raw:i[0],text:e,href:t,tokens:[{type:"text",raw:e,text:e}]}}}inlineText(n){let i=this.rules.inline.text.exec(n);if(i){let e=this.lexer.state.inRawBlock;return{type:"text",raw:i[0],text:i[0],escaped:e}}}},hc=class Q4{tokens;options;state;inlineQueue;tokenizer;constructor(i){this.tokens=[],this.tokens.links=Object.create(null),this.options=i||uh,this.options.tokenizer=this.options.tokenizer||new A2,this.tokenizer=this.options.tokenizer,this.tokenizer.options=this.options,this.tokenizer.lexer=this,this.inlineQueue=[],this.state={inLink:!1,inRawBlock:!1,top:!0};let e={other:os,block:P2.normal,inline:$C.normal};this.options.pedantic?(e.block=P2.pedantic,e.inline=$C.pedantic):this.options.gfm&&(e.block=P2.gfm,this.options.breaks?e.inline=$C.breaks:e.inl Line truncated
`),this.blockTokens(i,this.tokens);for(let e=0;e<this.inlineQueue.length;e++){let t=this.inlineQueue[e];this.inlineTokens(t.src,t.tokens)}return this.inlineQueue=[],this.tokens}blockTokens(i,e=[],t=!1){for(this.tokenizer.lexer=this,this.options.pedantic&&(i=i.replace(os.tabCharGlobal," ").replace(os.spaceLine,""));i;){let o;if(this.options.extensions?.block?.some(a=>(o=a.call({lexer:this},i,e))?(i=i.substring(o.raw.length),e.push(o),!0):!1))continue;if(o=this.tokenizer.space(i)){i=i.substring(o.raw.length);let a=e.at(-1);o.raw.length===1&&a!==void 0?a.raw+=`
`,n=n.substring(N.length+1),_=P.slice(b)}}o.loose||(a?o.loose=!0:this.rules.other.doubleBlankLine.test(u)&&(a=!0)),o.items.push({type:"list_item",raw:u,task:!!this.options.gfm&&this.rules.other.listIsTask.test(h),loose:!1,text:h,tokens:[]}),o.raw+=u}let c=o.items.at(-1);if(c)c.raw=c.raw.trimEnd(),c.text=c.text.trimEnd();else return;o.raw=o.raw.trimEnd();for(let p of o.items){if(this.lexer.state.top=!1,p.tokens=this.lexer.blockTokens(p.text,[]),p.task){if(p.text=p.text.replace(this.rules.other.listReplaceTask,""),p.tokens[0]?.type==="text"||p.tokens[0]?.type==="paragraph"){p.tokens[0].raw=p.tokens[0].raw.replace(this.rules.other.listReplaceTask,""),p.tokens[0].text=p.tokens[0].text.replace(this.rules.other.listReplaceTask,"");for(let h=this.lexer.inlineQueue.length-1;h>=0;h--)if(this.rules.other.listIsTask.test(this.lexer.inlineQueue[h].src)){this.lexer.inlineQueue[h].src=this.lexer.inlineQueue[h].src.replace(this.rules.other.listReplaceTask,"");break}}let u=this.rules.other.listTaskCheckbox.exec(p.raw);if(u){let h={type:"checkbox",raw:u[0]+" ",checked:u[0]!=="[ ]"};p.checked=h.checked,o.loose?p.tokens[0]&&["paragraph","text"].includes(p.tokens[0].type)&&"tokens"in p.tokens[0]&&p.tokens[0].tokens?(p.tokens[0].raw=h.raw+p.tokens[0].raw,p.tokens[0].text=h.raw+p.tokens[0].text,p.tokens[0].tokens.unshift(h)):p.tokens.unshift({type:"paragraph",raw:h.raw,text:h.raw,tokens:[h]}):p.tokens.unshift(h)}}if(!o.loose){let u=p.tokens.filter(_=>_.type==="space"),h=u.length>0&&u.some(_=>this.rules.other.anyLine.test(_.raw));o.loose=h}}if(o.loose)for(let p of o.items){p.loose=!0;for(let u of p.tokens)u.type==="text"&&(u.type="paragraph")}return o}}html(n){let i=this.rules.block.html.exec(n);if(i)return{type:"html",block:!0,raw:i[0],pre:i[1]==="pre"||i[1]==="script"||i[1]==="style",text:i[0]}}def(n){let i=this.rules.block.def.exec(n);if(i){let e=i[1].toLowerCase().replace(this.rules.other.multipleSpaceGlobal," "),t=i[2]?i[2].replace(this.rules.other.hrefBrackets,"$1").replace(this.rules.inline.anyPunctuation,"$1"):"",o=i[3]?i[3].substring(1,i[3].length-1).replace(this.rules.inline.anyPunctuation,"$1"):i[3];return{type:"def",tag:e,raw:i[0],href:t,title:o}}}table(n){let i=this.rules.block.table.exec(n);if(!i||!this.rules.other.tableDelimiter.test(i[2]))return;let e=Oz(i[1]),t=i[2].replace(this.rules.other.tableAlignChars,"").split("|"),o=i[3]?.trim()?i[3].replace(this.rules.other.tableRowBlankLine,"").split(`
`):[],r={type:"table",raw:i[0],header:[],align:[],rows:[]};if(e.length===t.length){for(let a of t)this.rules.other.tableAlignRight.test(a)?r.align.push("right"):this.rules.other.tableAlignCenter.test(a)?r.align.push("center"):this.rules.other.tableAlignLeft.test(a)?r.align.push("left"):r.align.push(null);for(let a=0;a<e.length;a++)r.header.push({text:e[a],tokens:this.lexer.inline(e[a]),header:!0,align:r.align[a]});for(let a of o)r.rows.push(Oz(a,r.header.length).map((c,p)=>({text:c,tokens:this.lexer.inline(c),header:!1,align:r.align[p]})));return r}}lheading(n){let i=this.rules.block.lheading.exec(n);if(i){let e=i[1].trim();return{type:"heading",raw:i[0],depth:i[2].charAt(0)==="="?1:2,text:e,tokens:this.lexer.inline(e)}}}paragraph(n){let i=this.rules.block.paragraph.exec(n);if(i){let e=i[1].charAt(i[1].length-1)===`
`?i[1].slice(0,-1):i[1];return{type:"paragraph",raw:i[0],text:e,tokens:this.lexer.inline(e)}}}text(n){let i=this.rules.block.text.exec(n);if(i)return{type:"text",raw:i[0],text:i[0],tokens:this.lexer.inline(i[0])}}escape(n){let i=this.rules.inline.escape.exec(n);if(i)return{type:"escape",raw:i[0],text:i[1]}}tag(n){let i=this.rules.inline.tag.exec(n);if(i)return!this.lexer.state.inLink&&this.rules.other.startATag.test(i[0])?this.lexer.state.inLink=!0:this.lexer.state.inLink&&this.rules.other.endATag.test(i[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&this.rules.other.startPreScriptTag.test(i[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&this.rules.other.endPreScriptTag.test(i[0])&&(this.lexer.state.inRawBlock=!1),{type:"html",raw:i[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,block:!1,text:i[0]}}link(n){let i=this.rules.inline.link.exec(n);if(i){let e=i[2].trim();if(!this.options.pedantic&&this.rules.other.startAngleBracket.test(e)){if(!this.rules.other.endAngleBracket.test(e))return;let r=Ov(e.slice(0,-1),"\\");if((e.length-r.length)%2===0)return}else{let r=f0e(i[2],"()");if(r===-2)return;if(r>-1){let a=(i[0].indexOf("!")===0?5:4)+i[1].length+r;i[2]=i[2].substring(0,r),i[0]=i[0].substring(0,a).trim(),i[3]=""}}let t=i[2],o="";if(this.options.pedantic){let r=this.rules.other.pedanticHrefTitle.exec(t);r&&(t=r[1],o=r[3])}else o=i[3]?i[3].slice(1,-1):"";return t=t.trim(),this.rules.other.startAngleBracket.test(t)&&(this.options.pedantic&&!this.rules.other.endAngleBracket.test(e)?t=t.slice(1):t=t.slice(1,-1)),Nz(i,{href:t&&t.replace(this.rules.inline.anyPunctuation,"$1"),title:o&&o.replace(this.rules.inline.anyPunctuation,"$1")},i[0],this.lexer,this.rules)}}reflink(n,i){let e;if((e=this.rules.inline.reflink.exec(n))||(e=this.rules.inline.nolink.exec(n))){let t=(e[2]||e[1]).replace(this.rules.other.multipleSpaceGlobal," "),o=i[t.toLowerCase()];if(!o){let r=e[0].charAt(0);return{type:"text",raw:r,text:r}}return Nz(e,o,e[0],this.lexer,this.rules)}}emStrong(n,i,e=""){let t=this.rules.inline.emStrongLDelim.exec(n);if(!(!t||!t[1]&&!t[2]&&!t[3]&&!t[4]||t[4]&&e.match(this.rules.other.unicodeAlphaNumeric))&&(!(t[1]||t[3])||!e||this.rules.inline.punctuation.exec(e))){let o=[...t[0]].length-1,r,a,c=o,p=0,u=t[0][0]==="*"?this.rules.inline.emStrongRDelimAst:this.rules.inline.emStrongRDelimUnd;for(u.lastIndex=0,i=i.slice(-1*n.length+o);(t=u.exec(i))!=null;){if(r=t[1]||t[2]||t[3]||t[4]||t[5]||t[6],!r)continue;if(a=[...r].length,t[3]||t[4]){c+=a;continue}else if((t[5]||t[6])&&o%3&&!((o+a)%3)){p+=a;continue}if(c-=a,c>0)continue;a=Math.min(a,a+c+p);let h=[...t[0]][0].length,_=n.slice(0,o+t.index+h+a);if(Math.min(o,a)%2){let x=_.slice(1,-1);return{type:"em",raw:_,text:x,tokens:this.lexer.inlineTokens(x)}}let S=_.slice(2,-2);return{type:"strong",raw:_,text:S,tokens:this.lexer.inlineTokens(S)}}}}codespan(n){let i=this.rules.inline.code.exec(n);if(i){let e=i[2].replace(this.rules.other.newLineCharGlobal," "),t=this.rules.other.nonSpaceChar.test(e),o=this.rules.other.startingSpaceChar.test(e)&&this.rules.other.endingSpaceChar.test(e);return t&&o&&(e=e.substring(1,e.length-1)),{type:"codespan",raw:i[0],text:e}}}br(n){let i=this.rules.inline.br.exec(n);if(i)return{type:"br",raw:i[0]}}del(n,i,e=""){let t=this.rules.inline.delLDelim.exec(n);if(t&&(!t[1]||!e||this.rules.inline.punctuation.exec(e))){let o=[...t[0]].length-1,r,a,c=o,p=this.rules.inline.delRDelim;for(p.lastIndex=0,i=i.slice(-1*n.length+o);(t=p.exec(i))!=null;){if(r=t[1]||t[2]||t[3]||t[4]||t[5]||t[6],!r||(a=[...r].length,a!==o))continue;if(t[3]||t[4]){c+=a;continue}if(c-=a,c>0)continue;a=Math.min(a,a+c);let u=[...t[0]][0].length,h=n.slice(0,o+t.index+u+a),_=h.slice(o,-o);return{type:"del",raw:h,text:_,tokens:this.lexer.inlineTokens(_)}}}}autolink(n){let i=this.rules.inline.autolink.exec(n);if(i){let e,t;return i[2]==="@"?(e=i[1],t="mailto:"+e):(e=i[1],t=e),{type:"link",raw:i[0],text:e,href:t,tokens:[{type:"text",raw:e,text:e}]}}}url(n){let i;if(i=this.rules.inline.url.exec(n)){let e,t;if(i[2]==="@")e=i[0],t="mailto:"+e;else{let o;do o=i[0],i[0]=this.rules.inline._backpedal.exec(i[0])?.[0]??"";while(o!==i[0]);e=i[0],i[1]==="www."?t="http://"+i[0]:t=i[0]}return{type:"link",raw:i[0],text:e,href:t,tokens:[{type:"text",raw:e,text:e}]}}}inlineText(n){let i=this.rules.inline.text.exec(n);if(i){let e=this.lexer.state.inRawBlock;return{type:"text",raw:i[0],text:i[0],escaped:e}}}},Zl=class TA{tokens;options;state;inlineQueue;tokenizer;constructor(i){this.tokens=[],this.tokens.links=Object.create(null),this.options=i||Ou,this.options.tokenizer=this.options.tokenizer||new US,this.tokenizer=this.options.tokenizer,this.tokenizer.options=this.options,this.tokenizer.lexer=this,this.inlineQueue=[],this.state={inLink:!1,inRawBlock:!1,top:!0};let e={other:qa,block:$S.normal,inline:Av.normal};this.options.pedantic?(e.block=$S.pedantic,e.inline=Av.pedantic):this.options.gfm&&(e.block=$S.gfm,this.options.breaks?e.inline=Av.breaks:e.inl Line truncated
`),this.blockTokens(i,this.tokens);for(let e=0;e<this.inlineQueue.length;e++){let t=this.inlineQueue[e];this.inlineTokens(t.src,t.tokens)}return this.inlineQueue=[],this.tokens}blockTokens(i,e=[],t=!1){for(this.tokenizer.lexer=this,this.options.pedantic&&(i=i.replace(qa.tabCharGlobal," ").replace(qa.spaceLine,""));i;){let o;if(this.options.extensions?.block?.some(a=>(o=a.call({lexer:this},i,e))?(i=i.substring(o.raw.length),e.push(o),!0):!1))continue;if(o=this.tokenizer.space(i)){i=i.substring(o.raw.length);let a=e.at(-1);o.raw.length===1&&a!==void 0?a.raw+=`
`:e.push(o);continue}if(o=this.tokenizer.code(i)){i=i.substring(o.raw.length);let a=e.at(-1);a?.type==="paragraph"||a?.type==="text"?(a.raw+=(a.raw.endsWith(`
`)?"":`
`)+o.raw,a.text+=`
@@ -142,9 +142,9 @@ ${h}`:h;let g=this.lexer.state.top;if(this.lexer.state.top=!0,this.lexer.blockTo
`+o.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=a.text):e.push(o),t=r.length!==i.length,i=i.substring(o.raw.length);continue}if(o=this.tokenizer.text(i)){i=i.substring(o.raw.length);let a=e.at(-1);a?.type==="text"?(a.raw+=(a.raw.endsWith(`
`)?"":`
`)+o.raw,a.text+=`
`+o.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=a.text):e.push(o);continue}if(i){let a="Infinite loop on byte: "+i.charCodeAt(0);if(this.options.silent){console.error(a);break}else throw new Error(a)}}return this.state.top=!0,e}inline(i,e=[]){return this.inlineQueue.push({src:i,tokens:e}),e}inlineTokens(i,e=[]){this.tokenizer.lexer=this;let t=i,o=null;if(this.tokens.links){let p=Object.keys(this.tokens.links);if(p.length>0)for(;(o=this.tokenizer.rules.inline.reflinkSearch.exec(t))!=null;)p.includes(o[0].slice(o[0].lastIndexOf("[")+1,-1))&&(t=t.slice(0,o.index)+"["+"a".repeat(o[0].length-2)+"]"+t.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;(o=this.tokenizer.rules.inline.anyPunctuation.exec(t))!=null;)t=t.slice(0,o.index)+"++"+t.slice(this.tokenizer.rules.inline.anyPunctuation.lastIndex);let r;for(;(o=this.tokenizer.rules.inline.blockSkip.exec(t))!=null;)r=o[2]?o[2].length:0,t=t.slice(0,o.index+r)+"["+"a".repeat(o[0].length-r-2)+"]"+t.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);t=this.options.hooks?.emStrongMask?.call({lexer:this},t)??t;let a=!1,c="";for(;i;){a||(c=""),a=!1;let p;if(this.options.extensions?.inline?.some(h=>(p=h.call({lexer:this},i,e))?(i=i.substring(p.raw.length),e.push(p),!0):!1))continue;if(p=this.tokenizer.escape(i)){i=i.substring(p.raw.length),e.push(p);continue}if(p=this.tokenizer.tag(i)){i=i.substring(p.raw.length),e.push(p);continue}if(p=this.tokenizer.link(i)){i=i.substring(p.raw.length),e.push(p);continue}if(p=this.tokenizer.reflink(i,this.tokens.links)){i=i.substring(p.raw.length);let h=e.at(-1);p.type==="text"&&h?.type==="text"?(h.raw+=p.raw,h.text+=p.text):e.push(p);continue}if(p=this.tokenizer.emStrong(i,t,c)){i=i.substring(p.raw.length),e.push(p);continue}if(p=this.tokenizer.codespan(i)){i=i.substring(p.raw.length),e.push(p);continue}if(p=this.tokenizer.br(i)){i=i.substring(p.raw.length),e.push(p);continue}if(p=this.tokenizer.del(i,t,c)){i=i.substring(p.raw.length),e.push(p);continue}if(p=this.tokenizer.autolink(i)){i=i.substring(p.raw.length),e.push(p);continue}if(!this.state.inLink&&(p=this.tokenizer.url(i))){i=i.substring(p.raw.length),e.push(p);continue}let u=i;if(this.options.extensions?.startInline){let h=1/0,g=i.slice(1),S;this.options.extensions.startInline.forEach(x=>{S=x.call({lexer:this},g),typeof S=="number"&&S>=0&&(h=Math.min(h,S))}),h<1/0&&h>=0&&(u=i.substring(0,h+1))}if(p=this.tokenizer.inlineText(u)){i=i.substring(p.raw.length),p.raw.slice(-1)!=="_"&&(c=p.raw.slice(-1)),a=!0;let h=e.at(-1);h?.type==="text"?(h.raw+=p.raw,h.text+=p.text):e.push(p);continue}if(i){let h="Infinite loop on byte: "+i.charCodeAt(0);if(this.options.silent){console.error(h);break}else throw new Error(h)}}return e}},zp=class{options;parser;constructor(n){this.options=n||uh}space(n){return""}code({text:n,lang:i,escaped:e}){let t=(i||"").match(os.notSpaceStart)?.[0],o=n.replace(os.endingNewline,"")+`
`;return t?'<pre><code class="language-'+bd(t)+'">'+(e?o:bd(o,!0))+`</code></pre>
`:"<pre><code>"+(e?o:bd(o,!0))+`</code></pre>
`+o.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=a.text):e.push(o);continue}if(i){let a="Infinite loop on byte: "+i.charCodeAt(0);if(this.options.silent){console.error(a);break}else throw new Error(a)}}return this.state.top=!0,e}inline(i,e=[]){return this.inlineQueue.push({src:i,tokens:e}),e}inlineTokens(i,e=[]){this.tokenizer.lexer=this;let t=i,o=null;if(this.tokens.links){let p=Object.keys(this.tokens.links);if(p.length>0)for(;(o=this.tokenizer.rules.inline.reflinkSearch.exec(t))!=null;)p.includes(o[0].slice(o[0].lastIndexOf("[")+1,-1))&&(t=t.slice(0,o.index)+"["+"a".repeat(o[0].length-2)+"]"+t.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;(o=this.tokenizer.rules.inline.anyPunctuation.exec(t))!=null;)t=t.slice(0,o.index)+"++"+t.slice(this.tokenizer.rules.inline.anyPunctuation.lastIndex);let r;for(;(o=this.tokenizer.rules.inline.blockSkip.exec(t))!=null;)r=o[2]?o[2].length:0,t=t.slice(0,o.index+r)+"["+"a".repeat(o[0].length-r-2)+"]"+t.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);t=this.options.hooks?.emStrongMask?.call({lexer:this},t)??t;let a=!1,c="";for(;i;){a||(c=""),a=!1;let p;if(this.options.extensions?.inline?.some(h=>(p=h.call({lexer:this},i,e))?(i=i.substring(p.raw.length),e.push(p),!0):!1))continue;if(p=this.tokenizer.escape(i)){i=i.substring(p.raw.length),e.push(p);continue}if(p=this.tokenizer.tag(i)){i=i.substring(p.raw.length),e.push(p);continue}if(p=this.tokenizer.link(i)){i=i.substring(p.raw.length),e.push(p);continue}if(p=this.tokenizer.reflink(i,this.tokens.links)){i=i.substring(p.raw.length);let h=e.at(-1);p.type==="text"&&h?.type==="text"?(h.raw+=p.raw,h.text+=p.text):e.push(p);continue}if(p=this.tokenizer.emStrong(i,t,c)){i=i.substring(p.raw.length),e.push(p);continue}if(p=this.tokenizer.codespan(i)){i=i.substring(p.raw.length),e.push(p);continue}if(p=this.tokenizer.br(i)){i=i.substring(p.raw.length),e.push(p);continue}if(p=this.tokenizer.del(i,t,c)){i=i.substring(p.raw.length),e.push(p);continue}if(p=this.tokenizer.autolink(i)){i=i.substring(p.raw.length),e.push(p);continue}if(!this.state.inLink&&(p=this.tokenizer.url(i))){i=i.substring(p.raw.length),e.push(p);continue}let u=i;if(this.options.extensions?.startInline){let h=1/0,_=i.slice(1),S;this.options.extensions.startInline.forEach(x=>{S=x.call({lexer:this},_),typeof S=="number"&&S>=0&&(h=Math.min(h,S))}),h<1/0&&h>=0&&(u=i.substring(0,h+1))}if(p=this.tokenizer.inlineText(u)){i=i.substring(p.raw.length),p.raw.slice(-1)!=="_"&&(c=p.raw.slice(-1)),a=!0;let h=e.at(-1);h?.type==="text"?(h.raw+=p.raw,h.text+=p.text):e.push(p);continue}if(i){let h="Infinite loop on byte: "+i.charCodeAt(0);if(this.options.silent){console.error(h);break}else throw new Error(h)}}return e}},cp=class{options;parser;constructor(n){this.options=n||Ou}space(n){return""}code({text:n,lang:i,escaped:e}){let t=(i||"").match(qa.notSpaceStart)?.[0],o=n.replace(qa.endingNewline,"")+`
`;return t?'<pre><code class="language-'+td(t)+'">'+(e?o:td(o,!0))+`</code></pre>
`:"<pre><code>"+(e?o:td(o,!0))+`</code></pre>
`}blockquote({tokens:n}){return`<blockquote>
${this.parser.parse(n)}</blockquote>
`}html({text:n}){return n}def(n){return""}heading({tokens:n,depth:i}){return`<h${i}>${this.parser.parseInline(n)}</h${i}>
@@ -160,16 +160,16 @@ ${this.parser.parse(n)}</blockquote>
`}tablerow({text:n}){return`<tr>
${n}</tr>
`}tablecell(n){let i=this.parser.parseInline(n.tokens),e=n.header?"th":"td";return(n.align?`<${e} align="${n.align}">`:`<${e}>`)+i+`</${e}>
`}strong({tokens:n}){return`<strong>${this.parser.parseInline(n)}</strong>`}em({tokens:n}){return`<em>${this.parser.parseInline(n)}</em>`}codespan({text:n}){return`<code>${bd(n,!0)}</code>`}br(n){return"<br>"}del({tokens:n}){return`<del>${this.parser.parseInline(n)}</del>`}link({href:n,title:i,tokens:e}){let t=this.parser.parseInline(e),o=dH(n);if(o===null)return t;n=o;let r='<a href="'+n+'"';return i&&(r+=' title="'+bd(i)+'"'),r+=">"+t+"</a>",r}image({href:n,title:i,text:e,tokens:t}){t&&(e=this.parser.parseInline(t,this.parser.textRenderer));let o=dH(n);if(o===null)return bd(e);n=o;let r=`<img src="${n}" alt="${bd(e)}"`;return i&&(r+=` title="${bd(i)}"`),r+=">",r}text(n){return"tokens"in n&&n.tokens?this.parser.parseInline(n.tokens):"escaped"in n&&n.escaped?n.text:bd(n.text)}},oN=class{strong({text:n}){return n}em({text:n}){return n}codespan({text:n}){return n}del({text:n}){return n}html({text:n}){return n}text({text:n}){return n}link({text:n}){return""+n}image({text:n}){return""+n}br(){return""}checkbox({raw:n}){return n}},fc=class X4{options;renderer;textRenderer;constructor(i){this.options=i||uh,this.options.renderer=this.options.renderer||new zp,this.renderer=this.options.renderer,this.renderer.options=this.options,this.renderer.parser=this,this.textRenderer=new oN}static parse(i,e){return new X4(e).parse(i)}static parseInline(i,e){return new X4(e).parseInline(i)}parse(i){this.renderer.parser=this;let e="";for(let t=0;t<i.length;t++){let o=i[t];if(this.options.extensions?.renderers?.[o.type]){let a=o,c=this.options.extensions.renderers[a.type].call({parser:this},a);if(c!==!1||!["space","hr","heading","code","table","blockquote","list","html","def","paragraph","text"].includes(a.type)){e+=c||"";continue}}let r=o;switch(r.type){case"space":{e+=this.renderer.space(r);break}case"hr":{e+=this.renderer.hr(r);break}case"heading":{e+=this.renderer.heading(r);break}case"code":{e+=this.renderer.code(r);break}case"table":{e+=this.renderer.table(r);break}case"blockquote":{e+=this.renderer.blockquote(r);break}case"list":{e+=this.renderer.list(r);break}case"checkbox":{e+=this.renderer.checkbox(r);break}case"html":{e+=this.renderer.html(r);break}case"def":{e+=this.renderer.def(r);break}case"paragraph":{e+=this.renderer.paragraph(r);break}case"text":{e+=this.renderer.text(r);break}default:{let a='Token with "'+r.type+'" type was not found.';if(this.options.silent)return console.error(a),"";throw new Error(a)}}}return e}parseInline(i,e=this.renderer){this.renderer.parser=this;let t="";for(let o=0;o<i.length;o++){let r=i[o];if(this.options.extensions?.renderers?.[r.type]){let c=this.options.extensions.renderers[r.type].call({parser:this},r);if(c!==!1||!["escape","html","link","image","strong","em","codespan","br","del","text"].includes(r.type)){t+=c||"";continue}}let a=r;switch(a.type){case"escape":{t+=e.text(a);break}case"html":{t+=e.html(a);break}case"link":{t+=e.link(a);break}case"image":{t+=e.image(a);break}case"checkbox":{t+=e.checkbox(a);break}case"strong":{t+=e.strong(a);break}case"em":{t+=e.em(a);break}case"codespan":{t+=e.codespan(a);break}case"br":{t+=e.br(a);break}case"del":{t+=e.del(a);break}case"text":{t+=e.text(a);break}default:{let c='Token with "'+a.type+'" type was not found.';if(this.options.silent)return console.error(c),"";throw new Error(c)}}}return t}},UC=class{options;block;constructor(n){this.options=n||uh}static passThroughHooks=new Set(["preprocess","postprocess","processAllTokens","emStrongMask"]);static passThroughHooksRespectAsync=new Set(["preprocess","postprocess","processAllTokens"]);preprocess(n){return n}postprocess(n){return n}processAllTokens(n){return n}emStrongMask(n){return n}provideLexer(){return this.block?hc.lex:hc.lexInline}provideParser(){return this.block?fc.parse:fc.parseInline}},Nxe=class{defaults=K4();options=this.setOptions;parse=this.parseMarkdown(!0);parseInline=this.parseMarkdown(!1);Parser=fc;Renderer=zp;TextRenderer=oN;Lexer=hc;Tokenizer=A2;Hooks=UC;constructor(...n){this.use(...n)}walkTokens(n,i){let e=[];for(let t of n)switch(e=e.concat(i.call(this,t)),t.type){case"table":{let o=t;for(let r of o.header)e=e.concat(this.walkTokens(r.tokens,i));for(let r of o.rows)for(let a of r)e=e.concat(this.walkTokens(a.tokens,i));break}case"list":{let o=t;e=e.concat(this.walkTokens(o.items,i));break}default:{let o=t;this.defaults.extensions?.childTokens?.[o.type]?this.defaults.extensions.childTokens[o.type].forEach(r=>{let a=o[r].flat(1/0);e=e.concat(this.walkTokens(a,i))}):o.tokens&&(e=e.concat(this.walkTokens(o.tokens,i)))}}return e}use(...n){let i=this.defaults.extensions||{renderers:{},childTokens:{}};return n.forEach(e=>{let t=q({},e);if(t.async=this.defaults.async||t.async||!1,e.extensions&&(e.extensions.forEach(o=>{if(!o.name)throw new Error("extension name required");if("renderer"in o){let r=i.renderers[o.name];r?i.renderers[o.name]=function(...a){let c=o.renderer.apply(this,a);return c===!1&&(c=r.apply(this,a)),c}:i.renderers[o.name]=o.renderer}if("tokenizer"in o){if(!oLine truncated
Please report this to https://github.com/markedjs/marked.`,n){let t="<p>An error occurred:</p><pre>"+bd(e.message+"",!0)+"</pre>";return i?Promise.resolve(t):t}if(i)return Promise.reject(e);throw e}}},ph=new Nxe;function Oi(n,i){return ph.parse(n,i)}Oi.options=Oi.setOptions=function(n){return ph.setOptions(n),Oi.defaults=ph.defaults,uH(Oi.defaults),Oi};Oi.getDefaults=K4;Oi.defaults=uh;Oi.use=function(...n){return ph.use(...n),Oi.defaults=ph.defaults,uH(Oi.defaults),Oi};Oi.walkTokens=function(n,i){return ph.walkTokens(n,i)};Oi.parseInline=ph.parseInline;Oi.Parser=fc;Oi.parser=fc.parse;Oi.Renderer=zp;Oi.TextRenderer=oN;Oi.Lexer=hc;Oi.lexer=hc.lex;Oi.Tokenizer=A2;Oi.Hooks=UC;Oi.parse=Oi;var Uxt=Oi.options,Gxt=Oi.setOptions,Wxt=Oi.use,qxt=Oi.walkTokens,Qxt=Oi.parseInline;var Xxt=fc.parse,Kxt=hc.lex;var Fxe=["*"],Rxe="Copy",Lxe="Copied",Bxe=(()=>{class n{constructor(){this._buttonClick$=new $e,this.copied=aH(this._buttonClick$.pipe(un(()=>Wn(bt(!0),rs(3e3).pipe(jN(!1)))),qp(),Qp(1))),this.copiedText=Zt(()=>this.copied()?Lxe:Rxe)}onCopyToClipboardClick(){this._buttonClick$.next()}static{this.\u0275fac=function(t){return new(t||n)}}static{this.\u0275cmp=F({type:n,selectors:[["markdown-clipboard"]],decls:2,vars:3,consts:[[1,"markdown-clipboard-button",3,"click"]],template:function(t,o){t&1&&(So(0,"button",0),u1("click",function(){return o.onCopyToClipboardClick()}),d(1),Eo()),t&2&&(Ve("copied",o.copied()),m(),j(o.copiedText()))},encapsulation:2,changeDetection:0})}}return n})(),Vxe=new $t("CLIPBOARD_OPTIONS");var zxe=new $t("MARKED_EXTENSIONS"),jxe=new $t("MARKED_OPTIONS"),$xe=new $t("MERMAID_OPTIONS"),Hxe=new $t("SANITIZE");function Uxe(n){return typeof n=="function"}var Gxe="[ngx-markdown] When using the `emoji` attribute you *have to* include Emoji-Toolkit files to `angular.json` or use imports. See README for more information",Wxe="[ngx-markdown] When using the `katex` attribute you *have to* include KaTeX files to `angular.json` or use imports. See README for more information",qxe="[ngx-markdown] When using the `mermaid` attribute you *have to* include Mermaid files to `angular.json` or use imports. See README for more information",Qxe="[ngx-markdown] When using the `clipboard` attribute you *have to* include Clipboard files to `angular.json` or use imports. See README for more information",Xxe="[ngx-markdown] When using the `clipboard` attribute you *have to* provide the `viewContainerRef` parameter to `MarkdownService.render()` function",Kxe="[ngx-markdown] When using the `src` attribute you *have to* pass the `HttpClient` as a parameter of the `forRoot` method. See README for more information";var SH=(()=>{class n{get options(){return this._options}set options(e){this._options=q(q({},this.DEFAULT_MARKED_OPTIONS),e)}get renderer(){return this.options.renderer}set renderer(e){this.options.renderer=e}constructor(){this.clipboardOptions=f(Vxe,{optional:!0}),this.extensions=f(zxe,{optional:!0}),this.http=f(il,{optional:!0}),this.mermaidOptions=f($xe,{optional:!0}),this.platform=f(vh),this.sanitize=f(Hxe,{optional:!0}),this.sanitizer=f(yr),this.DEFAULT_MARKED_OPTIONS={renderer:new zp},this.DEFAULT_KATEX_OPTIONS={delimiters:[{left:"$$",right:"$$",display:!0},{left:"$",right:"$",display:!1},{left:"\\(",right:"\\)",display:!1},{left:"\\begin{equation}",right:"\\end{equation}",display:!0},{left:"\\begin{align}",right:"\\end{align}",display:!0},{left:"\\begin{alignat}",right:"\\end{alignat}",display:!0},{left:"\\begin{gather}",right:"\\end{gather}",display:!0},{left:"\\begin{CD}",right:"\\end{CD}",display:!0},{left:"\\[",right:"\\]",display:!0}]},this.DEFAULT_MERMAID_OPTIONS={startOnLoad:!1},this.DEFAULT_CLIPBOARD_OPTIONS={buttonComponent:void 0},this.DEFAULT_PARSE_OPTIONS={decodeHtml:!1,inline:!1,emoji:!1,mermaid:!1,markedOptions:void 0,disableSanitizer:!1},this.DEFAULT_RENDER_OPTIONS={clipboard:!1,clipboardOptions:void 0,katex:!1,katexOptions:void 0,mermaid:!1,mermaidOptions:void 0},this.DEFAULT_SECURITY_CONTEXT=qT.HTML,this._options=null,this._reload$=new $e,this.reload$=this._reload$.asObservable(),this.options=f(jxe,{optional:!0})}parse(e,t=this.DEFAULT_PARSE_OPTIONS){let{decodeHtml:o,inline:r,emoji:a,mermaid:c,disableSanitizer:p}=t,u=q(q({},this.options),t.markedOptions),h=u.renderer||this.renderer||new zp;this.extensions&&(this.renderer=this.extendsRendererForExtensions(h)),c&&(this.renderer=this.extendsRendererForMermaid(h));let g=this.trimIndentation(e),S=o?this.decodeHtml(g):g,x=a?this.parseEmoji(S):S,C=this.parseMarked(x,u,r);return p?C:this.sanitizeHtml(C)}render(e,t=this.DEFAULT_RENDER_OPTIONS,o){let{clipboard:r,clipboardOptions:a,katex:c,katexOptions:p,mermaid:u,mermaidOptions:h}=t;c&&this.renderKatex(e,q(q({},this.DEFAULT_KATEX_OPTIONS),p)),u&&this.renderMermaid(e,q(q(q({},this.DEFAULT_MERMAID_OPTIONS),this.mermaidOptions),h)),r&&this.renderClipboard(e,o,q(q(q({},this.DEFAULT_CLIPBOARD_OPTIONS),this.clipboardOptions),a)),this.highlight(e)}reload(){this._reload$.next()}getSource(e){if(!this.http)throw n Line truncated
`+t+"\n```":t}parseMarked(e,t,o=!1){if(t.renderer){let r=q({},t.renderer);delete r.\u0275NgxMarkdownRendererExtendedForExtensions,delete r.\u0275NgxMarkdownRendererExtendedForMermaid,delete t.renderer,Oi.use({renderer:r})}return o?Oi.parseInline(e,t):Oi.parse(e,t)}parseEmoji(e){if(!Ns(this.platform))return e;if(typeof joypixels>"u"||typeof joypixels.shortnameToUnicode>"u")throw new Error(Gxe);return joypixels.shortnameToUnicode(e)}renderKatex(e,t){if(Ns(this.platform)){if(typeof katex>"u"||typeof renderMathInElement>"u")throw new Error(Wxe);renderMathInElement(e,t)}}renderClipboard(e,t,o){if(!Ns(this.platform))return;if(typeof ClipboardJS>"u")throw new Error(Qxe);if(!t)throw new Error(Xxe);let{buttonComponent:r,buttonTemplate:a}=o,c=e.querySelectorAll("pre");for(let p=0;p<c.length;p++){let u=c.item(p),h=document.createElement("div");h.style.position="relative",u.parentNode.insertBefore(h,u),h.appendChild(u);let g=document.createElement("div");g.classList.add("markdown-clipboard-toolbar"),g.style.position="absolute",g.style.top=".5em",g.style.right=".5em",g.style.zIndex="1",h.insertAdjacentElement("beforeend",g),h.onmouseenter=()=>g.classList.add("hover"),h.onmouseleave=()=>g.classList.remove("hover");let S;if(r){let C=t.createComponent(r);S=C.hostView,C.changeDetectorRef.markForCheck()}else if(a)S=t.createEmbeddedView(a);else{let C=t.createComponent(Bxe);S=C.hostView,C.changeDetectorRef.markForCheck()}let x;S.rootNodes.forEach(C=>{g.appendChild(C),x=new ClipboardJS(C,{text:()=>u.innerText})}),S.onDestroy(()=>x.destroy())}}renderMermaid(e,t=this.DEFAULT_MERMAID_OPTIONS){if(!Ns(this.platform))return;if(typeof mermaid>"u"||typeof mermaid.initialize>"u")throw new Error(qxe);let o=e.querySelectorAll(".mermaid");o.length!==0&&(mermaid.initialize(t),mermaid.run({nodes:o}))}trimIndentation(e){if(!e)return"";let t;return e.split(`
`}strong({tokens:n}){return`<strong>${this.parser.parseInline(n)}</strong>`}em({tokens:n}){return`<em>${this.parser.parseInline(n)}</em>`}codespan({text:n}){return`<code>${td(n,!0)}</code>`}br(n){return"<br>"}del({tokens:n}){return`<del>${this.parser.parseInline(n)}</del>`}link({href:n,title:i,tokens:e}){let t=this.parser.parseInline(e),o=Az(n);if(o===null)return t;n=o;let r='<a href="'+n+'"';return i&&(r+=' title="'+td(i)+'"'),r+=">"+t+"</a>",r}image({href:n,title:i,text:e,tokens:t}){t&&(e=this.parser.parseInline(t,this.parser.textRenderer));let o=Az(n);if(o===null)return td(e);n=o;let r=`<img src="${n}" alt="${td(e)}"`;return i&&(r+=` title="${td(i)}"`),r+=">",r}text(n){return"tokens"in n&&n.tokens?this.parser.parseInline(n.tokens):"escaped"in n&&n.escaped?n.text:td(n.text)}},LA=class{strong({text:n}){return n}em({text:n}){return n}codespan({text:n}){return n}del({text:n}){return n}html({text:n}){return n}text({text:n}){return n}link({text:n}){return""+n}image({text:n}){return""+n}br(){return""}checkbox({raw:n}){return n}},Jl=class EA{options;renderer;textRenderer;constructor(i){this.options=i||Ou,this.options.renderer=this.options.renderer||new cp,this.renderer=this.options.renderer,this.renderer.options=this.options,this.renderer.parser=this,this.textRenderer=new LA}static parse(i,e){return new EA(e).parse(i)}static parseInline(i,e){return new EA(e).parseInline(i)}parse(i){this.renderer.parser=this;let e="";for(let t=0;t<i.length;t++){let o=i[t];if(this.options.extensions?.renderers?.[o.type]){let a=o,c=this.options.extensions.renderers[a.type].call({parser:this},a);if(c!==!1||!["space","hr","heading","code","table","blockquote","list","html","def","paragraph","text"].includes(a.type)){e+=c||"";continue}}let r=o;switch(r.type){case"space":{e+=this.renderer.space(r);break}case"hr":{e+=this.renderer.hr(r);break}case"heading":{e+=this.renderer.heading(r);break}case"code":{e+=this.renderer.code(r);break}case"table":{e+=this.renderer.table(r);break}case"blockquote":{e+=this.renderer.blockquote(r);break}case"list":{e+=this.renderer.list(r);break}case"checkbox":{e+=this.renderer.checkbox(r);break}case"html":{e+=this.renderer.html(r);break}case"def":{e+=this.renderer.def(r);break}case"paragraph":{e+=this.renderer.paragraph(r);break}case"text":{e+=this.renderer.text(r);break}default:{let a='Token with "'+r.type+'" type was not found.';if(this.options.silent)return console.error(a),"";throw new Error(a)}}}return e}parseInline(i,e=this.renderer){this.renderer.parser=this;let t="";for(let o=0;o<i.length;o++){let r=i[o];if(this.options.extensions?.renderers?.[r.type]){let c=this.options.extensions.renderers[r.type].call({parser:this},r);if(c!==!1||!["escape","html","link","image","strong","em","codespan","br","del","text"].includes(r.type)){t+=c||"";continue}}let a=r;switch(a.type){case"escape":{t+=e.text(a);break}case"html":{t+=e.html(a);break}case"link":{t+=e.link(a);break}case"image":{t+=e.image(a);break}case"checkbox":{t+=e.checkbox(a);break}case"strong":{t+=e.strong(a);break}case"em":{t+=e.em(a);break}case"codespan":{t+=e.codespan(a);break}case"br":{t+=e.br(a);break}case"del":{t+=e.del(a);break}case"text":{t+=e.text(a);break}default:{let c='Token with "'+a.type+'" type was not found.';if(this.options.silent)return console.error(c),"";throw new Error(c)}}}return t}},Nv=class{options;block;constructor(n){this.options=n||Ou}static passThroughHooks=new Set(["preprocess","postprocess","processAllTokens","emStrongMask"]);static passThroughHooksRespectAsync=new Set(["preprocess","postprocess","processAllTokens"]);preprocess(n){return n}postprocess(n){return n}processAllTokens(n){return n}emStrongMask(n){return n}provideLexer(){return this.block?Zl.lex:Zl.lexInline}provideParser(){return this.block?Jl.parse:Jl.parseInline}},v0e=class{defaults=DA();options=this.setOptions;parse=this.parseMarkdown(!0);parseInline=this.parseMarkdown(!1);Parser=Jl;Renderer=cp;TextRenderer=LA;Lexer=Zl;Tokenizer=US;Hooks=Nv;constructor(...n){this.use(...n)}walkTokens(n,i){let e=[];for(let t of n)switch(e=e.concat(i.call(this,t)),t.type){case"table":{let o=t;for(let r of o.header)e=e.concat(this.walkTokens(r.tokens,i));for(let r of o.rows)for(let a of r)e=e.concat(this.walkTokens(a.tokens,i));break}case"list":{let o=t;e=e.concat(this.walkTokens(o.items,i));break}default:{let o=t;this.defaults.extensions?.childTokens?.[o.type]?this.defaults.extensions.childTokens[o.type].forEach(r=>{let a=o[r].flat(1/0);e=e.concat(this.walkTokens(a,i))}):o.tokens&&(e=e.concat(this.walkTokens(o.tokens,i)))}}return e}use(...n){let i=this.defaults.extensions||{renderers:{},childTokens:{}};return n.forEach(e=>{let t=K({},e);if(t.async=this.defaults.async||t.async||!1,e.extensions&&(e.extensions.forEach(o=>{if(!o.name)throw new Error("extension name required");if("renderer"in o){let r=i.renderers[o.name];r?i.renderers[o.name]=function(...a){let c=o.renderer.apply(this,a);return c===!1&&(c=r.apply(this,a)),c}:i.renderers[o.name]=o.renderer}if("tokenizer"in o){if(!oLine truncated
Please report this to https://github.com/markedjs/marked.`,n){let t="<p>An error occurred:</p><pre>"+td(e.message+"",!0)+"</pre>";return i?Promise.resolve(t):t}if(i)return Promise.reject(e);throw e}}},Au=new v0e;function Di(n,i){return Au.parse(n,i)}Di.options=Di.setOptions=function(n){return Au.setOptions(n),Di.defaults=Au.defaults,Fz(Di.defaults),Di};Di.getDefaults=DA;Di.defaults=Ou;Di.use=function(...n){return Au.use(...n),Di.defaults=Au.defaults,Fz(Di.defaults),Di};Di.walkTokens=function(n,i){return Au.walkTokens(n,i)};Di.parseInline=Au.parseInline;Di.Parser=Jl;Di.parser=Jl.parse;Di.Renderer=cp;Di.TextRenderer=LA;Di.Lexer=Zl;Di.lexer=Zl.lex;Di.Tokenizer=US;Di.Hooks=Nv;Di.parse=Di;var k_t=Di.options,T_t=Di.setOptions,E_t=Di.use,D_t=Di.walkTokens,P_t=Di.parseInline;var I_t=Jl.parse,A_t=Zl.lex;var C0e=["*"],b0e="Copy",x0e="Copied",y0e=(()=>{class n{constructor(){this._buttonClick$=new He,this.copied=Ez(this._buttonClick$.pipe(Un(()=>Hn(Nn(!0),Qa(3e3).pipe(CO(!1)))),gp(),_p(1))),this.copiedText=Jt(()=>this.copied()?x0e:b0e)}onCopyToClipboardClick(){this._buttonClick$.next()}static{this.\u0275fac=function(t){return new(t||n)}}static{this.\u0275cmp=F({type:n,selectors:[["markdown-clipboard"]],decls:2,vars:3,consts:[[1,"markdown-clipboard-button",3,"click"]],template:function(t,o){t&1&&(vo(0,"button",0),Jv("click",function(){return o.onCopyToClipboardClick()}),d(1),wo()),t&2&&(Be("copied",o.copied()),m(),j(o.copiedText()))},encapsulation:2,changeDetection:0})}}return n})(),S0e=new cn("CLIPBOARD_OPTIONS");var w0e=new cn("MARKED_EXTENSIONS"),M0e=new cn("MARKED_OPTIONS"),k0e=new cn("MERMAID_OPTIONS"),T0e=new cn("SANITIZE");function E0e(n){return typeof n=="function"}var D0e="[ngx-markdown] When using the `emoji` attribute you *have to* include Emoji-Toolkit files to `angular.json` or use imports. See README for more information",P0e="[ngx-markdown] When using the `katex` attribute you *have to* include KaTeX files to `angular.json` or use imports. See README for more information",I0e="[ngx-markdown] When using the `mermaid` attribute you *have to* include Mermaid files to `angular.json` or use imports. See README for more information",A0e="[ngx-markdown] When using the `clipboard` attribute you *have to* include Clipboard files to `angular.json` or use imports. See README for more information",O0e="[ngx-markdown] When using the `clipboard` attribute you *have to* provide the `viewContainerRef` parameter to `MarkdownService.render()` function",N0e="[ngx-markdown] When using the `src` attribute you *have to* pass the `HttpClient` as a parameter of the `forRoot` method. See README for more information";var Gz=(()=>{class n{get options(){return this._options}set options(e){this._options=K(K({},this.DEFAULT_MARKED_OPTIONS),e)}get renderer(){return this.options.renderer}set renderer(e){this.options.renderer=e}constructor(){this.clipboardOptions=f(S0e,{optional:!0}),this.extensions=f(w0e,{optional:!0}),this.http=f(js,{optional:!0}),this.mermaidOptions=f(k0e,{optional:!0}),this.platform=f(Bu),this.sanitize=f(T0e,{optional:!0}),this.sanitizer=f(fr),this.DEFAULT_MARKED_OPTIONS={renderer:new cp},this.DEFAULT_KATEX_OPTIONS={delimiters:[{left:"$$",right:"$$",display:!0},{left:"$",right:"$",display:!1},{left:"\\(",right:"\\)",display:!1},{left:"\\begin{equation}",right:"\\end{equation}",display:!0},{left:"\\begin{align}",right:"\\end{align}",display:!0},{left:"\\begin{alignat}",right:"\\end{alignat}",display:!0},{left:"\\begin{gather}",right:"\\end{gather}",display:!0},{left:"\\begin{CD}",right:"\\end{CD}",display:!0},{left:"\\[",right:"\\]",display:!0}]},this.DEFAULT_MERMAID_OPTIONS={startOnLoad:!1},this.DEFAULT_CLIPBOARD_OPTIONS={buttonComponent:void 0},this.DEFAULT_PARSE_OPTIONS={decodeHtml:!1,inline:!1,emoji:!1,mermaid:!1,markedOptions:void 0,disableSanitizer:!1},this.DEFAULT_RENDER_OPTIONS={clipboard:!1,clipboardOptions:void 0,katex:!1,katexOptions:void 0,mermaid:!1,mermaidOptions:void 0},this.DEFAULT_SECURITY_CONTEXT=sk.HTML,this._options=null,this._reload$=new He,this.reload$=this._reload$.asObservable(),this.options=f(M0e,{optional:!0})}parse(e,t=this.DEFAULT_PARSE_OPTIONS){let{decodeHtml:o,inline:r,emoji:a,mermaid:c,disableSanitizer:p}=t,u=K(K({},this.options),t.markedOptions),h=u.renderer||this.renderer||new cp;this.extensions&&(this.renderer=this.extendsRendererForExtensions(h)),c&&(this.renderer=this.extendsRendererForMermaid(h));let _=this.trimIndentation(e),S=o?this.decodeHtml(_):_,x=a?this.parseEmoji(S):S,b=this.parseMarked(x,u,r);return p?b:this.sanitizeHtml(b)}render(e,t=this.DEFAULT_RENDER_OPTIONS,o){let{clipboard:r,clipboardOptions:a,katex:c,katexOptions:p,mermaid:u,mermaidOptions:h}=t;c&&this.renderKatex(e,K(K({},this.DEFAULT_KATEX_OPTIONS),p)),u&&this.renderMermaid(e,K(K(K({},this.DEFAULT_MERMAID_OPTIONS),this.mermaidOptions),h)),r&&this.renderClipboard(e,o,K(K(K({},this.DEFAULT_CLIPBOARD_OPTIONS),this.clipboardOptions),a)),this.highlight(e)}reload(){this._reload$.next()}getSource(e){if(!this.http)throw n Line truncated
`+t+"\n```":t}parseMarked(e,t,o=!1){if(t.renderer){let r=K({},t.renderer);delete r.\u0275NgxMarkdownRendererExtendedForExtensions,delete r.\u0275NgxMarkdownRendererExtendedForMermaid,delete t.renderer,Di.use({renderer:r})}return o?Di.parseInline(e,t):Di.parse(e,t)}parseEmoji(e){if(!xs(this.platform))return e;if(typeof joypixels>"u"||typeof joypixels.shortnameToUnicode>"u")throw new Error(D0e);return joypixels.shortnameToUnicode(e)}renderKatex(e,t){if(xs(this.platform)){if(typeof katex>"u"||typeof renderMathInElement>"u")throw new Error(P0e);renderMathInElement(e,t)}}renderClipboard(e,t,o){if(!xs(this.platform))return;if(typeof ClipboardJS>"u")throw new Error(A0e);if(!t)throw new Error(O0e);let{buttonComponent:r,buttonTemplate:a}=o,c=e.querySelectorAll("pre");for(let p=0;p<c.length;p++){let u=c.item(p),h=document.createElement("div");h.style.position="relative",u.parentNode.insertBefore(h,u),h.appendChild(u);let _=document.createElement("div");_.classList.add("markdown-clipboard-toolbar"),_.style.position="absolute",_.style.top=".5em",_.style.right=".5em",_.style.zIndex="1",h.insertAdjacentElement("beforeend",_),h.onmouseenter=()=>_.classList.add("hover"),h.onmouseleave=()=>_.classList.remove("hover");let S;if(r){let b=t.createComponent(r);S=b.hostView,b.changeDetectorRef.markForCheck()}else if(a)S=t.createEmbeddedView(a);else{let b=t.createComponent(y0e);S=b.hostView,b.changeDetectorRef.markForCheck()}let x;S.rootNodes.forEach(b=>{_.appendChild(b),x=new ClipboardJS(b,{text:()=>u.innerText})}),S.onDestroy(()=>x.destroy())}}renderMermaid(e,t=this.DEFAULT_MERMAID_OPTIONS){if(!xs(this.platform))return;if(typeof mermaid>"u"||typeof mermaid.initialize>"u")throw new Error(I0e);let o=e.querySelectorAll(".mermaid");o.length!==0&&(mermaid.initialize(t),mermaid.run({nodes:o}))}trimIndentation(e){if(!e)return"";let t;return e.split(`
`).map(o=>{let r=t;return o.length>0&&(r=isNaN(r)?o.search(/\S|$/):Math.min(o.search(/\S|$/),r)),isNaN(t)&&(t=r),r?o.substring(r):o}).join(`
`)}async sanitizeHtml(e){return Uxe(this.sanitize)?this.sanitize(await e):this.sanitize!==qT.NONE?this.sanitizer.sanitize(this.sanitize??this.DEFAULT_SECURITY_CONTEXT,e)??"":e}static{this.\u0275fac=function(t){return new(t||n)}}static{this.\u0275prov=K({token:n,factory:n.\u0275fac})}}return n})(),rN=(function(n){return n.CommandLine="command-line",n.LineHighlight="line-highlight",n.LineNumbers="line-numbers",n})(rN||{}),F2=(()=>{class n{constructor(){this.element=f(Yt),this.markdownService=f(SH),this.viewContainerRef=f(Xi),this.error=new _e,this.load=new _e,this.ready=new _e,this._clipboard=!1,this._commandLine=!1,this._disableSanitizer=!1,this._emoji=!1,this._inline=!1,this._katex=!1,this._lineHighlight=!1,this._lineNumbers=!1,this._mermaid=!1,this.destroyed$=new $e}get disableSanitizer(){return this._disableSanitizer}set disableSanitizer(e){this._disableSanitizer=this.coerceBooleanProperty(e)}get inline(){return this._inline}set inline(e){this._inline=this.coerceBooleanProperty(e)}get clipboard(){return this._clipboard}set clipboard(e){this._clipboard=this.coerceBooleanProperty(e)}get emoji(){return this._emoji}set emoji(e){this._emoji=this.coerceBooleanProperty(e)}get katex(){return this._katex}set katex(e){this._katex=this.coerceBooleanProperty(e)}get mermaid(){return this._mermaid}set mermaid(e){this._mermaid=this.coerceBooleanProperty(e)}get lineHighlight(){return this._lineHighlight}set lineHighlight(e){this._lineHighlight=this.coerceBooleanProperty(e)}get lineNumbers(){return this._lineNumbers}set lineNumbers(e){this._lineNumbers=this.coerceBooleanProperty(e)}get commandLine(){return this._commandLine}set commandLine(e){this._commandLine=this.coerceBooleanProperty(e)}ngOnChanges(){this.loadContent()}loadContent(){if(this.data!=null){this.handleData();return}if(this.src!=null){this.handleSrc();return}}ngAfterViewInit(){!this.data&&!this.src&&this.handleTransclusion(),this.markdownService.reload$.pipe(Xe(this.destroyed$)).subscribe(()=>this.loadContent())}ngOnDestroy(){this.destroyed$.next(),this.destroyed$.complete()}async render(e,t=!1){let o={decodeHtml:t,inline:this.inline,emoji:this.emoji,mermaid:this.mermaid,disableSanitizer:this.disableSanitizer},r={clipboard:this.clipboard,clipboardOptions:this.getClipboardOptions(),katex:this.katex,katexOptions:this.katexOptions,mermaid:this.mermaid,mermaidOptions:this.mermaidOptions},a=await this.markdownService.parse(e,o);this.element.nativeElement.innerHTML=a,this.handlePlugins(),this.markdownService.render(this.element.nativeElement,r,this.viewContainerRef),this.ready.emit()}coerceBooleanProperty(e){return e!=null&&`${String(e)}`!="false"}getClipboardOptions(){if(this.clipboardButtonComponent||this.clipboardButtonTemplate)return{buttonComponent:this.clipboardButtonComponent,buttonTemplate:this.clipboardButtonTemplate}}handleData(){this.render(this.data)}handleSrc(){this.markdownService.getSource(this.src).subscribe({next:e=>{this.render(e).then(()=>{this.load.emit(e)})},error:e=>this.error.emit(e)})}handleTransclusion(){this.render(this.element.nativeElement.innerHTML,!0)}handlePlugins(){this.commandLine&&(this.setPluginClass(this.element.nativeElement,rN.CommandLine),this.setPluginOptions(this.element.nativeElement,{dataFilterOutput:this.filterOutput,dataHost:this.host,dataPrompt:this.prompt,dataOutput:this.output,dataUser:this.user})),this.lineHighlight&&this.setPluginOptions(this.element.nativeElement,{dataLine:this.line,dataLineOffset:this.lineOffset}),this.lineNumbers&&(this.setPluginClass(this.element.nativeElement,rN.LineNumbers),this.setPluginOptions(this.element.nativeElement,{dataStart:this.start}))}setPluginClass(e,t){let o=e.querySelectorAll("pre");for(let r=0;r<o.length;r++){let a=t instanceof Array?t:[t];o.item(r).classList.add(...a)}}setPluginOptions(e,t){let o=e.querySelectorAll("pre");for(let r=0;r<o.length;r++)Object.keys(t).forEach(a=>{let c=t[a];if(c){let p=this.toLispCase(a);o.item(r).setAttribute(p,c.toString())}})}toLispCase(e){let t=e.match(/([A-Z])/g);if(!t)return e;let o=e.toString();for(let r=0,a=t.length;r<a;r++)o=o.replace(new RegExp(t[r]),"-"+t[r].toLowerCase());return o.slice(0,1)==="-"&&(o=o.slice(1)),o}static{this.\u0275fac=function(t){return new(t||n)}}static{this.\u0275cmp=F({type:n,selectors:[["markdown"],["","markdown",""]],inputs:{data:"data",src:"src",disableSanitizer:"disableSanitizer",inline:"inline",clipboard:"clipboard",clipboardButtonComponent:"clipboardButtonComponent",clipboardButtonTemplate:"clipboardButtonTemplate",emoji:"emoji",katex:"katex",katexOptions:"katexOptions",mermaid:"mermaid",mermaidOptions:"mermaidOptions",lineHighlight:"lineHighlight",line:"line",lineOffset:"lineOffset",lineNumbers:"lineNumbers",start:"start",commandLine:"commandLine",filterOutput:"filterOutput",host:"host",prompt:"prompt",output:"output",user:"user"},outputs:{error:"error",load:"load",ready:"ready"},features:[mn],ngContentSelectors:Fxe,decls:1,vars:0,template:function(t,o){t&1&&(si(),sn(0))},encapsulation:2})}}return n})();fu Line truncated
`)}async sanitizeHtml(e){return E0e(this.sanitize)?this.sanitize(await e):this.sanitize!==sk.NONE?this.sanitizer.sanitize(this.sanitize??this.DEFAULT_SECURITY_CONTEXT,e)??"":e}static{this.\u0275fac=function(t){return new(t||n)}}static{this.\u0275prov=J({token:n,factory:n.\u0275fac})}}return n})(),VA=(function(n){return n.CommandLine="command-line",n.LineHighlight="line-highlight",n.LineNumbers="line-numbers",n})(VA||{}),qS=(()=>{class n{constructor(){this.element=f(Zt),this.markdownService=f(Gz),this.viewContainerRef=f(oo),this.error=new ve,this.load=new ve,this.ready=new ve,this._clipboard=!1,this._commandLine=!1,this._disableSanitizer=!1,this._emoji=!1,this._inline=!1,this._katex=!1,this._lineHighlight=!1,this._lineNumbers=!1,this._mermaid=!1,this.destroyed$=new He}get disableSanitizer(){return this._disableSanitizer}set disableSanitizer(e){this._disableSanitizer=this.coerceBooleanProperty(e)}get inline(){return this._inline}set inline(e){this._inline=this.coerceBooleanProperty(e)}get clipboard(){return this._clipboard}set clipboard(e){this._clipboard=this.coerceBooleanProperty(e)}get emoji(){return this._emoji}set emoji(e){this._emoji=this.coerceBooleanProperty(e)}get katex(){return this._katex}set katex(e){this._katex=this.coerceBooleanProperty(e)}get mermaid(){return this._mermaid}set mermaid(e){this._mermaid=this.coerceBooleanProperty(e)}get lineHighlight(){return this._lineHighlight}set lineHighlight(e){this._lineHighlight=this.coerceBooleanProperty(e)}get lineNumbers(){return this._lineNumbers}set lineNumbers(e){this._lineNumbers=this.coerceBooleanProperty(e)}get commandLine(){return this._commandLine}set commandLine(e){this._commandLine=this.coerceBooleanProperty(e)}ngOnChanges(){this.loadContent()}loadContent(){if(this.data!=null){this.handleData();return}if(this.src!=null){this.handleSrc();return}}ngAfterViewInit(){!this.data&&!this.src&&this.handleTransclusion(),this.markdownService.reload$.pipe(tt(this.destroyed$)).subscribe(()=>this.loadContent())}ngOnDestroy(){this.destroyed$.next(),this.destroyed$.complete()}async render(e,t=!1){let o={decodeHtml:t,inline:this.inline,emoji:this.emoji,mermaid:this.mermaid,disableSanitizer:this.disableSanitizer},r={clipboard:this.clipboard,clipboardOptions:this.getClipboardOptions(),katex:this.katex,katexOptions:this.katexOptions,mermaid:this.mermaid,mermaidOptions:this.mermaidOptions},a=await this.markdownService.parse(e,o);this.element.nativeElement.innerHTML=a,this.handlePlugins(),this.markdownService.render(this.element.nativeElement,r,this.viewContainerRef),this.ready.emit()}coerceBooleanProperty(e){return e!=null&&`${String(e)}`!="false"}getClipboardOptions(){if(this.clipboardButtonComponent||this.clipboardButtonTemplate)return{buttonComponent:this.clipboardButtonComponent,buttonTemplate:this.clipboardButtonTemplate}}handleData(){this.render(this.data)}handleSrc(){this.markdownService.getSource(this.src).subscribe({next:e=>{this.render(e).then(()=>{this.load.emit(e)})},error:e=>this.error.emit(e)})}handleTransclusion(){this.render(this.element.nativeElement.innerHTML,!0)}handlePlugins(){this.commandLine&&(this.setPluginClass(this.element.nativeElement,VA.CommandLine),this.setPluginOptions(this.element.nativeElement,{dataFilterOutput:this.filterOutput,dataHost:this.host,dataPrompt:this.prompt,dataOutput:this.output,dataUser:this.user})),this.lineHighlight&&this.setPluginOptions(this.element.nativeElement,{dataLine:this.line,dataLineOffset:this.lineOffset}),this.lineNumbers&&(this.setPluginClass(this.element.nativeElement,VA.LineNumbers),this.setPluginOptions(this.element.nativeElement,{dataStart:this.start}))}setPluginClass(e,t){let o=e.querySelectorAll("pre");for(let r=0;r<o.length;r++){let a=t instanceof Array?t:[t];o.item(r).classList.add(...a)}}setPluginOptions(e,t){let o=e.querySelectorAll("pre");for(let r=0;r<o.length;r++)Object.keys(t).forEach(a=>{let c=t[a];if(c){let p=this.toLispCase(a);o.item(r).setAttribute(p,c.toString())}})}toLispCase(e){let t=e.match(/([A-Z])/g);if(!t)return e;let o=e.toString();for(let r=0,a=t.length;r<a;r++)o=o.replace(new RegExp(t[r]),"-"+t[r].toLowerCase());return o.slice(0,1)==="-"&&(o=o.slice(1)),o}static{this.\u0275fac=function(t){return new(t||n)}}static{this.\u0275cmp=F({type:n,selectors:[["markdown"],["","markdown",""]],inputs:{data:"data",src:"src",disableSanitizer:"disableSanitizer",inline:"inline",clipboard:"clipboard",clipboardButtonComponent:"clipboardButtonComponent",clipboardButtonTemplate:"clipboardButtonTemplate",emoji:"emoji",katex:"katex",katexOptions:"katexOptions",mermaid:"mermaid",mermaidOptions:"mermaidOptions",lineHighlight:"lineHighlight",line:"line",lineOffset:"lineOffset",lineNumbers:"lineNumbers",start:"start",commandLine:"commandLine",filterOutput:"filterOutput",host:"host",prompt:"prompt",output:"output",user:"user"},outputs:{error:"error",load:"load",ready:"ready"},features:[bn],ngContentSelectors:C0e,decls:1,vars:0,template:function(t,o){t&1&&(ii(),on(0))},encapsulation:2})}}return n})();fu Line truncated
name: ${o.name}; `}),t=t.substring(0,t.length-2),t}getCommandLine(e){return e.node_type==="cloud"||e.node_type==="nat"||e.node_type==="ethernet_hub"||e.node_type==="ethernet_switch"||e.node_type==="frame_relay_switch"||e.node_type==="atm_switch"||e.node_type==="dynamips"||e.node_type==="iou"?"Command line information is not supported for this type of node.":e.command_line?e.command_line:"Please start the node in order to get the command line information."}static \u0275fac=function(t){return new(t||n)};static \u0275prov=K({token:n,factory:n.\u0275fac})}return n})();function zye(n,i){if(n&1&&(s(0,"div"),d(1),l()),n&2){let e=i.$implicit;m(),j(e)}}var z2=(()=>{class n{dialogRef=f(Ie);infoService=f(V2);cd=f(X);controller;node;infoList=[];usage="";commandLine="";ngOnInit(){this.infoList=this.infoService.getInfoAboutNode(this.node,this.controller),this.commandLine=this.infoService.getCommandLine(this.node),this.usage=this.node.usage?this.node.usage:"No usage information has been provided for this node.",this.cd.markForCheck()}onCloseClick(){this.dialogRef.close()}static \u0275fac=function(t){return new(t||n)};static \u0275cmp=F({type:n,selectors:[["app-info-dialog"]],inputs:{controller:"controller",node:"node"},decls:17,vars:3,consts:[["mat-dialog-title",""],["mat-icon-button","",1,"close-btn",3,"click"],[1,"modal-form-container"],["animationDuration","0ms"],["label","General information"],[1,"textBox"],["label","Usage instructions"],["label","Command line"]],template:function(t,o){t&1&&(s(0,"h1",0),d(1),s(2,"button",1),_("click",function(){return o.onCloseClick()}),s(3,"mat-icon"),d(4,"close"),l()()(),s(5,"div",2)(6,"mat-tab-group",3)(7,"mat-tab",4)(8,"div",5),Z(9,zye,2,1,"div",null,Ae),l()(),s(11,"mat-tab",6)(12,"div",5),d(13),l()(),s(14,"mat-tab",7)(15,"div",5),d(16),l()()()()),t&2&&(m(),ee(" ",o.node.name," "),m(8),J(o.infoList),m(4),ee(" ",o.usage," "),m(3),ee(" ",o.commandLine," "))},dependencies:[ve,Ne,W,je,oe,de,gn,Io,ar,sr],styles:["[mat-dialog-title][_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center;color:var(--mat-sys-on-surface)}.close-btn[_ngcontent-%COMP%]{margin-left:auto}.modal-form-container[_ngcontent-%COMP%]{padding:16px;height:300px;display:flex;flex-direction:column;color:var(--mat-sys-on-surface-variant)}.modal-form-container[_ngcontent-%COMP%] mat-tab-group[_ngcontent-%COMP%]{flex:1;overflow:auto}.textBox[_ngcontent-%COMP%]{margin-top:8px;color:var(--mat-sys-on-surface-variant)}"],changeDetection:0})}return n})();var j2=(()=>{class n{dialog=f(ot);node=se(void 0);controller=se(void 0);showNode(){let t=this.dialog.open(z2,{panelClass:["base-dialog-panel","show-node-action-dialog-panel"],autoFocus:!1,disableClose:!1}).componentInstance;t.node=this.node(),t.controller=this.controller()}static \u0275fac=function(t){return new(t||n)};static \u0275cmp=F({type:n,selectors:[["app-show-node-action"]],inputs:{node:[1,"node"],controller:[1,"controller"]},decls:5,vars:0,consts:[["mat-menu-item","",3,"click"]],template:function(t,o){t&1&&(s(0,"button",0),_("click",function(){return o.showNode()}),s(1,"mat-icon"),d(2,"info"),l(),s(3,"span"),d(4,"Show node information"),l()())},dependencies:[W,oe,de,Ge,tt],encapsulation:2,changeDetection:0})}return n})();function jye(n,i){n&1&&(s(0,"th",21),d(1,"Source Port : VPI : VCI"),l())}function $ye(n,i){if(n&1&&(s(0,"td",22),d(1),l()),n&2){let e=i.$implicit;m(),j(e.portIn)}}function Hye(n,i){n&1&&(s(0,"th",21),d(1,"Destination Port : VPI : VCI"),l())}function Uye(n,i){if(n&1&&(s(0,"td",22),d(1),l()),n&2){let e=i.$implicit;m(),j(e.portOut)}}function Gye(n,i){n&1&&(s(0,"th",21),d(1,"Actions"),l())}function Wye(n,i){if(n&1){let e=z();s(0,"td",22)(1,"button",23),_("click",function(){let o=T(e).$implicit,r=v();return E(r.delete(o))}),s(2,"mat-icon",24),d(3,"delete"),l()()()}}function qye(n,i){n&1&&R(0,"tr",25)}function Qye(n,i){n&1&&R(0,"tr",26)}var $2=(()=>{class n{dialogRef=f(Ie);nodeService=f(ht);toasterService=f(te);validationService=f(S3);controller;node;name;nameSignal=U("");useVpiOnly=U(!1);sourcePort=U("");sourceVci=U("");destinationPort=U("");destinationVci=U("");sourceVpi=U("");destinationVpi=U("");nodeMappings=ne(new Map);nodeMappingsDataSource=ne([]);displayedColumns=["portIn","portOut","actions"];constructor(){}ngOnInit(){this.nodeService.getNode(this.controller,this.node).subscribe({next:e=>{this.node=e,this.name=e.name,this.nameSignal.set(e.name),this.useVpiOnly.set(!1);let t=e.properties.mappings,o=new Map;Object.keys(t).forEach(r=>{o.set(r,t[r])}),this.nodeMappings.set(o),this.nodeMappingsDataSource.set(Array.from(o.entries()).map(([r,a])=>({portIn:r,portOut:a})))},error:e=>{let t=e.error?.message||e.message||"Failed to load node";this.toasterService.error(t)}})}delete(e){this.nodeMappingsDataSource.set(this.nodeMappingsDataSource().filter(t=>t!==e))}add(){let e=this.validationService.validateMappingEntry(this.sourcePort(),this.sourceVci(),this.destinationPort(),this.destinationVci(),this.sourceVpi Line truncated
`):t||""),this.usage.set(e.properties.usage||""),this.getConfiguration(),this.node.properties.cpus||(this.node.properties.cpus=0),this.node.tags||(this.node.tags=[]),this.cd.markForCheck()},error:e=>{let t=e.error?.message||e.message||"Failed to load node";this.toasterService.error(t),this.cd.markForCheck()}})}getConfiguration(){this.consoleTypes=this.dockerConfigurationService.getConsoleTypes(),this.auxConsoleTypes=this.dockerConfigurationService.getAuxConsoleTypes()}configureCustomAdapters(){let e=this.node.custom_adapters||[];if(e.length===0){let o=parseInt(this.adapter(),10)||1;e=Array.from({length:o},(r,a)=>({adapter_number:a,mac_address:""}))}this.dialogRef=this.dialog.open(Uf,this.conf);let t=this.dialogRef.componentInstance;t.controller=this.controller,t.adapters.set(e),t.saveHandler=o=>{this.node.custom_adapters=o.map(r=>We(q({},r),{mac_address:r.mac_address||null})),this.adapter.set(o.length.toString())}}editNetworkConfiguration(){this.dialogRef=this.dialog.open(G2,this.conf);let e=this.dialogRef.componentInstance;e.controller=this.controller,e.node=this.node}onSaveClick(){let e=this.validationService.validateName(this.nodeName());if(!e.isValid){this.toasterService.error(e.errorMessage||"Name is required");return}let t=this.validationService.validateAdapters(this.adapter(),99);if(!t.isValid){this.toasterService.error(t.errorMessage);return}let o=this.validationService.validateMacAddress(this.macAddress());if(!o.isValid){this.toasterService.error(o.errorMessage);return}let r=this.validationService.validateMemory(this.memory());if(!r.isValid){this.toasterService.error(r.errorMessage);return}let a=this.validationService.validateCpus(this.cpus());if(!a.isValid){this.toasterService.error(a.errorMessage);return}if(!this.consoleHttpPort()||this.consoleHttpPort().trim()===""){this.toasterService.error("Console HTTP port is required");return}let c=this.validationService.validateConsoleHttpPath(this.consoleHttpPath());if(!c.isValid){this.toasterService.error(c.errorMessage);return}let p=this.validationService.validateEnvironment(this.environment(),"Advanced > Environment");if(!p.isValid){this.toasterService.error(p.errorMessage);return}this.node.name=this.nodeName(),this.node.properties.image=this.dockerImage(),this.node.properties.start_command=this.startCommand(),this.node.properties.adapters=parseInt(this.adapter(),10)||0,this.node.properties.mac_address=this.macAddress(),this.node.properties.memory=parseInt(this.memory(),10)||0,this.node.properties.cpus=parseFloat(this.cpus())||0,this.node.console_type=this.consoleType(),this.node.aux_type=this.auxType(),this.node.console_auto_start=this.consoleAutoStart(),this.node.properties.console_resolution=this.consoleResolution(),this.node.properties.console_http_port=parseInt(this.consoleHttpPort(),10)||void 0,this.node.properties.console_http_path=this.consoleHttpPath(),this.node.properties.environment=this.environment(),this.node.properties.extra_hosts=this.extraHosts(),this.node.properties.extra_volumes=this.extraVolumes()?this.extraVolumes().split(`
name: ${o.name}; `}),t=t.substring(0,t.length-2),t}getCommandLine(e){return e.node_type==="cloud"||e.node_type==="nat"||e.node_type==="ethernet_hub"||e.node_type==="ethernet_switch"||e.node_type==="frame_relay_switch"||e.node_type==="atm_switch"||e.node_type==="dynamips"||e.node_type==="iou"?"Command line information is not supported for this type of node.":e.command_line?e.command_line:"Please start the node in order to get the command line information."}static \u0275fac=function(t){return new(t||n)};static \u0275prov=J({token:n,factory:n.\u0275fac})}return n})();function wve(n,i){if(n&1&&(s(0,"div"),d(1),l()),n&2){let e=i.$implicit;m(),j(e)}}var ZS=(()=>{class n{dialogRef=f(Ie);infoService=f(YS);cd=f(Q);controller;node;infoList=[];usage="";commandLine="";ngOnInit(){this.infoList=this.infoService.getInfoAboutNode(this.node,this.controller),this.commandLine=this.infoService.getCommandLine(this.node),this.usage=this.node.usage?this.node.usage:"No usage information has been provided for this node.",this.cd.markForCheck()}onCloseClick(){this.dialogRef.close()}static \u0275fac=function(t){return new(t||n)};static \u0275cmp=F({type:n,selectors:[["app-info-dialog"]],inputs:{controller:"controller",node:"node"},decls:17,vars:3,consts:[["mat-dialog-title",""],["mat-icon-button","",1,"close-btn",3,"click"],[1,"modal-form-container"],["animationDuration","0ms"],["label","General information"],[1,"textBox"],["label","Usage instructions"],["label","Command line"]],template:function(t,o){t&1&&(s(0,"h1",0),d(1),s(2,"button",1),g("click",function(){return o.onCloseClick()}),s(3,"mat-icon"),d(4,"close"),l()()(),s(5,"div",2)(6,"mat-tab-group",3)(7,"mat-tab",4)(8,"div",5),Y(9,wve,2,1,"div",null,Ae),l()(),s(11,"mat-tab",6)(12,"div",5),d(13),l()(),s(14,"mat-tab",7)(15,"div",5),d(16),l()()()()),t&2&&(m(),ee(" ",o.node.name," "),m(8),Z(o.infoList),m(4),ee(" ",o.usage," "),m(3),ee(" ",o.commandLine," "))},dependencies:[_e,Ne,W,je,ie,de,pn,To,tr,nr],styles:["[mat-dialog-title][_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center;color:var(--mat-sys-on-surface)}.close-btn[_ngcontent-%COMP%]{margin-left:auto}.modal-form-container[_ngcontent-%COMP%]{padding:16px;height:300px;display:flex;flex-direction:column;color:var(--mat-sys-on-surface-variant)}.modal-form-container[_ngcontent-%COMP%] mat-tab-group[_ngcontent-%COMP%]{flex:1;overflow:auto}.textBox[_ngcontent-%COMP%]{margin-top:8px;color:var(--mat-sys-on-surface-variant)}"],changeDetection:0})}return n})();var JS=(()=>{class n{dialog=f(nt);node=le(void 0);controller=le(void 0);showNode(){let t=this.dialog.open(ZS,{panelClass:["base-dialog-panel","show-node-action-dialog-panel"],autoFocus:!1,disableClose:!1}).componentInstance;t.node=this.node(),t.controller=this.controller()}static \u0275fac=function(t){return new(t||n)};static \u0275cmp=F({type:n,selectors:[["app-show-node-action"]],inputs:{node:[1,"node"],controller:[1,"controller"]},decls:5,vars:0,consts:[["mat-menu-item","",3,"click"]],template:function(t,o){t&1&&(s(0,"button",0),g("click",function(){return o.showNode()}),s(1,"mat-icon"),d(2,"info"),l(),s(3,"span"),d(4,"Show node information"),l()())},dependencies:[W,ie,de,Ge,Ze],encapsulation:2,changeDetection:0})}return n})();function Mve(n,i){n&1&&(s(0,"th",21),d(1,"Source Port : VPI : VCI"),l())}function kve(n,i){if(n&1&&(s(0,"td",22),d(1),l()),n&2){let e=i.$implicit;m(),j(e.portIn)}}function Tve(n,i){n&1&&(s(0,"th",21),d(1,"Destination Port : VPI : VCI"),l())}function Eve(n,i){if(n&1&&(s(0,"td",22),d(1),l()),n&2){let e=i.$implicit;m(),j(e.portOut)}}function Dve(n,i){n&1&&(s(0,"th",21),d(1,"Actions"),l())}function Pve(n,i){if(n&1){let e=z();s(0,"td",22)(1,"button",23),g("click",function(){let o=k(e).$implicit,r=v();return T(r.delete(o))}),s(2,"mat-icon",24),d(3,"delete"),l()()()}}function Ive(n,i){n&1&&R(0,"tr",25)}function Ave(n,i){n&1&&R(0,"tr",26)}var ew=(()=>{class n{dialogRef=f(Ie);nodeService=f(ut);toasterService=f(te);validationService=f(nP);controller;node;name;nameSignal=U("");useVpiOnly=U(!1);sourcePort=U("");sourceVci=U("");destinationPort=U("");destinationVci=U("");sourceVpi=U("");destinationVpi=U("");nodeMappings=ae(new Map);nodeMappingsDataSource=ae([]);displayedColumns=["portIn","portOut","actions"];constructor(){}ngOnInit(){this.nodeService.getNode(this.controller,this.node).subscribe({next:e=>{this.node=e,this.name=e.name,this.nameSignal.set(e.name),this.useVpiOnly.set(!1);let t=e.properties.mappings,o=new Map;Object.keys(t).forEach(r=>{o.set(r,t[r])}),this.nodeMappings.set(o),this.nodeMappingsDataSource.set(Array.from(o.entries()).map(([r,a])=>({portIn:r,portOut:a})))},error:e=>{let t=e.error?.message||e.message||"Failed to load node";this.toasterService.error(t)}})}delete(e){this.nodeMappingsDataSource.set(this.nodeMappingsDataSource().filter(t=>t!==e))}add(){let e=this.validationService.validateMappingEntry(this.sourcePort(),this.sourceVci(),this.destinationPort(),this.destinationVci(),this.sourceVpi Line truncated
`):t||""),this.usage.set(e.properties.usage||""),this.getConfiguration(),this.node.properties.cpus||(this.node.properties.cpus=0),this.node.tags||(this.node.tags=[]),this.cd.markForCheck()},error:e=>{let t=e.error?.message||e.message||"Failed to load node";this.toasterService.error(t),this.cd.markForCheck()}})}getConfiguration(){this.consoleTypes=this.dockerConfigurationService.getConsoleTypes(),this.auxConsoleTypes=this.dockerConfigurationService.getAuxConsoleTypes()}configureCustomAdapters(){let e=this.node.custom_adapters||[];if(e.length===0){let o=parseInt(this.adapter(),10)||1;e=Array.from({length:o},(r,a)=>({adapter_number:a,mac_address:""}))}this.dialogRef=this.dialog.open(Jh,this.conf);let t=this.dialogRef.componentInstance;t.controller=this.controller,t.adapters.set(e),t.saveHandler=o=>{this.node.custom_adapters=o.map(r=>it(K({},r),{mac_address:r.mac_address||null})),this.adapter.set(o.length.toString())}}editNetworkConfiguration(){this.dialogRef=this.dialog.open(iw,this.conf);let e=this.dialogRef.componentInstance;e.controller=this.controller,e.node=this.node}onSaveClick(){let e=this.validationService.validateName(this.nodeName());if(!e.isValid){this.toasterService.error(e.errorMessage||"Name is required");return}let t=this.validationService.validateAdapters(this.adapter(),99);if(!t.isValid){this.toasterService.error(t.errorMessage);return}let o=this.validationService.validateMacAddress(this.macAddress());if(!o.isValid){this.toasterService.error(o.errorMessage);return}let r=this.validationService.validateMemory(this.memory());if(!r.isValid){this.toasterService.error(r.errorMessage);return}let a=this.validationService.validateCpus(this.cpus());if(!a.isValid){this.toasterService.error(a.errorMessage);return}if(!this.consoleHttpPort()||this.consoleHttpPort().trim()===""){this.toasterService.error("Console HTTP port is required");return}let c=this.validationService.validateConsoleHttpPath(this.consoleHttpPath());if(!c.isValid){this.toasterService.error(c.errorMessage);return}let p=this.validationService.validateEnvironment(this.environment(),"Advanced > Environment");if(!p.isValid){this.toasterService.error(p.errorMessage);return}this.node.name=this.nodeName(),this.node.properties.image=this.dockerImage(),this.node.properties.start_command=this.startCommand(),this.node.properties.adapters=parseInt(this.adapter(),10)||0,this.node.properties.mac_address=this.macAddress(),this.node.properties.memory=parseInt(this.memory(),10)||0,this.node.properties.cpus=parseFloat(this.cpus())||0,this.node.console_type=this.consoleType(),this.node.aux_type=this.auxType(),this.node.console_auto_start=this.consoleAutoStart(),this.node.properties.console_resolution=this.consoleResolution(),this.node.properties.console_http_port=parseInt(this.consoleHttpPort(),10)||void 0,this.node.properties.console_http_path=this.consoleHttpPath(),this.node.properties.environment=this.environment(),this.node.properties.extra_hosts=this.extraHosts(),this.node.properties.extra_volumes=this.extraVolumes()?this.extraVolumes().split(`
`).filter(u=>u.trim()):[],this.node.properties.usage=this.usage(),this.nodeService.updateNode(this.controller,this.node).subscribe({next:()=>{this.toasterService.success(`Node ${this.node.name} updated.`),this.onCancelClick()},error:u=>{let h=u?.error?.message||u?.message||"Failed to update node";this.toasterService.error(h),this.cd.markForCheck()}})}onCancelClick(){this.dialogReference.close()}addTag(e){let t=(e.value||"").trim();t&&this.node&&(this.node.tags||(this.node.tags=[]),this.node.tags.push(t)),e.chipInput&&e.chipInput.clear()}removeTag(e){if(!this.node.tags)return;let t=this.node.tags.indexOf(e);t>=0&&this.node.tags.splice(t,1)}static \u0275fac=function(t){return new(t||n)};static \u0275cmp=F({type:n,selectors:[["app-configurator-docker"]],inputs:{nodeName:[1,"nodeName"],dockerImage:[1,"dockerImage"],startCommand:[1,"startCommand"],adapter:[1,"adapter"],macAddress:[1,"macAddress"],memory:[1,"memory"],cpus:[1,"cpus"],consoleType:[1,"consoleType"],auxType:[1,"auxType"],consoleAutoStart:[1,"consoleAutoStart"],consoleResolution:[1,"consoleResolution"],consoleHttpPort:[1,"consoleHttpPort"],consoleHttpPath:[1,"consoleHttpPath"],environment:[1,"environment"],extraHosts:[1,"extraHosts"],extraVolumes:[1,"extraVolumes"],usage:[1,"usage"]},outputs:{nodeName:"nodeNameChange",dockerImage:"dockerImageChange",startCommand:"startCommandChange",adapter:"adapterChange",macAddress:"macAddressChange",memory:"memoryChange",cpus:"cpusChange",consoleType:"consoleTypeChange",auxType:"auxTypeChange",consoleAutoStart:"consoleAutoStartChange",consoleResolution:"consoleResolutionChange",consoleHttpPort:"consoleHttpPortChange",consoleHttpPath:"consoleHttpPathChange",environment:"environmentChange",extraHosts:"extraHostsChange",extraVolumes:"extraVolumesChange",usage:"usageChange"},decls:12,vars:2,consts:[["chipList",""],["mat-dialog-title",""],[1,"modal-form-container"],[1,"content"],[1,"default-content"],[1,"matCard"],["mat-dialog-actions",""],["mat-button","","color","accent",3,"click"],["mat-button","","tabindex","2","mat-raised-button","","color","primary",3,"click"],["label","General settings"],[1,"form-container"],[1,"form-field"],["matInput","","type","text",3,"input","value"],[1,"form-field","tags-field"],["matInput","","placeholder","Add tags",3,"matChipInputTokenEnd","matChipInputFor","matChipInputSeparatorKeyCodes"],[1,"two-column-grid"],["matInput","","type","text","min","0",3,"input","value"],["matSuffix",""],[3,"valueChange","value"],[3,"value"],[1,"form-field","grid-span-2"],[1,"grid-span-2",3,"change","checked"],["mat-button","",1,"form-field",3,"click"],["label","Advanced"],["matInput","","placeholder",'Command to run when the container starts (overrides image default CMD). E.g., python app.py, nginx -g "daemon off;"',3,"input","value"],["matInput","","placeholder","Environment variables (one per line, KEY=VALUE format). Supports: %vm-name%, %vm-id%, %project-id%, %project-path%",3,"input","value"],["matInput","","placeholder","Hostname to IP mappings, one per line (e.g., gns3.com:192.168.100.10)",3,"input","value"],["matInput","","placeholder",`Container directories to persist, one per line (e.g., /data
/config)`,3,"input","value"],["label","Usage"],["matInput","",3,"input","value"],[3,"removed"],["matChipRemove",""]],template:function(t,o){t&1&&(s(0,"h1",1),d(1),l(),s(2,"div",2)(3,"div",3)(4,"div",4)(5,"mat-card",5),A(6,DSe,103,19,"mat-tab-group"),l()()()(),s(7,"div",6)(8,"button",7),_("click",function(){return o.onCancelClick()}),d(9,"Cancel"),l(),s(10,"button",8),_("click",function(){return o.onSaveClick()}),d(11,"Apply"),l()()),t&2&&(m(),ee("Configurator for node ",o.name),m(5),O(o.name?6:-1))},dependencies:[ie,Ze,ve,Ne,Fe,Tt,Rn,Io,ar,sr,we,Me,it,Ei,Se,Ee,xt,Nt,Ct,W,pe,oi,ni,yi,Si,fi,oe,de,Ft,Xt],encapsulation:2,changeDetection:0})}return n})();function PSe(n,i){if(n&1){let e=z();s(0,"mat-chip",18),_("removed",function(){let o=T(e).$implicit,r=v(2);return E(r.removeTag(o))}),d(1),s(2,"mat-icon",19),d(3,"cancel"),l()()}if(n&2){let e=i.$implicit;m(),ee(" ",e," ")}}function ISe(n,i){if(n&1&&(s(0,"mat-option",16),d(1),l()),n&2){let e=i.$implicit;b("value",e),m(),ee(" ",e," ")}}function ASe(n,i){if(n&1&&R(0,"app-ports",17,1),n&2){let e=v(2);b("ethernetPorts",e.node.properties.ports_mapping)}}function OSe(n,i){if(n&1){let e=z();s(0,"div",5)(1,"mat-card",9)(2,"div",10)(3,"mat-form-field",11)(4,"mat-label"),d(5,"Name"),l(),s(6,"input",12),_("input",function(o){T(e);let r=v();return E(r.nodeName.set(o.target.value))}),l()(),s(7,"mat-form-field",13)(8,"mat-label"),d(9,"Tags"),l(),s(10,"mat-chip-grid",null,0),Z(12,PSe,4,1,"mat-chip",null,Ae),l(),s(14,"input",14),_("matChipInputTokenEnd",function(o){T(e);let r=v();return E(r.addTag(o))}),l()(),s(15,"mat-form-field",11)(16,"mat-label"),d(17,"Console type"),l(),s(18,"mat-select",15),_("valueChange",function(o){T(e);let r=v();return E(r.consoleType.set(o))}),Z(19,ISe,2,2,"mat-option",16,Ae),l()()(),A(21,ASe,2,1,"app-ports",17),l()()}if(n&2){let e=Pe(11),t=v();m(6),b("value",t.nodeName()),m(6),J(t.node==null?null:t.node.tags),m(2),b("matChipInputFor",e)("matChipInputSeparatorKeyCodes",t.separatorKeysCodes),m(4),b("value",t.consoleType()),m(),J(t.consoleTypes),m(2),O(t.node.properties?21:-1)}}var q2=(()=>{class n{portsComponent=Rt(Zd);dialogRef=f(Ie);nodeService=f(ht);toasterService=f(te);ethernetSwitchesConfigurationService=f(Aa);cd=f(X);validationService=f($i);controller;node;name;consoleTypes=[];separatorKeysCodes=[13,188];nodeName=U("");consoleType=U("");ngOnInit(){this.nodeService.getNode(this.controller,this.node).subscribe({next:e=>{this.node=e,this.name=this.node.name,this.nodeName.set(e.name||""),this.consoleType.set(e.console_type||""),this.getConfiguration(),this.node.tags||(this.node.tags=[]),this.cd.markForCheck()},error:e=>{let t=e.error?.message||e.message||"Failed to load node";this.toasterService.error(t),this.cd.markForCheck()}})}getConfiguration(){this.consoleTypes=this.ethernetSwitchesConfigurationService.getConsoleTypesForEthernetSwitches()}onSaveClick(){let e=this.validationService.required(this.nodeName(),"Name");if(!e.isValid){this.toasterService.error(e.errorMessage||"Name is required");return}this.node.name=this.nodeName(),this.node.console_type=this.consoleType(),this.node.properties.ports_mapping=this.portsComponent().ethernetPorts,this.nodeService.updateNode(this.controller,this.node).subscribe({next:()=>{this.toasterService.success(`Node ${this.node.name} updated.`),this.onCancelClick()},error:t=>{let o=t?.error?.message||t?.message||"Failed to update node";this.toasterService.error(o),this.cd.markForCheck()}})}onCancelClick(){this.dialogRef.close()}addTag(e){let t=(e.value||"").trim();t&&this.node&&(this.node.tags||(this.node.tags=[]),this.node.tags.push(t)),e.chipInput&&e.chipInput.clear()}removeTag(e){if(!this.node.tags)return;let t=this.node.tags.indexOf(e);t>=0&&this.node.tags.splice(t,1)}static \u0275fac=function(t){return new(t||n)};static \u0275cmp=F({type:n,selectors:[["app-configurator-ethernet-switch"]],viewQuery:function(t,o){t&1&&en(o.portsComponent,Zd,5),t&2&&tn()},inputs:{nodeName:[1,"nodeName"],consoleType:[1,"consoleType"]},outputs:{nodeName:"nodeNameChange",consoleType:"consoleTypeChange"},decls:10,vars:2,consts:[["chipList",""],["ports",""],["mat-dialog-title",""],[1,"modal-form-container"],[1,"content"],[1,"default-content"],["mat-dialog-actions",""],["mat-button","","color","accent",3,"click"],["mat-button","","tabindex","2","mat-raised-button","","color","primary",3,"click"],[1,"matCard"],[1,"form-container"],[1,"form-field"],["matInput","","type","text",3,"input","value"],[1,"form-field","tags-field"],["matInput","","placeholder","Add tags",3,"matChipInputTokenEnd","matChipInputFor","matChipInputSeparatorKeyCodes"],[3,"valueChange","value"],[3,"value"],[3,"ethernetPorts"],[3,"removed"],["matChipRemove",""]],template:function(t,o){t&1&&(s(0,"h1",2),d(1),l(),s(2,"div",3)(3,"div",4),A(4,OSe,22,5,"div",5),l()(),s(5,"div",6)(6,"button",7),_("click",function(){return o.onCancelClick()}),d(7,"Cancel"),l(),s(8,"button",8),_("click",function(){return o.onSaveClick()}),d(9,"Apply"),l()()),t&2&&(m(),ee("Configurator for EthernLine truncated
/config)`,3,"input","value"],["label","Usage"],["matInput","",3,"input","value"],[3,"removed"],["matChipRemove",""]],template:function(t,o){t&1&&(s(0,"h1",1),d(1),l(),s(2,"div",2)(3,"div",3)(4,"div",4)(5,"mat-card",5),A(6,uCe,103,19,"mat-tab-group"),l()()()(),s(7,"div",6)(8,"button",7),g("click",function(){return o.onCancelClick()}),d(9,"Cancel"),l(),s(10,"button",8),g("click",function(){return o.onSaveClick()}),d(11,"Apply"),l()()),t&2&&(m(),ee("Configurator for node ",o.name),m(5),O(o.name?6:-1))},dependencies:[ne,Xe,_e,Ne,Fe,Mt,On,To,tr,nr,we,Me,et,Mi,Se,Ee,vt,At,_t,W,pe,ti,Jn,vi,Ci,mi,ie,de,Ot,Gt],encapsulation:2,changeDetection:0})}return n})();function hCe(n,i){if(n&1){let e=z();s(0,"mat-chip",18),g("removed",function(){let o=k(e).$implicit,r=v(2);return T(r.removeTag(o))}),d(1),s(2,"mat-icon",19),d(3,"cancel"),l()()}if(n&2){let e=i.$implicit;m(),ee(" ",e," ")}}function fCe(n,i){if(n&1&&(s(0,"mat-option",16),d(1),l()),n&2){let e=i.$implicit;C("value",e),m(),ee(" ",e," ")}}function gCe(n,i){if(n&1&&R(0,"app-ports",17,1),n&2){let e=v(2);C("ethernetPorts",e.node.properties.ports_mapping)}}function _Ce(n,i){if(n&1){let e=z();s(0,"div",5)(1,"mat-card",9)(2,"div",10)(3,"mat-form-field",11)(4,"mat-label"),d(5,"Name"),l(),s(6,"input",12),g("input",function(o){k(e);let r=v();return T(r.nodeName.set(o.target.value))}),l()(),s(7,"mat-form-field",13)(8,"mat-label"),d(9,"Tags"),l(),s(10,"mat-chip-grid",null,0),Y(12,hCe,4,1,"mat-chip",null,Ae),l(),s(14,"input",14),g("matChipInputTokenEnd",function(o){k(e);let r=v();return T(r.addTag(o))}),l()(),s(15,"mat-form-field",11)(16,"mat-label"),d(17,"Console type"),l(),s(18,"mat-select",15),g("valueChange",function(o){k(e);let r=v();return T(r.consoleType.set(o))}),Y(19,fCe,2,2,"mat-option",16,Ae),l()()(),A(21,gCe,2,1,"app-ports",17),l()()}if(n&2){let e=Pe(11),t=v();m(6),C("value",t.nodeName()),m(6),Z(t.node==null?null:t.node.tags),m(2),C("matChipInputFor",e)("matChipInputSeparatorKeyCodes",t.separatorKeysCodes),m(4),C("value",t.consoleType()),m(),Z(t.consoleTypes),m(2),O(t.node.properties?21:-1)}}var rw=(()=>{class n{portsComponent=Nt(Ed);dialogRef=f(Ie);nodeService=f(ut);toasterService=f(te);ethernetSwitchesConfigurationService=f(ya);cd=f(Q);validationService=f(zi);controller;node;name;consoleTypes=[];separatorKeysCodes=[13,188];nodeName=U("");consoleType=U("");ngOnInit(){this.nodeService.getNode(this.controller,this.node).subscribe({next:e=>{this.node=e,this.name=this.node.name,this.nodeName.set(e.name||""),this.consoleType.set(e.console_type||""),this.getConfiguration(),this.node.tags||(this.node.tags=[]),this.cd.markForCheck()},error:e=>{let t=e.error?.message||e.message||"Failed to load node";this.toasterService.error(t),this.cd.markForCheck()}})}getConfiguration(){this.consoleTypes=this.ethernetSwitchesConfigurationService.getConsoleTypesForEthernetSwitches()}onSaveClick(){let e=this.validationService.required(this.nodeName(),"Name");if(!e.isValid){this.toasterService.error(e.errorMessage||"Name is required");return}this.node.name=this.nodeName(),this.node.console_type=this.consoleType(),this.node.properties.ports_mapping=this.portsComponent().ethernetPorts,this.nodeService.updateNode(this.controller,this.node).subscribe({next:()=>{this.toasterService.success(`Node ${this.node.name} updated.`),this.onCancelClick()},error:t=>{let o=t?.error?.message||t?.message||"Failed to update node";this.toasterService.error(o),this.cd.markForCheck()}})}onCancelClick(){this.dialogRef.close()}addTag(e){let t=(e.value||"").trim();t&&this.node&&(this.node.tags||(this.node.tags=[]),this.node.tags.push(t)),e.chipInput&&e.chipInput.clear()}removeTag(e){if(!this.node.tags)return;let t=this.node.tags.indexOf(e);t>=0&&this.node.tags.splice(t,1)}static \u0275fac=function(t){return new(t||n)};static \u0275cmp=F({type:n,selectors:[["app-configurator-ethernet-switch"]],viewQuery:function(t,o){t&1&&Xt(o.portsComponent,Ed,5),t&2&&Kt()},inputs:{nodeName:[1,"nodeName"],consoleType:[1,"consoleType"]},outputs:{nodeName:"nodeNameChange",consoleType:"consoleTypeChange"},decls:10,vars:2,consts:[["chipList",""],["ports",""],["mat-dialog-title",""],[1,"modal-form-container"],[1,"content"],[1,"default-content"],["mat-dialog-actions",""],["mat-button","","color","accent",3,"click"],["mat-button","","tabindex","2","mat-raised-button","","color","primary",3,"click"],[1,"matCard"],[1,"form-container"],[1,"form-field"],["matInput","","type","text",3,"input","value"],[1,"form-field","tags-field"],["matInput","","placeholder","Add tags",3,"matChipInputTokenEnd","matChipInputFor","matChipInputSeparatorKeyCodes"],[3,"valueChange","value"],[3,"value"],[3,"ethernetPorts"],[3,"removed"],["matChipRemove",""]],template:function(t,o){t&1&&(s(0,"h1",2),d(1),l(),s(2,"div",3)(3,"div",4),A(4,_Ce,22,5,"div",5),l()(),s(5,"div",6)(6,"button",7),g("click",function(){return o.onCancelClick()}),d(7,"Cancel"),l(),s(8,"button",8),g("click",function(){return o.onSaveClick()}),d(9,"Apply"),l()()),t&2&&(m(),ee("Configurator for EthernLine truncated
A855|A953|A955|A956|Motorola.*ELECTRIFY|Motorola.*i1|i867|i940|MB200|MB300|MB501|MB502|MB508|MB511|
MB520|MB525|MB526|MB611|MB612|MB632|MB810|MB855|MB860|MB861|MB865|MB870|ME501|ME502|ME511|ME525|ME600|
ME632|ME722|ME811|ME860|ME863|ME865|MT620|MT710|MT716|MT720|MT810|MT870|MT917|Motorola.*TITANIUM|WX435|
@@ -241,7 +241,7 @@ Please report this to https://github.com/markedjs/marked.`,n){let t="<p>An error
P2000|P7040|P7000|C790`),FLY:/IQ230|IQ444|IQ450|IQ440|IQ442|IQ441|IQ245|IQ256|IQ236|IQ255|IQ235|IQ245|IQ275|IQ240|IQ285|IQ280|IQ270|IQ260|IQ250/,WIKO:new RegExp(`KITE 4G|HIGHWAY|GETAWAY|STAIRWAY|DARKSIDE|DARKFULL|DARKNIGHT|DARKMOON|SLIDE|WAX 4G|RAINBOW|BLOOM|
SUNSET|GOA(?!nna)|LENNY|BARRY|IGGY|OZZY|CINK FIVE|CINK PEAX|CINK PEAX 2|CINK SLIM|CINK SLIM 2|CINK +|
CINK KING|CINK PEAX|CINK SLIM|SUBLIM`),I_MOBILE:/i-mobile (IQ|i-STYLE|idea|ZAA|Hitz)/,SIMVALLEY:/\b(SP-80|XT-930|SX-340|XT-930|SX-310|SP-360|SP60|SPT-800|SP-120|SPT-800|SP-140|SPX-5|SPX-8|SP-100|SPX-8|SPX-12)\b/,WOLFGANG:/AT-B24D|AT-AS50HD|AT-AS40W|AT-AS55HD|AT-AS45q2|AT-B26D|AT-AS50Q/,ALCATEL:/Alcatel|Mobile; rv:49.0|Mobile; ALCATEL 4052R; rv:48.0/,NINTENDO:/Nintendo (3DS|Switch)/,AMOI:/Amoi/,INQ:/INQ/,VITA:/\bVita\b/,BLACKBERRY:/\bBlackBerry\b|\bBB10\b|rim[0-9]+/,FIREFOX_OS:/\bFirefox-OS\b/,IPHONE:/\biPhone\b/,iPod:/\biPod\b/,ANDROID:/\bAndroid\b/,WINDOWS_PHONE:/\bWindows-Phone\b/,GENERIC_PHONE:new RegExp(`Tapatalk|PDA;|SAGEM|\\bmmp\\b|pocket|\\bpsp\\b|symbian|Smartphone|smartfon|treo|up.browser|
up.link|vodafone|\\bwap\\b|nokia|Nokia|Series40|Series60|S60|SonyEricsson|N900|MAUI.*WAP.*Browser`)},Hg={iPad:/iPad|iPad.*Mobile/,NexusTablet:/Android.*Nexus[\s]+(7|9|10)/,GoogleTablet:/Android.*Pixel C/,SamsungTablet:new RegExp(`SAMSUNG.*Tablet|Galaxy.*Tab|SC-01C|GT-P1000|GT-P1003|GT-P1010|GT-P3105|GT-P6210|
up.link|vodafone|\\bwap\\b|nokia|Nokia|Series40|Series60|S60|SonyEricsson|N900|MAUI.*WAP.*Browser`)},Jf={iPad:/iPad|iPad.*Mobile/,NexusTablet:/Android.*Nexus[\s]+(7|9|10)/,GoogleTablet:/Android.*Pixel C/,SamsungTablet:new RegExp(`SAMSUNG.*Tablet|Galaxy.*Tab|SC-01C|GT-P1000|GT-P1003|GT-P1010|GT-P3105|GT-P6210|
GT-P6800|GT-P6810|GT-P7100|GT-P7300|GT-P7310|GT-P7500|GT-P7510|SCH-I800|SCH-I815|SCH-I905|
SGH-I957|SGH-I987|SGH-T849|SGH-T859|SGH-T869|SPH-P100|GT-P3100|GT-P3108|GT-P3110|GT-P5100|
GT-P5110|GT-P6200|GT-P7320|GT-P7511|GT-N8000|GT-P8510|SGH-I497|SPH-P500|SGH-T779|SCH-I705|
@@ -340,25 +340,25 @@ Please report this to https://github.com/markedjs/marked.`,n){let t="<p>An error
FREEDOM|CHICAGO|CLEVELAND|BALTIMORE-GH|IOWA|BOSTON|SEATTLE|PHOENIX|DALLAS|IN 101|MasterChef)\\b`),MediacomTablet:"M-MPI10C3G|M-SP10EG|M-SP10EGP|M-SP10HXAH|M-SP7HXAH|M-SP10HXBH|M-SP8HXAH|M-SP8MXA",MiTablet:/\bMI PAD\b|\bHM NOTE 1W\b/,NibiruTablet:/Nibiru M1|Nibiru Jupiter One/,NexoTablet:/NEXO NOVA|NEXO 10|NEXO AVIO|NEXO FREE|NEXO GO|NEXO EVO|NEXO 3G|NEXO SMART|NEXO KIDDO|NEXO MOBI/,LeaderTablet:new RegExp(`TBLT10Q|TBLT10I|TBL-10WDKB|TBL-10WDKBO2013|TBL-W230V2|TBL-W450|TBL-W500|SV572|TBLT7I|
TBA-AC7-8G|TBLT79|TBL-8W16|TBL-10W32|TBL-10WKB|TBL-W100`),UbislateTablet:/UbiSlate[\s]?7C/,PocketBookTablet:/Pocketbook/,KocasoTablet:/\b(TB-1207)\b/,HisenseTablet:/\b(F5281|E2371)\b/,Hudl:/Hudl HT7S3|Hudl 2/,TelstraTablet:/T-Hub2/,Honeywell:/RT10A/,GenericTablet:new RegExp(`Android.*\\b97D\\b|Tablet(?!.*PC)|BNTV250A|MID-WCDMA|LogicPD Zoom2|\\bA7EB\\b|CatNova8|
A1_07|CT704|CT1002|\\bM721\\b|rk30sdk|\\bEVOTAB\\b|M758A|ET904|ALUMIUM10|Smartfren Tab|Endeavour 1010|
Tablet-PC-4|Tagi Tab|\\bM6pro\\b|CT1020W|arc 10HD|\\bTP750\\b|\\bQTAQZ3\\b|WVT101|TM1088|KT107`)},$p={BLACKBERRY:"Blackberry",FIREFOX_OS:"Firefox-OS",CHROME_BOOK:"Chrome-Book",WINDOWS_PHONE:"Windows-Phone",VITA:"Vita",PS4:"PS4",MAC:"Macintosh",CHROMECAST:"Chromecast",APPLE_TV:"Apple-TV",GOOGLE_TV:"Google-TV",ANDROID:"Android",Tesla:"Tesla",iPad:"iPad",IPHONE:"iPhone",iPod:"iPod",UNKNOWN:Ug.UKNOWN,HTC:"HTC",NEXUS_PHONE:"Nexus Phone",NexusTablet:"Nexus Tablet",DELL:"Dell",MOTOROLA:"Motorola",SAMSUNG:"Samsung",LG:"LG",SONY:"Sony",ASUS:"Asus",NOKIA_LUMIA:"Nokia Lumia",MICROMAX:"Micromax",PALM:"Palm",VERTU:"Vertu",PANTECH:"PANTECH",FLY:"Fly",WIKO:"WIKO",I_MOBILE:"i-mobile",SIMVALLEY:"Simvalley",WOLFGANG:"Wolfgang",ALCATEL:"Alcatel",HONEYWELL:"Honeywell",NINTENDO:"Nintendo",AMOI:"Amoi",INQ:"INQ",GENERIC_PHONE:"Generic Phone",MI_SE_9:"Mi SE 9"},PH=[$p.PS4,$p.CHROME_BOOK,$p.MAC,$p.DELL,$p.ASUS,$p.UNKNOWN],O2e={WINDOWS:"Windows",MAC:"Mac",IOS:"iOS",ANDROID:"Android",LINUX:"Linux",UNIX:"Unix",FIREFOX_OS:"Firefox-OS",CHROME_OS:"Chrome-OS",WINDOWS_PHONE:"Windows-Phone",UNKNOWN:Ug.UKNOWN},N2e={WINDOWS_3_11:"windows-3-11",WINDOWS_95:"windows-95",WINDOWS_ME:"windows-me",WINDOWS_98:"windows-98",WINDOWS_CE:"windows-ce",WINDOWS_2000:"windows-2000",WINDOWS_XP:"windows-xp",WINDOWS_SERVER_2003:"windows-server-2003",WINDOWS_VISTA:"windows-vista",WINDOWS_7:"windows-7",WINDOWS_8_1:"windows-8-1",WINDOWS_8:"windows-8",WINDOWS_10:"windows-10",WINDOWS_PHONE_7_5:"windows-phone-7-5",WINDOWS_PHONE_8_1:"windows-phone-8-1",WINDOWS_PHONE_10:"windows-phone-10",WINDOWS_NT_4_0:"windows-nt-4-0",MACOSX_11_0:"mac-os-x-11-0",MACOSX_16:"mac-os-x-16",MACOSX_15:"mac-os-x-15",MACOSX_14:"mac-os-x-14",MACOSX_13:"mac-os-x-13",MACOSX_12:"mac-os-x-12",MACOSX_11:"mac-os-x-11",MACOSX_10:"mac-os-x-10",MACOSX_9:"mac-os-x-9",MACOSX_8:"mac-os-x-8",MACOSX_7:"mac-os-x-7",MACOSX_6:"mac-os-x-6",MACOSX_5:"mac-os-x-5",MACOSX_4:"mac-os-x-4",MACOSX_3:"mac-os-x-3",MACOSX_2:"mac-os-x-2",MACOSX:"mac-os-x",iOS:"iOS",ANDROID_9:"android-9",UNKNOWN:Ug.UKNOWN.toLowerCase()},IH={WINDOWS:{and:[{or:[/\bWindows|(Win\d\d)\b/,/\bWin 9x\b/]},{not:/\bWindows Phone\b/}]},MAC:{and:[/\bMac OS\b/,{not:{or:[/\biPhone\b/,/\biPad\b/,/\biPod\b/,/\bWindows Phone\b/]}}]},IOS:{and:[{or:[/\biPad\b/,/\biPhone\b/,/\biPod\b/]},{not:/\bWindows Phone\b/}]},ANDROID:{and:[/\bAndroid\b/,{not:/\bWindows Phone\b/}]},LINUX:/\bLinux\b/,UNIX:/\bUNIX\b/,FIREFOX_OS:{and:[/\bFirefox\b/,/Mobile\b/]},CHROME_OS:/\bCrOS\b/,WINDOWS_PHONE:{or:[/\bIEMobile\b/,/\bWindows Phone\b/]},PS4:/\bMozilla\/5.0 \(PlayStation 4\b/,VITA:/\bMozilla\/5.0 \(Play(S|s)tation Vita\b/},F2e={CHROME:{and:[{or:[/\bChrome\b/,/\bCriOS\b/,/\bHeadlessChrome\b/]},{not:{or:[/\bOPR\b/,/\bEdg(e|A|iOS)\b/,/\bEdg\/\b/,/\bSamsungBrowser\b/,/\bUCBrowser\b/]}}]},FIREFOX:{or:[/\bFirefox\b/,/\bFxiOS\b/]},SAFARI:{and:[/^((?!CriOS).)*\Safari\b.*$/,{not:{or:[/\bOPR\b/,/\bEdg(e|A|iOS)\b/,/\bEdg\/\b/,/\bWindows Phone\b/,/\bSamsungBrowser\b/,/\bUCBrowser\b/]}}]},OPERA:{or:[/Opera\b/,/\bOPR\b/]},IE:{or:[/\bMSIE\b/,/\bTrident\b/,/^Mozilla\/5\.0 \(Windows NT 10\.0; Win64; x64\)$/]},MS_EDGE:{or:[/\bEdg(e|A|iOS)\b/]},MS_EDGE_CHROMIUM:/\bEdg\/\b/,PS4:/\bMozilla\/5.0 \(PlayStation 4\b/,VITA:/\bMozilla\/5.0 \(Play(S|s)tation Vita\b/,FB_MESSANGER:/\bFBAN\/MessengerForiOS\b/,SAMSUNG:/\bSamsungBrowser\b/,UCBROWSER:/\bUCBrowser\b/},R2e=We(q(q(q({},dM),Hg),IH),{FIREFOX_OS:{and:[/\bFirefox\b/,/\bMobile\b/]},CHROME_BOOK:/\bCrOS\b/,PS4:/\bMozilla\/5.0 \(PlayStation 4\b/,CHROMECAST:/\bCrKey\b/,APPLE_TV:/^iTunes-AppleTV\/4.1$/,GOOGLE_TV:/\bGoogleTV\b/,Tesla:/Tesla\/([0-9]{4}.[0-9]{1,2}.?[0-9]{0,2}.?[0-9]{0,2})-(.{7})/,MI_SE_9:/\bXiaomi\b/,MAC:{and:[/\bMac OS\b/,{not:{or:[/\biPhone\b/,/\biPad\b/,/\biPod\b/,/\bWindows Phone\b/]}}]}}),sN={WINDOWS_3_11:/Win16/,WINDOWS_95:/(Windows 95|Win95|Windows_95)/,WINDOWS_ME:/(Win 9x 4.90|Windows ME)/,WINDOWS_98:/(Windows 98|Win98)/,WINDOWS_CE:/Windows CE/,WINDOWS_2000:/(Windows NT 5.0|Windows 2000)/,WINDOWS_XP:/(Windows NT 5.1|Windows XP)/,WINDOWS_SERVER_2003:/Windows NT 5.2/,WINDOWS_VISTA:/Windows NT 6.0/,WINDOWS_7:/(Windows 7|Windows NT 6.1)/,WINDOWS_8_1:/(Windows 8.1|Windows NT 6.3)/,WINDOWS_8:/(Windows 8|Windows NT 6.2)/,WINDOWS_10:/(Windows NT 10.0)/,WINDOWS_PHONE_7_5:/(Windows Phone OS 7.5)/,WINDOWS_PHONE_8_1:/(Windows Phone 8.1)/,WINDOWS_PHONE_10:/(Windows Phone 10)/,WINDOWS_NT_4_0:{and:[/(Windows NT 4.0|WinNT4.0|WinNT|Windows NT)/,{not:/Windows NT 10.0/}]},MACOSX:/(MAC OS X\s*[^ 0-9])/,MACOSX_3:/(Darwin 10.3|Mac OS X 10.3)/,MACOSX_4:/(Darwin 10.4|Mac OS X 10.4)/,MACOSX_5:/(Mac OS X 10.5)/,MACOSX_6:/(Mac OS X 10.6)/,MACOSX_7:/(Mac OS X 10.7)/,MACOSX_8:/(Mac OS X 10.8)/,MACOSX_9:/(Mac OS X 10.9)/,MACOSX_10:/(Mac OS X 10.10)/,MACOSX_11:/(Mac OS X 10.11)/,MACOSX_12:/(Mac OS X 10.12)/,MACOSX_13:/(Mac OS X 10.13)/,MACOSX_14:/(Mac OS X 10.14)/,MACOSX_15:/(Mac OS X 10.15)/,MACOSX_16:/(Mac OS X 10.16)/,MACOSX_11_0:{or:[/11_0 like Mac OS X/,/Mac OS X 11/]},iOS:/(iPhone OS\s*[0-9_]+)/,ANDROID_9:/(Android 9)/},lN={CHROME:[/\bChrome\/([\d\.] Line truncated
Tablet-PC-4|Tagi Tab|\\bM6pro\\b|CT1020W|arc 10HD|\\bTP750\\b|\\bQTAQZ3\\b|WVT101|TM1088|KT107`)},mp={BLACKBERRY:"Blackberry",FIREFOX_OS:"Firefox-OS",CHROME_BOOK:"Chrome-Book",WINDOWS_PHONE:"Windows-Phone",VITA:"Vita",PS4:"PS4",MAC:"Macintosh",CHROMECAST:"Chromecast",APPLE_TV:"Apple-TV",GOOGLE_TV:"Google-TV",ANDROID:"Android",Tesla:"Tesla",iPad:"iPad",IPHONE:"iPhone",iPod:"iPod",UNKNOWN:eg.UKNOWN,HTC:"HTC",NEXUS_PHONE:"Nexus Phone",NexusTablet:"Nexus Tablet",DELL:"Dell",MOTOROLA:"Motorola",SAMSUNG:"Samsung",LG:"LG",SONY:"Sony",ASUS:"Asus",NOKIA_LUMIA:"Nokia Lumia",MICROMAX:"Micromax",PALM:"Palm",VERTU:"Vertu",PANTECH:"PANTECH",FLY:"Fly",WIKO:"WIKO",I_MOBILE:"i-mobile",SIMVALLEY:"Simvalley",WOLFGANG:"Wolfgang",ALCATEL:"Alcatel",HONEYWELL:"Honeywell",NINTENDO:"Nintendo",AMOI:"Amoi",INQ:"INQ",GENERIC_PHONE:"Generic Phone",MI_SE_9:"Mi SE 9"},Zz=[mp.PS4,mp.CHROME_BOOK,mp.MAC,mp.DELL,mp.ASUS,mp.UNKNOWN],_be={WINDOWS:"Windows",MAC:"Mac",IOS:"iOS",ANDROID:"Android",LINUX:"Linux",UNIX:"Unix",FIREFOX_OS:"Firefox-OS",CHROME_OS:"Chrome-OS",WINDOWS_PHONE:"Windows-Phone",UNKNOWN:eg.UKNOWN},vbe={WINDOWS_3_11:"windows-3-11",WINDOWS_95:"windows-95",WINDOWS_ME:"windows-me",WINDOWS_98:"windows-98",WINDOWS_CE:"windows-ce",WINDOWS_2000:"windows-2000",WINDOWS_XP:"windows-xp",WINDOWS_SERVER_2003:"windows-server-2003",WINDOWS_VISTA:"windows-vista",WINDOWS_7:"windows-7",WINDOWS_8_1:"windows-8-1",WINDOWS_8:"windows-8",WINDOWS_10:"windows-10",WINDOWS_PHONE_7_5:"windows-phone-7-5",WINDOWS_PHONE_8_1:"windows-phone-8-1",WINDOWS_PHONE_10:"windows-phone-10",WINDOWS_NT_4_0:"windows-nt-4-0",MACOSX_11_0:"mac-os-x-11-0",MACOSX_16:"mac-os-x-16",MACOSX_15:"mac-os-x-15",MACOSX_14:"mac-os-x-14",MACOSX_13:"mac-os-x-13",MACOSX_12:"mac-os-x-12",MACOSX_11:"mac-os-x-11",MACOSX_10:"mac-os-x-10",MACOSX_9:"mac-os-x-9",MACOSX_8:"mac-os-x-8",MACOSX_7:"mac-os-x-7",MACOSX_6:"mac-os-x-6",MACOSX_5:"mac-os-x-5",MACOSX_4:"mac-os-x-4",MACOSX_3:"mac-os-x-3",MACOSX_2:"mac-os-x-2",MACOSX:"mac-os-x",iOS:"iOS",ANDROID_9:"android-9",UNKNOWN:eg.UKNOWN.toLowerCase()},Jz={WINDOWS:{and:[{or:[/\bWindows|(Win\d\d)\b/,/\bWin 9x\b/]},{not:/\bWindows Phone\b/}]},MAC:{and:[/\bMac OS\b/,{not:{or:[/\biPhone\b/,/\biPad\b/,/\biPod\b/,/\bWindows Phone\b/]}}]},IOS:{and:[{or:[/\biPad\b/,/\biPhone\b/,/\biPod\b/]},{not:/\bWindows Phone\b/}]},ANDROID:{and:[/\bAndroid\b/,{not:/\bWindows Phone\b/}]},LINUX:/\bLinux\b/,UNIX:/\bUNIX\b/,FIREFOX_OS:{and:[/\bFirefox\b/,/Mobile\b/]},CHROME_OS:/\bCrOS\b/,WINDOWS_PHONE:{or:[/\bIEMobile\b/,/\bWindows Phone\b/]},PS4:/\bMozilla\/5.0 \(PlayStation 4\b/,VITA:/\bMozilla\/5.0 \(Play(S|s)tation Vita\b/},Cbe={CHROME:{and:[{or:[/\bChrome\b/,/\bCriOS\b/,/\bHeadlessChrome\b/]},{not:{or:[/\bOPR\b/,/\bEdg(e|A|iOS)\b/,/\bEdg\/\b/,/\bSamsungBrowser\b/,/\bUCBrowser\b/]}}]},FIREFOX:{or:[/\bFirefox\b/,/\bFxiOS\b/]},SAFARI:{and:[/^((?!CriOS).)*\Safari\b.*$/,{not:{or:[/\bOPR\b/,/\bEdg(e|A|iOS)\b/,/\bEdg\/\b/,/\bWindows Phone\b/,/\bSamsungBrowser\b/,/\bUCBrowser\b/]}}]},OPERA:{or:[/Opera\b/,/\bOPR\b/]},IE:{or:[/\bMSIE\b/,/\bTrident\b/,/^Mozilla\/5\.0 \(Windows NT 10\.0; Win64; x64\)$/]},MS_EDGE:{or:[/\bEdg(e|A|iOS)\b/]},MS_EDGE_CHROMIUM:/\bEdg\/\b/,PS4:/\bMozilla\/5.0 \(PlayStation 4\b/,VITA:/\bMozilla\/5.0 \(Play(S|s)tation Vita\b/,FB_MESSANGER:/\bFBAN\/MessengerForiOS\b/,SAMSUNG:/\bSamsungBrowser\b/,UCBROWSER:/\bUCBrowser\b/},bbe=it(K(K(K({},yw),Jf),Jz),{FIREFOX_OS:{and:[/\bFirefox\b/,/\bMobile\b/]},CHROME_BOOK:/\bCrOS\b/,PS4:/\bMozilla\/5.0 \(PlayStation 4\b/,CHROMECAST:/\bCrKey\b/,APPLE_TV:/^iTunes-AppleTV\/4.1$/,GOOGLE_TV:/\bGoogleTV\b/,Tesla:/Tesla\/([0-9]{4}.[0-9]{1,2}.?[0-9]{0,2}.?[0-9]{0,2})-(.{7})/,MI_SE_9:/\bXiaomi\b/,MAC:{and:[/\bMac OS\b/,{not:{or:[/\biPhone\b/,/\biPad\b/,/\biPod\b/,/\bWindows Phone\b/]}}]}}),zA={WINDOWS_3_11:/Win16/,WINDOWS_95:/(Windows 95|Win95|Windows_95)/,WINDOWS_ME:/(Win 9x 4.90|Windows ME)/,WINDOWS_98:/(Windows 98|Win98)/,WINDOWS_CE:/Windows CE/,WINDOWS_2000:/(Windows NT 5.0|Windows 2000)/,WINDOWS_XP:/(Windows NT 5.1|Windows XP)/,WINDOWS_SERVER_2003:/Windows NT 5.2/,WINDOWS_VISTA:/Windows NT 6.0/,WINDOWS_7:/(Windows 7|Windows NT 6.1)/,WINDOWS_8_1:/(Windows 8.1|Windows NT 6.3)/,WINDOWS_8:/(Windows 8|Windows NT 6.2)/,WINDOWS_10:/(Windows NT 10.0)/,WINDOWS_PHONE_7_5:/(Windows Phone OS 7.5)/,WINDOWS_PHONE_8_1:/(Windows Phone 8.1)/,WINDOWS_PHONE_10:/(Windows Phone 10)/,WINDOWS_NT_4_0:{and:[/(Windows NT 4.0|WinNT4.0|WinNT|Windows NT)/,{not:/Windows NT 10.0/}]},MACOSX:/(MAC OS X\s*[^ 0-9])/,MACOSX_3:/(Darwin 10.3|Mac OS X 10.3)/,MACOSX_4:/(Darwin 10.4|Mac OS X 10.4)/,MACOSX_5:/(Mac OS X 10.5)/,MACOSX_6:/(Mac OS X 10.6)/,MACOSX_7:/(Mac OS X 10.7)/,MACOSX_8:/(Mac OS X 10.8)/,MACOSX_9:/(Mac OS X 10.9)/,MACOSX_10:/(Mac OS X 10.10)/,MACOSX_11:/(Mac OS X 10.11)/,MACOSX_12:/(Mac OS X 10.12)/,MACOSX_13:/(Mac OS X 10.13)/,MACOSX_14:/(Mac OS X 10.14)/,MACOSX_15:/(Mac OS X 10.15)/,MACOSX_16:/(Mac OS X 10.16)/,MACOSX_11_0:{or:[/11_0 like Mac OS X/,/Mac OS X 11/]},iOS:/(iPhone OS\s*[0-9_]+)/,ANDROID_9:/(Android 9)/},jA={CHROME:[/\bChrome\/([\d\.] Line truncated
Finding the right idle-pc value is a trial and error process, consisting of applying different Idle-PC values and monitoring the CPU usage.
Select each value that appears in the list and click Apply, and note the CPU usage a few moments later. When you have found the value that minimises the CPU usage, apply that value.`}onCompute(){this.isComputing=!0,this.nodeService.getIdlePCProposals(this.controller,this.node).subscribe({next:e=>{let t=[];for(let o of e){let r=o.match(/^(0x[0-9a-f]{8})\s+\[(\d+)\]$/);if(r){let a=r[1],c=parseInt(r[2],10);50<=c&&c<=60&&(o+="*"),t.push({key:a,name:o})}}this.idlepcs=t,this.idlepcs.length>0&&this.idlePC.set(this.idlepcs[0].key),this.isComputing=!1,this.cd.markForCheck()},error:e=>{let t=e.error?.message||e.message||"Failed to compute idle-PC proposals";this.toasterService.error(t),this.isComputing=!1,this.cd.markForCheck()}})}onClose(){this.dialogRef.close()}onApply(){this.idlePC()&&this.idlePC()!=="0x0"&&(this.node.properties.idlepc=this.idlePC(),this.nodeService.updateNode(this.controller,this.node).subscribe({next:()=>{this.toasterService.success(`Node ${this.node.name} updated with idle-PC value ${this.idlePC()}`),this.cd.markForCheck()},error:e=>{let t=e.error?.message||e.message||"Failed to update node with idle-PC value";this.toasterService.error(t),this.cd.markForCheck()}}))}static \u0275fac=function(t){return new(t||n)};static \u0275cmp=F({type:n,selectors:[["app-idle-pc-dialog"]],inputs:{controller:"controller",node:"node",idlePC:[1,"idlePC"]},outputs:{idlePC:"idlePCChange"},decls:7,vars:4,consts:[["mat-dialog-actions",""],["mat-button","","color","accent"],["mat-button","","color","accent",3,"click"],["align","center"],["mat-dialog-content","","align","center"],["color","accent"],["mat-dialog-title",""],[1,"form-field"],["placeholder","Idle-PC","matTooltipClass","multiline-tooltip",3,"selectionChange","value","matTooltip"],[3,"value"]],template:function(t,o){t&1&&(A(0,sMe,5,0,"div"),A(1,cMe,6,2),s(2,"div",0),A(3,dMe,2,0,"button",1),A(4,mMe,2,0,"button",1),s(5,"button",2),_("click",function(){return o.onClose()}),d(6,"Close"),l()()),t&2&&(O(o.isComputing?0:-1),m(),O(o.isComputing?-1:1),m(2),O(o.isComputing?-1:3),m(),O(o.isComputing?-1:4))},dependencies:[ve,Ne,Fe,yt,W,pe,gn,pi,Se,Me,lo,xt,Nt,Ct,Ze],styles:[".container[_ngcontent-%COMP%]{width:100%;display:flex;justify-content:space-between}.multiline-tooltip[_ngcontent-%COMP%]{background-color:var(--mat-app-surface);color:var(--mat-app-on-surface-color);white-space:pre-line}"],changeDetection:0})}return n})();function pMe(n,i){if(n&1){let e=z();s(0,"button",1),_("click",function(){T(e);let o=v();return E(o.idlePC())}),s(1,"mat-icon"),d(2,"query_builder"),l(),s(3,"span"),d(4,"Idle-PC"),l()()}}var DM=(()=>{class n{nodeService=f(ht);dialog=f(ot);controller=se(void 0);node=se(void 0);idlePC(){let t=this.dialog.open(EM,{panelClass:["base-dialog-panel","idle-pc-action-dialog-panel"],autoFocus:!1,disableClose:!1}).componentInstance;t.controller=this.controller(),t.node=this.node()}static \u0275fac=function(t){return new(t||n)};static \u0275cmp=F({type:n,selectors:[["app-idle-pc-action"]],inputs:{controller:[1,"controller"],node:[1,"node"]},decls:1,vars:1,consts:[["mat-menu-item",""],["mat-menu-item","",3,"click"]],template:function(t,o){if(t&1&&A(0,pMe,5,0,"button",0),t&2){let r;O(((r=o.node())==null?null:r.node_type)==="dynamips"?0:-1)}},dependencies:[W,oe,de,Ge,tt],encapsulation:2,changeDetection:0})}return n})();function uMe(n,i){if(n&1){let e=z();s(0,"button",1),_("click",function(){T(e);let o=v();return E(o.autoIdlePC())}),s(1,"mat-icon"),d(2,"query_builder"),l(),s(3,"span"),d(4,"Auto Idle-PC"),l()()}}var PM=(()=>{class n{nodeService=f(ht);toasterService=f(te);progressService=f(so);cdr=f(X);controller=se(void 0);node=se(void 0);autoIdlePC(){this.progressService.activate(),this.nodeService.getAutoIdlePC(this.controller(),this.node()).subscribe({next:e=>{this.progressService.deactivate(),e.idlepc!==null&&this.toasterService.success(`Node ${this.node().name} updated with idle-PC value ${e.idlepc}`),this.cdr.markForCheck()},error:e=>{this.progressService.deactivate();let t=e.error?.message||e.message||"Failed to update idle-PC value";this.toasterService.error(t),this.cdr.markForCheck()}})}static \u0275fac=function(t){return new(t||n)};static \u0275cmp=F({type:n,selectors:[["app-auto-idle-pc-action"]],inputs:{controller:[1,"controller"],node:[1,"node"]},decls:1,vars:1,consts:[["mat-menu-item",""],["mat-menu-item","",3,"click"]],template:function(t,o){if(t&1&&A(0,uMe,5,0,"button",0),t&2){let r;O(((r=o.node())==null?null:r.node_type)==="dynamips"?0:-1)}},dependencies:[W,oe,de,Ge,tt],encapsulation:2,changeDetection:0})}return n})();var IM=(()=>{class n{nodesDataSource=f(hi);drawingsDataSource=f(Ii);nodeService=f(ht);drawingService=f(Vi);toasterService=f(te);cdr=f(X);controller=se(void 0);nodes=se(void 0);drawings=se(void 0);moveLayerUp(){this.nodes().forEach(e=>{e.z++,this.nodesDataSource.update(e),this.nodeService.update(this.controller(),e).subscribe({next:t=>{},error:t=>{let o=t.error?.message||t.message||"Failed to move layer up";this.toasterService.error(o) Line truncated
Select each value that appears in the list and click Apply, and note the CPU usage a few moments later. When you have found the value that minimises the CPU usage, apply that value.`}onCompute(){this.isComputing=!0,this.nodeService.getIdlePCProposals(this.controller,this.node).subscribe({next:e=>{let t=[];for(let o of e){let r=o.match(/^(0x[0-9a-f]{8})\s+\[(\d+)\]$/);if(r){let a=r[1],c=parseInt(r[2],10);50<=c&&c<=60&&(o+="*"),t.push({key:a,name:o})}}this.idlepcs=t,this.idlepcs.length>0&&this.idlePC.set(this.idlepcs[0].key),this.isComputing=!1,this.cd.markForCheck()},error:e=>{let t=e.error?.message||e.message||"Failed to compute idle-PC proposals";this.toasterService.error(t),this.isComputing=!1,this.cd.markForCheck()}})}onClose(){this.dialogRef.close()}onApply(){this.idlePC()&&this.idlePC()!=="0x0"&&(this.node.properties.idlepc=this.idlePC(),this.nodeService.updateNode(this.controller,this.node).subscribe({next:()=>{this.toasterService.success(`Node ${this.node.name} updated with idle-PC value ${this.idlePC()}`),this.cd.markForCheck()},error:e=>{let t=e.error?.message||e.message||"Failed to update node with idle-PC value";this.toasterService.error(t),this.cd.markForCheck()}}))}static \u0275fac=function(t){return new(t||n)};static \u0275cmp=F({type:n,selectors:[["app-idle-pc-dialog"]],inputs:{controller:"controller",node:"node",idlePC:[1,"idlePC"]},outputs:{idlePC:"idlePCChange"},decls:7,vars:4,consts:[["mat-dialog-actions",""],["mat-button","","color","accent"],["mat-button","","color","accent",3,"click"],["align","center"],["mat-dialog-content","","align","center"],["color","accent"],["mat-dialog-title",""],[1,"form-field"],["placeholder","Idle-PC","matTooltipClass","multiline-tooltip",3,"selectionChange","value","matTooltip"],[3,"value"]],template:function(t,o){t&1&&(A(0,Gbe,5,0,"div"),A(1,qbe,6,2),s(2,"div",0),A(3,Qbe,2,0,"button",1),A(4,Xbe,2,0,"button",1),s(5,"button",2),g("click",function(){return o.onClose()}),d(6,"Close"),l()()),t&2&&(O(o.isComputing?0:-1),m(),O(o.isComputing?-1:1),m(2),O(o.isComputing?-1:3),m(),O(o.isComputing?-1:4))},dependencies:[_e,Ne,Fe,bt,W,pe,pn,li,Se,Me,io,vt,At,_t,Xe],styles:[".container[_ngcontent-%COMP%]{width:100%;display:flex;justify-content:space-between}.multiline-tooltip[_ngcontent-%COMP%]{background-color:var(--mat-app-surface);color:var(--mat-app-on-surface-color);white-space:pre-line}"],changeDetection:0})}return n})();function Kbe(n,i){if(n&1){let e=z();s(0,"button",1),g("click",function(){k(e);let o=v();return T(o.idlePC())}),s(1,"mat-icon"),d(2,"query_builder"),l(),s(3,"span"),d(4,"Idle-PC"),l()()}}var jw=(()=>{class n{nodeService=f(ut);dialog=f(nt);controller=le(void 0);node=le(void 0);idlePC(){let t=this.dialog.open(zw,{panelClass:["base-dialog-panel","idle-pc-action-dialog-panel"],autoFocus:!1,disableClose:!1}).componentInstance;t.controller=this.controller(),t.node=this.node()}static \u0275fac=function(t){return new(t||n)};static \u0275cmp=F({type:n,selectors:[["app-idle-pc-action"]],inputs:{controller:[1,"controller"],node:[1,"node"]},decls:1,vars:1,consts:[["mat-menu-item",""],["mat-menu-item","",3,"click"]],template:function(t,o){if(t&1&&A(0,Kbe,5,0,"button",0),t&2){let r;O(((r=o.node())==null?null:r.node_type)==="dynamips"?0:-1)}},dependencies:[W,ie,de,Ge,Ze],encapsulation:2,changeDetection:0})}return n})();function Ybe(n,i){if(n&1){let e=z();s(0,"button",1),g("click",function(){k(e);let o=v();return T(o.autoIdlePC())}),s(1,"mat-icon"),d(2,"query_builder"),l(),s(3,"span"),d(4,"Auto Idle-PC"),l()()}}var $w=(()=>{class n{nodeService=f(ut);toasterService=f(te);progressService=f(no);cdr=f(Q);controller=le(void 0);node=le(void 0);autoIdlePC(){this.progressService.activate(),this.nodeService.getAutoIdlePC(this.controller(),this.node()).subscribe({next:e=>{this.progressService.deactivate(),e.idlepc!==null&&this.toasterService.success(`Node ${this.node().name} updated with idle-PC value ${e.idlepc}`),this.cdr.markForCheck()},error:e=>{this.progressService.deactivate();let t=e.error?.message||e.message||"Failed to update idle-PC value";this.toasterService.error(t),this.cdr.markForCheck()}})}static \u0275fac=function(t){return new(t||n)};static \u0275cmp=F({type:n,selectors:[["app-auto-idle-pc-action"]],inputs:{controller:[1,"controller"],node:[1,"node"]},decls:1,vars:1,consts:[["mat-menu-item",""],["mat-menu-item","",3,"click"]],template:function(t,o){if(t&1&&A(0,Ybe,5,0,"button",0),t&2){let r;O(((r=o.node())==null?null:r.node_type)==="dynamips"?0:-1)}},dependencies:[W,ie,de,Ge,Ze],encapsulation:2,changeDetection:0})}return n})();var Hw=(()=>{class n{nodesDataSource=f(di);drawingsDataSource=f(Ei);nodeService=f(ut);drawingService=f(Ri);toasterService=f(te);cdr=f(Q);controller=le(void 0);nodes=le(void 0);drawings=le(void 0);moveLayerUp(){this.nodes().forEach(e=>{e.z++,this.nodesDataSource.update(e),this.nodeService.update(this.controller(),e).subscribe({next:t=>{},error:t=>{let o=t.error?.message||t.message||"Failed to move layer up";this.toasterService.error(o) Line truncated
tcp port 80
host 192.168.1.1
tcp dst port 443 and src portrange 1024-65535`,3,"input","value"]],template:function(t,o){t&1&&(s(0,"h1",0),d(1,"Packet filters"),l(),A(2,MMe,38,6,"div",1),s(3,"div",2)(4,"button",3),_("click",function(){return o.onNoClick()}),d(5,"Cancel"),l(),s(6,"button",3),_("click",function(){return o.onResetClick()}),d(7,"Reset"),l(),s(8,"button",4),_("click",function(){return o.onYesClick()}),d(9,"Apply"),l(),s(10,"button",3),_("click",function(){return o.onHelpClick()}),d(11,"Help"),l()()),t&2&&(m(2),O(o.filters?2:-1))},dependencies:[ie,ve,Ne,Fe,yt,we,Me,it,Ei,Se,Ee,W,pe],styles:[".form-grid[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(2,1fr);gap:12px 16px;margin-bottom:16px}.form-grid-column[_ngcontent-%COMP%] mat-form-field[_ngcontent-%COMP%]{max-width:220px}mat-form-field[_ngcontent-%COMP%]{margin-bottom:12px}mat-form-field[_ngcontent-%COMP%]:last-child{margin-bottom:0}.full-width-field[_ngcontent-%COMP%]{width:100%}"],changeDetection:0})}return n})();var zM=(()=>{class n{dialog=f(ot);dialogConfig=f(bo);controller=se(void 0);project=se(void 0);link=se(void 0);openPacketFilters(){let e=this.dialogConfig.openConfig("packetFilters",{autoFocus:!1,disableClose:!1}),o=this.dialog.open(VM,e).componentInstance;o.controller=this.controller(),o.project=this.project(),o.link=this.link()}static \u0275fac=function(t){return new(t||n)};static \u0275cmp=F({type:n,selectors:[["app-packet-filters-action"]],inputs:{controller:[1,"controller"],project:[1,"project"],link:[1,"link"]},decls:5,vars:0,consts:[["mat-menu-item","",3,"click"]],template:function(t,o){t&1&&(s(0,"button",0),_("click",function(){return o.openPacketFilters()}),s(1,"mat-icon"),d(2,"filter_list"),l(),s(3,"span"),d(4,"Packet filters"),l()())},dependencies:[W,oe,de,Ge,tt],encapsulation:2,changeDetection:0})}return n})();function kMe(n,i){if(n&1){let e=z();s(0,"button",1),_("click",function(){T(e);let o=v();return E(o.resumeLink())}),s(1,"mat-icon"),d(2,"play_arrow"),l(),s(3,"span"),d(4,"Resume"),l()()}}var jM=(()=>{class n{linkService=f(Bi);toasterService=f(te);cdr=f(X);controller=se(void 0);link=se(void 0);resumeLink(){let e=this.link();e.suspend=!1,this.linkService.updateLink(this.controller(),e).subscribe({next:()=>{},error:t=>{let o=t.error?.message||t.message||"Failed to resume link";this.toasterService.error(o),this.cdr.markForCheck()}})}static \u0275fac=function(t){return new(t||n)};static \u0275cmp=F({type:n,selectors:[["app-resume-link-action"]],inputs:{controller:[1,"controller"],link:[1,"link"]},decls:1,vars:1,consts:[["mat-menu-item",""],["mat-menu-item","",3,"click"]],template:function(t,o){if(t&1&&A(0,kMe,5,0,"button",0),t&2){let r;O((r=o.link())!=null&&r.suspend?0:-1)}},dependencies:[W,oe,de,Ge,tt],encapsulation:2,changeDetection:0})}return n})();function TMe(n,i){if(n&1){let e=z();s(0,"button",1),_("click",function(){T(e);let o=v();return E(o.suspendLink())}),s(1,"mat-icon"),d(2,"pause"),l(),s(3,"span"),d(4,"Suspend"),l()()}}var $M=(()=>{class n{linkService=f(Bi);toasterService=f(te);cdr=f(X);controller=se(void 0);link=se(void 0);suspendLink(){let e=this.link();e.suspend=!0,this.linkService.updateLink(this.controller(),e).subscribe({next:()=>{},error:t=>{let o=t.error?.message||t.message||"Failed to suspend link";this.toasterService.error(o),this.cdr.markForCheck()}})}static \u0275fac=function(t){return new(t||n)};static \u0275cmp=F({type:n,selectors:[["app-suspend-link-action"]],inputs:{controller:[1,"controller"],link:[1,"link"]},decls:1,vars:1,consts:[["mat-menu-item",""],["mat-menu-item","",3,"click"]],template:function(t,o){if(t&1&&A(0,TMe,5,0,"button",0),t&2){let r;O(((r=o.link())==null?null:r.suspend)===!1?0:-1)}},dependencies:[W,oe,de,Ge,tt],encapsulation:2,changeDetection:0})}return n})();var HM=(()=>{class n{linkService=f(Bi);toasterService=f(te);linksDataSource=f(Uo);mapLinksDataSource=f(ad);controller=se(void 0);link=se(void 0);get showFiltersIcon(){let e=this.link();return e?this.linksDataSource.get(e.link_id)?.show_filters_icon??!0:!0}toggleShowFiltersIcon(){let e=this.link();if(!e)return;let o=!this.showFiltersIcon;this.linkService.updateLink(this.controller(),We(q({},e),{show_filters_icon:o})).subscribe({next:r=>{this.linksDataSource.update(r);let a=this.mapLinksDataSource.get(r.link_id);a&&(a.show_filters_icon=r.show_filters_icon,this.mapLinksDataSource.update(a))},error:r=>{let a=r.error?.message||r.message||"Failed to toggle filter icon visibility";this.toasterService.error(a)}})}static \u0275fac=function(t){return new(t||n)};static \u0275cmp=F({type:n,selectors:[["app-toggle-show-filters-icon-action"]],inputs:{controller:[1,"controller"],link:[1,"link"]},decls:5,vars:2,consts:[["mat-menu-item","",3,"click"]],template:function(t,o){t&1&&(s(0,"button",0),_("click",function(){return o.toggleShowFiltersIcon()}),s(1,"mat-icon"),d(2),l(),s(3,"span"),d(4),l()()),t&2&&(m(2),j(o.showFiltersIcon===!1?"visibility_off":"visibility"),m(2),j(o.showFiltersIcon===!1?"Show filter icons":"Hide filter icons"))},dependencies:[oe,d Line truncated
`],encapsulation:2,changeDetection:0})}return n})(),Yg=(()=>{class n{static \u0275fac=function(t){return new(t||n)};static \u0275mod=Gt({type:n});static \u0275inj=Ut({imports:[W,xt,kt,br]})}return n})();var Tke=["mat-sort-header",""],Eke=["*",[["","matSortHeaderIcon",""]]],Dke=["*","[matSortHeaderIcon]"];function Pke(n,i){n&1&&(ii(),So(0,"svg",3),Os(1,"path",4),Eo())}function Ike(n,i){n&1&&(So(0,"div",2),sn(1,1,null,Pke,2,0),Eo())}var VH=new $t("MAT_SORT_DEFAULT_OPTIONS"),go=(()=>{class n{_defaultOptions;_initializedStream=new um(1);sortables=new Map;_stateChanges=new $e;active;start="asc";get direction(){return this._direction}set direction(e){this._direction=e}_direction="";disableClear;disabled=!1;sortChange=new _e;initialized=this._initializedStream;constructor(e){this._defaultOptions=e}register(e){this.sortables.set(e.id,e)}deregister(e){this.sortables.delete(e.id)}sort(e){this.active!=e.id?(this.active=e.id,this.direction=e.start?e.start:this.start):this.direction=this.getNextSortDirection(e),this.sortChange.emit({active:this.active,direction:this.direction})}getNextSortDirection(e){if(!e)return"";let t=e?.disableClear??this.disableClear??!!this._defaultOptions?.disableClear,o=Ake(e.start||this.start,t),r=o.indexOf(this.direction)+1;return r>=o.length&&(r=0),o[r]}ngOnInit(){this._initializedStream.next()}ngOnChanges(){this._stateChanges.next()}ngOnDestroy(){this._stateChanges.complete(),this._initializedStream.complete()}static \u0275fac=function(t){return new(t||n)(Ye(VH,8))};static \u0275dir=ft({type:n,selectors:[["","matSort",""]],hostAttrs:[1,"mat-sort"],inputs:{active:[0,"matSortActive","active"],start:[0,"matSortStart","start"],direction:[0,"matSortDirection","direction"],disableClear:[2,"matSortDisableClear","disableClear",gt],disabled:[2,"matSortDisabled","disabled",gt]},outputs:{sortChange:"matSortChange"},exportAs:["matSort"],features:[mn]})}return n})();function Ake(n,i){let e=["asc","desc"];return n=="desc"&&e.reverse(),i||e.push(""),e}var Fr=(()=>{class n{_sort=f(go,{optional:!0});_columnDef=f(Wm,{optional:!0});_changeDetectorRef=f(X);_focusMonitor=f($a);_elementRef=f(Yt);_ariaDescriber=f(Q5,{optional:!0});_renderChanges;_animationsDisabled=Yo();_recentlyCleared=ne(null);_sortButton;id;arrowPosition="after";start;disabled=!1;get sortActionDescription(){return this._sortActionDescription}set sortActionDescription(e){this._updateSortActionDescription(e)}_sortActionDescription="Sort";disableClear;constructor(){f(fr).load(pa);let e=f(VH,{optional:!0});this._sort,e?.arrowPosition&&(this.arrowPosition=e?.arrowPosition)}ngOnInit(){!this.id&&this._columnDef&&(this.id=this._columnDef.name),this._sort.register(this),this._renderChanges=Wn(this._sort._stateChanges,this._sort.sortChange).subscribe(()=>this._changeDetectorRef.markForCheck()),this._sortButton=this._elementRef.nativeElement.querySelector(".mat-sort-header-container"),this._updateSortActionDescription(this._sortActionDescription)}ngAfterViewInit(){this._focusMonitor.monitor(this._elementRef,!0).subscribe(()=>{Promise.resolve().then(()=>this._recentlyCleared.set(null))})}ngOnDestroy(){this._focusMonitor.stopMonitoring(this._elementRef),this._sort.deregister(this),this._renderChanges?.unsubscribe(),this._sortButton&&this._ariaDescriber?.removeDescription(this._sortButton,this._sortActionDescription)}_toggleOnInteraction(){if(!this._isDisabled()){let e=this._isSorted(),t=this._sort.direction;this._sort.sort(this),this._recentlyCleared.set(e&&!this._isSorted()?t:null)}}_handleKeydown(e){(e.keyCode===32||e.keyCode===13)&&(e.preventDefault(),this._toggleOnInteraction())}_isSorted(){return this._sort.active==this.id&&(this._sort.direction==="asc"||this._sort.direction==="desc")}_isDisabled(){return this._sort.disabled||this.disabled}_getAriaSortAttribute(){return this._isSorted()?this._sort.direction=="asc"?"ascending":"descending":"none"}_renderArrow(){return!this._isDisabled()||this._isSorted()}_updateSortActionDescription(e){this._sortButton&&(this._ariaDescriber?.removeDescription(this._sortButton,this._sortActionDescription),this._ariaDescriber?.describe(this._sortButton,e)),this._sortActionDescription=e}static \u0275fac=function(t){return new(t||n)};static \u0275cmp=F({type:n,selectors:[["","mat-sort-header",""]],hostAttrs:[1,"mat-sort-header"],hostVars:3,hostBindings:function(t,o){t&1&&_("click",function(){return o._toggleOnInteraction()})("keydown",function(a){return o._handleKeydown(a)})("mouseleave",function(){return o._recentlyCleared.set(null)}),t&2&&(qt("aria-sort",o._getAriaSortAttribute()),Ve("mat-sort-header-disabled",o._isDisabled()))},inputs:{id:[0,"mat-sort-header","id"],arrowPosition:"arrowPosition",start:"start",disabled:[2,"disabled","disabled",gt],sortActionDescription:"sortActionDescription",disableClear:[2,"disableClear","disableClear",gt]},exportAs:["matSortHeader"],attrs:Tke,ngContentSelectors:Dke,decls:4,vars:17,consts:[[1,"mat-sort-header-container","mat-focus-indicator"],[1,"mat-sort-header-content"],[1,"mat-sort- Line truncated
`],encapsulation:2,changeDetection:0})}return n})(),mr=(()=>{class n{static \u0275fac=function(t){return new(t||n)};static \u0275mod=Gt({type:n});static \u0275inj=Ut({imports:[vi]})}return n})();var UH=el($H());var QC=(()=>{class n{dialogRef=f(Ie);confirmationMessage;onNoClick(){this.dialogRef.close(!1)}onYesClick(){this.dialogRef.close(!0)}static \u0275fac=function(t){return new(t||n)};static \u0275cmp=F({type:n,selectors:[["app-information-dialog"]],decls:8,vars:1,consts:[[1,"information-dialog__content"],[1,"information-dialog__message"],["mat-dialog-actions",""],["mat-button","",1,"cancel-button",3,"click"],["mat-button","","tabindex","2","mat-raised-button","","color","primary",1,"confirm-button",3,"click"]],template:function(t,o){t&1&&(s(0,"mat-dialog-content",0)(1,"p",1),d(2),l()(),s(3,"div",2)(4,"button",3),_("click",function(){return o.onNoClick()}),d(5,"No"),l(),s(6,"button",4),_("click",function(){return o.onYesClick()}),d(7," Yes "),l()()),t&2&&(m(2),j(o.confirmationMessage))},dependencies:[ve,Fe,yt,W,pe],styles:[".information-dialog__content[_ngcontent-%COMP%]{padding:16px 24px 8px}.information-dialog__message[_ngcontent-%COMP%]{margin:0;color:var(--mat-sys-on-surface-variant);font-size:14px;line-height:1.6}"],changeDetection:0})}return n})();var Zg=class{adapters;builtin;category;compute_id;console_auto_start;console_http_path;console_http_port;console_resolution;console_type;aux_type;mac_address;custom_adapters;default_name_format;environment;extra_hosts;extra_volumes;image;memory;cpus;name;start_command;symbol;template_id;template_type;usage;tags};var ZM=(()=>{class n{httpController;constructor(e){this.httpController=e}getAppliances(e){return this.httpController.get(e,"/appliances")}getAppliance(e,t){return this.httpController.get(e,t)}getUploadPath(e,t){return`${e.protocol}//${e.host}:${e.port}/${Ti.current_version}/images/upload/${t}`}updateAppliances(e){return this.httpController.get(e,"/appliances?update=yes")}static \u0275fac=function(t){return new(t||n)(ge(fn))};static \u0275prov=K({token:n,factory:n.\u0275fac})}return n})();function Oke(n,i){if(n&1&&(s(0,"div"),d(1),l(),s(2,"div"),d(3),l()),n&2){let e=v();m(),ee("Adapters: ",e.appliance.qemu.adapters),m(2),ee("Console type: ",e.appliance.qemu.console_type)}}var JM=(()=>{class n{data;dialogRef=f(Ie);appliance;constructor(e){this.data=e}onNoClick(){this.dialogRef.close()}static \u0275fac=function(t){return new(t||n)(Ye(vt))};static \u0275cmp=F({type:n,selectors:[["app-appliance-info-dialog"]],decls:14,vars:5,consts:[[1,"title-container"],["mat-dialog-title",""],["mat-dialog-content",""],["mat-dialog-actions",""],["mat-button","","tabindex","-1","color","accent",3,"click"]],template:function(t,o){t&1&&(s(0,"div",0)(1,"h1",1),d(2),l()(),s(3,"div",2)(4,"div"),d(5),l(),s(6,"div"),d(7),l(),s(8,"div"),d(9),l(),A(10,Oke,4,2),l(),s(11,"div",3)(12,"button",4),_("click",function(){return o.onNoClick()}),d(13,"Close"),l()()),t&2&&(m(2),j(o.appliance.name),m(3),ee("Vendor: ",o.appliance.vendor_name),m(2),ee("Status: ",o.appliance.status),m(2),ee("Maintainer: ",o.appliance.maintainer),m(),O(o.appliance.qemu?10:-1))},dependencies:[ve,Ne,Fe,yt,W,pe,gn],encapsulation:2,changeDetection:0})}return n})();var HH=(n,i)=>e=>rs(500).pipe(un(()=>i.list(n)),_t(t=>t.find(o=>o.name===e.value)?{templateExist:!0}:null));var Nke=n=>({"is-invalid":n});function Fke(n,i){n&1&&(s(0,"mat-error"),d(1,"Template name is required"),l())}function Rke(n,i){n&1&&(s(0,"mat-error"),d(1,"Template name is incorrect"),l())}function Lke(n,i){n&1&&(s(0,"mat-error"),d(1,"Template with this name exists"),l())}var hh=(()=>{class n{templateNameValidator;data;dialogRef=f(Ie);router=f(dt);dialog=f(ot);toasterService=f(te);formBuilder=f(jn);templateService=f(El);cdr=f(X);controller;templateNameForm;constructor(e,t){this.templateNameValidator=e,this.data=t}ngOnInit(){let e=this.data.name;this.templateNameForm=this.formBuilder.group({templateName:new et(e,[Ue.required,this.templateNameValidator.get],[HH(this.controller,this.templateService)])}),setTimeout(()=>{this.templateNameForm.controls.templateName.markAsTouched(),this.cdr.markForCheck()},100)}get form(){return this.templateNameForm.controls}onAddClick(){if(this.templateNameForm.invalid){this.toasterService.error("Please enter correct name for new template");return}this.templateService.list(this.controller).subscribe({next:e=>{let t=this.templateNameForm.controls.templateName.value;e.find(r=>r.name===t)?(this.toasterService.error("Template with this name exists"),this.cdr.markForCheck()):this.dialogRef.close(this.templateNameForm.controls.templateName.value)},error:e=>{let t=e.error?.message||e.message||"Failed to load templates";this.toasterService.error(t),this.cdr.markForCheck()}})}onNoClick(){this.dialogRef.close()}onKeyDown(e){e.key==="Enter"&&this.onAddClick()}static \u0275fac=function(t){return new(t||n)(Ye(Ys),Ye(vt))};static \u0275cmp=F({type:n,selectors:[["app-template-name-dialog"]],features:[bn([Ys])],decls:13,vars:7,consts:[ Line truncated
The MD5 sum is ${o} and should be ${r.md5sum}. Do you want to accept it at your own risks?`,a.afterClosed().subscribe(c=>{c?(this.importImageFile(e,t),this.openSnackBar()):(this.isUploading=!1,this.uploadingImageName="",this.uploaderImage.clearQueue(),this.changeDetectorRef.markForCheck())})}else this.importImageFile(e,t),this.openSnackBar()})}importImageFile(e,t){let o=e.target.files[0].name.split("-")[0],r=e.target.files[0],a=new FileReader,c;a.onloadend=()=>{this.applianceToInstall.qemu&&(c="qemu"),this.applianceToInstall.dynamips&&(c="dynamips"),this.applianceToInstall.iou&&(c="iou");let p=this.applianceService.getUploadPath(this.controller,t);this.uploaderImage.queue.forEach(h=>h.url=p);let u=this.uploaderImage.queue[0];u.options&&(u.options.disableMultipart=!0),u.options.headers=[{name:"Authorization",value:"Bearer "+this.controller.authToken}],this.isUploading=!0,this.uploadProgress=0,this.uploaderImage.uploadItem(u),this.changeDetectorRef.markForCheck()},a.onloadend(void 0)}cancelUploading(){this.uploaderImage.clearQueue(),this.uploadServiceService.processBarCount(null),this.toasterService.warning("File upload cancelled"),this.uploadServiceService.cancelFileUploading(!1)}checkImageFromVersion(e){let t=this.applianceToInstall.images.filter(o=>o.filename===e)[0];if(this.applianceToInstall.qemu){if(this.qemuImages.filter(o=>o.checksum===t.md5sum).length>0)return!0}else if(this.applianceToInstall.dynamips){if(this.iosImages.filter(o=>o.checksum===t.md5sum).length>0)return!0}else if(this.applianceToInstall.iou&&this.iouImages.filter(o=>o.checksum===t.md5sum).length>0)return!0;return!1}getVersionImageCount(e){let t=e.images,o=0;return t.bios_image&&o++,t.hda_disk_image&&o++,t.hdb_disk_image&&o++,t.hdc_disk_image&&o++,t.hdd_disk_image&&o++,t.cdrom_image&&o++,o}getVersionReadyCount(e){let t=e.images,o=0;return t.bios_image&&this.checkImageFromVersion(t.bios_image)&&o++,t.hda_disk_image&&this.checkImageFromVersion(t.hda_disk_image)&&o++,t.hdb_disk_image&&this.checkImageFromVersion(t.hdb_disk_image)&&o++,t.hdc_disk_image&&this.checkImageFromVersion(t.hdc_disk_image)&&o++,t.hdd_disk_image&&this.checkImageFromVersion(t.hdd_disk_image)&&o++,t.cdrom_image&&this.checkImageFromVersion(t.cdrom_image)&&o++,o}isVersionComplete(e){return this.getVersionReadyCount(e)===this.getVersionImageCount(e)}openConfirmationDialog(e,t){let o=this.dialog.open(QC,{autoFocus:!1,disableClose:!0,panelClass:["base-confirmation-dialog-panel","information-dialog-panel"]});o.componentInstance.confirmationMessage=e,o.afterClosed().subscribe(r=>{r&&window.open(t)})}downloadImage(e){let t="Download will redirect you where the required file can be downloaded, you may have to be registered with the vendor in order to download the file.",o=`The file is compressed with ${e.compression}, it must be uncompressed first.`;e.direct_download_url?e.compression?this.openConfirmationDialog(o,e.direct_download_url):window.open(e.direct_download_url):this.openConfirmationDialog(t,e.download_url)}downloadImageFromVersion(e){this.applianceToInstall.images.forEach(t=>{t.filename===e&&this.downloadImage(t)})}getCategory(){return this.applianceToInstall.category==="multilayer_switch"?"switch":this.applianceToInstall.category}createIouTemplate(e){let t=e.filename,o=this.applianceToInstall.images.filter(p=>p.filename===t)[0],r=this.iouImages.filter(p=>p.checksum===o.md5sum);r.length>0&&(t=r[0].filename);let a=new lp;a.nvram=this.applianceToInstall.iou.nvram,a.ram=this.applianceToInstall.iou.ram,a.ethernet_adapters=this.applianceToInstall.iou.ethernet_adapters,a.serial_adapters=this.applianceToInstall.iou.serial_adapters,a.startup_config=this.applianceToInstall.iou.startup_config,a.category=this.getCategory(),a.default_name_format=this.applianceToInstall.default_name_format,a.symbol=this.applianceToInstall.symbol,a.tags=this.applianceToInstall.tags||[],a.compute_id="local",a.template_id=Fi(),a.path=t,a.template_type="iou";let c=this.dialog.open(hh,{width:"400px",autoFocus:!1,disableClose:!0,panelClass:["base-dialog-panel","simple-dialog-panel","template-name-dialog-panel"],data:{name:this.applianceToInstall.name}});c.componentInstance.controller=this.controller,c.afterClosed().subscribe(p=>{if(p)a.name=p,this.iouService.addTemplate(this.controller,a).subscribe({next:u=>{this.templateService.newTemplateCreated.next(u),this.toasterService.success("Template added"),this.dialogRef.close()},error:u=>{let h=u.error?.message||u.message||"Failed to add template";this.toasterService.error(h),this.changeDetector.markForCheck()}});else return!1})}createIosTemplate(e){let t=e.filename,o=this.applianceToInstall.images.filter(p=>p.filename===t)[0],r=this.iosImages.filter(p=>p.checksum===o.md5sum);r.length>0&&(t=r[0].filename);let a=new ap;a.chassis=this.applianceToInstall.dynamips.chassis,a.nvram=this.applianceToInstall.dynamips.nvram,a.platform=this.applianceToInstall.dynamips.platform,a.ram=this.applianceToInstall.dynamips.ram,a.startup_config=this.applian Line truncated
tcp dst port 443 and src portrange 1024-65535`,3,"input","value"]],template:function(t,o){t&1&&(s(0,"h1",0),d(1,"Packet filters"),l(),A(2,cxe,38,6,"div",1),s(3,"div",2)(4,"button",3),g("click",function(){return o.onNoClick()}),d(5,"Cancel"),l(),s(6,"button",3),g("click",function(){return o.onResetClick()}),d(7,"Reset"),l(),s(8,"button",4),g("click",function(){return o.onYesClick()}),d(9,"Apply"),l(),s(10,"button",3),g("click",function(){return o.onHelpClick()}),d(11,"Help"),l()()),t&2&&(m(2),O(o.filters?2:-1))},dependencies:[ne,_e,Ne,Fe,bt,we,Me,et,Mi,Se,Ee,W,pe],styles:[".form-grid[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(2,1fr);gap:12px 16px;margin-bottom:16px}.form-grid-column[_ngcontent-%COMP%] mat-form-field[_ngcontent-%COMP%]{max-width:220px}mat-form-field[_ngcontent-%COMP%]{margin-bottom:12px}mat-form-field[_ngcontent-%COMP%]:last-child{margin-bottom:0}.full-width-field[_ngcontent-%COMP%]{width:100%}"],changeDetection:0})}return n})();var Zw=(()=>{class n{dialog=f(nt);dialogConfig=f(fo);controller=le(void 0);project=le(void 0);link=le(void 0);openPacketFilters(){let e=this.dialogConfig.openConfig("packetFilters",{autoFocus:!1,disableClose:!1}),o=this.dialog.open(Yw,e).componentInstance;o.controller=this.controller(),o.project=this.project(),o.link=this.link()}static \u0275fac=function(t){return new(t||n)};static \u0275cmp=F({type:n,selectors:[["app-packet-filters-action"]],inputs:{controller:[1,"controller"],project:[1,"project"],link:[1,"link"]},decls:5,vars:0,consts:[["mat-menu-item","",3,"click"]],template:function(t,o){t&1&&(s(0,"button",0),g("click",function(){return o.openPacketFilters()}),s(1,"mat-icon"),d(2,"filter_list"),l(),s(3,"span"),d(4,"Packet filters"),l()())},dependencies:[W,ie,de,Ge,Ze],encapsulation:2,changeDetection:0})}return n})();function dxe(n,i){if(n&1){let e=z();s(0,"button",1),g("click",function(){k(e);let o=v();return T(o.resumeLink())}),s(1,"mat-icon"),d(2,"play_arrow"),l(),s(3,"span"),d(4,"Resume"),l()()}}var Jw=(()=>{class n{linkService=f(Fi);toasterService=f(te);cdr=f(Q);controller=le(void 0);link=le(void 0);resumeLink(){let e=this.link();e.suspend=!1,this.linkService.updateLink(this.controller(),e).subscribe({next:()=>{},error:t=>{let o=t.error?.message||t.message||"Failed to resume link";this.toasterService.error(o),this.cdr.markForCheck()}})}static \u0275fac=function(t){return new(t||n)};static \u0275cmp=F({type:n,selectors:[["app-resume-link-action"]],inputs:{controller:[1,"controller"],link:[1,"link"]},decls:1,vars:1,consts:[["mat-menu-item",""],["mat-menu-item","",3,"click"]],template:function(t,o){if(t&1&&A(0,dxe,5,0,"button",0),t&2){let r;O((r=o.link())!=null&&r.suspend?0:-1)}},dependencies:[W,ie,de,Ge,Ze],encapsulation:2,changeDetection:0})}return n})();function mxe(n,i){if(n&1){let e=z();s(0,"button",1),g("click",function(){k(e);let o=v();return T(o.suspendLink())}),s(1,"mat-icon"),d(2,"pause"),l(),s(3,"span"),d(4,"Suspend"),l()()}}var e2=(()=>{class n{linkService=f(Fi);toasterService=f(te);cdr=f(Q);controller=le(void 0);link=le(void 0);suspendLink(){let e=this.link();e.suspend=!0,this.linkService.updateLink(this.controller(),e).subscribe({next:()=>{},error:t=>{let o=t.error?.message||t.message||"Failed to suspend link";this.toasterService.error(o),this.cdr.markForCheck()}})}static \u0275fac=function(t){return new(t||n)};static \u0275cmp=F({type:n,selectors:[["app-suspend-link-action"]],inputs:{controller:[1,"controller"],link:[1,"link"]},decls:1,vars:1,consts:[["mat-menu-item",""],["mat-menu-item","",3,"click"]],template:function(t,o){if(t&1&&A(0,mxe,5,0,"button",0),t&2){let r;O(((r=o.link())==null?null:r.suspend)===!1?0:-1)}},dependencies:[W,ie,de,Ge,Ze],encapsulation:2,changeDetection:0})}return n})();var t2=(()=>{class n{linkService=f(Fi);toasterService=f(te);linksDataSource=f(zo);mapLinksDataSource=f(jc);controller=le(void 0);link=le(void 0);get showFiltersIcon(){let e=this.link();return e?this.linksDataSource.get(e.link_id)?.show_filters_icon??!0:!0}toggleShowFiltersIcon(){let e=this.link();if(!e)return;let o=!this.showFiltersIcon;this.linkService.updateLink(this.controller(),it(K({},e),{show_filters_icon:o})).subscribe({next:r=>{this.linksDataSource.update(r);let a=this.mapLinksDataSource.get(r.link_id);a&&(a.show_filters_icon=r.show_filters_icon,this.mapLinksDataSource.update(a))},error:r=>{let a=r.error?.message||r.message||"Failed to toggle filter icon visibility";this.toasterService.error(a)}})}static \u0275fac=function(t){return new(t||n)};static \u0275cmp=F({type:n,selectors:[["app-toggle-show-filters-icon-action"]],inputs:{controller:[1,"controller"],link:[1,"link"]},decls:5,vars:2,consts:[["mat-menu-item","",3,"click"]],template:function(t,o){t&1&&(s(0,"button",0),g("click",function(){return o.toggleShowFiltersIcon()}),s(1,"mat-icon"),d(2),l(),s(3,"span"),d(4),l()()),t&2&&(m(2),j(o.showFiltersIcon===!1?"visibility_off":"visibility"),m(2),j(o.showFiltersIcon===!1?"Show filter icons":"Hide filter icons"))},dependencies:[ie,d Line truncated
`],encapsulation:2,changeDetection:0})}return n})(),sg=(()=>{class n{static \u0275fac=function(t){return new(t||n)};static \u0275mod=Ht({type:n});static \u0275inj=$t({imports:[W,vt,wt,hr]})}return n})();var mye=["mat-sort-header",""],pye=["*",[["","matSortHeaderIcon",""]]],uye=["*","[matSortHeaderIcon]"];function hye(n,i){n&1&&(ei(),vo(0,"svg",3),bs(1,"path",4),wo())}function fye(n,i){n&1&&(vo(0,"div",2),on(1,1,null,hye,2,0),wo())}var s9=new cn("MAT_SORT_DEFAULT_OPTIONS"),mo=(()=>{class n{_defaultOptions;_initializedStream=new Hd(1);sortables=new Map;_stateChanges=new He;active;start="asc";get direction(){return this._direction}set direction(e){this._direction=e}_direction="";disableClear;disabled=!1;sortChange=new ve;initialized=this._initializedStream;constructor(e){this._defaultOptions=e}register(e){this.sortables.set(e.id,e)}deregister(e){this.sortables.delete(e.id)}sort(e){this.active!=e.id?(this.active=e.id,this.direction=e.start?e.start:this.start):this.direction=this.getNextSortDirection(e),this.sortChange.emit({active:this.active,direction:this.direction})}getNextSortDirection(e){if(!e)return"";let t=e?.disableClear??this.disableClear??!!this._defaultOptions?.disableClear,o=gye(e.start||this.start,t),r=o.indexOf(this.direction)+1;return r>=o.length&&(r=0),o[r]}ngOnInit(){this._initializedStream.next()}ngOnChanges(){this._stateChanges.next()}ngOnDestroy(){this._stateChanges.complete(),this._initializedStream.complete()}static \u0275fac=function(t){return new(t||n)(ot(s9,8))};static \u0275dir=ft({type:n,selectors:[["","matSort",""]],hostAttrs:[1,"mat-sort"],inputs:{active:[0,"matSortActive","active"],start:[0,"matSortStart","start"],direction:[0,"matSortDirection","direction"],disableClear:[2,"matSortDisableClear","disableClear",Ct],disabled:[2,"matSortDisabled","disabled",Ct]},outputs:{sortChange:"matSortChange"},exportAs:["matSort"],features:[bn]})}return n})();function gye(n,i){let e=["asc","desc"];return n=="desc"&&e.reverse(),i||e.push(""),e}var Tr=(()=>{class n{_sort=f(mo,{optional:!0});_columnDef=f(Cm,{optional:!0});_changeDetectorRef=f(Q);_focusMonitor=f(Aa);_elementRef=f(Zt);_ariaDescriber=f(u4,{optional:!0});_renderChanges;_animationsDisabled=qo();_recentlyCleared=ae(null);_sortButton;id;arrowPosition="after";start;disabled=!1;get sortActionDescription(){return this._sortActionDescription}set sortActionDescription(e){this._updateSortActionDescription(e)}_sortActionDescription="Sort";disableClear;constructor(){f(cr).load(ia);let e=f(s9,{optional:!0});this._sort,e?.arrowPosition&&(this.arrowPosition=e?.arrowPosition)}ngOnInit(){!this.id&&this._columnDef&&(this.id=this._columnDef.name),this._sort.register(this),this._renderChanges=Hn(this._sort._stateChanges,this._sort.sortChange).subscribe(()=>this._changeDetectorRef.markForCheck()),this._sortButton=this._elementRef.nativeElement.querySelector(".mat-sort-header-container"),this._updateSortActionDescription(this._sortActionDescription)}ngAfterViewInit(){this._focusMonitor.monitor(this._elementRef,!0).subscribe(()=>{Promise.resolve().then(()=>this._recentlyCleared.set(null))})}ngOnDestroy(){this._focusMonitor.stopMonitoring(this._elementRef),this._sort.deregister(this),this._renderChanges?.unsubscribe(),this._sortButton&&this._ariaDescriber?.removeDescription(this._sortButton,this._sortActionDescription)}_toggleOnInteraction(){if(!this._isDisabled()){let e=this._isSorted(),t=this._sort.direction;this._sort.sort(this),this._recentlyCleared.set(e&&!this._isSorted()?t:null)}}_handleKeydown(e){(e.keyCode===32||e.keyCode===13)&&(e.preventDefault(),this._toggleOnInteraction())}_isSorted(){return this._sort.active==this.id&&(this._sort.direction==="asc"||this._sort.direction==="desc")}_isDisabled(){return this._sort.disabled||this.disabled}_getAriaSortAttribute(){return this._isSorted()?this._sort.direction=="asc"?"ascending":"descending":"none"}_renderArrow(){return!this._isDisabled()||this._isSorted()}_updateSortActionDescription(e){this._sortButton&&(this._ariaDescriber?.removeDescription(this._sortButton,this._sortActionDescription),this._ariaDescriber?.describe(this._sortButton,e)),this._sortActionDescription=e}static \u0275fac=function(t){return new(t||n)};static \u0275cmp=F({type:n,selectors:[["","mat-sort-header",""]],hostAttrs:[1,"mat-sort-header"],hostVars:3,hostBindings:function(t,o){t&1&&g("click",function(){return o._toggleOnInteraction()})("keydown",function(a){return o._handleKeydown(a)})("mouseleave",function(){return o._recentlyCleared.set(null)}),t&2&&(qt("aria-sort",o._getAriaSortAttribute()),Be("mat-sort-header-disabled",o._isDisabled()))},inputs:{id:[0,"mat-sort-header","id"],arrowPosition:"arrowPosition",start:"start",disabled:[2,"disabled","disabled",Ct],sortActionDescription:"sortActionDescription",disableClear:[2,"disableClear","disableClear",Ct]},exportAs:["matSortHeader"],attrs:mye,ngContentSelectors:uye,decls:4,vars:17,consts:[[1,"mat-sort-header-container","mat-focus-indicator"],[1,"mat-sort-header-content"],[1,"mat-sort- Line truncated
`],encapsulation:2,changeDetection:0})}return n})(),ar=(()=>{class n{static \u0275fac=function(t){return new(t||n)};static \u0275mod=Ht({type:n});static \u0275inj=$t({imports:[hi]})}return n})();var p9=Bs(d9());var Vv=(()=>{class n{dialogRef=f(Ie);confirmationMessage;onNoClick(){this.dialogRef.close(!1)}onYesClick(){this.dialogRef.close(!0)}static \u0275fac=function(t){return new(t||n)};static \u0275cmp=F({type:n,selectors:[["app-information-dialog"]],decls:8,vars:1,consts:[[1,"information-dialog__content"],[1,"information-dialog__message"],["mat-dialog-actions",""],["mat-button","",1,"cancel-button",3,"click"],["mat-button","","tabindex","2","mat-raised-button","","color","primary",1,"confirm-button",3,"click"]],template:function(t,o){t&1&&(s(0,"mat-dialog-content",0)(1,"p",1),d(2),l()(),s(3,"div",2)(4,"button",3),g("click",function(){return o.onNoClick()}),d(5,"No"),l(),s(6,"button",4),g("click",function(){return o.onYesClick()}),d(7," Yes "),l()()),t&2&&(m(2),j(o.confirmationMessage))},dependencies:[_e,Fe,bt,W,pe],styles:[".information-dialog__content[_ngcontent-%COMP%]{padding:16px 24px 8px}.information-dialog__message[_ngcontent-%COMP%]{margin:0;color:var(--mat-sys-on-surface-variant);font-size:14px;line-height:1.6}"],changeDetection:0})}return n})();var lg=class{adapters;builtin;category;compute_id;console_auto_start;console_http_path;console_http_port;console_resolution;console_type;aux_type;mac_address;custom_adapters;default_name_format;environment;extra_hosts;extra_volumes;image;memory;cpus;name;start_command;symbol;template_id;template_type;usage;tags};var d2=(()=>{class n{httpController;constructor(e){this.httpController=e}getAppliances(e){return this.httpController.get(e,"/appliances")}getAppliance(e,t){return this.httpController.get(e,t)}getUploadPath(e,t){return`${e.protocol}//${e.host}:${e.port}/${wi.current_version}/images/upload/${t}`}updateAppliances(e){return this.httpController.get(e,"/appliances?update=yes")}static \u0275fac=function(t){return new(t||n)(ge(mn))};static \u0275prov=J({token:n,factory:n.\u0275fac})}return n})();function _ye(n,i){if(n&1&&(s(0,"div"),d(1),l(),s(2,"div"),d(3),l()),n&2){let e=v();m(),ee("Adapters: ",e.appliance.qemu.adapters),m(2),ee("Console type: ",e.appliance.qemu.console_type)}}var m2=(()=>{class n{data;dialogRef=f(Ie);appliance;constructor(e){this.data=e}onNoClick(){this.dialogRef.close()}static \u0275fac=function(t){return new(t||n)(ot(gt))};static \u0275cmp=F({type:n,selectors:[["app-appliance-info-dialog"]],decls:14,vars:5,consts:[[1,"title-container"],["mat-dialog-title",""],["mat-dialog-content",""],["mat-dialog-actions",""],["mat-button","","tabindex","-1","color","accent",3,"click"]],template:function(t,o){t&1&&(s(0,"div",0)(1,"h1",1),d(2),l()(),s(3,"div",2)(4,"div"),d(5),l(),s(6,"div"),d(7),l(),s(8,"div"),d(9),l(),A(10,_ye,4,2),l(),s(11,"div",3)(12,"button",4),g("click",function(){return o.onNoClick()}),d(13,"Close"),l()()),t&2&&(m(2),j(o.appliance.name),m(3),ee("Vendor: ",o.appliance.vendor_name),m(2),ee("Status: ",o.appliance.status),m(2),ee("Maintainer: ",o.appliance.maintainer),m(),O(o.appliance.qemu?10:-1))},dependencies:[_e,Ne,Fe,bt,W,pe,pn],encapsulation:2,changeDetection:0})}return n})();var m9=(n,i)=>e=>Qa(500).pipe(Un(()=>i.list(n)),Lt(t=>t.find(o=>o.name===e.value)?{templateExist:!0}:null));var vye=n=>({"is-invalid":n});function Cye(n,i){n&1&&(s(0,"mat-error"),d(1,"Template name is required"),l())}function bye(n,i){n&1&&(s(0,"mat-error"),d(1,"Template name is incorrect"),l())}function xye(n,i){n&1&&(s(0,"mat-error"),d(1,"Template with this name exists"),l())}var Nu=(()=>{class n{templateNameValidator;data;dialogRef=f(Ie);router=f(ht);dialog=f(nt);toasterService=f(te);formBuilder=f(Vn);templateService=f(pl);cdr=f(Q);controller;templateNameForm;constructor(e,t){this.templateNameValidator=e,this.data=t}ngOnInit(){let e=this.data.name;this.templateNameForm=this.formBuilder.group({templateName:new Ye(e,[Ue.required,this.templateNameValidator.get],[m9(this.controller,this.templateService)])}),setTimeout(()=>{this.templateNameForm.controls.templateName.markAsTouched(),this.cdr.markForCheck()},100)}get form(){return this.templateNameForm.controls}onAddClick(){if(this.templateNameForm.invalid){this.toasterService.error("Please enter correct name for new template");return}this.templateService.list(this.controller).subscribe({next:e=>{let t=this.templateNameForm.controls.templateName.value;e.find(r=>r.name===t)?(this.toasterService.error("Template with this name exists"),this.cdr.markForCheck()):this.dialogRef.close(this.templateNameForm.controls.templateName.value)},error:e=>{let t=e.error?.message||e.message||"Failed to load templates";this.toasterService.error(t),this.cdr.markForCheck()}})}onNoClick(){this.dialogRef.close()}onKeyDown(e){e.key==="Enter"&&this.onAddClick()}static \u0275fac=function(t){return new(t||n)(ot(Rs),ot(gt))};static \u0275cmp=F({type:n,selectors:[["app-template-name-dialog"]],features:[fn([Rs])],decls:13,vars:7,consts:[ Line truncated
The MD5 sum is ${o} and should be ${r.md5sum}. Do you want to accept it at your own risks?`,a.afterClosed().subscribe(c=>{c?(this.importImageFile(e,t),this.openSnackBar()):(this.isUploading=!1,this.uploadingImageName="",this.uploaderImage.clearQueue(),this.changeDetectorRef.markForCheck())})}else this.importImageFile(e,t),this.openSnackBar()})}importImageFile(e,t){let o=e.target.files[0].name.split("-")[0],r=e.target.files[0],a=new FileReader,c;a.onloadend=()=>{this.applianceToInstall.qemu&&(c="qemu"),this.applianceToInstall.dynamips&&(c="dynamips"),this.applianceToInstall.iou&&(c="iou");let p=this.applianceService.getUploadPath(this.controller,t);this.uploaderImage.queue.forEach(h=>h.url=p);let u=this.uploaderImage.queue[0];u.options&&(u.options.disableMultipart=!0),u.options.headers=[{name:"Authorization",value:"Bearer "+this.controller.authToken}],this.isUploading=!0,this.uploadProgress=0,this.uploaderImage.uploadItem(u),this.changeDetectorRef.markForCheck()},a.onloadend(void 0)}cancelUploading(){this.uploaderImage.clearQueue(),this.uploadServiceService.processBarCount(null),this.toasterService.warning("File upload cancelled"),this.uploadServiceService.cancelFileUploading(!1)}checkImageFromVersion(e){let t=this.applianceToInstall.images.filter(o=>o.filename===e)[0];if(this.applianceToInstall.qemu){if(this.qemuImages.filter(o=>o.checksum===t.md5sum).length>0)return!0}else if(this.applianceToInstall.dynamips){if(this.iosImages.filter(o=>o.checksum===t.md5sum).length>0)return!0}else if(this.applianceToInstall.iou&&this.iouImages.filter(o=>o.checksum===t.md5sum).length>0)return!0;return!1}getVersionImageCount(e){let t=e.images,o=0;return t.bios_image&&o++,t.hda_disk_image&&o++,t.hdb_disk_image&&o++,t.hdc_disk_image&&o++,t.hdd_disk_image&&o++,t.cdrom_image&&o++,o}getVersionReadyCount(e){let t=e.images,o=0;return t.bios_image&&this.checkImageFromVersion(t.bios_image)&&o++,t.hda_disk_image&&this.checkImageFromVersion(t.hda_disk_image)&&o++,t.hdb_disk_image&&this.checkImageFromVersion(t.hdb_disk_image)&&o++,t.hdc_disk_image&&this.checkImageFromVersion(t.hdc_disk_image)&&o++,t.hdd_disk_image&&this.checkImageFromVersion(t.hdd_disk_image)&&o++,t.cdrom_image&&this.checkImageFromVersion(t.cdrom_image)&&o++,o}isVersionComplete(e){return this.getVersionReadyCount(e)===this.getVersionImageCount(e)}openConfirmationDialog(e,t){let o=this.dialog.open(Vv,{autoFocus:!1,disableClose:!0,panelClass:["base-confirmation-dialog-panel","information-dialog-panel"]});o.componentInstance.confirmationMessage=e,o.afterClosed().subscribe(r=>{r&&window.open(t)})}downloadImage(e){let t="Download will redirect you where the required file can be downloaded, you may have to be registered with the vendor in order to download the file.",o=`The file is compressed with ${e.compression}, it must be uncompressed first.`;e.direct_download_url?e.compression?this.openConfirmationDialog(o,e.direct_download_url):window.open(e.direct_download_url):this.openConfirmationDialog(t,e.download_url)}downloadImageFromVersion(e){this.applianceToInstall.images.forEach(t=>{t.filename===e&&this.downloadImage(t)})}getCategory(){return this.applianceToInstall.category==="multilayer_switch"?"switch":this.applianceToInstall.category}createIouTemplate(e){let t=e.filename,o=this.applianceToInstall.images.filter(p=>p.filename===t)[0],r=this.iouImages.filter(p=>p.checksum===o.md5sum);r.length>0&&(t=r[0].filename);let a=new Im;a.nvram=this.applianceToInstall.iou.nvram,a.ram=this.applianceToInstall.iou.ram,a.ethernet_adapters=this.applianceToInstall.iou.ethernet_adapters,a.serial_adapters=this.applianceToInstall.iou.serial_adapters,a.startup_config=this.applianceToInstall.iou.startup_config,a.category=this.getCategory(),a.default_name_format=this.applianceToInstall.default_name_format,a.symbol=this.applianceToInstall.symbol,a.tags=this.applianceToInstall.tags||[],a.compute_id="local",a.template_id=Ai(),a.path=t,a.template_type="iou";let c=this.dialog.open(Nu,{width:"400px",autoFocus:!1,disableClose:!0,panelClass:["base-dialog-panel","simple-dialog-panel","template-name-dialog-panel"],data:{name:this.applianceToInstall.name}});c.componentInstance.controller=this.controller,c.afterClosed().subscribe(p=>{if(p)a.name=p,this.iouService.addTemplate(this.controller,a).subscribe({next:u=>{this.templateService.newTemplateCreated.next(u),this.toasterService.success("Template added"),this.dialogRef.close()},error:u=>{let h=u.error?.message||u.message||"Failed to add template";this.toasterService.error(h),this.changeDetector.markForCheck()}});else return!1})}createIosTemplate(e){let t=e.filename,o=this.applianceToInstall.images.filter(p=>p.filename===t)[0],r=this.iosImages.filter(p=>p.checksum===o.md5sum);r.length>0&&(t=r[0].filename);let a=new Dm;a.chassis=this.applianceToInstall.dynamips.chassis,a.nvram=this.applianceToInstall.dynamips.nvram,a.platform=this.applianceToInstall.dynamips.platform,a.ram=this.applianceToInstall.dynamips.ram,a.startup_config=this.applian Line truncated
width="${t.width}">
<image height="${t.height}" width="${t.width}" xlink:href="${e}"/>
</svg>`}ngOnDestroy(){this.projectSubscriptions.forEach(e=>e.unsubscribe()),this.aiChatStateSubscription&&this.aiChatStateSubscription.unsubscribe()}openAIChat(){!this.project()||!this.controller()||(this.isAIChatOpen?this.isAIMinimized?this.aiChatStore.restorePanel():this.aiChatStore.minimizePanel():this.aiChatOpened.emit())}openFaultInjection(){!this.project()||!this.controller()||import("./chunk-6VBM7WSP.js").then(({FaultInjectionDialogComponent:e})=>{this.dialog.open(e,{panelClass:["base-dialog-panel","fault-injection-dialog-panel"],backdropClass:"fault-injection-backdrop",autoFocus:!1,disableClose:!0,data:{controller:this.controller(),project:this.project()}}).afterClosed().subscribe(o=>{o&&(console.log("Fault injection completed:",o),o.openAIChat&&this.openAIChat())})})}static \u0275fac=function(t){return new(t||n)};static \u0275cmp=F({type:n,selectors:[["app-project-map-menu"]],inputs:{project:[1,"project"],controller:[1,"controller"]},outputs:{aiChatOpened:"aiChatOpened"},decls:34,vars:23,consts:[["file",""],["matTooltip","Add a note","matTooltipClass","custom-tooltip","matTooltipPosition","left","mat-icon-button","",1,"menu-button",3,"click"],[3,"ngClass"],["type","file","accept",".bmp, .jpeg, .jpg, .gif, .png",1,"non-visible",3,"change"],["matTooltip","Insert a picture","matTooltipClass","custom-tooltip","matTooltipPosition","left","mat-icon-button","",1,"menu-button",3,"click"],["matTooltip","Draw a rectangle","matTooltipClass","custom-tooltip","matTooltipPosition","left","mat-icon-button","",1,"menu-button",3,"click"],["matTooltip","Draw an ellipse","matTooltipClass","custom-tooltip","matTooltipPosition","left","mat-icon-button","",1,"menu-button",3,"click"],["matTooltip","Draw a line","matTooltipClass","custom-tooltip","matTooltipPosition","left","mat-icon-button","",1,"menu-button"],["matTooltip","Draw a curve","matTooltipClass","custom-tooltip","matTooltipPosition","left","mat-icon-button","",1,"menu-button",3,"click"],["height","20","width","20","viewBox","0 0 20 20"],["transform","rotate(20, 10, 10)"],["d","M 6 3 C 12 3, 12 6, 10 6 C 8 6, 6 8, 6 10 C 6 12, 8 14, 10 14 C 12 14, 14 17, 14 17","fill","none","stroke-width","2","stroke","currentColor",1,"draw-line-icon",3,"ngClass"],["matTooltip","Lock or unlock all items","matTooltipClass","custom-tooltip","matTooltipPosition","left","mat-icon-button","",1,"menu-button",3,"click"],["matTooltip","Take a screenshot","matTooltipClass","custom-tooltip","matTooltipPosition","left","mat-icon-button","",1,"menu-button",3,"click"],["matTooltip","AI Assistant","matTooltipClass","custom-tooltip","matTooltipPosition","left","mat-icon-button","",1,"menu-button","ai-chat-button",3,"click"],[1,"ai-icon"],["matTooltip","Inject Fault","matTooltipClass","custom-tooltip","matTooltipPosition","left","mat-icon-button","",1,"menu-button","fault-inject-button",3,"click"],[3,"drawingSaved","controller","project","selectedDrawing"],["id","crowbar-workspace"],["matTooltip","Draw a line","matTooltipClass","custom-tooltip","matTooltipPosition","left","mat-icon-button","",1,"menu-button",3,"click"],["height","20","width","20"],["x1","15","y1","5","x2","5","y2","15",1,"draw-line-icon",2,"stroke-width","2",3,"ngClass"]],template:function(t,o){if(t&1){let r=z();s(0,"button",1),_("click",function(){return o.addDrawing("text")}),s(1,"mat-icon",2),d(2,"create"),l()(),s(3,"input",3,0),_("change",function(c){return o.uploadImageFile(c)}),l(),s(5,"button",4),_("click",function(){T(r);let c=Pe(4);return E(c.click())}),s(6,"mat-icon"),d(7,"image"),l()(),s(8,"button",5),_("click",function(){return o.addDrawing("rectangle")}),s(9,"mat-icon",2),d(10,"crop_3_2"),l()(),s(11,"button",6),_("click",function(){return o.addDrawing("ellipse")}),s(12,"mat-icon",2),d(13,"panorama_fish_eye"),l()(),A(14,oEe,3,3,"button",7),A(15,rEe,3,3,"button",7),s(16,"button",8),_("click",function(){return o.addDrawing("curve")}),ii(),s(17,"svg",9)(18,"g",10),R(19,"path",11),l()()(),Lr(),s(20,"button",12),_("click",function(){return o.changeLockValue()}),s(21,"mat-icon",2),d(22),l()(),s(23,"button",13),_("click",function(){return o.takeScreenshot()}),s(24,"mat-icon",2),d(25,"photo_camera"),l()(),s(26,"button",14),_("click",function(){return o.openAIChat()}),s(27,"span",15),d(28,"AI"),l()(),s(29,"button",16),_("click",function(){return o.openFaultInjection()}),s(30,"mat-icon"),d(31,"bug_report"),l()(),s(32,"app-drawing-added",17),_("drawingSaved",function(){return o.onDrawingSaved()}),l(),R(33,"div",18)}t&2&&(m(),b("ngClass",o.getCssClassForIcon("text")),m(8),b("ngClass",o.getCssClassForIcon("rectangle")),m(3),b("ngClass",o.getCssClassForIcon("ellipse")),m(2),O(o.isLightThemeEnabled?-1:14),m(),O(o.isLightThemeEnabled?15:-1),m(4),b("ngClass",hn(16,gN,o.drawTools.isCurveChosen)),m(2),b("ngClass",tl(18,nEe,!o.isLocked&&o.isLightThemeEnabled,o.isLocked)),m(),j(o.lock),m(2),b("ngClass",hn(21,iEe,!o.isLocked&&o.isLightThemeEnabled)),m(2),Ve("ai-active",o.isAIChatOpen&&!o.isAIMinimized)("ai-minimized",o.isAIChatOpen&&oLine truncated
`).length||0;o.setAttribute("data-code-processed","true"),a>50&&(o.classList.add("code-block-collapsible"),o.setAttribute("title",`Click to view full code (${a} lines)`),o.addEventListener("click",c=>{c.preventDefault(),c.stopPropagation(),this.openCodeBlockDialog(r.innerHTML,r.className)}))})}wrapTables(e){e.querySelectorAll("markdown table").forEach(o=>{if(o.parentElement?.classList.contains("markdown-table-wrapper"))return;let r=document.createElement("div");r.className="markdown-table-wrapper",o.parentNode?.insertBefore(r,o),r.appendChild(o)})}openCodeBlockDialog(e,t){let o=t.match(/language-(\w+)/)?.[1]||void 0,r={code:e,language:o};this.dialog.open(rU,{data:r,panelClass:["base-dialog-panel","code-block-dialog-panel"]})}get lastAssistantMessage(){let e=this.messages().filter(t=>t.role==="assistant");return e[e.length-1]}isToolCallExecuting(e){return!1}formatTime(e){if(!e)return"";let t=e;/(Z|[+-]\d{2}:\d{2})$/.test(e)||(t=e+"Z");let r=new Date(t),a=new Date;if(isNaN(r.getTime()))return"";let c=a.getTime()-r.getTime(),p=Math.floor(c/6e4);return p<1?"Just now":p<60?`${p} minutes ago`:p<1440?`${Math.floor(p/60)} hours ago`:r.toLocaleDateString("en-US",{month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"})}scrollToBottom(){let e=this.messageContainer();if(e?.nativeElement){let t=e.nativeElement;t.scrollTop=t.scrollHeight,this.scrollToEnd.emit()}}trackByMessageId(e,t){return t.id}openToolCallDialog(e,t){let o;t!==void 0?o=t:o=e;let r={type:"tool_call",toolCall:o};this.dialog.open(KC,{data:r,width:"800px",minWidth:"600px",maxWidth:"95vw",maxHeight:"85vh",panelClass:["tool-details-dialog"]})}openAssistantToolResultDialog(e){let t={type:"tool_result",toolName:e.toolName,toolOutput:e.toolOutput};this.dialog.open(KC,{data:t,width:"800px",minWidth:"600px",maxWidth:"95vw",maxHeight:"85vh",panelClass:["tool-details-dialog"]})}sendSuggestion(e){this.suggestionClicked.emit(e)}static \u0275fac=function(t){return new(t||n)};static \u0275cmp=F({type:n,selectors:[["app-chat-message-list"]],viewQuery:function(t,o){t&1&&en(o.messageContainer,PEe,5),t&2&&tn()},inputs:{messages:[1,"messages"],isStreaming:[1,"isStreaming"],autoScroll:[1,"autoScroll"]},outputs:{scrollToEnd:"scrollToEnd",suggestionClicked:"suggestionClicked"},features:[mn],decls:6,vars:3,consts:[["messageContainer",""],[1,"gns3-chat-message-list"],[1,"gns3-chat-message-list__messages-container"],[1,"gns3-chat-message-list__empty-state"],[1,"gns3-chat-message-list__message","gns3-chat-message-list__message--user"],[1,"gns3-chat-message-list__message"],[1,"gns3-chat-message-list__avatar","gns3-chat-message-list__avatar--user"],[1,"avatar-text"],[1,"gns3-chat-message-list__content"],[1,"gns3-chat-message-list__bubble","gns3-chat-message-list__bubble--user"],[1,"gns3-chat-message-list__text",3,"data"],[1,"gns3-chat-message-list__time"],[1,"gns3-chat-message-list__avatar","gns3-chat-message-list__avatar--assistant"],["src","assets/gns3_icon.svg","alt","GNS3",1,"gns3-chat-message-list__avatar-logo"],[1,"gns3-chat-message-list__bubble","gns3-chat-message-list__bubble--assistant"],["viewBox","0 0 256 256","xmlns","http://www.w3.org/2000/svg",1,"gns3-chat-message-list__streaming-logo"],[1,"gns3-chat-message-list__tool-calls-container"],[1,"gns3-chat-message-list__tool-results-container"],["id","gns3LoadingGradient","x1","0%","y1","0%","x2","100%","y2","100%"],["offset","0%",2,"stop-color","var(--mat-sys-primary)","stop-opacity","1"],["offset","100%",2,"stop-color","var(--mat-sys-primary)","stop-opacity","0.6"],["transform","translate(0,-356)"],["d","m 147.99093,422.62227 c 0,6.34 -5.13717,11.47729 -11.47726,11.47729 -6.33986,0 -11.47761,-5.13729 -11.47761,-11.47729 0,-6.34019 5.13775,-11.47804 11.47761,-11.47804 6.34009,0 11.47726,5.13785 11.47726,11.47804 z M 22.394349,480.3376 c -6.886487,37.71152 2.514172,64.92952 17.161614,84.38707 26.124988,36.83736 64.492517,43.28645 64.492517,43.28645 44.81704,8.52584 78.92153,-6.99569 99.36233,-26.23425 25.68784,-24.37577 24.81373,-48.53334 24.92311,-48.86119 0.21851,-11.25931 -3.49797,-19.34782 -10.05651,-24.92306 -11.0404,-9.29128 -24.4855,-5.68414 -24.4855,-5.68414 -23.2827,5.46564 -19.457,26.67165 -19.457,26.67165 1.31155,6.33984 4.59052,10.49362 8.30733,12.89839 7.10497,4.37239 14.64752,3.49799 14.64752,3.49799 11.14958,-1.31129 14.42894,-11.80519 13.77292,-17.05238 -1.09318,-8.30719 -8.63562,-9.83784 -8.63562,-9.83784 -2.84184,-0.54643 -5.02802,-0.10925 -6.66791,0.76517 -2.40425,0.98433 -3.38861,2.62342 -3.38861,2.62342 -1.74868,2.95142 -0.65568,4.59143 0.43749,5.24736 0.65611,0.43714 1.42132,0.43714 1.42132,0.43714 0.87411,0 1.42053,-0.2185 2.07653,-0.54638 1.53057,-0.8745 2.73256,-2.29597 5.02855,-1.42145 3.3886,1.31184 2.514,4.91929 2.514,4.91929 -0.76536,3.93499 -3.06079,5.79343 -5.57488,6.44908 -3.3886,0.8745 -6.88644,-0.21851 -6.88644,-0.21851 -12.02422,-4.9193 -6.66794,-16.943 -6.66794,-16.943 3.71635,-7.54269 12.02432,-8.41719 12.02432,-8.41719 13.00749,-2.07647 21.64316,6.6679 20.22168,21.42461 -1.63939,1 Line truncated
</svg>`}ngOnDestroy(){this.projectSubscriptions.forEach(e=>e.unsubscribe()),this.aiChatStateSubscription&&this.aiChatStateSubscription.unsubscribe()}openAIChat(){!this.project()||!this.controller()||(this.isAIChatOpen?this.isAIMinimized?this.aiChatStore.restorePanel():this.aiChatStore.minimizePanel():this.aiChatOpened.emit())}openFaultInjection(){!this.project()||!this.controller()||import("./chunk-DIOHTFPG.js").then(({FaultInjectionDialogComponent:e})=>{this.dialog.open(e,{panelClass:["base-dialog-panel","fault-injection-dialog-panel"],backdropClass:"fault-injection-backdrop",autoFocus:!1,disableClose:!0,data:{controller:this.controller(),project:this.project()}}).afterClosed().subscribe(o=>{o&&(console.log("Fault injection completed:",o),o.openAIChat&&this.openAIChat())})})}static \u0275fac=function(t){return new(t||n)};static \u0275cmp=F({type:n,selectors:[["app-project-map-menu"]],inputs:{project:[1,"project"],controller:[1,"controller"]},outputs:{aiChatOpened:"aiChatOpened"},decls:34,vars:23,consts:[["file",""],["matTooltip","Add a note","matTooltipClass","custom-tooltip","matTooltipPosition","left","mat-icon-button","",1,"menu-button",3,"click"],[3,"ngClass"],["type","file","accept",".bmp, .jpeg, .jpg, .gif, .png",1,"non-visible",3,"change"],["matTooltip","Insert a picture","matTooltipClass","custom-tooltip","matTooltipPosition","left","mat-icon-button","",1,"menu-button",3,"click"],["matTooltip","Draw a rectangle","matTooltipClass","custom-tooltip","matTooltipPosition","left","mat-icon-button","",1,"menu-button",3,"click"],["matTooltip","Draw an ellipse","matTooltipClass","custom-tooltip","matTooltipPosition","left","mat-icon-button","",1,"menu-button",3,"click"],["matTooltip","Draw a line","matTooltipClass","custom-tooltip","matTooltipPosition","left","mat-icon-button","",1,"menu-button"],["matTooltip","Draw a curve","matTooltipClass","custom-tooltip","matTooltipPosition","left","mat-icon-button","",1,"menu-button",3,"click"],["height","20","width","20","viewBox","0 0 20 20"],["transform","rotate(20, 10, 10)"],["d","M 6 3 C 12 3, 12 6, 10 6 C 8 6, 6 8, 6 10 C 6 12, 8 14, 10 14 C 12 14, 14 17, 14 17","fill","none","stroke-width","2","stroke","currentColor",1,"draw-line-icon",3,"ngClass"],["matTooltip","Lock or unlock all items","matTooltipClass","custom-tooltip","matTooltipPosition","left","mat-icon-button","",1,"menu-button",3,"click"],["matTooltip","Take a screenshot","matTooltipClass","custom-tooltip","matTooltipPosition","left","mat-icon-button","",1,"menu-button",3,"click"],["matTooltip","AI Assistant","matTooltipClass","custom-tooltip","matTooltipPosition","left","mat-icon-button","",1,"menu-button","ai-chat-button",3,"click"],[1,"ai-icon"],["matTooltip","Inject Fault","matTooltipClass","custom-tooltip","matTooltipPosition","left","mat-icon-button","",1,"menu-button","fault-inject-button",3,"click"],[3,"drawingSaved","controller","project","selectedDrawing"],["id","crowbar-workspace"],["matTooltip","Draw a line","matTooltipClass","custom-tooltip","matTooltipPosition","left","mat-icon-button","",1,"menu-button",3,"click"],["height","20","width","20"],["x1","15","y1","5","x2","5","y2","15",1,"draw-line-icon",2,"stroke-width","2",3,"ngClass"]],template:function(t,o){if(t&1){let r=z();s(0,"button",1),g("click",function(){return o.addDrawing("text")}),s(1,"mat-icon",2),d(2,"create"),l()(),s(3,"input",3,0),g("change",function(c){return o.uploadImageFile(c)}),l(),s(5,"button",4),g("click",function(){k(r);let c=Pe(4);return T(c.click())}),s(6,"mat-icon"),d(7,"image"),l()(),s(8,"button",5),g("click",function(){return o.addDrawing("rectangle")}),s(9,"mat-icon",2),d(10,"crop_3_2"),l()(),s(11,"button",6),g("click",function(){return o.addDrawing("ellipse")}),s(12,"mat-icon",2),d(13,"panorama_fish_eye"),l()(),A(14,$Se,3,3,"button",7),A(15,HSe,3,3,"button",7),s(16,"button",8),g("click",function(){return o.addDrawing("curve")}),ei(),s(17,"svg",9)(18,"g",10),R(19,"path",11),l()()(),Ir(),s(20,"button",12),g("click",function(){return o.changeLockValue()}),s(21,"mat-icon",2),d(22),l()(),s(23,"button",13),g("click",function(){return o.takeScreenshot()}),s(24,"mat-icon",2),d(25,"photo_camera"),l()(),s(26,"button",14),g("click",function(){return o.openAIChat()}),s(27,"span",15),d(28,"AI"),l()(),s(29,"button",16),g("click",function(){return o.openFaultInjection()}),s(30,"mat-icon"),d(31,"bug_report"),l()(),s(32,"app-drawing-added",17),g("drawingSaved",function(){return o.onDrawingSaved()}),l(),R(33,"div",18)}t&2&&(m(),C("ngClass",o.getCssClassForIcon("text")),m(8),C("ngClass",o.getCssClassForIcon("rectangle")),m(3),C("ngClass",o.getCssClassForIcon("ellipse")),m(2),O(o.isLightThemeEnabled?-1:14),m(),O(o.isLightThemeEnabled?15:-1),m(4),C("ngClass",dn(16,XA,o.drawTools.isCurveChosen)),m(2),C("ngClass",zs(18,zSe,!o.isLocked&&o.isLightThemeEnabled,o.isLocked)),m(),j(o.lock),m(2),C("ngClass",dn(21,jSe,!o.isLocked&&o.isLightThemeEnabled)),m(2),Be("ai-active",o.isAIChatOpen&&!o.isAIMinimized)("ai-minimized",o.isAIChatOpen&&oLine truncated
`).length||0;o.setAttribute("data-code-processed","true"),a>50&&(o.classList.add("code-block-collapsible"),o.setAttribute("title",`Click to view full code (${a} lines)`),o.addEventListener("click",c=>{c.preventDefault(),c.stopPropagation(),this.openCodeBlockDialog(r.innerHTML,r.className)}))})}wrapTables(e){e.querySelectorAll("markdown table").forEach(o=>{if(o.parentElement?.classList.contains("markdown-table-wrapper"))return;let r=document.createElement("div");r.className="markdown-table-wrapper",o.parentNode?.insertBefore(r,o),r.appendChild(o)})}openCodeBlockDialog(e,t){let o=t.match(/language-(\w+)/)?.[1]||void 0,r={code:e,language:o};this.dialog.open(T9,{data:r,panelClass:["base-dialog-panel","code-block-dialog-panel"]})}get lastAssistantMessage(){let e=this.messages().filter(t=>t.role==="assistant");return e[e.length-1]}isToolCallExecuting(e){return!1}formatTime(e){if(!e)return"";let t=e;/(Z|[+-]\d{2}:\d{2})$/.test(e)||(t=e+"Z");let r=new Date(t),a=new Date;if(isNaN(r.getTime()))return"";let c=a.getTime()-r.getTime(),p=Math.floor(c/6e4);return p<1?"Just now":p<60?`${p} minutes ago`:p<1440?`${Math.floor(p/60)} hours ago`:r.toLocaleDateString("en-US",{month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"})}scrollToBottom(){let e=this.messageContainer();if(e?.nativeElement){let t=e.nativeElement;t.scrollTop=t.scrollHeight,this.scrollToEnd.emit()}}trackByMessageId(e,t){return t.id}openToolCallDialog(e,t){let o;t!==void 0?o=t:o=e;let r={type:"tool_call",toolCall:o};this.dialog.open(zv,{data:r,width:"800px",minWidth:"600px",maxWidth:"95vw",maxHeight:"85vh",panelClass:["tool-details-dialog"]})}openAssistantToolResultDialog(e){let t={type:"tool_result",toolName:e.toolName,toolOutput:e.toolOutput};this.dialog.open(zv,{data:t,width:"800px",minWidth:"600px",maxWidth:"95vw",maxHeight:"85vh",panelClass:["tool-details-dialog"]})}sendSuggestion(e){this.suggestionClicked.emit(e)}static \u0275fac=function(t){return new(t||n)};static \u0275cmp=F({type:n,selectors:[["app-chat-message-list"]],viewQuery:function(t,o){t&1&&Xt(o.messageContainer,hwe,5),t&2&&Kt()},inputs:{messages:[1,"messages"],isStreaming:[1,"isStreaming"],autoScroll:[1,"autoScroll"]},outputs:{scrollToEnd:"scrollToEnd",suggestionClicked:"suggestionClicked"},features:[bn],decls:6,vars:3,consts:[["messageContainer",""],[1,"gns3-chat-message-list"],[1,"gns3-chat-message-list__messages-container"],[1,"gns3-chat-message-list__empty-state"],[1,"gns3-chat-message-list__message","gns3-chat-message-list__message--user"],[1,"gns3-chat-message-list__message"],[1,"gns3-chat-message-list__avatar","gns3-chat-message-list__avatar--user"],[1,"avatar-text"],[1,"gns3-chat-message-list__content"],[1,"gns3-chat-message-list__bubble","gns3-chat-message-list__bubble--user"],[1,"gns3-chat-message-list__text",3,"data"],[1,"gns3-chat-message-list__time"],[1,"gns3-chat-message-list__avatar","gns3-chat-message-list__avatar--assistant"],["src","assets/gns3_icon.svg","alt","GNS3",1,"gns3-chat-message-list__avatar-logo"],[1,"gns3-chat-message-list__bubble","gns3-chat-message-list__bubble--assistant"],["viewBox","0 0 256 256","xmlns","http://www.w3.org/2000/svg",1,"gns3-chat-message-list__streaming-logo"],[1,"gns3-chat-message-list__tool-calls-container"],[1,"gns3-chat-message-list__tool-results-container"],["id","gns3LoadingGradient","x1","0%","y1","0%","x2","100%","y2","100%"],["offset","0%",2,"stop-color","var(--mat-sys-primary)","stop-opacity","1"],["offset","100%",2,"stop-color","var(--mat-sys-primary)","stop-opacity","0.6"],["transform","translate(0,-356)"],["d","m 147.99093,422.62227 c 0,6.34 -5.13717,11.47729 -11.47726,11.47729 -6.33986,0 -11.47761,-5.13729 -11.47761,-11.47729 0,-6.34019 5.13775,-11.47804 11.47761,-11.47804 6.34009,0 11.47726,5.13785 11.47726,11.47804 z M 22.394349,480.3376 c -6.886487,37.71152 2.514172,64.92952 17.161614,84.38707 26.124988,36.83736 64.492517,43.28645 64.492517,43.28645 44.81704,8.52584 78.92153,-6.99569 99.36233,-26.23425 25.68784,-24.37577 24.81373,-48.53334 24.92311,-48.86119 0.21851,-11.25931 -3.49797,-19.34782 -10.05651,-24.92306 -11.0404,-9.29128 -24.4855,-5.68414 -24.4855,-5.68414 -23.2827,5.46564 -19.457,26.67165 -19.457,26.67165 1.31155,6.33984 4.59052,10.49362 8.30733,12.89839 7.10497,4.37239 14.64752,3.49799 14.64752,3.49799 11.14958,-1.31129 14.42894,-11.80519 13.77292,-17.05238 -1.09318,-8.30719 -8.63562,-9.83784 -8.63562,-9.83784 -2.84184,-0.54643 -5.02802,-0.10925 -6.66791,0.76517 -2.40425,0.98433 -3.38861,2.62342 -3.38861,2.62342 -1.74868,2.95142 -0.65568,4.59143 0.43749,5.24736 0.65611,0.43714 1.42132,0.43714 1.42132,0.43714 0.87411,0 1.42053,-0.2185 2.07653,-0.54638 1.53057,-0.8745 2.73256,-2.29597 5.02855,-1.42145 3.3886,1.31184 2.514,4.91929 2.514,4.91929 -0.76536,3.93499 -3.06079,5.79343 -5.57488,6.44908 -3.3886,0.8745 -6.88644,-0.21851 -6.88644,-0.21851 -12.02422,-4.9193 -6.66794,-16.943 -6.66794,-16.943 3.71635,-7.54269 12.02432,-8.41719 12.02432,-8.41719 13.00749,-2.07647 21.64316,6.6679 20.22168,21.42461 -1.63939,1 Line truncated
\x1B[31mConnection lost. Please check if the node is still running.\x1B[0m\r
`)},this.socket.onclose=()=>{if(!this.isDestroying){console.log("[WebConsole] Socket closed unexpectedly"),this.term.write(`\r
\x1B[33mConnection closed.\x1B[0m\r
`);let o=this.node();o&&this.consoleService.closeConsoleForNode(o)}};let t=new pU.AttachAddon(this.socket);this.term.loadAddon(t),this.xtermService.initTerminal(this.term,this.fitAddon),this.fitAddon.fit(),this.term.focus(),this.term.attachCustomKeyEventHandler(o=>{if(o.altKey&&o.key>="1"&&o.key<="9"){let r=new CustomEvent("consoleTabShortcut",{detail:{key:o.key},bubbles:!0});return this.term.element.dispatchEvent(r),!1}return!((o.code==="KeyC"||o.code==="KeyV")&&o.ctrlKey&&o.shiftKey)}),this.setupResizeObserver(),this.xtermService.settingsChanged$.pipe(Xe(this.destroy$)).subscribe(()=>{this.xtermService.applySettingsToTerminal(this.term,this.fitAddon,this.cdr)}),this.contextMenuCleanup=this.contextMenuService.attachContextMenu(this.term,e.nativeElement)}setupResizeObserver(){let e=this.terminal();e?.nativeElement&&(this.resizeObserver=new ResizeObserver(t=>{for(let o of t){let{width:r,height:a}=o.contentRect;r===0||a===0||requestAnimationFrame(()=>{try{this.fitTerminal()}catch{}})}}),this.resizeObserver.observe(e.nativeElement))}fitTerminal(){this.fitAddon.fit();let e=this.term.cols,t=this.term.rows;this.consoleService.setNumberOfColumns(e),this.consoleService.setNumberOfRows(t),this.term.resize(e,t)}focusTerminal(){this.term&&this.term.focus()}ngOnDestroy(){this.isDestroying=!0,this.destroy$.next(),this.destroy$.complete(),this.socket&&(this.socket.close(),this.socket=null),this.resizeObserver&&(this.resizeObserver.disconnect(),this.resizeObserver=null),this.contextMenuCleanup&&(this.contextMenuCleanup(),this.contextMenuCleanup=null),this.term.dispose()}static \u0275fac=function(t){return new(t||n)};static \u0275cmp=F({type:n,selectors:[["app-web-console"]],viewQuery:function(t,o){t&1&&en(o.terminal,xDe,5),t&2&&tn()},inputs:{controller:[1,"controller"],project:[1,"project"],node:[1,"node"]},decls:2,vars:0,consts:[["terminal",""],[1,"terminal"]],template:function(t,o){t&1&&Os(0,"div",1,0)},dependencies:[ie],styles:["[_nghost-%COMP%]{display:flex;flex-direction:column;flex:1;min-height:0;width:100%;height:100%}[hidden][_nghost-%COMP%]{display:none}.lightTheme[_nghost-%COMP%]{background:var(--mat-sys-surface);color:var(--mat-sys-on-surface)}.terminal[_ngcontent-%COMP%]{width:100%;height:100%}"],changeDetection:0})}return n})();var hU={name:"gns3-web-ui",version:"3.1.0a4",author:{name:"GNS3 Technology Inc.",email:"developers@gns3.com"},description:"Graphical Network Simulator-3 is a network software emulator.",license:"GPLv3",repository:{type:"git",url:"https://github.com/GNS3/gns3-web-ui.git"},scripts:{ng:"ng",start:"ng serve",build:"ng build",buildforproduction:"ng build --source-map=false --configuration=production --base-href /static/web-ui/",buildforgithub:"ng build --configuration=githubProd",test:"ng test","test:run":"ng test --watch=false",lint:"ng lint",release:"build","prettier:base":"prettier","prettier:check":'yarn prettier:base -- --list-different "src/**/*.{ts,js,html,scss}"',"prettier:write":'yarn prettier:base -- --write "src/**/*.{ts,js,html,scss}"',"generate-licenses-file":"yarn license-checker --production --csv --out licenses.csv","snyk-protect":"snyk-protect",prepare:"husky install"},private:!0,dependencies:{"@angular/animations":"^21.0.0","@angular/cdk":"^21.0.0","@angular/common":"^21.0.0","@angular/compiler":"^21.0.0","@angular/core":"^21.0.0","@angular/forms":"^21.0.0","@angular/material":"^21.0.0","@angular/platform-browser":"^21.0.0","@angular/platform-browser-dynamic":"^21.0.0","@angular/router":"^21.0.0","@snyk/protect":"^1.972.0","@types/react":"^17.0.34","@types/react-dom":"^17.0.11","@xterm/addon-attach":"^0.11.0","@xterm/addon-fit":"^0.10.0","@xterm/xterm":"^5.5.0","angular-draggable-droppable":"^9.0.1","angular-resizable-element":"^8.0.3",bootstrap:"5.3.8","command-exists":"^1.2.9","core-js":"^3.22.3","css-tree":"^2.1.0","dagre-d3-es":"7.0.14",dompurify:"3.4.0",eev:"^0.1.5","github-markdown-css":"^5.9.0",ini:"^3.0.0","ipaddr.js":"^2.1.0",marked:"^17.0.0","material-design-icons":"^3.0.1","material-symbols":"^0.43.0",mousetrap:"^1.6.5","ng2-file-upload":"^3.0.0","ngx-device-detector":"4.0.1","ngx-json-viewer":"^3.2.1","ngx-markdown":"^21.2.0","node-fetch":"^3.2.10","notosans-fontface":"^1.3.0","postcss-loader":"^6.2.1","prettier-plugin-organize-imports":"^2.3.4",rxjs:"^7.5.0","save-svg-as-png":"^1.4.17","spark-md5":"^3.0.2","spice-html5-bower":"^1.7.3","svg-crowbar":"^0.7.0","tree-kill":"^1.2.2",tslib:"^2.4.0","typeface-roboto":"^1.1.13",yargs:"^17.4.1"},devDependencies:{"@analogjs/vite-plugin-angular":"^2.4.0","@angular-devkit/build-angular":"^21.0.0","@angular-eslint/builder":"^21.3.1","@angular-eslint/eslint-plugin":"^21.3.1","@angular-eslint/eslint-plugin-template":"^21.3.1","@angular-eslint/schematics":"^21.3.1","@angular-eslint/template-parser":"^21.3.1","@angular/build":"^21.2.5","@angular/cli":"^21.2.3","@angular/compiler-cli":"^21.0.0","@angular/language-service":"^21.0.0","@babel/runtime":"^7.29.2","@sentry/cli":"^2.0.4","@types/node":"24","@typescript-eslint/eslint- Line truncated
`);let o=this.node();o&&this.consoleService.closeConsoleForNode(o)}};let t=new N9.AttachAddon(this.socket);this.term.loadAddon(t),this.xtermService.initTerminal(this.term,this.fitAddon),this.fitAddon.fit(),this.term.focus(),this.term.attachCustomKeyEventHandler(o=>{if(o.altKey&&o.key>="1"&&o.key<="9"){let r=new CustomEvent("consoleTabShortcut",{detail:{key:o.key},bubbles:!0});return this.term.element.dispatchEvent(r),!1}return!((o.code==="KeyC"||o.code==="KeyV")&&o.ctrlKey&&o.shiftKey)}),this.setupResizeObserver(),this.xtermService.settingsChanged$.pipe(tt(this.destroy$)).subscribe(()=>{this.xtermService.applySettingsToTerminal(this.term,this.fitAddon,this.cdr)}),this.contextMenuCleanup=this.contextMenuService.attachContextMenu(this.term,e.nativeElement)}setupResizeObserver(){let e=this.terminal();e?.nativeElement&&(this.resizeObserver=new ResizeObserver(t=>{for(let o of t){let{width:r,height:a}=o.contentRect;r===0||a===0||requestAnimationFrame(()=>{try{this.fitTerminal()}catch{}})}}),this.resizeObserver.observe(e.nativeElement))}fitTerminal(){this.fitAddon.fit();let e=this.term.cols,t=this.term.rows;this.consoleService.setNumberOfColumns(e),this.consoleService.setNumberOfRows(t),this.term.resize(e,t)}focusTerminal(){this.term&&this.term.focus()}ngOnDestroy(){this.isDestroying=!0,this.destroy$.next(),this.destroy$.complete(),this.socket&&(this.socket.close(),this.socket=null),this.resizeObserver&&(this.resizeObserver.disconnect(),this.resizeObserver=null),this.contextMenuCleanup&&(this.contextMenuCleanup(),this.contextMenuCleanup=null),this.term.dispose()}static \u0275fac=function(t){return new(t||n)};static \u0275cmp=F({type:n,selectors:[["app-web-console"]],viewQuery:function(t,o){t&1&&Xt(o.terminal,r2e,5),t&2&&Kt()},inputs:{controller:[1,"controller"],project:[1,"project"],node:[1,"node"]},decls:2,vars:0,consts:[["terminal",""],[1,"terminal"]],template:function(t,o){t&1&&bs(0,"div",1,0)},dependencies:[ne],styles:["[_nghost-%COMP%]{display:flex;flex-direction:column;flex:1;min-height:0;width:100%;height:100%}[hidden][_nghost-%COMP%]{display:none}.lightTheme[_nghost-%COMP%]{background:var(--mat-sys-surface);color:var(--mat-sys-on-surface)}.terminal[_ngcontent-%COMP%]{width:100%;height:100%}"],changeDetection:0})}return n})();var R9={name:"gns3-web-ui",version:"3.1.0a4",author:{name:"GNS3 Technology Inc.",email:"developers@gns3.com"},description:"Graphical Network Simulator-3 is a network software emulator.",license:"GPLv3",repository:{type:"git",url:"https://github.com/GNS3/gns3-web-ui.git"},scripts:{ng:"ng",start:"ng serve",build:"ng build",buildforproduction:"ng build --source-map=false --configuration=production --base-href /static/web-ui/",buildforgithub:"ng build --configuration=githubProd",test:"ng test","test:run":"ng test --watch=false",lint:"ng lint",release:"build","prettier:base":"prettier","prettier:check":'yarn prettier:base -- --list-different "src/**/*.{ts,js,html,scss}"',"prettier:write":'yarn prettier:base -- --write "src/**/*.{ts,js,html,scss}"',"generate-licenses-file":"yarn license-checker --production --csv --out licenses.csv","snyk-protect":"snyk-protect",prepare:"husky install"},private:!0,dependencies:{"@angular/animations":"^21.0.0","@angular/cdk":"^21.0.0","@angular/common":"^21.0.0","@angular/compiler":"^21.0.0","@angular/core":"^21.0.0","@angular/forms":"^21.0.0","@angular/material":"^21.0.0","@angular/platform-browser":"^21.0.0","@angular/platform-browser-dynamic":"^21.0.0","@angular/router":"^21.0.0","@snyk/protect":"^1.972.0","@types/react":"^17.0.34","@types/react-dom":"^17.0.11","@xterm/addon-attach":"^0.11.0","@xterm/addon-fit":"^0.10.0","@xterm/xterm":"^5.5.0","angular-draggable-droppable":"^9.0.1","angular-resizable-element":"^8.0.3",bootstrap:"5.3.8","command-exists":"^1.2.9","core-js":"^3.22.3","css-tree":"^2.1.0","dagre-d3-es":"7.0.14",dompurify:"3.4.0",eev:"^0.1.5","github-markdown-css":"^5.9.0",ini:"^3.0.0","ipaddr.js":"^2.1.0",marked:"^17.0.0","material-design-icons":"^3.0.1","material-symbols":"^0.43.0",mousetrap:"^1.6.5","ng2-file-upload":"^3.0.0","ngx-device-detector":"4.0.1","ngx-json-viewer":"^3.2.1","ngx-markdown":"^21.2.0","node-fetch":"^3.2.10","notosans-fontface":"^1.3.0","postcss-loader":"^6.2.1","prettier-plugin-organize-imports":"^2.3.4",rxjs:"^7.5.0","save-svg-as-png":"^1.4.17","spark-md5":"^3.0.2","spice-html5-bower":"^1.7.3","svg-crowbar":"^0.7.0","tree-kill":"^1.2.2",tslib:"^2.4.0","typeface-roboto":"^1.1.13",yargs:"^17.4.1"},devDependencies:{"@analogjs/vite-plugin-angular":"^2.4.0","@angular-devkit/build-angular":"^21.0.0","@angular-eslint/builder":"^21.3.1","@angular-eslint/eslint-plugin":"^21.3.1","@angular-eslint/eslint-plugin-template":"^21.3.1","@angular-eslint/schematics":"^21.3.1","@angular-eslint/template-parser":"^21.3.1","@angular/build":"^21.2.5","@angular/cli":"^21.2.3","@angular/compiler-cli":"^21.0.0","@angular/language-service":"^21.0.0","@babel/runtime":"^7.29.2","@sentry/cli":"^2.0.4","@types/node":"24","@typescript-eslint/eslint- Line truncated
compute_id: ${e.compute_id},
console: ${e.console},
console_host: ${e.console_host},
@@ -393,21 +393,21 @@ tcp dst port 443 and src portrange 1024-65535`,3,"input","value"]],template:func
rotation: ${e.rotation},
x: ${e.x},
y: ${e.y},
z: ${e.z}`}static \u0275fac=function(t){return new(t||n)};static \u0275cmp=F({type:n,selectors:[["app-log-console"]],viewQuery:function(t,o){t&1&&en(o.console,SDe,5)(o.commandInput,wDe,5),t&2&&tn(2)},inputs:{controller:"controller",project:[1,"project"],command:[1,"command"]},outputs:{command:"commandChange"},decls:27,vars:15,consts:[["filterMenu","matMenu"],["console",""],["commandInput",""],[1,"consoleHeader"],[1,"consoleFiltering"],[1,"filterButton",3,"ngClass","matMenuTriggerFor"],["xPosition","after"],["mat-menu-item","",3,"click"],[1,"console",3,"ngClass","ngStyle"],[1,"console-item"],[1,"consoleInput",3,"ngClass"],[1,"inputIcon"],["autofocus","","type","text",1,"commandLine",3,"keydown","input","ngClass","value"]],template:function(t,o){if(t&1&&(s(0,"div",3)(1,"div",4)(2,"button",5),d(3," Apply filter "),l(),s(4,"mat-menu",6,0)(6,"button",7),_("click",function(){return o.applyFilter("all")}),d(7,"all"),l(),s(8,"button",7),_("click",function(){return o.applyFilter("errors")}),d(9,"errors"),l(),s(10,"button",7),_("click",function(){return o.applyFilter("warnings")}),d(11,"warnings"),l(),s(12,"button",7),_("click",function(){return o.applyFilter("info")}),d(13,"info"),l(),s(14,"button",7),_("click",function(){return o.applyFilter("map updates")}),d(15,"map updates"),l(),s(16,"button",7),_("click",function(){return o.applyFilter("controller requests")}),d(17,"controller requests"),l()()()(),s(18,"div",8,1),Z(20,MDe,3,1,"span",9,Ae),l(),s(22,"div",10)(23,"mat-icon",11),d(24,"keyboard_arrow_right"),l(),s(25,"input",12,2),_("keydown",function(a){return o.onKeyDown(a)})("input",function(a){return o.command.set(a.target.value)}),l()()),t&2){let r=Pe(5);m(2),b("ngClass",hn(7,bk,o.isLightThemeEnabled))("matMenuTriggerFor",r),m(16),b("ngClass",hn(9,bk,o.isLightThemeEnabled))("ngStyle",o.style),m(2),J(o.filteredEvents),m(2),b("ngClass",hn(11,bk,o.isLightThemeEnabled)),m(3),b("ngClass",hn(13,bk,o.isLightThemeEnabled))("value",o.command())}},dependencies:[ie,no,Sc,oe,de,W,Ge,Yn,tt,Bn],styles:[".consoleWrapper[_ngcontent-%COMP%]{display:flex;flex-direction:column;width:100%;height:100%;background:var(--mat-sys-surface);color:var(--mat-sys-on-surface);overflow:hidden;font-size:12px}.filterButton[_ngcontent-%COMP%]{background:transparent;color:var(--mat-sys-on-surface-variant);border:none;margin-top:0;outline:none;font-weight:700;padding:0}.consoleFiltering[_ngcontent-%COMP%]{display:flex}.consoleHeader[_ngcontent-%COMP%]{width:100%;height:32px;font-size:12px;overflow:hidden;display:flex;padding:4px 8px;justify-content:space-between;background:var(--mat-sys-surface);flex-shrink:0}.console[_ngcontent-%COMP%]{flex:1;overflow-y:auto;padding:8px;color:var(--mat-sys-on-surface);font-family:Menlo,Monaco,Courier New,monospace;font-size:12px;line-height:1.4;scrollbar-color:var(--mat-sys-on-surface-variant) var(--mat-sys-surface);scrollbar-width:thin;background:var(--mat-sys-surface)}.consoleInput[_ngcontent-%COMP%]{width:100%;height:32px;padding:4px 8px;display:flex;background:var(--mat-sys-surface);flex-shrink:0}.commandLine[_ngcontent-%COMP%]{background-color:transparent;color:var(--mat-sys-on-surface);border:none;font-family:Menlo,Monaco,Courier New,monospace;font-size:12px}.inputIcon[_ngcontent-%COMP%]{margin-top:2px}mat-icon[_ngcontent-%COMP%]{font-size:14px;width:14px;height:14px}input[_ngcontent-%COMP%]:focus{outline:none}.closeButton[_ngcontent-%COMP%]{cursor:pointer}"],changeDetection:0})}return n})();var kDe=["consoleWrapper"],TDe=(n,i,e,t)=>({lightTheme:n,"console-active":i,"is-minimized":e,"is-dragging":t}),EDe=()=>({top:!0}),DDe=()=>({right:!0}),PDe=()=>({bottom:!0}),IDe=()=>({left:!0}),ADe=()=>({top:!0,left:!0}),ODe=()=>({top:!0,right:!0}),NDe=()=>({bottom:!0,left:!0}),FDe=()=>({bottom:!0,right:!0}),RDe=(n,i)=>i.name;function LDe(n,i){n&1&&R(0,"div",15)(1,"div",16)(2,"div",17)(3,"div",18)(4,"div",19)(5,"div",20)(6,"div",21)(7,"div",22),n&2&&(b("resizeEdges",zt(8,EDe)),m(),b("resizeEdges",zt(9,DDe)),m(),b("resizeEdges",zt(10,PDe)),m(),b("resizeEdges",zt(11,IDe)),m(),b("resizeEdges",zt(12,ADe)),m(),b("resizeEdges",zt(13,ODe)),m(),b("resizeEdges",zt(14,NDe)),m(),b("resizeEdges",zt(15,FDe)))}function BDe(n,i){if(n&1){let e=z();R(0,"span",23),s(1,"span",24),d(2),l(),s(3,"button",25),_("mousedown",function(o){return o.stopPropagation()})("click",function(){T(e);let o=v().$index,r=v();return E(r.removeTab(o))}),s(4,"mat-icon"),d(5,"close"),l()()}if(n&2){let e=v().$implicit;m(2),j(e.name)}}function VDe(n,i){n&1&&(s(0,"mat-tab"),xe(1,BDe,6,1,"ng-template",7),l())}function zDe(n,i){n&1&&(s(0,"span",24),d(1,"GNS3 console"),l())}function jDe(n,i){if(n&1){let e=z();s(0,"button",46),_("click",function(){T(e);let o=v(2);return E(o.resetBgColor())}),s(1,"mat-icon"),d(2,"restart_alt"),l()()}}function $De(n,i){n&1&&(s(0,"span",35),d(1,"auto"),l())}function HDe(n,i){if(n&1){let e=z();s(0,"button",47),_("click",function(){T(e);let o=v(2);return E(o.resetFgColor())}),s(1,"mat-icon"),d(2,"restart_alt"),l()()}}function UD Line truncated
z: ${e.z}`}static \u0275fac=function(t){return new(t||n)};static \u0275cmp=F({type:n,selectors:[["app-log-console"]],viewQuery:function(t,o){t&1&&Xt(o.console,s2e,5)(o.commandInput,l2e,5),t&2&&Kt(2)},inputs:{controller:"controller",project:[1,"project"],command:[1,"command"]},outputs:{command:"commandChange"},decls:27,vars:15,consts:[["filterMenu","matMenu"],["console",""],["commandInput",""],[1,"consoleHeader"],[1,"consoleFiltering"],[1,"filterButton",3,"ngClass","matMenuTriggerFor"],["xPosition","after"],["mat-menu-item","",3,"click"],[1,"console",3,"ngClass","ngStyle"],[1,"console-item"],[1,"consoleInput",3,"ngClass"],[1,"inputIcon"],["autofocus","","type","text",1,"commandLine",3,"keydown","input","ngClass","value"]],template:function(t,o){if(t&1&&(s(0,"div",3)(1,"div",4)(2,"button",5),d(3," Apply filter "),l(),s(4,"mat-menu",6,0)(6,"button",7),g("click",function(){return o.applyFilter("all")}),d(7,"all"),l(),s(8,"button",7),g("click",function(){return o.applyFilter("errors")}),d(9,"errors"),l(),s(10,"button",7),g("click",function(){return o.applyFilter("warnings")}),d(11,"warnings"),l(),s(12,"button",7),g("click",function(){return o.applyFilter("info")}),d(13,"info"),l(),s(14,"button",7),g("click",function(){return o.applyFilter("map updates")}),d(15,"map updates"),l(),s(16,"button",7),g("click",function(){return o.applyFilter("controller requests")}),d(17,"controller requests"),l()()()(),s(18,"div",8,1),Y(20,c2e,3,1,"span",9,Ae),l(),s(22,"div",10)(23,"mat-icon",11),d(24,"keyboard_arrow_right"),l(),s(25,"input",12,2),g("keydown",function(a){return o.onKeyDown(a)})("input",function(a){return o.command.set(a.target.value)}),l()()),t&2){let r=Pe(5);m(2),C("ngClass",dn(7,A2,o.isLightThemeEnabled))("matMenuTriggerFor",r),m(16),C("ngClass",dn(9,A2,o.isLightThemeEnabled))("ngStyle",o.style),m(2),Z(o.filteredEvents),m(2),C("ngClass",dn(11,A2,o.isLightThemeEnabled)),m(3),C("ngClass",dn(13,A2,o.isLightThemeEnabled))("value",o.command())}},dependencies:[ne,Yi,lc,ie,de,W,Ge,Qn,Ze,Fn],styles:[".consoleWrapper[_ngcontent-%COMP%]{display:flex;flex-direction:column;width:100%;height:100%;background:var(--mat-sys-surface);color:var(--mat-sys-on-surface);overflow:hidden;font-size:12px}.filterButton[_ngcontent-%COMP%]{background:transparent;color:var(--mat-sys-on-surface-variant);border:none;margin-top:0;outline:none;font-weight:700;padding:0}.consoleFiltering[_ngcontent-%COMP%]{display:flex}.consoleHeader[_ngcontent-%COMP%]{width:100%;height:32px;font-size:12px;overflow:hidden;display:flex;padding:4px 8px;justify-content:space-between;background:var(--mat-sys-surface);flex-shrink:0}.console[_ngcontent-%COMP%]{flex:1;overflow-y:auto;padding:8px;color:var(--mat-sys-on-surface);font-family:Menlo,Monaco,Courier New,monospace;font-size:12px;line-height:1.4;scrollbar-color:var(--mat-sys-on-surface-variant) var(--mat-sys-surface);scrollbar-width:thin;background:var(--mat-sys-surface)}.consoleInput[_ngcontent-%COMP%]{width:100%;height:32px;padding:4px 8px;display:flex;background:var(--mat-sys-surface);flex-shrink:0}.commandLine[_ngcontent-%COMP%]{background-color:transparent;color:var(--mat-sys-on-surface);border:none;font-family:Menlo,Monaco,Courier New,monospace;font-size:12px}.inputIcon[_ngcontent-%COMP%]{margin-top:2px}mat-icon[_ngcontent-%COMP%]{font-size:14px;width:14px;height:14px}input[_ngcontent-%COMP%]:focus{outline:none}.closeButton[_ngcontent-%COMP%]{cursor:pointer}"],changeDetection:0})}return n})();var d2e=["consoleWrapper"],m2e=(n,i,e,t)=>({lightTheme:n,"console-active":i,"is-minimized":e,"is-dragging":t}),p2e=()=>({top:!0}),u2e=()=>({right:!0}),h2e=()=>({bottom:!0}),f2e=()=>({left:!0}),g2e=()=>({top:!0,left:!0}),_2e=()=>({top:!0,right:!0}),v2e=()=>({bottom:!0,left:!0}),C2e=()=>({bottom:!0,right:!0}),b2e=(n,i)=>i.name;function x2e(n,i){n&1&&R(0,"div",15)(1,"div",16)(2,"div",17)(3,"div",18)(4,"div",19)(5,"div",20)(6,"div",21)(7,"div",22),n&2&&(C("resizeEdges",Bt(8,p2e)),m(),C("resizeEdges",Bt(9,u2e)),m(),C("resizeEdges",Bt(10,h2e)),m(),C("resizeEdges",Bt(11,f2e)),m(),C("resizeEdges",Bt(12,g2e)),m(),C("resizeEdges",Bt(13,_2e)),m(),C("resizeEdges",Bt(14,v2e)),m(),C("resizeEdges",Bt(15,C2e)))}function y2e(n,i){if(n&1){let e=z();R(0,"span",23),s(1,"span",24),d(2),l(),s(3,"button",25),g("mousedown",function(o){return o.stopPropagation()})("click",function(){k(e);let o=v().$index,r=v();return T(r.removeTab(o))}),s(4,"mat-icon"),d(5,"close"),l()()}if(n&2){let e=v().$implicit;m(2),j(e.name)}}function S2e(n,i){n&1&&(s(0,"mat-tab"),xe(1,y2e,6,1,"ng-template",7),l())}function w2e(n,i){n&1&&(s(0,"span",24),d(1,"GNS3 console"),l())}function M2e(n,i){if(n&1){let e=z();s(0,"button",46),g("click",function(){k(e);let o=v(2);return T(o.resetBgColor())}),s(1,"mat-icon"),d(2,"restart_alt"),l()()}}function k2e(n,i){n&1&&(s(0,"span",35),d(1,"auto"),l())}function T2e(n,i){if(n&1){let e=z();s(0,"button",47),g("click",function(){k(e);let o=v(2);return T(o.resetFgColor())}),s(1,"mat-icon"),d(2,"restart_alt"),l()()}}function E2 Line truncated
`)),this.currentLines.set(o.split(`
`)),this.loadingContent.set(!1),this.updateLineCount(o),this.cd.markForCheck()},error:o=>{this.toaster.error(o.error?.message||o.message||"Failed to load file"),this.loadingContent.set(!1),this.cancelEdit(),this.cd.markForCheck()}})}saveEdit(){let e=this.editingFile();if(!e)return;this.saving.set(!0);let t=this.controller();this.nodeService.saveNodeFileContent(t,this.projectId,this.nodeId,e.path,this.editContent()).subscribe({next:()=>{this.toaster.success(`File "${e.path}" saved.`),this.saving.set(!1),this.editingFile.set(null),this.loadFiles(),this.cd.markForCheck()},error:o=>{this.toaster.error(o.error?.message||o.message||"Failed to save file"),this.saving.set(!1),this.cd.markForCheck()}})}cancelEdit(){this.editingFile.set(null),this.editContent.set("")}onEditorScroll(e){let t=e.target,o=this.editorGutter()?.nativeElement;o&&(o.scrollTop=t.scrollTop)}updateLineCount(e){this.lineCount.set((e.match(/\n/g)||[]).length+1)}onContentChange(e){this.editContent.set(e),this.currentLines.set(e.split(`
`)),this.updateLineCount(e)}getLineState(e){let t=this.originalLines(),o=this.currentLines(),r=e-1;return r<t.length&&r<o.length?t[r]!==o[r]?"modified":"unchanged":r<o.length?"added":"unchanged"}lineNumbers(){return Array.from({length:this.lineCount()},(e,t)=>t+1)}onUploadClick(){let e=document.createElement("input");e.type="file",e.style.display="none",document.body.appendChild(e),e.addEventListener("change",t=>{this.onFileSelected(t),document.body.removeChild(e)}),e.click()}onFileSelected(e){let t=e.target;if(!t.files?.length)return;let o=t.files[0];this.uploading.set(!0),this.uploadProgress.set(0);let r=this.controller(),a=this.currentPath()?`${this.currentPath()}/${o.name}`:o.name;this.nodeService.uploadNodeFileWithProgress(r,this.projectId,this.nodeId,a,o).subscribe({next:c=>{this.uploadProgress.set(c),this.cd.markForCheck()},error:c=>{this.uploading.set(!1),this.uploadProgress.set(0),this.toaster.error(c.message||"Upload failed"),this.cd.markForCheck()},complete:()=>{this.uploading.set(!1),this.uploadProgress.set(0),this.toaster.success(`File "${o.name}" uploaded.`);let c=this.getDirCache(this.currentPath()),p={path:a,size:o.size,created_at:"",modified_at:"",file_type:"ASCII text"};this.setDirCache(this.currentPath(),[...c,p]),this.cd.markForCheck()}})}async downloadFile(e){let t=window.showSaveFilePicker;if(t){let o;try{o=await t({suggestedName:e.path})}catch{return}this.downloading.set(!0),this.downloadProgress.set(0);try{await this.nodeService.streamNodeFileToFile(this.controller(),this.projectId,this.nodeId,e.path,o,r=>{this.downloadProgress.set(e.size>0?Math.min(Math.round(r/e.size*100),100):0),this.cd.markForCheck()}),this.downloading.set(!1),this.downloadProgress.set(0),this.toaster.success(`File "${e.path}" downloaded.`),this.cd.markForCheck()}catch(r){this.downloading.set(!1),this.downloadProgress.set(0),this.toaster.error(r.message||"Download failed"),this.cd.markForCheck()}return}this.downloading.set(!0),this.downloadProgress.set(0);try{let o=await BN(this.nodeService.downloadNodeFile(this.controller(),this.projectId,this.nodeId,e.path)),r=URL.createObjectURL(o),a=document.createElement("a");a.href=r,a.download=e.path,a.click(),URL.revokeObjectURL(r),this.downloading.set(!1),this.toaster.success(`File "${e.path}" downloaded.`),this.cd.markForCheck()}catch(o){this.downloading.set(!1),this.toaster.error(o.message||"Download failed"),this.cd.markForCheck()}}deleteFile(e){let t=e.isDir||e.file_type==="directory";this.dialog.open(Xs,{panelClass:["base-confirmation-dialog-panel","confirmation-danger-panel"],data:{title:t?"Delete directory":"Delete file",message:`Are you sure you want to delete "${e.path}"?${t?" This will permanently remove the directory and all its contents.":""}`,confirmButtonText:t?"Delete directory":"Delete",cancelButtonText:"Cancel"}}).afterClosed().subscribe(r=>{if(!r)return;let a=this.controller();this.nodeService.deleteNodeFile(a,this.projectId,this.nodeId,e.path).subscribe({next:()=>{this.toaster.success(`File "${e.path}" deleted.`);let c=e.path.split("/").slice(0,-1).join("/"),p=this.getDirCache(c).filter(u=>u.path!==e.path);this.setDirCache(c,p),this.currentPath().startsWith(e.path)&&this.currentPath.set(c),(e.isDir||e.file_type==="directory")&&this.treeNodes.set(this.treeNodes().filter(u=>u.path!==e.path&&!u.path.startsWith(e.path+"/"))),this.cd.markForCheck()},error:c=>{this.toaster.error(c.error?.message||c.message||"Delete failed"),this.cd.markForCheck()}})})}static \u0275fac=function(t){return new(t||n)};static \u0275cmp=F({type:n,selectors:[["app-node-file-manager-page"]],viewQuery:function(t,o){t&1&&en(o.contextMenuTrigger,CPe,5)(o.editorGutter,bPe,5),t&2&&tn(2)},inputs:{inputNode:[1,"inputNode"],inputController:[1,"inputController"],editContent:[1,"editContent"]},outputs:{editContent:"editContentChange"},decls:21,vars:13,consts:[["rowMenu","matMenu"],["menuTrigger","matMenuTrigger"],["editorGutter",""],[1,"node-file-manager__bar"],[1,"node-file-manager__title"],[1,"node-file-manager__actions"],[1,"node-file-manager__progress-btn"],[1,"node-file-manager__progress-fill",2,"background","var(--mat-sys-primary-container)"],["mat-stroked-button","",2,"font-size","14px","border","none","position","relative","z-index","1","background","transparent",3,"click","disabled"],[1,"node-file-manager__icon-lg"],[1,"node-file-manager__content"],[1,"node-file-manager__spinner"],[1,"node-file-manager__error"],[1,"node-file-manager__edit-area"],["matMenuContent",""],[2,"position","fixed","width","1px","height","1px","opacity","0","pointer-events","none",3,"matMenuTriggerFor"],[1,"node-file-manager__progress-fill",2,"background","var(--mat-sys-tertiary-container)"],[1,"node-file-manager__progress-label"],["mode","indeterminate"],[1,"node-file-manager__error-icon"],[1,"node-file-manager__edit-toolbar"],[1,"node-file-manager__edit-actions"],["mat-button","",3,"click","disabled"],["mat-raised-button","","color","primary",3,"click","disabled"],[1,"editor-container",2,"flex","1"],[1,"edi Line truncated
`))},dependencies:[ve,Tc,Ne,Fe,yt,W,pe,Xr,Ma],encapsulation:2,changeDetection:0})}return n})();var Ek=(()=>{class n{nodeService=f(ht);nodeConsoleService=f(dr);nodesDataSource=f(hi);toasterService=f(te);controllerService=f(nt);settingsService=f(Kr);mapSettingsService=f(xo);dialog=f(ot);cdr=f(X);project=se(void 0);controller=se(void 0);async startConsoleForAllNodes(){this.mapSettingsService.openConsolesInWidget?this.nodeConsoleService.openConsolesForAllNodesInWidget(this.nodesDataSource.getItems()):this.nodeConsoleService.openConsolesForAllNodesInNewTabs(this.nodesDataSource.getItems())}startNodes(){this.nodeService.startAll(this.controller(),this.project()).subscribe({next:()=>this.toasterService.success("All nodes successfully started"),error:e=>{let t=e.error?.message||e.message||"Failed to start nodes";this.toasterService.error(t),this.cdr.markForCheck()}})}stopNodes(){this.nodeService.stopAll(this.controller(),this.project()).subscribe({next:()=>this.toasterService.success("All nodes successfully stopped"),error:e=>{let t=e.error?.message||e.message||"Failed to stop nodes";this.toasterService.error(t),this.cdr.markForCheck()}})}suspendNodes(){this.nodeService.suspendAll(this.controller(),this.project()).subscribe({next:()=>this.toasterService.success("All nodes successfully suspended"),error:e=>{let t=e.error?.message||e.message||"Failed to suspend nodes";this.toasterService.error(t),this.cdr.markForCheck()}})}reloadNodes(){this.nodeService.reloadAll(this.controller(),this.project()).subscribe({next:()=>this.toasterService.success("All nodes successfully reloaded"),error:e=>{let t=e.error?.message||e.message||"Failed to reload nodes";this.toasterService.error(t),this.cdr.markForCheck()}})}resetNodes(){this.nodeService.resetAllNodes(this.controller(),this.project()).subscribe({next:()=>this.toasterService.success("Successfully reset all console connections"),error:e=>{let t=e.error?.message||e.message||"Failed to reset nodes";this.toasterService.error(t),this.cdr.markForCheck()}})}confirmControlsActions(e){this.dialog.open(Tk,{panelClass:["base-confirmation-dialog-panel","confirmation-warning-panel"],autoFocus:!1,disableClose:!0,data:e}).afterClosed().subscribe(o=>{!o||!o.isAction||(o.actionType=="start"?this.startNodes():o.actionType=="stop"?this.stopNodes():o.actionType=="reload"?this.reloadNodes():o.actionType=="suspend"?this.suspendNodes():o.actionType=="reset"&&this.resetNodes())})}static \u0275fac=function(t){return new(t||n)};static \u0275cmp=F({type:n,selectors:[["app-nodes-menu"]],inputs:{project:[1,"project"],controller:[1,"controller"]},decls:19,vars:0,consts:[[1,"menu-button-group"],["matTooltip","Console connect to all nodes","matTooltipClass","custom-tooltip","mat-icon-button","",1,"menu-button",3,"click"],["matTooltip","Start/Resume all nodes","matTooltipClass","custom-tooltip","mat-icon-button","",1,"menu-button",3,"click"],["matTooltip","Suspend all nodes","matTooltipClass","custom-tooltip","mat-icon-button","",1,"menu-button",3,"click"],["matTooltip","Stop all nodes","matTooltipClass","custom-tooltip","mat-icon-button","",1,"menu-button",3,"click"],["matTooltip","Reload all nodes","matTooltipClass","custom-tooltip","mat-icon-button","",1,"menu-button",3,"click"],["matTooltip","Reset all console connections","matTooltipClass","custom-tooltip","mat-icon-button","",1,"menu-button",3,"click"]],template:function(t,o){t&1&&(s(0,"div",0)(1,"button",1),_("click",function(){return o.startConsoleForAllNodes()}),s(2,"mat-icon"),d(3,"web_asset"),l()(),s(4,"button",2),_("click",function(){return o.confirmControlsActions("start")}),s(5,"mat-icon"),d(6,"play_arrow"),l()(),s(7,"button",3),_("click",function(){return o.confirmControlsActions("suspend")}),s(8,"mat-icon"),d(9,"pause"),l()(),s(10,"button",4),_("click",function(){return o.confirmControlsActions("stop")}),s(11,"mat-icon"),d(12,"stop"),l()(),s(13,"button",5),_("click",function(){return o.confirmControlsActions("reload")}),s(14,"mat-icon"),d(15,"replay"),l()(),s(16,"button",6),_("click",function(){return o.confirmControlsActions("reset")}),s(17,"mat-icon"),d(18,"compare_arrows"),l()()())},dependencies:[ie,ve,W,je,oe,de,kt,Ot],styles:[".marked[_ngcontent-%COMP%]{color:var(--mat-sys-primary)}.menu-button[_ngcontent-%COMP%]{margin:0 4px;transition:transform .1s ease}.menu-button[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{color:var(--mat-sys-on-primary)}.menu-button[_ngcontent-%COMP%]:hover{transform:scale(1.2)}"],changeDetection:0})}return n})();var xU=(()=>{class n{transform(e,t){return e?t?(t=t.toLowerCase(),e.filter(o=>o.name.toLowerCase().includes(t))):e:[]}static \u0275fac=function(t){return new(t||n)};static \u0275pipe=Br({name:"templatefilter",type:n,pure:!0})}return n})();var sIe=(n,i)=>i.name,lIe=(n,i)=>i.value;function cIe(n,i){if(n&1&&(s(0,"mat-option",8),d(1),l()),n&2){let e=i.$implicit;b("value",e),m(),ee(" ",e," ")}}function dIe(n,i){if(n&1&&(s(0,"mat-option",8),d(1),l()),n&2){let e=i.$implicit;b("value",e),m(),ee(" ",e.name," Line truncated
`)),this.updateLineCount(e)}getLineState(e){let t=this.originalLines(),o=this.currentLines(),r=e-1;return r<t.length&&r<o.length?t[r]!==o[r]?"modified":"unchanged":r<o.length?"added":"unchanged"}lineNumbers(){return Array.from({length:this.lineCount()},(e,t)=>t+1)}onUploadClick(){let e=document.createElement("input");e.type="file",e.style.display="none",document.body.appendChild(e),e.addEventListener("change",t=>{this.onFileSelected(t),document.body.removeChild(e)}),e.click()}onFileSelected(e){let t=e.target;if(!t.files?.length)return;let o=t.files[0];this.uploading.set(!0),this.uploadProgress.set(0);let r=this.controller(),a=this.currentPath()?`${this.currentPath()}/${o.name}`:o.name;this.nodeService.uploadNodeFileWithProgress(r,this.projectId,this.nodeId,a,o).subscribe({next:c=>{this.uploadProgress.set(c),this.cd.markForCheck()},error:c=>{this.uploading.set(!1),this.uploadProgress.set(0),this.toaster.error(c.message||"Upload failed"),this.cd.markForCheck()},complete:()=>{this.uploading.set(!1),this.uploadProgress.set(0),this.toaster.success(`File "${o.name}" uploaded.`);let c=this.getDirCache(this.currentPath()),p={path:a,size:o.size,created_at:"",modified_at:"",file_type:"ASCII text"};this.setDirCache(this.currentPath(),[...c,p]),this.cd.markForCheck()}})}async downloadFile(e){let t=window.showSaveFilePicker;if(t){let o;try{o=await t({suggestedName:e.path})}catch{return}this.downloading.set(!0),this.downloadProgress.set(0);try{await this.nodeService.streamNodeFileToFile(this.controller(),this.projectId,this.nodeId,e.path,o,r=>{this.downloadProgress.set(e.size>0?Math.min(Math.round(r/e.size*100),100):0),this.cd.markForCheck()}),this.downloading.set(!1),this.downloadProgress.set(0),this.toaster.success(`File "${e.path}" downloaded.`),this.cd.markForCheck()}catch(r){this.downloading.set(!1),this.downloadProgress.set(0),this.toaster.error(r.message||"Download failed"),this.cd.markForCheck()}return}this.downloading.set(!0),this.downloadProgress.set(0);try{let o=await fO(this.nodeService.downloadNodeFile(this.controller(),this.projectId,this.nodeId,e.path)),r=URL.createObjectURL(o),a=document.createElement("a");a.href=r,a.download=e.path,a.click(),URL.revokeObjectURL(r),this.downloading.set(!1),this.toaster.success(`File "${e.path}" downloaded.`),this.cd.markForCheck()}catch(o){this.downloading.set(!1),this.toaster.error(o.message||"Download failed"),this.cd.markForCheck()}}deleteFile(e){let t=e.isDir||e.file_type==="directory";this.dialog.open(Ns,{panelClass:["base-confirmation-dialog-panel","confirmation-danger-panel"],data:{title:t?"Delete directory":"Delete file",message:`Are you sure you want to delete "${e.path}"?${t?" This will permanently remove the directory and all its contents.":""}`,confirmButtonText:t?"Delete directory":"Delete",cancelButtonText:"Cancel"}}).afterClosed().subscribe(r=>{if(!r)return;let a=this.controller();this.nodeService.deleteNodeFile(a,this.projectId,this.nodeId,e.path).subscribe({next:()=>{this.toaster.success(`File "${e.path}" deleted.`);let c=e.path.split("/").slice(0,-1).join("/"),p=this.getDirCache(c).filter(u=>u.path!==e.path);this.setDirCache(c,p),this.currentPath().startsWith(e.path)&&this.currentPath.set(c),(e.isDir||e.file_type==="directory")&&this.treeNodes.set(this.treeNodes().filter(u=>u.path!==e.path&&!u.path.startsWith(e.path+"/"))),this.cd.markForCheck()},error:c=>{this.toaster.error(c.error?.message||c.message||"Delete failed"),this.cd.markForCheck()}})})}static \u0275fac=function(t){return new(t||n)};static \u0275cmp=F({type:n,selectors:[["app-node-file-manager-page"]],viewQuery:function(t,o){t&1&&Xt(o.contextMenuTrigger,iMe,5)(o.editorGutter,oMe,5),t&2&&Kt(2)},inputs:{inputNode:[1,"inputNode"],inputController:[1,"inputController"],editContent:[1,"editContent"]},outputs:{editContent:"editContentChange"},decls:21,vars:13,consts:[["rowMenu","matMenu"],["menuTrigger","matMenuTrigger"],["editorGutter",""],[1,"node-file-manager__bar"],[1,"node-file-manager__title"],[1,"node-file-manager__actions"],[1,"node-file-manager__progress-btn"],[1,"node-file-manager__progress-fill",2,"background","var(--mat-sys-primary-container)"],["mat-stroked-button","",2,"font-size","14px","border","none","position","relative","z-index","1","background","transparent",3,"click","disabled"],[1,"node-file-manager__icon-lg"],[1,"node-file-manager__content"],[1,"node-file-manager__spinner"],[1,"node-file-manager__error"],[1,"node-file-manager__edit-area"],["matMenuContent",""],[2,"position","fixed","width","1px","height","1px","opacity","0","pointer-events","none",3,"matMenuTriggerFor"],[1,"node-file-manager__progress-fill",2,"background","var(--mat-sys-tertiary-container)"],[1,"node-file-manager__progress-label"],["mode","indeterminate"],[1,"node-file-manager__error-icon"],[1,"node-file-manager__edit-toolbar"],[1,"node-file-manager__edit-actions"],["mat-button","",3,"click","disabled"],["mat-raised-button","","color","primary",3,"click","disabled"],[1,"editor-container",2,"flex","1"],[1,"edi Line truncated
`))},dependencies:[_e,pc,Ne,Fe,bt,W,pe,jr,ga],encapsulation:2,changeDetection:0})}return n})();var z2=(()=>{class n{nodeService=f(ut);nodeConsoleService=f(rr);nodesDataSource=f(di);toasterService=f(te);controllerService=f(Je);settingsService=f($r);mapSettingsService=f(go);dialog=f(nt);cdr=f(Q);project=le(void 0);controller=le(void 0);async startConsoleForAllNodes(){this.mapSettingsService.openConsolesInWidget?this.nodeConsoleService.openConsolesForAllNodesInWidget(this.nodesDataSource.getItems()):this.nodeConsoleService.openConsolesForAllNodesInNewTabs(this.nodesDataSource.getItems())}startNodes(){this.nodeService.startAll(this.controller(),this.project()).subscribe({next:()=>this.toasterService.success("All nodes successfully started"),error:e=>{let t=e.error?.message||e.message||"Failed to start nodes";this.toasterService.error(t),this.cdr.markForCheck()}})}stopNodes(){this.nodeService.stopAll(this.controller(),this.project()).subscribe({next:()=>this.toasterService.success("All nodes successfully stopped"),error:e=>{let t=e.error?.message||e.message||"Failed to stop nodes";this.toasterService.error(t),this.cdr.markForCheck()}})}suspendNodes(){this.nodeService.suspendAll(this.controller(),this.project()).subscribe({next:()=>this.toasterService.success("All nodes successfully suspended"),error:e=>{let t=e.error?.message||e.message||"Failed to suspend nodes";this.toasterService.error(t),this.cdr.markForCheck()}})}reloadNodes(){this.nodeService.reloadAll(this.controller(),this.project()).subscribe({next:()=>this.toasterService.success("All nodes successfully reloaded"),error:e=>{let t=e.error?.message||e.message||"Failed to reload nodes";this.toasterService.error(t),this.cdr.markForCheck()}})}resetNodes(){this.nodeService.resetAllNodes(this.controller(),this.project()).subscribe({next:()=>this.toasterService.success("Successfully reset all console connections"),error:e=>{let t=e.error?.message||e.message||"Failed to reset nodes";this.toasterService.error(t),this.cdr.markForCheck()}})}confirmControlsActions(e){this.dialog.open(B2,{panelClass:["base-confirmation-dialog-panel","confirmation-warning-panel"],autoFocus:!1,disableClose:!0,data:e}).afterClosed().subscribe(o=>{!o||!o.isAction||(o.actionType=="start"?this.startNodes():o.actionType=="stop"?this.stopNodes():o.actionType=="reload"?this.reloadNodes():o.actionType=="suspend"?this.suspendNodes():o.actionType=="reset"&&this.resetNodes())})}static \u0275fac=function(t){return new(t||n)};static \u0275cmp=F({type:n,selectors:[["app-nodes-menu"]],inputs:{project:[1,"project"],controller:[1,"controller"]},decls:19,vars:0,consts:[[1,"menu-button-group"],["matTooltip","Console connect to all nodes","matTooltipClass","custom-tooltip","mat-icon-button","",1,"menu-button",3,"click"],["matTooltip","Start/Resume all nodes","matTooltipClass","custom-tooltip","mat-icon-button","",1,"menu-button",3,"click"],["matTooltip","Suspend all nodes","matTooltipClass","custom-tooltip","mat-icon-button","",1,"menu-button",3,"click"],["matTooltip","Stop all nodes","matTooltipClass","custom-tooltip","mat-icon-button","",1,"menu-button",3,"click"],["matTooltip","Reload all nodes","matTooltipClass","custom-tooltip","mat-icon-button","",1,"menu-button",3,"click"],["matTooltip","Reset all console connections","matTooltipClass","custom-tooltip","mat-icon-button","",1,"menu-button",3,"click"]],template:function(t,o){t&1&&(s(0,"div",0)(1,"button",1),g("click",function(){return o.startConsoleForAllNodes()}),s(2,"mat-icon"),d(3,"web_asset"),l()(),s(4,"button",2),g("click",function(){return o.confirmControlsActions("start")}),s(5,"mat-icon"),d(6,"play_arrow"),l()(),s(7,"button",3),g("click",function(){return o.confirmControlsActions("suspend")}),s(8,"mat-icon"),d(9,"pause"),l()(),s(10,"button",4),g("click",function(){return o.confirmControlsActions("stop")}),s(11,"mat-icon"),d(12,"stop"),l()(),s(13,"button",5),g("click",function(){return o.confirmControlsActions("reload")}),s(14,"mat-icon"),d(15,"replay"),l()(),s(16,"button",6),g("click",function(){return o.confirmControlsActions("reset")}),s(17,"mat-icon"),d(18,"compare_arrows"),l()()())},dependencies:[ne,_e,W,je,ie,de,wt,It],styles:[".marked[_ngcontent-%COMP%]{color:var(--mat-sys-primary)}.menu-button[_ngcontent-%COMP%]{margin:0 4px;transition:transform .1s ease}.menu-button[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{color:var(--mat-sys-on-primary)}.menu-button[_ngcontent-%COMP%]:hover{transform:scale(1.2)}"],changeDetection:0})}return n})();var H9=(()=>{class n{transform(e,t){return e?t?(t=t.toLowerCase(),e.filter(o=>o.name.toLowerCase().includes(t))):e:[]}static \u0275fac=function(t){return new(t||n)};static \u0275pipe=Ar({name:"templatefilter",type:n,pure:!0})}return n})();var GMe=(n,i)=>i.name,WMe=(n,i)=>i.value;function qMe(n,i){if(n&1&&(s(0,"mat-option",8),d(1),l()),n&2){let e=i.$implicit;C("value",e),m(),ee(" ",e," ")}}function QMe(n,i){if(n&1&&(s(0,"mat-option",8),d(1),l()),n&2){let e=i.$implicit;C("value",e),m(),ee(" ",e.name," Line truncated
height="${r.height}" width="${r.width}">
<image height="${r.height}" width="${r.width}"
xlink:href="${a}"/>
</svg>`;this.drawingService.add(this.controller,this.project.project_id,-(r.width/2),-(r.height/2),c).subscribe({next:()=>{},error:p=>{let u=p.error?.message||p.message||"Failed to add image";this.toasterService.error(u),this.cd.markForCheck()}})},r.onload=()=>{o.readAsDataURL(t)},r.src=window.URL.createObjectURL(t)}closeProject(){let t=this.bottomSheet.open(is,{data:{message:"Do you want to close the project?"},panelClass:"confirmation-bottom-sheet"}).afterDismissed().subscribe(o=>{o&&this.projectService.close(this.controller,this.project.project_id).subscribe({next:()=>{this.router.navigate(["/controller",this.controller.id,"projects"])},error:r=>{let a=r.error?.message||r.message||"Failed to close project";this.toasterService.error(a),this.cd.markForCheck()}})})}deleteProject(){let t=this.bottomSheet.open(is,{data:{message:"Do you want to delete the project?"},panelClass:"confirmation-bottom-sheet"}).afterDismissed().subscribe(o=>{o&&this.projectService.delete(this.controller,this.project.project_id).subscribe({next:()=>{this.router.navigate(["/controller",this.controller.id,"projects"])},error:r=>{let a=r.error?.message||r.message||"Failed to delete project";this.toasterService.error(a),this.cd.markForCheck()}})})}addNewTemplate(){let t=this.dialog.open(Jg,{width:"800px",maxHeight:"800px",autoFocus:!1,disableClose:!0,panelClass:["base-dialog-panel","configurator-dialog-panel","new-template-dialog-panel"]}).componentInstance;t.controller=this.controller,t.project=this.project}showReadme(){let t=this.dialog.open(sk,{width:"600px",height:"650px",autoFocus:!1,disableClose:!0}).componentInstance;t.controller=this.controller,t.project=this.project}ngOnDestroy(){this.onLeaveProject(),this.nodeConsoleService.openConsoles=0,this.title.setTitle("GNS3 Web UI"),this.drawingsDataSource.clear(),this.nodesDataSource.clear(),this.linksDataSource.clear(),this.projectws&&this.projectws.OPEN&&this.projectws.close(),this.ws&&this.ws.OPEN&&this.ws.close(),this.projectMapSubscription.unsubscribe(),this.startedNodeIds.clear()}onOpenFileManagerInline(e){if(this.fileManagerInlineWindows.has(e.node.node_id)){this.bringFileManagerToFront(e.node.node_id);return}this.zIndexCounter++,this.fileManagerInlineWindows.set(e.node.node_id,e.node),this.fileManagerInlineZIndex.set(e.node.node_id,this.baseZIndex+this.zIndexCounter),this.cd.markForCheck()}closeFileManagerInline(e){this.fileManagerInlineWindows.delete(e),this.fileManagerInlineZIndex.delete(e),this.cd.markForCheck()}bringFileManagerToFront(e){this.fileManagerInlineWindows.has(e)&&(this.zIndexCounter++,this.fileManagerInlineZIndex.set(e,this.baseZIndex+this.zIndexCounter),this.cd.markForCheck())}getFileManagerZIndex(e){return this.fileManagerInlineZIndex.get(e)||this.baseZIndex}getFileManagerInlineWindows(){return Array.from(this.fileManagerInlineWindows.values())}isFileManagerMinimized(e){return this.windowManagement.minimizedWindows().some(t=>t.id==="filemgr-"+e)}toggleFileManagerMinimize(e){let t=`filemgr-${e}`;this.windowManagement.minimizedWindows().some(o=>o.id===t)?this.windowManagement.restoreWindow(t):this.windowManagement.minimizeWindow(t,"filemgr"),this.cd.markForCheck()}static \u0275fac=function(t){return new(t||n)};static \u0275cmp=F({type:n,selectors:[["app-project-map"]],viewQuery:function(t,o){t&1&&en(o.contextMenu,Kg,5)(o.mapChild,b2,5)(o.projectMapMenuComponent,n_,5)(o.topologySummaryContainer,VIe,5,Xi)(o.templateComponent,c_,5),t&2&&tn(5)},decls:172,vars:78,consts:[["projectMap",""],["mainMenu","matMenu"],["projectMenu","matMenu"],["viewMenu","matMenu"],["topologySummaryContainer",""],[1,"project-map",3,"ngClass"],["id","project-titlebar"],["matTooltip","Open menu","matTooltipClass","custom-tooltip","matTooltipPosition","left","mat-icon-button","",1,"gns3-button","menu-button",3,"matMenuTriggerFor"],["svgIcon","gns3"],[1,"project-titlebar-controls"],[1,"menu-button-group","primary-controls"],[1,"menu-button-group"],[3,"controller","project"],[3,"openWebWiresharkInline","openWebConsoleInline","openFileManagerInline","project","controller"],["matTooltip","Toggle topology/controllers summary","matTooltipClass","custom-tooltip","matTooltipPosition","left","mat-icon-button","",3,"click"],[3,"overlapTrigger"],["mat-menu-item","",3,"routerLink"],["mat-menu-item","",3,"click"],["mat-menu-item","",3,"matMenuTriggerFor"],[1,"options-item"],[3,"change","checked"],[3,"controller","project","symbols","nodes","links","drawings","width","height","show-interface-labels","readonly"],["id","project-toolbar"],[1,"section"],["matTooltip","Selection mode","matTooltipClass","custom-tooltip","matTooltipPosition","left","mat-icon-button","",1,"selection-button","menu-button",3,"click","color"],["matTooltip","Pan workspace","matTooltipClass","custom-tooltip","matTooltipPosition","left","mat-icon-button","",1,"pan-button","menu-button",3,"click","color"],["matTooltip","Zoom in","matTooltipClass","custom-tooltip","matTooltipPosition","left","mat-icon-button","",1,"zoom-button",3,"click"Line truncated
</svg>`;this.drawingService.add(this.controller,this.project.project_id,-(r.width/2),-(r.height/2),c).subscribe({next:()=>{},error:p=>{let u=p.error?.message||p.message||"Failed to add image";this.toasterService.error(u),this.cd.markForCheck()}})},r.onload=()=>{o.readAsDataURL(t)},r.src=window.URL.createObjectURL(t)}closeProject(){let t=this.bottomSheet.open(Wa,{data:{message:"Do you want to close the project?"},panelClass:"confirmation-bottom-sheet"}).afterDismissed().subscribe(o=>{o&&this.projectService.close(this.controller,this.project.project_id).subscribe({next:()=>{this.router.navigate(["/controller",this.controller.id,"projects"])},error:r=>{let a=r.error?.message||r.message||"Failed to close project";this.toasterService.error(a),this.cd.markForCheck()}})})}deleteProject(){let t=this.bottomSheet.open(Wa,{data:{message:"Do you want to delete the project?"},panelClass:"confirmation-bottom-sheet"}).afterDismissed().subscribe(o=>{o&&this.projectService.delete(this.controller,this.project.project_id).subscribe({next:()=>{this.router.navigate(["/controller",this.controller.id,"projects"])},error:r=>{let a=r.error?.message||r.message||"Failed to delete project";this.toasterService.error(a),this.cd.markForCheck()}})})}addNewTemplate(){let t=this.dialog.open(cg,{width:"800px",maxHeight:"800px",autoFocus:!1,disableClose:!0,panelClass:["base-dialog-panel","configurator-dialog-panel","new-template-dialog-panel"]}).componentInstance;t.controller=this.controller,t.project=this.project}showReadme(){let t=this.dialog.open(C2,{width:"600px",height:"650px",autoFocus:!1,disableClose:!0}).componentInstance;t.controller=this.controller,t.project=this.project}ngOnDestroy(){this.onLeaveProject(),this.nodeConsoleService.openConsoles=0,this.title.setTitle("GNS3 Web UI"),this.drawingsDataSource.clear(),this.nodesDataSource.clear(),this.linksDataSource.clear(),this.projectws&&this.projectws.OPEN&&this.projectws.close(),this.ws&&this.ws.OPEN&&this.ws.close(),this.projectMapSubscription.unsubscribe(),this.startedNodeIds.clear()}onOpenFileManagerInline(e){if(this.fileManagerInlineWindows.has(e.node.node_id)){this.bringFileManagerToFront(e.node.node_id);return}this.zIndexCounter++,this.fileManagerInlineWindows.set(e.node.node_id,e.node),this.fileManagerInlineZIndex.set(e.node.node_id,this.baseZIndex+this.zIndexCounter),this.cd.markForCheck()}closeFileManagerInline(e){this.fileManagerInlineWindows.delete(e),this.fileManagerInlineZIndex.delete(e),this.cd.markForCheck()}bringFileManagerToFront(e){this.fileManagerInlineWindows.has(e)&&(this.zIndexCounter++,this.fileManagerInlineZIndex.set(e,this.baseZIndex+this.zIndexCounter),this.cd.markForCheck())}getFileManagerZIndex(e){return this.fileManagerInlineZIndex.get(e)||this.baseZIndex}getFileManagerInlineWindows(){return Array.from(this.fileManagerInlineWindows.values())}isFileManagerMinimized(e){return this.windowManagement.minimizedWindows().some(t=>t.id==="filemgr-"+e)}toggleFileManagerMinimize(e){let t=`filemgr-${e}`;this.windowManagement.minimizedWindows().some(o=>o.id===t)?this.windowManagement.restoreWindow(t):this.windowManagement.minimizeWindow(t,"filemgr"),this.cd.markForCheck()}static \u0275fac=function(t){return new(t||n)};static \u0275cmp=F({type:n,selectors:[["app-project-map"]],viewQuery:function(t,o){t&1&&Xt(o.contextMenu,ag,5)(o.mapChild,AS,5)(o.projectMapMenuComponent,pg,5)(o.topologySummaryContainer,Ske,5,oo)(o.templateComponent,Cg,5),t&2&&Kt(5)},decls:172,vars:78,consts:[["projectMap",""],["mainMenu","matMenu"],["projectMenu","matMenu"],["viewMenu","matMenu"],["topologySummaryContainer",""],[1,"project-map",3,"ngClass"],["id","project-titlebar"],["matTooltip","Open menu","matTooltipClass","custom-tooltip","matTooltipPosition","left","mat-icon-button","",1,"gns3-button","menu-button",3,"matMenuTriggerFor"],["svgIcon","gns3"],[1,"project-titlebar-controls"],[1,"menu-button-group","primary-controls"],[1,"menu-button-group"],[3,"controller","project"],[3,"openWebWiresharkInline","openWebConsoleInline","openFileManagerInline","project","controller"],["matTooltip","Toggle topology/controllers summary","matTooltipClass","custom-tooltip","matTooltipPosition","left","mat-icon-button","",3,"click"],[3,"overlapTrigger"],["mat-menu-item","",3,"routerLink"],["mat-menu-item","",3,"click"],["mat-menu-item","",3,"matMenuTriggerFor"],[1,"options-item"],[3,"change","checked"],[3,"controller","project","symbols","nodes","links","drawings","width","height","show-interface-labels","readonly"],["id","project-toolbar"],[1,"section"],["matTooltip","Selection mode","matTooltipClass","custom-tooltip","matTooltipPosition","left","mat-icon-button","",1,"selection-button","menu-button",3,"click","color"],["matTooltip","Pan workspace","matTooltipClass","custom-tooltip","matTooltipPosition","left","mat-icon-button","",1,"pan-button","menu-button",3,"click","color"],["matTooltip","Zoom in","matTooltipClass","custom-tooltip","matTooltipPosition","left","mat-icon-button","",1,"zoom-button",3,"click"Line truncated
\x1B[31mConnection lost. Please check if the node is still running.\x1B[0m\r
`)},this.socket.onclose=()=>{console.log("[WebConsoleFullWindow] Socket closed"),this.term.write(`\r
\x1B[33mConnection closed.\x1B[0m\r
`)};let t=new VU.AttachAddon(this.socket);this.term.loadAddon(t),this.xtermService.initTerminal(this.term,this.fitAddon),this.fitAddon.fit(),this.term.focus(),this.term.attachCustomKeyEventHandler(o=>!((o.code==="KeyC"||o.code==="KeyV")&&o.ctrlKey&&o.shiftKey)),this.xtermService.settingsChanged$.pipe(Xe(this.destroy$)).subscribe(()=>{this.xtermService.applySettingsToTerminal(this.term,this.fitAddon,this.cdr)}),this.contextMenuCleanup=this.contextMenuService.attachContextMenu(this.term,e.nativeElement)},0)}ngOnDestroy(){this.destroy$.next(),this.destroy$.complete(),this.socket&&(this.socket.close(),this.socket=null),this.contextMenuCleanup&&(this.contextMenuCleanup(),this.contextMenuCleanup=null),this.term&&this.term.dispose()}static \u0275fac=function(t){return new(t||n)};static \u0275cmp=F({type:n,selectors:[["app-web-console-full-window"]],viewQuery:function(t,o){t&1&&en(o.terminal,GAe,5),t&2&&tn()},decls:2,vars:0,consts:[["terminal",""],[1,"terminal",2,"width","100%","height","100%"]],template:function(t,o){t&1&&Os(0,"div",1,0)},dependencies:[ie],styles:["[_nghost-%COMP%]{display:block;width:100vw;height:100vh;overflow:hidden}.terminal[_ngcontent-%COMP%]{width:100%;height:100%}"],changeDetection:0})}return n})();var Kk=(()=>{class n{consoleService;bottomSheet;constructor(e,t){this.consoleService=e,this.bottomSheet=t}canDeactivate(){return this.consoleService.openConsoles>0?this.bottomSheet.open(is,{data:{message:"Exiting the project will close open consoles, do you want to continue?"},panelClass:"confirmation-bottom-sheet"}).afterDismissed():!0}static \u0275fac=function(t){return new(t||n)(ge(dr),ge(sc))};static \u0275prov=K({token:n,factory:n.\u0275fac})}return n})();var ri=(()=>{class n{controllerService;loginService;router;constructor(e,t,o){this.controllerService=e,this.loginService=t,this.router=o}async canActivate(e,t){let o=e.paramMap.get("controller_id");this.loginService.controller_id=o;let r=await this.controllerService.get(parseInt(o,10));try{await this.loginService.getLoggedUser(r)}catch{}return this.controllerService.get(parseInt(o,10)).then(a=>{if(a.authToken&&!a.tokenExpired)return!0;this.router.navigate(["/controller",a.id,"login"],{queryParams:{returnUrl:t.url}})})}static \u0275fac=function(t){return new(t||n)(ge(nt),ge(kl),ge(dt))};static \u0275prov=K({token:n,factory:n.\u0275fac})}return n})();var Rr=(()=>{class n{httpController;constructor(e){this.httpController=e}getInformationAboutLoggedUser(e){return this.httpController.get(e,"/access/users/me/")}get(e,t){return this.httpController.get(e,`/access/users/${t}`)}list(e){return this.httpController.get(e,"/access/users")}add(e,t){return this.httpController.post(e,"/access/users",t)}delete(e,t){return this.httpController.delete(e,`/access/users/${t}`)}update(e,t,o){return o?this.httpController.put(e,"/access/users/me",t):this.httpController.put(e,`/access/users/${t.user_id}`,t)}getGroupsByUserId(e,t){return this.httpController.get(e,`/access/users/${t}/groups`)}static \u0275fac=function(t){return new(t||n)(ge(fn))};static \u0275prov=K({token:n,factory:n.\u0275fac})}return n})();function Yk(n){if(n.get("password").value!==n.get("confirmPassword").value){n.get("confirmPassword").setErrors({confirmPasswordMatch:!0});return}}function qAe(n,i){n&1&&(s(0,"mat-error"),d(1,"Password must be at least 8 characters long and contain at least one digit, one lowercase letter and one uppercase letter."),l())}function QAe(n,i){n&1&&(s(0,"mat-error"),d(1,"Password and Confirm password must be the same."),l())}var u_=(()=>{class n{dialogRef=f(Ie);userService=f(Rr);toasterService=f(te);cd=f(X);data=f(vt);user=ne(this.data.user);editPasswordForm=new Sr({password:new et(null,[Ue.minLength(6),Ue.maxLength(100),Ue.pattern(/^(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,}$/),Ue.required]),confirmPassword:new et(null,[Ue.minLength(6),Ue.maxLength(100),Ue.pattern(/^(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,}$/),Ue.required])},{validators:[Yk]});constructor(){}get passwordForm(){return this.editPasswordForm.controls}onCancel(){this.dialogRef.close()}onPasswordSave(){if(!this.editPasswordForm.valid)return;let e={};e.password=this.editPasswordForm.get("password").value,e.user_id=this.user().user_id,this.userService.update(this.data.controller,e,this.data.self_update).subscribe({next:t=>{this.toasterService.success(`User ${t.username} password updated`),this.editPasswordForm.reset(),this.dialogRef.close(!0),this.cd.markForCheck()},error:t=>{let o=t.error?.message||t.message||"Failed to update password";this.toasterService.error(o),this.cd.markForCheck()}})}static \u0275fac=function(t){return new(t||n)};static \u0275cmp=F({type:n,selectors:[["app-change-user-password"]],decls:15,vars:5,consts:[["mat-dialog-title",""],[1,"input-field",3,"formGroup"],[1,"input-field"],["matInput","","type","password","formControlName","password","placeholder","Password"],["matInput","","type","password","formControlName","confirmPassword","placeholder","Confirm Password"],["mat-dialog-actions","",1,"butto Line truncated
`),l(),s(4,"mat-dialog-content",1)(5,"mat-card",2)(6,"mat-card-content")(7,"p",3)(8,"mat-icon",4),d(9,"info"),l(),s(10,"strong"),d(11,"OpenAI-Compatible Only:"),l(),d(12," GNS3 currently supports only OpenAI-compatible LLM APIs. Ensure your provider and model use the OpenAI API format (e.g., OpenAI, DeepSeek, OpenRouter, Ollama with OpenAI compatibility). "),l()()(),s(13,"div",5)(14,"h3"),d(15,"Basic Configuration"),l(),s(16,"div",6)(17,"h4"),d(18,"Configuration Name"),l(),s(19,"p"),d(20,"A unique identifier for this LLM model configuration."),l(),s(21,"ul")(22,"li")(23,"strong"),d(24,"Format:"),l(),d(25," 1-100 characters"),l(),s(26,"li")(27,"strong"),d(28,"Allowed characters:"),l(),d(29," Letters, numbers, underscores, and hyphens"),l(),s(30,"li")(31,"strong"),d(32,"Example:"),l(),s(33,"code"),d(34,"gpt-4o-config"),l(),d(35,", "),s(36,"code"),d(37,"claude-3-5-sonnet"),l()()()(),s(38,"div",6)(39,"h4"),d(40,"Model Type"),l(),s(41,"p"),d(42,"The category of AI model for this configuration."),l(),s(43,"mat-card",7)(44,"mat-card-content")(45,"p",3)(46,"mat-icon",4),d(47,"info"),l(),d(48," Currently fixed to "),s(49,"strong"),d(50,"text"),l(),d(51,". This field is reserved for future use when additional model types become supported. "),l()()()()(),s(52,"div",5)(53,"h3"),d(54,"API Configuration"),l(),s(55,"div",6)(56,"h4"),d(57,"Model Provider"),l(),s(58,"p"),d(59,"The LLM provider identifier for API communication."),l(),s(60,"p"),d(61," Enter the provider that matches your API endpoint. Common values include "),s(62,"code"),d(63,"openai"),l(),d(64,", "),s(65,"code"),d(66,"anthropic"),l(),d(67,", "),s(68,"code"),d(69,"ollama"),l(),d(70,", "),s(71,"code"),d(72,"deepseek"),l(),d(73,". "),l(),s(74,"p"),d(75,"For OpenAI-compatible APIs, use "),s(76,"code"),d(77,"openai"),l(),d(78," as the provider and customize the Base URL."),l()(),s(79,"div",6)(80,"h4"),d(81,"Base URL"),l(),s(82,"p"),d(83,"The API endpoint URL for the provider."),l(),s(84,"ul")(85,"li"),d(86,"Enter the full URL of the API endpoint"),l(),s(87,"li")(88,"strong"),d(89,"Examples:"),l(),s(90,"code"),d(91,"https://api.openai.com/v1"),l(),d(92,", "),s(93,"code"),d(94,"http://localhost:11434/v1"),l()()()(),s(95,"div",6)(96,"h4"),d(97,"Model Name"),l(),s(98,"p"),d(99,"The specific model to use."),l(),s(100,"p"),d(101,"Enter the model identifier exactly as required by the provider's API."),l(),s(102,"p")(103,"strong"),d(104,"Examples:"),l(),s(105,"code"),d(106,"gpt-4o"),l(),d(107,", "),s(108,"code"),d(109,"claude-sonnet-4"),l(),d(110,", "),s(111,"code"),d(112,"deepseek-v4-pro"),l(),d(113,", "),s(114,"code"),d(115,"llama-3-70b"),l()()(),s(116,"div",6)(117,"h4"),d(118,"API Key"),l(),s(119,"p"),d(120,"Your authentication key for accessing the API."),l(),s(121,"ul")(122,"li")(123,"strong"),d(124,"Create mode:"),l(),d(125," Required field, minimum 10 characters"),l(),s(126,"li")(127,"strong"),d(128,"Edit mode:"),l(),d(129," Leave empty to keep existing key"),l()(),s(130,"mat-card",8)(131,"mat-card-content")(132,"p",3)(133,"mat-icon",4),d(134,"lock"),l(),d(135," API keys are encrypted on the server for security. "),l()()()()(),s(136,"div",5)(137,"h3"),d(138,"Model Parameters"),l(),s(139,"div",6)(140,"h4"),d(141,"Temperature"),l(),s(142,"p"),d(143,"Controls the randomness of the model's responses."),l(),s(144,"ul")(145,"li")(146,"strong"),d(147,"Range:"),l(),d(148," 0.0 to 2.0"),l(),s(149,"li")(150,"strong"),d(151,"Lower values (0.0-0.3):"),l(),d(152," More focused, deterministic output"),l(),s(153,"li")(154,"strong"),d(155,"Higher values (0.7-2.0):"),l(),d(156," More creative, diverse output"),l(),s(157,"li")(158,"strong"),d(159,"Recommended:"),l(),d(160," 0.3 for technical tasks, 0.7 for creative tasks"),l()()(),s(161,"div",6)(162,"h4"),d(163,"Context Limit"),l(),s(164,"p"),d(165,"The maximum context window size in thousands (K) of tokens."),l(),s(166,"ul")(167,"li")(168,"strong"),d(169,"Range:"),l(),d(170," 1 to 10000"),l(),s(171,"li")(172,"strong"),d(173,"Unit:"),l(),d(174," K tokens (e.g., 128 = 128K tokens)"),l(),s(175,"li")(176,"strong"),d(177,"Meaning:"),l(),d(178," Maximum amount of text the model can consider"),l()(),s(179,"p",9),d(180,"Different models have different context limits. Check your model's documentation."),l()(),s(181,"div",6)(182,"h4"),d(183,"Context Strategy"),l(),s(184,"p"),d(185,"Determines how aggressively the system uses the available context limit."),l(),s(186,"table",10)(187,"thead")(188,"tr")(189,"th"),d(190,"Strategy"),l(),s(191,"th"),d(192,"Usage"),l()()(),s(193,"tbody")(194,"tr")(195,"td")(196,"strong"),d(197,"Conservative"),l()(),s(198,"td"),d(199,"60% of context limit (safer, more reserved)"),l()(),s(200,"tr")(201,"td")(202,"strong"),d(203,"Balanced"),l()(),s(204,"td"),d(205,"75% of context limit (recommended)"),l()(),s(206,"tr")(207,"td")(208,"strong"),d(209,"Aggressive"),l()(),s(210,"td"),d(211,"85% of context limit (maximizes capacity)"),l()()()()(),s(212,"div",6)(213,"h4"),d(214,"Copilot Mode"),l(),s(215,"p"),d(216,"Determ Line truncated
`),m(2),b("formGroup",o.form),m(2),Cc("value",o.configMode),m(14),O(o.configMode==="basic"?19:-1),m(),O(o.configMode==="custom"?20:-1),m(4),b("disabled",o.form.invalid),m(),ee(" ",o.mode==="create"?"Create":"Save"," "))},dependencies:[ie,It,st,Lt,wr,At,at,Mc,Th,Bt,jt,j5,$5,ve,Ne,Fe,yt,$1,CF,bF,oe,de,we,Me,it,B1,Ci,Se,Ee,xt,Nt,Ct,Vo,Ft,Xt,W,pe,je,kt,Ot,Tt],styles:['.config-form[_ngcontent-%COMP%] .full-width[_ngcontent-%COMP%]{width:100%;margin-bottom:12px}.config-form[_ngcontent-%COMP%] .section-header[_ngcontent-%COMP%]{margin-top:16px;margin-bottom:16px}.config-form[_ngcontent-%COMP%] .section-header[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{margin:0;font-size:18px;font-weight:600;color:var(--mat-sys-primary)}.config-form[_ngcontent-%COMP%] .help-icon[_ngcontent-%COMP%]{display:inline-flex;vertical-align:middle;width:18px;height:18px;margin-left:4px}.config-form[_ngcontent-%COMP%] .help-icon[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:18px;width:18px;height:18px;color:var(--mat-sys-on-surface-variant)}.config-form[_ngcontent-%COMP%] .help-icon[_ngcontent-%COMP%]:hover mat-icon[_ngcontent-%COMP%]{color:var(--mat-sys-primary)}.config-form[_ngcontent-%COMP%] .row[_ngcontent-%COMP%]{display:flex;gap:12px;margin-bottom:12px}.config-form[_ngcontent-%COMP%] .row[_ngcontent-%COMP%] .half-width[_ngcontent-%COMP%]{flex:1;min-width:0}.config-form[_ngcontent-%COMP%] .checkbox-section[_ngcontent-%COMP%]{margin:16px 0}.config-form[_ngcontent-%COMP%] .checkbox-section[_ngcontent-%COMP%] mat-checkbox[_ngcontent-%COMP%]{display:block}.config-form[_ngcontent-%COMP%] .option-hint[_ngcontent-%COMP%]{color:var(--mat-sys-on-surface-variant);font-size:14px}.config-form[_ngcontent-%COMP%] .existing-key-hint[_ngcontent-%COMP%]{color:var(--mat-sys-primary);font-size:12px}.config-form[_ngcontent-%COMP%] .warning-hint[_ngcontent-%COMP%]{color:var(--mat-sys-on-surface-variant);font-size:14px}.config-form[_ngcontent-%COMP%] .custom-fields-section[_ngcontent-%COMP%]{margin-top:16px;padding-top:16px;border-top:1px solid var(--mat-sys-outline-variant)}.config-form[_ngcontent-%COMP%] .custom-fields-section[_ngcontent-%COMP%] .section-header[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.config-form[_ngcontent-%COMP%] .custom-fields-section[_ngcontent-%COMP%] .section-header[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{margin:0;font-size:16px;font-weight:500;color:var(--mat-sys-on-surface)}.config-form[_ngcontent-%COMP%] .custom-fields-section[_ngcontent-%COMP%] .section-header[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{width:40px;height:40px;padding:8px;transition:all .2s cubic-bezier(.4,0,.2,1);border-radius:50%;display:inline-flex;align-items:center;justify-content:center;position:relative}.config-form[_ngcontent-%COMP%] .custom-fields-section[_ngcontent-%COMP%] .section-header[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:before{content:"";position:absolute;width:100%;height:100%;border-radius:50%;background-color:currentColor;opacity:0;transition:opacity .2s cubic-bezier(.4,0,.2,1);transform:scale(.75)}.config-form[_ngcontent-%COMP%] .custom-fields-section[_ngcontent-%COMP%] .section-header[_ngcontent-%COMP%] button[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:24px;width:24px;height:24px;transition:transform .2s cubic-bezier(.4,0,.2,1);position:relative;z-index:1}.config-form[_ngcontent-%COMP%] .custom-fields-section[_ngcontent-%COMP%] .section-header[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:hover:before{opacity:1;background-color:var(--mat-sys-primary-container)}.config-form[_ngcontent-%COMP%] .custom-fields-section[_ngcontent-%COMP%] .section-header[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:hover mat-icon[_ngcontent-%COMP%]{color:var(--mat-sys-primary);transform:scale(1.1)}.config-form[_ngcontent-%COMP%] .custom-fields-section[_ngcontent-%COMP%] .section-description[_ngcontent-%COMP%]{margin-bottom:16px}.config-form[_ngcontent-%COMP%] .custom-fields-section[_ngcontent-%COMP%] .section-description[_ngcontent-%COMP%] .reserved-field-hint[_ngcontent-%COMP%]{margin:0;font-size:14px;color:var(--mat-sys-on-surface-variant);font-style:italic}.config-form[_ngcontent-%COMP%] .custom-fields-section[_ngcontent-%COMP%] .custom-fields-list[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:12px}.config-form[_ngcontent-%COMP%] .custom-fields-section[_ngcontent-%COMP%] .custom-fields-list[_ngcontent-%COMP%] .custom-field-row[_ngcontent-%COMP%]{display:flex;align-items:flex-start;gap:8px}.config-form[_ngcontent-%COMP%] .custom-fields-section[_ngcontent-%COMP%] .custom-fields-list[_ngcontent-%COMP%] .custom-field-row[_ngcontent-%COMP%] .field-key[_ngcontent-%COMP%], .config-form[_ngcontent-%COMP%] .custom-fields-section[_ngcontent-%COMP%] .custom-fields-list[_ngcontent-%COMP%] .custom-field-row[_ngcontent-%COMP%] .field-value[_ngcontent-%COMP%]{f Line truncated
`],encapsulation:2,changeDetection:0})}return n})();var eT=(()=>{class n{static \u0275fac=function(t){return new(t||n)};static \u0275mod=Gt({type:n});static \u0275inj=Ut({imports:[vi]})}return n})();var g4e=n=>["controller",n,"systemstatus"],_4e=n=>["controller",n,"settings"],v4e=n=>["controller",n,"management","users"],C4e=n=>["controller",n,"help"],b4e=()=>["/controllers"],x4e=n=>["/controller",n,"projects"],y4e=n=>["controller",n,"preferences"],S4e=n=>["controller",n,"computes"],w4e=n=>["controller",n,"image-manager"];function M4e(n,i){if(n&1){let e=z();s(0,"button",14),_("click",function(){T(e);let o=v();return E(o.listProjects())}),d(1,"Projects"),l()}}function k4e(n,i){if(n&1){let e=z();s(0,"button",15),_("click",function(){T(e);let o=v();return E(o.backToProject())}),d(1,"Back to project"),l()}}var tT=(()=>{class n{isInstalledSoftwareAvailable=!1;isLoginPage=!1;routeSubscription;controllerStatusSubscription;shouldStopControllersOnClosing=!0;recentlyOpenedcontrollerId;recentlyOpenedProjectId;controllerIdProjectList;controllerId;controller;project;projectMapSubscription=new _o;recentlyOpenedProjectService=f(bm);controllerManagement=f(p_);toasterService=f(te);userService=f(Rr);progressService=f(so);dialog=f(ot);router=f(dt);route=f(rt);controllerService=f(nt);projectService=f(Di);cd=f(X);connectionManager=f(op);ngOnInit(){this.routeSubscription=this.router.events.pipe(Ln(e=>e instanceof Dr)).subscribe(()=>{this.controllerId=this.getParamFromRoute(this.route,"controller_id"),this.getData(),this.checkIfUserIsLoginPage(),this.cd.markForCheck()}),this.controllerId=this.getParamFromRoute(this.route,"controller_id"),this.getData(),this.recentlyOpenedcontrollerId=this.recentlyOpenedProjectService.getcontrollerId(),this.recentlyOpenedProjectId=this.recentlyOpenedProjectService.getProjectId(),this.controllerIdProjectList=this.recentlyOpenedProjectService.getcontrollerIdProjectList(),this.isInstalledSoftwareAvailable=!1,this.controllerStatusSubscription=this.controllerManagement.controllerStatusChanged.subscribe(e=>{e.status==="errored"&&(console.error(e.message),this.toasterService.error(e.message)),e.status==="stderr"&&(console.error(e.message),this.toasterService.error(e.message))}),this.shouldStopControllersOnClosing=!1}getParamFromRoute(e,t){let o=e;for(;o.firstChild;){o=o.firstChild;let r=o.snapshot.paramMap.get(t);if(r)return r}return o.snapshot.paramMap.get(t)}openLoggedUserDialog(){this.dialog.open(jU,{panelClass:["base-dialog-panel"],autoFocus:!1,data:{controllerId:+this.controllerId}})}openApiKeyManagementDialog(){this.controllerService.get(+this.controllerId).then(e=>{this.dialog.open(WU,{panelClass:["base-dialog-panel","configurator-dialog-panel"],autoFocus:!1,data:{controller:e}})})}openAiProfileDialog(){this.controllerService.get(+this.controllerId).then(e=>{this.userService.getInformationAboutLoggedUser(e).subscribe(t=>{this.dialog.open(Jk,{panelClass:["base-dialog-panel","configurator-dialog-panel"],autoFocus:!1,data:{user:t,controller:e}})})})}goToDocumentation(){this.controllerService.get(+this.controllerId).then(e=>{window.open(`${e.protocol}//${e.host}:${e.port}/docs`)})}checkIfUserIsLoginPage(){this.router.url.includes("login")?this.isLoginPage=!0:this.isLoginPage=!1}logout(){this.controllerService.get(+this.controllerId).then(e=>{localStorage.removeItem(`refresh_token_${e.id}`),e.authToken=null,this.controllerService.update(e).then(t=>{this.connectionManager.disconnect(),this.router.navigate(["/controller",e.id,"login"])})})}listProjects(){this.router.navigate(["/controller",this.controllerIdProjectList,"projects"]).catch(e=>this.toasterService.error("Cannot list projects"))}backToProject(){this.router.navigate(["/controller",this.recentlyOpenedcontrollerId,"project",this.recentlyOpenedProjectId]).catch(e=>this.toasterService.error("Cannot navigate to the last opened project"))}async onBeforeUnload(e){if(this.shouldStopControllersOnClosing)return e.preventDefault(),e.returnValue=!1,this.progressService.activate(),await this.controllerManagement.stopAll(),this.shouldStopControllersOnClosing=!1,this.progressService.deactivate(),window.close(),!1}getData(){this.controllerService.get(+this.controllerId).then(e=>{this.controller=e})}addNewTemplate(){if(!this.controller){this.toasterService.error("Please select a controller first");return}let t=this.dialog.open(Jg,{width:"800px",maxHeight:"800px",autoFocus:!1,disableClose:!0,panelClass:["base-dialog-panel","configurator-dialog-panel","new-template-dialog-panel"]}).componentInstance;t.controller=this.controller,t.project=this.project}ngOnDestroy(){this.controllerStatusSubscription.unsubscribe(),this.routeSubscription.unsubscribe()}static \u0275fac=function(t){return new(t||n)};static \u0275cmp=F({type:n,selectors:[["app-default-layout"]],hostBindings:function(t,o){t&1&&_("beforeunload",function(a){return o.onBeforeUnload(a)},hr)},decls:92,vars:44,consts:[["menu","matMenu"],["mainMenu","matMenu"],[1,"header"],[1,"toolbar-primary"],["mat-icon-butto Line truncated
`),l(),s(2,"mat-dialog-content")(3,"mat-radio-group",2),_("change",function(o){T(e);let r=v();return E(r.selectInstallApplianceOption(o))}),s(4,"mat-radio-button",3),d(5," Yes "),l(),s(6,"mat-radio-button",3),d(7," No "),l()()(),s(8,"mat-dialog-actions",4)(9,"button",5),_("click",function(){T(e);let o=v();return E(o.closeDialog())}),d(10,"Cancel"),l(),s(11,"button",6),_("click",function(){T(e);let o=v();return E(o.isInstallAppliance=!o.isInstallAppliance)}),d(12,"Next"),l()()}if(n&2){let e=v();m(3),b("value",e.install_appliance),m(),b("value",!0)("checked",e.install_appliance),m(2),b("value",!1)("checked",!e.install_appliance)}}function FNe(n,i){if(n&1){let e=z();s(0,"h1",1),d(1,"Select image file(s) to upload"),l(),s(2,"mat-dialog-content")(3,"p",7)(4,"mat-icon",8),d(5,"info_outline"),l(),d(6," Uploads run in the background \u2014 you can navigate away freely. "),l(),s(7,"input",9,0),_("change",function(o){T(e);let r=v();return E(r.onFilesSelected(o))}),l()(),s(9,"mat-dialog-actions",4)(10,"button",5),_("click",function(){T(e);let o=v();return E(o.isInstallAppliance=!1)}),d(11,"Back"),l(),s(12,"button",6),_("click",function(){T(e);let o=Pe(8);return E(o.click())}),d(13,"Browse"),l()()}}var sT=(()=>{class n{controller;dialogRef;backgroundUploadService=f(XU);toasterService=f(te);cd=f(X);isInstallAppliance=!1;install_appliance=!1;constructor(e,t){this.controller=e,this.dialogRef=t}ngOnInit(){this.cd.markForCheck()}onFilesSelected(e){let t=e.target;if(!t.files||!t.files.length)return;let o=t.files.length;for(let a=0;a<o;a++)this.backgroundUploadService.queueFile(this.controller,t.files[a],this.install_appliance);t.value="";let r=o===1?"1 file":`${o} files`;this.toasterService.success(`${r} queued \u2014 uploading in the background`),this.dialogRef.close(!0)}selectInstallApplianceOption(e){this.install_appliance=e.value===!0,this.cd.markForCheck()}closeDialog(){this.dialogRef.close(!1)}static \u0275fac=function(t){return new(t||n)(Ye(vt),Ye(Ie))};static \u0275cmp=F({type:n,selectors:[["app-add-image-dialog"]],decls:2,vars:2,consts:[["fileInput",""],["mat-dialog-title",""],["name","install_appliances",3,"change","value"],[3,"value","checked"],["align","end"],["mat-button","",3,"click"],["mat-raised-button","","color","primary",3,"click"],[1,"add-image-dialog-hint"],[1,"add-image-dialog-hint-icon"],["type","file","accept",".bin,.image,.iol,.qcow2,.vmdk","multiple","",1,"add-image-dialog-file-input",3,"change"]],template:function(t,o){t&1&&(A(0,NNe,13,5),A(1,FNe,14,0)),t&2&&(O(o.isInstallAppliance?-1:0),m(),O(o.isInstallAppliance?1:-1))},dependencies:[ie,ve,Ne,Fe,yt,W,pe,oe,de,lo,Mo,Co],encapsulation:2,changeDetection:0})}return n})();function RNe(n,i){if(n&1&&(s(0,"li",5),d(1),l()),n&2){let e=i.$implicit,t=i.$index;m(),_i("",t+1,". ",e==null?null:e.filename)}}function LNe(n,i){if(n&1){let e=z();s(0,"h1",1),d(1,"Do you want delete all files?"),l(),s(2,"mat-dialog-content",2)(3,"p",3),d(4,"Your selected files"),l(),s(5,"ul",4),Z(6,RNe,2,2,"li",5,Ki),l()(),s(8,"mat-dialog-actions",6)(9,"button",7),_("click",function(){T(e);let o=v();return E(o.deleteAll())}),d(10,"Delete"),l(),s(11,"button",8),d(12,"Cancel"),l()()}if(n&2){let e=v();m(6),J(e.deleteData==null?null:e.deleteData.deleteFilesPaths)}}function BNe(n,i){n&1&&(s(0,"h1",9),d(1,"Please wait."),l(),s(2,"mat-dialog-content",10),R(3,"mat-spinner",11),l())}function VNe(n,i){if(n&1&&d(0),n&2){let e=v(),t=e.$implicit,o=e.$index;_i(" ",o+1,". ",t==null||t.error==null?null:t.error.message," ")}}function zNe(n,i){if(n&1&&(s(0,"li",5),A(1,VNe,1,2),l()),n&2){let e=i.$implicit;Ve("delete-files__list-item--error",e==null||e.error==null?null:e.error.message),m(),O(e!==null?1:-1)}}function jNe(n,i){if(n&1&&(s(0,"h5",14),d(1,"Images can't be deleted because image used in one or more template."),l(),s(2,"ul",4),Z(3,zNe,2,3,"li",15,Ki),l()),n&2){let e=v(2);m(3),J(e.deleteFliesDetails)}}function $Ne(n,i){if(n&1&&(s(0,"h5",12),d(1),l()),n&2){let e=v(2);m(),ee("",e.fileNotDeleted.length," Images deleted successfully.")}}function HNe(n,i){if(n&1){let e=z();s(0,"mat-dialog-content",2),A(1,jNe,5,0),A(2,$Ne,2,1,"h5",12),l(),s(3,"mat-dialog-actions",6)(4,"button",13),_("click",function(){T(e);let o=v();return E(o.dialogRef.close(!1))}),d(5,"Close"),l()()}if(n&2){let e=v();m(),O(e.deleteFliesDetails.length>0?1:-1),m(),O(e.fileNotDeleted.length>0?2:-1)}}var lT=(()=>{class n{deleteData;dialogRef;imageService=f(nd);toasterService=f(te);cd=f(X);isDelete=!1;isUsedFiles=!1;deleteFliesDetails=[];fileNotDeleted=[];constructor(e,t){this.deleteData=e,this.dialogRef=t}async deleteAll(){this.isDelete=!0,await this.deleteFile()}deleteFile(){let e=[];this.deleteData.deleteFilesPaths.forEach(t=>{e.push(this.imageService.deleteFile(this.deleteData.controller,t.filename).pipe(Hi(o=>bt(o))))}),to(e).subscribe({next:t=>{this.deleteFliesDetails=t.filter(o=>o!==null),this.fileNotDeleted=t.filter(o=>o===null),this.isUsedFiles=!0,this.isDelete=!0,this.cd.markForCheck()},error:t=>{let o=t.error?.message||t.mes Line truncated
`],encapsulation:2,changeDetection:0})}return n})(),EG=(()=>{class n{static \u0275fac=function(t){return new(t||n)};static \u0275mod=Gt({type:n});static \u0275inj=Ut({imports:[K6e,vi]})}return n})();function Y6e(n,i){if(n&1&&(s(0,"mat-option",4),d(1),l()),n&2){let e=i.$implicit,t=v();b("value",e),m(),ee(" ",t.displayFn()(e)," ")}}var DG=(()=>{class n{data=se(void 0);filteredData;typeName;autocompleteControl=new et;eltType=se(void 0);displayFn=se(void 0);filterFn=se(void 0);selectionChange=new _e;constructor(){}ngOnChanges(){this.filteredData=this.autocompleteControl.valueChanges.pipe(di(""),_t(e=>this.filterFn()(e,this.data())))}static \u0275fac=function(t){return new(t||n)};static \u0275cmp=F({type:n,selectors:[["app-autocomplete"]],inputs:{data:[1,"data"],eltType:[1,"eltType"],displayFn:[1,"displayFn"],filterFn:[1,"filterFn"]},outputs:{selectionChange:"selectionChange"},features:[mn],decls:9,vars:6,consts:[["auto","matAutocomplete"],[1,"input-field"],["type","text","matInput","",3,"matAutocomplete","formControl"],[3,"optionSelected","displayWith"],[3,"value"]],template:function(t,o){if(t&1&&(s(0,"mat-form-field",1)(1,"mat-label"),d(2),l(),R(3,"input",2),s(4,"mat-autocomplete",3,0),_("optionSelected",function(a){return o.selectionChange.emit(a.option.value)}),Z(6,Y6e,2,2,"mat-option",4,Ae),on(8,"async"),l()()),t&2){let r=Pe(5);m(2),j(o.eltType()),m(),b("matAutocomplete",r)("formControl",o.autocompleteControl),m(),b("displayWith",o.displayFn()),m(2),J(Un(8,4,o.filteredData))}},dependencies:[ie,Ze,Lt,At,It,rl,we,Me,it,Se,Ee,ra,Oa,Ct,er,Qr],styles:[".input-field[_ngcontent-%COMP%]{width:100%}"],changeDetection:0})}return n})();var Z6e=(n,i,e,t)=>({"status-uploading":n,"status-done":i,"status-error":e,"status-canceled":t});function J6e(n,i){return this.trackByTempId}function e8e(n,i){if(n&1&&(Le(0),d(1),Be()),n&2){let e=v(2);m(),_i(" Uploading ",e.activeCount," file",e.activeCount!==1?"s":""," ")}}function t8e(n,i){n&1&&(Le(0),d(1," Uploads complete "),Be())}function n8e(n,i){if(n&1&&R(0,"mat-progress-bar",6),n&2){let e=v(2);b("value",e.overallProgress)}}function i8e(n,i){n&1&&(Le(0),d(1,"check_circle"),Be())}function o8e(n,i){n&1&&(Le(0),d(1,"error"),Be())}function r8e(n,i){n&1&&(Le(0),d(1,"cancel"),Be())}function a8e(n,i){n&1&&(Le(0),d(1,"insert_drive_file"),Be())}function s8e(n,i){n&1&&(s(0,"span",15),d(1,"Queued"),l())}function l8e(n,i){if(n&1&&(s(0,"span",15),d(1),l()),n&2){let e=v().$implicit;m(),ee("",e.progress,"%")}}function c8e(n,i){n&1&&(s(0,"span",16),d(1,"Done"),l())}function d8e(n,i){if(n&1&&(s(0,"span",17),d(1),l()),n&2){let e=v().$implicit;m(),j(e.errorMessage||"Failed")}}function m8e(n,i){n&1&&(s(0,"span",18),d(1,"Canceled"),l())}function p8e(n,i){if(n&1){let e=z();s(0,"button",21),_("click",function(){T(e);let o=v().$implicit,r=v(3);return E(r.cancelUpload(o.tempId))}),s(1,"mat-icon"),d(2,"close"),l()()}}function u8e(n,i){if(n&1&&R(0,"mat-progress-bar",20),n&2){let e=v().$implicit;b("value",e.progress)}}function h8e(n,i){if(n&1){let e=z();s(0,"div",10)(1,"div",11)(2,"mat-icon",12),A(3,i8e,2,0,"ng-container"),A(4,o8e,2,0,"ng-container"),A(5,r8e,2,0,"ng-container"),A(6,a8e,2,0,"ng-container"),l(),s(7,"div",13),_("click",function(o){let r=T(e).$implicit,a=v(3);return E(a.navigateToFile(r,o))}),s(8,"span",14),d(9),l(),A(10,s8e,2,0,"span",15),A(11,l8e,2,1,"span",15),A(12,c8e,2,0,"span",16),A(13,d8e,2,1,"span",17),A(14,m8e,2,0,"span",18),l(),A(15,p8e,3,0,"button",19),l(),A(16,u8e,1,1,"mat-progress-bar",20),l()}if(n&2){let e=i.$implicit;Ve("dismissing",e.dismissing),m(2),b("ngClass",g1(16,Z6e,e.status==="uploading"||e.status==="queued",e.status==="uploaded",e.status==="error",e.status==="canceled")),m(),O(e.status==="uploaded"?3:-1),m(),O(e.status==="error"?4:-1),m(),O(e.status==="canceled"?5:-1),m(),O(e.status==="uploading"||e.status==="queued"?6:-1),m(2),b("title",e.filename),m(),j(e.filename),m(),O(e.status==="queued"?10:-1),m(),O(e.status==="uploading"?11:-1),m(),O(e.status==="uploaded"?12:-1),m(),O(e.status==="error"?13:-1),m(),O(e.status==="canceled"?14:-1),m(),O(e.status==="uploading"||e.status==="queued"?15:-1),m(),O(e.status==="uploading"||e.status==="queued"?16:-1)}}function f8e(n,i){if(n&1&&(s(0,"div",8),Z(1,h8e,17,21,"div",9,J6e,!0),l()),n&2){let e=v(2);m(),J(e.uploadList)}}function g8e(n,i){if(n&1){let e=z();s(0,"div",0)(1,"div",1),_("click",function(){T(e);let o=v();return E(o.toggleExpanded())}),s(2,"div",2)(3,"mat-icon",3),d(4,"cloud_upload"),l(),s(5,"span",4),A(6,e8e,2,2,"ng-container"),A(7,t8e,2,0,"ng-container"),l()(),s(8,"div",5),A(9,n8e,1,1,"mat-progress-bar",6),s(10,"mat-icon",7),d(11),l()()(),A(12,f8e,3,0,"div",8),l()}if(n&2){let e=v();m(6),O(e.activeCount>0?6:-1),m(),O(e.activeCount===0?7:-1),m(2),O(e.activeCount>0?9:-1),m(2),j(e.isExpanded()?"expand_more":"expand_less"),m(),O(e.isExpanded()?12:-1)}}var jT=(()=>{class n{imageUploadSessionService=f(g_);router=f(dt);uploads=new Map;isExpanded=ne(!0);subscription;ngOnInit(){this.subscription=this.imageUploadSessionService.event Line truncated
`)};let t=new sj.AttachAddon(this.socket);this.term.loadAddon(t),this.xtermService.initTerminal(this.term,this.fitAddon),this.fitAddon.fit(),this.term.focus(),this.term.attachCustomKeyEventHandler(o=>!((o.code==="KeyC"||o.code==="KeyV")&&o.ctrlKey&&o.shiftKey)),this.xtermService.settingsChanged$.pipe(tt(this.destroy$)).subscribe(()=>{this.xtermService.applySettingsToTerminal(this.term,this.fitAddon,this.cdr)}),this.contextMenuCleanup=this.contextMenuService.attachContextMenu(this.term,e.nativeElement)},0)}ngOnDestroy(){this.destroy$.next(),this.destroy$.complete(),this.socket&&(this.socket.close(),this.socket=null),this.contextMenuCleanup&&(this.contextMenuCleanup(),this.contextMenuCleanup=null),this.term&&this.term.dispose()}static \u0275fac=function(t){return new(t||n)};static \u0275cmp=F({type:n,selectors:[["app-web-console-full-window"]],viewQuery:function(t,o){t&1&&Xt(o.terminal,DEe,5),t&2&&Kt()},decls:2,vars:0,consts:[["terminal",""],[1,"terminal",2,"width","100%","height","100%"]],template:function(t,o){t&1&&bs(0,"div",1,0)},dependencies:[ne],styles:["[_nghost-%COMP%]{display:block;width:100vw;height:100vh;overflow:hidden}.terminal[_ngcontent-%COMP%]{width:100%;height:100%}"],changeDetection:0})}return n})();var lM=(()=>{class n{consoleService;bottomSheet;constructor(e,t){this.consoleService=e,this.bottomSheet=t}canDeactivate(){return this.consoleService.openConsoles>0?this.bottomSheet.open(Wa,{data:{message:"Exiting the project will close open consoles, do you want to continue?"},panelClass:"confirmation-bottom-sheet"}).afterDismissed():!0}static \u0275fac=function(t){return new(t||n)(ge(rr),ge(Gl))};static \u0275prov=J({token:n,factory:n.\u0275fac})}return n})();var ni=(()=>{class n{controllerService;loginService;router;constructor(e,t,o){this.controllerService=e,this.loginService=t,this.router=o}async canActivate(e,t){let o=e.paramMap.get("controller_id");this.loginService.controller_id=o;let r=await this.controllerService.get(parseInt(o,10));try{await this.loginService.getLoggedUser(r)}catch{}return this.controllerService.get(parseInt(o,10)).then(a=>{if(a.authToken&&!a.tokenExpired)return!0;this.router.navigate(["/controller",a.id,"login"],{queryParams:{returnUrl:t.url}})})}static \u0275fac=function(t){return new(t||n)(ge(Je),ge(dl),ge(ht))};static \u0275prov=J({token:n,factory:n.\u0275fac})}return n})();var Er=(()=>{class n{httpController;constructor(e){this.httpController=e}getInformationAboutLoggedUser(e){return this.httpController.get(e,"/access/users/me/")}get(e,t){return this.httpController.get(e,`/access/users/${t}`)}list(e){return this.httpController.get(e,"/access/users")}add(e,t){return this.httpController.post(e,"/access/users",t)}delete(e,t){return this.httpController.delete(e,`/access/users/${t}`)}update(e,t,o){return o?this.httpController.put(e,"/access/users/me",t):this.httpController.put(e,`/access/users/${t.user_id}`,t)}getGroupsByUserId(e,t){return this.httpController.get(e,`/access/users/${t}/groups`)}static \u0275fac=function(t){return new(t||n)(ge(mn))};static \u0275prov=J({token:n,factory:n.\u0275fac})}return n})();function cM(n){if(n.get("password").value!==n.get("confirmPassword").value){n.get("confirmPassword").setErrors({confirmPasswordMatch:!0});return}}function IEe(n,i){n&1&&(s(0,"mat-error"),d(1,"Password must be at least 8 characters long and contain at least one digit, one lowercase letter and one uppercase letter."),l())}function AEe(n,i){n&1&&(s(0,"mat-error"),d(1,"Password and Confirm password must be the same."),l())}var Sg=(()=>{class n{dialogRef=f(Ie);userService=f(Er);toasterService=f(te);cd=f(Q);data=f(gt);user=ae(this.data.user);editPasswordForm=new gr({password:new Ye(null,[Ue.minLength(6),Ue.maxLength(100),Ue.pattern(/^(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,}$/),Ue.required]),confirmPassword:new Ye(null,[Ue.minLength(6),Ue.maxLength(100),Ue.pattern(/^(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,}$/),Ue.required])},{validators:[cM]});constructor(){}get passwordForm(){return this.editPasswordForm.controls}onCancel(){this.dialogRef.close()}onPasswordSave(){if(!this.editPasswordForm.valid)return;let e={};e.password=this.editPasswordForm.get("password").value,e.user_id=this.user().user_id,this.userService.update(this.data.controller,e,this.data.self_update).subscribe({next:t=>{this.toasterService.success(`User ${t.username} password updated`),this.editPasswordForm.reset(),this.dialogRef.close(!0),this.cd.markForCheck()},error:t=>{let o=t.error?.message||t.message||"Failed to update password";this.toasterService.error(o),this.cd.markForCheck()}})}static \u0275fac=function(t){return new(t||n)};static \u0275cmp=F({type:n,selectors:[["app-change-user-password"]],decls:15,vars:5,consts:[["mat-dialog-title",""],[1,"input-field",3,"formGroup"],[1,"input-field"],["matInput","","type","password","formControlName","password","placeholder","Password"],["matInput","","type","password","formControlName","confirmPassword","placeholder","Confirm Password"],["mat-dialog-actions","",1,"butto Line truncated
`),l(),s(4,"mat-dialog-content",1)(5,"mat-card",2)(6,"mat-card-content")(7,"p",3)(8,"mat-icon",4),d(9,"info"),l(),s(10,"strong"),d(11,"OpenAI-Compatible Only:"),l(),d(12," GNS3 currently supports only OpenAI-compatible LLM APIs. Ensure your provider and model use the OpenAI API format (e.g., OpenAI, DeepSeek, OpenRouter, Ollama with OpenAI compatibility). "),l()()(),s(13,"div",5)(14,"h3"),d(15,"Basic Configuration"),l(),s(16,"div",6)(17,"h4"),d(18,"Configuration Name"),l(),s(19,"p"),d(20,"A unique identifier for this LLM model configuration."),l(),s(21,"ul")(22,"li")(23,"strong"),d(24,"Format:"),l(),d(25," 1-100 characters"),l(),s(26,"li")(27,"strong"),d(28,"Allowed characters:"),l(),d(29," Letters, numbers, underscores, and hyphens"),l(),s(30,"li")(31,"strong"),d(32,"Example:"),l(),s(33,"code"),d(34,"gpt-4o-config"),l(),d(35,", "),s(36,"code"),d(37,"claude-3-5-sonnet"),l()()()(),s(38,"div",6)(39,"h4"),d(40,"Model Type"),l(),s(41,"p"),d(42,"The category of AI model for this configuration."),l(),s(43,"mat-card",7)(44,"mat-card-content")(45,"p",3)(46,"mat-icon",4),d(47,"info"),l(),d(48," Currently fixed to "),s(49,"strong"),d(50,"text"),l(),d(51,". This field is reserved for future use when additional model types become supported. "),l()()()()(),s(52,"div",5)(53,"h3"),d(54,"API Configuration"),l(),s(55,"div",6)(56,"h4"),d(57,"Model Provider"),l(),s(58,"p"),d(59,"The LLM provider identifier for API communication."),l(),s(60,"p"),d(61," Enter the provider that matches your API endpoint. Common values include "),s(62,"code"),d(63,"openai"),l(),d(64,", "),s(65,"code"),d(66,"anthropic"),l(),d(67,", "),s(68,"code"),d(69,"ollama"),l(),d(70,", "),s(71,"code"),d(72,"deepseek"),l(),d(73,". "),l(),s(74,"p"),d(75,"For OpenAI-compatible APIs, use "),s(76,"code"),d(77,"openai"),l(),d(78," as the provider and customize the Base URL."),l()(),s(79,"div",6)(80,"h4"),d(81,"Base URL"),l(),s(82,"p"),d(83,"The API endpoint URL for the provider."),l(),s(84,"ul")(85,"li"),d(86,"Enter the full URL of the API endpoint"),l(),s(87,"li")(88,"strong"),d(89,"Examples:"),l(),s(90,"code"),d(91,"https://api.openai.com/v1"),l(),d(92,", "),s(93,"code"),d(94,"http://localhost:11434/v1"),l()()()(),s(95,"div",6)(96,"h4"),d(97,"Model Name"),l(),s(98,"p"),d(99,"The specific model to use."),l(),s(100,"p"),d(101,"Enter the model identifier exactly as required by the provider's API."),l(),s(102,"p")(103,"strong"),d(104,"Examples:"),l(),s(105,"code"),d(106,"gpt-4o"),l(),d(107,", "),s(108,"code"),d(109,"claude-sonnet-4"),l(),d(110,", "),s(111,"code"),d(112,"deepseek-v4-pro"),l(),d(113,", "),s(114,"code"),d(115,"llama-3-70b"),l()()(),s(116,"div",6)(117,"h4"),d(118,"API Key"),l(),s(119,"p"),d(120,"Your authentication key for accessing the API."),l(),s(121,"ul")(122,"li")(123,"strong"),d(124,"Create mode:"),l(),d(125," Required field, minimum 10 characters"),l(),s(126,"li")(127,"strong"),d(128,"Edit mode:"),l(),d(129," Leave empty to keep existing key"),l()(),s(130,"mat-card",8)(131,"mat-card-content")(132,"p",3)(133,"mat-icon",4),d(134,"lock"),l(),d(135," API keys are encrypted on the server for security. "),l()()()()(),s(136,"div",5)(137,"h3"),d(138,"Model Parameters"),l(),s(139,"div",6)(140,"h4"),d(141,"Temperature"),l(),s(142,"p"),d(143,"Controls the randomness of the model's responses."),l(),s(144,"ul")(145,"li")(146,"strong"),d(147,"Range:"),l(),d(148," 0.0 to 2.0"),l(),s(149,"li")(150,"strong"),d(151,"Lower values (0.0-0.3):"),l(),d(152," More focused, deterministic output"),l(),s(153,"li")(154,"strong"),d(155,"Higher values (0.7-2.0):"),l(),d(156," More creative, diverse output"),l(),s(157,"li")(158,"strong"),d(159,"Recommended:"),l(),d(160," 0.3 for technical tasks, 0.7 for creative tasks"),l()()(),s(161,"div",6)(162,"h4"),d(163,"Context Limit"),l(),s(164,"p"),d(165,"The maximum context window size in thousands (K) of tokens."),l(),s(166,"ul")(167,"li")(168,"strong"),d(169,"Range:"),l(),d(170," 1 to 10000"),l(),s(171,"li")(172,"strong"),d(173,"Unit:"),l(),d(174," K tokens (e.g., 128 = 128K tokens)"),l(),s(175,"li")(176,"strong"),d(177,"Meaning:"),l(),d(178," Maximum amount of text the model can consider"),l()(),s(179,"p",9),d(180,"Different models have different context limits. Check your model's documentation."),l()(),s(181,"div",6)(182,"h4"),d(183,"Context Strategy"),l(),s(184,"p"),d(185,"Determines how aggressively the system uses the available context limit."),l(),s(186,"table",10)(187,"thead")(188,"tr")(189,"th"),d(190,"Strategy"),l(),s(191,"th"),d(192,"Usage"),l()()(),s(193,"tbody")(194,"tr")(195,"td")(196,"strong"),d(197,"Conservative"),l()(),s(198,"td"),d(199,"60% of context limit (safer, more reserved)"),l()(),s(200,"tr")(201,"td")(202,"strong"),d(203,"Balanced"),l()(),s(204,"td"),d(205,"75% of context limit (recommended)"),l()(),s(206,"tr")(207,"td")(208,"strong"),d(209,"Aggressive"),l()(),s(210,"td"),d(211,"85% of context limit (maximizes capacity)"),l()()()()(),s(212,"div",6)(213,"h4"),d(214,"Copilot Mode"),l(),s(215,"p"),d(216,"Determ Line truncated
`),m(2),C("formGroup",o.form),m(2),oc("value",o.configMode),m(14),O(o.configMode==="basic"?19:-1),m(),O(o.configMode==="custom"?20:-1),m(4),C("disabled",o.form.invalid),m(),ee(" ",o.mode==="create"?"Create":"Save"," "))},dependencies:[ne,Dt,at,Ft,_r,Pt,rt,dc,Xu,Rt,zt,a4,s4,_e,Ne,Fe,bt,DC,$4,H4,ie,de,we,Me,et,MC,fi,Se,Ee,vt,At,_t,Fo,Ot,Gt,W,pe,je,wt,It,Mt],styles:['.config-form[_ngcontent-%COMP%] .full-width[_ngcontent-%COMP%]{width:100%;margin-bottom:12px}.config-form[_ngcontent-%COMP%] .section-header[_ngcontent-%COMP%]{margin-top:16px;margin-bottom:16px}.config-form[_ngcontent-%COMP%] .section-header[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{margin:0;font-size:18px;font-weight:600;color:var(--mat-sys-primary)}.config-form[_ngcontent-%COMP%] .help-icon[_ngcontent-%COMP%]{display:inline-flex;vertical-align:middle;width:18px;height:18px;margin-left:4px}.config-form[_ngcontent-%COMP%] .help-icon[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:18px;width:18px;height:18px;color:var(--mat-sys-on-surface-variant)}.config-form[_ngcontent-%COMP%] .help-icon[_ngcontent-%COMP%]:hover mat-icon[_ngcontent-%COMP%]{color:var(--mat-sys-primary)}.config-form[_ngcontent-%COMP%] .row[_ngcontent-%COMP%]{display:flex;gap:12px;margin-bottom:12px}.config-form[_ngcontent-%COMP%] .row[_ngcontent-%COMP%] .half-width[_ngcontent-%COMP%]{flex:1;min-width:0}.config-form[_ngcontent-%COMP%] .checkbox-section[_ngcontent-%COMP%]{margin:16px 0}.config-form[_ngcontent-%COMP%] .checkbox-section[_ngcontent-%COMP%] mat-checkbox[_ngcontent-%COMP%]{display:block}.config-form[_ngcontent-%COMP%] .option-hint[_ngcontent-%COMP%]{color:var(--mat-sys-on-surface-variant);font-size:14px}.config-form[_ngcontent-%COMP%] .existing-key-hint[_ngcontent-%COMP%]{color:var(--mat-sys-primary);font-size:12px}.config-form[_ngcontent-%COMP%] .warning-hint[_ngcontent-%COMP%]{color:var(--mat-sys-on-surface-variant);font-size:14px}.config-form[_ngcontent-%COMP%] .custom-fields-section[_ngcontent-%COMP%]{margin-top:16px;padding-top:16px;border-top:1px solid var(--mat-sys-outline-variant)}.config-form[_ngcontent-%COMP%] .custom-fields-section[_ngcontent-%COMP%] .section-header[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.config-form[_ngcontent-%COMP%] .custom-fields-section[_ngcontent-%COMP%] .section-header[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{margin:0;font-size:16px;font-weight:500;color:var(--mat-sys-on-surface)}.config-form[_ngcontent-%COMP%] .custom-fields-section[_ngcontent-%COMP%] .section-header[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{width:40px;height:40px;padding:8px;transition:all .2s cubic-bezier(.4,0,.2,1);border-radius:50%;display:inline-flex;align-items:center;justify-content:center;position:relative}.config-form[_ngcontent-%COMP%] .custom-fields-section[_ngcontent-%COMP%] .section-header[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:before{content:"";position:absolute;width:100%;height:100%;border-radius:50%;background-color:currentColor;opacity:0;transition:opacity .2s cubic-bezier(.4,0,.2,1);transform:scale(.75)}.config-form[_ngcontent-%COMP%] .custom-fields-section[_ngcontent-%COMP%] .section-header[_ngcontent-%COMP%] button[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:24px;width:24px;height:24px;transition:transform .2s cubic-bezier(.4,0,.2,1);position:relative;z-index:1}.config-form[_ngcontent-%COMP%] .custom-fields-section[_ngcontent-%COMP%] .section-header[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:hover:before{opacity:1;background-color:var(--mat-sys-primary-container)}.config-form[_ngcontent-%COMP%] .custom-fields-section[_ngcontent-%COMP%] .section-header[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:hover mat-icon[_ngcontent-%COMP%]{color:var(--mat-sys-primary);transform:scale(1.1)}.config-form[_ngcontent-%COMP%] .custom-fields-section[_ngcontent-%COMP%] .section-description[_ngcontent-%COMP%]{margin-bottom:16px}.config-form[_ngcontent-%COMP%] .custom-fields-section[_ngcontent-%COMP%] .section-description[_ngcontent-%COMP%] .reserved-field-hint[_ngcontent-%COMP%]{margin:0;font-size:14px;color:var(--mat-sys-on-surface-variant);font-style:italic}.config-form[_ngcontent-%COMP%] .custom-fields-section[_ngcontent-%COMP%] .custom-fields-list[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:12px}.config-form[_ngcontent-%COMP%] .custom-fields-section[_ngcontent-%COMP%] .custom-fields-list[_ngcontent-%COMP%] .custom-field-row[_ngcontent-%COMP%]{display:flex;align-items:flex-start;gap:8px}.config-form[_ngcontent-%COMP%] .custom-fields-section[_ngcontent-%COMP%] .custom-fields-list[_ngcontent-%COMP%] .custom-field-row[_ngcontent-%COMP%] .field-key[_ngcontent-%COMP%], .config-form[_ngcontent-%COMP%] .custom-fields-section[_ngcontent-%COMP%] .custom-fields-list[_ngcontent-%COMP%] .custom-field-row[_ngcontent-%COMP%] .field-value[_ngcontent-%COMP%]{f Line truncated
`],encapsulation:2,changeDetection:0})}return n})();var pM=(()=>{class n{static \u0275fac=function(t){return new(t||n)};static \u0275mod=Ht({type:n});static \u0275inj=$t({imports:[hi]})}return n})();var ePe=n=>["controller",n,"systemstatus"],tPe=n=>["controller",n,"settings"],nPe=n=>["controller",n,"management","users"],iPe=n=>["controller",n,"help"],oPe=()=>["/controllers"],rPe=n=>["/controller",n,"projects"],aPe=n=>["controller",n,"preferences"],sPe=n=>["controller",n,"computes"],lPe=n=>["controller",n,"image-manager"];function cPe(n,i){if(n&1){let e=z();s(0,"button",14),g("click",function(){k(e);let o=v();return T(o.listProjects())}),d(1,"Projects"),l()}}function dPe(n,i){if(n&1){let e=z();s(0,"button",15),g("click",function(){k(e);let o=v();return T(o.backToProject())}),d(1,"Back to project"),l()}}var uM=(()=>{class n{isInstalledSoftwareAvailable=!1;isLoginPage=!1;routeSubscription;controllerStatusSubscription;shouldStopControllersOnClosing=!0;recentlyOpenedcontrollerId;recentlyOpenedProjectId;controllerIdProjectList;controllerId;controller;project;projectMapSubscription=new So;recentlyOpenedProjectService=f(qd);controllerManagement=f(yg);toasterService=f(te);userService=f(Er);progressService=f(no);dialog=f(nt);router=f(ht);route=f(lt);controllerService=f(Je);projectService=f(ki);cd=f(Q);connectionManager=f(Tm);ngOnInit(){this.routeSubscription=this.router.events.pipe(ai(e=>e instanceof bp)).subscribe(()=>{this.controllerId=this.getParamFromRoute(this.route,"controller_id"),this.getData(),this.checkIfUserIsLoginPage(),this.cd.markForCheck()}),this.controllerId=this.getParamFromRoute(this.route,"controller_id"),this.getData(),this.recentlyOpenedcontrollerId=this.recentlyOpenedProjectService.getcontrollerId(),this.recentlyOpenedProjectId=this.recentlyOpenedProjectService.getProjectId(),this.controllerIdProjectList=this.recentlyOpenedProjectService.getcontrollerIdProjectList(),this.isInstalledSoftwareAvailable=!1,this.controllerStatusSubscription=this.controllerManagement.controllerStatusChanged.subscribe(e=>{e.status==="errored"&&(console.error(e.message),this.toasterService.error(e.message)),e.status==="stderr"&&(console.error(e.message),this.toasterService.error(e.message))}),this.shouldStopControllersOnClosing=!1}getParamFromRoute(e,t){let o=e;for(;o.firstChild;){o=o.firstChild;let r=o.snapshot.paramMap.get(t);if(r)return r}return o.snapshot.paramMap.get(t)}openLoggedUserDialog(){this.dialog.open(cj,{panelClass:["base-dialog-panel"],autoFocus:!1,data:{controllerId:+this.controllerId}})}openApiKeyManagementDialog(){this.controllerService.get(+this.controllerId).then(e=>{this.dialog.open(hj,{panelClass:["base-dialog-panel","configurator-dialog-panel"],autoFocus:!1,data:{controller:e}})})}openAiProfileDialog(){this.controllerService.get(+this.controllerId).then(e=>{this.userService.getInformationAboutLoggedUser(e).subscribe(t=>{this.dialog.open(mM,{panelClass:["base-dialog-panel","configurator-dialog-panel"],autoFocus:!1,data:{user:t,controller:e}})})})}goToDocumentation(){this.controllerService.get(+this.controllerId).then(e=>{window.open(`${e.protocol}//${e.host}:${e.port}/docs`)})}checkIfUserIsLoginPage(){this.router.url.includes("login")?this.isLoginPage=!0:this.isLoginPage=!1}logout(){this.controllerService.get(+this.controllerId).then(e=>{localStorage.removeItem(`refresh_token_${e.id}`),e.authToken=null,this.controllerService.update(e).then(t=>{this.connectionManager.disconnect(),this.router.navigate(["/controller",e.id,"login"])})})}listProjects(){this.router.navigate(["/controller",this.controllerIdProjectList,"projects"]).catch(e=>this.toasterService.error("Cannot list projects"))}backToProject(){this.router.navigate(["/controller",this.recentlyOpenedcontrollerId,"project",this.recentlyOpenedProjectId]).catch(e=>this.toasterService.error("Cannot navigate to the last opened project"))}async onBeforeUnload(e){if(this.shouldStopControllersOnClosing)return e.preventDefault(),e.returnValue=!1,this.progressService.activate(),await this.controllerManagement.stopAll(),this.shouldStopControllersOnClosing=!1,this.progressService.deactivate(),window.close(),!1}getData(){this.controllerService.get(+this.controllerId).then(e=>{this.controller=e})}addNewTemplate(){if(!this.controller){this.toasterService.error("Please select a controller first");return}let t=this.dialog.open(cg,{width:"800px",maxHeight:"800px",autoFocus:!1,disableClose:!0,panelClass:["base-dialog-panel","configurator-dialog-panel","new-template-dialog-panel"]}).componentInstance;t.controller=this.controller,t.project=this.project}ngOnDestroy(){this.controllerStatusSubscription.unsubscribe(),this.routeSubscription.unsubscribe()}static \u0275fac=function(t){return new(t||n)};static \u0275cmp=F({type:n,selectors:[["app-default-layout"]],hostBindings:function(t,o){t&1&&g("beforeunload",function(a){return o.onBeforeUnload(a)},lr)},decls:92,vars:44,consts:[["menu","matMenu"],["mainMenu","matMenu"],[1,"header"],[1,"toolbar-primary"],["mat-icon-butto Line truncated
`),l(),s(2,"mat-dialog-content")(3,"mat-radio-group",2),g("change",function(o){k(e);let r=v();return T(r.selectInstallApplianceOption(o))}),s(4,"mat-radio-button",3),d(5," Yes "),l(),s(6,"mat-radio-button",3),d(7," No "),l()()(),s(8,"mat-dialog-actions",4)(9,"button",5),g("click",function(){k(e);let o=v();return T(o.closeDialog())}),d(10,"Cancel"),l(),s(11,"button",6),g("click",function(){k(e);let o=v();return T(o.isInstallAppliance=!o.isInstallAppliance)}),d(12,"Next"),l()()}if(n&2){let e=v();m(3),C("value",e.install_appliance),m(),C("value",!0)("checked",e.install_appliance),m(2),C("value",!1)("checked",!e.install_appliance)}}function CIe(n,i){if(n&1){let e=z();s(0,"h1",1),d(1,"Select image file(s) to upload"),l(),s(2,"mat-dialog-content")(3,"p",7)(4,"mat-icon",8),d(5,"info_outline"),l(),d(6," Uploads run in the background \u2014 you can navigate away freely. "),l(),s(7,"input",9,0),g("change",function(o){k(e);let r=v();return T(r.onFilesSelected(o))}),l()(),s(9,"mat-dialog-actions",4)(10,"button",5),g("click",function(){k(e);let o=v();return T(o.isInstallAppliance=!1)}),d(11,"Back"),l(),s(12,"button",6),g("click",function(){k(e);let o=Pe(8);return T(o.click())}),d(13,"Browse"),l()()}}var CM=(()=>{class n{controller;dialogRef;backgroundUploadService=f(_j);toasterService=f(te);cd=f(Q);isInstallAppliance=!1;install_appliance=!1;constructor(e,t){this.controller=e,this.dialogRef=t}ngOnInit(){this.cd.markForCheck()}onFilesSelected(e){let t=e.target;if(!t.files||!t.files.length)return;let o=t.files.length;for(let a=0;a<o;a++)this.backgroundUploadService.queueFile(this.controller,t.files[a],this.install_appliance);t.value="";let r=o===1?"1 file":`${o} files`;this.toasterService.success(`${r} queued \u2014 uploading in the background`),this.dialogRef.close(!0)}selectInstallApplianceOption(e){this.install_appliance=e.value===!0,this.cd.markForCheck()}closeDialog(){this.dialogRef.close(!1)}static \u0275fac=function(t){return new(t||n)(ot(gt),ot(Ie))};static \u0275cmp=F({type:n,selectors:[["app-add-image-dialog"]],decls:2,vars:2,consts:[["fileInput",""],["mat-dialog-title",""],["name","install_appliances",3,"change","value"],[3,"value","checked"],["align","end"],["mat-button","",3,"click"],["mat-raised-button","","color","primary",3,"click"],[1,"add-image-dialog-hint"],[1,"add-image-dialog-hint-icon"],["type","file","accept",".bin,.image,.iol,.qcow2,.vmdk","multiple","",1,"add-image-dialog-file-input",3,"change"]],template:function(t,o){t&1&&(A(0,vIe,13,5),A(1,CIe,14,0)),t&2&&(O(o.isInstallAppliance?-1:0),m(),O(o.isInstallAppliance?1:-1))},dependencies:[ne,_e,Ne,Fe,bt,W,pe,ie,de,io,xo,ho],encapsulation:2,changeDetection:0})}return n})();function bIe(n,i){if(n&1&&(s(0,"li",5),d(1),l()),n&2){let e=i.$implicit,t=i.$index;m(),ui("",t+1,". ",e==null?null:e.filename)}}function xIe(n,i){if(n&1){let e=z();s(0,"h1",1),d(1,"Do you want delete all files?"),l(),s(2,"mat-dialog-content",2)(3,"p",3),d(4,"Your selected files"),l(),s(5,"ul",4),Y(6,bIe,2,2,"li",5,Hi),l()(),s(8,"mat-dialog-actions",6)(9,"button",7),g("click",function(){k(e);let o=v();return T(o.deleteAll())}),d(10,"Delete"),l(),s(11,"button",8),d(12,"Cancel"),l()()}if(n&2){let e=v();m(6),Z(e.deleteData==null?null:e.deleteData.deleteFilesPaths)}}function yIe(n,i){n&1&&(s(0,"h1",9),d(1,"Please wait."),l(),s(2,"mat-dialog-content",10),R(3,"mat-spinner",11),l())}function SIe(n,i){if(n&1&&d(0),n&2){let e=v(),t=e.$implicit,o=e.$index;ui(" ",o+1,". ",t==null||t.error==null?null:t.error.message," ")}}function wIe(n,i){if(n&1&&(s(0,"li",5),A(1,SIe,1,2),l()),n&2){let e=i.$implicit;Be("delete-files__list-item--error",e==null||e.error==null?null:e.error.message),m(),O(e!==null?1:-1)}}function MIe(n,i){if(n&1&&(s(0,"h5",14),d(1,"Images can't be deleted because image used in one or more template."),l(),s(2,"ul",4),Y(3,wIe,2,3,"li",15,Hi),l()),n&2){let e=v(2);m(3),Z(e.deleteFliesDetails)}}function kIe(n,i){if(n&1&&(s(0,"h5",12),d(1),l()),n&2){let e=v(2);m(),ee("",e.fileNotDeleted.length," Images deleted successfully.")}}function TIe(n,i){if(n&1){let e=z();s(0,"mat-dialog-content",2),A(1,MIe,5,0),A(2,kIe,2,1,"h5",12),l(),s(3,"mat-dialog-actions",6)(4,"button",13),g("click",function(){k(e);let o=v();return T(o.dialogRef.close(!1))}),d(5,"Close"),l()()}if(n&2){let e=v();m(),O(e.deleteFliesDetails.length>0?1:-1),m(),O(e.fileNotDeleted.length>0?2:-1)}}var bM=(()=>{class n{deleteData;dialogRef;imageService=f(Lc);toasterService=f(te);cd=f(Q);isDelete=!1;isUsedFiles=!1;deleteFliesDetails=[];fileNotDeleted=[];constructor(e,t){this.deleteData=e,this.dialogRef=t}async deleteAll(){this.isDelete=!0,await this.deleteFile()}deleteFile(){let e=[];this.deleteData.deleteFilesPaths.forEach(t=>{e.push(this.imageService.deleteFile(this.deleteData.controller,t.filename).pipe(po(o=>Nn(o))))}),qi(e).subscribe({next:t=>{this.deleteFliesDetails=t.filter(o=>o!==null),this.fileNotDeleted=t.filter(o=>o===null),this.isUsedFiles=!0,this.isDelete=!0,this.cd.markForCheck()},error:t=>{let o=t.error?.message||t.mes Line truncated
`],encapsulation:2,changeDetection:0})}return n})(),Kj=(()=>{class n{static \u0275fac=function(t){return new(t||n)};static \u0275mod=Ht({type:n});static \u0275inj=$t({imports:[N4e,hi]})}return n})();function F4e(n,i){if(n&1&&(s(0,"mat-option",4),d(1),l()),n&2){let e=i.$implicit,t=v();C("value",e),m(),ee(" ",t.displayFn()(e)," ")}}var Yj=(()=>{class n{data=le(void 0);filteredData;typeName;autocompleteControl=new Ye;eltType=le(void 0);displayFn=le(void 0);filterFn=le(void 0);selectionChange=new ve;constructor(){}ngOnChanges(){this.filteredData=this.autocompleteControl.valueChanges.pipe(pi(""),Lt(e=>this.filterFn()(e,this.data())))}static \u0275fac=function(t){return new(t||n)};static \u0275cmp=F({type:n,selectors:[["app-autocomplete"]],inputs:{data:[1,"data"],eltType:[1,"eltType"],displayFn:[1,"displayFn"],filterFn:[1,"filterFn"]},outputs:{selectionChange:"selectionChange"},features:[bn],decls:9,vars:6,consts:[["auto","matAutocomplete"],[1,"input-field"],["type","text","matInput","",3,"matAutocomplete","formControl"],[3,"optionSelected","displayWith"],[3,"value"]],template:function(t,o){if(t&1&&(s(0,"mat-form-field",1)(1,"mat-label"),d(2),l(),R(3,"input",2),s(4,"mat-autocomplete",3,0),g("optionSelected",function(a){return o.selectionChange.emit(a.option.value)}),Y(6,F4e,2,2,"mat-option",4,Ae),en(8,"async"),l()()),t&2){let r=Pe(5);m(2),j(o.eltType()),m(),C("matAutocomplete",r)("formControl",o.autocompleteControl),m(),C("displayWith",o.displayFn()),m(2),Z(jn(8,4,o.filteredData))}},dependencies:[ne,Xe,Ft,Pt,Dt,Hs,we,Me,et,Se,Ee,Yr,Sa,_t,Ko,zr],styles:[".input-field[_ngcontent-%COMP%]{width:100%}"],changeDetection:0})}return n})();var R4e=(n,i,e,t)=>({"status-uploading":n,"status-done":i,"status-error":e,"status-canceled":t});function L4e(n,i){return this.trackByTempId}function V4e(n,i){if(n&1&&(Le(0),d(1),Ve()),n&2){let e=v(2);m(),ui(" Uploading ",e.activeCount," file",e.activeCount!==1?"s":""," ")}}function B4e(n,i){n&1&&(Le(0),d(1," Uploads complete "),Ve())}function z4e(n,i){if(n&1&&R(0,"mat-progress-bar",6),n&2){let e=v(2);C("value",e.overallProgress)}}function j4e(n,i){n&1&&(Le(0),d(1,"check_circle"),Ve())}function $4e(n,i){n&1&&(Le(0),d(1,"error"),Ve())}function H4e(n,i){n&1&&(Le(0),d(1,"cancel"),Ve())}function U4e(n,i){n&1&&(Le(0),d(1,"insert_drive_file"),Ve())}function G4e(n,i){n&1&&(s(0,"span",15),d(1,"Queued"),l())}function W4e(n,i){if(n&1&&(s(0,"span",15),d(1),l()),n&2){let e=v().$implicit;m(),ee("",e.progress,"%")}}function q4e(n,i){n&1&&(s(0,"span",16),d(1,"Done"),l())}function Q4e(n,i){if(n&1&&(s(0,"span",17),d(1),l()),n&2){let e=v().$implicit;m(),j(e.errorMessage||"Failed")}}function X4e(n,i){n&1&&(s(0,"span",18),d(1,"Canceled"),l())}function K4e(n,i){if(n&1){let e=z();s(0,"button",21),g("click",function(){k(e);let o=v().$implicit,r=v(3);return T(r.cancelUpload(o.tempId))}),s(1,"mat-icon"),d(2,"close"),l()()}}function Y4e(n,i){if(n&1&&R(0,"mat-progress-bar",20),n&2){let e=v().$implicit;C("value",e.progress)}}function Z4e(n,i){if(n&1){let e=z();s(0,"div",10)(1,"div",11)(2,"mat-icon",12),A(3,j4e,2,0,"ng-container"),A(4,$4e,2,0,"ng-container"),A(5,H4e,2,0,"ng-container"),A(6,U4e,2,0,"ng-container"),l(),s(7,"div",13),g("click",function(o){let r=k(e).$implicit,a=v(3);return T(a.navigateToFile(r,o))}),s(8,"span",14),d(9),l(),A(10,G4e,2,0,"span",15),A(11,W4e,2,1,"span",15),A(12,q4e,2,0,"span",16),A(13,Q4e,2,1,"span",17),A(14,X4e,2,0,"span",18),l(),A(15,K4e,3,0,"button",19),l(),A(16,Y4e,1,1,"mat-progress-bar",20),l()}if(n&2){let e=i.$implicit;Be("dismissing",e.dismissing),m(2),C("ngClass",nC(16,R4e,e.status==="uploading"||e.status==="queued",e.status==="uploaded",e.status==="error",e.status==="canceled")),m(),O(e.status==="uploaded"?3:-1),m(),O(e.status==="error"?4:-1),m(),O(e.status==="canceled"?5:-1),m(),O(e.status==="uploading"||e.status==="queued"?6:-1),m(2),C("title",e.filename),m(),j(e.filename),m(),O(e.status==="queued"?10:-1),m(),O(e.status==="uploading"?11:-1),m(),O(e.status==="uploaded"?12:-1),m(),O(e.status==="error"?13:-1),m(),O(e.status==="canceled"?14:-1),m(),O(e.status==="uploading"||e.status==="queued"?15:-1),m(),O(e.status==="uploading"||e.status==="queued"?16:-1)}}function J4e(n,i){if(n&1&&(s(0,"div",8),Y(1,Z4e,17,21,"div",9,L4e,!0),l()),n&2){let e=v(2);m(),Z(e.uploadList)}}function e5e(n,i){if(n&1){let e=z();s(0,"div",0)(1,"div",1),g("click",function(){k(e);let o=v();return T(o.toggleExpanded())}),s(2,"div",2)(3,"mat-icon",3),d(4,"cloud_upload"),l(),s(5,"span",4),A(6,V4e,2,2,"ng-container"),A(7,B4e,2,0,"ng-container"),l()(),s(8,"div",5),A(9,z4e,1,1,"mat-progress-bar",6),s(10,"mat-icon",7),d(11),l()()(),A(12,J4e,3,0,"div",8),l()}if(n&2){let e=v();m(6),O(e.activeCount>0?6:-1),m(),O(e.activeCount===0?7:-1),m(2),O(e.activeCount>0?9:-1),m(2),j(e.isExpanded()?"expand_more":"expand_less"),m(),O(e.isExpanded()?12:-1)}}var JM=(()=>{class n{imageUploadSessionService=f(kg);router=f(ht);uploads=new Map;isExpanded=ae(!0);subscription;ngOnInit(){this.subscription=this.imageUploadSessionService.event Line truncated