@ibragim-dev-org/ui-forge-library 1.0.9 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1,3227 @@
1
- const _0x5d67ea=_0x3b02;(function(_0x3b5b3f,_0x50e8e6){const _0x162f05=_0x3b02,_0x2634bf=_0x3b5b3f();while(!![]){try{const _0x5a7c2f=-parseInt(_0x162f05(0x6d8))/0x1*(-parseInt(_0x162f05(0x200))/0x2)+-parseInt(_0x162f05(0x267))/0x3+-parseInt(_0x162f05(0x2de))/0x4*(parseInt(_0x162f05(0x23b))/0x5)+-parseInt(_0x162f05(0x274))/0x6+-parseInt(_0x162f05(0x27a))/0x7+-parseInt(_0x162f05(0x6fb))/0x8+parseInt(_0x162f05(0x683))/0x9*(parseInt(_0x162f05(0x62b))/0xa);if(_0x5a7c2f===_0x50e8e6)break;else _0x2634bf['push'](_0x2634bf['shift']());}catch(_0x2d8e71){_0x2634bf['push'](_0x2634bf['shift']());}}}(_0x3e9e,0x807b4));import*as _0x5242ab from'@angular/core';import{input,effect,Directive,Injectable,EventEmitter,Output,Input,PLATFORM_ID,Inject,Pipe,Attribute,ChangeDetectionStrategy,Component,model,signal,computed,viewChild,untracked,output,Injector,afterRenderEffect,contentChildren,contentChild,ViewChildren}from'@angular/core';import{isPlatformBrowser,DOCUMENT,NgStyle}from'@angular/common';import{takeUntilDestroyed}from'@angular/core/rxjs-interop';import{fromEvent,tap,debounceTime,asyncScheduler,Subscription,timer,switchMap,scheduled,filter,take,BehaviorSubject,Subject,takeUntil}from'rxjs';import*as _0x4e89a5 from'@angular/platform-browser';import{PhoneNumberUtil,AsYouTypeFormatter}from'google-libphonenumber';import*as _0xffc30d from'@angular/cdk/overlay';import{OverlayConfig,FlexibleConnectedPositionStrategy}from'@angular/cdk/overlay';import{ComponentPortal}from'@angular/cdk/portal';import*as _0x42c800 from'@angular/router';import{NavigationEnd}from'@angular/router';import{ulid}from'ulid';class DateUtils{static[_0x5d67ea(0x627)](_0x112f09,_0x47ed8e=DateUtils[_0x5d67ea(0x622)]()){const _0x38894e=_0x5d67ea,_0x30fc29={'gvGop':function(_0x231638,_0xa5700d){return _0x231638||_0xa5700d;},'VuvcM':function(_0x4c66ed,_0x2728d4){return _0x4c66ed<_0x2728d4;},'hmDWq':function(_0x2f58b6,_0x4f1aeb){return _0x2f58b6<_0x4f1aeb;},'QtfuD':function(_0x4fcda0,_0xb70fe2){return _0x4fcda0>_0xb70fe2;},'DOedP':function(_0x3aa570,_0x229c6d){return _0x3aa570-_0x229c6d;}};if(!_0x112f09)return null;const _0x3b984e=_0x112f09[_0x38894e(0x213)]('/');if(_0x3b984e[_0x38894e(0x27b)]!==0x3)return null;const [_0x4a5ea7,_0xcee7c4,_0x52e316]=_0x3b984e[_0x38894e(0x41e)](Number),_0x1e13a7=_0x47ed8e?_0x4a5ea7:_0xcee7c4,_0x50edbb=_0x47ed8e?_0xcee7c4:_0x4a5ea7;if(_0x30fc29[_0x38894e(0x340)](!_0x50edbb,!_0x1e13a7)||!_0x52e316)return null;if(_0x30fc29[_0x38894e(0x3f7)](_0x1e13a7,0x1)||_0x1e13a7>0xc)return null;if(_0x30fc29[_0x38894e(0x275)](_0x50edbb,0x1)||_0x30fc29[_0x38894e(0x4ce)](_0x50edbb,0x1f))return null;return new Date(_0x52e316,_0x30fc29[_0x38894e(0x643)](_0x1e13a7,0x1),_0x50edbb);}static['format'](_0x218195,_0x8b33c1=![]){const _0x2cdce7=_0x5d67ea,_0x2fba5c={'fBkbJ':function(_0x13c3e0,_0x3a9b98){return _0x13c3e0(_0x3a9b98);},'FeZEF':function(_0x510f30,_0x2a2ba8){return _0x510f30+_0x2a2ba8;}},_0x51366f=_0x2fba5c[_0x2cdce7(0x6a0)](String,_0x218195[_0x2cdce7(0x2b4)]())[_0x2cdce7(0x37b)](0x2,'0'),_0x3ec8f5=_0x2fba5c[_0x2cdce7(0x6a0)](String,_0x2fba5c['FeZEF'](_0x218195[_0x2cdce7(0x4f1)](),0x1))[_0x2cdce7(0x37b)](0x2,'0'),_0x28f6ba=_0x218195[_0x2cdce7(0x1fc)]();return _0x8b33c1?_0x3ec8f5+'/'+_0x51366f+'/'+_0x28f6ba:_0x51366f+'/'+_0x3ec8f5+'/'+_0x28f6ba;}static[_0x5d67ea(0x622)](){const _0x228786=_0x5d67ea,_0x1fc8b9={'dKJtT':'undefined','EMHzl':function(_0x4fdcc1,_0x4f45aa){return _0x4fdcc1||_0x4f45aa;},'oQjFD':function(_0x20ab2d,_0x5a58ee){return _0x20ab2d===_0x5a58ee;},'hJjss':'en-us','rPCVp':_0x228786(0x698)},_0xc05764=Intl['DateTimeFormat']()[_0x228786(0x396)]()[_0x228786(0x43e)],_0x842ae0=typeof navigator!==_0x1fc8b9[_0x228786(0x424)]?navigator['language']:undefined,_0x2beeac=(_0x1fc8b9[_0x228786(0x5e4)](_0xc05764,_0x842ae0)||'')[_0x228786(0x59b)]();return _0x1fc8b9[_0x228786(0x73c)](_0x2beeac,_0x1fc8b9[_0x228786(0x690)])||_0x2beeac[_0x228786(0x41a)](_0x1fc8b9[_0x228786(0x45d)]);}static['setMonthSafe'](_0x3de559,_0x1ed23d){const _0x184ef4=_0x5d67ea,_0x58fdce={'cWHCr':function(_0x388221,_0x16f9ca){return _0x388221+_0x16f9ca;}},_0x137b82=new Date(_0x3de559),_0x3a3114=_0x137b82['getFullYear'](),_0x138a66=_0x137b82['getDate'](),_0x582f49=new Date(_0x3a3114,_0x58fdce['cWHCr'](_0x1ed23d,0x1),0x0)['getDate']();return _0x137b82[_0x184ef4(0x5f9)](Math[_0x184ef4(0x740)](_0x138a66,_0x582f49)),_0x137b82['setMonth'](_0x1ed23d),_0x137b82;}}class AutoFocusDirective{['el'];[_0x5d67ea(0x68a)]=input['required']({'debugName':_0x5d67ea(0x4de)});constructor(_0x5a5115){const _0x2e00e7={'tJCwE':function(_0x3ee8be,_0x5970e9){return _0x3ee8be(_0x5970e9);}};this['el']=_0x5a5115,_0x2e00e7['tJCwE'](effect,()=>{const _0x5a1af8=_0x3b02;if(_0x5a1af8(0x717)==='glFmr'){this['$selectedCountry']['set'](_0x5035e5);const _0x8fc742=this[_0x5a1af8(0x726)]()?.[_0x5a1af8(0x501)];this[_0x5a1af8(0x315)](_0x469036['name']),_0x8fc742&&_0x8fc742[_0x5a1af8(0x55a)]();}else this[_0x5a1af8(0x68a)]()&&this['el']['nativeElement'][_0x5a1af8(0x55a)]();});}static ['ɵfac']=_0x5242ab[_0x5d67ea(0x1ec)]({'minVersion':'12.0.0','version':_0x5d67ea(0x2e7),'ngImport':_0x5242ab,'type':AutoFocusDirective,'deps':[{'token':_0x5242ab['ElementRef']}],'target':_0x5242ab[_0x5d67ea(0x356)][_0x5d67ea(0x521)]});static [_0x5d67ea(0x60a)]=_0x5242ab[_0x5d67ea(0x21b)]({'minVersion':'17.1.0','version':_0x5d67ea(0x2e7),'type':AutoFocusDirective,'isStandalone':!![],'selector':_0x5d67ea(0x667),'inputs':{'$shouldFocus':{'classPropertyName':_0x5d67ea(0x68a),'publicName':_0x5d67ea(0x68a),'isSignal':!![],'isRequired':!![],'transformFunction':null}},'ngImport':_0x5242ab});}_0x5242ab[_0x5d67ea(0x50a)]({'minVersion':'12.0.0','version':_0x5d67ea(0x2e7),'ngImport':_0x5242ab,'type':AutoFocusDirective,'decorators':[{'type':Directive,'args':[{'selector':_0x5d67ea(0x667)}]}],'ctorParameters':()=>[{'type':_0x5242ab[_0x5d67ea(0x404)]}],'propDecorators':{'$shouldFocus':[{'type':_0x5242ab[_0x5d67ea(0x714)],'args':[{'isSignal':!![],'alias':_0x5d67ea(0x68a),'required':!![]}]}]}});class LazyImageService{[_0x5d67ea(0x659)];[_0x5d67ea(0x2ca)](){const _0x1f3f36=_0x5d67ea,_0x4158db={'lqcuq':_0x1f3f36(0x1f1),'oRJVh':function(_0x1696a2,_0x2b0b8e){return _0x1696a2===_0x2b0b8e;},'FYjKE':_0x1f3f36(0x301)};return!this[_0x1f3f36(0x659)]&&(_0x4158db[_0x1f3f36(0x322)](_0x4158db[_0x1f3f36(0x45c)],_0x4158db['FYjKE'])?this['observer']=new IntersectionObserver(_0x2b4211=>{const _0x3bd020=_0x1f3f36;_0x2b4211[_0x3bd020(0x5cc)](_0x439ee8=>{const _0x5ac325=_0x3bd020,_0x5c75f0=_0x439ee8[_0x5ac325(0x21d)];if(_0x439ee8[_0x5ac325(0x370)]){const _0x219440=_0x5c75f0[_0x5ac325(0x46e)](_0x4158db[_0x5ac325(0x372)]);if(_0x219440)_0x5c75f0[_0x5ac325(0x68b)]=_0x219440;this[_0x5ac325(0x659)]?.[_0x5ac325(0x344)](_0x5c75f0);}});}):_0x5f021f[_0x1f3f36(0x5cc)](_0x519c1e=>{const _0x1f08c3=_0x1f3f36,_0x53608a=_0x519c1e[_0x1f08c3(0x21d)];if(_0x519c1e[_0x1f08c3(0x370)]){const _0x444aab=_0x53608a[_0x1f08c3(0x46e)](_0x1f08c3(0x1f1));if(_0x444aab)_0x53608a[_0x1f08c3(0x68b)]=_0x444aab;this[_0x1f08c3(0x659)]?.[_0x1f08c3(0x344)](_0x53608a);}})),this[_0x1f3f36(0x659)];}static [_0x5d67ea(0x48b)]=_0x5242ab[_0x5d67ea(0x1ec)]({'minVersion':_0x5d67ea(0x4b8),'version':_0x5d67ea(0x2e7),'ngImport':_0x5242ab,'type':LazyImageService,'deps':[],'target':_0x5242ab[_0x5d67ea(0x356)][_0x5d67ea(0x456)]});static [_0x5d67ea(0x719)]=_0x5242ab['ɵɵngDeclareInjectable']({'minVersion':_0x5d67ea(0x4b8),'version':_0x5d67ea(0x2e7),'ngImport':_0x5242ab,'type':LazyImageService,'providedIn':_0x5d67ea(0x27c)});}_0x5242ab[_0x5d67ea(0x50a)]({'minVersion':_0x5d67ea(0x4b8),'version':_0x5d67ea(0x2e7),'ngImport':_0x5242ab,'type':LazyImageService,'decorators':[{'type':Injectable,'args':[{'providedIn':_0x5d67ea(0x27c)}]}]});class LazyImgDirective{['el'];[_0x5d67ea(0x607)];['lazySrc'];[_0x5d67ea(0x481)]=new EventEmitter();[_0x5d67ea(0x659)];constructor(_0x1d95f4,_0x5c7938){this['el']=_0x1d95f4,this['lazyService']=_0x5c7938;}[_0x5d67ea(0x1da)](){const _0x543aef=_0x5d67ea;this[_0x543aef(0x481)][_0x543aef(0x55e)]();}[_0x5d67ea(0x6ba)](){const _0x274689=_0x5d67ea,_0x3aeda8={'aPFbW':function(_0x16cf1d,_0x4b2283){return _0x16cf1d===_0x4b2283;},'rhIOH':_0x274689(0x285),'UWKch':_0x274689(0x1f1)},_0x4b84e1=this['el'][_0x274689(0x501)];if(!this['lazySrc']||_0x3aeda8[_0x274689(0x311)](this['lazySrc'][_0x274689(0x35e)]()[_0x274689(0x27b)],0x0)){this[_0x274689(0x481)]['emit']();return;}_0x4b84e1['addEventListener'](_0x3aeda8[_0x274689(0x747)],this[_0x274689(0x1da)]),_0x4b84e1[_0x274689(0x480)](_0x3aeda8[_0x274689(0x73b)],this[_0x274689(0x43c)]),this[_0x274689(0x659)]=this[_0x274689(0x607)][_0x274689(0x2ca)](),this[_0x274689(0x659)][_0x274689(0x538)](_0x4b84e1);}[_0x5d67ea(0x63e)](){const _0x22ef7f=_0x5d67ea,_0xc25bb4={'nYMfr':'error'},_0x3c3a14=this['el']['nativeElement'];this[_0x22ef7f(0x659)]&&this[_0x22ef7f(0x659)][_0x22ef7f(0x344)](_0x3c3a14),_0x3c3a14['removeEventListener'](_0xc25bb4[_0x22ef7f(0x728)],this[_0x22ef7f(0x1da)]);}static [_0x5d67ea(0x48b)]=_0x5242ab['ɵɵngDeclareFactory']({'minVersion':_0x5d67ea(0x4b8),'version':_0x5d67ea(0x2e7),'ngImport':_0x5242ab,'type':LazyImgDirective,'deps':[{'token':_0x5242ab['ElementRef']},{'token':LazyImageService}],'target':_0x5242ab[_0x5d67ea(0x356)][_0x5d67ea(0x521)]});static ['ɵdir']=_0x5242ab['ɵɵngDeclareDirective']({'minVersion':'14.0.0','version':_0x5d67ea(0x2e7),'type':LazyImgDirective,'isStandalone':!![],'selector':_0x5d67ea(0x5ae),'inputs':{'lazySrc':_0x5d67ea(0x43c)},'outputs':{'loadError':_0x5d67ea(0x481)},'ngImport':_0x5242ab});}_0x5242ab[_0x5d67ea(0x50a)]({'minVersion':'12.0.0','version':_0x5d67ea(0x2e7),'ngImport':_0x5242ab,'type':LazyImgDirective,'decorators':[{'type':Directive,'args':[{'selector':_0x5d67ea(0x5ae)}]}],'ctorParameters':()=>[{'type':_0x5242ab['ElementRef']},{'type':LazyImageService}],'propDecorators':{'lazySrc':[{'type':Input}],'loadError':[{'type':Output}]}});class MaskGradientDirective{[_0x5d67ea(0x30c)];[_0x5d67ea(0x25c)];[_0x5d67ea(0x412)];[_0x5d67ea(0x31a)];['id']=input[_0x5d67ea(0x4dd)](...ngDevMode?[{'debugName':'id'}]:[]);constructor(_0x486b78,_0x3ffa18,_0x3c07b7,_0xb50ff0){const _0x4cfeed=_0x5d67ea;this[_0x4cfeed(0x30c)]=_0x486b78,this['destroyRef']=_0x3ffa18,this[_0x4cfeed(0x412)]=_0x3c07b7,this[_0x4cfeed(0x31a)]=_0xb50ff0;}[_0x5d67ea(0x670)](){const _0x2b7920=_0x5d67ea,_0x2e60c0={'GHQrb':function(_0x4a5657,_0x10831b){return _0x4a5657!==_0x10831b;},'KecEk':_0x2b7920(0x332),'bBSre':function(_0x11f011,_0x29eb37){return _0x11f011===_0x29eb37;},'bwPzg':_0x2b7920(0x753),'VUQMj':function(_0x23a5d2,_0x52ffd7){return _0x23a5d2+_0x52ffd7;},'byeJq':_0x2b7920(0x222),'lNXOY':function(_0x4d7297,_0x3cb992,_0x45f860){return _0x4d7297(_0x3cb992,_0x45f860);},'MpfIL':_0x2b7920(0x466),'MmefR':function(_0x1b8bc6,_0x30a1ea){return _0x1b8bc6(_0x30a1ea);},'CYUYO':'JvJad','BKhrF':'pAWBb','sTrLp':'scroll-position','RuAlN':_0x2b7920(0x2e4)};_0x2e60c0[_0x2b7920(0x440)](fromEvent,this['elementRef'][_0x2b7920(0x501)],_0x2e60c0['MpfIL'])['pipe'](tap(()=>{const _0x3fdcd9=_0x2b7920;this[_0x3fdcd9(0x294)]();}),_0x2e60c0[_0x2b7920(0x68e)](debounceTime,0x12c),_0x2e60c0[_0x2b7920(0x68e)](tap,()=>{const _0x26f568=_0x2b7920;if(_0x2e60c0[_0x26f568(0x427)](_0x2e60c0[_0x26f568(0x25f)],_0x2e60c0['KecEk']))return;else{const _0x100ad4=this[_0x26f568(0x30c)][_0x26f568(0x501)],_0x231f72=_0x100ad4[_0x26f568(0x6eb)];isPlatformBrowser(this['platformId'])&&sessionStorage[_0x26f568(0x3a8)](this['id']()+'scroll-position',_0x231f72['toString']());}}),_0x2e60c0[_0x2b7920(0x68e)](takeUntilDestroyed,this[_0x2b7920(0x25c)]))['subscribe']();if(isPlatformBrowser(this[_0x2b7920(0x31a)])){if(_0x2e60c0[_0x2b7920(0x427)](_0x2e60c0[_0x2b7920(0x280)],_0x2e60c0[_0x2b7920(0x226)])){const _0xb837b3=_0x2e60c0[_0x2b7920(0x68e)](parseInt,sessionStorage[_0x2b7920(0x422)](_0x2e60c0['VUQMj'](this['id'](),_0x2e60c0[_0x2b7920(0x2e3)]))??'0');this['elementRef']['nativeElement'][_0x2b7920(0x466)]({'behavior':_0x2e60c0[_0x2b7920(0x1f2)],'top':_0xb837b3});}else _0x55f1ac[_0x2b7920(0x35d)]&&this[_0x2b7920(0x2a1)]();}if(isPlatformBrowser(this[_0x2b7920(0x31a)])){const _0x52003c=new ResizeObserver(()=>{const _0x224c54=_0x2b7920,_0x5e16df={'gBURP':function(_0x10a1fd,_0x228c9a){const _0xd6609b=_0x3b02;return _0x2e60c0[_0xd6609b(0x5dc)](_0x10a1fd,_0x228c9a);},'NCYPn':function(_0x121a4d,_0x242def){return _0x2e60c0['bBSre'](_0x121a4d,_0x242def);},'bJbTJ':_0x224c54(0x682)};_0x2e60c0[_0x224c54(0x2e2)]!=='SyRYd'?asyncScheduler['schedule'](()=>{const _0x4acb95=_0x224c54;_0x2e60c0['bBSre'](_0x2e60c0['bwPzg'],_0x2e60c0['bwPzg'])?this[_0x4acb95(0x294)]():_0x2a7759=_0x5e16df[_0x4acb95(0x363)](_0xe6356d,_0x18abd6[0x0]);}):_0x5e16df['NCYPn'](this['$sizeBehavior'](),_0x5e16df['bJbTJ'])?this['renderer'][_0x224c54(0x50e)](this[_0x224c54(0x30c)][_0x224c54(0x501)],_0x5e16df[_0x224c54(0x69d)]):this[_0x224c54(0x412)]['removeClass'](this[_0x224c54(0x30c)]['nativeElement'],_0x5e16df[_0x224c54(0x69d)]);});_0x52003c[_0x2b7920(0x538)](this['elementRef'][_0x2b7920(0x501)]),this['destroyRef'][_0x2b7920(0x289)](()=>_0x52003c[_0x2b7920(0x23a)]());}}[_0x5d67ea(0x294)](){const _0x557d1f=_0x5d67ea,_0x1ef0c9={'QwgmO':_0x557d1f(0x468),'nLhbc':'fill','fZcJB':_0x557d1f(0x66f),'lZcHF':function(_0x8bc3fb,_0x8d4e29){return _0x8bc3fb<_0x8d4e29;},'xCbLx':function(_0x114085,_0x255e02){return _0x114085+_0x255e02;},'wAEZU':function(_0x4529fb,_0x1bcceb){return _0x4529fb-_0x1bcceb;},'tclzy':function(_0x4f429b,_0x5d4827){return _0x4f429b===_0x5d4827;},'nPMuu':'KekAX','FXozn':_0x557d1f(0x5dd),'BEmsL':function(_0x5e2804,_0x1af643){return _0x5e2804===_0x1af643;},'dlfRe':_0x557d1f(0x3a0),'EYZTT':_0x557d1f(0x595),'NBFlS':_0x557d1f(0x6be)},_0xd28d8e=this[_0x557d1f(0x30c)][_0x557d1f(0x501)][_0x557d1f(0x6eb)],_0x36e528=this['elementRef'][_0x557d1f(0x501)][_0x557d1f(0x704)],_0x3617da=this[_0x557d1f(0x30c)]['nativeElement'][_0x557d1f(0x241)],_0x44a413=_0x1ef0c9[_0x557d1f(0x433)](_0xd28d8e,0xa),_0x1d7f7f=_0x1ef0c9[_0x557d1f(0x5a5)](_0xd28d8e,_0x3617da)>=_0x1ef0c9[_0x557d1f(0x423)](_0x36e528,0xa);let _0x1a27b2='';if(_0x44a413)_0x1ef0c9[_0x557d1f(0x66c)](_0x1ef0c9[_0x557d1f(0x618)],_0x1ef0c9[_0x557d1f(0x312)])?this['icons'][_0x557d1f(0x330)](_0x193d4f,_0x4a4c41[_0x557d1f(0x6e6)]('<svg',_0x1ef0c9[_0x557d1f(0x225)])[_0x557d1f(0x6e6)](/data-fill/g,_0x1ef0c9['nLhbc'])[_0x557d1f(0x6e6)](/data-stroke/g,_0x1ef0c9['fZcJB'])):_0x1a27b2='linear-gradient(0deg,\x20rgb(0\x200\x200\x20/\x200%)\x200%,\x20rgb(0\x200\x200\x20/\x20100%)\x2010%)';else _0x1d7f7f?_0x1a27b2=_0x557d1f(0x4e4):_0x1ef0c9[_0x557d1f(0x5b2)](_0x1ef0c9[_0x557d1f(0x250)],_0x1ef0c9[_0x557d1f(0x441)])?this[_0x557d1f(0x1dc)]():_0x1a27b2=_0x557d1f(0x571);this[_0x557d1f(0x412)][_0x557d1f(0x398)](this[_0x557d1f(0x30c)][_0x557d1f(0x501)],'mask-image',_0x1a27b2),this[_0x557d1f(0x412)]['setStyle'](this['elementRef'][_0x557d1f(0x501)],_0x1ef0c9[_0x557d1f(0x6f5)],_0x1a27b2);}static [_0x5d67ea(0x48b)]=_0x5242ab[_0x5d67ea(0x1ec)]({'minVersion':'12.0.0','version':_0x5d67ea(0x2e7),'ngImport':_0x5242ab,'type':MaskGradientDirective,'deps':[{'token':_0x5242ab[_0x5d67ea(0x404)]},{'token':_0x5242ab[_0x5d67ea(0x233)]},{'token':_0x5242ab[_0x5d67ea(0x696)]},{'token':PLATFORM_ID}],'target':_0x5242ab[_0x5d67ea(0x356)][_0x5d67ea(0x521)]});static ['ɵdir']=_0x5242ab[_0x5d67ea(0x21b)]({'minVersion':_0x5d67ea(0x44f),'version':_0x5d67ea(0x2e7),'type':MaskGradientDirective,'isStandalone':!![],'selector':_0x5d67ea(0x58e),'inputs':{'id':{'classPropertyName':'id','publicName':'id','isSignal':!![],'isRequired':!![],'transformFunction':null}},'ngImport':_0x5242ab});}_0x5242ab[_0x5d67ea(0x50a)]({'minVersion':_0x5d67ea(0x4b8),'version':'21.1.1','ngImport':_0x5242ab,'type':MaskGradientDirective,'decorators':[{'type':Directive,'args':[{'selector':_0x5d67ea(0x58e)}]}],'ctorParameters':()=>[{'type':_0x5242ab[_0x5d67ea(0x404)]},{'type':_0x5242ab[_0x5d67ea(0x233)]},{'type':_0x5242ab[_0x5d67ea(0x696)]},{'type':undefined,'decorators':[{'type':Inject,'args':[PLATFORM_ID]}]}],'propDecorators':{'id':[{'type':_0x5242ab['Input'],'args':[{'isSignal':!![],'alias':'id','required':!![]}]}]}});class TrackLifecycleDirective{['onConstructed']=new EventEmitter();[_0x5d67ea(0x6e3)]=new EventEmitter();[_0x5d67ea(0x6d7)]=new EventEmitter();['onDoCheck']=new EventEmitter();[_0x5d67ea(0x34b)]=new EventEmitter();['onAfterContentChecked']=new EventEmitter();[_0x5d67ea(0x1f5)]=new EventEmitter();[_0x5d67ea(0x401)]=new EventEmitter();['onDestroy']=new EventEmitter();constructor(){const _0x12354e=_0x5d67ea;this[_0x12354e(0x6cb)][_0x12354e(0x55e)]();}['ngOnChanges'](_0x4a6af0){const _0x55a3e0=_0x5d67ea;this['onChanges'][_0x55a3e0(0x55e)](_0x4a6af0);}[_0x5d67ea(0x6ba)](){const _0x3d1dce=_0x5d67ea;this[_0x3d1dce(0x6d7)][_0x3d1dce(0x55e)]();}[_0x5d67ea(0x2b7)](){const _0x1e4106=_0x5d67ea;this[_0x1e4106(0x32b)][_0x1e4106(0x55e)]();}[_0x5d67ea(0x558)](){const _0x36c21c=_0x5d67ea;this[_0x36c21c(0x34b)][_0x36c21c(0x55e)]();}[_0x5d67ea(0x2d7)](){const _0x534c10=_0x5d67ea;this[_0x534c10(0x2c7)][_0x534c10(0x55e)]();}['ngAfterViewInit'](){const _0x22c552=_0x5d67ea;this['onAfterViewInit'][_0x22c552(0x55e)]();}[_0x5d67ea(0x63f)](){const _0x20c365=_0x5d67ea;this[_0x20c365(0x401)][_0x20c365(0x55e)]();}[_0x5d67ea(0x63e)](){const _0x5ed6e9=_0x5d67ea;this[_0x5ed6e9(0x289)]['emit']();}static [_0x5d67ea(0x48b)]=_0x5242ab[_0x5d67ea(0x1ec)]({'minVersion':_0x5d67ea(0x4b8),'version':'21.1.1','ngImport':_0x5242ab,'type':TrackLifecycleDirective,'deps':[],'target':_0x5242ab['ɵɵFactoryTarget'][_0x5d67ea(0x521)]});static [_0x5d67ea(0x60a)]=_0x5242ab['ɵɵngDeclareDirective']({'minVersion':'14.0.0','version':'21.1.1','type':TrackLifecycleDirective,'isStandalone':!![],'selector':_0x5d67ea(0x615),'outputs':{'onConstructed':'onConstructed','onChanges':_0x5d67ea(0x6e3),'onInit':_0x5d67ea(0x6d7),'onDoCheck':_0x5d67ea(0x32b),'onAfterContentInit':_0x5d67ea(0x34b),'onAfterContentChecked':_0x5d67ea(0x2c7),'onAfterViewInit':'onAfterViewInit','onAfterViewChecked':_0x5d67ea(0x401),'onDestroy':_0x5d67ea(0x289)},'usesOnChanges':!![],'ngImport':_0x5242ab});}_0x5242ab[_0x5d67ea(0x50a)]({'minVersion':_0x5d67ea(0x4b8),'version':_0x5d67ea(0x2e7),'ngImport':_0x5242ab,'type':TrackLifecycleDirective,'decorators':[{'type':Directive,'args':[{'selector':_0x5d67ea(0x615)}]}],'ctorParameters':()=>[],'propDecorators':{'onConstructed':[{'type':Output}],'onChanges':[{'type':Output}],'onInit':[{'type':Output}],'onDoCheck':[{'type':Output}],'onAfterContentInit':[{'type':Output}],'onAfterContentChecked':[{'type':Output}],'onAfterViewInit':[{'type':Output}],'onAfterViewChecked':[{'type':Output}],'onDestroy':[{'type':Output}]}});class StickyObserverDirective{[_0x5d67ea(0x30c)];[_0x5d67ea(0x412)];[_0x5d67ea(0x659)];['sentinel'];constructor(_0x31fe47,_0x506fa2){const _0x2d526d=_0x5d67ea;this[_0x2d526d(0x30c)]=_0x31fe47,this[_0x2d526d(0x412)]=_0x506fa2;}[_0x5d67ea(0x670)](){const _0x4cd383=_0x5d67ea,_0x5bd7e8={'CgiuQ':function(_0x20d9e1,_0x4ee335){return _0x20d9e1(_0x4ee335);},'gpnqu':function(_0x8c1e32,_0xf93e8c){return _0x8c1e32(_0xf93e8c);},'rAMlD':function(_0xe82067,_0x44a7e9){return _0xe82067!==_0x44a7e9;},'ZabVG':_0x4cd383(0x5da),'ncFay':_0x4cd383(0x5d4),'ViRhq':function(_0x24fdf9,_0x5a0b4f){return _0x24fdf9<_0x5a0b4f;},'ciHZn':_0x4cd383(0x3c4),'gnfvU':_0x4cd383(0x24d),'ENAAH':function(_0x521dfc,_0x159d34){return _0x521dfc!==_0x159d34;},'wYWEh':_0x4cd383(0x5ec),'Jeugp':_0x4cd383(0x62d),'MaBRE':_0x4cd383(0x41d),'QLfCo':_0x4cd383(0x38c),'INgtM':'margin-top','MWTKs':_0x4cd383(0x4ca),'JJSmo':_0x4cd383(0x279),'MAOHf':'none'},_0x4b4769=this[_0x4cd383(0x30c)]['nativeElement'];this[_0x4cd383(0x37d)]=this[_0x4cd383(0x412)]['createElement'](_0x5bd7e8[_0x4cd383(0x47b)]),this[_0x4cd383(0x412)][_0x4cd383(0x398)](this['sentinel'],_0x5bd7e8[_0x4cd383(0x375)],_0x5bd7e8['QLfCo']),this['renderer']['setStyle'](this[_0x4cd383(0x37d)],_0x5bd7e8[_0x4cd383(0x596)],_0x5bd7e8['MWTKs']),this[_0x4cd383(0x412)][_0x4cd383(0x398)](this['sentinel'],_0x5bd7e8['JJSmo'],_0x5bd7e8[_0x4cd383(0x21c)]),this[_0x4cd383(0x412)][_0x4cd383(0x398)](this[_0x4cd383(0x37d)],_0x4cd383(0x4ee),'0');const _0x1876cd=_0x4b4769[_0x4cd383(0x469)];_0x1876cd['insertBefore'](this[_0x4cd383(0x37d)],_0x4b4769),this[_0x4cd383(0x659)]=new IntersectionObserver(([_0x503c54])=>{const _0x2ba1c6=_0x4cd383;if(_0x5bd7e8[_0x2ba1c6(0x4fd)](_0x5bd7e8[_0x2ba1c6(0x379)],_0x5bd7e8[_0x2ba1c6(0x491)])){const _0x171be8=_0x5bd7e8[_0x2ba1c6(0x314)](_0x503c54[_0x2ba1c6(0x4a3)][_0x2ba1c6(0x3ee)],0x0);if(_0x171be8){if(_0x5bd7e8[_0x2ba1c6(0x566)]==='NUSgW')this[_0x2ba1c6(0x412)][_0x2ba1c6(0x50e)](_0x4b4769,_0x5bd7e8['gnfvU']);else{const _0x12c6ff=_0x54b051[_0x2ba1c6(0x1ef)](0x0,0x8),_0x17fcb6=_0x233805[_0x2ba1c6(0x1ef)](0x8,0x10),_0x520121=_0x5bd7e8['CgiuQ'](_0x491042,_0x12c6ff),_0x36675a=_0x5bd7e8[_0x2ba1c6(0x520)](_0x404862,_0x17fcb6);return _0x36675a?_0x520121+'\x20-\x20'+_0x36675a:_0x520121;}}else _0x5bd7e8[_0x2ba1c6(0x2f2)]('qvfxk',_0x5bd7e8[_0x2ba1c6(0x34f)])?this[_0x2ba1c6(0x412)][_0x2ba1c6(0x4e1)](_0x4b4769,_0x2ba1c6(0x24d)):(this[_0x2ba1c6(0x30c)]=_0x36a6b5,this[_0x2ba1c6(0x721)]=_0x15e09e,this[_0x2ba1c6(0x25c)]=_0x584978);}else _0x3e4178[_0x2ba1c6(0x4bf)]();},{'threshold':[0x1]}),this[_0x4cd383(0x659)][_0x4cd383(0x538)](this[_0x4cd383(0x37d)]);}[_0x5d67ea(0x63e)](){const _0x182e04=_0x5d67ea;this[_0x182e04(0x659)]?.[_0x182e04(0x23a)](),this[_0x182e04(0x37d)]?.['remove']();}static [_0x5d67ea(0x48b)]=_0x5242ab[_0x5d67ea(0x1ec)]({'minVersion':_0x5d67ea(0x4b8),'version':_0x5d67ea(0x2e7),'ngImport':_0x5242ab,'type':StickyObserverDirective,'deps':[{'token':_0x5242ab[_0x5d67ea(0x404)]},{'token':_0x5242ab[_0x5d67ea(0x696)]}],'target':_0x5242ab[_0x5d67ea(0x356)][_0x5d67ea(0x521)]});static [_0x5d67ea(0x60a)]=_0x5242ab[_0x5d67ea(0x21b)]({'minVersion':'14.0.0','version':_0x5d67ea(0x2e7),'type':StickyObserverDirective,'isStandalone':!![],'selector':'[appStickyObserver]','ngImport':_0x5242ab});}function _0x3b02(_0x519685,_0x52f9f5){_0x519685=_0x519685-0x1d8;const _0x3e9e00=_0x3e9e();let _0x3b0253=_0x3e9e00[_0x519685];if(_0x3b02['cOFEKQ']===undefined){var _0x4f06ca=function(_0x4a7f6a){const _0x1ca68d='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x19428f='',_0x8cdd91='';for(let _0x38c162=0x0,_0x7f1b01,_0x11ed0b,_0x965914=0x0;_0x11ed0b=_0x4a7f6a['charAt'](_0x965914++);~_0x11ed0b&&(_0x7f1b01=_0x38c162%0x4?_0x7f1b01*0x40+_0x11ed0b:_0x11ed0b,_0x38c162++%0x4)?_0x19428f+=String['fromCharCode'](0xff&_0x7f1b01>>(-0x2*_0x38c162&0x6)):0x0){_0x11ed0b=_0x1ca68d['indexOf'](_0x11ed0b);}for(let _0x503410=0x0,_0x7c56be=_0x19428f['length'];_0x503410<_0x7c56be;_0x503410++){_0x8cdd91+='%'+('00'+_0x19428f['charCodeAt'](_0x503410)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x8cdd91);};_0x3b02['aIwzmm']=_0x4f06ca,_0x3b02['kGPgCu']={},_0x3b02['cOFEKQ']=!![];}const _0xb6e826=_0x3e9e00[0x0],_0x1f1ef7=_0x519685+_0xb6e826,_0x428542=_0x3b02['kGPgCu'][_0x1f1ef7];return!_0x428542?(_0x3b0253=_0x3b02['aIwzmm'](_0x3b0253),_0x3b02['kGPgCu'][_0x1f1ef7]=_0x3b0253):_0x3b0253=_0x428542,_0x3b0253;}_0x5242ab[_0x5d67ea(0x50a)]({'minVersion':_0x5d67ea(0x4b8),'version':_0x5d67ea(0x2e7),'ngImport':_0x5242ab,'type':StickyObserverDirective,'decorators':[{'type':Directive,'args':[{'selector':'[appStickyObserver]'}]}],'ctorParameters':()=>[{'type':_0x5242ab[_0x5d67ea(0x404)]},{'type':_0x5242ab[_0x5d67ea(0x696)]}]});class CenterEllipsisPipe{[_0x5d67ea(0x6a7)](_0x437a91,_0xc83013=0x4,_0x333fb0=0x4){const _0x3489f7=_0x5d67ea,_0x571acd={'yKojV':function(_0x9c1dce,_0x6d2e97){return _0x9c1dce<=_0x6d2e97;},'XZCbX':function(_0x1f9b2f,_0x14a7b2){return _0x1f9b2f+_0x14a7b2;}};if(!_0x437a91)return'';if(_0x571acd['yKojV'](_0x437a91[_0x3489f7(0x27b)],_0x571acd[_0x3489f7(0x252)](_0xc83013,_0x333fb0)))return _0x437a91;const _0x31c3ff=_0x437a91[_0x3489f7(0x739)](0x0,_0xc83013),_0x44da6d=_0x437a91[_0x3489f7(0x739)](-_0x333fb0);return _0x31c3ff+_0x3489f7(0x70c)+_0x44da6d;}static ['ɵfac']=_0x5242ab[_0x5d67ea(0x1ec)]({'minVersion':_0x5d67ea(0x4b8),'version':'21.1.1','ngImport':_0x5242ab,'type':CenterEllipsisPipe,'deps':[],'target':_0x5242ab[_0x5d67ea(0x356)][_0x5d67ea(0x207)]});static [_0x5d67ea(0x3fd)]=_0x5242ab[_0x5d67ea(0x716)]({'minVersion':_0x5d67ea(0x41f),'version':'21.1.1','ngImport':_0x5242ab,'type':CenterEllipsisPipe,'isStandalone':!![],'name':_0x5d67ea(0x671)});}_0x5242ab[_0x5d67ea(0x50a)]({'minVersion':_0x5d67ea(0x4b8),'version':_0x5d67ea(0x2e7),'ngImport':_0x5242ab,'type':CenterEllipsisPipe,'decorators':[{'type':Pipe,'args':[{'name':_0x5d67ea(0x671)}]}]});function getAspectRatioFit(_0x478deb,_0x24db26,_0x57426a,_0x4d52b3){const _0x4e6dc3=_0x5d67ea,_0x406560={'ODEJr':function(_0x15f1ff,_0x5d366a){return _0x15f1ff&&_0x5d366a;},'FloHl':function(_0x13a297,_0x89f622){return _0x13a297/_0x89f622;},'zgHbk':function(_0x1eaef6,_0x558474){return _0x1eaef6*_0x558474;}};if(_0x406560[_0x4e6dc3(0x5fc)](_0x57426a,_0x4d52b3)){const _0x2ea7fd=Math[_0x4e6dc3(0x740)](_0x478deb/_0x57426a,_0x406560['FloHl'](_0x24db26,_0x4d52b3));return{'width':_0x57426a*_0x2ea7fd,'height':_0x406560['zgHbk'](_0x4d52b3,_0x2ea7fd)};}return{'width':_0x478deb,'height':_0x24db26};}function stringToHslColor(_0x5b1470,_0x3e2b2c=0x64,_0x2c8a30=0x4b){const _0x2dc129=_0x5d67ea,_0x5ccf63={'yAINo':function(_0x303dce,_0x4d4749){return _0x303dce+_0x4d4749;},'fzkNy':function(_0x2a7fd1,_0x22ed8e){return _0x2a7fd1!==_0x22ed8e;},'dIeiL':_0x2dc129(0x66b),'BpuIm':_0x2dc129(0x64c),'Zfbpl':function(_0x22b451,_0xd641b7){return _0x22b451+_0xd641b7;},'smVRC':function(_0x462296,_0x50b985){return _0x462296-_0x50b985;},'oarPp':function(_0x31d588,_0x14d463){return _0x31d588&_0x14d463;}};let _0x570677=0x0;for(let _0x289f51=0x0;_0x289f51<_0x5b1470[_0x2dc129(0x27b)];_0x289f51++){if(_0x5ccf63[_0x2dc129(0x556)](_0x5ccf63[_0x2dc129(0x576)],_0x5ccf63['BpuIm']))_0x570677=_0x5ccf63['Zfbpl'](_0x5b1470['charCodeAt'](_0x289f51),_0x5ccf63[_0x2dc129(0x256)](_0x570677<<0x5,_0x570677)),_0x570677=_0x5ccf63[_0x2dc129(0x6e9)](_0x570677,_0x570677);else{const _0x3a5819=new _0x3e8b60(_0x481d53,_0x5ccf63[_0x2dc129(0x28e)](_0x271351,0x1),0x0)[_0x2dc129(0x2b4)](),_0x3739ab=_0x3692bf[_0x2dc129(0x740)](_0x4a6301,_0x3a5819);return new _0x1b25b8(_0x1be2ba,_0x5e3edf,_0x3739ab);}}return _0x2dc129(0x6ee)+_0x570677%0x168+',\x20'+_0x3e2b2c+_0x2dc129(0x24a)+_0x2c8a30+'%)';}class AppIconsLibrary{['icons']=new Map();['addIcon'](_0x3447eb,_0xb8b647){const _0x34b3f8=_0x5d67ea,_0x12f89c={'HYrel':_0x34b3f8(0x5b4),'RZrgI':_0x34b3f8(0x468),'UfUEt':_0x34b3f8(0x2a2),'BjNrb':_0x34b3f8(0x66f)};this['icons'][_0x34b3f8(0x330)](_0xb8b647,_0x3447eb[_0x34b3f8(0x6e6)](_0x12f89c['HYrel'],_0x12f89c['RZrgI'])[_0x34b3f8(0x6e6)](/data-fill/g,_0x12f89c[_0x34b3f8(0x3bc)])[_0x34b3f8(0x6e6)](/data-stroke/g,_0x12f89c[_0x34b3f8(0x237)]));}[_0x5d67ea(0x4bd)](_0x3e88ee){const _0x161649=_0x5d67ea,_0x3e1c31=this[_0x161649(0x676)]['get'](_0x3e88ee);if(!_0x3e1c31)return console[_0x161649(0x285)](_0x3e88ee+_0x161649(0x413)),undefined;return{'svgData':_0x3e1c31,'name':_0x3e88ee};}static [_0x5d67ea(0x48b)]=_0x5242ab[_0x5d67ea(0x1ec)]({'minVersion':_0x5d67ea(0x4b8),'version':'21.1.1','ngImport':_0x5242ab,'type':AppIconsLibrary,'deps':[],'target':_0x5242ab[_0x5d67ea(0x356)][_0x5d67ea(0x456)]});static [_0x5d67ea(0x719)]=_0x5242ab[_0x5d67ea(0x2ac)]({'minVersion':'12.0.0','version':_0x5d67ea(0x2e7),'ngImport':_0x5242ab,'type':AppIconsLibrary,'providedIn':'root'});}_0x5242ab[_0x5d67ea(0x50a)]({'minVersion':_0x5d67ea(0x4b8),'version':_0x5d67ea(0x2e7),'ngImport':_0x5242ab,'type':AppIconsLibrary,'decorators':[{'type':Injectable,'args':[{'providedIn':_0x5d67ea(0x27c)}]}]});class IconComponent{[_0x5d67ea(0x30c)];['icons'];['renderer'];['sanitizer'];['noScaling'];[_0x5d67ea(0x541)];set[_0x5d67ea(0x5e9)](_0x4fdc9c){const _0x29e050=_0x5d67ea,_0x93b4c7={'xktbn':function(_0xc1fc74,_0x5d0892){return _0xc1fc74||_0x5d0892;}};if(_0x4fdc9c!==this[_0x29e050(0x35b)]){_0x4fdc9c=_0x93b4c7['xktbn'](_0x4fdc9c,'');const _0x343840=this[_0x29e050(0x35b)];this[_0x29e050(0x35b)]=_0x4fdc9c,this[_0x29e050(0x542)](_0x4fdc9c,_0x343840);}}[_0x5d67ea(0x35b)]='';constructor(_0xbf50f2,_0x8a04d0,_0x566d5d,_0x408119,_0x3e0fa0,_0x5255a7){const _0x1af61f=_0x5d67ea,_0x311cf4='0|5|2|1|4|3'[_0x1af61f(0x213)]('|');let _0x153e4c=0x0;while(!![]){switch(_0x311cf4[_0x153e4c++]){case'0':this[_0x1af61f(0x30c)]=_0xbf50f2;continue;case'1':this[_0x1af61f(0x4ef)]=_0x408119;continue;case'2':this[_0x1af61f(0x412)]=_0x566d5d;continue;case'3':this[_0x1af61f(0x541)]=_0x5255a7;continue;case'4':this[_0x1af61f(0x2fd)]=_0x3e0fa0;continue;case'5':this[_0x1af61f(0x676)]=_0x8a04d0;continue;}break;}}[_0x5d67ea(0x542)](_0x1573d6,_0xf633a1){const _0x11abc8=_0x5d67ea,_0x24a688={'PePGJ':function(_0x38627d,_0x45129a){return _0x38627d+_0x45129a;},'IGioF':function(_0x383051,_0x855560){return _0x383051-_0x855560;},'rrQCv':function(_0x4dfb96,_0x4de239){return _0x4dfb96>=_0x4de239;},'jhqHh':function(_0x3449da,_0x3db0eb){return _0x3449da<=_0x3db0eb;},'EaUTr':function(_0x146c38,_0x28026e){return _0x146c38+_0x28026e;},'DndYk':function(_0x464954,_0x7c670){return _0x464954===_0x7c670;},'oPQSM':_0x11abc8(0x449),'IxRjm':function(_0x310210,_0x1deb4b){return _0x310210!==_0x1deb4b;},'MaYZD':_0x11abc8(0x4cd),'KjDzM':_0x11abc8(0x2a2),'lVlHb':'stroke','yuyRa':_0x11abc8(0x642),'RPrMB':_0x11abc8(0x613),'hHioO':function(_0x5eed04,_0x404562){return _0x5eed04===_0x404562;},'jCiWQ':_0x11abc8(0x46a)};let _0x891a36,_0x55c2fa='';const _0x5198dd=_0x24a688[_0x11abc8(0x4d5)](typeof _0xf633a1,'object')?_0xf633a1[_0x11abc8(0x760)]:_0xf633a1;typeof _0x1573d6===_0x24a688[_0x11abc8(0x6f6)]?(_0x891a36=_0x1573d6[_0x11abc8(0x6f9)],_0x55c2fa=_0x1573d6['name']):_0x24a688[_0x11abc8(0x504)](_0x24a688[_0x11abc8(0x55d)],_0x11abc8(0x334))?(_0x55c2fa=_0x1573d6,_0x891a36=this['icons'][_0x11abc8(0x4bd)](_0x1573d6)?.[_0x11abc8(0x6f9)]||''):this[_0x11abc8(0x341)]?.[_0x11abc8(0x211)]();if(!_0x891a36)return;_0x891a36=_0x891a36[_0x11abc8(0x6e6)]('<svg',_0x11abc8(0x468))[_0x11abc8(0x6e6)](/data-fill/g,_0x24a688[_0x11abc8(0x6e2)])[_0x11abc8(0x6e6)](/data-stroke/g,_0x24a688[_0x11abc8(0x3be)]);if(this[_0x11abc8(0x2fd)])_0x24a688[_0x11abc8(0x504)](_0x11abc8(0x476),_0x24a688[_0x11abc8(0x71f)])?_0x891a36=_0x891a36[_0x11abc8(0x6e6)](/stroke-width="/g,_0x11abc8(0x39d)):_0x597a6a[_0x11abc8(0x55a)]();else this[_0x11abc8(0x541)]&&(_0x891a36=this[_0x11abc8(0x569)](_0x891a36,+this[_0x11abc8(0x541)]));this[_0x11abc8(0x412)][_0x11abc8(0x53d)](this[_0x11abc8(0x30c)]['nativeElement'],_0x24a688[_0x11abc8(0x327)],_0x891a36),this[_0x11abc8(0x412)][_0x11abc8(0x50e)](this[_0x11abc8(0x30c)][_0x11abc8(0x501)],'icon');if(_0x5198dd){if(_0x24a688[_0x11abc8(0x598)](_0x24a688[_0x11abc8(0x470)],_0x24a688[_0x11abc8(0x470)]))this[_0x11abc8(0x412)][_0x11abc8(0x4e1)](this[_0x11abc8(0x30c)][_0x11abc8(0x501)],_0x5198dd);else{const _0x287fb2=new _0xa1f05f(_0x3604b3,_0x47d919,0x1),_0x1fba3d=_0x287fb2[_0x11abc8(0x59e)](),_0x2b0396=this[_0x11abc8(0x622)]()?_0x1fba3d:_0x1fba3d===0x0?0x6:_0x1fba3d-0x1,_0x53a992=new _0x211d0f(_0x293d77,_0x24a688[_0x11abc8(0x35f)](_0x4ba4be,0x1),0x0)[_0x11abc8(0x2b4)](),_0x3f1e0f=new _0xb7d6eb(_0x3aeddc,_0x3c0104,0x0)[_0x11abc8(0x2b4)](),_0x35f940=[];for(let _0x137347=_0x24a688[_0x11abc8(0x61e)](_0x2b0396,0x1);_0x24a688[_0x11abc8(0x4c1)](_0x137347,0x0);_0x137347--){const _0x274d63=_0x24a688[_0x11abc8(0x61e)](_0x3f1e0f,_0x137347),_0x144c4b=new _0x2e6924(_0x1efcfb,_0x4f1c16-0x1,_0x274d63);_0x35f940[_0x11abc8(0x64a)]({'date':_0x144c4b,...this[_0x11abc8(0x277)](_0x144c4b),'inCurrentMonth':![]});}for(let _0x2034b7=0x1;_0x24a688['jhqHh'](_0x2034b7,_0x53a992);_0x2034b7++){const _0x5f2b17=new _0x198afb(_0x7c7d8f,_0x1c8694,_0x2034b7);_0x35f940[_0x11abc8(0x64a)]({'date':_0x5f2b17,...this['getDayState'](_0x5f2b17),'inCurrentMonth':!![]});}const _0x1f1c1d=0x2a;let _0x6355ce=0x1;while(_0x35f940['length']<_0x1f1c1d){const _0xa94f0b=new _0x160d19(_0xd4e7aa,_0x24a688[_0x11abc8(0x549)](_0x3669f2,0x1),_0x6355ce++);_0x35f940[_0x11abc8(0x64a)]({'date':_0xa94f0b,...this[_0x11abc8(0x277)](_0xa94f0b),'inCurrentMonth':![]});}return _0x35f940;}}_0x55c2fa&&this[_0x11abc8(0x412)][_0x11abc8(0x50e)](this[_0x11abc8(0x30c)][_0x11abc8(0x501)],_0x55c2fa);}[_0x5d67ea(0x569)](_0x6d0e,_0x168296){const _0x287d7f={'oZcnt':function(_0x5b7cdd,_0x5526c8){return _0x5b7cdd(_0x5526c8);}};return _0x6d0e['replace'](/stroke-width="([\d.]+)"/g,(_0x3ee78e,_0x41d413)=>{const _0xcc0bdd=_0x3b02,_0x2bce88=_0x287d7f['oZcnt'](parseFloat,_0x41d413)+_0x168296;return _0xcc0bdd(0x495)+_0x2bce88+'\x22';});}static ['ɵfac']=_0x5242ab[_0x5d67ea(0x1ec)]({'minVersion':_0x5d67ea(0x4b8),'version':_0x5d67ea(0x2e7),'ngImport':_0x5242ab,'type':IconComponent,'deps':[{'token':_0x5242ab[_0x5d67ea(0x404)]},{'token':AppIconsLibrary},{'token':_0x5242ab[_0x5d67ea(0x696)]},{'token':_0x4e89a5[_0x5d67ea(0x300)]},{'token':_0x5d67ea(0x38d),'attribute':!![]},{'token':'stroke-diff','attribute':!![]}],'target':_0x5242ab[_0x5d67ea(0x356)][_0x5d67ea(0x3b9)]});static ['ɵcmp']=_0x5242ab[_0x5d67ea(0x3ca)]({'minVersion':_0x5d67ea(0x41f),'version':_0x5d67ea(0x2e7),'type':IconComponent,'isStandalone':!![],'selector':_0x5d67ea(0x26a),'inputs':{'icon':_0x5d67ea(0x5e9)},'ngImport':_0x5242ab,'template':'','isInline':!![],'styles':[':host{display:inline-block;line-height:0!important}:host\x20::ng-deep\x20.svg-icon{display:inline-block;font-size:inherit;height:1em;width:1em;overflow:visible;position:relative;vertical-align:-.1em}\x0a'],'changeDetection':_0x5242ab[_0x5d67ea(0x2c1)]['OnPush']});}_0x5242ab['ɵɵngDeclareClassMetadata']({'minVersion':_0x5d67ea(0x4b8),'version':_0x5d67ea(0x2e7),'ngImport':_0x5242ab,'type':IconComponent,'decorators':[{'type':Component,'args':[{'selector':_0x5d67ea(0x26a),'template':'','changeDetection':ChangeDetectionStrategy['OnPush'],'styles':[_0x5d67ea(0x6e4)]}]}],'ctorParameters':()=>[{'type':_0x5242ab['ElementRef']},{'type':AppIconsLibrary},{'type':_0x5242ab[_0x5d67ea(0x696)]},{'type':_0x4e89a5[_0x5d67ea(0x300)]},{'type':undefined,'decorators':[{'type':Attribute,'args':[_0x5d67ea(0x38d)]}]},{'type':undefined,'decorators':[{'type':Attribute,'args':['stroke-diff']}]}],'propDecorators':{'icon':[{'type':Input,'args':[{'required':!![]}]}]}});const HAS_NUMBER=/\d/,HAS_CAPITAL_CASE=/[A-Z]/,HAS_SMALL_CASE=/[a-z]/,HAS_SPECIAL_CHARTERS=/[ !@#$%^&*()_+\-=\[\]{};':"\\|,.<>\/?]/,MIN_LENGTH=/[A-Za-z\d/!@#$%^&*()_+\-=\[\]{};':"\\|,.<>\/?]{8,30}$/,EMAIL=/(\w+@[a-zA-Z_]+?\.[a-zA-Z]{2,9})/,emptyCountry={'code':'','name':'','iso':'','phonePrefix':''};class CountryService{static [_0x5d67ea(0x1fe)]=PhoneNumberUtil[_0x5d67ea(0x3fc)]();static [_0x5d67ea(0x415)]={'AC':_0x5d67ea(0x3f2),'TA':_0x5d67ea(0x458),'XK':'xk','EA':_0x5d67ea(0x382),'IC':'es-cn','CP':_0x5d67ea(0x5e8),'DG':'dg','GG':'gg','JE':'je','IM':'im','CW':'cw','SX':'sx','MF':'mf'};static [_0x5d67ea(0x5d8)]=CountryService['phoneUtil'][_0x5d67ea(0x766)]();static [_0x5d67ea(0x623)]=new Intl[(_0x5d67ea(0x350))](['en'],{'type':'region'});static [_0x5d67ea(0x3f3)]=CountryService[_0x5d67ea(0x5d8)][_0x5d67ea(0x41e)](code=>{const _0x1b888a=_0x5d67ea,jcTxmK={'Kruqn':function(x,y){return x+y;}},name=CountryService[_0x1b888a(0x623)]['of'](code)??'',isoCode=(CountryService[_0x1b888a(0x415)][code]??code)[_0x1b888a(0x59b)](),phonePrefix=jcTxmK[_0x1b888a(0x6d1)]('+',CountryService[_0x1b888a(0x1fe)][_0x1b888a(0x1f8)](code));return{'code':code,'name':name,'iso':isoCode,'phonePrefix':phonePrefix};});static [_0x5d67ea(0x702)]=CountryService[_0x5d67ea(0x3f3)];static[_0x5d67ea(0x32a)](_0x42bd7f,_0x171b79){const _0x1497b3=_0x5d67ea,_0x1729e2={'LjJsz':_0x1497b3(0x435)},_0x2a16ab=new AsYouTypeFormatter(_0x171b79);let _0x35def9='';for(const _0x2f403f of _0x42bd7f){_0x1497b3(0x435)===_0x1729e2[_0x1497b3(0x1e8)]?_0x35def9=_0x2a16ab[_0x1497b3(0x6af)](_0x2f403f):this[_0x1497b3(0x1dc)]();}return _0x35def9;}static[_0x5d67ea(0x3b0)](_0x3e897f){const _0x45c641=_0x5d67ea;return CountryService[_0x45c641(0x702)]['find'](_0x5dd000=>_0x5dd000[_0x45c641(0x482)]===_0x3e897f[_0x45c641(0x1e0)]());}}class ThemeService{[_0x5d67ea(0x33b)];[_0x5d67ea(0x383)]={};[_0x5d67ea(0x389)];constructor(_0xbf95fb){const _0x53f353=_0x5d67ea;this[_0x53f353(0x33b)]=_0xbf95fb;}[_0x5d67ea(0x65a)](_0x542a15,_0x34cace){const _0x28ea67=_0x5d67ea;this[_0x28ea67(0x383)]=_0x542a15,this[_0x28ea67(0x389)]=_0x34cace,this[_0x28ea67(0x1dd)]();}[_0x5d67ea(0x5c1)](){return this['activeTheme'];}[_0x5d67ea(0x330)](_0x4e3ba1){const _0x350cdd=_0x5d67ea;this['activeTheme']=_0x4e3ba1,this[_0x350cdd(0x1dd)]();}['update'](){const _0x4e6705=_0x5d67ea,_0x13f8ee=this['themes'][this['activeTheme']];Object[_0x4e6705(0x5f4)](_0x13f8ee)[_0x4e6705(0x5cc)](([_0xac395d,_0x2ffea6])=>{const _0x31ef70=_0x4e6705;this[_0x31ef70(0x33b)][_0x31ef70(0x296)][_0x31ef70(0x59d)][_0x31ef70(0x53d)](_0xac395d,_0x2ffea6);});}static [_0x5d67ea(0x48b)]=_0x5242ab[_0x5d67ea(0x1ec)]({'minVersion':_0x5d67ea(0x4b8),'version':_0x5d67ea(0x2e7),'ngImport':_0x5242ab,'type':ThemeService,'deps':[{'token':DOCUMENT}],'target':_0x5242ab['ɵɵFactoryTarget'][_0x5d67ea(0x456)]});static [_0x5d67ea(0x719)]=_0x5242ab[_0x5d67ea(0x2ac)]({'minVersion':'12.0.0','version':_0x5d67ea(0x2e7),'ngImport':_0x5242ab,'type':ThemeService,'providedIn':_0x5d67ea(0x27c)});}_0x5242ab[_0x5d67ea(0x50a)]({'minVersion':'12.0.0','version':_0x5d67ea(0x2e7),'ngImport':_0x5242ab,'type':ThemeService,'decorators':[{'type':Injectable,'args':[{'providedIn':_0x5d67ea(0x27c)}]}],'ctorParameters':()=>[{'type':Document,'decorators':[{'type':Inject,'args':[DOCUMENT]}]}]});class UiAccordionComponent{[_0x5d67ea(0x25c)];[_0x5d67ea(0x31a)];[_0x5d67ea(0x487)]=model(![],...ngDevMode?[{'debugName':_0x5d67ea(0x487)}]:[]);[_0x5d67ea(0x288)]=input(0x12c,...ngDevMode?[{'debugName':_0x5d67ea(0x288)}]:[]);[_0x5d67ea(0x272)]=signal('0',...ngDevMode?[{'debugName':_0x5d67ea(0x272)}]:[]);['$transition']=computed(()=>_0x5d67ea(0x5eb)+this[_0x5d67ea(0x288)]()+_0x5d67ea(0x512),...ngDevMode?[{'debugName':'$transition'}]:[]);[_0x5d67ea(0x221)]=signal('hidden',...ngDevMode?[{'debugName':_0x5d67ea(0x221)}]:[]);[_0x5d67ea(0x5ac)]=viewChild(_0x5d67ea(0x3ab),...ngDevMode?[{'debugName':_0x5d67ea(0x5ac)}]:[]);['resizeDebounceTimer']=new Subscription();constructor(_0x3bfe49,_0xbf63be){const _0x24fd42=_0x5d67ea,_0x4927df={'uMXCp':function(_0x5d8e6a,_0x3599a2){return _0x5d8e6a+_0x3599a2;},'TsmmF':_0x24fd42(0x3f1),'LOQAU':function(_0x1d2b90,_0x1e8b8d){return _0x1d2b90(_0x1e8b8d);},'VJbIN':function(_0x4d8f9d,_0x1f5bef){return _0x4d8f9d===_0x1f5bef;},'MCsqT':'qbIGw','SRjqb':function(_0x7efa5,_0x5aae1b){return _0x7efa5(_0x5aae1b);}};this[_0x24fd42(0x25c)]=_0x3bfe49,this[_0x24fd42(0x31a)]=_0xbf63be,_0x4927df[_0x24fd42(0x52e)](effect,()=>{const _0x23efdd=_0x24fd42;if(_0x4927df[_0x23efdd(0x4be)](_0x4927df[_0x23efdd(0x6db)],_0x4927df[_0x23efdd(0x6db)]))_0x4927df['LOQAU'](untracked,()=>{const _0x1c6e5f=_0x23efdd,_0x4ee001={'oBoFk':function(_0x830aad,_0xcff768){return _0x830aad<=_0xcff768;},'YBEUT':function(_0xd4393d,_0x268a7b){return _0x4927df['uMXCp'](_0xd4393d,_0x268a7b);}};if(_0x4927df['TsmmF']===_0x1c6e5f(0x3f1))_0x4927df[_0x1c6e5f(0x217)](timer,this['$durationMs']())[_0x1c6e5f(0x734)](tap(()=>{const _0x2b988e=_0x1c6e5f;this['$overflow'][_0x2b988e(0x330)](this['$isOpen']()?_0x2b988e(0x460):_0x2b988e(0x56e));}),takeUntilDestroyed(this[_0x1c6e5f(0x25c)]))[_0x1c6e5f(0x65c)]();else{if(!_0x5ada15)return'';if(_0x4ee001[_0x1c6e5f(0x679)](_0x2494bb[_0x1c6e5f(0x27b)],_0x4ee001[_0x1c6e5f(0x5e0)](_0x7f0059,_0x2e2aec)))return _0x135b59;const _0xa3dd2c=_0x1811a4[_0x1c6e5f(0x739)](0x0,_0x54007c),_0x2add10=_0x3c06cf[_0x1c6e5f(0x739)](-_0x575280);return _0xa3dd2c+_0x1c6e5f(0x70c)+_0x2add10;}});else{this[_0x23efdd(0x550)][_0x23efdd(0x330)](null);return;}});}['ngAfterViewInit'](){const _0x452388=_0x5d67ea,_0xde1e7={'fGAWw':function(_0x4e3bca,_0x3861e7){return _0x4e3bca(_0x3861e7);},'aPLfQ':function(_0x56399b,_0x2bfad2){return _0x56399b===_0x2bfad2;},'oqsBC':_0x452388(0x2e0),'thZZY':'fsdln'};this[_0x452388(0x239)]();const _0x4699d1=this['$content']();if(_0x4699d1&&_0xde1e7[_0x452388(0x588)](isPlatformBrowser,this[_0x452388(0x31a)])){if(_0xde1e7[_0x452388(0x218)](_0xde1e7['oqsBC'],_0xde1e7[_0x452388(0x317)])){const _0x407930=this[_0x452388(0x264)]['toArray'](),_0x32cb7f=_0x407930[_0x452388(0x41e)](_0x308f0a=>_0x308f0a[_0x452388(0x501)]['value'])[_0x452388(0x494)]('');this[_0x452388(0x315)](_0x32cb7f);}else{const _0x2e2b89=new ResizeObserver(()=>{const _0x91645c=_0x452388;this['resizeDebounceTimer'][_0x91645c(0x3e3)](),this[_0x91645c(0x4cb)]=asyncScheduler[_0x91645c(0x53f)](()=>{const _0x15c2df=_0x91645c;this[_0x15c2df(0x239)]();});});_0x2e2b89['observe'](_0x4699d1[_0x452388(0x501)]),this['destroyRef'][_0x452388(0x289)](()=>_0x2e2b89['disconnect']());}}}[_0x5d67ea(0x239)](){const _0x5dbe53=_0x5d67ea,_0xf35267={'RbKZv':function(_0x12eec1,_0x2adcd5){return _0x12eec1+_0x2adcd5;}},_0x3ceff5=this[_0x5dbe53(0x5ac)]();if(_0x3ceff5){const _0x27b162=_0x3ceff5[_0x5dbe53(0x501)][_0x5dbe53(0x393)];this[_0x5dbe53(0x272)][_0x5dbe53(0x330)](_0xf35267[_0x5dbe53(0x757)](_0x27b162,'px'));}}static [_0x5d67ea(0x48b)]=_0x5242ab[_0x5d67ea(0x1ec)]({'minVersion':_0x5d67ea(0x4b8),'version':_0x5d67ea(0x2e7),'ngImport':_0x5242ab,'type':UiAccordionComponent,'deps':[{'token':_0x5242ab[_0x5d67ea(0x233)]},{'token':PLATFORM_ID}],'target':_0x5242ab[_0x5d67ea(0x356)][_0x5d67ea(0x3b9)]});static [_0x5d67ea(0x2a8)]=_0x5242ab[_0x5d67ea(0x3ca)]({'minVersion':_0x5d67ea(0x20b),'version':'21.1.1','type':UiAccordionComponent,'isStandalone':!![],'selector':_0x5d67ea(0x665),'inputs':{'$isOpen':{'classPropertyName':_0x5d67ea(0x487),'publicName':_0x5d67ea(0x487),'isSignal':!![],'isRequired':![],'transformFunction':null},'$durationMs':{'classPropertyName':_0x5d67ea(0x288),'publicName':_0x5d67ea(0x288),'isSignal':!![],'isRequired':![],'transformFunction':null}},'outputs':{'$isOpen':_0x5d67ea(0x215)},'viewQueries':[{'propertyName':_0x5d67ea(0x5ac),'first':!![],'predicate':['container'],'descendants':!![],'isSignal':!![]}],'ngImport':_0x5242ab,'template':_0x5d67ea(0x65f),'styles':[_0x5d67ea(0x3e5)],'dependencies':[{'kind':'directive','type':NgStyle,'selector':'[ngStyle]','inputs':[_0x5d67ea(0x3c9)]}],'changeDetection':_0x5242ab['ChangeDetectionStrategy'][_0x5d67ea(0x4af)]});}_0x5242ab[_0x5d67ea(0x50a)]({'minVersion':_0x5d67ea(0x4b8),'version':_0x5d67ea(0x2e7),'ngImport':_0x5242ab,'type':UiAccordionComponent,'decorators':[{'type':Component,'args':[{'selector':_0x5d67ea(0x665),'standalone':!![],'imports':[NgStyle],'changeDetection':ChangeDetectionStrategy[_0x5d67ea(0x4af)],'template':_0x5d67ea(0x65f),'styles':[_0x5d67ea(0x3e5)]}]}],'ctorParameters':()=>[{'type':_0x5242ab[_0x5d67ea(0x233)]},{'type':undefined,'decorators':[{'type':Inject,'args':[PLATFORM_ID]}]}],'propDecorators':{'$isOpen':[{'type':_0x5242ab[_0x5d67ea(0x714)],'args':[{'isSignal':!![],'alias':'$isOpen','required':![]}]},{'type':_0x5242ab[_0x5d67ea(0x42a)],'args':[_0x5d67ea(0x215)]}],'$durationMs':[{'type':_0x5242ab['Input'],'args':[{'isSignal':!![],'alias':_0x5d67ea(0x288),'required':![]}]}],'$content':[{'type':_0x5242ab[_0x5d67ea(0x54a)],'args':[_0x5d67ea(0x3ab),{'isSignal':!![]}]}]}});var AlertType;(function(_0x17ec19){const _0x1feb09=_0x5d67ea,_0x55d106={'EFsAW':_0x1feb09(0x533),'cJyNQ':_0x1feb09(0x58a),'yDONm':_0x1feb09(0x42e),'VOEmK':_0x1feb09(0x587),'TrNyE':_0x1feb09(0x6a6),'RimAn':'custom'};_0x17ec19[_0x1feb09(0x1e1)]=_0x55d106[_0x1feb09(0x6fd)],_0x17ec19[_0x55d106[_0x1feb09(0x743)]]=_0x1feb09(0x285),_0x17ec19[_0x55d106[_0x1feb09(0x3b2)]]=_0x55d106['VOEmK'],_0x17ec19[_0x55d106[_0x1feb09(0x4a7)]]=_0x1feb09(0x75e),_0x17ec19[_0x1feb09(0x261)]=_0x55d106[_0x1feb09(0x45b)];}(AlertType||(AlertType={})));class Alert{['id']=ulid();[_0x5d67ea(0x6a1)]=AlertType[_0x5d67ea(0x1e1)];[_0x5d67ea(0x381)]='';[_0x5d67ea(0x20a)]='';[_0x5d67ea(0x5e9)]='';[_0x5d67ea(0x2b5)];[_0x5d67ea(0x4a1)];constructor(_0x233845){const _0x45eb25=_0x5d67ea;Object[_0x45eb25(0x42f)](this,_0x233845);}}class UiAlertMessagesService{[_0x5d67ea(0x3de)];['router'];[_0x5d67ea(0x54f)]=signal([],...ngDevMode?[{'debugName':_0x5d67ea(0x54f)}]:[]);[_0x5d67ea(0x341)];[_0x5d67ea(0x2b5)]=null;constructor(_0x10571a,_0x265dc7){const _0x1f0adc=_0x5d67ea;this[_0x1f0adc(0x3de)]=_0x10571a,this[_0x1f0adc(0x2ae)]=_0x265dc7;}[_0x5d67ea(0x533)](_0xcab383){const _0x9babd0=_0x5d67ea,_0x3141f4={'FuHjg':'Success!','TrXbW':'success.svg'};this[_0x9babd0(0x247)](new Alert({'title':_0xcab383['title']??_0x3141f4[_0x9babd0(0x5b3)],'type':AlertType[_0x9babd0(0x1e1)],'message':_0xcab383['message'],'icon':_0x3141f4['TrXbW']}));}[_0x5d67ea(0x285)](_0x3fb3dc){const _0x4ee5d6=_0x5d67ea,_0x282cf1={'BmIcE':_0x4ee5d6(0x2b6)};this[_0x4ee5d6(0x247)](new Alert({'title':_0x3fb3dc['title']??_0x282cf1[_0x4ee5d6(0x40a)],'type':AlertType[_0x4ee5d6(0x58a)],'message':_0x3fb3dc[_0x4ee5d6(0x20a)],'icon':_0x4ee5d6(0x2a5)}));}['information'](_0x489d63){const _0x53529f=_0x5d67ea,_0x492da6={'fJwAl':'info.svg'};this[_0x53529f(0x247)](new Alert({'title':_0x489d63[_0x53529f(0x381)]??_0x53529f(0x57d),'type':AlertType[_0x53529f(0x42e)],'message':_0x489d63['message'],'icon':_0x492da6['fJwAl']}));}[_0x5d67ea(0x75e)](_0x12d01e){const _0x17e490=_0x5d67ea,_0x1d2baf={'ADozG':_0x17e490(0x3a5)};this[_0x17e490(0x247)](new Alert({'title':_0x12d01e[_0x17e490(0x381)]??_0x1d2baf[_0x17e490(0x6ff)],'type':AlertType[_0x17e490(0x6a6)],'message':_0x12d01e[_0x17e490(0x20a)],'icon':'warning.svg'}));}['remove'](_0x4c5b3){const _0x177be2=_0x5d67ea,_0x4e0699={'HCHIm':function(_0x4f6d43,_0x2d79ac){return _0x4f6d43||_0x2d79ac;},'qDjiS':function(_0x3edd04,_0x3fbdbd){return _0x3edd04>_0x3fbdbd;},'eYaSe':function(_0x4dd284,_0x33f081){return _0x4dd284<_0x33f081;},'CbwMx':function(_0x7732f5,_0xdff828){return _0x7732f5===_0xdff828;},'iAJZd':_0x177be2(0x567),'rilAD':function(_0x1f5ded,_0x279b1){return _0x1f5ded(_0x279b1);},'yQPMe':function(_0x52bd63,_0x291f3a){return _0x52bd63(_0x291f3a);},'fAivE':function(_0x24253e,_0x263952,_0x5b8014){return _0x24253e(_0x263952,_0x5b8014);},'DqUcW':function(_0xb7e991,_0x2f56af){return _0xb7e991(_0x2f56af);}};timer(0xfa)[_0x177be2(0x734)](_0x4e0699['DqUcW'](tap,()=>{const _0x4cc090=_0x177be2;this[_0x4cc090(0x54f)]['set'](this[_0x4cc090(0x54f)]()[_0x4cc090(0x2cc)](_0x49a9a7=>_0x49a9a7!==_0x4c5b3));}),switchMap(()=>{const _0x494fda=_0x177be2;if(!this['$alerts']()[_0x494fda(0x27b)])return _0x4e0699['rilAD'](timer,0xfa)[_0x494fda(0x734)](_0x4e0699[_0x494fda(0x6d6)](tap,()=>{const _0x2c0053=_0x494fda,_0x390462={'EfyCi':function(_0x1eba45,_0x25c338){return _0x4e0699['HCHIm'](_0x1eba45,_0x25c338);},'ESRYS':function(_0x52f091,_0x167fa1){const _0x4455fc=_0x3b02;return _0x4e0699[_0x4455fc(0x5a3)](_0x52f091,_0x167fa1);},'Frcfh':function(_0x4b7baf,_0x55a223){const _0x1ea969=_0x3b02;return _0x4e0699[_0x1ea969(0x338)](_0x4b7baf,_0x55a223);}};if(_0x4e0699[_0x2c0053(0x2d6)](_0x2c0053(0x567),_0x4e0699[_0x2c0053(0x1ff)]))this[_0x2c0053(0x341)]?.[_0x2c0053(0x211)]();else{if(_0x390462[_0x2c0053(0x457)](!_0x45c20b,!_0x533905))return![];const _0x363cec=new _0x592666(_0x2f4c2c[_0x2c0053(0x1fc)](),_0x4ef551[_0x2c0053(0x4f1)](),_0x51c624[_0x2c0053(0x2b4)]())['getTime'](),_0x28f1f2=new _0x9f214f(_0x57ec24[_0x2c0053(0x1fc)](),_0x13e5e9[_0x2c0053(0x4f1)](),_0x21af2e[_0x2c0053(0x2b4)]())[_0x2c0053(0x6cc)](),_0x536946=new _0x5bc67a(_0x38ef49['getFullYear'](),_0x1abfda[_0x2c0053(0x4f1)](),_0x39fe6d[_0x2c0053(0x2b4)]())[_0x2c0053(0x6cc)]();return _0x390462[_0x2c0053(0x5a0)](_0x363cec,_0x28f1f2)&&_0x390462['Frcfh'](_0x363cec,_0x536946);}}));return _0x4e0699['fAivE'](scheduled,[0x0],asyncScheduler);}))[_0x177be2(0x65c)]();}[_0x5d67ea(0x2ba)](){const _0x4c2958=_0x5d67ea,_0x1a2492={'ToFqy':function(_0xfe1e84,_0x4e2de2){return _0xfe1e84===_0x4e2de2;},'rEVHU':_0x4c2958(0x710),'uOBGY':function(_0x28a330,_0x209091){return _0x28a330(_0x209091);},'wSYIt':function(_0x4c895c,_0x40ef79){return _0x4c895c(_0x40ef79);}};this[_0x4c2958(0x54f)][_0x4c2958(0x330)]([]),_0x1a2492[_0x4c2958(0x70e)](timer,0xfa)[_0x4c2958(0x734)](_0x1a2492[_0x4c2958(0x3c3)](tap,()=>{const _0x5ad093=_0x4c2958;_0x1a2492[_0x5ad093(0x489)](_0x1a2492[_0x5ad093(0x5e1)],_0x5ad093(0x710))?this[_0x5ad093(0x341)]?.[_0x5ad093(0x211)]():this[_0x5ad093(0x57c)](_0x4ee7f7);}))[_0x4c2958(0x65c)]();}['init'](_0x122f70){const _0x4a04d6=_0x5d67ea;this['component']=_0x122f70;const _0x8f37d9=this[_0x4a04d6(0x3de)][_0x4a04d6(0x6b5)]()[_0x4a04d6(0x4ac)](),_0x40f270=new OverlayConfig({'positionStrategy':_0x8f37d9});this[_0x4a04d6(0x341)]=this[_0x4a04d6(0x3de)][_0x4a04d6(0x4f8)](_0x40f270),this['overlayRef'][_0x4a04d6(0x28b)](new ComponentPortal(this[_0x4a04d6(0x2b5)]));}['open'](_0x58a2b1){const _0x5b699a=_0x5d67ea,_0x5c2bae={'dpara':function(_0x5be6d4,_0x27df7d){return _0x5be6d4===_0x27df7d;},'glkpC':function(_0x3d0556,_0x2b690b){return _0x3d0556+_0x2b690b;},'dByuy':'[UiAlertMessagesService]\x20AlertMessagesComponent\x20has\x20not\x20been\x20initialized.\x20','fGkvX':_0x5b699a(0x33d),'DgXEs':function(_0x3484b8,_0x27118c){return _0x3484b8===_0x27118c;},'boFRd':_0x5b699a(0x6df),'ScfUM':function(_0x3106b6,_0x54c223){return _0x3106b6(_0x54c223);},'uzubH':function(_0xb051b9,_0x345a64){return _0xb051b9(_0x345a64);}};if(!this['component']){if(_0x5c2bae[_0x5b699a(0x54b)]('WnBEX','DwHom')){const _0x140da7=_0x4bae95[_0x5b699a(0x498)][0x0];this[_0x5b699a(0x293)]=_0x140da7['clientX'],this[_0x5b699a(0x2c4)]=_0x140da7['clientY'],this[_0x5b699a(0x204)]=!![],this[_0x5b699a(0x5c3)][_0x5b699a(0x330)]('grabbing');}else throw new Error(_0x5c2bae[_0x5b699a(0x49a)](_0x5c2bae[_0x5b699a(0x677)],_0x5c2bae[_0x5b699a(0x406)]));}!this['$alerts']()[_0x5b699a(0x27b)]&&(_0x5c2bae[_0x5b699a(0x69a)](_0x5b699a(0x24c),_0x5c2bae['boFRd'])?this[_0x5b699a(0x412)]['removeClass'](this[_0x5b699a(0x30c)][_0x5b699a(0x501)],_0x5b699a(0x49e)):this[_0x5b699a(0x65a)](this[_0x5b699a(0x2b5)])),this[_0x5b699a(0x2ae)][_0x5b699a(0x3e1)][_0x5b699a(0x734)](filter(_0x590381=>_0x590381 instanceof NavigationEnd),_0x5c2bae[_0x5b699a(0x47e)](tap,()=>{const _0x1dcde5=_0x5b699a;this[_0x1dcde5(0x2ba)]();}),take(0x1))[_0x5b699a(0x65c)](),this[_0x5b699a(0x54f)]['set']([...this[_0x5b699a(0x54f)](),_0x58a2b1]),_0x5c2bae[_0x5b699a(0x37c)](timer,0x2710)['pipe'](tap(()=>{const _0x2fbfee=_0x5b699a;this[_0x2fbfee(0x472)](_0x58a2b1);}))[_0x5b699a(0x65c)]();}static [_0x5d67ea(0x48b)]=_0x5242ab[_0x5d67ea(0x1ec)]({'minVersion':_0x5d67ea(0x4b8),'version':_0x5d67ea(0x2e7),'ngImport':_0x5242ab,'type':UiAlertMessagesService,'deps':[{'token':_0xffc30d[_0x5d67ea(0x1f4)]},{'token':_0x42c800[_0x5d67ea(0x591)]}],'target':_0x5242ab[_0x5d67ea(0x356)][_0x5d67ea(0x456)]});static [_0x5d67ea(0x719)]=_0x5242ab['ɵɵngDeclareInjectable']({'minVersion':_0x5d67ea(0x4b8),'version':'21.1.1','ngImport':_0x5242ab,'type':UiAlertMessagesService,'providedIn':'root'});}_0x5242ab['ɵɵngDeclareClassMetadata']({'minVersion':_0x5d67ea(0x4b8),'version':_0x5d67ea(0x2e7),'ngImport':_0x5242ab,'type':UiAlertMessagesService,'decorators':[{'type':Injectable,'args':[{'providedIn':_0x5d67ea(0x27c)}]}],'ctorParameters':()=>[{'type':_0xffc30d[_0x5d67ea(0x1f4)]},{'type':_0x42c800[_0x5d67ea(0x591)]}]});class UiAvatarDirective{['$class']=input[_0x5d67ea(0x4dd)](...ngDevMode?[{'debugName':_0x5d67ea(0x535)}]:[]);[_0x5d67ea(0x224)]=input[_0x5d67ea(0x4dd)](...ngDevMode?[{'debugName':_0x5d67ea(0x224)}]:[]);[_0x5d67ea(0x40e)]=input['required'](...ngDevMode?[{'debugName':'$acronym'}]:[]);[_0x5d67ea(0x24f)]=signal('',...ngDevMode?[{'debugName':_0x5d67ea(0x24f)}]:[]);['$textColor']=signal('',...ngDevMode?[{'debugName':_0x5d67ea(0x461)}]:[]);[_0x5d67ea(0x6bc)]=signal('',...ngDevMode?[{'debugName':_0x5d67ea(0x6bc)}]:[]);['$canShowAvatar']=signal(!![],...ngDevMode?[{'debugName':_0x5d67ea(0x61f)}]:[]);constructor(){const _0xd92ec2=_0x5d67ea,_0x47892b={'pimNP':_0xd92ec2(0x385),'TDtNz':function(_0x279538,_0x864d74){return _0x279538!==_0x864d74;},'VrflD':_0xd92ec2(0x2d9),'rkEoz':function(_0x379af6,_0xbcafe9,_0x7fa285,_0x5a6103){return _0x379af6(_0xbcafe9,_0x7fa285,_0x5a6103);}};effect(()=>{const _0x57360c=_0xd92ec2,_0x116607={'tPEEw':_0x47892b[_0x57360c(0x496)]};if(_0x47892b['TDtNz'](_0x47892b[_0x57360c(0x2d4)],_0x57360c(0x513))){let _0x12cf3b='';this['$acronym']()[_0x57360c(0x213)]('\x20')[_0x57360c(0x5cc)](_0x44dede=>{_0x12cf3b=_0x12cf3b+_0x44dede[0x0];}),this[_0x57360c(0x24f)][_0x57360c(0x330)](_0x47892b[_0x57360c(0x2c9)](stringToHslColor,this[_0x57360c(0x40e)](),0x64,0x55)),this[_0x57360c(0x461)][_0x57360c(0x330)](_0x47892b[_0x57360c(0x2c9)](stringToHslColor,this[_0x57360c(0x40e)](),0x64,0x23)),this[_0x57360c(0x6bc)][_0x57360c(0x330)](_0x12cf3b);}else this[_0x57360c(0x1de)]?.['detach'](),this['backdropRef']?.[_0x57360c(0x373)](),this['backdropRef']=_0x1e53c6,_0xe1db14[_0x57360c(0x296)][_0x57360c(0x59d)][_0x57360c(0x53d)](_0x116607[_0x57360c(0x31b)],_0x57360c(0x24e));});}static [_0x5d67ea(0x48b)]=_0x5242ab[_0x5d67ea(0x1ec)]({'minVersion':_0x5d67ea(0x4b8),'version':_0x5d67ea(0x2e7),'ngImport':_0x5242ab,'type':UiAvatarDirective,'deps':[],'target':_0x5242ab[_0x5d67ea(0x356)][_0x5d67ea(0x521)]});static [_0x5d67ea(0x60a)]=_0x5242ab['ɵɵngDeclareDirective']({'minVersion':_0x5d67ea(0x44f),'version':_0x5d67ea(0x2e7),'type':UiAvatarDirective,'isStandalone':!![],'selector':_0x5d67ea(0x5c2),'inputs':{'$class':{'classPropertyName':_0x5d67ea(0x535),'publicName':_0x5d67ea(0x535),'isSignal':!![],'isRequired':!![],'transformFunction':null},'$src':{'classPropertyName':_0x5d67ea(0x224),'publicName':_0x5d67ea(0x224),'isSignal':!![],'isRequired':!![],'transformFunction':null},'$acronym':{'classPropertyName':_0x5d67ea(0x40e),'publicName':'$acronym','isSignal':!![],'isRequired':!![],'transformFunction':null}},'ngImport':_0x5242ab});}_0x5242ab[_0x5d67ea(0x50a)]({'minVersion':_0x5d67ea(0x4b8),'version':_0x5d67ea(0x2e7),'ngImport':_0x5242ab,'type':UiAvatarDirective,'decorators':[{'type':Directive,'args':[{'selector':'app-ui-avatar'}]}],'ctorParameters':()=>[],'propDecorators':{'$class':[{'type':_0x5242ab[_0x5d67ea(0x714)],'args':[{'isSignal':!![],'alias':_0x5d67ea(0x535),'required':!![]}]}],'$src':[{'type':_0x5242ab['Input'],'args':[{'isSignal':!![],'alias':_0x5d67ea(0x224),'required':!![]}]}],'$acronym':[{'type':_0x5242ab['Input'],'args':[{'isSignal':!![],'alias':_0x5d67ea(0x40e),'required':!![]}]}]}});class UiDailyCalendarDirective{[_0x5d67ea(0x2be)]=[_0x5d67ea(0x257),_0x5d67ea(0x74c),_0x5d67ea(0x2c8),_0x5d67ea(0x2ee),'Fri',_0x5d67ea(0x43a),'Sun'];[_0x5d67ea(0x30d)]=[_0x5d67ea(0x58b),_0x5d67ea(0x257),_0x5d67ea(0x74c),'Wed',_0x5d67ea(0x2ee),_0x5d67ea(0x439),_0x5d67ea(0x43a)];[_0x5d67ea(0x5f0)]=input(![],...ngDevMode?[{'debugName':_0x5d67ea(0x5f0)}]:[]);get[_0x5d67ea(0x5a4)](){const _0x5c19c3=_0x5d67ea;return this[_0x5c19c3(0x622)]()?this[_0x5c19c3(0x30d)]:this['weekDaysEuropean'];}[_0x5d67ea(0x425)]=model(null,...ngDevMode?[{'debugName':'$dateStart'}]:[]);[_0x5d67ea(0x4db)]=model(null,...ngDevMode?[{'debugName':_0x5d67ea(0x4db)}]:[]);[_0x5d67ea(0x550)]=signal(null,...ngDevMode?[{'debugName':_0x5d67ea(0x550)}]:[]);[_0x5d67ea(0x5e7)]=model[_0x5d67ea(0x4dd)](...ngDevMode?[{'debugName':_0x5d67ea(0x5e7)}]:[]);[_0x5d67ea(0x6ac)]=model[_0x5d67ea(0x4dd)](...ngDevMode?[{'debugName':'$currentYear'}]:[]);[_0x5d67ea(0x5e3)]=output();[_0x5d67ea(0x26b)]=output();[_0x5d67ea(0x3ae)]=computed(()=>{const _0x423483=_0x5d67ea,year=this[_0x423483(0x6ac)](),month=this['$currentMonth']();return this['generateCalendar'](month,year);},...ngDevMode?[{'debugName':_0x5d67ea(0x3ae)}]:[]);[_0x5d67ea(0x39a)](_0x2efc3,_0x4b6a71){const _0x530f82=_0x5d67ea,_0x579523={'UnRQa':function(_0x383a8f,_0x3f3b8d){return _0x383a8f===_0x3f3b8d;},'CAyaB':function(_0x34839b,_0x19b572){return _0x34839b-_0x19b572;},'tfKyB':function(_0x3c87e5,_0x4ddd92){return _0x3c87e5+_0x4ddd92;},'jqKdS':function(_0x3e0201,_0x232b19){return _0x3e0201-_0x232b19;},'HUjdv':_0x530f82(0x214),'Ljrgc':function(_0x14d322,_0x58542d){return _0x14d322-_0x58542d;},'wnLoZ':function(_0x18f542,_0xe4bb7){return _0x18f542<=_0xe4bb7;},'lxgWL':function(_0x8768e2,_0xb79bbf){return _0x8768e2!==_0xb79bbf;},'vTlxN':_0x530f82(0x307),'zLhLV':'gEdjq','Deloe':function(_0x52bb87,_0x323902){return _0x52bb87+_0x323902;}},_0x20ea19=new Date(_0x4b6a71,_0x2efc3,0x1),_0x1ef16e=_0x20ea19[_0x530f82(0x59e)](),_0x235cb2=this[_0x530f82(0x622)]()?_0x1ef16e:_0x579523[_0x530f82(0x4d2)](_0x1ef16e,0x0)?0x6:_0x579523['CAyaB'](_0x1ef16e,0x1),_0x5daefb=new Date(_0x4b6a71,_0x579523['tfKyB'](_0x2efc3,0x1),0x0)['getDate'](),_0x1efd82=new Date(_0x4b6a71,_0x2efc3,0x0)[_0x530f82(0x2b4)](),_0x1c1f23=[];for(let _0x2933c4=_0x579523[_0x530f82(0x53c)](_0x235cb2,0x1);_0x2933c4>=0x0;_0x2933c4--){if(_0x579523[_0x530f82(0x614)]===_0x579523['HUjdv']){const _0x380fe6=_0x579523[_0x530f82(0x3aa)](_0x1efd82,_0x2933c4),_0x26fa9c=new Date(_0x4b6a71,_0x579523[_0x530f82(0x3aa)](_0x2efc3,0x1),_0x380fe6);_0x1c1f23[_0x530f82(0x64a)]({'date':_0x26fa9c,...this[_0x530f82(0x277)](_0x26fa9c),'inCurrentMonth':![]});}else this[_0x530f82(0x412)][_0x530f82(0x50e)](this[_0x530f82(0x30c)][_0x530f82(0x501)],_0x55d626);}for(let _0x41e5c3=0x1;_0x579523[_0x530f82(0x316)](_0x41e5c3,_0x5daefb);_0x41e5c3++){if(_0x579523[_0x530f82(0x57a)](_0x579523['vTlxN'],_0x579523[_0x530f82(0x47a)]))this[_0x530f82(0x341)]=_0x1b5fef,this[_0x530f82(0x25c)]=_0x5b667c,this[_0x530f82(0x5f6)]=_0x4ac2e3,this[_0x530f82(0x341)][_0x530f82(0x658)]()[_0x530f82(0x734)](_0x1e95c7(this[_0x530f82(0x25c)]))['subscribe'](()=>{const _0x3723f4=_0x530f82;this['closed']['next'](),this['closed'][_0x3723f4(0x673)](),this['overlayRef'][_0x3723f4(0x373)]();});else{const _0x5b938a=new Date(_0x4b6a71,_0x2efc3,_0x41e5c3);_0x1c1f23[_0x530f82(0x64a)]({'date':_0x5b938a,...this['getDayState'](_0x5b938a),'inCurrentMonth':!![]});}}const _0x1102b9=0x2a;let _0x48b316=0x1;while(_0x1c1f23['length']<_0x1102b9){if('DLyQa'!==_0x579523[_0x530f82(0x46d)]){const _0x2571b5=new Date(_0x4b6a71,_0x579523[_0x530f82(0x202)](_0x2efc3,0x1),_0x48b316++);_0x1c1f23[_0x530f82(0x64a)]({'date':_0x2571b5,...this[_0x530f82(0x277)](_0x2571b5),'inCurrentMonth':![]});}else this['dropDownService'][_0x530f82(0x4a9)]['next']({'width':_0x4ac8c0[_0x530f82(0x501)]['offsetWidth'],'height':_0x5db08c[_0x530f82(0x501)][_0x530f82(0x393)]});}return _0x1c1f23;}[_0x5d67ea(0x262)](_0x4a06ce,_0x3a6444){const _0x1d0b98=_0x5d67ea,_0x506f5d={'NUpec':function(_0x372481,_0x202591){return _0x372481||_0x202591;},'LJDFz':function(_0xd30a09,_0x94aa13){return _0xd30a09===_0x94aa13;},'FuepE':function(_0x3d32c5,_0x4ae2aa){return _0x3d32c5===_0x4ae2aa;}};if(_0x506f5d['NUpec'](!_0x4a06ce,!_0x3a6444))return![];return _0x506f5d[_0x1d0b98(0x64b)](_0x4a06ce[_0x1d0b98(0x1fc)](),_0x3a6444[_0x1d0b98(0x1fc)]())&&_0x506f5d[_0x1d0b98(0x652)](_0x4a06ce['getMonth'](),_0x3a6444['getMonth']())&&_0x506f5d[_0x1d0b98(0x652)](_0x4a06ce[_0x1d0b98(0x2b4)](),_0x3a6444[_0x1d0b98(0x2b4)]());}[_0x5d67ea(0x4c5)](_0x476abc,_0x596086,_0x83d123){const _0x1f5bbb=_0x5d67ea,_0x21bd8c={'zrKHy':function(_0x566048,_0x26533a){return _0x566048>_0x26533a;},'zJgzS':function(_0x17157f,_0x3b8c72){return _0x17157f<_0x3b8c72;}};if(!_0x596086||!_0x83d123)return![];const _0x39f95d=new Date(_0x476abc[_0x1f5bbb(0x1fc)](),_0x476abc[_0x1f5bbb(0x4f1)](),_0x476abc['getDate']())[_0x1f5bbb(0x6cc)](),_0x3d5cfd=new Date(_0x596086['getFullYear'](),_0x596086[_0x1f5bbb(0x4f1)](),_0x596086[_0x1f5bbb(0x2b4)]())[_0x1f5bbb(0x6cc)](),_0x475801=new Date(_0x83d123[_0x1f5bbb(0x1fc)](),_0x83d123['getMonth'](),_0x83d123[_0x1f5bbb(0x2b4)]())[_0x1f5bbb(0x6cc)]();return _0x21bd8c['zrKHy'](_0x39f95d,_0x3d5cfd)&&_0x21bd8c['zJgzS'](_0x39f95d,_0x475801);}[_0x5d67ea(0x277)](_0x4b758e){const _0x2311c6=_0x5d67ea,_0x54c08c={'sQaah':function(_0x4575e3,_0x5b27a1){return _0x4575e3(_0x5b27a1);},'oPHRt':function(_0x4998c3,_0x101a81){return _0x4998c3(_0x101a81);},'bMaIG':'text','wKMIv':function(_0x1faaf4,_0x484264){return _0x1faaf4+_0x484264;},'hoGIt':function(_0xa68c5d,_0x3a2e10){return _0xa68c5d&&_0x3a2e10;},'QzADK':function(_0x438f50,_0x4d0b13){return _0x438f50===_0x4d0b13;},'nPbys':_0x2311c6(0x5df),'ysYRB':function(_0x4db1cc,_0x5d8115){return _0x4db1cc>_0x5d8115;},'kItSk':'afzvx','iVdfx':_0x2311c6(0x553),'aLJcx':function(_0x24068e,_0x9db746){return _0x24068e>_0x9db746;},'bELHH':function(_0x3f846c,_0x8d69d3){return _0x3f846c<=_0x8d69d3;}},_0x48463a=this[_0x2311c6(0x550)](),_0x5c195b=this['$dateStart'](),_0x3a411e=this[_0x2311c6(0x4db)]();if(!this['$isRangeSelection']())return{'isSelected':this[_0x2311c6(0x262)](_0x5c195b,_0x4b758e),'isStart':![],'isEnd':![],'inRange':![],'inHoverRange':![]};const _0x1fe0a7=this[_0x2311c6(0x262)](_0x5c195b,_0x4b758e),_0x3053b4=this['isSameDay'](_0x3a411e,_0x4b758e),_0x35d1d9=this[_0x2311c6(0x4c5)](_0x4b758e,_0x5c195b,_0x3a411e);let _0xf3370d=![];if(_0x54c08c[_0x2311c6(0x552)](_0x5c195b,!_0x3a411e)&&_0x48463a){if(_0x54c08c['QzADK']('imSlz',_0x54c08c[_0x2311c6(0x30a)]))return _0x54c08c[_0x2311c6(0x3ba)](_0xb4c5e1,0xfa)['pipe'](_0x54c08c[_0x2311c6(0x6e0)](_0x44d6c1,()=>{const _0x77b3ca=_0x2311c6;this[_0x77b3ca(0x341)]?.[_0x77b3ca(0x211)]();}));else{const _0x15324c=_0x4b758e[_0x2311c6(0x6cc)](),_0x5c89e9=_0x5c195b[_0x2311c6(0x6cc)](),_0x3086c5=_0x48463a[_0x2311c6(0x6cc)]();if(_0x54c08c['ysYRB'](_0x3086c5,_0x5c89e9)){if(_0x54c08c[_0x2311c6(0x663)](_0x54c08c[_0x2311c6(0x3d9)],_0x54c08c[_0x2311c6(0x509)])){_0x10fc49['preventDefault']();const _0x473463=_0x39ec48['clipboardData']?.[_0x2311c6(0x54c)](_0x54c08c[_0x2311c6(0x39c)])||'',_0x22fbe5=_0x2b38b0[_0x2311c6(0x702)][_0x2311c6(0x260)](_0x1baf66=>_0x473463[_0x2311c6(0x41a)](_0x1baf66[_0x2311c6(0x6bb)]));if(_0x22fbe5){const _0x21e411=_0x473463[_0x2311c6(0x739)](_0x22fbe5[_0x2311c6(0x6bb)][_0x2311c6(0x27b)]);this['setCountry'](_0x22fbe5),this[_0x2311c6(0x315)](_0x21e411);}else this['onInput'](_0x54c08c[_0x2311c6(0x4c4)](this[_0x2311c6(0x3f5)](),_0x473463));}else _0xf3370d=_0x54c08c[_0x2311c6(0x764)](_0x15324c,_0x5c89e9)&&_0x54c08c[_0x2311c6(0x3b1)](_0x15324c,_0x3086c5);}}}const _0xbbc530=this[_0x2311c6(0x262)](_0x5c195b,_0x4b758e)||this['isSameDay'](_0x3a411e,_0x4b758e),_0x25f71b=_0x1fe0a7||_0x3053b4||!_0x3a411e&&_0x1fe0a7||_0xbbc530;return{'isSelected':_0x25f71b,'isStart':_0x1fe0a7,'isEnd':_0x3053b4,'inRange':_0x35d1d9,'inHoverRange':_0xf3370d};}[_0x5d67ea(0x206)](_0x1dca01,_0x1657f5){const _0x569b3b=_0x5d67ea,_0x45aaff={'pNvOo':function(_0x2bdcbe,_0x3265d6){return _0x2bdcbe(_0x3265d6);},'MYFCS':function(_0x4aef40,_0xed6dc9){return _0x4aef40>_0xed6dc9;},'iEmXT':function(_0xd1b997,_0x3373ae){return _0xd1b997+_0x3373ae;},'aKFea':function(_0x400d93,_0x3a49ea){return _0x400d93===_0x3a49ea;},'KHhVr':'zBEnS','lPnLW':function(_0x39b66a,_0x502b90){return _0x39b66a||_0x502b90;},'zrPrP':function(_0x40fefd,_0x5d27a5){return _0x40fefd!==_0x5d27a5;},'eGuHR':'WWVhk','xVuIS':function(_0x25bf23,_0x2d92c6){return _0x25bf23<_0x2d92c6;},'rxCoK':function(_0x3025ea,_0x5196b6){return _0x3025ea!==_0x5196b6;},'gaeES':_0x569b3b(0x68d)};if(_0x1657f5)return;const _0x552ce4=this[_0x569b3b(0x425)](),_0x548c7c=this[_0x569b3b(0x4db)]();if(!_0x1dca01){if(_0x45aaff[_0x569b3b(0x44b)](_0x45aaff[_0x569b3b(0x611)],_0x45aaff[_0x569b3b(0x611)])){this['$hoverDate'][_0x569b3b(0x330)](null);return;}else{let _0x480fea=_0x45aaff['pNvOo'](_0x4d5000,_0x149b48['slice'](0x0,0x2));if(_0x45aaff[_0x569b3b(0x655)](_0x480fea,0x17))_0x480fea=0x17;return _0x480fea[_0x569b3b(0x5ea)]()[_0x569b3b(0x37b)](0x2,'0');}}if(!this[_0x569b3b(0x5f0)]())return;if(_0x45aaff[_0x569b3b(0x60d)](!_0x552ce4,_0x548c7c)){if(_0x45aaff[_0x569b3b(0x6f3)]('JMGvT',_0x45aaff[_0x569b3b(0x5fb)]))return;else this['el']=_0x5b00ad,this[_0x569b3b(0x607)]=_0x17e70d;}if(_0x45aaff['xVuIS'](_0x1dca01[_0x569b3b(0x6cc)](),_0x552ce4['getTime']())){if(_0x45aaff['rxCoK'](_0x569b3b(0x484),_0x45aaff[_0x569b3b(0x30f)])){this[_0x569b3b(0x550)][_0x569b3b(0x330)](null);return;}else this['focusInput'](_0x45aaff[_0x569b3b(0x508)](_0x390ec4,0x1));}this[_0x569b3b(0x550)]['set'](_0x1dca01);}[_0x5d67ea(0x622)](){const _0x2099cd=_0x5d67ea;return DateUtils[_0x2099cd(0x622)]();}[_0x5d67ea(0x1f9)](_0x13a199){const _0x10c964=_0x5d67ea,_0x1aa362={'KxANh':function(_0x5556dc,_0x121c6f){return _0x5556dc&&_0x121c6f;},'dUwTj':function(_0x26fc09,_0x48ab18){return _0x26fc09===_0x48ab18;},'Hjwbl':_0x10c964(0x687),'nknAE':function(_0x127e90,_0x54b51b){return _0x127e90<_0x54b51b;}};this[_0x10c964(0x550)][_0x10c964(0x330)](null);if(!this[_0x10c964(0x5f0)]()){this['$dateStart'][_0x10c964(0x330)](_0x13a199),this['$onSelect']['emit'](_0x13a199);return;}const _0x4a68fc=this[_0x10c964(0x425)](),_0x108ea9=this['$dateEnd']();if(!_0x4a68fc||_0x1aa362[_0x10c964(0x263)](_0x4a68fc,_0x108ea9)){if(_0x1aa362[_0x10c964(0x477)](_0x10c964(0x687),_0x1aa362['Hjwbl'])){this[_0x10c964(0x425)]['set'](_0x13a199),this['$dateEnd'][_0x10c964(0x330)](null),this[_0x10c964(0x5e3)][_0x10c964(0x55e)]({'start':_0x13a199,'end':null});return;}else this['renderer']['setStyle'](_0x268204[_0x10c964(0x501)],'height',_0x4024c4+'px');}if(_0x4a68fc&&!_0x108ea9){const _0x351854=new Date(_0x13a199['getFullYear'](),_0x13a199[_0x10c964(0x4f1)](),_0x13a199['getDate']())[_0x10c964(0x6cc)](),_0x3363d5=new Date(_0x4a68fc['getFullYear'](),_0x4a68fc[_0x10c964(0x4f1)](),_0x4a68fc[_0x10c964(0x2b4)]())['getTime']();if(_0x1aa362['nknAE'](_0x351854,_0x3363d5)){this[_0x10c964(0x425)][_0x10c964(0x330)](_0x13a199),this['$onRangeSelect'][_0x10c964(0x55e)]({'start':_0x13a199,'end':null});return;}this[_0x10c964(0x4db)][_0x10c964(0x330)](_0x13a199),this['$onRangeSelect'][_0x10c964(0x55e)]({'start':this['$dateStart'](),'end':_0x13a199});return;}}static ['ɵfac']=_0x5242ab[_0x5d67ea(0x1ec)]({'minVersion':_0x5d67ea(0x4b8),'version':_0x5d67ea(0x2e7),'ngImport':_0x5242ab,'type':UiDailyCalendarDirective,'deps':[],'target':_0x5242ab[_0x5d67ea(0x356)]['Directive']});static [_0x5d67ea(0x60a)]=_0x5242ab[_0x5d67ea(0x21b)]({'minVersion':_0x5d67ea(0x44f),'version':'21.1.1','type':UiDailyCalendarDirective,'isStandalone':!![],'selector':_0x5d67ea(0x707),'inputs':{'$isRangeSelection':{'classPropertyName':_0x5d67ea(0x5f0),'publicName':_0x5d67ea(0x5f0),'isSignal':!![],'isRequired':![],'transformFunction':null},'$dateStart':{'classPropertyName':'$dateStart','publicName':_0x5d67ea(0x425),'isSignal':!![],'isRequired':![],'transformFunction':null},'$dateEnd':{'classPropertyName':_0x5d67ea(0x4db),'publicName':_0x5d67ea(0x4db),'isSignal':!![],'isRequired':![],'transformFunction':null},'$currentMonth':{'classPropertyName':_0x5d67ea(0x5e7),'publicName':_0x5d67ea(0x5e7),'isSignal':!![],'isRequired':!![],'transformFunction':null},'$currentYear':{'classPropertyName':_0x5d67ea(0x6ac),'publicName':_0x5d67ea(0x6ac),'isSignal':!![],'isRequired':!![],'transformFunction':null}},'outputs':{'$dateStart':'$dateStartChange','$dateEnd':'$dateEndChange','$currentMonth':_0x5d67ea(0x554),'$currentYear':'$currentYearChange','$onRangeSelect':_0x5d67ea(0x5e3),'$onSelect':'$onSelect'},'ngImport':_0x5242ab});}_0x5242ab[_0x5d67ea(0x50a)]({'minVersion':'12.0.0','version':_0x5d67ea(0x2e7),'ngImport':_0x5242ab,'type':UiDailyCalendarDirective,'decorators':[{'type':Directive,'args':[{'selector':_0x5d67ea(0x707)}]}],'propDecorators':{'$isRangeSelection':[{'type':_0x5242ab[_0x5d67ea(0x714)],'args':[{'isSignal':!![],'alias':'$isRangeSelection','required':![]}]}],'$dateStart':[{'type':_0x5242ab[_0x5d67ea(0x714)],'args':[{'isSignal':!![],'alias':_0x5d67ea(0x425),'required':![]}]},{'type':_0x5242ab[_0x5d67ea(0x42a)],'args':[_0x5d67ea(0x281)]}],'$dateEnd':[{'type':_0x5242ab[_0x5d67ea(0x714)],'args':[{'isSignal':!![],'alias':'$dateEnd','required':![]}]},{'type':_0x5242ab[_0x5d67ea(0x42a)],'args':[_0x5d67ea(0x4cf)]}],'$currentMonth':[{'type':_0x5242ab[_0x5d67ea(0x714)],'args':[{'isSignal':!![],'alias':_0x5d67ea(0x5e7),'required':!![]}]},{'type':_0x5242ab[_0x5d67ea(0x42a)],'args':['$currentMonthChange']}],'$currentYear':[{'type':_0x5242ab['Input'],'args':[{'isSignal':!![],'alias':_0x5d67ea(0x6ac),'required':!![]}]},{'type':_0x5242ab[_0x5d67ea(0x42a)],'args':[_0x5d67ea(0x459)]}],'$onRangeSelect':[{'type':_0x5242ab[_0x5d67ea(0x42a)],'args':[_0x5d67ea(0x5e3)]}],'$onSelect':[{'type':_0x5242ab[_0x5d67ea(0x42a)],'args':[_0x5d67ea(0x26b)]}]}});class UiMonthlyCalendarDirective{[_0x5d67ea(0x23f)]=model(new Date(),...ngDevMode?[{'debugName':_0x5d67ea(0x23f)}]:[]);[_0x5d67ea(0x26b)]=output();['$currentYear']=model[_0x5d67ea(0x4dd)](...ngDevMode?[{'debugName':_0x5d67ea(0x6ac)}]:[]);[_0x5d67ea(0x346)]=computed(()=>{const _0x5837e8=_0x5d67ea,year=this[_0x5837e8(0x6ac)]();return this[_0x5837e8(0x26d)](year);},...ngDevMode?[{'debugName':_0x5d67ea(0x346)}]:[]);[_0x5d67ea(0x26d)](_0x4190e4){const _0x535c00=_0x5d67ea,_0x5d6c82={'ExVgq':function(_0x12c452,_0x2a343a){return _0x12c452+_0x2a343a;},'OPtRw':_0x535c00(0x5cd),'PJUih':_0x535c00(0x329),'KoFGI':_0x535c00(0x6aa),'JdeUZ':'April','kLTiX':_0x535c00(0x2c6),'dYYGY':_0x535c00(0x3f6),'XoJoo':_0x535c00(0x283),'MYYNi':_0x535c00(0x3b7),'xjFsp':_0x535c00(0x730),'LQbwf':_0x535c00(0x306)},_0x508a95=this[_0x535c00(0x23f)]()??new Date(),_0x4c2171=_0x508a95[_0x535c00(0x2b4)](),_0x49502a=[_0x5d6c82[_0x535c00(0x23e)],_0x5d6c82['PJUih'],_0x5d6c82[_0x535c00(0x242)],_0x5d6c82[_0x535c00(0x3c6)],_0x535c00(0x3cd),_0x5d6c82[_0x535c00(0x368)],_0x5d6c82[_0x535c00(0x69c)],_0x535c00(0x5a8),_0x5d6c82[_0x535c00(0x70a)],_0x5d6c82[_0x535c00(0x243)],_0x5d6c82['xjFsp'],_0x5d6c82[_0x535c00(0x732)]],_0xd60ed5=_0x49502a[_0x535c00(0x41e)]((_0x5d560a,_0x4179fe)=>{const _0x196232=_0x535c00,_0x1228b7=new Date(_0x4190e4,_0x5d6c82[_0x196232(0x39e)](_0x4179fe,0x1),0x0)[_0x196232(0x2b4)](),_0x3b1605=Math[_0x196232(0x740)](_0x4c2171,_0x1228b7),_0x1f6ff2=new Date(_0x4190e4,_0x4179fe,_0x3b1605);return{'index':_0x4179fe,'name':_0x5d560a,'short':_0x5d560a['substring'](0x0,0x3),'date':_0x1f6ff2,'isSelected':this[_0x196232(0x4b6)](_0x1f6ff2)};});return _0xd60ed5;}[_0x5d67ea(0x1f9)](_0x5441fb){const _0x4a4c7f=_0x5d67ea;this['$onSelect'][_0x4a4c7f(0x55e)](_0x5441fb);}[_0x5d67ea(0x4b6)](_0x279f2f){const _0x25b7a4=_0x5d67ea,_0x100a25={'qWhYx':function(_0x4a1a34,_0x4a5d92){return _0x4a1a34===_0x4a5d92;}},_0x41a19d=this['$date']()??new Date();return _0x279f2f[_0x25b7a4(0x1fc)]()===_0x41a19d[_0x25b7a4(0x1fc)]()&&_0x279f2f[_0x25b7a4(0x4f1)]()===_0x41a19d['getMonth']()&&_0x100a25[_0x25b7a4(0x2e5)](_0x279f2f[_0x25b7a4(0x2b4)](),_0x41a19d[_0x25b7a4(0x2b4)]());}static [_0x5d67ea(0x48b)]=_0x5242ab['ɵɵngDeclareFactory']({'minVersion':'12.0.0','version':_0x5d67ea(0x2e7),'ngImport':_0x5242ab,'type':UiMonthlyCalendarDirective,'deps':[],'target':_0x5242ab[_0x5d67ea(0x356)][_0x5d67ea(0x521)]});static [_0x5d67ea(0x60a)]=_0x5242ab[_0x5d67ea(0x21b)]({'minVersion':_0x5d67ea(0x44f),'version':_0x5d67ea(0x2e7),'type':UiMonthlyCalendarDirective,'isStandalone':!![],'selector':_0x5d67ea(0x51d),'inputs':{'$date':{'classPropertyName':_0x5d67ea(0x23f),'publicName':_0x5d67ea(0x23f),'isSignal':!![],'isRequired':![],'transformFunction':null},'$currentYear':{'classPropertyName':'$currentYear','publicName':_0x5d67ea(0x6ac),'isSignal':!![],'isRequired':!![],'transformFunction':null}},'outputs':{'$date':_0x5d67ea(0x55f),'$onSelect':'$onSelect','$currentYear':_0x5d67ea(0x459)},'ngImport':_0x5242ab});}_0x5242ab[_0x5d67ea(0x50a)]({'minVersion':_0x5d67ea(0x4b8),'version':_0x5d67ea(0x2e7),'ngImport':_0x5242ab,'type':UiMonthlyCalendarDirective,'decorators':[{'type':Directive,'args':[{'selector':_0x5d67ea(0x51d)}]}],'propDecorators':{'$date':[{'type':_0x5242ab[_0x5d67ea(0x714)],'args':[{'isSignal':!![],'alias':_0x5d67ea(0x23f),'required':![]}]},{'type':_0x5242ab[_0x5d67ea(0x42a)],'args':[_0x5d67ea(0x55f)]}],'$onSelect':[{'type':_0x5242ab[_0x5d67ea(0x42a)],'args':[_0x5d67ea(0x26b)]}],'$currentYear':[{'type':_0x5242ab[_0x5d67ea(0x714)],'args':[{'isSignal':!![],'alias':_0x5d67ea(0x6ac),'required':!![]}]},{'type':_0x5242ab[_0x5d67ea(0x42a)],'args':[_0x5d67ea(0x459)]}]}});class UiYearlyCalendarDirective{['$date']=model(new Date(),...ngDevMode?[{'debugName':_0x5d67ea(0x23f)}]:[]);['$onSelect']=output();[_0x5d67ea(0x6ac)]=model['required'](...ngDevMode?[{'debugName':_0x5d67ea(0x6ac)}]:[]);[_0x5d67ea(0x534)]=computed(()=>{const _0x3c0952=_0x5d67ea,year=this[_0x3c0952(0x6ac)]();return this[_0x3c0952(0x55c)](year);},...ngDevMode?[{'debugName':_0x5d67ea(0x534)}]:[]);['generateYears'](_0x4aba45){const _0x4324ee=_0x5d67ea,_0xe75c18={'mzEQN':function(_0x58c5cb,_0x5ded3e,_0x5cfafb){return _0x58c5cb(_0x5ded3e,_0x5cfafb);},'feyLg':function(_0x2e2807,_0x4fc59e){return _0x2e2807(_0x4fc59e);},'iQRoh':function(_0x7785d7,_0x270781){return _0x7785d7(_0x270781);},'YBpQU':function(_0x25af0e,_0x131826){return _0x25af0e(_0x131826);},'yvmIX':function(_0x441ab5,_0xd491a7){return _0x441ab5(_0xd491a7);},'lRomC':function(_0x433103,_0x3c4660){return _0x433103<_0x3c4660;},'pcQbq':_0x4324ee(0x2d3),'VimFK':function(_0x269e4e,_0x532192){return _0x269e4e+_0x532192;}},_0xad7873=this['$date']()??new Date(),_0x42a2d8=_0xad7873[_0x4324ee(0x4f1)](),_0x347f82=_0xad7873[_0x4324ee(0x2b4)](),_0x268a0e=_0xad7873[_0x4324ee(0x1fc)](),_0x43063a=[];for(let _0x3971d0=0x0;_0xe75c18['lRomC'](_0x3971d0,0x14);_0x3971d0++){if(_0xe75c18[_0x4324ee(0x6c2)]!==_0xe75c18['pcQbq'])this[_0x4324ee(0x298)][_0x4324ee(0x22f)](),_0xe75c18[_0x4324ee(0x2bc)](_0x27a438,_0x293009,_0x4324ee(0x466))['pipe'](_0xe75c18[_0x4324ee(0x54e)](_0x12d58d,()=>{const _0x392829=_0x4324ee;this[_0x392829(0x1dc)]();}),_0xe75c18[_0x4324ee(0x4b5)](_0x3f6dbf,this[_0x4324ee(0x298)]))[_0x4324ee(0x65c)](),this[_0x4324ee(0x2ae)][_0x4324ee(0x3e1)][_0x4324ee(0x734)](_0xe75c18[_0x4324ee(0x54e)](_0x37e22c,0x64),_0xe75c18[_0x4324ee(0x33f)](_0x1ff50c,()=>{const _0x5d3ff7=_0x4324ee;this[_0x5d3ff7(0x1dc)]();}),_0xe75c18[_0x4324ee(0x354)](_0x2b678d,this['destroyOutsideClickSubscription$']))[_0x4324ee(0x65c)]();else{const _0x1c4323=_0xe75c18['VimFK'](_0x4aba45,_0x3971d0);_0x43063a[_0x4324ee(0x64a)]({'year':_0x1c4323,'date':this[_0x4324ee(0x551)](_0x1c4323,_0x42a2d8,_0x347f82),'isSelected':_0x1c4323===_0x268a0e});}}return _0x43063a;}[_0x5d67ea(0x551)](_0x1d6cc5,_0x3c6eed,_0x1c70f8){const _0x27a612=_0x5d67ea,_0x17480b=new Date(_0x1d6cc5,_0x3c6eed+0x1,0x0)[_0x27a612(0x2b4)](),_0x46ed16=Math[_0x27a612(0x740)](_0x1c70f8,_0x17480b);return new Date(_0x1d6cc5,_0x3c6eed,_0x46ed16);}[_0x5d67ea(0x1f9)](_0x5a13ab){const _0x113e10=_0x5d67ea;this['$date'][_0x113e10(0x330)](_0x5a13ab),this['$onSelect'][_0x113e10(0x55e)](_0x5a13ab);}static [_0x5d67ea(0x48b)]=_0x5242ab[_0x5d67ea(0x1ec)]({'minVersion':_0x5d67ea(0x4b8),'version':'21.1.1','ngImport':_0x5242ab,'type':UiYearlyCalendarDirective,'deps':[],'target':_0x5242ab[_0x5d67ea(0x356)][_0x5d67ea(0x521)]});static [_0x5d67ea(0x60a)]=_0x5242ab[_0x5d67ea(0x21b)]({'minVersion':_0x5d67ea(0x44f),'version':_0x5d67ea(0x2e7),'type':UiYearlyCalendarDirective,'isStandalone':!![],'selector':_0x5d67ea(0x4ab),'inputs':{'$date':{'classPropertyName':_0x5d67ea(0x23f),'publicName':_0x5d67ea(0x23f),'isSignal':!![],'isRequired':![],'transformFunction':null},'$currentYear':{'classPropertyName':_0x5d67ea(0x6ac),'publicName':_0x5d67ea(0x6ac),'isSignal':!![],'isRequired':!![],'transformFunction':null}},'outputs':{'$date':_0x5d67ea(0x55f),'$onSelect':'$onSelect','$currentYear':_0x5d67ea(0x459)},'ngImport':_0x5242ab});}_0x5242ab[_0x5d67ea(0x50a)]({'minVersion':_0x5d67ea(0x4b8),'version':'21.1.1','ngImport':_0x5242ab,'type':UiYearlyCalendarDirective,'decorators':[{'type':Directive,'args':[{'selector':_0x5d67ea(0x4ab)}]}],'propDecorators':{'$date':[{'type':_0x5242ab[_0x5d67ea(0x714)],'args':[{'isSignal':!![],'alias':_0x5d67ea(0x23f),'required':![]}]},{'type':_0x5242ab['Output'],'args':['$dateChange']}],'$onSelect':[{'type':_0x5242ab[_0x5d67ea(0x42a)],'args':[_0x5d67ea(0x26b)]}],'$currentYear':[{'type':_0x5242ab[_0x5d67ea(0x714)],'args':[{'isSignal':!![],'alias':_0x5d67ea(0x6ac),'required':!![]}]},{'type':_0x5242ab[_0x5d67ea(0x42a)],'args':['$currentYearChange']}]}});const typescript={'comment':{'css':_0x5d67ea(0x61c),'regexp':/(\/\/.*|\/\*[\s\S]*?\*\/)/g},'string':{'css':_0x5d67ea(0x4d4),'regexp':/(["'`].*?["'`])/gs},'class':{'css':_0x5d67ea(0x69e),'regexp':/\b([A-Z][a-zA-Z$#_-]*)\b/g},'typeKeyword':{'css':_0x5d67ea(0x39f),'regexp':/\b(any|boolean|null|number|object|string|void|symbol|bigint|unknown|never)\b/g},'keyword':{'css':'hl7','regexp':/\b(keyof|debugger|await|async|readonly|delete|instanceof|in|package|type|with|const|true|false|enum|let|var|namespace|as|class|extends|abstract|implements|interface|private|protected|public|static|constructor|function|new|super|this|typeof|yield)\b/g},'module':{'css':_0x5d67ea(0x737),'regexp':/\b(export|import|module|from)\b/g},'controlFlowLoop':{'css':'hl8','regexp':/\b(break|case|catch|continue|default|do|else|finally|for|if|return|switch|throw|try|while)\b/g},'function':{'css':'hl5','regexp':/\b([$a-zA-Z_]*[$a-zA-Z0-9$#_-]*)\s*(?=[(<])/g},'number':{'css':_0x5d67ea(0x75a),'regexp':/\b(\d+)\b/g},'enum':{'css':'hl11','regexp':/\b([A-Z0-9]+(?:_[A-Z0-9]+)*)\b/g},'operator':{'css':'hl12','regexp':/([+\-=&|=>.;:,?!<>])/g},'openBracket':{'css':'hl13','regexp':/([{\[(])/g},'closeBracket':{'css':_0x5d67ea(0x331),'regexp':/([}\])])/g},'remains':{'css':'hl','regexp':/[^\%]+/g}},xml={'comment':{'css':_0x5d67ea(0x61c),'regexp':/<!--[\s\S]*?-->/g},'string':{'css':'hl3','regexp':/(["'`].*?["'`])/gs},'class':{'css':_0x5d67ea(0x69e),'regexp':/\b/g},'typeKeyword':{'css':'hl','regexp':/\b([a-zA-Z_:][a-zA-Z0-9_.:-]*)\b(?=\s*=|\])/g},'keyword':{'css':_0x5d67ea(0x765),'regexp':/(?<=<\/?|!)[a-zA-Z0-9_-]+(?=\s|>)/g},'module':{'css':'hl8','regexp':/\b/g},'controlFlowLoop':{'css':_0x5d67ea(0x737),'regexp':/\b(break|case|catch|continue|default|do|else|finally|for|of|if|return|switch|throw|try|while)\b/g},'function':{'css':'hl5','regexp':/\b([$a-zA-Z_]*[$a-zA-Z0-9$#_-]*)\s*(?=[(])/g},'number':{'css':_0x5d67ea(0x75a),'regexp':/\b(\d+)\b/g},'enum':{'css':_0x5d67ea(0x349),'regexp':/\b([A-Z0-9]+(?:_[A-Z0-9]+)*)\b/g},'operator':{'css':'hl16','regexp':/([+\-&/|.;:,?!<>])/g},'openBracket':{'css':'hl13','regexp':/([{\[(])/g},'closeBracket':{'css':_0x5d67ea(0x331),'regexp':/([}\])])/g},'remains':{'css':_0x5d67ea(0x3f8),'regexp':/[^\%]+/g}},json={'comment':{'css':_0x5d67ea(0x61c),'regexp':/\b/g},'string':{'css':_0x5d67ea(0x4d4),'regexp':/(["'`])([^"':`]+)\1(?!\s*:)/g},'class':{'css':'hl4','regexp':/\b/g},'typeKeyword':{'css':_0x5d67ea(0x39f),'regexp':/\b/g},'keyword':{'css':'hl7','regexp':/\b(true|false)/g},'module':{'css':'hl8','regexp':/\b/g},'controlFlowLoop':{'css':'hl8','regexp':/\b/g},'function':{'css':_0x5d67ea(0x3d1),'regexp':/\b/g},'number':{'css':_0x5d67ea(0x75a),'regexp':/\b(\d+)\b/g},'enum':{'css':_0x5d67ea(0x349),'regexp':/\b/g},'operator':{'css':_0x5d67ea(0x3f8),'regexp':/([:,])/g},'openBracket':{'css':_0x5d67ea(0x603),'regexp':/([{\[(])/g},'closeBracket':{'css':'hl14','regexp':/([}\])])/g},'remains':{'css':'hl','regexp':/[^\%]+/g}},css={'comment':{'css':_0x5d67ea(0x61c),'regexp':/(\/\/.*|\/\*[\s\S]*?\*\/)/g},'string':{'css':_0x5d67ea(0x4d4),'regexp':/(["'`].*?["'`])/g},'class':{'css':'hl9','regexp':/(?:\.|:)?[\w-]+\s*(?=\{)/g},'typeKeyword':{'css':_0x5d67ea(0x737),'regexp':/@\w+/g},'keyword':{'css':'hl','regexp':/\$\w[-\w_]*/g},'module':{'css':_0x5d67ea(0x737),'regexp':/\b/g},'controlFlowLoop':{'css':_0x5d67ea(0x737),'regexp':/\b(break|case|catch|continue|default|do|else|finally|for|if|return|switch|throw|try|while)\b/g},'function':{'css':'hl5','regexp':/\b([$a-zA-Z_]*[$a-zA-Z0-9$#_-]*)\s*(?=[(<])/g},'number':{'css':_0x5d67ea(0x75a),'regexp':/\b(\d+)\b/g},'enum':{'css':'hl','regexp':/[\w-_]+:/g},'operator':{'css':_0x5d67ea(0x3f8),'regexp':/([+\-=&|=>.;:,?!<>])/g},'openBracket':{'css':_0x5d67ea(0x603),'regexp':/([{\[(])/g},'closeBracket':{'css':_0x5d67ea(0x331),'regexp':/([}\])])/g},'remains':{'css':_0x5d67ea(0x4d4),'regexp':/[^\%]+/g}},codeLanguages={'javascript':typescript,'typescript':typescript,'js':typescript,'ts':typescript,'css':css,'json':json,'html':xml,'xml':xml};class UiCodeDirective{[_0x5d67ea(0x4ea)]=input['required'](...ngDevMode?[{'debugName':_0x5d67ea(0x4ea)}]:[]);[_0x5d67ea(0x629)]=signal('',...ngDevMode?[{'debugName':_0x5d67ea(0x629)}]:[]);[_0x5d67ea(0x528)]=signal([],...ngDevMode?[{'debugName':_0x5d67ea(0x528)}]:[]);constructor(){const _0x4ada4a=_0x5d67ea,_0x28f4d5={'MkKra':function(_0xb6d555,_0xe1699b){return _0xb6d555(_0xe1699b);}};_0x28f4d5[_0x4ada4a(0x48d)](effect,()=>{const _0xda311f=_0x4ada4a;this['highlightCode'](this[_0xda311f(0x4ea)]());});}['highlightCode'](_0xd20b55){const _0xad134b=_0x5d67ea,_0x18751a={'WKnWm':_0xad134b(0x5c4),'obUom':function(_0x2fe9f5,_0x1ce0f5){return _0x2fe9f5!==_0x1ce0f5;},'tdnxq':_0xad134b(0x594),'yQKAS':_0xad134b(0x4f2),'UgXqW':function(_0x504e67,_0x565210){return _0x504e67===_0x565210;},'IwAww':_0xad134b(0x4b4),'TKSYJ':function(_0x4a9b93,_0x189ac7){return _0x4a9b93%_0x189ac7;},'kXmYl':'hl13','HDczA':function(_0x1fc3fa,_0xcb355d){return _0x1fc3fa%_0xcb355d;},'yddVJ':function(_0x1964bc,_0x5e8210){return _0x1964bc===_0x5e8210;},'lKVkc':_0xad134b(0x72a),'tQdsz':_0xad134b(0x331),'HZgmm':function(_0x201b17,_0x5020a8){return _0x201b17===_0x5020a8;},'TtzRA':function(_0xbdce8f,_0x3d7674){return _0xbdce8f%_0x3d7674;},'hKnoM':'hl15','ddVBS':_0xad134b(0x4f6),'lVzlI':function(_0x3a8cd2,_0x45d15c){return _0x3a8cd2===_0x45d15c;},'btozs':_0xad134b(0x4a8),'ryJbi':'NVHRw','iucOC':function(_0x535226,_0x307873){return _0x535226(_0x307873);}};_0xd20b55=_0xd20b55[_0xad134b(0x6e6)](/^\n+|\n+$/g,'')['trimEnd']();const _0x42589c=_0xd20b55['split'](/[\s\n]/,0x1);if(Object['keys'](codeLanguages)[_0xad134b(0x6bd)](_0x42589c[0x0][_0xad134b(0x59b)]()))this[_0xad134b(0x629)][_0xad134b(0x330)](_0x42589c[0x0]),_0xd20b55=_0xd20b55[_0xad134b(0x6e6)](_0x42589c[0x0],'')['trim']();else{this[_0xad134b(0x629)][_0xad134b(0x330)](_0xad134b(0x5c4)),_0x18751a[_0xad134b(0x523)](untracked,()=>{const _0x1e7d66=_0xad134b;this[_0x1e7d66(0x528)][_0x1e7d66(0x330)]([{'css':_0x18751a[_0x1e7d66(0x548)],'string':_0xd20b55[_0x1e7d66(0x35e)](),'index':0x0}]);});return;}let _0x46913d=[];Object[_0xad134b(0x6a3)](codeLanguages[this['$language']()])['forEach'](_0x2fd260=>{const _0x42165c=_0xad134b;_0x18751a['obUom'](_0x18751a['tdnxq'],_0x18751a[_0x42165c(0x395)])?(this['overlay']=_0x4f8ff9,this[_0x42165c(0x4f7)]=_0x216e5e,this[_0x42165c(0x25c)]=_0x59f8f2,this['router']=_0x4dac4e):(_0x46913d[_0x42165c(0x64a)](...[..._0xd20b55[_0x42165c(0x540)](codeLanguages[this[_0x42165c(0x629)]()][_0x2fd260][_0x42165c(0x71a)])][_0x42165c(0x41e)](_0x4c5a64=>({'css':codeLanguages[this[_0x42165c(0x629)]()][_0x2fd260][_0x42165c(0x6b0)],'index':_0x4c5a64['index'],'string':_0x4c5a64[0x0]}))),_0xd20b55=_0xd20b55[_0x42165c(0x65e)](codeLanguages[this[_0x42165c(0x629)]()][_0x2fd260][_0x42165c(0x71a)],_0x504818=>'%'['repeat'](_0x504818['length'])));});let _0x7f97e2=0x0;_0x46913d=_0x46913d['sort']((_0x282996,_0x58ecc3)=>_0x282996[_0xad134b(0x70b)]>_0x58ecc3['index']?0x1:-0x1)['map'](_0x385a5e=>{const _0x579871=_0xad134b;if(_0x18751a['UgXqW'](_0x18751a[_0x579871(0x73a)],'pYIhy'))return _0x18751a['yQKAS'];else{let _0x22ad96=_0x385a5e;const _0x1864e6=()=>{const _0x4b5c0e=_0x579871,_0x1d75e0={'EXXYB':function(_0x1f72f7,_0x43bcf2){return _0x1f72f7-_0x43bcf2;},'dVlWP':function(_0x4f1697,_0x48e23c){return _0x18751a['UgXqW'](_0x4f1697,_0x48e23c);},'CiWHA':'en-us'};if(_0x18751a[_0x4b5c0e(0x4df)](_0x18751a[_0x4b5c0e(0x1fd)],_0x18751a[_0x4b5c0e(0x1fd)]))this['popupInstances'][_0x1d75e0[_0x4b5c0e(0x5cf)](this['popupInstances'][_0x4b5c0e(0x27b)],0x1)]['close'](),this[_0x4b5c0e(0x6ec)][_0x4b5c0e(0x4b9)]();else{_0x18751a[_0x4b5c0e(0x517)](_0x7f97e2,0x3)===0x0&&(_0x22ad96={..._0x385a5e,'css':_0x18751a[_0x4b5c0e(0x731)]});if(_0x18751a[_0x4b5c0e(0x33e)](_0x18751a[_0x4b5c0e(0x292)](_0x7f97e2,0x3),0x1)){if(_0x18751a[_0x4b5c0e(0x27d)](_0x18751a[_0x4b5c0e(0x597)],_0x18751a[_0x4b5c0e(0x597)]))_0x22ad96={..._0x385a5e,'css':_0x18751a[_0x4b5c0e(0x29e)]};else{const _0xd52864=_0x46fbdd['DateTimeFormat']()['resolvedOptions']()[_0x4b5c0e(0x43e)],_0x48fc4f=typeof _0x31c365!==_0x4b5c0e(0x71d)?_0x598eb3[_0x4b5c0e(0x442)]:_0x1933d6,_0x122a8e=(_0xd52864||_0x48fc4f||'')['toLowerCase']();return _0x1d75e0[_0x4b5c0e(0x3da)](_0x122a8e,_0x1d75e0[_0x4b5c0e(0x6fc)])||_0x122a8e[_0x4b5c0e(0x41a)]('en-us-');}}_0x18751a[_0x4b5c0e(0x6c3)](_0x18751a['TtzRA'](_0x7f97e2,0x3),0x2)&&(_0x22ad96={..._0x385a5e,'css':_0x18751a[_0x4b5c0e(0x580)]});}};_0x385a5e['css']===_0x579871(0x603)&&(_0x1864e6(),_0x7f97e2+=0x1);if(_0x18751a[_0x579871(0x434)](_0x385a5e[_0x579871(0x6b0)],_0x579871(0x331))){if(_0x18751a[_0x579871(0x4df)](_0x18751a[_0x579871(0x71e)],_0x18751a[_0x579871(0x4ed)]))_0x7f97e2-=0x1,_0x1864e6();else{if(!this['isOpen'])return;this[_0x579871(0x20c)][_0x579871(0x525)](this[_0x579871(0x608)]),this['isOpen']=![];}}return _0x22ad96;}}),this['$highlightedArray'][_0xad134b(0x330)](_0x46913d);}static ['ɵfac']=_0x5242ab['ɵɵngDeclareFactory']({'minVersion':_0x5d67ea(0x4b8),'version':_0x5d67ea(0x2e7),'ngImport':_0x5242ab,'type':UiCodeDirective,'deps':[],'target':_0x5242ab[_0x5d67ea(0x356)]['Directive']});static ['ɵdir']=_0x5242ab[_0x5d67ea(0x21b)]({'minVersion':_0x5d67ea(0x44f),'version':_0x5d67ea(0x2e7),'type':UiCodeDirective,'isStandalone':!![],'selector':_0x5d67ea(0x1e5),'inputs':{'$code':{'classPropertyName':_0x5d67ea(0x4ea),'publicName':_0x5d67ea(0x4ea),'isSignal':!![],'isRequired':!![],'transformFunction':null}},'ngImport':_0x5242ab});}_0x5242ab[_0x5d67ea(0x50a)]({'minVersion':_0x5d67ea(0x4b8),'version':_0x5d67ea(0x2e7),'ngImport':_0x5242ab,'type':UiCodeDirective,'decorators':[{'type':Directive,'args':[{'selector':_0x5d67ea(0x1e5)}]}],'ctorParameters':()=>[],'propDecorators':{'$code':[{'type':_0x5242ab[_0x5d67ea(0x714)],'args':[{'isSignal':!![],'alias':'$code','required':!![]}]}]}});class UiPopupInstance{[_0x5d67ea(0x341)];[_0x5d67ea(0x25c)];['id']='';[_0x5d67ea(0x430)]=0x0;[_0x5d67ea(0x448)]=new BehaviorSubject('center');[_0x5d67ea(0x5f6)]={'positionX':0x0,'positionY':0x0,'startTransition':_0x5d67ea(0x5af),'endTransition':_0x5d67ea(0x5af)};[_0x5d67ea(0x235)]=new Subject();[_0x5d67ea(0x3d6)]=new Subject();constructor(_0x15bc84,_0xab3c58,_0x402a90={'positionX':0x0,'positionY':0x0,'startTransition':_0x5d67ea(0x4e9),'endTransition':_0x5d67ea(0x3e8)}){const _0x47894a=_0x5d67ea,_0x9b24f4={'OWAQR':function(_0x533dbc,_0x14f91d){return _0x533dbc+_0x14f91d;},'ryTmg':function(_0x5ace9b,_0x5aff1c){return _0x5ace9b/_0x5aff1c;},'gQaQn':function(_0x5bae46,_0x1cf9a2){return _0x5bae46-_0x1cf9a2;},'PjTuQ':function(_0x3c552c,_0x21cd37){return _0x3c552c*_0x21cd37;},'iSXBG':'EaBLc'};this[_0x47894a(0x341)]=_0x15bc84,this[_0x47894a(0x25c)]=_0xab3c58,this['options']=_0x402a90,this[_0x47894a(0x341)][_0x47894a(0x658)]()[_0x47894a(0x734)](takeUntilDestroyed(this[_0x47894a(0x25c)]))[_0x47894a(0x65c)](()=>{const _0x4c3f98=_0x47894a,_0x55cb29={'hLLZx':function(_0x312536,_0x3b3545){return _0x312536/_0x3b3545;},'qlfTy':function(_0x4b8abd,_0x42f776){const _0x5baf50=_0x3b02;return _0x9b24f4[_0x5baf50(0x754)](_0x4b8abd,_0x42f776);},'AELSb':function(_0x1bfa2b,_0x29b1fc){const _0x5d89e2=_0x3b02;return _0x9b24f4[_0x5d89e2(0x3fa)](_0x1bfa2b,_0x29b1fc);},'UdCYJ':function(_0x523a76,_0x547564){return _0x9b24f4['gQaQn'](_0x523a76,_0x547564);},'GwEUV':function(_0x3aabc7,_0x17fdf2){return _0x9b24f4['gQaQn'](_0x3aabc7,_0x17fdf2);},'UDgCD':function(_0x541479,_0x91be9e){return _0x541479/_0x91be9e;},'VZXuv':function(_0xa2c3e3,_0xc00b3e){const _0x18ed9b=_0x3b02;return _0x9b24f4[_0x18ed9b(0x70f)](_0xa2c3e3,_0xc00b3e);},'zNrFq':function(_0x31cec0,_0x9140d0){const _0x265e1b=_0x3b02;return _0x9b24f4[_0x265e1b(0x3fa)](_0x31cec0,_0x9140d0);},'CBTUr':function(_0x12a2fc,_0x482e9c){const _0x344d93=_0x3b02;return _0x9b24f4[_0x344d93(0x3fa)](_0x12a2fc,_0x482e9c);},'spYhi':_0x4c3f98(0x3e8)};if(_0x9b24f4[_0x4c3f98(0x693)]===_0x4c3f98(0x351)){const _0x5eac86=_0x5522b2[_0x4c3f98(0x231)](),_0x15e3c9=_0x2ff532[_0x4c3f98(0x73d)]/0x2,_0xfdda0c=_0x55cb29[_0x4c3f98(0x364)](_0x670f4d[_0x4c3f98(0x6d2)],0x2),_0x4e258c=_0x55cb29[_0x4c3f98(0x286)](_0x5eac86[_0x4c3f98(0x733)],_0x55cb29[_0x4c3f98(0x589)](_0x5eac86['width'],0x2)),_0x241869=_0x55cb29[_0x4c3f98(0x286)](_0x5eac86[_0x4c3f98(0x3ee)],_0x55cb29['AELSb'](_0x5eac86[_0x4c3f98(0x41d)],0x2)),_0x2b82b0=_0x55cb29[_0x4c3f98(0x3d5)](_0x4e258c,_0x15e3c9),_0xd7c6ad=_0x241869-_0xfdda0c,_0x379429=_0x1c7e15(_0x55cb29[_0x4c3f98(0x620)](_0x30c751['innerWidth'],_0x55cb29['AELSb'](_0x544d84['innerWidth'],0x8)),_0x55cb29[_0x4c3f98(0x620)](_0x3db54d['innerHeight'],_0x2faf2a[_0x4c3f98(0x6d2)]/0x8),_0x4287c9,_0x512c77),_0x2d1fb9=_0x55cb29[_0x4c3f98(0x268)](_0x30ca3e[_0x4c3f98(0x738)](_0x55cb29['VZXuv'](_0x55cb29['AELSb'](_0x122e79,_0x379429[_0x4c3f98(0x41d)]),0x64)),0x64),_0x539c57=_0x55cb29[_0x4c3f98(0x20d)](_0xd3d581[_0x4c3f98(0x738)](_0x55cb29[_0x4c3f98(0x5ad)](_0x55cb29[_0x4c3f98(0x752)](_0x4dfd70,_0x379429[_0x4c3f98(0x430)]),0x64)),0x64);return{'positionX':_0x2b82b0,'positionY':_0xd7c6ad,'startTransition':_0x4c3f98(0x4c3)+_0x2d1fb9+',\x20'+_0x539c57+')','endTransition':_0x55cb29[_0x4c3f98(0x46f)]};}else this[_0x4c3f98(0x235)]['next'](),this[_0x4c3f98(0x235)][_0x4c3f98(0x673)](),this[_0x4c3f98(0x341)][_0x4c3f98(0x373)]();});}[_0x5d67ea(0x72e)](){const _0x561f01=_0x5d67ea;this[_0x561f01(0x3d6)][_0x561f01(0x22f)](),this[_0x561f01(0x3d6)][_0x561f01(0x673)]();}[_0x5d67ea(0x211)](){const _0x2bdb3f=_0x5d67ea;this[_0x2bdb3f(0x341)][_0x2bdb3f(0x211)]();}[_0x5d67ea(0x675)](){const _0x42f7e5=_0x5d67ea;return this['shouldClose'][_0x42f7e5(0x51a)]();}}class UiPopupService{['overlay'];[_0x5d67ea(0x4f7)];[_0x5d67ea(0x25c)];[_0x5d67ea(0x2ae)];[_0x5d67ea(0x6ec)]=[];[_0x5d67ea(0x1de)];[_0x5d67ea(0x67f)];[_0x5d67ea(0x2f9)];[_0x5d67ea(0x451)]=new Subject();[_0x5d67ea(0x298)]=new Subject();constructor(_0x32ee95,_0x58ca77,_0x2b8aed,_0x24e3af){const _0x99f18a=_0x5d67ea;this[_0x99f18a(0x3de)]=_0x32ee95,this['injector']=_0x58ca77,this[_0x99f18a(0x25c)]=_0x2b8aed,this[_0x99f18a(0x2ae)]=_0x24e3af;}[_0x5d67ea(0x65a)](_0x5dcfcf){const _0x2f735e=_0x5d67ea;this[_0x2f735e(0x67f)]=new ComponentPortal(_0x5dcfcf);}[_0x5d67ea(0x247)](_0x4fa001,_0x5d457a,_0x395635,_0x403fc8){const _0x16382a=_0x5d67ea,_0x1939b1={'Ajbrb':_0x16382a(0x36e),'zFKma':function(_0xa2b720,_0xf125a7){return _0xa2b720!==_0xf125a7;},'CaKXo':'aaPOu','JLaSD':_0x16382a(0x36d)};if(this['popupInstances']['length']){if(_0x1939b1[_0x16382a(0x2ab)](_0x16382a(0x29a),_0x1939b1[_0x16382a(0x628)]))_0x403fc8[_0x16382a(0x35d)]&&this[_0x16382a(0x2a1)]();else{if(_0x3bd602[_0x16382a(0x681)])this[_0x16382a(0x5c3)]['set'](_0x1939b1[_0x16382a(0x290)]);}}this['showBackdrop'](_0x403fc8['isStaticBackdrop']);const _0x3fa6ba=this['overlay'][_0x16382a(0x4f8)]({'hasBackdrop':![],'backdropClass':_0x1939b1[_0x16382a(0x339)],'positionStrategy':this[_0x16382a(0x3de)][_0x16382a(0x6b5)]()[_0x16382a(0x4ac)]()['centerHorizontally']()['centerVertically']()});this['subscribeToOutsideEvents'](),this['createPopup'](_0x3fa6ba,_0x4fa001,_0x5d457a,_0x395635,_0x403fc8);}[_0x5d67ea(0x581)](_0x4e401e,_0x5572c6,_0x12a7ce,_0x29e133,_0x36a246,_0x46f235,_0x2cffde={}){const _0x1eaba2=_0x5d67ea,_0x337ced=this['createScaleAnimationOptionsFromElement'](_0x29e133,_0x36a246,_0x46f235);this[_0x1eaba2(0x247)](_0x4e401e,_0x5572c6,_0x12a7ce,{..._0x2cffde,'animationOptions':_0x337ced});}[_0x5d67ea(0x72e)](){const _0x369a3=_0x5d67ea,_0x576527={'kWQAF':function(_0x4b816b,_0x582f24){return _0x4b816b>=_0x582f24;},'LtoyY':_0x369a3(0x357),'WPELz':_0x369a3(0x621)};_0x576527[_0x369a3(0x254)](this[_0x369a3(0x6ec)]['length'],0x1)&&(this['popupInstances'][this[_0x369a3(0x6ec)][_0x369a3(0x27b)]-0x1]['close'](),this['popupInstances'][_0x369a3(0x4b9)](),!this[_0x369a3(0x6ec)]['length']&&(_0x576527[_0x369a3(0x65d)]!==_0x576527[_0x369a3(0x2b0)]?this['destroy']():_0x389b79=0x17));}[_0x5d67ea(0x2a1)](){const _0x116ede=_0x5d67ea,_0x4929f3={'sNIOV':function(_0x3325ed,_0x2cca83){return _0x3325ed-_0x2cca83;}};this[_0x116ede(0x6ec)][_0x116ede(0x27b)]>=0x1&&(this[_0x116ede(0x6ec)][_0x4929f3[_0x116ede(0x38a)](this[_0x116ede(0x6ec)][_0x116ede(0x27b)],0x1)][_0x116ede(0x72e)](),this['popupInstances'][_0x116ede(0x4b9)]());}[_0x5d67ea(0x5b6)](_0x28d02b){const _0x2e7051=_0x5d67ea;this[_0x2e7051(0x6ec)][_0x28d02b][_0x2e7051(0x72e)](),this[_0x2e7051(0x6ec)][_0x2e7051(0x4e3)](_0x28d02b,0x1),!this[_0x2e7051(0x6ec)][_0x2e7051(0x27b)]&&this[_0x2e7051(0x725)]();}['closeById'](_0x50bd09){const _0x5088d4=_0x5d67ea,_0x417e70={'RzHpC':function(_0x543378,_0x1479b3){return _0x543378===_0x1479b3;}},_0x225327=this[_0x5088d4(0x6ec)][_0x5088d4(0x635)](_0x841afb=>_0x841afb['id']===_0x50bd09);_0x225327>=0x0&&(_0x417e70[_0x5088d4(0x2aa)](_0x5088d4(0x650),_0x5088d4(0x6c5))?_0x10fc2a[_0x5088d4(0x48c)](_0x7579ed,_0x32911b):this[_0x5088d4(0x5b6)](_0x225327));}[_0x5d67ea(0x1dc)](){const _0x293493=_0x5d67ea,_0x5b5d68={'TujAS':'vPDLU'};this[_0x293493(0x6ec)][_0x293493(0x5cc)](_0x3f1690=>{const _0x319901=_0x293493;_0x5b5d68[_0x319901(0x41b)]===_0x319901(0x483)?_0x3f1690[_0x319901(0x72e)]():this[_0x319901(0x72e)]();}),this['popupInstances']=[],this[_0x293493(0x725)]();}['createPopup'](_0x2b99b5,_0x14e917,_0x4470cf,_0xe8b13a,_0x168085){const _0x309e74=_0x5d67ea,_0x1a8907={'IWZOL':function(_0x317c35,_0x4868ba){return _0x317c35>_0x4868ba;},'eTGGy':function(_0xceafa0,_0x43048a){return _0xceafa0===_0x43048a;},'KaaQr':_0x309e74(0x6ca),'XmVok':function(_0x595ac5,_0x135fe8){return _0x595ac5!==_0x135fe8;},'TnYZK':'IUSMW'},_0x4ecf71=this['fetchPopupParameters'](_0x168085),_0x3d27e5=new UiPopupInstance(_0x2b99b5,this[_0x309e74(0x25c)],_0x4ecf71[_0x309e74(0x2ad)]);if(_0x1a8907[_0x309e74(0x400)](_0x4ecf71['width'],0x0)){if(_0x1a8907['XmVok'](_0x1a8907[_0x309e74(0x3fb)],_0x309e74(0x42c)))_0x3d27e5[_0x309e74(0x430)]=_0x4ecf71[_0x309e74(0x430)];else{let _0x14b156=_0x18a0c9(_0x4e3a90[_0x309e74(0x739)](0x0,0x2)),_0x5351c7=_0x27e000(_0x5af3ab[_0x309e74(0x739)](0x2,0x4));return _0x1a8907['IWZOL'](_0x14b156,0x17)&&(_0x14b156=0x17),_0x5351c7>0x3b&&(_0x5351c7=0x3b),_0x14b156[_0x309e74(0x5ea)]()['padStart'](0x2,'0')+':'+_0x5351c7[_0x309e74(0x5ea)]()['padStart'](0x2,'0');}}const _0x41eaec=Injector[_0x309e74(0x4f8)]({'parent':this[_0x309e74(0x4f7)],'providers':[{'provide':UiPopupInstance,'useValue':_0x3d27e5}]}),_0x2159b5=_0x2b99b5[_0x309e74(0x28b)](new ComponentPortal(_0x14e917,undefined,_0x41eaec));_0x4470cf&&(_0x4470cf[_0x309e74(0x2bd)]&&Object[_0x309e74(0x6a3)](_0x4470cf[_0x309e74(0x2bd)])[_0x309e74(0x5cc)](_0x5e48ce=>{const _0x5cab2d=_0x309e74;_0x1a8907[_0x5cab2d(0x3a2)](_0x1a8907[_0x5cab2d(0x3b4)],_0x1a8907[_0x5cab2d(0x3b4)])?_0x4470cf[_0x5cab2d(0x2bd)]&&_0x2159b5[_0x5cab2d(0x5b0)](_0x5e48ce,_0x4470cf['inputs'][_0x5e48ce]):(this[_0x5cab2d(0x30c)]=_0x120f8,this['renderer']=_0x2b4892);})),_0x3d27e5['id']=_0xe8b13a,this[_0x309e74(0x6ec)][_0x309e74(0x64a)](_0x3d27e5);}[_0x5d67ea(0x57c)](){const _0x360850=_0x5d67ea,_0x51b8f1={'zyuFn':_0x360850(0x466),'KzgUy':function(_0x2060ee,_0x22fbd8){return _0x2060ee(_0x22fbd8);},'NoZWu':function(_0x5d5242,_0xf548c7){return _0x5d5242(_0xf548c7);}};this['destroyOutsideClickSubscription$'][_0x360850(0x22f)](),fromEvent(window,_0x51b8f1[_0x360850(0x50d)])[_0x360850(0x734)](tap(()=>{const _0x1c1c1d=_0x360850;this[_0x1c1c1d(0x1dc)]();}),_0x51b8f1[_0x360850(0x29c)](takeUntil,this['destroyOutsideClickSubscription$']))[_0x360850(0x65c)](),this[_0x360850(0x2ae)]['events']['pipe'](_0x51b8f1[_0x360850(0x2f7)](debounceTime,0x64),_0x51b8f1['NoZWu'](tap,()=>{this['closeAll']();}),takeUntil(this[_0x360850(0x298)]))[_0x360850(0x65c)]();}[_0x5d67ea(0x725)](){const _0x354a3e=_0x5d67ea;this[_0x354a3e(0x6b3)](),this[_0x354a3e(0x298)]['next']();}[_0x5d67ea(0x519)](_0x310f70=![]){const _0x46a007=_0x5d67ea,_0x30b8a2={'wyGzG':_0x46a007(0x5f5),'mNNkL':_0x46a007(0x385),'slZRU':_0x46a007(0x56e),'PpGIU':_0x46a007(0x21a),'zVdRn':_0x46a007(0x70d)},_0x452e12=_0x30b8a2[_0x46a007(0x3fe)]['split']('|');let _0x26cb93=0x0;while(!![]){switch(_0x452e12[_0x26cb93++]){case'0':this['backdropRef']=this[_0x46a007(0x3de)]['create']({'hasBackdrop':![],'positionStrategy':this[_0x46a007(0x3de)][_0x46a007(0x6b5)]()['global']()[_0x46a007(0x3bd)]()[_0x46a007(0x55b)](),'scrollStrategy':this[_0x46a007(0x3de)][_0x46a007(0x409)]['noop']()});continue;case'1':this[_0x46a007(0x2f9)]=this[_0x46a007(0x1de)]['attach'](this[_0x46a007(0x67f)]);continue;case'2':if(this[_0x46a007(0x1de)])return;continue;case'3':document['body']['style'][_0x46a007(0x53d)](_0x30b8a2[_0x46a007(0x209)],_0x30b8a2[_0x46a007(0x709)]);continue;case'4':this[_0x46a007(0x2f9)]&&(this['backdropPortalRef']['location'][_0x46a007(0x501)][_0x46a007(0x22a)][_0x46a007(0x4b0)](_0x30b8a2[_0x46a007(0x23d)]),this[_0x46a007(0x2f9)][_0x46a007(0x5b0)](_0x30b8a2['zVdRn'],_0x310f70));continue;}break;}}[_0x5d67ea(0x6b3)](){const _0x2547ca=_0x5d67ea,_0x5e524f={'ewmjT':_0x2547ca(0x385),'Nxnbw':_0x2547ca(0x24e),'DQNWo':_0x2547ca(0x52b),'vowRG':_0x2547ca(0x21a),'lNssX':function(_0x239004,_0x4bc0c7){return _0x239004(_0x4bc0c7);}};if(!this[_0x2547ca(0x1de)]){if(_0x2547ca(0x52b)!==_0x5e524f[_0x2547ca(0x6fe)])return;else return;}this[_0x2547ca(0x2f9)]&&(this['backdropPortalRef']['location'][_0x2547ca(0x501)][_0x2547ca(0x22a)][_0x2547ca(0x472)](_0x5e524f[_0x2547ca(0x5d3)]),this[_0x2547ca(0x2f9)]['location'][_0x2547ca(0x501)][_0x2547ca(0x22a)][_0x2547ca(0x4b0)](_0x2547ca(0x345))),_0x5e524f['lNssX'](timer,0x96)[_0x2547ca(0x734)](_0x5e524f[_0x2547ca(0x29d)](tap,()=>{const _0x386a80=_0x2547ca;this[_0x386a80(0x1de)]?.[_0x386a80(0x211)](),this['backdropRef']?.['dispose'](),this[_0x386a80(0x1de)]=undefined,document[_0x386a80(0x296)][_0x386a80(0x59d)]['setProperty'](_0x5e524f[_0x386a80(0x3cc)],_0x5e524f[_0x386a80(0x426)]);}))[_0x2547ca(0x65c)]();}[_0x5d67ea(0x34c)](_0x32d920){const _0x53f7ac=_0x5d67ea,_0x18a1bc={'yQiMP':_0x53f7ac(0x4e9),'RxzgG':_0x53f7ac(0x3e8),'xUTXr':function(_0x128017,_0x5aa7ea){return _0x128017===_0x5aa7ea;},'YuWdQ':function(_0x3da7d0,_0x49c9fb){return _0x3da7d0===_0x49c9fb;},'fszOJ':function(_0x4b8e52,_0x3efc48){return _0x4b8e52===_0x3efc48;}};return{'animationOptions':_0x32d920[_0x53f7ac(0x2ad)]===undefined?{'positionX':0x0,'positionY':0x0,'startTransition':_0x18a1bc['yQiMP'],'endTransition':_0x18a1bc[_0x53f7ac(0x253)]}:_0x32d920['animationOptions'],'isClosePrevious':_0x18a1bc[_0x53f7ac(0x219)](_0x32d920['isClosePrevious'],undefined)?![]:_0x32d920[_0x53f7ac(0x35d)],'isStaticBackdrop':_0x18a1bc[_0x53f7ac(0x478)](_0x32d920[_0x53f7ac(0x70d)],undefined)?![]:_0x32d920[_0x53f7ac(0x70d)],'width':_0x18a1bc[_0x53f7ac(0x63d)](_0x32d920[_0x53f7ac(0x430)],undefined)?0x0:_0x32d920[_0x53f7ac(0x430)]};}['createScaleAnimationOptionsFromElement'](_0x122c5a,_0x50362f,_0x46787a){const _0x345641=_0x5d67ea,_0x348791={'bZCVO':function(_0x1600c4,_0xcb1dac){return _0x1600c4/_0xcb1dac;},'yXRJF':function(_0x32b209,_0x55828c){return _0x32b209+_0x55828c;},'YTCLp':function(_0xb1f677,_0x5021e0){return _0xb1f677/_0x5021e0;},'DlYcv':function(_0x2cfa2d,_0x28783e){return _0x2cfa2d-_0x28783e;},'WZxMe':function(_0x315ac4,_0x207c21,_0x37700a,_0x3f5526,_0x10109c){return _0x315ac4(_0x207c21,_0x37700a,_0x3f5526,_0x10109c);},'yJRFm':function(_0xcb2af6,_0x4b223b){return _0xcb2af6-_0x4b223b;},'EhwzG':function(_0x694cc6,_0xfda503){return _0x694cc6*_0xfda503;},'TMjGJ':function(_0x9f7526,_0xd24c72){return _0x9f7526/_0xd24c72;},'BvUNy':function(_0x30e573,_0x582ec9){return _0x30e573/_0x582ec9;}},_0x1500d3=_0x122c5a['getBoundingClientRect'](),_0xa811ca=_0x348791[_0x345641(0x38b)](window[_0x345641(0x73d)],0x2),_0x31d460=_0x348791[_0x345641(0x38b)](window[_0x345641(0x6d2)],0x2),_0xea5e6d=_0x348791[_0x345641(0x5f2)](_0x1500d3[_0x345641(0x733)],_0x348791[_0x345641(0x3d0)](_0x1500d3[_0x345641(0x430)],0x2)),_0xcadb93=_0x348791[_0x345641(0x5f2)](_0x1500d3[_0x345641(0x3ee)],_0x348791[_0x345641(0x38b)](_0x1500d3[_0x345641(0x41d)],0x2)),_0x27bc86=_0x348791[_0x345641(0x40d)](_0xea5e6d,_0xa811ca),_0x304424=_0x348791[_0x345641(0x40d)](_0xcadb93,_0x31d460),_0x8d3ff7=_0x348791['WZxMe'](getAspectRatioFit,_0x348791[_0x345641(0x40b)](window['innerWidth'],window['innerWidth']/0x8),window['innerHeight']-_0x348791[_0x345641(0x38b)](window['innerHeight'],0x8),_0x50362f,_0x46787a),_0x47ae33=Math['trunc'](_0x348791['EhwzG'](_0x348791[_0x345641(0x51f)](_0x46787a,_0x8d3ff7[_0x345641(0x41d)]),0x64))/0x64,_0x5bf403=Math['trunc'](_0x348791[_0x345641(0x72d)](_0x348791[_0x345641(0x616)](_0x50362f,_0x8d3ff7['width']),0x64))/0x64;return{'positionX':_0x27bc86,'positionY':_0x304424,'startTransition':_0x345641(0x4c3)+_0x47ae33+',\x20'+_0x5bf403+')','endTransition':_0x345641(0x3e8)};}static [_0x5d67ea(0x48b)]=_0x5242ab[_0x5d67ea(0x1ec)]({'minVersion':_0x5d67ea(0x4b8),'version':_0x5d67ea(0x2e7),'ngImport':_0x5242ab,'type':UiPopupService,'deps':[{'token':_0xffc30d[_0x5d67ea(0x1f4)]},{'token':_0x5242ab[_0x5d67ea(0x5e5)]},{'token':_0x5242ab[_0x5d67ea(0x233)]},{'token':_0x42c800[_0x5d67ea(0x591)]}],'target':_0x5242ab[_0x5d67ea(0x356)][_0x5d67ea(0x456)]});static ['ɵprov']=_0x5242ab[_0x5d67ea(0x2ac)]({'minVersion':_0x5d67ea(0x4b8),'version':_0x5d67ea(0x2e7),'ngImport':_0x5242ab,'type':UiPopupService,'providedIn':'root'});}_0x5242ab[_0x5d67ea(0x50a)]({'minVersion':_0x5d67ea(0x4b8),'version':_0x5d67ea(0x2e7),'ngImport':_0x5242ab,'type':UiPopupService,'decorators':[{'type':Injectable,'args':[{'providedIn':_0x5d67ea(0x27c)}]}],'ctorParameters':()=>[{'type':_0xffc30d['Overlay']},{'type':_0x5242ab[_0x5d67ea(0x5e5)]},{'type':_0x5242ab[_0x5d67ea(0x233)]},{'type':_0x42c800[_0x5d67ea(0x591)]}]});class UiPopupContainerDirective{[_0x5d67ea(0x32c)];[_0x5d67ea(0x25c)];[_0x5d67ea(0x2b8)];[_0x5d67ea(0x30c)];[_0x5d67ea(0x355)]=signal(![],...ngDevMode?[{'debugName':_0x5d67ea(0x355)}]:[]);[_0x5d67ea(0x474)]=signal(![],...ngDevMode?[{'debugName':_0x5d67ea(0x474)}]:[]);[_0x5d67ea(0x1d8)]=input(!![],...ngDevMode?[{'debugName':_0x5d67ea(0x1d8)}]:[]);[_0x5d67ea(0x22c)]=model(![],...ngDevMode?[{'debugName':_0x5d67ea(0x22c)}]:[]);[_0x5d67ea(0x749)]=input(![],...ngDevMode?[{'debugName':'$hasCloseButton'}]:[]);[_0x5d67ea(0x2d5)]=input(!![],...ngDevMode?[{'debugName':'$isEnableFadeAnimation'}]:[]);[_0x5d67ea(0x437)]=model(...ngDevMode?[undefined,{'debugName':_0x5d67ea(0x437)}]:[]);['$animationParams']=signal({'startOrigin':_0x5d67ea(0x74e),'endOrigin':_0x5d67ea(0x74e),'start':'transformY(0)','end':_0x5d67ea(0x699),'leftStart':'','leftEnd':'','topStart':'','topEnd':''},...ngDevMode?[{'debugName':_0x5d67ea(0x536)}]:[]);['destroyAnimationOrigin$']=new Subject();constructor(_0xc4b7c7,_0x4a15d5,_0x1f2512,_0x3b199c){const _0x4f17fe=_0x5d67ea,_0x451277={'PSvqR':function(_0x4063f6,_0x4b881d){return _0x4063f6!==_0x4b881d;},'tJBUX':'DMNbV','FUxab':function(_0x20d51d,_0x47a655){return _0x20d51d(_0x47a655);},'Vlrxl':'VLpjK','IqFxF':_0x4f17fe(0x555),'ZZgvM':_0x4f17fe(0x4c7),'oEnMv':_0x4f17fe(0x54d),'KFpaG':_0x4f17fe(0x417),'mZWuW':'--top-end'};this['popupInstance']=_0xc4b7c7,this[_0x4f17fe(0x25c)]=_0x4a15d5,this[_0x4f17fe(0x2b8)]=_0x1f2512,this[_0x4f17fe(0x30c)]=_0x3b199c,effect(()=>{const _0x57d861=_0x4f17fe;_0x451277[_0x57d861(0x3ea)](_0x451277[_0x57d861(0x5ed)],'QlkCS')?this['$shouldClose']()&&_0x451277['FUxab'](untracked,()=>{const _0x24cf9d=_0x57d861;this[_0x24cf9d(0x72e)]();}):this['setSize']();}),_0x451277[_0x4f17fe(0x701)](effect,()=>{const _0x3886e9=_0x4f17fe;if(_0x451277[_0x3886e9(0x3ea)](_0x451277['Vlrxl'],'FATgK')){const _0x33d318=this[_0x3886e9(0x536)]();this[_0x3886e9(0x30c)][_0x3886e9(0x501)][_0x3886e9(0x59d)][_0x3886e9(0x53d)](_0x451277[_0x3886e9(0x606)],_0x33d318['start']),this[_0x3886e9(0x30c)]['nativeElement']['style'][_0x3886e9(0x53d)](_0x451277[_0x3886e9(0x246)],_0x33d318['end']),this[_0x3886e9(0x30c)][_0x3886e9(0x501)][_0x3886e9(0x59d)]['setProperty'](_0x3886e9(0x1df),_0x33d318['startOrigin']),this[_0x3886e9(0x30c)][_0x3886e9(0x501)][_0x3886e9(0x59d)][_0x3886e9(0x53d)](_0x451277[_0x3886e9(0x244)],_0x33d318[_0x3886e9(0x5f7)]),this['elementRef'][_0x3886e9(0x501)][_0x3886e9(0x59d)]['setProperty'](_0x3886e9(0x35a),_0x33d318[_0x3886e9(0x391)]),this[_0x3886e9(0x30c)]['nativeElement'][_0x3886e9(0x59d)][_0x3886e9(0x53d)](_0x451277[_0x3886e9(0x713)],_0x33d318[_0x3886e9(0x499)]),this['elementRef']['nativeElement'][_0x3886e9(0x59d)][_0x3886e9(0x53d)]('--top-start',_0x33d318[_0x3886e9(0x266)]),this['elementRef']['nativeElement']['style'][_0x3886e9(0x53d)](_0x451277[_0x3886e9(0x3bf)],_0x33d318[_0x3886e9(0x5ba)]);}else this['$language']['set'](_0x135b8c[0x0]),_0x424b2d=_0x5cc4fa['replace'](_0x8bce18[0x0],'')[_0x3886e9(0x35e)]();});}[_0x5d67ea(0x6ba)](){const _0x52872b=_0x5d67ea,_0x54f266={'FDYiW':function(_0x303de3,_0x71b090){return _0x303de3===_0x71b090;},'sYGHq':'NdnJQ','fdxtp':_0x52872b(0x639),'daLbO':_0x52872b(0x4e2),'NWnoj':function(_0x263335,_0x825878){return _0x263335(_0x825878);},'kSXqB':function(_0x8bd33d,_0x722c96){return _0x8bd33d(_0x722c96);},'nKwJF':function(_0x13f6d9,_0x282dd6){return _0x13f6d9(_0x282dd6);},'hVULv':function(_0x5e1aa1,_0x45b5a3,_0x98ef3d){return _0x5e1aa1(_0x45b5a3,_0x98ef3d);},'piJjv':_0x52872b(0x4bb),'cjlVD':function(_0x2ea4dd,_0x335777){return _0x2ea4dd(_0x335777);}};this[_0x52872b(0x32c)][_0x52872b(0x675)]()['pipe'](_0x54f266[_0x52872b(0x2eb)](tap,()=>{const _0x5ab107=_0x52872b,_0x412067={'AXCff':_0x5ab107(0x24d)};_0x54f266[_0x5ab107(0x742)](_0x54f266[_0x5ab107(0x325)],_0x54f266[_0x5ab107(0x325)])?this[_0x5ab107(0x355)]['set'](![]):this[_0x5ab107(0x412)]['removeClass'](_0x77a19d,_0x412067[_0x5ab107(0x657)]);}),_0x54f266['kSXqB'](takeUntilDestroyed,this[_0x52872b(0x25c)]))[_0x52872b(0x65c)](),this[_0x52872b(0x32c)][_0x52872b(0x448)][_0x52872b(0x734)](_0x54f266[_0x52872b(0x4ba)](tap,_0x66b3a3=>{const _0x1cf69f=_0x52872b;this['$animationParams'][_0x1cf69f(0x330)]({'startOrigin':_0x66b3a3,'endOrigin':_0x66b3a3,'start':this[_0x1cf69f(0x32c)][_0x1cf69f(0x5f6)]['startTransition'],'end':this[_0x1cf69f(0x32c)]['options'][_0x1cf69f(0x1f7)],'leftStart':this[_0x1cf69f(0x32c)][_0x1cf69f(0x5f6)]['positionX']+'px','leftEnd':'0','topStart':this[_0x1cf69f(0x32c)][_0x1cf69f(0x5f6)][_0x1cf69f(0x4c9)]+'px','topEnd':'0'}),this[_0x1cf69f(0x355)][_0x1cf69f(0x330)](!![]);}),_0x54f266['NWnoj'](takeUntil,this[_0x52872b(0x5ce)]),_0x54f266[_0x52872b(0x471)](takeUntilDestroyed,this[_0x52872b(0x25c)]))['subscribe'](),_0x54f266[_0x52872b(0x450)](fromEvent,window,_0x54f266[_0x52872b(0x3df)])[_0x52872b(0x734)](_0x54f266[_0x52872b(0x2ea)](tap,_0x178c9b=>{const _0x2be242=_0x52872b;(_0x54f266['FDYiW'](_0x178c9b['key'],_0x54f266[_0x2be242(0x454)])||_0x178c9b[_0x2be242(0x72f)]===_0x54f266[_0x2be242(0x722)])&&this[_0x2be242(0x72e)]();}),_0x54f266['kSXqB'](takeUntilDestroyed,this[_0x52872b(0x25c)]))[_0x52872b(0x65c)]();}[_0x5d67ea(0x72e)](){const _0x48351b=_0x5d67ea;if(this[_0x48351b(0x32c)]['id']){this[_0x48351b(0x2b8)]['closeById'](this['popupInstance']['id']);return;}this[_0x48351b(0x2b8)]['close']();}[_0x5d67ea(0x59f)](){const _0x3a270c=_0x5d67ea,_0x584595={'xjaYV':function(_0x317a0c,_0x27cf3e){return _0x317a0c===_0x27cf3e;},'wdlfB':'ouJFz','NmvHM':_0x3a270c(0x5bc)};!this['$isShow']()&&(_0x584595[_0x3a270c(0x447)](_0x584595['wdlfB'],_0x584595[_0x3a270c(0x68c)])?_0x3a39fc(()=>{const _0x3f46df=_0x3a270c;this[_0x3f46df(0x72e)]();}):this[_0x3a270c(0x32c)]['detach']());}['shouldClose'](){const _0x2d6559=_0x5d67ea;this[_0x2d6559(0x22c)][_0x2d6559(0x330)](!![]);}static ['ɵfac']=_0x5242ab[_0x5d67ea(0x1ec)]({'minVersion':_0x5d67ea(0x4b8),'version':_0x5d67ea(0x2e7),'ngImport':_0x5242ab,'type':UiPopupContainerDirective,'deps':[{'token':UiPopupInstance},{'token':_0x5242ab[_0x5d67ea(0x233)]},{'token':UiPopupService},{'token':_0x5242ab[_0x5d67ea(0x404)]}],'target':_0x5242ab[_0x5d67ea(0x356)][_0x5d67ea(0x521)]});static ['ɵdir']=_0x5242ab['ɵɵngDeclareDirective']({'minVersion':_0x5d67ea(0x44f),'version':_0x5d67ea(0x2e7),'type':UiPopupContainerDirective,'isStandalone':!![],'selector':_0x5d67ea(0x20f),'inputs':{'$overflowHidden':{'classPropertyName':_0x5d67ea(0x1d8),'publicName':_0x5d67ea(0x1d8),'isSignal':!![],'isRequired':![],'transformFunction':null},'$shouldClose':{'classPropertyName':_0x5d67ea(0x22c),'publicName':_0x5d67ea(0x22c),'isSignal':!![],'isRequired':![],'transformFunction':null},'$hasCloseButton':{'classPropertyName':_0x5d67ea(0x749),'publicName':_0x5d67ea(0x749),'isSignal':!![],'isRequired':![],'transformFunction':null},'$isEnableFadeAnimation':{'classPropertyName':'$isEnableFadeAnimation','publicName':'$isEnableFadeAnimation','isSignal':!![],'isRequired':![],'transformFunction':null},'$iconClose':{'classPropertyName':_0x5d67ea(0x437),'publicName':_0x5d67ea(0x437),'isSignal':!![],'isRequired':![],'transformFunction':null}},'outputs':{'$shouldClose':_0x5d67ea(0x4ad),'$iconClose':_0x5d67ea(0x700)},'ngImport':_0x5242ab});}_0x5242ab[_0x5d67ea(0x50a)]({'minVersion':'12.0.0','version':'21.1.1','ngImport':_0x5242ab,'type':UiPopupContainerDirective,'decorators':[{'type':Directive,'args':[{'selector':_0x5d67ea(0x20f)}]}],'ctorParameters':()=>[{'type':UiPopupInstance,'decorators':[{'type':Inject,'args':[UiPopupInstance]}]},{'type':_0x5242ab[_0x5d67ea(0x233)]},{'type':UiPopupService},{'type':_0x5242ab[_0x5d67ea(0x404)]}],'propDecorators':{'$overflowHidden':[{'type':_0x5242ab[_0x5d67ea(0x714)],'args':[{'isSignal':!![],'alias':_0x5d67ea(0x1d8),'required':![]}]}],'$shouldClose':[{'type':_0x5242ab[_0x5d67ea(0x714)],'args':[{'isSignal':!![],'alias':_0x5d67ea(0x22c),'required':![]}]},{'type':_0x5242ab[_0x5d67ea(0x42a)],'args':[_0x5d67ea(0x4ad)]}],'$hasCloseButton':[{'type':_0x5242ab[_0x5d67ea(0x714)],'args':[{'isSignal':!![],'alias':_0x5d67ea(0x749),'required':![]}]}],'$isEnableFadeAnimation':[{'type':_0x5242ab[_0x5d67ea(0x714)],'args':[{'isSignal':!![],'alias':_0x5d67ea(0x2d5),'required':![]}]}],'$iconClose':[{'type':_0x5242ab[_0x5d67ea(0x714)],'args':[{'isSignal':!![],'alias':_0x5d67ea(0x437),'required':![]}]},{'type':_0x5242ab[_0x5d67ea(0x42a)],'args':[_0x5d67ea(0x700)]}]}});class UiDropdownService extends UiPopupService{[_0x5d67ea(0x232)];['tipContainerPortal'];[_0x5d67ea(0x4a9)]=new BehaviorSubject({'width':0x0,'height':0x0});['connectedPositions']={'bottom':{'animationOrigin':_0x5d67ea(0x5f1),'connectedPosition':{'originX':_0x5d67ea(0x5c8),'originY':_0x5d67ea(0x2b9),'overlayX':'center','overlayY':_0x5d67ea(0x3ee),'offsetY':0x0,'offsetX':0x0}},'top':{'animationOrigin':_0x5d67ea(0x220),'connectedPosition':{'originX':_0x5d67ea(0x5c8),'originY':_0x5d67ea(0x3ee),'overlayX':_0x5d67ea(0x5c8),'overlayY':'bottom','offsetY':0x0,'offsetX':0x0}},'center':{'animationOrigin':_0x5d67ea(0x74e),'connectedPosition':{'originX':_0x5d67ea(0x5c8),'originY':'center','overlayX':_0x5d67ea(0x5c8),'overlayY':_0x5d67ea(0x5c8),'offsetY':0x0,'offsetX':0x0}},'left':{'animationOrigin':'right\x20center','connectedPosition':{'originX':_0x5d67ea(0x3bb),'originY':_0x5d67ea(0x5c8),'overlayX':_0x5d67ea(0x3e0),'overlayY':_0x5d67ea(0x5c8),'offsetY':0x0,'offsetX':0x0}},'right':{'animationOrigin':_0x5d67ea(0x619),'connectedPosition':{'originX':_0x5d67ea(0x3e0),'originY':_0x5d67ea(0x5c8),'overlayX':_0x5d67ea(0x3bb),'overlayY':_0x5d67ea(0x5c8),'offsetY':0x0,'offsetX':0x0}},'right-top':{'animationOrigin':_0x5d67ea(0x53e),'connectedPosition':{'originX':_0x5d67ea(0x3e0),'originY':_0x5d67ea(0x3ee),'overlayX':'start','overlayY':_0x5d67ea(0x2b9),'offsetY':0x0,'offsetX':0x0}},'right-bottom':{'animationOrigin':'left\x20top','connectedPosition':{'originX':_0x5d67ea(0x3e0),'originY':_0x5d67ea(0x2b9),'overlayX':'start','overlayY':'top','offsetY':0x0,'offsetX':0x0}},'left-top':{'animationOrigin':_0x5d67ea(0x53a),'connectedPosition':{'originX':_0x5d67ea(0x3bb),'originY':_0x5d67ea(0x3ee),'overlayX':_0x5d67ea(0x3e0),'overlayY':_0x5d67ea(0x2b9),'offsetY':0x0,'offsetX':0x0}},'left-bottom':{'animationOrigin':_0x5d67ea(0x51e),'connectedPosition':{'originX':_0x5d67ea(0x3bb),'originY':_0x5d67ea(0x2b9),'overlayX':_0x5d67ea(0x3e0),'overlayY':_0x5d67ea(0x3ee),'offsetY':0x0,'offsetX':0x0}}};[_0x5d67ea(0x65a)](_0x1b9ed3,_0x3a6674){const _0x3adfcb=_0x5d67ea;super[_0x3adfcb(0x65a)](_0x1b9ed3),_0x3a6674&&(this[_0x3adfcb(0x2a3)]=new ComponentPortal(_0x3a6674));}['openTip'](_0x17fdf4,_0x1f557a,_0x51f41d,_0x33693a='top',_0x5a29a0=0x0,_0xea5096=0x0){const _0x363c78=_0x5d67ea;if(this['tipContainerRef'])return;const _0x2b55cb=this['tipContainerPortal']?.[_0x363c78(0x2b5)];_0x2b55cb&&this[_0x363c78(0x328)](_0x2b55cb,_0x1f557a,_0x51f41d,{'options':{'inputs':{'text':_0x17fdf4}},'position':_0x33693a,'hasBackdrop':![],'removePrevious':![],'hasAttachedWidth':![]},_0x5a29a0,_0xea5096);}[_0x5d67ea(0x328)](_0x407e60,_0x5ec2c8,_0x213d4e,_0x28aacf={},_0x4815d5=0x0,_0x2756eb=0x0){const _0x4fb63c=_0x5d67ea,_0x2afe1a={'dLuju':function(_0x4d07d3,_0x35eb22){return _0x4d07d3(_0x35eb22);},'fNOLm':function(_0x5b62fa,_0x442908){return _0x5b62fa!==_0x442908;},'UMFQV':'VFaGO','LMXHw':_0x4fb63c(0x3ce),'RkcOv':function(_0x5b139f,_0x1d4cba){return _0x5b139f===_0x1d4cba;},'CDxmm':_0x4fb63c(0x4e5),'zEjcX':_0x4fb63c(0x420),'jnUqR':function(_0x376f5e,_0x54f0f2){return _0x376f5e!==_0x54f0f2;},'ROTSc':'uYhAH','EdHDG':_0x4fb63c(0x5cb),'QxNkd':function(_0x593483,_0x28130a){return _0x593483-_0x28130a;}},_0x2609a4=this[_0x4fb63c(0x36a)](_0x28aacf);let _0x2d283=0x0;if(_0x2609a4[_0x4fb63c(0x67b)]){if(_0x2afe1a[_0x4fb63c(0x2d2)](_0x2afe1a[_0x4fb63c(0x27f)],_0x2afe1a[_0x4fb63c(0x25d)]))_0x2d283=_0x5ec2c8['clientWidth'];else{const _0x316eda=this[_0x4fb63c(0x321)]();this[_0x4fb63c(0x467)]()[_0x4fb63c(0x5cc)]((_0x5483a4,_0x3790b9)=>{_0x316eda[_0x3790b9]['template']=_0x5483a4;}),_0x2afe1a[_0x4fb63c(0x37e)](_0x4328ff,()=>{const _0x361f24=_0x4fb63c;this[_0x361f24(0x321)][_0x361f24(0x330)](_0x316eda);});}}this[_0x4fb63c(0x6ec)]['length']&&this['destroyOutsideClickSubscription$'][_0x4fb63c(0x22f)]();_0x2609a4[_0x4fb63c(0x685)]&&this['popupInstances'][_0x4fb63c(0x27b)]&&this['close']();if(window[_0x4fb63c(0x2d8)](_0x4fb63c(0x3ff))[_0x4fb63c(0x4fa)]){if(_0x2afe1a[_0x4fb63c(0x5a1)](_0x2afe1a[_0x4fb63c(0x429)],_0x2afe1a['zEjcX'])){if(!_0x3732c8[_0x4fb63c(0x3bb)]){this[_0x4fb63c(0x315)]('');return;}const _0x4031a2=this[_0x4fb63c(0x1f0)](_0x534b68[_0x4fb63c(0x3bb)]),_0x1e4b02=_0x118a28[_0x4fb63c(0x3e0)]?this['formatDate'](_0x4b8a95['end']):'',_0x5f00da=_0x1e4b02?_0x4031a2+_0x4fb63c(0x5db)+_0x1e4b02:_0x4031a2;this[_0x4fb63c(0x315)](_0x5f00da);}else this[_0x4fb63c(0x519)]();}const _0xe26eca=this['overlay'][_0x4fb63c(0x4f8)]({'hasBackdrop':_0x2609a4[_0x4fb63c(0x5a7)],'backdropClass':'cdk-overlay-transparent-backdrop','positionStrategy':this[_0x4fb63c(0x259)](_0x5ec2c8,_0x2609a4,_0x2756eb,_0x4815d5)});if(_0x2609a4['removePrevious']){if(_0x2afe1a['jnUqR'](_0x2afe1a['ROTSc'],_0x2afe1a['EdHDG']))this[_0x4fb63c(0x57c)](_0xe26eca);else{if(this[_0x4fb63c(0x224)]()){const _0x54342c=new _0x5f20d2();_0x54342c['src']=this['$src'](),_0x54342c['onload']=()=>{const _0x5c2ed0=_0x4fb63c;this[_0x5c2ed0(0x239)](this[_0x5c2ed0(0x411)](),this[_0x5c2ed0(0x547)](),_0x54342c[_0x5c2ed0(0x430)],_0x54342c['height']),_0x54342c['remove']();};}else this[_0x4fb63c(0x239)]();}}this[_0x4fb63c(0x3c0)](_0xe26eca,_0x407e60,_0x2609a4['options']??{},_0x213d4e,{'width':_0x2d283}),this[_0x4fb63c(0x6ec)][_0x2afe1a[_0x4fb63c(0x488)](this[_0x4fb63c(0x6ec)]['length'],0x1)]['animationOrigin$'][_0x4fb63c(0x22f)](this[_0x4fb63c(0x6da)][_0x28aacf['position']??_0x4fb63c(0x2b9)]['animationOrigin']);}[_0x5d67ea(0x697)](_0x4dac13,_0x1f8274,_0x99c209,_0xf38c77={}){const _0x253901=_0x5d67ea,_0x587717={'GHRFd':function(_0x530e44,_0x412a17){return _0x530e44===_0x412a17;},'UIjHk':function(_0x249533,_0x3c3305){return _0x249533!==_0x3c3305;},'IKzKL':_0x253901(0x462),'HhAkC':function(_0x323644,_0x4a7ecc){return _0x323644 instanceof _0x4a7ecc;},'jNqpz':_0x253901(0x2a0),'qrlPv':_0x253901(0x3ff),'SCfbO':_0x253901(0x265),'XvjZI':function(_0x35ccf4,_0x5a0708){return _0x35ccf4(_0x5a0708);},'vUMTJ':function(_0x25ad91,_0x22c585){return _0x25ad91(_0x22c585);}},_0x4fb5ec=this[_0x253901(0x36a)](_0xf38c77);this[_0x253901(0x6ec)][_0x253901(0x27b)]&&this[_0x253901(0x298)][_0x253901(0x22f)]();_0x4fb5ec[_0x253901(0x685)]&&this[_0x253901(0x6ec)][_0x253901(0x27b)]&&this[_0x253901(0x72e)]();window[_0x253901(0x2d8)](_0x587717[_0x253901(0x585)])[_0x253901(0x4fa)]&&this[_0x253901(0x519)]();const _0x50cbb9=this['overlay'][_0x253901(0x4f8)]({'hasBackdrop':_0x4fb5ec['hasBackdrop'],'backdropClass':_0x253901(0x36d),'positionStrategy':this[_0x253901(0x6bf)](_0x1f8274)});_0x4fb5ec['removePrevious']&&this['subscribeToOutsideEvents'](_0x50cbb9),this['createPopup'](_0x50cbb9,_0x4dac13,_0x4fb5ec[_0x253901(0x5f6)]??{},_0x99c209,{'animationOptions':{'positionX':0x0,'positionY':0x0,'startTransition':_0x587717['SCfbO'],'endTransition':'scale(1)'}}),this[_0x253901(0x4a9)][_0x253901(0x734)](_0x587717[_0x253901(0x56d)](tap,_0x5bf3fb=>{const _0x34cbbe=_0x253901;if(_0x587717[_0x34cbbe(0x251)](_0x5bf3fb[_0x34cbbe(0x430)],0x0)||_0x587717['GHRFd'](_0x5bf3fb[_0x34cbbe(0x41d)],0x0)){if(_0x587717['UIjHk'](_0x587717['IKzKL'],_0x34cbbe(0x6a5)))return;else this['el']=_0x3c2a28,_0x10a734(()=>{const _0x43d296=_0x34cbbe;this[_0x43d296(0x68a)]()&&this['el'][_0x43d296(0x501)][_0x43d296(0x55a)]();});}const _0x3382e7=this[_0x34cbbe(0x5f8)](_0x1f8274,_0x5bf3fb),_0x30d656=this[_0x34cbbe(0x4e7)](_0x1f8274,_0x5bf3fb);this[_0x34cbbe(0x6ec)][this[_0x34cbbe(0x6ec)][_0x34cbbe(0x27b)]-0x1][_0x34cbbe(0x448)]['next'](_0x3382e7);const _0x1630fe=_0x50cbb9[_0x34cbbe(0x22e)]()['positionStrategy'];if(_0x587717[_0x34cbbe(0x4f0)](_0x1630fe,FlexibleConnectedPositionStrategy)&&_0x30d656){if(_0x587717[_0x34cbbe(0x568)]!==_0x587717[_0x34cbbe(0x568)]){const _0x513397=this['createScaleAnimationOptionsFromElement'](_0x5b2661,_0x36a050,_0x45f5ef);this[_0x34cbbe(0x247)](_0x472ff4,_0x2a9504,_0x553ba0,{..._0x8153e1,'animationOptions':_0x513397});}else _0x1630fe[_0x34cbbe(0x647)]({'x':_0x30d656[_0x34cbbe(0x733)],'y':_0x30d656[_0x34cbbe(0x3ee)]}),_0x50cbb9[_0x34cbbe(0x6ae)]();}}),_0x587717['vUMTJ'](takeUntil,this[_0x253901(0x298)]))[_0x253901(0x65c)]();}['calculateMousePositionAnimationOrigin'](_0x59941b,_0x5426f6){const _0x20036f=_0x5d67ea,_0x4d210e={'zPTQB':function(_0x4a8fb9,_0x297b0d){return _0x4a8fb9<_0x297b0d;},'tJGzh':_0x20036f(0x24d),'xlwjV':function(_0x27bf6d,_0x29a172){return _0x27bf6d-_0x29a172;},'hBVoa':function(_0x2fcf85,_0x14d1b8){return _0x2fcf85>=_0x14d1b8;},'hvTrw':function(_0x51058f,_0x2027ba){return _0x51058f+_0x2027ba;},'CcsWv':function(_0x1bdf6c,_0x5c0c9b){return _0x1bdf6c>=_0x5c0c9b;},'RbcCM':function(_0x2bf28b,_0x474939){return _0x2bf28b===_0x474939;},'mIYjc':_0x20036f(0x3af),'FLIIP':_0x20036f(0x637),'qlLGY':_0x20036f(0x1e4),'JvrLX':_0x20036f(0x4f2),'nnjKu':_0x20036f(0x5b9)},_0x2b4c92=0x14,_0x244e39=_0x4d210e['xlwjV'](document['body'][_0x20036f(0x6de)],_0x59941b[_0x20036f(0x75f)]),_0x2f580a=_0x4d210e[_0x20036f(0x362)](document['body'][_0x20036f(0x241)],_0x59941b[_0x20036f(0x4fe)]),_0x9abaf3=_0x4d210e[_0x20036f(0x668)](_0x244e39,_0x4d210e[_0x20036f(0x38f)](_0x5426f6[_0x20036f(0x430)],_0x2b4c92)),_0x3baced=_0x4d210e['CcsWv'](_0x2f580a,_0x5426f6[_0x20036f(0x41d)]+_0x2b4c92);if(!_0x9abaf3&&!_0x3baced){if(_0x4d210e['RbcCM'](_0x4d210e[_0x20036f(0x1d9)],_0x4d210e['mIYjc']))return _0x4d210e[_0x20036f(0x5d6)];else{const _0x3dfd81=_0x4d210e[_0x20036f(0x530)](_0xa7be3a[_0x20036f(0x4a3)][_0x20036f(0x3ee)],0x0);_0x3dfd81?this[_0x20036f(0x412)][_0x20036f(0x50e)](_0xb34700,_0x4d210e[_0x20036f(0x711)]):this['renderer']['removeClass'](_0x3cbe6b,_0x4d210e[_0x20036f(0x711)]);}}if(!_0x9abaf3)return _0x4d210e[_0x20036f(0x490)];if(!_0x3baced)return _0x4d210e[_0x20036f(0x2fc)];return _0x4d210e[_0x20036f(0x291)];}[_0x5d67ea(0x4e7)](_0x16b188,_0xe6f05d){const _0x5ed82e=_0x5d67ea,_0x307fca={'eOXON':function(_0x2df4a8,_0x5abb52){return _0x2df4a8-_0x5abb52;},'vdZdY':function(_0x182d83,_0x4c2235){return _0x182d83<_0x4c2235;},'tFOHP':function(_0x2936e8,_0x96a10d){return _0x2936e8+_0x96a10d;},'fucVv':_0x5ed82e(0x392),'NIbMv':function(_0x2e8fe7,_0x37b9f9){return _0x2e8fe7+_0x37b9f9;},'vpsbB':function(_0x3ab129,_0x1398f9){return _0x3ab129-_0x1398f9;},'xKSnL':function(_0x153be8,_0x47dbba){return _0x153be8-_0x47dbba;},'EPCBe':function(_0x1b5a4b,_0x38d811){return _0x1b5a4b-_0x38d811;},'noZGV':function(_0x4a9538,_0x58a7cf){return _0x4a9538-_0x58a7cf;},'jWOVK':function(_0x5436a8,_0x1a7e7a){return _0x5436a8+_0x1a7e7a;},'otsYX':function(_0x27d2fa,_0x35ba4d){return _0x27d2fa-_0x35ba4d;}},_0x5dd7fb=0x14,_0x4b5110=_0x307fca['eOXON'](document[_0x5ed82e(0x296)]['clientWidth'],_0x16b188['clientX']),_0x6ec7b=_0x307fca[_0x5ed82e(0x31e)](document[_0x5ed82e(0x296)]['clientHeight'],_0x16b188[_0x5ed82e(0x4fe)]);let _0x2881a8=_0x16b188['clientX'],_0x45455a=_0x16b188[_0x5ed82e(0x4fe)];if(_0x307fca[_0x5ed82e(0x5de)](_0x4b5110,_0x307fca[_0x5ed82e(0x48a)](_0xe6f05d[_0x5ed82e(0x430)],_0x5dd7fb))&&_0x307fca[_0x5ed82e(0x5de)](_0x6ec7b,_0xe6f05d[_0x5ed82e(0x41d)]+_0x5dd7fb)){if(_0x307fca[_0x5ed82e(0x2b1)]!==_0x5ed82e(0x392))return;else _0x2881a8=_0x307fca[_0x5ed82e(0x669)](_0x307fca['vpsbB'](_0x16b188[_0x5ed82e(0x75f)],_0xe6f05d['width']),_0x307fca[_0x5ed82e(0x31e)](_0x4b5110,_0x5dd7fb)),_0x45455a=_0x307fca[_0x5ed82e(0x48a)](_0x307fca[_0x5ed82e(0x662)](_0x16b188['clientY'],_0xe6f05d[_0x5ed82e(0x41d)]),_0x307fca['EPCBe'](_0x6ec7b,_0x5dd7fb));}else{if(_0x307fca[_0x5ed82e(0x5de)](_0x4b5110,_0x307fca[_0x5ed82e(0x669)](_0xe6f05d[_0x5ed82e(0x430)],_0x5dd7fb)))_0x2881a8=_0x307fca[_0x5ed82e(0x669)](_0x307fca[_0x5ed82e(0x6a8)](_0x16b188[_0x5ed82e(0x75f)],_0xe6f05d[_0x5ed82e(0x430)]),_0x307fca['noZGV'](_0x4b5110,_0x5dd7fb));else _0x307fca['vdZdY'](_0x6ec7b,_0x307fca['jWOVK'](_0xe6f05d[_0x5ed82e(0x41d)],_0x5dd7fb))&&(_0x45455a=_0x307fca['otsYX'](_0x16b188[_0x5ed82e(0x4fe)],_0xe6f05d[_0x5ed82e(0x41d)])+(_0x6ec7b-_0x5dd7fb));}return{'left':_0x2881a8,'top':_0x45455a};}['createMousePositionStrategy'](_0x52b1f4){const _0x8f27b2=_0x5d67ea,_0x49fbb7={'kgBns':function(_0x1c4a99,_0x32f21a){return _0x1c4a99<=_0x32f21a;},'drGEE':function(_0x88776a,_0x3485eb){return _0x88776a!==_0x3485eb;},'MGOpD':_0x8f27b2(0x319),'jZVbt':_0x8f27b2(0x3bb),'TjLvU':_0x8f27b2(0x3ee)};if(_0x49fbb7[_0x8f27b2(0x1ed)](window[_0x8f27b2(0x73d)],0x300)){if(_0x49fbb7['drGEE'](_0x49fbb7[_0x8f27b2(0x25b)],_0x49fbb7[_0x8f27b2(0x25b)])){if(this[_0x8f27b2(0x232)])return;const _0xd95adb=this[_0x8f27b2(0x2a3)]?.[_0x8f27b2(0x2b5)];_0xd95adb&&this[_0x8f27b2(0x328)](_0xd95adb,_0x5a0c56,_0x3af47f,{'options':{'inputs':{'text':_0x3f1701}},'position':_0x4f02c5,'hasBackdrop':![],'removePrevious':![],'hasAttachedWidth':![]},_0x1eb447,_0x4be9ba);}else return this[_0x8f27b2(0x3de)][_0x8f27b2(0x6b5)]()[_0x8f27b2(0x4ac)]()[_0x8f27b2(0x2b9)]();}return this[_0x8f27b2(0x3de)][_0x8f27b2(0x6b5)]()['flexibleConnectedTo']({'x':_0x52b1f4[_0x8f27b2(0x75f)],'y':_0x52b1f4[_0x8f27b2(0x4fe)]})[_0x8f27b2(0x38e)]([{'originX':_0x49fbb7[_0x8f27b2(0x388)],'originY':_0x49fbb7[_0x8f27b2(0x352)],'overlayX':_0x49fbb7[_0x8f27b2(0x388)],'overlayY':_0x8f27b2(0x3ee)}]);}[_0x5d67ea(0x57c)](_0x518a28){const _0x154632=_0x5d67ea,_0x3eacfc={'ogwIh':function(_0x42780d,_0x2b309d){return _0x42780d!==_0x2b309d;},'tyPZR':_0x154632(0x44a),'VNBXD':_0x154632(0x414),'UQpuB':_0x154632(0x2c5),'KzrDH':function(_0x3811c9,_0x281e83){return _0x3811c9(_0x281e83);},'IKlSD':function(_0x3414cc,_0x550b5e){return _0x3414cc(_0x550b5e);},'sMgae':function(_0x23c7a6,_0x220246){return _0x23c7a6(_0x220246);}};super['subscribeToOutsideEvents']();if(!_0x518a28){if(_0x3eacfc[_0x154632(0x3a1)]===_0x3eacfc[_0x154632(0x63a)])_0x3f0f5f['assign'](this,_0x302e22);else return;}_0x3eacfc[_0x154632(0x617)](timer,0x96)[_0x154632(0x734)](_0x3eacfc[_0x154632(0x310)](switchMap,()=>_0x518a28[_0x154632(0x75d)]()),tap(()=>{const _0x58a275=_0x154632;_0x3eacfc[_0x58a275(0x3ec)](_0x3eacfc[_0x58a275(0x5ab)],_0x3eacfc['tyPZR'])?this[_0x58a275(0x5b6)](_0x2d4611):this['closeAll']();}),_0x3eacfc['sMgae'](takeUntil,this[_0x154632(0x298)]))[_0x154632(0x65c)]();}[_0x5d67ea(0x36a)](_0x5d1f0d){const _0x44114a=_0x5d67ea,_0x44e9ca={'AJlYY':function(_0x528963,_0x3478e9){return _0x528963===_0x3478e9;},'Jupio':function(_0x2b5ed1,_0x1696e7){return _0x2b5ed1===_0x1696e7;},'DrXpT':_0x44114a(0x2b9)};return{'hasBackdrop':_0x44e9ca[_0x44114a(0x688)](_0x5d1f0d[_0x44114a(0x5a7)],undefined)?![]:_0x5d1f0d[_0x44114a(0x5a7)],'options':_0x5d1f0d[_0x44114a(0x5f6)]===undefined?{}:_0x5d1f0d[_0x44114a(0x5f6)],'position':_0x44e9ca['Jupio'](_0x5d1f0d[_0x44114a(0x6b5)],undefined)?_0x44e9ca[_0x44114a(0x34d)]:_0x5d1f0d[_0x44114a(0x6b5)],'removePrevious':_0x44e9ca[_0x44114a(0x688)](_0x5d1f0d['removePrevious'],undefined)?!![]:_0x5d1f0d['removePrevious'],'hasAttachedWidth':_0x44e9ca[_0x44114a(0x688)](_0x5d1f0d[_0x44114a(0x67b)],undefined)?![]:_0x5d1f0d['hasAttachedWidth']};}[_0x5d67ea(0x259)](_0x52835c,_0x5babfa,_0xe40514,_0x21eb0c){const _0x507cc2=_0x5d67ea,_0x46b79b={'VTqQL':function(_0x469e7e,_0x1b03b7){return _0x469e7e<=_0x1b03b7;},'auXEo':_0x507cc2(0x2b9)};if(_0x46b79b[_0x507cc2(0x205)](window[_0x507cc2(0x73d)],0x300))return this['overlay'][_0x507cc2(0x6b5)]()[_0x507cc2(0x4ac)]()['bottom']();return this[_0x507cc2(0x3de)][_0x507cc2(0x6b5)]()[_0x507cc2(0x1f6)](_0x52835c)[_0x507cc2(0x38e)]([{...this[_0x507cc2(0x6da)][_0x5babfa[_0x507cc2(0x6b5)]??_0x46b79b[_0x507cc2(0x74b)]][_0x507cc2(0x30e)],'offsetX':_0xe40514,'offsetY':_0x21eb0c}]);}static ['ɵfac']=_0x5242ab[_0x5d67ea(0x1ec)]({'minVersion':_0x5d67ea(0x4b8),'version':_0x5d67ea(0x2e7),'ngImport':_0x5242ab,'type':UiDropdownService,'deps':null,'target':_0x5242ab[_0x5d67ea(0x356)][_0x5d67ea(0x456)]});static ['ɵprov']=_0x5242ab[_0x5d67ea(0x2ac)]({'minVersion':_0x5d67ea(0x4b8),'version':'21.1.1','ngImport':_0x5242ab,'type':UiDropdownService,'providedIn':_0x5d67ea(0x27c)});}_0x5242ab[_0x5d67ea(0x50a)]({'minVersion':_0x5d67ea(0x4b8),'version':'21.1.1','ngImport':_0x5242ab,'type':UiDropdownService,'decorators':[{'type':Injectable,'args':[{'providedIn':'root'}]}]});class UiDropdownContainerDirective extends UiPopupContainerDirective{[_0x5d67ea(0x644)];[_0x5d67ea(0x412)];[_0x5d67ea(0x751)]=signal('',...ngDevMode?[{'debugName':_0x5d67ea(0x751)}]:[]);[_0x5d67ea(0x4c0)]=viewChild(_0x5d67ea(0x402),...ngDevMode?[{'debugName':'$contentWrapper'}]:[]);[_0x5d67ea(0x2bb)]=viewChild(_0x5d67ea(0x32f),...ngDevMode?[{'debugName':_0x5d67ea(0x2bb)}]:[]);[_0x5d67ea(0x536)]=signal({'startOrigin':_0x5d67ea(0x74e),'endOrigin':_0x5d67ea(0x74e),'start':_0x5d67ea(0x5af),'end':_0x5d67ea(0x3e8),'leftStart':'','leftEnd':'','topStart':'','topEnd':''},...ngDevMode?[{'debugName':_0x5d67ea(0x536)}]:[]);constructor(_0x5c3df2,_0x3a2294,_0x2e941c,_0x49d997,_0x26c1f1){const _0x3cef02=_0x5d67ea,_0x548e5b={'ruNvv':_0x3cef02(0x2f6),'zlMDl':'PsbIq','jRkUQ':function(_0x54422b,_0x16e108){return _0x54422b(_0x16e108);}};super(_0x3a2294,_0x2e941c,_0x5c3df2,_0x49d997),this[_0x3cef02(0x644)]=_0x5c3df2,this[_0x3cef02(0x412)]=_0x26c1f1,_0x548e5b[_0x3cef02(0x56a)](afterRenderEffect,()=>{const _0x2668a0=_0x3cef02;if(_0x548e5b[_0x2668a0(0x695)]===_0x548e5b[_0x2668a0(0x695)])this[_0x2668a0(0x3d4)]();else{const _0x559e7f=_0x548e5b['ruNvv']['split']('|');let _0x795feb=0x0;while(!![]){switch(_0x559e7f[_0x795feb++]){case'0':this['strokeDiff']=_0x5271a9;continue;case'1':this['sanitizer']=_0x15f305;continue;case'2':this['icons']=_0x25230c;continue;case'3':this[_0x2668a0(0x412)]=_0x546d8c;continue;case'4':this[_0x2668a0(0x30c)]=_0x24f84e;continue;case'5':this[_0x2668a0(0x2fd)]=_0x43eede;continue;}break;}}});}[_0x5d67ea(0x6ba)](){const _0x31f57f=_0x5d67ea,_0x3f5f89={'lNSnj':function(_0x2db7db,_0x5c7e69){return _0x2db7db<=_0x5c7e69;},'uUhpN':'bottom\x20center','WKxMk':_0x31f57f(0x6ab),'VioMZ':_0x31f57f(0x22d),'VMIGJ':function(_0x4bf241,_0x4461bb,_0x3336b2,_0x1f886){return _0x4bf241(_0x4461bb,_0x3336b2,_0x1f886);},'awhBe':'wheel','PGCnZ':function(_0x1df2ae,_0x32bc7e){return _0x1df2ae(_0x32bc7e);}};super[_0x31f57f(0x6ba)](),_0x3f5f89[_0x31f57f(0x69b)](window['innerWidth'],0x300)&&(this[_0x31f57f(0x5ce)][_0x31f57f(0x22f)](),this['$animationParams'][_0x31f57f(0x330)]({'startOrigin':_0x3f5f89[_0x31f57f(0x6c6)],'endOrigin':_0x31f57f(0x220),'start':_0x3f5f89[_0x31f57f(0x5c7)],'end':_0x3f5f89[_0x31f57f(0x2ff)],'leftStart':'','leftEnd':'','topStart':'','topEnd':''})),_0x3f5f89[_0x31f57f(0x48e)](fromEvent,this['elementRef']['nativeElement'],_0x3f5f89[_0x31f57f(0x4bc)],{'passive':!![]})['pipe'](_0x3f5f89[_0x31f57f(0x503)](tap,_0x4f7edf=>{const _0x3a94d2=_0x31f57f;_0x4f7edf[_0x3a94d2(0x4bf)]();}),takeUntilDestroyed(this[_0x31f57f(0x25c)]))['subscribe']();}[_0x5d67ea(0x670)](){const _0x30b423=_0x5d67ea,_0x249b7f={'pSzhv':function(_0x1c6209,_0x9b8bfa){return _0x1c6209(_0x9b8bfa);},'ECnAk':function(_0x52e814,_0x4a7d95){return _0x52e814(_0x4a7d95);},'eXlLS':function(_0x29d2bb,_0x2ff5c4){return _0x29d2bb!==_0x2ff5c4;},'WmKAU':_0x30b423(0x308),'wbyqe':_0x30b423(0x2f3),'hJfkp':function(_0x29a345,_0x58ecf1){return _0x29a345+_0x58ecf1;}};this['popupInstance'][_0x30b423(0x430)]&&(_0x249b7f[_0x30b423(0x58d)](_0x249b7f[_0x30b423(0x34e)],_0x249b7f['wbyqe'])?this[_0x30b423(0x751)][_0x30b423(0x330)](_0x249b7f['hJfkp'](this[_0x30b423(0x32c)]['width'],'px')):(this['$alerts']['set']([]),_0x249b7f[_0x30b423(0x6b6)](_0x557304,0xfa)[_0x30b423(0x734)](_0x249b7f[_0x30b423(0x4a2)](_0x26042b,()=>{const _0x3a8ad6=_0x30b423;this[_0x3a8ad6(0x341)]?.['detach']();}))[_0x30b423(0x65c)]()));const _0x423c50=this['$contentWrapper']();_0x423c50&&this[_0x30b423(0x644)][_0x30b423(0x4a9)][_0x30b423(0x22f)]({'width':_0x423c50[_0x30b423(0x501)]['offsetWidth'],'height':_0x423c50[_0x30b423(0x501)][_0x30b423(0x393)]});}[_0x5d67ea(0x3d4)](){const _0x4166cc=_0x5d67ea,_0xa952eb={'zEGwd':function(_0x5edba8,_0x4d15b1){return _0x5edba8-_0x4d15b1;},'BmFUp':function(_0x206cad,_0x586af8){return _0x206cad===_0x586af8;},'iPUKB':_0x4166cc(0x705),'PAhZI':_0x4166cc(0x5a6),'wgyio':'Control','tWyGV':function(_0x13ebdb,_0x4fb04c){return _0x13ebdb>_0x4fb04c;},'RBGEG':_0x4166cc(0x62c),'kKLJB':_0x4166cc(0x24e),'jrsSx':function(_0x56edf6,_0x1eacb1){return _0x56edf6!==_0x1eacb1;},'Wzmtw':_0x4166cc(0x563),'VvyUr':'OWtJe','JVAqg':function(_0x535543,_0x4978f6){return _0x535543-_0x4978f6;},'NGIEt':_0x4166cc(0x41d),'wVUEX':function(_0x1b581c,_0x3c5c4a){return _0x1b581c===_0x3c5c4a;},'WaRGq':_0x4166cc(0x3db),'SqGTL':function(_0x8758d3,_0x3e6e94){return _0x8758d3+_0x3e6e94;},'jDKoj':function(_0x233220,_0x203354){return _0x233220>_0x203354;},'oXPJx':function(_0x342760,_0x5b8d0a){return _0x342760===_0x5b8d0a;},'svHtJ':_0x4166cc(0x419),'fQTpH':function(_0x44f7c5,_0x20f258){return _0x44f7c5+_0x20f258;},'yIZsj':function(_0x1c41b5,_0x4d3e39){return _0x1c41b5!==_0x4d3e39;},'qkAnT':'FFImi','hFOZc':function(_0x273c57,_0x4e2459){return _0x273c57<=_0x4e2459;},'sGkFT':function(_0xd9a207,_0x1971b9){return _0xd9a207/_0x1971b9;},'gBGoh':function(_0x407377,_0x54f03b){return _0x407377&&_0x54f03b;},'HrEHC':_0x4166cc(0x295),'gUMoj':function(_0x2682d5,_0x29e19c,_0x5d8d33,_0x24c067){return _0x2682d5(_0x29e19c,_0x5d8d33,_0x24c067);},'GkFCT':function(_0x4918b2,_0x3dbc24){return _0x4918b2(_0x3dbc24);},'rdoBY':function(_0x181b80,_0x57dda4){return _0x181b80(_0x57dda4);},'SXMmB':function(_0x5968f3,_0x3c4002,_0xe51a4,_0x426084){return _0x5968f3(_0x3c4002,_0xe51a4,_0x426084);},'lPrCE':'touchmove'},_0x110871=this['$swipeButton'](),_0x6ac50=this[_0x4166cc(0x4c0)]();if(_0xa952eb[_0x4166cc(0x384)](_0x6ac50,_0x110871)){if(_0xa952eb[_0x4166cc(0x718)](_0xa952eb[_0x4166cc(0x1fa)],_0xa952eb['HrEHC']))this[_0x4166cc(0x2cf)](_0xa952eb['zEGwd'](_0x2eec48,0x1));else{let _0x306ccf=0x0;const _0x1f981d=_0x6ac50[_0x4166cc(0x501)][_0x4166cc(0x393)];_0xa952eb[_0x4166cc(0x5b8)](fromEvent,_0x110871['nativeElement'],_0x4166cc(0x565),{'passive':![]})[_0x4166cc(0x734)](_0xa952eb[_0x4166cc(0x2f0)](tap,_0x2410e5=>{const _0x5d48a7=_0x4166cc;_0xa952eb[_0x5d48a7(0x6f7)](_0xa952eb[_0x5d48a7(0x6ad)],_0x5d48a7(0x3a6))?_0x382054[_0x5d48a7(0x6a3)](_0x350b4a[_0x5d48a7(0x2bd)])[_0x5d48a7(0x5cc)](_0x3a4680=>{const _0x4251f3=_0x5d48a7;_0x376e63[_0x4251f3(0x2bd)]&&_0x1a3928[_0x4251f3(0x5b0)](_0x3a4680,_0x3b5deb[_0x4251f3(0x2bd)][_0x3a4680]);}):(_0x306ccf=_0x2410e5[_0x5d48a7(0x498)][0x0]['clientY'],_0x2410e5[_0x5d48a7(0x258)]());}),_0xa952eb['rdoBY'](takeUntilDestroyed,this[_0x4166cc(0x25c)]))[_0x4166cc(0x65c)](),_0xa952eb[_0x4166cc(0x4e0)](fromEvent,_0x110871[_0x4166cc(0x501)],_0xa952eb[_0x4166cc(0x6a9)],{'passive':![]})[_0x4166cc(0x734)](tap(_0x20ce0c=>{const _0x1e53c4=_0x4166cc;if(_0xa952eb[_0x1e53c4(0x723)](_0xa952eb[_0x1e53c4(0x6c0)],_0xa952eb[_0x1e53c4(0x61a)])){const _0x49fee9=_0x20ce0c[_0x1e53c4(0x498)][0x0][_0x1e53c4(0x4fe)],_0x40558a=_0xa952eb[_0x1e53c4(0x24b)](_0x306ccf,_0x49fee9);if(_0xa952eb[_0x1e53c4(0x605)](_0x40558a,0x0))this[_0x1e53c4(0x412)][_0x1e53c4(0x398)](_0x6ac50[_0x1e53c4(0x501)],_0xa952eb[_0x1e53c4(0x706)],_0x6ac50[_0x1e53c4(0x501)][_0x1e53c4(0x393)]+_0x40558a+'px');else{if(_0xa952eb[_0x1e53c4(0x5b5)](_0xa952eb[_0x1e53c4(0x648)],_0x1e53c4(0x2ce)))this[_0x1e53c4(0x25c)]=_0x2ca0ff;else{const _0x414654=_0xa952eb['SqGTL'](_0x6ac50[_0x1e53c4(0x501)][_0x1e53c4(0x393)],_0x40558a);_0xa952eb[_0x1e53c4(0x238)](_0x414654,0x32)&&(_0xa952eb[_0x1e53c4(0x2c2)](_0xa952eb[_0x1e53c4(0x5c0)],_0xa952eb['svHtJ'])?this['renderer'][_0x1e53c4(0x398)](_0x6ac50[_0x1e53c4(0x501)],_0xa952eb['NGIEt'],_0x414654+'px'):this['renderer'][_0x1e53c4(0x50e)](this[_0x1e53c4(0x30c)][_0x1e53c4(0x501)],_0xa952eb[_0x1e53c4(0x4b7)]));}}_0x306ccf=_0x49fee9,_0x20ce0c[_0x1e53c4(0x258)]();}else _0xa952eb[_0x1e53c4(0x6f7)](_0x1b4b35[_0x1e53c4(0x72f)],_0xa952eb[_0x1e53c4(0x56c)])&&this['$cursor']['set'](_0xa952eb[_0x1e53c4(0x605)](this[_0x1e53c4(0x273)],0x1)?_0xa952eb[_0x1e53c4(0x245)]:_0xa952eb[_0x1e53c4(0x229)]);}),takeUntilDestroyed(this[_0x4166cc(0x25c)]))[_0x4166cc(0x65c)](),_0xa952eb[_0x4166cc(0x4e0)](fromEvent,_0x110871['nativeElement'],_0x4166cc(0x36b),{'passive':![]})[_0x4166cc(0x734)](_0xa952eb[_0x4166cc(0x3a9)](tap,()=>{const _0x37b670=_0x4166cc,_0x485da0={'ulYbz':_0xa952eb['NGIEt'],'qxGvr':function(_0x482295,_0x4ac605){const _0x27fea4=_0x3b02;return _0xa952eb[_0x27fea4(0x22b)](_0x482295,_0x4ac605);}};_0xa952eb[_0x37b670(0x718)](_0xa952eb[_0x37b670(0x6c8)],_0xa952eb[_0x37b670(0x6c8)])?this[_0x37b670(0x412)][_0x37b670(0x398)](_0x5d2f90['nativeElement'],_0x485da0['ulYbz'],_0x485da0[_0x37b670(0x578)](_0x2016c7[_0x37b670(0x501)][_0x37b670(0x393)],_0x3214eb)+'px'):_0xa952eb[_0x37b670(0x30b)](_0x6ac50[_0x37b670(0x501)][_0x37b670(0x393)],_0xa952eb[_0x37b670(0x724)](_0x1f981d,0x2))?this['close']():this[_0x37b670(0x412)][_0x37b670(0x398)](_0x6ac50[_0x37b670(0x501)],_0xa952eb[_0x37b670(0x706)],_0x1f981d+'px');}),_0xa952eb[_0x4166cc(0x3a9)](takeUntilDestroyed,this[_0x4166cc(0x25c)]))[_0x4166cc(0x65c)]();}}}static [_0x5d67ea(0x48b)]=_0x5242ab[_0x5d67ea(0x1ec)]({'minVersion':'12.0.0','version':_0x5d67ea(0x2e7),'ngImport':_0x5242ab,'type':UiDropdownContainerDirective,'deps':[{'token':UiDropdownService},{'token':UiPopupInstance},{'token':_0x5242ab[_0x5d67ea(0x233)]},{'token':_0x5242ab[_0x5d67ea(0x404)]},{'token':_0x5242ab[_0x5d67ea(0x696)]}],'target':_0x5242ab['ɵɵFactoryTarget'][_0x5d67ea(0x521)]});static [_0x5d67ea(0x60a)]=_0x5242ab[_0x5d67ea(0x21b)]({'minVersion':_0x5d67ea(0x20b),'version':'21.1.1','type':UiDropdownContainerDirective,'isStandalone':!![],'selector':_0x5d67ea(0x691),'viewQueries':[{'propertyName':_0x5d67ea(0x4c0),'first':!![],'predicate':['contentWrapper'],'descendants':!![],'isSignal':!![]},{'propertyName':_0x5d67ea(0x2bb),'first':!![],'predicate':['swipeButton'],'descendants':!![],'isSignal':!![]}],'usesInheritance':!![],'ngImport':_0x5242ab});}_0x5242ab[_0x5d67ea(0x50a)]({'minVersion':_0x5d67ea(0x4b8),'version':_0x5d67ea(0x2e7),'ngImport':_0x5242ab,'type':UiDropdownContainerDirective,'decorators':[{'type':Directive,'args':[{'selector':'app-ui-drop-down-container'}]}],'ctorParameters':()=>[{'type':UiDropdownService},{'type':UiPopupInstance,'decorators':[{'type':Inject,'args':[UiPopupInstance]}]},{'type':_0x5242ab[_0x5d67ea(0x233)]},{'type':_0x5242ab[_0x5d67ea(0x404)]},{'type':_0x5242ab[_0x5d67ea(0x696)]}],'propDecorators':{'$contentWrapper':[{'type':_0x5242ab[_0x5d67ea(0x54a)],'args':[_0x5d67ea(0x402),{'isSignal':!![]}]}],'$swipeButton':[{'type':_0x5242ab[_0x5d67ea(0x54a)],'args':[_0x5d67ea(0x32f),{'isSignal':!![]}]}]}});class HoverTipDirective{[_0x5d67ea(0x51b)];[_0x5d67ea(0x20c)];[_0x5d67ea(0x25c)];static ['instanceCounter']=0x0;[_0x5d67ea(0x6bc)]=input['required']({...ngDevMode?{'debugName':_0x5d67ea(0x6bc)}:{},'alias':_0x5d67ea(0x444)});[_0x5d67ea(0x6d9)]=input(0x3e8,...ngDevMode?[{'debugName':_0x5d67ea(0x6d9)}]:[]);[_0x5d67ea(0x604)]=input(_0x5d67ea(0x3ee),{...ngDevMode?{'debugName':'$position'}:{},'alias':_0x5d67ea(0x374)});['$offsetX']=input(0x0,{...ngDevMode?{'debugName':'$offsetX'}:{},'alias':'appHoverTipOffsetX'});[_0x5d67ea(0x735)]=input(0x0,{...ngDevMode?{'debugName':_0x5d67ea(0x735)}:{},'alias':_0x5d67ea(0x43d)});[_0x5d67ea(0x608)]=_0x5d67ea(0x50b)+HoverTipDirective['instanceCounter']++;[_0x5d67ea(0x3f4)]=![];constructor(_0x2a9559,_0x506331,_0xc00c0c){const _0x2a5719=_0x5d67ea;this[_0x2a5719(0x51b)]=_0x2a9559,this[_0x2a5719(0x20c)]=_0x506331,this['destroyRef']=_0xc00c0c,this[_0x2a5719(0x25c)][_0x2a5719(0x289)](()=>{const _0x5b59f8=_0x2a5719;this[_0x5b59f8(0x6dc)]();});}[_0x5d67ea(0x670)](){const _0x40d5bb=_0x5d67ea,_0x1bffb6={'pwcQK':function(_0x3ca513,_0x2e1481){return _0x3ca513!==_0x2e1481;},'jpjHJ':_0x40d5bb(0x6ef),'hWwAl':function(_0x1f63b5,_0x1e1471){return _0x1f63b5===_0x1e1471;},'XkjcN':_0x40d5bb(0x4a5),'dpbCD':function(_0x2d6e9f,_0x34819c,_0x2ecb26){return _0x2d6e9f(_0x34819c,_0x2ecb26);},'Jjhtt':'mouseenter','MYrTR':function(_0x4e08a,_0x1f4eef){return _0x4e08a(_0x1f4eef);},'REAhY':function(_0x2390c1,_0x50e884,_0x2e7f74){return _0x2390c1(_0x50e884,_0x2e7f74);},'EuTrE':_0x40d5bb(0x465),'ummQU':function(_0x21804c,_0x2b2e8b,_0x5818a8){return _0x21804c(_0x2b2e8b,_0x5818a8);},'TXYEA':function(_0x55547c,_0x59bbe4){return _0x55547c(_0x59bbe4);}},_0xc334bf=this[_0x40d5bb(0x6d9)]();_0x1bffb6[_0x40d5bb(0x318)](fromEvent,this[_0x40d5bb(0x51b)][_0x40d5bb(0x501)],_0x1bffb6['Jjhtt'])[_0x40d5bb(0x734)](debounceTime(_0xc334bf),tap(()=>{const _0x52a0b0=_0x40d5bb;_0x1bffb6[_0x52a0b0(0x573)]('krskk',_0x1bffb6[_0x52a0b0(0x320)])?(this[_0x52a0b0(0x51b)]=_0x3946d6,this[_0x52a0b0(0x20c)]=_0xc7e2b0,this[_0x52a0b0(0x25c)]=_0x2614c7,this[_0x52a0b0(0x25c)]['onDestroy'](()=>{const _0x431e46=_0x52a0b0;this[_0x431e46(0x6dc)]();})):this[_0x52a0b0(0x4d9)]();}),_0x1bffb6[_0x40d5bb(0x6a2)](takeUntilDestroyed,this['destroyRef']))[_0x40d5bb(0x65c)](),_0x1bffb6[_0x40d5bb(0x602)](fromEvent,this['hostRef'][_0x40d5bb(0x501)],_0x1bffb6[_0x40d5bb(0x5aa)])[_0x40d5bb(0x734)](tap(()=>{const _0x494799=_0x40d5bb;_0x1bffb6[_0x494799(0x522)](_0x1bffb6[_0x494799(0x4b1)],_0x494799(0x347))?_0x1229dd['close']():this[_0x494799(0x6dc)]();}),takeUntilDestroyed(this[_0x40d5bb(0x25c)]))[_0x40d5bb(0x65c)](),_0x1bffb6['ummQU'](fromEvent,window,_0x40d5bb(0x656))[_0x40d5bb(0x734)](_0x1bffb6['TXYEA'](tap,()=>{const _0x1b6d02=_0x40d5bb;this[_0x1b6d02(0x6dc)]();}),_0x1bffb6['MYrTR'](takeUntilDestroyed,this['destroyRef']))[_0x40d5bb(0x65c)]();}[_0x5d67ea(0x4d9)](){const _0x42e71e=_0x5d67ea,_0xda95f6={'cxRbi':_0x42e71e(0x57e)},_0x54623d=this[_0x42e71e(0x6bc)]()[_0x42e71e(0x35e)](),_0x1337e2=this[_0x42e71e(0x51b)][_0x42e71e(0x501)]['matches'](_0xda95f6[_0x42e71e(0x664)]);if(!_0x54623d||this[_0x42e71e(0x3f4)]||!_0x1337e2)return;this[_0x42e71e(0x20c)]['openTip'](_0x54623d,this[_0x42e71e(0x51b)][_0x42e71e(0x501)],this[_0x42e71e(0x608)],this[_0x42e71e(0x604)](),this[_0x42e71e(0x735)](),this[_0x42e71e(0x4d1)]()),this[_0x42e71e(0x3f4)]=!![];}['closeTip'](){const _0x592b25=_0x5d67ea;if(!this[_0x592b25(0x3f4)])return;this['uiDropdownService'][_0x592b25(0x525)](this[_0x592b25(0x608)]),this[_0x592b25(0x3f4)]=![];}static [_0x5d67ea(0x48b)]=_0x5242ab[_0x5d67ea(0x1ec)]({'minVersion':_0x5d67ea(0x4b8),'version':_0x5d67ea(0x2e7),'ngImport':_0x5242ab,'type':HoverTipDirective,'deps':[{'token':_0x5242ab['ElementRef']},{'token':UiDropdownService},{'token':_0x5242ab[_0x5d67ea(0x233)]}],'target':_0x5242ab['ɵɵFactoryTarget'][_0x5d67ea(0x521)]});static [_0x5d67ea(0x60a)]=_0x5242ab[_0x5d67ea(0x21b)]({'minVersion':_0x5d67ea(0x44f),'version':_0x5d67ea(0x2e7),'type':HoverTipDirective,'isStandalone':!![],'selector':_0x5d67ea(0x511),'inputs':{'$text':{'classPropertyName':_0x5d67ea(0x6bc),'publicName':_0x5d67ea(0x444),'isSignal':!![],'isRequired':!![],'transformFunction':null},'$debounceTime':{'classPropertyName':_0x5d67ea(0x6d9),'publicName':_0x5d67ea(0x6d9),'isSignal':!![],'isRequired':![],'transformFunction':null},'$position':{'classPropertyName':_0x5d67ea(0x604),'publicName':'appHoverTipPosition','isSignal':!![],'isRequired':![],'transformFunction':null},'$offsetX':{'classPropertyName':_0x5d67ea(0x4d1),'publicName':_0x5d67ea(0x410),'isSignal':!![],'isRequired':![],'transformFunction':null},'$offsetY':{'classPropertyName':'$offsetY','publicName':_0x5d67ea(0x43d),'isSignal':!![],'isRequired':![],'transformFunction':null}},'ngImport':_0x5242ab});}_0x5242ab['ɵɵngDeclareClassMetadata']({'minVersion':'12.0.0','version':'21.1.1','ngImport':_0x5242ab,'type':HoverTipDirective,'decorators':[{'type':Directive,'args':[{'selector':_0x5d67ea(0x511)}]}],'ctorParameters':()=>[{'type':_0x5242ab[_0x5d67ea(0x404)]},{'type':UiDropdownService},{'type':_0x5242ab['DestroyRef']}],'propDecorators':{'$text':[{'type':_0x5242ab['Input'],'args':[{'isSignal':!![],'alias':'appHoverTip','required':!![]}]}],'$debounceTime':[{'type':_0x5242ab[_0x5d67ea(0x714)],'args':[{'isSignal':!![],'alias':'$debounceTime','required':![]}]}],'$position':[{'type':_0x5242ab[_0x5d67ea(0x714)],'args':[{'isSignal':!![],'alias':_0x5d67ea(0x374),'required':![]}]}],'$offsetX':[{'type':_0x5242ab[_0x5d67ea(0x714)],'args':[{'isSignal':!![],'alias':_0x5d67ea(0x410),'required':![]}]}],'$offsetY':[{'type':_0x5242ab[_0x5d67ea(0x714)],'args':[{'isSignal':!![],'alias':_0x5d67ea(0x43d),'required':![]}]}]}});class UiImageDirective{[_0x5d67ea(0x224)]=input[_0x5d67ea(0x4dd)](...ngDevMode?[{'debugName':_0x5d67ea(0x224)}]:[]);['$maxWidth']=input(0x140,...ngDevMode?[{'debugName':_0x5d67ea(0x411)}]:[]);['$maxHeight']=input(0x140,...ngDevMode?[{'debugName':_0x5d67ea(0x547)}]:[]);[_0x5d67ea(0x5a9)]=signal(!![],...ngDevMode?[{'debugName':_0x5d67ea(0x5a9)}]:[]);[_0x5d67ea(0x601)]=signal(0x0,...ngDevMode?[{'debugName':_0x5d67ea(0x601)}]:[]);['$imageHeight']=signal(0x0,...ngDevMode?[{'debugName':_0x5d67ea(0x582)}]:[]);['ngOnInit'](){const _0x7c1e43=_0x5d67ea;if(this['$src']()){const _0x5e8cf2=new Image();_0x5e8cf2[_0x7c1e43(0x68b)]=this[_0x7c1e43(0x224)](),_0x5e8cf2['onload']=()=>{const _0xb88abe=_0x7c1e43;this[_0xb88abe(0x239)](this[_0xb88abe(0x411)](),this['$maxHeight'](),_0x5e8cf2['width'],_0x5e8cf2[_0xb88abe(0x41d)]),_0x5e8cf2[_0xb88abe(0x472)]();};}else this[_0x7c1e43(0x239)]();}[_0x5d67ea(0x239)](_0xa881c2=this[_0x5d67ea(0x411)]()/0x2,_0x3ff1b0=this[_0x5d67ea(0x547)]()/0x2,_0x16a428=0x14,_0x4d9340=0x14){const _0x330a49=_0x5d67ea,_0x239730={'CelEP':function(_0x4d063d,_0x4ffb6f,_0x116ba0,_0x55b58c,_0x244a87){return _0x4d063d(_0x4ffb6f,_0x116ba0,_0x55b58c,_0x244a87);}},_0x5b8f44=_0x239730[_0x330a49(0x455)](getAspectRatioFit,_0xa881c2,_0x3ff1b0,_0x16a428,_0x4d9340);this[_0x330a49(0x601)]['set'](_0x5b8f44[_0x330a49(0x430)]),this[_0x330a49(0x582)][_0x330a49(0x330)](_0x5b8f44[_0x330a49(0x41d)]);}static [_0x5d67ea(0x48b)]=_0x5242ab[_0x5d67ea(0x1ec)]({'minVersion':_0x5d67ea(0x4b8),'version':_0x5d67ea(0x2e7),'ngImport':_0x5242ab,'type':UiImageDirective,'deps':[],'target':_0x5242ab[_0x5d67ea(0x356)]['Directive']});static [_0x5d67ea(0x60a)]=_0x5242ab[_0x5d67ea(0x21b)]({'minVersion':_0x5d67ea(0x44f),'version':'21.1.1','type':UiImageDirective,'isStandalone':!![],'selector':_0x5d67ea(0x579),'inputs':{'$src':{'classPropertyName':'$src','publicName':_0x5d67ea(0x224),'isSignal':!![],'isRequired':!![],'transformFunction':null},'$maxWidth':{'classPropertyName':'$maxWidth','publicName':'$maxWidth','isSignal':!![],'isRequired':![],'transformFunction':null},'$maxHeight':{'classPropertyName':_0x5d67ea(0x547),'publicName':_0x5d67ea(0x547),'isSignal':!![],'isRequired':![],'transformFunction':null}},'ngImport':_0x5242ab});}_0x5242ab[_0x5d67ea(0x50a)]({'minVersion':_0x5d67ea(0x4b8),'version':_0x5d67ea(0x2e7),'ngImport':_0x5242ab,'type':UiImageDirective,'decorators':[{'type':Directive,'args':[{'selector':_0x5d67ea(0x579)}]}],'propDecorators':{'$src':[{'type':_0x5242ab[_0x5d67ea(0x714)],'args':[{'isSignal':!![],'alias':'$src','required':!![]}]}],'$maxWidth':[{'type':_0x5242ab[_0x5d67ea(0x714)],'args':[{'isSignal':!![],'alias':_0x5d67ea(0x411),'required':![]}]}],'$maxHeight':[{'type':_0x5242ab['Input'],'args':[{'isSignal':!![],'alias':_0x5d67ea(0x547),'required':![]}]}]}});class UiPaginationDirective{[_0x5d67ea(0x61b)]=input['required'](...ngDevMode?[{'debugName':'$hasNext'}]:[]);[_0x5d67ea(0x42d)]=input[_0x5d67ea(0x4dd)](...ngDevMode?[{'debugName':_0x5d67ea(0x42d)}]:[]);[_0x5d67ea(0x524)]=output();[_0x5d67ea(0x561)]=output();static [_0x5d67ea(0x48b)]=_0x5242ab[_0x5d67ea(0x1ec)]({'minVersion':_0x5d67ea(0x4b8),'version':_0x5d67ea(0x2e7),'ngImport':_0x5242ab,'type':UiPaginationDirective,'deps':[],'target':_0x5242ab['ɵɵFactoryTarget'][_0x5d67ea(0x521)]});static ['ɵdir']=_0x5242ab[_0x5d67ea(0x21b)]({'minVersion':_0x5d67ea(0x44f),'version':_0x5d67ea(0x2e7),'type':UiPaginationDirective,'isStandalone':!![],'selector':_0x5d67ea(0x761),'inputs':{'$hasNext':{'classPropertyName':_0x5d67ea(0x61b),'publicName':_0x5d67ea(0x61b),'isSignal':!![],'isRequired':!![],'transformFunction':null},'$hasPrevious':{'classPropertyName':_0x5d67ea(0x42d),'publicName':_0x5d67ea(0x42d),'isSignal':!![],'isRequired':!![],'transformFunction':null}},'outputs':{'$nextClicked':_0x5d67ea(0x524),'$previousClicked':_0x5d67ea(0x561)},'ngImport':_0x5242ab});}_0x5242ab['ɵɵngDeclareClassMetadata']({'minVersion':_0x5d67ea(0x4b8),'version':_0x5d67ea(0x2e7),'ngImport':_0x5242ab,'type':UiPaginationDirective,'decorators':[{'type':Directive,'args':[{'selector':_0x5d67ea(0x761)}]}],'propDecorators':{'$hasNext':[{'type':_0x5242ab[_0x5d67ea(0x714)],'args':[{'isSignal':!![],'alias':'$hasNext','required':!![]}]}],'$hasPrevious':[{'type':_0x5242ab[_0x5d67ea(0x714)],'args':[{'isSignal':!![],'alias':_0x5d67ea(0x42d),'required':!![]}]}],'$nextClicked':[{'type':_0x5242ab[_0x5d67ea(0x42a)],'args':[_0x5d67ea(0x524)]}],'$previousClicked':[{'type':_0x5242ab[_0x5d67ea(0x42a)],'args':[_0x5d67ea(0x561)]}]}});class UiPopupImageDirective{[_0x5d67ea(0x25c)];['src']='';[_0x5d67ea(0x430)]=0x0;[_0x5d67ea(0x41d)]=0x0;[_0x5d67ea(0x601)]=signal(0x0,...ngDevMode?[{'debugName':_0x5d67ea(0x601)}]:[]);[_0x5d67ea(0x582)]=signal(0x0,...ngDevMode?[{'debugName':_0x5d67ea(0x582)}]:[]);[_0x5d67ea(0x421)]=signal('',...ngDevMode?[{'debugName':'$imageStyleTransform'}]:[]);['$container']=viewChild(_0x5d67ea(0x3ab),...ngDevMode?[{'debugName':_0x5d67ea(0x44e)}]:[]);[_0x5d67ea(0x572)]=viewChild(_0x5d67ea(0x4b2),...ngDevMode?[{'debugName':'$image'}]:[]);['$cursor']=signal(_0x5d67ea(0x24e),...ngDevMode?[{'debugName':_0x5d67ea(0x5c3)}]:[]);['isDragging']=![];[_0x5d67ea(0x204)]=![];['isPinching']=![];[_0x5d67ea(0x293)]=0x0;[_0x5d67ea(0x2c4)]=0x0;[_0x5d67ea(0x686)]=0x0;['size']={'w':0x0,'h':0x0};[_0x5d67ea(0x21f)]=0.5;[_0x5d67ea(0x592)]={'x':0x0,'y':0x0};[_0x5d67ea(0x21d)]={'x':0x0,'y':0x0};['pointer']={'x':0x0,'y':0x0};[_0x5d67ea(0x273)]=0x1;constructor(_0x42c241){const _0x41f589=_0x5d67ea;this[_0x41f589(0x25c)]=_0x42c241;}[_0x5d67ea(0x6ba)](){const _0x52f90d=_0x5d67ea,_0x5a41f8={'XTLML':function(_0x2e69ea,_0x4646d9,_0x593343,_0x3ceb81,_0x2105a6){return _0x2e69ea(_0x4646d9,_0x593343,_0x3ceb81,_0x2105a6);},'gIWVo':function(_0x54500d,_0xd64817){return _0x54500d-_0xd64817;},'bhvLh':function(_0x264425,_0x3d9bcf){return _0x264425/_0x3d9bcf;}},_0x1e6510=_0x5a41f8[_0x52f90d(0x4fb)](getAspectRatioFit,_0x5a41f8[_0x52f90d(0x29f)](window['innerWidth'],_0x5a41f8[_0x52f90d(0x43b)](window['innerWidth'],0x8)),_0x5a41f8['gIWVo'](window['innerHeight'],_0x5a41f8[_0x52f90d(0x43b)](window[_0x52f90d(0x6d2)],0x8)),this[_0x52f90d(0x430)],this[_0x52f90d(0x41d)]);this[_0x52f90d(0x601)]['set'](_0x1e6510[_0x52f90d(0x430)]),this['$imageHeight'][_0x52f90d(0x330)](_0x1e6510['height']);}[_0x5d67ea(0x670)](){const _0x407d12=_0x5d67ea,_0x412e5c={'Dyrdr':function(_0xaf6e22,_0x2c3abc){return _0xaf6e22+_0x2c3abc;},'OzNjf':_0x407d12(0x403),'gKKaf':_0x407d12(0x56f),'KAYQX':'oUgQR','bBSUi':'grab','GAbVH':'auto','cgyca':function(_0x2c8e26,_0x248949){return _0x2c8e26===_0x248949;},'ODiPq':function(_0x3c19c7,_0x52bfe2){return _0x3c19c7>_0x52bfe2;},'jgVfg':function(_0x4d3c93,_0x2ec7da){return _0x4d3c93!==_0x2ec7da;},'iCfnj':_0x407d12(0x336),'ALMOP':function(_0x1ffc39,_0x13e8b2){return _0x1ffc39>_0x13e8b2;},'MgKra':_0x407d12(0x5c4),'BmrDK':function(_0xab7ace,_0x2ab553){return _0xab7ace===_0x2ab553;},'czlML':_0x407d12(0x570),'qLqTS':_0x407d12(0x689),'Whihc':function(_0x4f7dba,_0x1aedf7){return _0x4f7dba-_0x1aedf7;},'ZiEoe':function(_0xc4e4d6,_0x5a0688){return _0xc4e4d6/_0x5a0688;},'SSjmu':function(_0x2eac2c,_0x406b17){return _0x2eac2c*_0x406b17;},'Ginyi':function(_0x5af683,_0x50fc0c){return _0x5af683*_0x50fc0c;},'cYZmU':function(_0x11bd15,_0x5cdea6){return _0x11bd15!==_0x5cdea6;},'ptaOg':_0x407d12(0x47d),'rjdAb':function(_0x567e71,_0x27274c){return _0x567e71-_0x27274c;},'jHzSN':function(_0x42864e,_0x501b5f){return _0x42864e>_0x501b5f;},'oUGzO':'CbttK','WNIvR':function(_0x17795c,_0x59e104){return _0x17795c!==_0x59e104;},'foKzS':function(_0x47b3cc,_0xf78097){return _0x47b3cc!==_0xf78097;},'DYKRw':_0x407d12(0x2f1),'hBwNT':function(_0x191df,_0x3fd6f3){return _0x191df-_0x3fd6f3;},'siOdi':function(_0x2c3c16,_0x3b5ca1){return _0x2c3c16-_0x3b5ca1;},'eGzBw':function(_0xda2834,_0x2ef5c3){return _0xda2834-_0x2ef5c3;},'HmqYw':function(_0x180d5b,_0x11018d){return _0x180d5b/_0x11018d;},'CNApe':function(_0x19ca95,_0x4a6514){return _0x19ca95+_0x4a6514;},'qwVRK':function(_0x8b18bc,_0x34e695){return _0x8b18bc*_0x34e695;},'sEDrv':function(_0x243140,_0x1771f6){return _0x243140-_0x1771f6;},'Nmdjf':function(_0xe2d709,_0x55de17,_0x252984){return _0xe2d709(_0x55de17,_0x252984);},'asvUw':function(_0x382f64,_0x29765a){return _0x382f64(_0x29765a);},'kqabJ':function(_0x1d7c80,_0x41b2d2){return _0x1d7c80(_0x41b2d2);},'YzuNO':_0x407d12(0x49c),'PMTet':function(_0x10bd54,_0x4f5e6d){return _0x10bd54(_0x4f5e6d);},'NYbVj':function(_0x2ffb98,_0x3292c2){return _0x2ffb98(_0x3292c2);},'rQJdZ':_0x407d12(0x309),'uYtfi':function(_0x183f32,_0x2ac0b6){return _0x183f32(_0x2ac0b6);},'lFTph':_0x407d12(0x255),'LFbuW':function(_0x3da296,_0x44a292){return _0x3da296(_0x44a292);},'bRpBm':_0x407d12(0x34a),'GcViF':_0x407d12(0x234),'kPdkv':function(_0x901f9b,_0x3ff220,_0x4b2a82){return _0x901f9b(_0x3ff220,_0x4b2a82);},'fOgPw':function(_0x1f7c49,_0x246eb6){return _0x1f7c49(_0x246eb6);},'gCpQp':function(_0x259273,_0xdc5743){return _0x259273(_0xdc5743);},'AsgKK':_0x407d12(0x539)},_0x278994=this['$container']()?.[_0x407d12(0x501)];if(!_0x278994)return;this['size']={'w':_0x278994['offsetWidth'],'h':_0x278994[_0x407d12(0x393)]},_0x412e5c[_0x407d12(0x223)](fromEvent,window,_0x407d12(0x4bb))[_0x407d12(0x734)](_0x412e5c['asvUw'](tap,_0x3ef961=>{const _0x11bff9=_0x407d12;if(_0x3ef961[_0x11bff9(0x681)])this['$cursor'][_0x11bff9(0x330)](_0x11bff9(0x36e));}),_0x412e5c['kqabJ'](takeUntilDestroyed,this['destroyRef']))['subscribe'](),_0x412e5c[_0x407d12(0x223)](fromEvent,window,_0x412e5c[_0x407d12(0x3a7)])['pipe'](_0x412e5c[_0x407d12(0x45e)](tap,_0x4c493c=>{const _0x590af0=_0x407d12,_0x39af3b={'pCujR':function(_0x59e481,_0x20bbfd){const _0x295696=_0x3b02;return _0x412e5c[_0x295696(0x497)](_0x59e481,_0x20bbfd);},'ZwNTw':function(_0x2ff794,_0x21e6cc){return _0x2ff794<_0x21e6cc;}};if(_0x4c493c[_0x590af0(0x72f)]===_0x412e5c['OzNjf']){if(_0x412e5c[_0x590af0(0x1e7)]===_0x412e5c[_0x590af0(0x210)]){const _0x35d890=_0x39af3b['pCujR'](_0x1c3234,_0x15b666);if(_0x39af3b[_0x590af0(0x66d)](_0x35d890,_0x211bdf)){const _0xbe8f20=_0x290716[_0x35d890][_0x590af0(0x501)];_0xbe8f20[_0x590af0(0x3f5)]=_0x1f74ae;}}else this['$cursor']['set'](this['scale']>0x1?_0x412e5c['bBSUi']:_0x412e5c[_0x590af0(0x708)]);}}),_0x412e5c[_0x407d12(0x269)](takeUntilDestroyed,this['destroyRef']))[_0x407d12(0x65c)](),_0x412e5c[_0x407d12(0x223)](fromEvent,window,_0x412e5c[_0x407d12(0x20e)])['pipe'](tap(_0xc79a2a=>{const _0x155590=_0x407d12;_0x412e5c[_0x155590(0x60c)](_0xc79a2a[_0x155590(0x45f)],0x0)&&(this[_0x155590(0x3c5)]=![],this['$cursor']['set'](_0x412e5c[_0x155590(0x50c)](this[_0x155590(0x273)],0x1)?_0x155590(0x62c):_0x412e5c['GAbVH']));}),_0x412e5c[_0x407d12(0x475)](takeUntilDestroyed,this[_0x407d12(0x25c)]))[_0x407d12(0x65c)](),_0x412e5c[_0x407d12(0x223)](fromEvent,_0x278994,_0x412e5c[_0x407d12(0x634)])[_0x407d12(0x734)](_0x412e5c['asvUw'](tap,_0x4d9c9d=>{const _0x4a2025=_0x407d12;if(_0x412e5c[_0x4a2025(0x6b4)]('udZBb',_0x412e5c['iCfnj']))return(this[_0x4a2025(0x562)]()||this[_0x4a2025(0x5d9)]()&&this[_0x4a2025(0x562)]())&&this[_0x4a2025(0x4ae)]();else _0x4d9c9d[_0x4a2025(0x45f)]===0x0&&(_0x4d9c9d[_0x4a2025(0x258)](),this[_0x4a2025(0x3c5)]=!![],this[_0x4a2025(0x5c3)][_0x4a2025(0x330)](_0x412e5c[_0x4a2025(0x626)](this[_0x4a2025(0x273)],0x1)?_0x4a2025(0x72b):_0x412e5c[_0x4a2025(0x708)]));}),_0x412e5c['LFbuW'](takeUntilDestroyed,this[_0x407d12(0x25c)]))[_0x407d12(0x65c)](),_0x412e5c[_0x407d12(0x223)](fromEvent,window,_0x412e5c[_0x407d12(0x537)])[_0x407d12(0x734)](_0x412e5c[_0x407d12(0x475)](tap,_0x33b8fe=>{const _0x2bab0f=_0x407d12,_0x35df84={'pozXJ':_0x412e5c['MgKra']};_0x412e5c[_0x2bab0f(0x56b)](_0x412e5c[_0x2bab0f(0x6f4)],_0x412e5c['czlML'])?this[_0x2bab0f(0x3c5)]&&this[_0x2bab0f(0x273)]>0x1&&(_0x412e5c['jgVfg'](_0x2bab0f(0x4c8),_0x412e5c[_0x2bab0f(0x492)])?(this[_0x2bab0f(0x592)]['x']+=_0x33b8fe[_0x2bab0f(0x5fe)],this[_0x2bab0f(0x592)]['y']+=_0x33b8fe[_0x2bab0f(0x271)],this[_0x2bab0f(0x4ff)](),this[_0x2bab0f(0x421)]['set']('translate('+this['pos']['x']+_0x2bab0f(0x67a)+this[_0x2bab0f(0x592)]['y']+'px)\x20scale('+this[_0x2bab0f(0x273)]+')')):(_0x30f486=_0x219d73,_0x59b476=this['icons'][_0x2bab0f(0x4bd)](_0x394d97)?.[_0x2bab0f(0x6f9)]||'')):this[_0x2bab0f(0x528)][_0x2bab0f(0x330)]([{'css':_0x35df84[_0x2bab0f(0x748)],'string':_0x2eeef8['trim'](),'index':0x0}]);}),_0x412e5c['asvUw'](takeUntilDestroyed,this['destroyRef']))[_0x407d12(0x65c)](),fromEvent(window,_0x412e5c[_0x407d12(0x418)],{'passive':![]})[_0x407d12(0x734)](tap(_0x302ef4=>{const _0x26543b=_0x407d12,_0x400925={'FnKlZ':function(_0x40b585,_0xb471b4){const _0x35cd16=_0x3b02;return _0x412e5c[_0x35cd16(0x497)](_0x40b585,_0xb471b4);}};_0x302ef4[_0x26543b(0x258)]();const _0x18e531=_0x278994['getBoundingClientRect']();if(_0x302ef4['ctrlKey']){this[_0x26543b(0x3cb)]['x']=_0x412e5c['Whihc'](_0x302ef4['clientX'],_0x18e531[_0x26543b(0x733)]),this[_0x26543b(0x3cb)]['y']=_0x412e5c[_0x26543b(0x5ef)](_0x302ef4[_0x26543b(0x4fe)],_0x18e531[_0x26543b(0x3ee)]),this[_0x26543b(0x21d)]['x']=_0x412e5c['ZiEoe'](_0x412e5c[_0x26543b(0x5ef)](this['pointer']['x'],this[_0x26543b(0x592)]['x']),this[_0x26543b(0x273)]),this[_0x26543b(0x21d)]['y']=_0x412e5c[_0x26543b(0x5ef)](this[_0x26543b(0x3cb)]['y'],this['pos']['y'])/this['scale'],this['scale']+=_0x412e5c[_0x26543b(0x4d8)](_0x412e5c[_0x26543b(0x2a4)](-0x1,Math[_0x26543b(0x4da)](-0x1,Math[_0x26543b(0x740)](0x1,_0x302ef4[_0x26543b(0x2e1)])))*this[_0x26543b(0x21f)],this[_0x26543b(0x273)]);const _0xcbcbf=0x4,_0x5c1d83=0x1;this[_0x26543b(0x273)]=Math['max'](_0x5c1d83,Math[_0x26543b(0x740)](_0xcbcbf,this[_0x26543b(0x273)])),this[_0x26543b(0x592)]['x']=_0x412e5c[_0x26543b(0x497)](_0x412e5c['Ginyi'](-this[_0x26543b(0x21d)]['x'],this[_0x26543b(0x273)]),this[_0x26543b(0x3cb)]['x']),this[_0x26543b(0x592)]['y']=_0x412e5c[_0x26543b(0x497)](_0x412e5c[_0x26543b(0x4d8)](-this[_0x26543b(0x21d)]['y'],this[_0x26543b(0x273)]),this[_0x26543b(0x3cb)]['y']),this['setPosition'](),this[_0x26543b(0x421)][_0x26543b(0x330)](_0x26543b(0x71b)+this[_0x26543b(0x592)]['x']+_0x26543b(0x67a)+this[_0x26543b(0x592)]['y']+_0x26543b(0x755)+this[_0x26543b(0x273)]+')');}else _0x412e5c['cYZmU'](_0x412e5c['ptaOg'],_0x26543b(0x1e9))?(this[_0x26543b(0x592)]['x']-=_0x302ef4[_0x26543b(0x74a)]*0x2,this['pos']['y']-=_0x302ef4[_0x26543b(0x2e1)]*0x2):this['$width'][_0x26543b(0x330)](_0x400925[_0x26543b(0x41c)](this[_0x26543b(0x32c)][_0x26543b(0x430)],'px'));}),_0x412e5c[_0x407d12(0x45e)](takeUntilDestroyed,this[_0x407d12(0x25c)]))['subscribe'](),_0x412e5c[_0x407d12(0x6f8)](fromEvent,_0x278994,_0x407d12(0x565))['pipe'](_0x412e5c['fOgPw'](tap,_0x34a66e=>{const _0x811b0f=_0x407d12;if(_0x34a66e[_0x811b0f(0x498)][_0x811b0f(0x27b)]===0x2){this['isPinching']=!![];const [_0x20dab5,_0x4256fd]=_0x34a66e[_0x811b0f(0x498)];this[_0x811b0f(0x686)]=Math[_0x811b0f(0x625)](_0x4256fd[_0x811b0f(0x75f)]-_0x20dab5[_0x811b0f(0x75f)],_0x412e5c[_0x811b0f(0x6b8)](_0x4256fd['clientY'],_0x20dab5[_0x811b0f(0x4fe)]));}if(_0x412e5c[_0x811b0f(0x56b)](_0x34a66e['touches'][_0x811b0f(0x27b)],0x1)&&_0x412e5c[_0x811b0f(0x49f)](this['scale'],0x1)){if(_0x412e5c[_0x811b0f(0x337)]!==_0x811b0f(0x203))_0x5435cd[_0x811b0f(0x2bd)]&&_0x964991[_0x811b0f(0x5b0)](_0x4799b1,_0x145671['inputs'][_0x5742ee]);else{const _0x5a90f8=_0x34a66e['touches'][0x0];this[_0x811b0f(0x293)]=_0x5a90f8[_0x811b0f(0x75f)],this[_0x811b0f(0x2c4)]=_0x5a90f8['clientY'],this[_0x811b0f(0x204)]=!![],this[_0x811b0f(0x5c3)][_0x811b0f(0x330)](_0x811b0f(0x72b));}}}),_0x412e5c[_0x407d12(0x4cc)](takeUntilDestroyed,this[_0x407d12(0x25c)]))[_0x407d12(0x65c)](),fromEvent(_0x278994,_0x412e5c[_0x407d12(0x767)])[_0x407d12(0x734)](_0x412e5c[_0x407d12(0x269)](tap,_0x3e3f9b=>{const _0x5729ba=_0x407d12;if(this[_0x5729ba(0x4d0)]&&_0x3e3f9b[_0x5729ba(0x498)][_0x5729ba(0x27b)]===0x2){if(_0x412e5c[_0x5729ba(0x60c)]('esZvK',_0x412e5c[_0x5729ba(0x408)])){_0x3e3f9b['preventDefault']();const [_0x569d14,_0x349f2f]=_0x3e3f9b['touches'],_0x182452=Math[_0x5729ba(0x625)](_0x412e5c[_0x5729ba(0x287)](_0x349f2f[_0x5729ba(0x75f)],_0x569d14[_0x5729ba(0x75f)]),_0x349f2f[_0x5729ba(0x4fe)]-_0x569d14[_0x5729ba(0x4fe)]),_0x73be01=_0x182452-this[_0x5729ba(0x686)];this[_0x5729ba(0x686)]=_0x182452;const _0x387c02=_0x278994[_0x5729ba(0x231)](),_0xfab219=_0x412e5c['rjdAb'](_0x412e5c['ZiEoe'](_0x569d14[_0x5729ba(0x75f)]+_0x349f2f[_0x5729ba(0x75f)],0x2),_0x387c02['left']),_0x40ed63=_0x412e5c[_0x5729ba(0x502)]((_0x569d14[_0x5729ba(0x4fe)]+_0x349f2f[_0x5729ba(0x4fe)])/0x2,_0x387c02[_0x5729ba(0x3ee)]);this[_0x5729ba(0x3cb)]['x']=_0xfab219,this['pointer']['y']=_0x40ed63,this[_0x5729ba(0x21d)]['x']=_0x412e5c['eGzBw'](this[_0x5729ba(0x3cb)]['x'],this[_0x5729ba(0x592)]['x'])/this['scale'],this[_0x5729ba(0x21d)]['y']=_0x412e5c[_0x5729ba(0x60f)](this['pointer']['y']-this[_0x5729ba(0x592)]['y'],this['scale']);const _0xedee54=0.005;this[_0x5729ba(0x273)]+=_0x73be01*_0xedee54*this[_0x5729ba(0x273)];const _0x47166d=0x4,_0x228cf7=0x1;this[_0x5729ba(0x273)]=Math[_0x5729ba(0x4da)](_0x228cf7,Math['min'](_0x47166d,this['scale'])),this[_0x5729ba(0x592)]['x']=_0x412e5c['Dyrdr'](_0x412e5c[_0x5729ba(0x2a4)](-this['target']['x'],this[_0x5729ba(0x273)]),this[_0x5729ba(0x3cb)]['x']),this[_0x5729ba(0x592)]['y']=_0x412e5c[_0x5729ba(0x2a7)](_0x412e5c[_0x5729ba(0x66a)](-this[_0x5729ba(0x21d)]['y'],this[_0x5729ba(0x273)]),this[_0x5729ba(0x3cb)]['y']),this[_0x5729ba(0x4ff)](),this['$imageStyleTransform'][_0x5729ba(0x330)]('translate('+this[_0x5729ba(0x592)]['x']+_0x5729ba(0x67a)+this[_0x5729ba(0x592)]['y']+_0x5729ba(0x755)+this[_0x5729ba(0x273)]+')');}else this[_0x5729ba(0x3f5)][_0x5729ba(0x330)](_0xf59a41),_0x412e5c[_0x5729ba(0x2cb)](this[_0x5729ba(0x736)],null)&&_0x412e5c['foKzS'](_0x277589,this[_0x5729ba(0x736)])&&this[_0x5729ba(0x5d9)][_0x5729ba(0x330)](!![]);}if(this[_0x5729ba(0x204)]&&_0x412e5c[_0x5729ba(0x56b)](_0x3e3f9b[_0x5729ba(0x498)][_0x5729ba(0x27b)],0x1)){_0x3e3f9b[_0x5729ba(0x258)]();const _0x34c615=_0x3e3f9b[_0x5729ba(0x498)][0x0],_0x1f4fec=_0x34c615['clientX']-this[_0x5729ba(0x293)],_0x59f22a=_0x412e5c[_0x5729ba(0x660)](_0x34c615[_0x5729ba(0x4fe)],this[_0x5729ba(0x2c4)]);this[_0x5729ba(0x293)]=_0x34c615[_0x5729ba(0x75f)],this['lastTouchY']=_0x34c615[_0x5729ba(0x4fe)],this[_0x5729ba(0x592)]['x']+=_0x1f4fec,this[_0x5729ba(0x592)]['y']+=_0x59f22a,this[_0x5729ba(0x4ff)](),this[_0x5729ba(0x421)][_0x5729ba(0x330)](_0x5729ba(0x71b)+this['pos']['x']+'px,'+this[_0x5729ba(0x592)]['y']+_0x5729ba(0x755)+this[_0x5729ba(0x273)]+')');}}),takeUntilDestroyed(this[_0x407d12(0x25c)]))[_0x407d12(0x65c)](),fromEvent(_0x278994,'touchend')[_0x407d12(0x734)](tap(()=>{const _0x407411=_0x407d12;this['isPinching']=![],this[_0x407411(0x204)]=![],this[_0x407411(0x5c3)][_0x407411(0x330)](_0x412e5c[_0x407411(0x49f)](this[_0x407411(0x273)],0x1)?_0x407411(0x62c):_0x412e5c[_0x407411(0x708)]);}),_0x412e5c[_0x407d12(0x51c)](takeUntilDestroyed,this[_0x407d12(0x25c)]))['subscribe']();}[_0x5d67ea(0x4ff)](){const _0x59b25a=_0x5d67ea,_0x54708b={'QcLQE':_0x59b25a(0x5b7),'yqEJz':function(_0x2ba19,_0x407b40){return _0x2ba19>_0x407b40;},'DhCZS':function(_0x15a20f,_0x3f7b27){return _0x15a20f<_0x3f7b27;},'FTnrD':function(_0x298bb5,_0x1f0ab6){return _0x298bb5*_0x1f0ab6;},'riGee':function(_0x493e94,_0x42a453){return _0x493e94*_0x42a453;},'mqGUj':function(_0x51b42c,_0x8e2a93){return _0x51b42c-_0x8e2a93;},'cizCk':function(_0x2b41a7,_0x972b1f){return _0x2b41a7*_0x972b1f;},'tXuyv':function(_0x2cb920,_0xe303d6){return _0x2cb920===_0xe303d6;},'vlBnS':_0x59b25a(0x6e8),'ULIWf':_0x59b25a(0x2d0),'hwLGD':function(_0x1166aa,_0x5277d3){return _0x1166aa*_0x5277d3;},'YoADL':function(_0x285fdc,_0x13612c){return _0x285fdc-_0x13612c;}};if(_0x54708b['yqEJz'](this[_0x59b25a(0x592)]['x'],0x0))this[_0x59b25a(0x592)]['x']=0x0;_0x54708b[_0x59b25a(0x532)](this[_0x59b25a(0x592)]['x']+_0x54708b[_0x59b25a(0x756)](this[_0x59b25a(0x399)]['w'],this[_0x59b25a(0x273)]),this[_0x59b25a(0x399)]['w'])&&(this[_0x59b25a(0x592)]['x']=_0x54708b[_0x59b25a(0x443)](-this[_0x59b25a(0x399)]['w'],_0x54708b[_0x59b25a(0x505)](this[_0x59b25a(0x273)],0x1)));if(_0x54708b[_0x59b25a(0x342)](this[_0x59b25a(0x592)]['y'],0x0))this[_0x59b25a(0x592)]['y']=0x0;_0x54708b['DhCZS'](this[_0x59b25a(0x592)]['y']+_0x54708b[_0x59b25a(0x577)](this['size']['h'],this[_0x59b25a(0x273)]),this[_0x59b25a(0x399)]['h'])&&(_0x54708b[_0x59b25a(0x654)](_0x54708b[_0x59b25a(0x3eb)],_0x54708b[_0x59b25a(0x645)])?this[_0x59b25a(0x412)][_0x59b25a(0x50e)](this[_0x59b25a(0x30c)][_0x59b25a(0x501)],_0x54708b['QcLQE']):this[_0x59b25a(0x592)]['y']=_0x54708b[_0x59b25a(0x394)](-this['size']['h'],_0x54708b['YoADL'](this['scale'],0x1)));}static [_0x5d67ea(0x48b)]=_0x5242ab[_0x5d67ea(0x1ec)]({'minVersion':_0x5d67ea(0x4b8),'version':_0x5d67ea(0x2e7),'ngImport':_0x5242ab,'type':UiPopupImageDirective,'deps':[{'token':_0x5242ab['DestroyRef']}],'target':_0x5242ab['ɵɵFactoryTarget'][_0x5d67ea(0x521)]});static ['ɵdir']=_0x5242ab['ɵɵngDeclareDirective']({'minVersion':_0x5d67ea(0x20b),'version':'21.1.1','type':UiPopupImageDirective,'isStandalone':!![],'selector':_0x5d67ea(0x1e2),'inputs':{'src':_0x5d67ea(0x68b),'width':_0x5d67ea(0x430),'height':_0x5d67ea(0x41d)},'viewQueries':[{'propertyName':_0x5d67ea(0x44e),'first':!![],'predicate':['container'],'descendants':!![],'isSignal':!![]},{'propertyName':_0x5d67ea(0x572),'first':!![],'predicate':[_0x5d67ea(0x4b2)],'descendants':!![],'isSignal':!![]}],'ngImport':_0x5242ab});}_0x5242ab[_0x5d67ea(0x50a)]({'minVersion':'12.0.0','version':_0x5d67ea(0x2e7),'ngImport':_0x5242ab,'type':UiPopupImageDirective,'decorators':[{'type':Directive,'args':[{'selector':_0x5d67ea(0x1e2)}]}],'ctorParameters':()=>[{'type':_0x5242ab[_0x5d67ea(0x233)]}],'propDecorators':{'src':[{'type':Input,'args':[{'required':!![]}]}],'width':[{'type':Input,'args':[{'required':!![]}]}],'height':[{'type':Input,'args':[{'required':!![]}]}],'$container':[{'type':_0x5242ab['ViewChild'],'args':['container',{'isSignal':!![]}]}],'$image':[{'type':_0x5242ab[_0x5d67ea(0x54a)],'args':[_0x5d67ea(0x4b2),{'isSignal':!![]}]}]}});class UiPopupBackdropDirective{[_0x5d67ea(0x30c)];['uiPopupService'];[_0x5d67ea(0x25c)];[_0x5d67ea(0x70d)]=![];constructor(_0x471666,_0x102ce2,_0x592ae4){const _0x1300d2=_0x5d67ea;this[_0x1300d2(0x30c)]=_0x471666,this['uiPopupService']=_0x102ce2,this[_0x1300d2(0x25c)]=_0x592ae4;}[_0x5d67ea(0x6ba)](){const _0x30f676=_0x5d67ea,_0x175b25={'npwho':function(_0x10c026,_0x3adf27){return _0x10c026!==_0x3adf27;},'iQysL':_0x30f676(0x6e5),'nmTUd':_0x30f676(0x32e),'osKWh':function(_0x4020b7,_0x4603d0,_0x403e0b){return _0x4020b7(_0x4603d0,_0x403e0b);},'lPvGm':_0x30f676(0x416),'RGydf':function(_0x3047f7,_0x24a356){return _0x3047f7(_0x24a356);}};_0x175b25['osKWh'](fromEvent,this[_0x30f676(0x30c)][_0x30f676(0x501)],_0x175b25[_0x30f676(0x397)])[_0x30f676(0x734)](tap(()=>{const _0x47b066=_0x30f676;if(_0x175b25[_0x47b066(0x638)]('yfYKj',_0x175b25[_0x47b066(0x646)]))_0xef052d[_0x47b066(0x53f)](()=>{const _0x47925c=_0x47b066;this[_0x47925c(0x294)]();});else{if(this[_0x47b066(0x70d)]){if(_0x175b25[_0x47b066(0x638)](_0x175b25[_0x47b066(0x632)],_0x175b25[_0x47b066(0x632)]))_0x2ee98e={..._0x36322a,'css':_0x47b066(0x603)};else return;}this[_0x47b066(0x721)]['closeAll']();}}),_0x175b25[_0x30f676(0x545)](takeUntilDestroyed,this[_0x30f676(0x25c)]))[_0x30f676(0x65c)]();}static ['ɵfac']=_0x5242ab[_0x5d67ea(0x1ec)]({'minVersion':_0x5d67ea(0x4b8),'version':_0x5d67ea(0x2e7),'ngImport':_0x5242ab,'type':UiPopupBackdropDirective,'deps':[{'token':_0x5242ab[_0x5d67ea(0x404)]},{'token':UiPopupService},{'token':_0x5242ab[_0x5d67ea(0x233)]}],'target':_0x5242ab[_0x5d67ea(0x356)][_0x5d67ea(0x521)]});static [_0x5d67ea(0x60a)]=_0x5242ab[_0x5d67ea(0x21b)]({'minVersion':'14.0.0','version':_0x5d67ea(0x2e7),'type':UiPopupBackdropDirective,'isStandalone':!![],'selector':_0x5d67ea(0x2e6),'inputs':{'isStaticBackdrop':_0x5d67ea(0x70d)},'ngImport':_0x5242ab});}_0x5242ab[_0x5d67ea(0x50a)]({'minVersion':_0x5d67ea(0x4b8),'version':'21.1.1','ngImport':_0x5242ab,'type':UiPopupBackdropDirective,'decorators':[{'type':Directive,'args':[{'selector':_0x5d67ea(0x2e6)}]}],'ctorParameters':()=>[{'type':_0x5242ab['ElementRef']},{'type':UiPopupService},{'type':_0x5242ab['DestroyRef']}],'propDecorators':{'isStaticBackdrop':[{'type':Input}]}});const buttonColors=[_0x5d67ea(0x3ef),'secondary',_0x5d67ea(0x378),'quaternary','success','warning',_0x5d67ea(0x5d7),_0x5d67ea(0x2bf)];class UiButtonDirective{[_0x5d67ea(0x30c)];[_0x5d67ea(0x412)];[_0x5d67ea(0x5c6)]=input[_0x5d67ea(0x4dd)](...ngDevMode?[{'debugName':_0x5d67ea(0x5c6)}]:[]);['$isOutlined']=input(![],...ngDevMode?[{'debugName':_0x5d67ea(0x4d6)}]:[]);[_0x5d67ea(0x390)]=input(![],...ngDevMode?[{'debugName':_0x5d67ea(0x390)}]:[]);[_0x5d67ea(0x5ca)]=input(_0x5d67ea(0x52a),...ngDevMode?[{'debugName':_0x5d67ea(0x5ca)}]:[]);['$size']=input(_0x5d67ea(0x405),...ngDevMode?[{'debugName':_0x5d67ea(0x4f9)}]:[]);[_0x5d67ea(0x438)]=input(![],...ngDevMode?[{'debugName':_0x5d67ea(0x438)}]:[]);[_0x5d67ea(0x2dd)]=input(![],...ngDevMode?[{'debugName':_0x5d67ea(0x2dd)}]:[]);constructor(_0x27dbe5,_0x155893){const _0x5358fa=_0x5d67ea,_0x15a43d={'fXrFR':function(_0x31f39f,_0x554dfb){return _0x31f39f(_0x554dfb);},'bAElL':_0x5358fa(0x40c),'wiKsC':'block','kQcIK':function(_0x3abed6,_0x5144a6){return _0x3abed6===_0x5144a6;},'MjGPv':_0x5358fa(0x67e),'maxBO':function(_0xaa2a41,_0xe15cad){return _0xaa2a41<_0xe15cad;},'NZYAw':function(_0x1eab60,_0x42213b){return _0x1eab60<_0x42213b;},'zEGjM':function(_0x3d77bb,_0x2527ce){return _0x3d77bb+_0x2527ce;},'WkZvm':function(_0x2d73e7,_0x4876df){return _0x2d73e7<<_0x4876df;},'Cituv':function(_0xaa6e5c,_0x40c125){return _0xaa6e5c%_0x40c125;},'GZjOZ':function(_0x284598,_0x45654){return _0x284598!==_0x45654;},'ydrrw':'YGEhy','BfMOW':_0x5358fa(0x348),'LuygD':function(_0x508f32,_0x26362a){return _0x508f32===_0x26362a;},'zrQvw':_0x5358fa(0x299),'cFJzz':_0x5358fa(0x387),'XEfYr':_0x5358fa(0x5bd),'QwduJ':_0x5358fa(0x25e),'qVRWX':function(_0x326bab,_0xb518a5){return _0x326bab-_0xb518a5;},'SvJmZ':function(_0x1537f4,_0x2b2f82){return _0x1537f4-_0x2b2f82;},'omATM':function(_0x293ff5,_0x2cfd0c){return _0x293ff5===_0x2cfd0c;},'yMOJX':function(_0x33688d,_0x57f8e0){return _0x33688d>_0x57f8e0;},'dTkQc':_0x5358fa(0x72b),'CQNPd':_0x5358fa(0x3e9),'lAphO':_0x5358fa(0x49e),'QwcJb':function(_0x1fb674,_0x330540){return _0x1fb674+_0x330540;},'fUPgm':_0x5358fa(0x5e6),'VOCeb':'small','VfEvI':'SvOfM','zBdgD':'disabled','bWXHn':function(_0xbbb00d,_0x26b707){return _0xbbb00d>=_0x26b707;},'FPxxv':'Success!','vriKg':_0x5358fa(0x6b1),'Ftxdp':_0x5358fa(0x1fb),'XaLRd':_0x5358fa(0x516),'jSKEa':_0x5358fa(0x305),'ScHLY':function(_0x316a2f,_0x3e47ca){return _0x316a2f!==_0x3e47ca;},'DwdMI':_0x5358fa(0x64d),'wvNir':_0x5358fa(0x278),'XRgPR':function(_0x293952,_0x220866){return _0x293952!==_0x220866;},'Sshrm':_0x5358fa(0x44d),'tydxt':_0x5358fa(0x62a),'GTztM':function(_0x2ccfa3,_0x201727){return _0x2ccfa3(_0x201727);},'pztgP':function(_0x1a7f46,_0x2f2e0b){return _0x1a7f46(_0x2f2e0b);}};this[_0x5358fa(0x30c)]=_0x27dbe5,this[_0x5358fa(0x412)]=_0x155893,_0x15a43d['GTztM'](effect,()=>{const _0x435273=_0x5358fa;if(this['$sizeBehavior']()===_0x15a43d[_0x435273(0x276)])this[_0x435273(0x412)]['addClass'](this[_0x435273(0x30c)][_0x435273(0x501)],_0x435273(0x682));else{if(_0x15a43d[_0x435273(0x62e)](_0x15a43d[_0x435273(0x36f)],_0x435273(0x575))){const _0x4f1e77=this[_0x435273(0x30c)][_0x435273(0x501)],_0x11d0a7=_0x4f1e77['scrollTop'];_0x15a43d[_0x435273(0x762)](_0x41572f,this[_0x435273(0x31a)])&&_0x52f1b7['setItem'](this['id']()+_0x15a43d[_0x435273(0x674)],_0x11d0a7['toString']());}else this[_0x435273(0x412)][_0x435273(0x4e1)](this[_0x435273(0x30c)][_0x435273(0x501)],'block');}}),_0x15a43d[_0x5358fa(0x2fa)](effect,()=>{const _0x2b9841=_0x5358fa,_0x1006b4={'GEOgT':function(_0x3e28d8,_0x753be6){const _0x508ed3=_0x3b02;return _0x15a43d[_0x508ed3(0x590)](_0x3e28d8,_0x753be6);},'XApWI':function(_0x5ac05b,_0x4af9a5){const _0x14b372=_0x3b02;return _0x15a43d[_0x14b372(0x2e9)](_0x5ac05b,_0x4af9a5);},'nnjGE':function(_0x4d4a14,_0x310ec9){const _0x5b6b88=_0x3b02;return _0x15a43d[_0x5b6b88(0x212)](_0x4d4a14,_0x310ec9);},'qACLd':function(_0x47bc33,_0x379e08){const _0x4ea8fe=_0x3b02;return _0x15a43d[_0x4ea8fe(0x282)](_0x47bc33,_0x379e08);},'QRKAv':function(_0x1e35ba,_0xe39e13){return _0x1e35ba&_0xe39e13;},'Ziqma':function(_0x15b494,_0x30aeaa){const _0x1665b3=_0x3b02;return _0x15a43d[_0x1665b3(0x6ed)](_0x15b494,_0x30aeaa);}};if(_0x15a43d[_0x2b9841(0x376)](_0x15a43d[_0x2b9841(0x313)],_0x15a43d[_0x2b9841(0x4e8)])){const _0x3d80d3=this[_0x2b9841(0x4d6)]();if(_0x3d80d3){if(_0x15a43d['LuygD'](_0x15a43d[_0x2b9841(0x35c)],_0x15a43d[_0x2b9841(0x35c)]))this[_0x2b9841(0x412)]['addClass'](this[_0x2b9841(0x30c)][_0x2b9841(0x501)],_0x15a43d[_0x2b9841(0x240)]);else{const _0x288fa4=new _0x20c1b1(_0x1c02b8[_0x2b9841(0x1fc)](),_0x2e89b1[_0x2b9841(0x4f1)](),_0x32831b[_0x2b9841(0x2b4)]())[_0x2b9841(0x6cc)](),_0x215d67=new _0x3308a6(_0x1cad06['getFullYear'](),_0x4a7c8d[_0x2b9841(0x4f1)](),_0xa057ac[_0x2b9841(0x2b4)]())[_0x2b9841(0x6cc)]();if(_0x1006b4[_0x2b9841(0x335)](_0x288fa4,_0x215d67)){this[_0x2b9841(0x425)][_0x2b9841(0x330)](_0xd4c35c),this['$onRangeSelect'][_0x2b9841(0x55e)]({'start':_0x5c5857,'end':null});return;}this[_0x2b9841(0x4db)]['set'](_0x45d501),this[_0x2b9841(0x5e3)][_0x2b9841(0x55e)]({'start':this[_0x2b9841(0x425)](),'end':_0x32d38f});return;}}else _0x15a43d[_0x2b9841(0x376)](_0x15a43d[_0x2b9841(0x2b3)],_0x15a43d['QwduJ'])?this['renderer'][_0x2b9841(0x4e1)](this[_0x2b9841(0x30c)][_0x2b9841(0x501)],_0x15a43d['cFJzz']):this[_0x2b9841(0x412)][_0x2b9841(0x398)](_0x5af279[_0x2b9841(0x501)],_0x2b9841(0x41d),_0x433ba8+'px');}else{let _0x57abef=0x0;for(let _0x123959=0x0;_0x1006b4['XApWI'](_0x123959,_0x48874f[_0x2b9841(0x27b)]);_0x123959++){_0x57abef=_0x1006b4[_0x2b9841(0x510)](_0x1a349d[_0x2b9841(0x3b6)](_0x123959),_0x1006b4[_0x2b9841(0x750)](_0x57abef,0x5)-_0x57abef),_0x57abef=_0x1006b4['QRKAv'](_0x57abef,_0x57abef);}return _0x2b9841(0x6ee)+_0x1006b4['Ziqma'](_0x57abef,0x168)+',\x20'+_0x288a3b+'%,\x20'+_0x2e3321+'%)';}}),_0x15a43d['fXrFR'](effect,()=>{const _0x916253=_0x5358fa;if(_0x15a43d[_0x916253(0x376)](_0x15a43d[_0x916253(0x5c5)],_0x15a43d[_0x916253(0x5c5)])){if(_0xcb2c68[_0x916253(0x498)][_0x916253(0x27b)]===0x2){this[_0x916253(0x4d0)]=!![];const [_0x1fc5dd,_0x4c40b1]=_0x5ad03d[_0x916253(0x498)];this[_0x916253(0x686)]=_0x3fd122[_0x916253(0x625)](_0x15a43d['qVRWX'](_0x4c40b1['clientX'],_0x1fc5dd['clientX']),_0x15a43d['SvJmZ'](_0x4c40b1[_0x916253(0x4fe)],_0x1fc5dd[_0x916253(0x4fe)]));}if(_0x15a43d[_0x916253(0x544)](_0x187c8e[_0x916253(0x498)][_0x916253(0x27b)],0x1)&&_0x15a43d[_0x916253(0x2fb)](this[_0x916253(0x273)],0x1)){const _0x536765=_0x8d259c['touches'][0x0];this['lastTouchX']=_0x536765['clientX'],this['lastTouchY']=_0x536765[_0x916253(0x4fe)],this['isTouchDragging']=!![],this[_0x916253(0x5c3)][_0x916253(0x330)](_0x15a43d[_0x916253(0x5f3)]);}}else{const _0x7e068a=this[_0x916253(0x390)]();_0x7e068a?this[_0x916253(0x412)]['addClass'](this[_0x916253(0x30c)][_0x916253(0x501)],_0x15a43d[_0x916253(0x6d5)]):this[_0x916253(0x412)]['removeClass'](this[_0x916253(0x30c)]['nativeElement'],_0x15a43d[_0x916253(0x6d5)]);}}),_0x15a43d['fXrFR'](effect,()=>{const _0x56dd50=_0x5358fa;if('Lbgca'!==_0x15a43d['fUPgm']){const _0x3ec531=this['$text']()[_0x56dd50(0x35e)](),_0x629cfa=this[_0x56dd50(0x51b)][_0x56dd50(0x501)]['matches'](_0x56dd50(0x57e));if(!_0x3ec531||this[_0x56dd50(0x3f4)]||!_0x629cfa)return;this[_0x56dd50(0x20c)][_0x56dd50(0x4d9)](_0x3ec531,this['hostRef'][_0x56dd50(0x501)],this[_0x56dd50(0x608)],this[_0x56dd50(0x604)](),this[_0x56dd50(0x735)](),this[_0x56dd50(0x4d1)]()),this[_0x56dd50(0x3f4)]=!![];}else{if(_0x15a43d[_0x56dd50(0x57b)](this[_0x56dd50(0x4f9)](),_0x15a43d['VOCeb'])){if(_0x15a43d['GZjOZ'](_0x56dd50(0x612),_0x15a43d['VfEvI'])){const _0x17b94a=_0x15a43d[_0x56dd50(0x586)](_0x240365,_0x21b112);_0x14f424[_0x56dd50(0x64a)]({'year':_0x17b94a,'date':this[_0x56dd50(0x551)](_0x17b94a,_0x396789,_0x32df47),'isSelected':_0x15a43d['LuygD'](_0x17b94a,_0x41fcc2)});}else this[_0x56dd50(0x412)][_0x56dd50(0x50e)](this[_0x56dd50(0x30c)][_0x56dd50(0x501)],_0x56dd50(0x5b7));}else this[_0x56dd50(0x412)][_0x56dd50(0x4e1)](this[_0x56dd50(0x30c)][_0x56dd50(0x501)],_0x56dd50(0x5b7));}}),_0x15a43d[_0x5358fa(0x2fa)](effect,()=>{const _0x572e47=_0x5358fa;_0x15a43d[_0x572e47(0x62e)](_0x572e47(0x359),_0x572e47(0x359))?this[_0x572e47(0x438)]()?this['renderer'][_0x572e47(0x50e)](this[_0x572e47(0x30c)][_0x572e47(0x501)],_0x15a43d[_0x572e47(0x6d4)]):this[_0x572e47(0x412)][_0x572e47(0x4e1)](this[_0x572e47(0x30c)][_0x572e47(0x501)],_0x572e47(0x5a6)):_0x50feee=_0x2490e1[_0x572e47(0x6de)];}),effect(()=>{const _0x20440e=_0x5358fa,_0x5d0468={'GHQOl':function(_0x2e9e45,_0x539901){const _0x315f89=_0x3b02;return _0x15a43d[_0x315f89(0x21e)](_0x2e9e45,_0x539901);},'uEHPI':_0x15a43d[_0x20440e(0x631)],'BHKQn':_0x15a43d[_0x20440e(0x48f)]};if(_0x15a43d[_0x20440e(0x57b)](_0x15a43d['Ftxdp'],_0x15a43d[_0x20440e(0x46c)])){const _0x4b6cb6=this[_0x20440e(0x6ec)]['findIndex'](_0x37b156=>_0x37b156['id']===_0x275667);_0x5d0468[_0x20440e(0x27e)](_0x4b6cb6,0x0)&&this[_0x20440e(0x5b6)](_0x4b6cb6);}else this[_0x20440e(0x2dd)]()?this[_0x20440e(0x412)][_0x20440e(0x50e)](this[_0x20440e(0x30c)]['nativeElement'],_0x15a43d[_0x20440e(0x6ce)]):_0x15a43d['ScHLY'](_0x15a43d[_0x20440e(0x428)],_0x15a43d[_0x20440e(0x60e)])?this['renderer'][_0x20440e(0x4e1)](this[_0x20440e(0x30c)][_0x20440e(0x501)],_0x15a43d[_0x20440e(0x6ce)]):this[_0x20440e(0x247)](new _0x3067e0({'title':_0x370faf[_0x20440e(0x381)]??_0x5d0468['uEHPI'],'type':_0x5882da[_0x20440e(0x1e1)],'message':_0xd1501b[_0x20440e(0x20a)],'icon':_0x5d0468['BHKQn']}));}),_0x15a43d['GTztM'](effect,()=>{const _0x41aa66=_0x5358fa;if(_0x15a43d['tydxt']===_0x41aa66(0x1ea))this[_0x41aa66(0x536)][_0x41aa66(0x330)]({'startOrigin':_0x59c30e,'endOrigin':_0x2d754b,'start':this['popupInstance'][_0x41aa66(0x5f6)][_0x41aa66(0x3c8)],'end':this[_0x41aa66(0x32c)][_0x41aa66(0x5f6)][_0x41aa66(0x1f7)],'leftStart':this[_0x41aa66(0x32c)][_0x41aa66(0x5f6)][_0x41aa66(0x5b1)]+'px','leftEnd':'0','topStart':this[_0x41aa66(0x32c)]['options']['positionY']+'px','topEnd':'0'}),this['$isShow'][_0x41aa66(0x330)](!![]);else{const _0x988cea=this[_0x41aa66(0x5c6)]();buttonColors[_0x41aa66(0x5cc)](_0x5cbd95=>{const _0x586fef=_0x41aa66;_0x15a43d[_0x586fef(0x2f5)](_0x586fef(0x2fe),_0x15a43d['Sshrm'])?this[_0x586fef(0x412)][_0x586fef(0x4e1)](this[_0x586fef(0x30c)][_0x586fef(0x501)],_0x5cbd95):(_0x562b3d=_0xad2fee['svgData'],_0x2eaeb6=_0x4fbf40[_0x586fef(0x760)]);}),this[_0x41aa66(0x412)][_0x41aa66(0x50e)](this[_0x41aa66(0x30c)][_0x41aa66(0x501)],_0x988cea);}});}static [_0x5d67ea(0x48b)]=_0x5242ab[_0x5d67ea(0x1ec)]({'minVersion':_0x5d67ea(0x4b8),'version':_0x5d67ea(0x2e7),'ngImport':_0x5242ab,'type':UiButtonDirective,'deps':[{'token':_0x5242ab['ElementRef']},{'token':_0x5242ab['Renderer2']}],'target':_0x5242ab[_0x5d67ea(0x356)][_0x5d67ea(0x521)]});static [_0x5d67ea(0x60a)]=_0x5242ab[_0x5d67ea(0x21b)]({'minVersion':_0x5d67ea(0x44f),'version':'21.1.1','type':UiButtonDirective,'isStandalone':!![],'selector':_0x5d67ea(0x26f),'inputs':{'$color':{'classPropertyName':_0x5d67ea(0x5c6),'publicName':_0x5d67ea(0x5c6),'isSignal':!![],'isRequired':!![],'transformFunction':null},'$isOutlined':{'classPropertyName':_0x5d67ea(0x4d6),'publicName':_0x5d67ea(0x4d6),'isSignal':!![],'isRequired':![],'transformFunction':null},'$isRounded':{'classPropertyName':_0x5d67ea(0x390),'publicName':'$isRounded','isSignal':!![],'isRequired':![],'transformFunction':null},'$sizeBehavior':{'classPropertyName':_0x5d67ea(0x5ca),'publicName':'$sizeBehavior','isSignal':!![],'isRequired':![],'transformFunction':null},'$size':{'classPropertyName':_0x5d67ea(0x4f9),'publicName':_0x5d67ea(0x4f9),'isSignal':!![],'isRequired':![],'transformFunction':null},'$isDisabled':{'classPropertyName':_0x5d67ea(0x438),'publicName':_0x5d67ea(0x438),'isSignal':!![],'isRequired':![],'transformFunction':null},'$isLoading':{'classPropertyName':_0x5d67ea(0x2dd),'publicName':'$isLoading','isSignal':!![],'isRequired':![],'transformFunction':null}},'ngImport':_0x5242ab});}_0x5242ab[_0x5d67ea(0x50a)]({'minVersion':_0x5d67ea(0x4b8),'version':_0x5d67ea(0x2e7),'ngImport':_0x5242ab,'type':UiButtonDirective,'decorators':[{'type':Directive,'args':[{'selector':_0x5d67ea(0x26f)}]}],'ctorParameters':()=>[{'type':_0x5242ab[_0x5d67ea(0x404)]},{'type':_0x5242ab[_0x5d67ea(0x696)]}],'propDecorators':{'$color':[{'type':_0x5242ab['Input'],'args':[{'isSignal':!![],'alias':_0x5d67ea(0x5c6),'required':!![]}]}],'$isOutlined':[{'type':_0x5242ab[_0x5d67ea(0x714)],'args':[{'isSignal':!![],'alias':_0x5d67ea(0x4d6),'required':![]}]}],'$isRounded':[{'type':_0x5242ab['Input'],'args':[{'isSignal':!![],'alias':'$isRounded','required':![]}]}],'$sizeBehavior':[{'type':_0x5242ab[_0x5d67ea(0x714)],'args':[{'isSignal':!![],'alias':'$sizeBehavior','required':![]}]}],'$size':[{'type':_0x5242ab[_0x5d67ea(0x714)],'args':[{'isSignal':!![],'alias':_0x5d67ea(0x4f9),'required':![]}]}],'$isDisabled':[{'type':_0x5242ab[_0x5d67ea(0x714)],'args':[{'isSignal':!![],'alias':_0x5d67ea(0x438),'required':![]}]}],'$isLoading':[{'type':_0x5242ab[_0x5d67ea(0x714)],'args':[{'isSignal':!![],'alias':_0x5d67ea(0x2dd),'required':![]}]}]}});class UiSelectButtonsDirective{[_0x5d67ea(0x412)];['elementRef'];[_0x5d67ea(0x25c)];[_0x5d67ea(0x31a)];[_0x5d67ea(0x4a4)]=input[_0x5d67ea(0x4dd)](...ngDevMode?[{'debugName':_0x5d67ea(0x4a4)}]:[]);[_0x5d67ea(0x3a3)]=signal(0x0,...ngDevMode?[{'debugName':_0x5d67ea(0x3a3)}]:[]);['$alignment']=input('left',...ngDevMode?[{'debugName':_0x5d67ea(0x446)}]:[]);[_0x5d67ea(0x28f)]=input(_0x5d67ea(0x466),...ngDevMode?[{'debugName':_0x5d67ea(0x28f)}]:[]);[_0x5d67ea(0x358)]=output();[_0x5d67ea(0x52c)]=signal(![],...ngDevMode?[{'debugName':'$isScrollable'}]:[]);constructor(_0x830a09,_0x14381c,_0x228796,_0x35f7ea){const _0x3e6146=_0x5d67ea;this['renderer']=_0x830a09,this[_0x3e6146(0x30c)]=_0x14381c,this[_0x3e6146(0x25c)]=_0x228796,this[_0x3e6146(0x31a)]=_0x35f7ea;}[_0x5d67ea(0x6ba)](){const _0x5ef2ef=_0x5d67ea;this[_0x5ef2ef(0x412)]['addClass'](this[_0x5ef2ef(0x30c)][_0x5ef2ef(0x501)],this['$alignment']()),this[_0x5ef2ef(0x412)]['addClass'](this[_0x5ef2ef(0x30c)][_0x5ef2ef(0x501)],this[_0x5ef2ef(0x28f)]());}['ngAfterViewInit'](){const _0x5bca46=_0x5d67ea,_0x2ec719={'TOUfr':function(_0x495d1d,_0x420f5b){return _0x495d1d+_0x420f5b;},'BDoJT':function(_0x2e7628,_0x2ca29f){return _0x2e7628===_0x2ca29f;},'PprZJ':_0x5bca46(0x633),'oTpJm':function(_0x54a54b,_0x598779){return _0x54a54b(_0x598779);},'FRKzJ':function(_0x84ab0,_0x59ccae){return _0x84ab0===_0x59ccae;},'GfFrI':_0x5bca46(0x4e6)};this[_0x5bca46(0x6b7)]();if(_0x2ec719[_0x5bca46(0x1f3)](isPlatformBrowser,this[_0x5bca46(0x31a)])){if(_0x2ec719[_0x5bca46(0x323)](_0x2ec719[_0x5bca46(0x71c)],'tEpLA'))return this[_0x5bca46(0x3de)]['position']()[_0x5bca46(0x4ac)]()[_0x5bca46(0x2b9)]();else{const _0x3722b6=new ResizeObserver(()=>{this['checkScroll']();});_0x3722b6[_0x5bca46(0x538)](this[_0x5bca46(0x30c)][_0x5bca46(0x501)]),this['destroyRef'][_0x5bca46(0x289)](()=>{const _0x4e14ee=_0x5bca46,_0x4ac030={'pRTep':function(_0x37ea2c,_0xe65a3b){const _0x2831a8=_0x3b02;return _0x2ec719[_0x2831a8(0x684)](_0x37ea2c,_0xe65a3b);},'xRaDT':_0x4e14ee(0x33d)};if(_0x2ec719['BDoJT'](_0x2ec719[_0x4e14ee(0x50f)],_0x2ec719['PprZJ']))_0x3722b6[_0x4e14ee(0x23a)]();else throw new _0x286921(_0x4ac030['pRTep'](_0x4e14ee(0x745),_0x4ac030[_0x4e14ee(0x6cd)]));});}}}[_0x5d67ea(0x1f9)](_0x13b0ac){const _0x446e28=_0x5d67ea;this['$selectedButtonIndex']['set'](_0x13b0ac),this[_0x446e28(0x358)][_0x446e28(0x55e)](_0x13b0ac);}[_0x5d67ea(0x6b7)](){const _0x533d94=_0x5d67ea,_0x3570ac={'YPyiV':function(_0x333310,_0x4b7a72){return _0x333310>_0x4b7a72;},'FQxrJ':function(_0x1e92f3,_0x19fe83){return _0x1e92f3===_0x19fe83;},'yfrZw':'NvRTw','yujzq':'scrollable'},_0x2a07bc=this[_0x533d94(0x30c)]['nativeElement'],_0x4c351a=_0x3570ac[_0x533d94(0x353)](_0x2a07bc[_0x533d94(0x3b8)],_0x2a07bc[_0x533d94(0x6de)])||_0x2a07bc[_0x533d94(0x704)]>_0x2a07bc[_0x533d94(0x241)];this[_0x533d94(0x52c)][_0x533d94(0x330)](_0x4c351a),_0x4c351a?_0x3570ac[_0x533d94(0x2cd)]('kyDtz',_0x3570ac[_0x533d94(0x365)])?_0x16580d='linear-gradient(0deg,\x20rgb(0\x200\x200\x20/\x20100%)\x2090%,\x20rgb(0\x200\x200\x20/\x200%)\x20100%)':this['renderer'][_0x533d94(0x50e)](this[_0x533d94(0x30c)][_0x533d94(0x501)],_0x3570ac['yujzq']):this[_0x533d94(0x412)][_0x533d94(0x4e1)](this[_0x533d94(0x30c)][_0x533d94(0x501)],_0x3570ac[_0x533d94(0x493)]);}static [_0x5d67ea(0x48b)]=_0x5242ab[_0x5d67ea(0x1ec)]({'minVersion':'12.0.0','version':_0x5d67ea(0x2e7),'ngImport':_0x5242ab,'type':UiSelectButtonsDirective,'deps':[{'token':_0x5242ab[_0x5d67ea(0x696)]},{'token':_0x5242ab[_0x5d67ea(0x404)]},{'token':_0x5242ab[_0x5d67ea(0x233)]},{'token':PLATFORM_ID}],'target':_0x5242ab[_0x5d67ea(0x356)][_0x5d67ea(0x521)]});static [_0x5d67ea(0x60a)]=_0x5242ab[_0x5d67ea(0x21b)]({'minVersion':_0x5d67ea(0x44f),'version':'21.1.1','type':UiSelectButtonsDirective,'isStandalone':!![],'selector':'app-ui-select-buttons','inputs':{'$buttons':{'classPropertyName':_0x5d67ea(0x4a4),'publicName':_0x5d67ea(0x4a4),'isSignal':!![],'isRequired':!![],'transformFunction':null},'$alignment':{'classPropertyName':_0x5d67ea(0x446),'publicName':_0x5d67ea(0x446),'isSignal':!![],'isRequired':![],'transformFunction':null},'$overflowMode':{'classPropertyName':_0x5d67ea(0x28f),'publicName':_0x5d67ea(0x28f),'isSignal':!![],'isRequired':![],'transformFunction':null}},'outputs':{'$buttonChanged':_0x5d67ea(0x358)},'ngImport':_0x5242ab});}_0x5242ab['ɵɵngDeclareClassMetadata']({'minVersion':'12.0.0','version':'21.1.1','ngImport':_0x5242ab,'type':UiSelectButtonsDirective,'decorators':[{'type':Directive,'args':[{'selector':'app-ui-select-buttons'}]}],'ctorParameters':()=>[{'type':_0x5242ab[_0x5d67ea(0x696)]},{'type':_0x5242ab[_0x5d67ea(0x404)]},{'type':_0x5242ab['DestroyRef']},{'type':undefined,'decorators':[{'type':Inject,'args':[PLATFORM_ID]}]}],'propDecorators':{'$buttons':[{'type':_0x5242ab['Input'],'args':[{'isSignal':!![],'alias':'$buttons','required':!![]}]}],'$alignment':[{'type':_0x5242ab['Input'],'args':[{'isSignal':!![],'alias':_0x5d67ea(0x446),'required':![]}]}],'$overflowMode':[{'type':_0x5242ab['Input'],'args':[{'isSignal':!![],'alias':'$overflowMode','required':![]}]}],'$buttonChanged':[{'type':_0x5242ab['Output'],'args':[_0x5d67ea(0x358)]}]}});class UiCopyButtonDirective{['destroyRef'];[_0x5d67ea(0x6bc)]=input[_0x5d67ea(0x4dd)](...ngDevMode?[{'debugName':'$text'}]:[]);[_0x5d67ea(0x4a6)]=signal(![],...ngDevMode?[{'debugName':_0x5d67ea(0x4a6)}]:[]);[_0x5d67ea(0x2da)]=new Subject();constructor(_0x3c28fb){this['destroyRef']=_0x3c28fb;}[_0x5d67ea(0x6e1)](){const _0x40c79e=_0x5d67ea,_0x42f30d={'uSsEf':_0x40c79e(0x24e),'nlAyv':function(_0x42ea43,_0x485cd3){return _0x42ea43!==_0x485cd3;},'tvOyd':'UDsYx','XsDoW':function(_0x2854c9,_0x590c59){return _0x2854c9!==_0x590c59;},'nLVUz':_0x40c79e(0x2af),'NuqMx':function(_0x115fd8,_0x51c5d9){return _0x115fd8(_0x51c5d9);},'dJssS':_0x40c79e(0x2d1),'vSosI':_0x40c79e(0x6c9)};this[_0x40c79e(0x2da)][_0x40c79e(0x22f)]();const _0x5d7a33=this[_0x40c79e(0x6bc)]();window[_0x40c79e(0x5a2)][_0x40c79e(0x4f5)]&&window['navigator'][_0x40c79e(0x4f5)]['writeText']&&window[_0x40c79e(0x5a2)][_0x40c79e(0x4f5)][_0x40c79e(0x661)](_0x5d7a33)[_0x40c79e(0x6c4)](()=>{const _0x5687fb=_0x40c79e;_0x42f30d[_0x5687fb(0x2f8)](_0x42f30d[_0x5687fb(0x4b3)],_0x42f30d[_0x5687fb(0x4b3)])?this[_0x5687fb(0x519)]():(this['$isCopied'][_0x5687fb(0x330)](!![]),timer(0x1388)[_0x5687fb(0x734)](tap(()=>{const _0x7af062=_0x5687fb,_0x12b070={'KIMZZ':function(_0x33f8a8,_0x473c1a){return _0x33f8a8>_0x473c1a;},'YkRnq':_0x42f30d[_0x7af062(0x479)]};_0x42f30d[_0x7af062(0x4f4)](_0x42f30d[_0x7af062(0x3c2)],_0x42f30d[_0x7af062(0x3c2)])?(this['isDragging']=![],this['$cursor'][_0x7af062(0x330)](_0x12b070[_0x7af062(0x543)](this[_0x7af062(0x273)],0x1)?'grab':_0x12b070['YkRnq'])):this[_0x7af062(0x4a6)][_0x7af062(0x330)](![]);}),takeUntil(this[_0x5687fb(0x2da)]),_0x42f30d[_0x5687fb(0x3e7)](takeUntilDestroyed,this[_0x5687fb(0x25c)]))[_0x5687fb(0x65c)]());})[_0x40c79e(0x666)](_0x226f76=>{const _0x462b9e=_0x40c79e;_0x42f30d['XsDoW'](_0x42f30d['dJssS'],_0x462b9e(0x2d1))?this[_0x462b9e(0x298)][_0x462b9e(0x22f)]():console[_0x462b9e(0x285)](_0x42f30d[_0x462b9e(0x2ec)],_0x226f76);});}static [_0x5d67ea(0x48b)]=_0x5242ab[_0x5d67ea(0x1ec)]({'minVersion':_0x5d67ea(0x4b8),'version':_0x5d67ea(0x2e7),'ngImport':_0x5242ab,'type':UiCopyButtonDirective,'deps':[{'token':_0x5242ab[_0x5d67ea(0x233)]}],'target':_0x5242ab[_0x5d67ea(0x356)]['Directive']});static [_0x5d67ea(0x60a)]=_0x5242ab[_0x5d67ea(0x21b)]({'minVersion':_0x5d67ea(0x44f),'version':_0x5d67ea(0x2e7),'type':UiCopyButtonDirective,'isStandalone':!![],'selector':_0x5d67ea(0x741),'inputs':{'$text':{'classPropertyName':_0x5d67ea(0x6bc),'publicName':_0x5d67ea(0x6bc),'isSignal':!![],'isRequired':!![],'transformFunction':null}},'ngImport':_0x5242ab});}_0x5242ab[_0x5d67ea(0x50a)]({'minVersion':_0x5d67ea(0x4b8),'version':_0x5d67ea(0x2e7),'ngImport':_0x5242ab,'type':UiCopyButtonDirective,'decorators':[{'type':Directive,'args':[{'selector':_0x5d67ea(0x741)}]}],'ctorParameters':()=>[{'type':_0x5242ab['DestroyRef']}],'propDecorators':{'$text':[{'type':_0x5242ab[_0x5d67ea(0x714)],'args':[{'isSignal':!![],'alias':_0x5d67ea(0x6bc),'required':!![]}]}]}});class UiTabsDirective{['renderer'];['elementRef'];[_0x5d67ea(0x321)]=model[_0x5d67ea(0x4dd)](...ngDevMode?[{'debugName':_0x5d67ea(0x321)}]:[]);[_0x5d67ea(0x446)]=input(_0x5d67ea(0x733),...ngDevMode?[{'debugName':_0x5d67ea(0x446)}]:[]);['$selectedTabIndex']=model(0x0,...ngDevMode?[{'debugName':_0x5d67ea(0x270)}]:[]);[_0x5d67ea(0x467)]=contentChildren(_0x5d67ea(0x3c7),...ngDevMode?[{'debugName':_0x5d67ea(0x467)}]:[]);[_0x5d67ea(0x3d3)]=contentChild('head',...ngDevMode?[{'debugName':_0x5d67ea(0x3d3)}]:[]);constructor(_0x2f3a14,_0x11bec5){const _0xef19e6=_0x5d67ea,_0x236944={'kStib':function(_0x2b3b0d,_0x3b1d8b){return _0x2b3b0d(_0x3b1d8b);},'Bhxfk':function(_0x3cf1c4,_0x1d659c){return _0x3cf1c4!==_0x1d659c;},'EXxTN':_0xef19e6(0x44c),'WVPzz':'ugMbV','slJLw':_0xef19e6(0x72c)};this['renderer']=_0x2f3a14,this['elementRef']=_0x11bec5,_0x236944['kStib'](effect,()=>{const _0xbbf312=_0xef19e6,_0x122298=this['$tabs']();this[_0xbbf312(0x467)]()[_0xbbf312(0x5cc)]((_0x11aba9,_0x207025)=>{const _0x382581=_0xbbf312,_0x403420={'foBOI':function(_0x26b15c,_0x42430a){return _0x236944['kStib'](_0x26b15c,_0x42430a);}};_0x236944[_0x382581(0x3ac)](_0x236944[_0x382581(0x4a0)],_0x382581(0x64f))?_0x122298[_0x207025][_0x382581(0x3f9)]=_0x11aba9:this['$shouldClose']()&&_0x403420[_0x382581(0x6ea)](_0x5e6436,()=>{this['close']();});}),untracked(()=>{const _0x4801ef=_0xbbf312;if(_0x236944[_0x4801ef(0x453)]!==_0x236944[_0x4801ef(0x763)])this[_0x4801ef(0x321)]['set'](_0x122298);else{const _0xff3938=this['$content']();if(_0xff3938){const _0x364423=_0xff3938[_0x4801ef(0x501)][_0x4801ef(0x393)];this[_0x4801ef(0x272)][_0x4801ef(0x330)](_0x364423+'px');}}});});}[_0x5d67ea(0x6ba)](){const _0x2c9a4d=_0x5d67ea;this[_0x2c9a4d(0x412)]['addClass'](this[_0x2c9a4d(0x30c)][_0x2c9a4d(0x501)],this[_0x2c9a4d(0x446)]());}static [_0x5d67ea(0x48b)]=_0x5242ab['ɵɵngDeclareFactory']({'minVersion':'12.0.0','version':_0x5d67ea(0x2e7),'ngImport':_0x5242ab,'type':UiTabsDirective,'deps':[{'token':_0x5242ab[_0x5d67ea(0x696)]},{'token':_0x5242ab[_0x5d67ea(0x404)]}],'target':_0x5242ab[_0x5d67ea(0x356)][_0x5d67ea(0x521)]});static [_0x5d67ea(0x60a)]=_0x5242ab['ɵɵngDeclareDirective']({'minVersion':_0x5d67ea(0x20b),'version':_0x5d67ea(0x2e7),'type':UiTabsDirective,'isStandalone':!![],'selector':_0x5d67ea(0x29b),'inputs':{'$tabs':{'classPropertyName':_0x5d67ea(0x321),'publicName':_0x5d67ea(0x321),'isSignal':!![],'isRequired':!![],'transformFunction':null},'$alignment':{'classPropertyName':_0x5d67ea(0x446),'publicName':_0x5d67ea(0x446),'isSignal':!![],'isRequired':![],'transformFunction':null},'$selectedTabIndex':{'classPropertyName':_0x5d67ea(0x270),'publicName':_0x5d67ea(0x270),'isSignal':!![],'isRequired':![],'transformFunction':null}},'outputs':{'$tabs':'$tabsChange','$selectedTabIndex':'$selectedTabIndexChange'},'queries':[{'propertyName':'$templates','predicate':[_0x5d67ea(0x3c7)],'isSignal':!![]},{'propertyName':_0x5d67ea(0x3d3),'first':!![],'predicate':[_0x5d67ea(0x68f)],'descendants':!![],'isSignal':!![]}],'exportAs':[_0x5d67ea(0x73f)],'ngImport':_0x5242ab});}_0x5242ab[_0x5d67ea(0x50a)]({'minVersion':'12.0.0','version':'21.1.1','ngImport':_0x5242ab,'type':UiTabsDirective,'decorators':[{'type':Directive,'args':[{'selector':'[appUiTabs]','exportAs':_0x5d67ea(0x73f)}]}],'ctorParameters':()=>[{'type':_0x5242ab[_0x5d67ea(0x696)]},{'type':_0x5242ab['ElementRef']}],'propDecorators':{'$tabs':[{'type':_0x5242ab['Input'],'args':[{'isSignal':!![],'alias':'$tabs','required':!![]}]},{'type':_0x5242ab[_0x5d67ea(0x42a)],'args':['$tabsChange']}],'$alignment':[{'type':_0x5242ab['Input'],'args':[{'isSignal':!![],'alias':_0x5d67ea(0x446),'required':![]}]}],'$selectedTabIndex':[{'type':_0x5242ab[_0x5d67ea(0x714)],'args':[{'isSignal':!![],'alias':_0x5d67ea(0x270),'required':![]}]},{'type':_0x5242ab['Output'],'args':[_0x5d67ea(0x593)]}],'$templates':[{'type':_0x5242ab[_0x5d67ea(0x640)],'args':[_0x5d67ea(0x3c7),{'isSignal':!![]}]}],'$headContent':[{'type':_0x5242ab[_0x5d67ea(0x5be)],'args':['head',{'isSignal':!![]}]}]}});class UiFieldBaseDirective{['value']=model(null,...ngDevMode?[{'debugName':_0x5d67ea(0x3f5)}]:[]);['disabled']=input(![],...ngDevMode?[{'debugName':_0x5d67ea(0x5a6)}]:[]);['invalid']=model(![],...ngDevMode?[{'debugName':_0x5d67ea(0x4ae)}]:[]);[_0x5d67ea(0x228)]=input([],...ngDevMode?[{'debugName':_0x5d67ea(0x228)}]:[]);[_0x5d67ea(0x562)]=model(![],...ngDevMode?[{'debugName':'touched'}]:[]);[_0x5d67ea(0x5d9)]=model(![],...ngDevMode?[{'debugName':_0x5d67ea(0x5d9)}]:[]);[_0x5d67ea(0x736)]=null;[_0x5d67ea(0x6ba)](){const _0x7222a=_0x5d67ea;this[_0x7222a(0x736)]=this['value']();}[_0x5d67ea(0x315)](_0xd61950){const _0x9b7ecf=_0x5d67ea,_0x33f69e={'suNnL':function(_0x5bea35,_0x488764){return _0x5bea35!==_0x488764;},'tkkZd':function(_0x343c48,_0x372cbc){return _0x343c48===_0x372cbc;},'vuYdI':_0x9b7ecf(0x326)};this[_0x9b7ecf(0x3f5)][_0x9b7ecf(0x330)](_0xd61950),_0x33f69e[_0x9b7ecf(0x703)](this['initialValue'],null)&&_0x33f69e[_0x9b7ecf(0x703)](_0xd61950,this[_0x9b7ecf(0x736)])&&(_0x33f69e[_0x9b7ecf(0x5e2)](_0x9b7ecf(0x49d),_0x33f69e[_0x9b7ecf(0x73e)])?_0x417299=_0x9b7ecf(0x571):this['dirty'][_0x9b7ecf(0x330)](!![]));}static [_0x5d67ea(0x48b)]=_0x5242ab[_0x5d67ea(0x1ec)]({'minVersion':'12.0.0','version':_0x5d67ea(0x2e7),'ngImport':_0x5242ab,'type':UiFieldBaseDirective,'deps':[],'target':_0x5242ab['ɵɵFactoryTarget'][_0x5d67ea(0x521)]});static [_0x5d67ea(0x60a)]=_0x5242ab[_0x5d67ea(0x21b)]({'minVersion':_0x5d67ea(0x44f),'version':_0x5d67ea(0x2e7),'type':UiFieldBaseDirective,'isStandalone':!![],'selector':_0x5d67ea(0x230),'inputs':{'value':{'classPropertyName':_0x5d67ea(0x3f5),'publicName':_0x5d67ea(0x3f5),'isSignal':!![],'isRequired':![],'transformFunction':null},'disabled':{'classPropertyName':'disabled','publicName':_0x5d67ea(0x5a6),'isSignal':!![],'isRequired':![],'transformFunction':null},'invalid':{'classPropertyName':'invalid','publicName':_0x5d67ea(0x4ae),'isSignal':!![],'isRequired':![],'transformFunction':null},'errors':{'classPropertyName':'errors','publicName':_0x5d67ea(0x228),'isSignal':!![],'isRequired':![],'transformFunction':null},'touched':{'classPropertyName':'touched','publicName':_0x5d67ea(0x562),'isSignal':!![],'isRequired':![],'transformFunction':null},'dirty':{'classPropertyName':_0x5d67ea(0x5d9),'publicName':_0x5d67ea(0x5d9),'isSignal':!![],'isRequired':![],'transformFunction':null}},'outputs':{'value':'valueChange','invalid':'invalidChange','touched':_0x5d67ea(0x31d),'dirty':_0x5d67ea(0x6d0)},'ngImport':_0x5242ab});}_0x5242ab['ɵɵngDeclareClassMetadata']({'minVersion':_0x5d67ea(0x4b8),'version':_0x5d67ea(0x2e7),'ngImport':_0x5242ab,'type':UiFieldBaseDirective,'decorators':[{'type':Directive,'args':[{'selector':_0x5d67ea(0x230)}]}],'propDecorators':{'value':[{'type':_0x5242ab[_0x5d67ea(0x714)],'args':[{'isSignal':!![],'alias':'value','required':![]}]},{'type':_0x5242ab[_0x5d67ea(0x42a)],'args':['valueChange']}],'disabled':[{'type':_0x5242ab[_0x5d67ea(0x714)],'args':[{'isSignal':!![],'alias':_0x5d67ea(0x5a6),'required':![]}]}],'invalid':[{'type':_0x5242ab[_0x5d67ea(0x714)],'args':[{'isSignal':!![],'alias':'invalid','required':![]}]},{'type':_0x5242ab['Output'],'args':[_0x5d67ea(0x583)]}],'errors':[{'type':_0x5242ab['Input'],'args':[{'isSignal':!![],'alias':'errors','required':![]}]}],'touched':[{'type':_0x5242ab['Input'],'args':[{'isSignal':!![],'alias':_0x5d67ea(0x562),'required':![]}]},{'type':_0x5242ab[_0x5d67ea(0x42a)],'args':['touchedChange']}],'dirty':[{'type':_0x5242ab[_0x5d67ea(0x714)],'args':[{'isSignal':!![],'alias':'dirty','required':![]}]},{'type':_0x5242ab['Output'],'args':[_0x5d67ea(0x6d0)]}]}});class UiInputCheckboxDirective{[_0x5d67ea(0x407)]=model(![],...ngDevMode?[{'debugName':_0x5d67ea(0x407)}]:[]);[_0x5d67ea(0x4ae)]=model(![],...ngDevMode?[{'debugName':'invalid'}]:[]);[_0x5d67ea(0x5a6)]=input(![],...ngDevMode?[{'debugName':'disabled'}]:[]);[_0x5d67ea(0x343)]=input(_0x5d67ea(0x3ef),...ngDevMode?[{'debugName':_0x5d67ea(0x343)}]:[]);[_0x5d67ea(0x445)]=input('',...ngDevMode?[{'debugName':_0x5d67ea(0x445)}]:[]);[_0x5d67ea(0x40f)]=input(![],...ngDevMode?[{'debugName':_0x5d67ea(0x40f)}]:[]);[_0x5d67ea(0x228)]=input([],...ngDevMode?[{'debugName':_0x5d67ea(0x228)}]:[]);[_0x5d67ea(0x562)]=model(![],...ngDevMode?[{'debugName':'touched'}]:[]);[_0x5d67ea(0x5d9)]=model(![],...ngDevMode?[{'debugName':_0x5d67ea(0x5d9)}]:[]);[_0x5d67ea(0x57f)]=computed(()=>{const _0x2c740b=_0x5d67ea;return(this[_0x2c740b(0x562)]()||this[_0x2c740b(0x5d9)]()&&this['touched']())&&this['invalid']();},...ngDevMode?[{'debugName':_0x5d67ea(0x57f)}]:[]);[_0x5d67ea(0x361)](){const _0x58a347=_0x5d67ea;this['checked'][_0x58a347(0x1dd)](_0x1a50b6=>!_0x1a50b6);}static ['ɵfac']=_0x5242ab['ɵɵngDeclareFactory']({'minVersion':_0x5d67ea(0x4b8),'version':_0x5d67ea(0x2e7),'ngImport':_0x5242ab,'type':UiInputCheckboxDirective,'deps':[],'target':_0x5242ab[_0x5d67ea(0x356)][_0x5d67ea(0x521)]});static [_0x5d67ea(0x60a)]=_0x5242ab[_0x5d67ea(0x21b)]({'minVersion':'17.1.0','version':_0x5d67ea(0x2e7),'type':UiInputCheckboxDirective,'isStandalone':!![],'selector':_0x5d67ea(0x60b),'inputs':{'checked':{'classPropertyName':_0x5d67ea(0x407),'publicName':_0x5d67ea(0x407),'isSignal':!![],'isRequired':![],'transformFunction':null},'invalid':{'classPropertyName':_0x5d67ea(0x4ae),'publicName':'invalid','isSignal':!![],'isRequired':![],'transformFunction':null},'disabled':{'classPropertyName':_0x5d67ea(0x5a6),'publicName':_0x5d67ea(0x5a6),'isSignal':!![],'isRequired':![],'transformFunction':null},'$style':{'classPropertyName':_0x5d67ea(0x343),'publicName':_0x5d67ea(0x343),'isSignal':!![],'isRequired':![],'transformFunction':null},'$label':{'classPropertyName':'$label','publicName':_0x5d67ea(0x445),'isSignal':!![],'isRequired':![],'transformFunction':null},'$hideValidatorErrors':{'classPropertyName':'$hideValidatorErrors','publicName':_0x5d67ea(0x40f),'isSignal':!![],'isRequired':![],'transformFunction':null},'errors':{'classPropertyName':_0x5d67ea(0x228),'publicName':_0x5d67ea(0x228),'isSignal':!![],'isRequired':![],'transformFunction':null},'touched':{'classPropertyName':_0x5d67ea(0x562),'publicName':_0x5d67ea(0x562),'isSignal':!![],'isRequired':![],'transformFunction':null},'dirty':{'classPropertyName':_0x5d67ea(0x5d9),'publicName':'dirty','isSignal':!![],'isRequired':![],'transformFunction':null}},'outputs':{'checked':_0x5d67ea(0x436),'invalid':_0x5d67ea(0x583),'touched':_0x5d67ea(0x31d),'dirty':_0x5d67ea(0x6d0)},'ngImport':_0x5242ab});}_0x5242ab[_0x5d67ea(0x50a)]({'minVersion':_0x5d67ea(0x4b8),'version':'21.1.1','ngImport':_0x5242ab,'type':UiInputCheckboxDirective,'decorators':[{'type':Directive,'args':[{'selector':_0x5d67ea(0x60b)}]}],'propDecorators':{'checked':[{'type':_0x5242ab[_0x5d67ea(0x714)],'args':[{'isSignal':!![],'alias':_0x5d67ea(0x407),'required':![]}]},{'type':_0x5242ab[_0x5d67ea(0x42a)],'args':[_0x5d67ea(0x436)]}],'invalid':[{'type':_0x5242ab['Input'],'args':[{'isSignal':!![],'alias':_0x5d67ea(0x4ae),'required':![]}]},{'type':_0x5242ab[_0x5d67ea(0x42a)],'args':[_0x5d67ea(0x583)]}],'disabled':[{'type':_0x5242ab[_0x5d67ea(0x714)],'args':[{'isSignal':!![],'alias':_0x5d67ea(0x5a6),'required':![]}]}],'$style':[{'type':_0x5242ab[_0x5d67ea(0x714)],'args':[{'isSignal':!![],'alias':_0x5d67ea(0x343),'required':![]}]}],'$label':[{'type':_0x5242ab['Input'],'args':[{'isSignal':!![],'alias':_0x5d67ea(0x445),'required':![]}]}],'$hideValidatorErrors':[{'type':_0x5242ab[_0x5d67ea(0x714)],'args':[{'isSignal':!![],'alias':_0x5d67ea(0x40f),'required':![]}]}],'errors':[{'type':_0x5242ab[_0x5d67ea(0x714)],'args':[{'isSignal':!![],'alias':_0x5d67ea(0x228),'required':![]}]}],'touched':[{'type':_0x5242ab[_0x5d67ea(0x714)],'args':[{'isSignal':!![],'alias':_0x5d67ea(0x562),'required':![]}]},{'type':_0x5242ab['Output'],'args':[_0x5d67ea(0x31d)]}],'dirty':[{'type':_0x5242ab['Input'],'args':[{'isSignal':!![],'alias':_0x5d67ea(0x5d9),'required':![]}]},{'type':_0x5242ab['Output'],'args':[_0x5d67ea(0x6d0)]}]}});const sizes={'small':{'padding':_0x5d67ea(0x2f4),'font':_0x5d67ea(0x6cf),'borderRadius':_0x5d67ea(0x3dc)},'medium':{'padding':_0x5d67ea(0x366),'font':'paragraph-l','borderRadius':'border-radius-m'}};class UiInputDirective extends UiFieldBaseDirective{[_0x5d67ea(0x4f9)]=input(_0x5d67ea(0x405),...ngDevMode?[{'debugName':_0x5d67ea(0x4f9)}]:[]);[_0x5d67ea(0x75c)]=input('',...ngDevMode?[{'debugName':'$placeholder'}]:[]);[_0x5d67ea(0x445)]=input('',...ngDevMode?[{'debugName':_0x5d67ea(0x445)}]:[]);['$shouldFocusedAfterViewInit']=input(![],...ngDevMode?[{'debugName':_0x5d67ea(0x74d)}]:[]);[_0x5d67ea(0x40f)]=input(![],...ngDevMode?[{'debugName':_0x5d67ea(0x40f)}]:[]);[_0x5d67ea(0x5d0)]=input(null,...ngDevMode?[{'debugName':_0x5d67ea(0x5d0)}]:[]);[_0x5d67ea(0x2df)]=computed(()=>{const _0x14f09b=_0x5d67ea,size=this[_0x14f09b(0x4f9)]();return sizes[size];},...ngDevMode?[{'debugName':_0x5d67ea(0x2df)}]:[]);['$isError']=computed(()=>{const _0x27cb65=_0x5d67ea;return(this[_0x27cb65(0x562)]()||this[_0x27cb65(0x5d9)]()&&this[_0x27cb65(0x562)]())&&this[_0x27cb65(0x4ae)]();},...ngDevMode?[{'debugName':_0x5d67ea(0x57f)}]:[]);static [_0x5d67ea(0x48b)]=_0x5242ab[_0x5d67ea(0x1ec)]({'minVersion':_0x5d67ea(0x4b8),'version':_0x5d67ea(0x2e7),'ngImport':_0x5242ab,'type':UiInputDirective,'deps':null,'target':_0x5242ab['ɵɵFactoryTarget'][_0x5d67ea(0x521)]});static [_0x5d67ea(0x60a)]=_0x5242ab[_0x5d67ea(0x21b)]({'minVersion':_0x5d67ea(0x44f),'version':'21.1.1','type':UiInputDirective,'isStandalone':!![],'selector':'app-ui-input','inputs':{'$size':{'classPropertyName':'$size','publicName':_0x5d67ea(0x4f9),'isSignal':!![],'isRequired':![],'transformFunction':null},'$placeholder':{'classPropertyName':'$placeholder','publicName':'$placeholder','isSignal':!![],'isRequired':![],'transformFunction':null},'$label':{'classPropertyName':_0x5d67ea(0x445),'publicName':'$label','isSignal':!![],'isRequired':![],'transformFunction':null},'$shouldFocusedAfterViewInit':{'classPropertyName':_0x5d67ea(0x74d),'publicName':_0x5d67ea(0x74d),'isSignal':!![],'isRequired':![],'transformFunction':null},'$hideValidatorErrors':{'classPropertyName':_0x5d67ea(0x40f),'publicName':_0x5d67ea(0x40f),'isSignal':!![],'isRequired':![],'transformFunction':null},'$icon':{'classPropertyName':_0x5d67ea(0x5d0),'publicName':_0x5d67ea(0x5d0),'isSignal':!![],'isRequired':![],'transformFunction':null}},'usesInheritance':!![],'ngImport':_0x5242ab});}_0x5242ab['ɵɵngDeclareClassMetadata']({'minVersion':_0x5d67ea(0x4b8),'version':_0x5d67ea(0x2e7),'ngImport':_0x5242ab,'type':UiInputDirective,'decorators':[{'type':Directive,'args':[{'selector':_0x5d67ea(0x60b)}]}],'propDecorators':{'$size':[{'type':_0x5242ab['Input'],'args':[{'isSignal':!![],'alias':'$size','required':![]}]}],'$placeholder':[{'type':_0x5242ab[_0x5d67ea(0x714)],'args':[{'isSignal':!![],'alias':'$placeholder','required':![]}]}],'$label':[{'type':_0x5242ab[_0x5d67ea(0x714)],'args':[{'isSignal':!![],'alias':_0x5d67ea(0x445),'required':![]}]}],'$shouldFocusedAfterViewInit':[{'type':_0x5242ab[_0x5d67ea(0x714)],'args':[{'isSignal':!![],'alias':_0x5d67ea(0x74d),'required':![]}]}],'$hideValidatorErrors':[{'type':_0x5242ab['Input'],'args':[{'isSignal':!![],'alias':_0x5d67ea(0x40f),'required':![]}]}],'$icon':[{'type':_0x5242ab['Input'],'args':[{'isSignal':!![],'alias':'$icon','required':![]}]}]}});class UiInputCountryDirective extends UiInputDirective{['$selectedCountry']=signal(emptyCountry,...ngDevMode?[{'debugName':_0x5d67ea(0x546)}]:[]);['$isOpen']=signal(![],...ngDevMode?[{'debugName':'$isOpen'}]:[]);[_0x5d67ea(0x726)]=viewChild(_0x5d67ea(0x6e7),...ngDevMode?[{'debugName':_0x5d67ea(0x726)}]:[]);constructor(){super();}['ngAfterViewInit'](){const _0x4b6af4=_0x5d67ea;this[_0x4b6af4(0x672)]();}[_0x5d67ea(0x1eb)](_0x53f955){const _0x228b39=_0x5d67ea,_0x4ac47f={'OEKez':function(_0x281642,_0x189838){return _0x281642+_0x189838;}};_0x53f955[_0x228b39(0x258)]();const _0xd94a3=_0x53f955[_0x228b39(0x694)]?.[_0x228b39(0x54c)](_0x228b39(0x47f))||'',_0x35fe8f=this[_0x228b39(0x284)](_0xd94a3);if(_0x35fe8f){this[_0x228b39(0x66e)](_0x35fe8f);return;}this[_0x228b39(0x315)](_0x4ac47f[_0x228b39(0x58f)](this[_0x228b39(0x3f5)](),_0xd94a3));}[_0x5d67ea(0x284)](_0x4a6710){const _0x3e02e3=_0x5d67ea,_0x39b7dc=CountryService['countries'][_0x3e02e3(0x260)](_0x318991=>_0x318991[_0x3e02e3(0x760)][_0x3e02e3(0x59b)]()['includes'](_0x4a6710[_0x3e02e3(0x59b)]()));return _0x39b7dc;}[_0x5d67ea(0x66e)](_0x45bc5d){const _0x51584d=_0x5d67ea;this[_0x51584d(0x546)][_0x51584d(0x330)](_0x45bc5d);const _0x313c67=this['$inputElement']()?.[_0x51584d(0x501)];this[_0x51584d(0x315)](_0x45bc5d[_0x51584d(0x760)]),_0x313c67&&_0x313c67[_0x51584d(0x55a)]();}[_0x5d67ea(0x672)](){const _0x202e98=_0x5d67ea,_0x18e428={'TnSRG':function(_0x258099,_0x5608ec){return _0x258099+_0x5608ec;},'ftrEI':function(_0x5f5970,_0x3b08a9){return _0x5f5970-_0x3b08a9;},'AITar':function(_0x47b811,_0x4fe9a5){return _0x47b811-_0x4fe9a5;},'qzReb':function(_0x5708a9,_0x10ad1c){return _0x5708a9!==_0x10ad1c;},'IMTaw':_0x202e98(0x3d8)},_0x2ee8ee=this[_0x202e98(0x3f5)]();if(!_0x2ee8ee?.[_0x202e98(0x27b)]){if(_0x18e428[_0x202e98(0x4c2)](_0x18e428['IMTaw'],_0x202e98(0x3d8)))_0x5c5b09=_0x18e428[_0x202e98(0x2e8)](_0x18e428[_0x202e98(0x649)](_0x2d7cb9['clientX'],_0x57b13a['width']),_0x5e65ee-_0x102097),_0x46cb5c=_0x18e428[_0x202e98(0x2e8)](_0x18e428[_0x202e98(0x473)](_0x529ef8['clientY'],_0x6744a7['height']),_0x18e428[_0x202e98(0x473)](_0x235fe4,_0x19dd48));else{this[_0x202e98(0x546)][_0x202e98(0x330)]({'code':'','name':'','iso':'xx','phonePrefix':''});return;}}const _0x5cf2ac=this['searchCountry'](_0x2ee8ee);_0x5cf2ac&&this[_0x202e98(0x546)][_0x202e98(0x330)](_0x5cf2ac);}static [_0x5d67ea(0x48b)]=_0x5242ab[_0x5d67ea(0x1ec)]({'minVersion':_0x5d67ea(0x4b8),'version':'21.1.1','ngImport':_0x5242ab,'type':UiInputCountryDirective,'deps':[],'target':_0x5242ab[_0x5d67ea(0x356)][_0x5d67ea(0x521)]});static [_0x5d67ea(0x60a)]=_0x5242ab[_0x5d67ea(0x21b)]({'minVersion':'17.2.0','version':'21.1.1','type':UiInputCountryDirective,'isStandalone':!![],'selector':'app-ui-input-country','viewQueries':[{'propertyName':_0x5d67ea(0x726),'first':!![],'predicate':[_0x5d67ea(0x6e7)],'descendants':!![],'isSignal':!![]}],'usesInheritance':!![],'ngImport':_0x5242ab});}_0x5242ab[_0x5d67ea(0x50a)]({'minVersion':_0x5d67ea(0x4b8),'version':'21.1.1','ngImport':_0x5242ab,'type':UiInputCountryDirective,'decorators':[{'type':Directive,'args':[{'selector':'app-ui-input-country'}]}],'ctorParameters':()=>[],'propDecorators':{'$inputElement':[{'type':_0x5242ab[_0x5d67ea(0x54a)],'args':[_0x5d67ea(0x6e7),{'isSignal':!![]}]}]}});class UIInputDateDirective extends UiInputDirective{[_0x5d67ea(0x487)]=signal(![],...ngDevMode?[{'debugName':'$isOpen'}]:[]);['$isRangeSelection']=input(![],...ngDevMode?[{'debugName':_0x5d67ea(0x5f0)}]:[]);[_0x5d67ea(0x726)]=viewChild('input',...ngDevMode?[{'debugName':_0x5d67ea(0x726)}]:[]);[_0x5d67ea(0x5f9)](_0x5a75d5){const _0x8d8cc9=_0x5d67ea,_0x4847ae=this[_0x8d8cc9(0x1f0)](_0x5a75d5);this[_0x8d8cc9(0x315)](_0x4847ae);}['formatDate'](_0xa4be88){const _0xc4b01a=_0x5d67ea,_0xaeae89={'ivoKk':function(_0x4d6df0,_0x3507a0){return _0x4d6df0<_0x3507a0;},'wrohV':function(_0x24b962,_0x5daf2a){return _0x24b962+_0x5daf2a;},'ARjZn':function(_0xe38e44,_0x3144d5){return _0xe38e44+_0x3144d5;},'uSXxQ':function(_0x2870f8,_0x5e32f3){return _0x2870f8+_0x5e32f3;},'lsOxv':function(_0x579dd2,_0x697820){return _0x579dd2+_0x697820;},'FEyUv':function(_0x4a65e2,_0x25e9d6){return _0x4a65e2+_0x25e9d6;}},_0x5a073d=_0xaeae89['ivoKk'](_0xa4be88['getDate'](),0xa)?'0'+_0xa4be88[_0xc4b01a(0x2b4)]():_0xa4be88[_0xc4b01a(0x2b4)]()[_0xc4b01a(0x5ea)](),_0x49bbb6=_0xaeae89[_0xc4b01a(0x304)](_0xaeae89[_0xc4b01a(0x692)](_0xa4be88['getMonth'](),0x1),0xa)?_0xaeae89['ARjZn']('0',_0xaeae89[_0xc4b01a(0x4dc)](_0xa4be88[_0xc4b01a(0x4f1)](),0x1)):_0xaeae89[_0xc4b01a(0x692)](_0xa4be88['getMonth'](),0x1)['toString']();if(this[_0xc4b01a(0x622)]())return _0xaeae89['lsOxv'](_0x49bbb6+'/'+_0x5a073d,'/')+_0xa4be88[_0xc4b01a(0x1fc)]();return _0xaeae89[_0xc4b01a(0x678)](_0xaeae89[_0xc4b01a(0x559)](_0x5a073d,'/')+_0x49bbb6,'/')+_0xa4be88[_0xc4b01a(0x1fc)]();}[_0x5d67ea(0x622)](){const _0xcfd973=_0x5d67ea;return DateUtils[_0xcfd973(0x622)]();}[_0x5d67ea(0x69f)](_0x1b66ce){const _0x17cb79=_0x5d67ea;if(!_0x1b66ce[_0x17cb79(0x3bb)]){this['onInput']('');return;}const _0x4661a8=this['formatDate'](_0x1b66ce[_0x17cb79(0x3bb)]),_0x44f77d=_0x1b66ce[_0x17cb79(0x3e0)]?this['formatDate'](_0x1b66ce['end']):'',_0x25b7e0=_0x44f77d?_0x4661a8+_0x17cb79(0x5db)+_0x44f77d:_0x4661a8;this[_0x17cb79(0x315)](_0x25b7e0);}[_0x5d67ea(0x315)](_0x54f080){const _0x287c1e=_0x5d67ea,_0x14b3be={'thWfb':_0x287c1e(0x1f1),'xCYiC':function(_0x1eb2ca,_0x567dd8){return _0x1eb2ca===_0x567dd8;},'jRghi':_0x287c1e(0x2ef),'ivgxq':_0x287c1e(0x4aa),'hMnqQ':function(_0xcb7ed6,_0x329dfc){return _0xcb7ed6>_0x329dfc;},'oJWMW':function(_0x685bd9,_0x2a2748){return _0x685bd9||_0x2a2748;},'BHSuA':function(_0x583b02,_0x108de8){return _0x583b02!==_0x108de8;},'tvEUQ':'bTysv'},_0x40ef2c=this[_0x287c1e(0x726)]()?.[_0x287c1e(0x501)];if(_0x40ef2c){if(_0x14b3be['xCYiC'](_0x14b3be[_0x287c1e(0x3a4)],_0x14b3be[_0x287c1e(0x360)])){const _0x3476d5=_0x2807f6['target'];if(_0x3a7d1d['isIntersecting']){const _0x1cb0e6=_0x3476d5[_0x287c1e(0x46e)](_0x14b3be['thWfb']);if(_0x1cb0e6)_0x3476d5['src']=_0x1cb0e6;this[_0x287c1e(0x659)]?.[_0x287c1e(0x344)](_0x3476d5);}}else{const _0x369830=_0x40ef2c[_0x287c1e(0x624)],_0x1c8659=_0x40ef2c['selectionEnd'],_0x1f5ab4=_0x54f080,_0x442c73=this[_0x287c1e(0x31f)](_0x1f5ab4),_0x351029=(_0x1f5ab4['match'](/\//g)||[])[_0x287c1e(0x27b)],_0x503164=(_0x442c73[_0x287c1e(0x518)](/\//g)||[])[_0x287c1e(0x27b)],_0x282393=(_0x1f5ab4[_0x287c1e(0x518)](/-/g)||[])[_0x287c1e(0x27b)],_0x1bcbd1=(_0x442c73[_0x287c1e(0x518)](/-/g)||[])[_0x287c1e(0x27b)],_0x31bc4a=_0x14b3be['hMnqQ'](_0x503164,_0x351029),_0x22a62e=_0x14b3be[_0x287c1e(0x526)](_0x1bcbd1,_0x282393);super[_0x287c1e(0x315)](_0x442c73),_0x40ef2c[_0x287c1e(0x3f5)]=_0x442c73,_0x14b3be[_0x287c1e(0x3ed)](_0x31bc4a,_0x22a62e)?_0x14b3be[_0x287c1e(0x53b)](_0x14b3be['tvEUQ'],_0x14b3be[_0x287c1e(0x63c)])?_0x39c6a6=_0x287c1e(0x6b9):_0x40ef2c[_0x287c1e(0x48c)](_0x442c73[_0x287c1e(0x27b)],_0x442c73[_0x287c1e(0x27b)]):_0x40ef2c[_0x287c1e(0x48c)](_0x369830,_0x1c8659);}}}[_0x5d67ea(0x31f)](_0x4bd3e9){const _0x49a24d=_0x5d67ea,_0x24e370={'Gkeza':function(_0x1351a9,_0x2760b8){return _0x1351a9>_0x2760b8;},'fqzMd':function(_0x45c9e2,_0x2b2376){return _0x45c9e2>=_0x2b2376;},'hUQZu':function(_0x1179aa,_0x38cff2){return _0x1179aa+_0x38cff2;},'cdbzI':_0x49a24d(0x486),'ZPwKF':function(_0x36cb1b,_0x40c276){return _0x36cb1b===_0x40c276;},'TFodW':'QgqSf','Awfqn':function(_0x722762,_0x1cd7c4){return _0x722762(_0x1cd7c4);}},_0x3fb1b9=_0x4bd3e9[_0x49a24d(0x6e6)](/\D/g,''),_0x275007=this[_0x49a24d(0x5f0)]()?0x10:0x8,_0x35e739=_0x3fb1b9[_0x49a24d(0x1ef)](0x0,_0x275007),_0x28cdda=_0x378e8c=>{const _0x2e6b01=_0x49a24d;let _0x3743b2='';return _0x24e370[_0x2e6b01(0x507)](_0x378e8c[_0x2e6b01(0x27b)],0x0)&&(_0x3743b2+=_0x378e8c[_0x2e6b01(0x1ef)](0x0,0x2)),_0x24e370[_0x2e6b01(0x564)](_0x378e8c[_0x2e6b01(0x27b)],0x3)&&(_0x3743b2+=_0x24e370[_0x2e6b01(0x62f)]('/',_0x378e8c[_0x2e6b01(0x1ef)](0x2,0x4))),_0x378e8c[_0x2e6b01(0x27b)]>=0x5&&(_0x24e370[_0x2e6b01(0x3b3)]===_0x2e6b01(0x486)?_0x3743b2+=_0x24e370[_0x2e6b01(0x62f)]('/',_0x378e8c['substring'](0x4,0x8)):(this[_0x2e6b01(0x3a3)]['set'](_0x72ab2c),this[_0x2e6b01(0x358)][_0x2e6b01(0x55e)](_0x49c695))),_0x3743b2;};if(this[_0x49a24d(0x5f0)]()){if(_0x24e370['ZPwKF'](_0x24e370[_0x49a24d(0x5d5)],_0x24e370[_0x49a24d(0x5d5)])){const _0xdc5b01=_0x35e739[_0x49a24d(0x1ef)](0x0,0x8),_0x29593b=_0x35e739[_0x49a24d(0x1ef)](0x8,0x10),_0x291025=_0x24e370['Awfqn'](_0x28cdda,_0xdc5b01),_0x57d587=_0x24e370[_0x49a24d(0x653)](_0x28cdda,_0x29593b);return _0x57d587?_0x291025+'\x20-\x20'+_0x57d587:_0x291025;}else{this[_0x49a24d(0x481)][_0x49a24d(0x55e)]();return;}}return _0x24e370[_0x49a24d(0x653)](_0x28cdda,_0x35e739);}static [_0x5d67ea(0x48b)]=_0x5242ab[_0x5d67ea(0x1ec)]({'minVersion':'12.0.0','version':_0x5d67ea(0x2e7),'ngImport':_0x5242ab,'type':UIInputDateDirective,'deps':null,'target':_0x5242ab[_0x5d67ea(0x356)][_0x5d67ea(0x521)]});static [_0x5d67ea(0x60a)]=_0x5242ab[_0x5d67ea(0x21b)]({'minVersion':'17.2.0','version':_0x5d67ea(0x2e7),'type':UIInputDateDirective,'isStandalone':!![],'selector':_0x5d67ea(0x2a9),'inputs':{'$isRangeSelection':{'classPropertyName':_0x5d67ea(0x5f0),'publicName':_0x5d67ea(0x5f0),'isSignal':!![],'isRequired':![],'transformFunction':null}},'viewQueries':[{'propertyName':'$inputElement','first':!![],'predicate':[_0x5d67ea(0x6e7)],'descendants':!![],'isSignal':!![]}],'usesInheritance':!![],'ngImport':_0x5242ab});}_0x5242ab[_0x5d67ea(0x50a)]({'minVersion':_0x5d67ea(0x4b8),'version':_0x5d67ea(0x2e7),'ngImport':_0x5242ab,'type':UIInputDateDirective,'decorators':[{'type':Directive,'args':[{'selector':'app-ui-input-date'}]}],'propDecorators':{'$isRangeSelection':[{'type':_0x5242ab[_0x5d67ea(0x714)],'args':[{'isSignal':!![],'alias':_0x5d67ea(0x5f0),'required':![]}]}],'$inputElement':[{'type':_0x5242ab[_0x5d67ea(0x54a)],'args':['input',{'isSignal':!![]}]}]}});class UIPhoneNumberDirective extends UiInputDirective{['$selectedCountry']=signal(emptyCountry,...ngDevMode?[{'debugName':_0x5d67ea(0x546)}]:[]);['$isOpen']=signal(![],...ngDevMode?[{'debugName':'$isOpen'}]:[]);[_0x5d67ea(0x3cf)]=signal('',...ngDevMode?[{'debugName':_0x5d67ea(0x3cf)}]:[]);['$inputElement']=viewChild('input',...ngDevMode?[{'debugName':_0x5d67ea(0x726)}]:[]);constructor(){super();}[_0x5d67ea(0x670)](){const _0x577ea8=_0x5d67ea,_0x2f30c2={'sAYMn':function(_0x1cbbfa,_0x30222b){return _0x1cbbfa+_0x30222b;}},_0x485803=CountryService[_0x577ea8(0x3b0)]('US')??emptyCountry;this[_0x577ea8(0x546)][_0x577ea8(0x330)](_0x485803),this['$countryCode'][_0x577ea8(0x330)](_0x2f30c2['sAYMn'](_0x485803[_0x577ea8(0x6bb)],'\x20'));}[_0x5d67ea(0x315)](_0x2a4508){const _0x324718=_0x5d67ea,_0x2b329d={'QTEhy':function(_0x1664a9,_0x4b7599){return _0x1664a9<_0x4b7599;},'lMxgp':function(_0x4d3b7a,_0x53982c){return _0x4d3b7a*_0x53982c;},'SzvVu':function(_0x59efdc,_0x129805){return _0x59efdc*_0x129805;},'vfvJI':function(_0x10fe5b,_0x40bfa6){return _0x10fe5b-_0x40bfa6;},'VAIsE':function(_0x350db6,_0x2c56ef){return _0x350db6+_0x2c56ef;},'eVFDi':function(_0xfbeb6,_0x1c59a9){return _0xfbeb6!==_0x1c59a9;},'Drovs':_0x324718(0x630),'wmUpp':_0x324718(0x5fd)},_0x5f22bf=_0x2a4508['replace'](/\D/g,''),_0x358257=CountryService['formatPhoneNumber'](_0x5f22bf,this[_0x324718(0x546)]()[_0x324718(0x482)]);super[_0x324718(0x315)](_0x358257);const _0x4fe63e=this['$inputElement']()?.['nativeElement'];if(_0x4fe63e){if(_0x2b329d[_0x324718(0x248)](_0x2b329d['Drovs'],_0x2b329d[_0x324718(0x584)]))_0x4fe63e[_0x324718(0x3f5)]=_0x358257;else{if(this[_0x324718(0x592)]['x']>0x0)this[_0x324718(0x592)]['x']=0x0;_0x2b329d[_0x324718(0x4eb)](this[_0x324718(0x592)]['x']+_0x2b329d[_0x324718(0x2a6)](this['size']['w'],this[_0x324718(0x273)]),this['size']['w'])&&(this[_0x324718(0x592)]['x']=_0x2b329d[_0x324718(0x58c)](-this[_0x324718(0x399)]['w'],_0x2b329d[_0x324718(0x6c1)](this[_0x324718(0x273)],0x1)));if(this[_0x324718(0x592)]['y']>0x0)this[_0x324718(0x592)]['y']=0x0;_0x2b329d[_0x324718(0x64e)](this['pos']['y'],this[_0x324718(0x399)]['h']*this[_0x324718(0x273)])<this[_0x324718(0x399)]['h']&&(this[_0x324718(0x592)]['y']=-this[_0x324718(0x399)]['h']*(this[_0x324718(0x273)]-0x1));}}}['onPaste'](_0x33ad13){const _0x2c4f47=_0x5d67ea,_0x41c28a={'Eocpc':function(_0x2e09fa,_0x4cc7d0){return _0x2e09fa===_0x4cc7d0;},'qKITg':function(_0x535dcb,_0x2647f0){return _0x535dcb===_0x2647f0;},'hhshy':function(_0x4ae4bf,_0x3cba21){return _0x4ae4bf+_0x3cba21;},'qIWsQ':_0x2c4f47(0x47f),'nyAQe':'ngcIt','fsGPt':_0x2c4f47(0x463),'eDyEx':_0x2c4f47(0x432)};_0x33ad13[_0x2c4f47(0x258)]();const _0x3c02b3=_0x33ad13[_0x2c4f47(0x694)]?.['getData'](_0x41c28a[_0x2c4f47(0x52f)])||'',_0x6e3189=CountryService[_0x2c4f47(0x702)][_0x2c4f47(0x260)](_0x4c62a0=>_0x3c02b3[_0x2c4f47(0x41a)](_0x4c62a0[_0x2c4f47(0x6bb)]));if(_0x6e3189){if(_0x41c28a[_0x2c4f47(0x6a4)](_0x41c28a[_0x2c4f47(0x4d7)],_0x41c28a[_0x2c4f47(0x2dc)]))return{'hasBackdrop':_0x1f3800[_0x2c4f47(0x5a7)]===_0x424818?![]:_0xfac947[_0x2c4f47(0x5a7)],'options':_0x41c28a[_0x2c4f47(0x28d)](_0x4d6c64[_0x2c4f47(0x5f6)],_0x1a5d71)?{}:_0x3a17df[_0x2c4f47(0x5f6)],'position':_0xdfedbf[_0x2c4f47(0x6b5)]===_0x5bf97c?_0x2c4f47(0x2b9):_0x536cd1[_0x2c4f47(0x6b5)],'removePrevious':_0x41c28a['qKITg'](_0x35ab3b[_0x2c4f47(0x685)],_0x5d39b)?!![]:_0x29f75d[_0x2c4f47(0x685)],'hasAttachedWidth':_0x41c28a[_0x2c4f47(0x28d)](_0x125c3f[_0x2c4f47(0x67b)],_0x4aad5a)?![]:_0x19a608[_0x2c4f47(0x67b)]};else{const _0x2d2d99=_0x3c02b3[_0x2c4f47(0x739)](_0x6e3189[_0x2c4f47(0x6bb)][_0x2c4f47(0x27b)]);this['setCountry'](_0x6e3189),this[_0x2c4f47(0x315)](_0x2d2d99);}}else _0x41c28a[_0x2c4f47(0x28d)](_0x2c4f47(0x432),_0x41c28a[_0x2c4f47(0x236)])?this[_0x2c4f47(0x315)](_0x41c28a[_0x2c4f47(0x3ad)](this['value'](),_0x3c02b3)):_0x14d044+=_0x41c28a['hhshy']('/',_0x53c594['substring'](0x4,0x8));}[_0x5d67ea(0x66e)](_0x40da6f){const _0x4cd103=_0x5d67ea,_0x244885={'ZOKlr':function(_0x487467,_0x347e94){return _0x487467===_0x347e94;},'BWvKb':_0x4cd103(0x75b)};this['$selectedCountry']['set'](_0x40da6f),this[_0x4cd103(0x3cf)]['set'](_0x40da6f[_0x4cd103(0x6bb)]);const _0x39123f=this[_0x4cd103(0x726)]()?.[_0x4cd103(0x501)];_0x39123f&&(_0x244885['ZOKlr'](_0x244885['BWvKb'],_0x244885[_0x4cd103(0x712)])?_0x39123f['focus']():this[_0x4cd103(0x25c)]=_0x29773c);}static [_0x5d67ea(0x48b)]=_0x5242ab['ɵɵngDeclareFactory']({'minVersion':_0x5d67ea(0x4b8),'version':'21.1.1','ngImport':_0x5242ab,'type':UIPhoneNumberDirective,'deps':[],'target':_0x5242ab[_0x5d67ea(0x356)][_0x5d67ea(0x521)]});static [_0x5d67ea(0x60a)]=_0x5242ab[_0x5d67ea(0x21b)]({'minVersion':_0x5d67ea(0x20b),'version':'21.1.1','type':UIPhoneNumberDirective,'isStandalone':!![],'selector':'app-ui-input-phone-number','viewQueries':[{'propertyName':_0x5d67ea(0x726),'first':!![],'predicate':[_0x5d67ea(0x6e7)],'descendants':!![],'isSignal':!![]}],'usesInheritance':!![],'ngImport':_0x5242ab});}_0x5242ab['ɵɵngDeclareClassMetadata']({'minVersion':_0x5d67ea(0x4b8),'version':_0x5d67ea(0x2e7),'ngImport':_0x5242ab,'type':UIPhoneNumberDirective,'decorators':[{'type':Directive,'args':[{'selector':'app-ui-input-phone-number'}]}],'ctorParameters':()=>[],'propDecorators':{'$inputElement':[{'type':_0x5242ab[_0x5d67ea(0x54a)],'args':['input',{'isSignal':!![]}]}]}});class UiInputSelectDirective extends UiInputDirective{['$items']=input[_0x5d67ea(0x4dd)](...ngDevMode?[{'debugName':'$items'}]:[]);['$isOpen']=signal(![],...ngDevMode?[{'debugName':_0x5d67ea(0x487)}]:[]);[_0x5d67ea(0x6c7)]=signal({'value':''},...ngDevMode?[{'debugName':_0x5d67ea(0x6c7)}]:[]);static [_0x5d67ea(0x48b)]=_0x5242ab[_0x5d67ea(0x1ec)]({'minVersion':_0x5d67ea(0x4b8),'version':_0x5d67ea(0x2e7),'ngImport':_0x5242ab,'type':UiInputSelectDirective,'deps':null,'target':_0x5242ab[_0x5d67ea(0x356)]['Directive']});static [_0x5d67ea(0x60a)]=_0x5242ab[_0x5d67ea(0x21b)]({'minVersion':_0x5d67ea(0x44f),'version':'21.1.1','type':UiInputSelectDirective,'isStandalone':!![],'selector':_0x5d67ea(0x26e),'inputs':{'$items':{'classPropertyName':'$items','publicName':_0x5d67ea(0x380),'isSignal':!![],'isRequired':!![],'transformFunction':null}},'usesInheritance':!![],'ngImport':_0x5242ab});}_0x5242ab[_0x5d67ea(0x50a)]({'minVersion':_0x5d67ea(0x4b8),'version':_0x5d67ea(0x2e7),'ngImport':_0x5242ab,'type':UiInputSelectDirective,'decorators':[{'type':Directive,'args':[{'selector':_0x5d67ea(0x26e)}]}],'propDecorators':{'$items':[{'type':_0x5242ab[_0x5d67ea(0x714)],'args':[{'isSignal':!![],'alias':_0x5d67ea(0x380),'required':!![]}]}]}});class UiInputSequenceDirective extends UiInputDirective{[_0x5d67ea(0x651)]=input(0x6,...ngDevMode?[{'debugName':_0x5d67ea(0x651)}]:[]);[_0x5d67ea(0x3e6)]=computed(()=>Array(this[_0x5d67ea(0x651)]())[_0x5d67ea(0x2a2)](''),...ngDevMode?[{'debugName':'$inputs'}]:[]);[_0x5d67ea(0x264)];[_0x5d67ea(0x452)](_0xa992c4,_0x17fa1e){const _0xe25392=_0x5d67ea,_0x58ea45={'BlIeQ':function(_0xeae2c2,_0x1c6749){return _0xeae2c2>_0x1c6749;},'otyut':function(_0x775256,_0x4d7414){return _0x775256-_0x4d7414;},'TZznc':function(_0x5f9bd0,_0x9a994a){return _0x5f9bd0!==_0x9a994a;},'Xatrw':_0xe25392(0x371),'ioTBO':function(_0x4c5752,_0x2d8930){return _0x4c5752+_0x2d8930;}},_0x387554=_0xa992c4[_0xe25392(0x21d)],_0x629a73=_0x387554[_0xe25392(0x3f5)];if(!/^\d+$/[_0xe25392(0x729)](_0x629a73)){_0x387554[_0xe25392(0x3f5)]='';return;}_0x58ea45[_0xe25392(0x1e6)](_0x629a73[_0xe25392(0x27b)],0x1)&&(_0x387554[_0xe25392(0x3f5)]=_0x629a73[_0xe25392(0x23c)](0x0)),_0x629a73&&_0x17fa1e<_0x58ea45[_0xe25392(0x67d)](this[_0xe25392(0x3e6)]()[_0xe25392(0x27b)],0x1)&&(_0x58ea45[_0xe25392(0x680)](_0x58ea45[_0xe25392(0x333)],_0xe25392(0x302))?this[_0xe25392(0x2cf)](_0x58ea45['ioTBO'](_0x17fa1e,0x1)):(this[_0xe25392(0x3d6)][_0xe25392(0x22f)](),this['shouldClose'][_0xe25392(0x673)]())),this[_0xe25392(0x557)]();}[_0x5d67ea(0x759)](_0x46294f){const _0x22ffc1=_0x5d67ea,_0x836476=_0x46294f[_0x22ffc1(0x21d)];_0x836476[_0x22ffc1(0x48c)](0x1,0x1);}[_0x5d67ea(0x4fc)](_0x2077c4,_0x397948){const _0x9b049f=_0x5d67ea,_0x3c9cd1={'xfuer':function(_0x60aad1,_0x4d2c50){return _0x60aad1-_0x4d2c50;},'QTifh':_0x9b049f(0x744),'klrIY':_0x9b049f(0x6f0),'EutRr':_0x9b049f(0x746),'doNLT':_0x9b049f(0x6fa),'lhCQZ':function(_0x509b42,_0x5dfadd){return _0x509b42===_0x5dfadd;},'VnTaX':function(_0x4f5efc,_0x3fff88){return _0x4f5efc===_0x3fff88;},'uNSVK':function(_0x3f9437,_0x5678f3){return _0x3f9437+_0x5678f3;},'ZsQZA':function(_0x25d72d,_0x2cc989){return _0x25d72d===_0x2cc989;},'AIaYU':'Backspace','kwxOk':function(_0x1105e5,_0x2e17ca){return _0x1105e5>_0x2e17ca;},'pmPUC':function(_0x5abf1e,_0x14f3a5){return _0x5abf1e===_0x14f3a5;},'caQjw':_0x9b049f(0x5d1),'MmCkb':function(_0x774264,_0x2040a5){return _0x774264-_0x2040a5;}},_0x2c2a39=[_0x3c9cd1[_0x9b049f(0x609)],_0x3c9cd1['klrIY'],_0x9b049f(0x45a),_0x3c9cd1[_0x9b049f(0x297)],_0x3c9cd1[_0x9b049f(0x531)],_0x9b049f(0x74f)];if(_0x2c2a39['includes'](_0x2077c4['key'])){_0x2077c4[_0x9b049f(0x258)]();_0x3c9cd1[_0x9b049f(0x5bf)](_0x2077c4[_0x9b049f(0x72f)],_0x3c9cd1[_0x9b049f(0x609)])&&this[_0x9b049f(0x2cf)](_0x397948-0x1);_0x3c9cd1[_0x9b049f(0x500)](_0x2077c4[_0x9b049f(0x72f)],_0x3c9cd1[_0x9b049f(0x303)])&&this['focusInput'](_0x3c9cd1[_0x9b049f(0x3c1)](_0x397948,0x1));return;}const _0x6455a8=_0x2077c4[_0x9b049f(0x21d)];_0x3c9cd1[_0x9b049f(0x758)](_0x2077c4[_0x9b049f(0x72f)],_0x3c9cd1[_0x9b049f(0x2ed)])&&!_0x6455a8[_0x9b049f(0x3f5)]&&_0x3c9cd1[_0x9b049f(0x26c)](_0x397948,0x0)&&(_0x3c9cd1[_0x9b049f(0x6d3)](_0x9b049f(0x5d1),_0x3c9cd1[_0x9b049f(0x39b)])?this['focusInput'](_0x3c9cd1[_0x9b049f(0x2c3)](_0x397948,0x1)):(this['popupInstances'][_0x3c9cd1[_0x9b049f(0x386)](this['popupInstances'][_0x9b049f(0x27b)],0x1)][_0x9b049f(0x72e)](),this[_0x9b049f(0x6ec)][_0x9b049f(0x4b9)](),!this[_0x9b049f(0x6ec)][_0x9b049f(0x27b)]&&this[_0x9b049f(0x725)]()));}[_0x5d67ea(0x2cf)](_0x4f31c2){const _0x8418c0=_0x5d67ea,_0xd68373=this[_0x8418c0(0x264)][_0x8418c0(0x715)]()[_0x4f31c2]?.[_0x8418c0(0x501)];if(_0xd68373)_0xd68373['focus']();}[_0x5d67ea(0x1eb)](_0x51b1a4,_0xceb28f){const _0x3c9680=_0x5d67ea,_0x18ec90={'pIwYs':function(_0xc6f81d,_0x337796){return _0xc6f81d+_0x337796;},'PwIDb':function(_0x4c44b7,_0x3751b0){return _0x4c44b7!==_0x3751b0;},'TdLLc':_0x3c9680(0x6f1),'JKgGy':'text','unJWk':'rZQZE','htLQx':function(_0x1f8879,_0x726b8f){return _0x1f8879===_0x726b8f;},'hVlZS':function(_0x188e37,_0x1e72e9){return _0x188e37-_0x1e72e9;}};_0x51b1a4['preventDefault']();const _0x18f5b0=_0x51b1a4['clipboardData']?.[_0x3c9680(0x54c)](_0x18ec90['JKgGy'])??'';if(!_0x18f5b0)return;const _0x377ff5=_0x18f5b0['replace'](/\D/g,''),_0x1bf531=this[_0x3c9680(0x264)][_0x3c9680(0x715)](),_0xc24706=_0x377ff5[_0x3c9680(0x6e6)](/\s+/g,'')[_0x3c9680(0x213)](''),_0x3bd84c=this[_0x3c9680(0x3e6)]()[_0x3c9680(0x27b)];_0xc24706[_0x3c9680(0x5cc)]((_0x125596,_0x2db94c)=>{const _0x2bea5b=_0x3c9680,_0x47dfe7=_0x18ec90[_0x2bea5b(0x367)](_0xceb28f,_0x2db94c);if(_0x47dfe7<_0x3bd84c){if(_0x18ec90['PwIDb'](_0x18ec90['TdLLc'],_0x18ec90['TdLLc']))return _0x4eba23[_0x2bea5b(0x622)]();else{const _0xe513f3=_0x1bf531[_0x47dfe7][_0x2bea5b(0x501)];_0xe513f3[_0x2bea5b(0x3f5)]=_0x125596;}}});const _0x535f14=_0x1bf531['findIndex'](_0x34f062=>_0x34f062[_0x3c9680(0x501)][_0x3c9680(0x3f5)]==='');if(_0x535f14!==-0x1){if(_0x18ec90[_0x3c9680(0x47c)]!==_0x18ec90[_0x3c9680(0x47c)]){const _0x444e59=this[_0x3c9680(0x23f)]()??new _0x2fb9c4(),_0x373527=_0x444e59[_0x3c9680(0x4f1)](),_0x47b92f=_0x444e59[_0x3c9680(0x2b4)](),_0x3c2ddb=_0x444e59[_0x3c9680(0x1fc)](),_0x38e345=[];for(let _0x1c8fbc=0x0;_0x1c8fbc<0x14;_0x1c8fbc++){const _0x2251de=_0x33ea30+_0x1c8fbc;_0x38e345[_0x3c9680(0x64a)]({'year':_0x2251de,'date':this[_0x3c9680(0x551)](_0x2251de,_0x373527,_0x47b92f),'isSelected':_0x2251de===_0x3c2ddb});}return _0x38e345;}else this['focusInput'](_0x535f14);}else{if(_0x18ec90[_0x3c9680(0x1e3)](_0x3c9680(0x600),_0x3c9680(0x599))){this['component']=_0x46d204;const _0x3af263=this[_0x3c9680(0x3de)][_0x3c9680(0x6b5)]()[_0x3c9680(0x4ac)](),_0x29a949=new _0xba55bc({'positionStrategy':_0x3af263});this[_0x3c9680(0x341)]=this[_0x3c9680(0x3de)][_0x3c9680(0x4f8)](_0x29a949),this['overlayRef']['attach'](new _0xd8652d(this[_0x3c9680(0x2b5)]));}else this[_0x3c9680(0x2cf)](_0x18ec90['hVlZS'](_0x3bd84c,0x1));}this[_0x3c9680(0x557)]();}[_0x5d67ea(0x557)](){const _0x1aa63d=_0x5d67ea,_0x39fdcc=this[_0x1aa63d(0x264)][_0x1aa63d(0x715)](),_0x2fbc3d=_0x39fdcc[_0x1aa63d(0x41e)](_0x50c75=>_0x50c75[_0x1aa63d(0x501)]['value'])['join']('');this[_0x1aa63d(0x315)](_0x2fbc3d);}static [_0x5d67ea(0x48b)]=_0x5242ab[_0x5d67ea(0x1ec)]({'minVersion':_0x5d67ea(0x4b8),'version':_0x5d67ea(0x2e7),'ngImport':_0x5242ab,'type':UiInputSequenceDirective,'deps':null,'target':_0x5242ab[_0x5d67ea(0x356)][_0x5d67ea(0x521)]});static ['ɵdir']=_0x5242ab[_0x5d67ea(0x21b)]({'minVersion':_0x5d67ea(0x44f),'version':_0x5d67ea(0x2e7),'type':UiInputSequenceDirective,'isStandalone':!![],'selector':_0x5d67ea(0x369),'inputs':{'$numberCells':{'classPropertyName':_0x5d67ea(0x651),'publicName':_0x5d67ea(0x651),'isSignal':!![],'isRequired':![],'transformFunction':null}},'viewQueries':[{'propertyName':'inputRefs','predicate':[_0x5d67ea(0x6e7)],'descendants':!![]}],'usesInheritance':!![],'ngImport':_0x5242ab});}_0x5242ab[_0x5d67ea(0x50a)]({'minVersion':_0x5d67ea(0x4b8),'version':'21.1.1','ngImport':_0x5242ab,'type':UiInputSequenceDirective,'decorators':[{'type':Directive,'args':[{'selector':_0x5d67ea(0x369)}]}],'propDecorators':{'$numberCells':[{'type':_0x5242ab[_0x5d67ea(0x714)],'args':[{'isSignal':!![],'alias':_0x5d67ea(0x651),'required':![]}]}],'inputRefs':[{'type':ViewChildren,'args':[_0x5d67ea(0x6e7)]}]}});class UiInputTimeDirective extends UiInputDirective{[_0x5d67ea(0x208)]=[_0x5d67ea(0x37f),_0x5d67ea(0x49b),_0x5d67ea(0x5fa),_0x5d67ea(0x324),_0x5d67ea(0x515),_0x5d67ea(0x59a),_0x5d67ea(0x32d),_0x5d67ea(0x3d2),'04:00',_0x5d67ea(0x227),'05:00','05:30',_0x5d67ea(0x216),_0x5d67ea(0x67c),_0x5d67ea(0x3e4),_0x5d67ea(0x28c),_0x5d67ea(0x527),_0x5d67ea(0x464),_0x5d67ea(0x201),_0x5d67ea(0x3dd),_0x5d67ea(0x59c),_0x5d67ea(0x641),_0x5d67ea(0x5bb),_0x5d67ea(0x46b),_0x5d67ea(0x2b2),_0x5d67ea(0x720),_0x5d67ea(0x33c),_0x5d67ea(0x2c0),_0x5d67ea(0x3f0),_0x5d67ea(0x514),_0x5d67ea(0x1db),_0x5d67ea(0x61d),_0x5d67ea(0x25a),'16:30',_0x5d67ea(0x560),'17:30',_0x5d67ea(0x4d3),_0x5d67ea(0x529),_0x5d67ea(0x5ff),_0x5d67ea(0x6dd),_0x5d67ea(0x36c),_0x5d67ea(0x377),_0x5d67ea(0x5d2),_0x5d67ea(0x33a),_0x5d67ea(0x43f),_0x5d67ea(0x485),_0x5d67ea(0x37a),_0x5d67ea(0x28a)];[_0x5d67ea(0x726)]=viewChild(_0x5d67ea(0x6e7),...ngDevMode?[{'debugName':'$inputElement'}]:[]);[_0x5d67ea(0x487)]=signal(![],...ngDevMode?[{'debugName':_0x5d67ea(0x487)}]:[]);['onInput'](_0x320cca){const _0x82454b=_0x5d67ea,_0x4161b6={'JlgwG':function(_0x1e2772,_0x13d082){return _0x1e2772===_0x13d082;},'gAoul':function(_0x56cd45,_0x30d12c){return _0x56cd45-_0x30d12c;},'oSNal':function(_0x225d69,_0x56103b){return _0x225d69/_0x56103b;},'BfePP':function(_0x1bb8ed,_0x64dae1){return _0x1bb8ed+_0x64dae1;},'QCkFz':function(_0x2aab7c,_0xbfce81){return _0x2aab7c/_0xbfce81;},'MjICE':function(_0x31df50,_0x5dd7a4){return _0x31df50*_0x5dd7a4;},'ZEifm':function(_0x361507,_0x195c6d){return _0x361507*_0x195c6d;},'wjTyH':function(_0x499b72,_0x2aef3f){return _0x499b72+_0x2aef3f;},'CIzCo':function(_0x22f680,_0x3cb4f5){return _0x22f680>_0x3cb4f5;},'npkJx':function(_0x460001,_0x30541a){return _0x460001!==_0x30541a;},'Yzkyf':_0x82454b(0x727),'OcNQh':'XmFQV','MNBpA':_0x82454b(0x5ee)},_0x58d26e=this[_0x82454b(0x726)]()?.[_0x82454b(0x501)];if(!_0x58d26e)return;const _0xc85c68=_0x58d26e[_0x82454b(0x624)],_0x4b5f21=_0x58d26e['selectionEnd'],_0x598ba9=_0x320cca,_0x140a84=this[_0x82454b(0x2db)](_0x598ba9),_0x34ab03=(_0x598ba9[_0x82454b(0x518)](/:/g)||[])['length'],_0x410ff0=(_0x140a84[_0x82454b(0x518)](/:/g)||[])[_0x82454b(0x27b)],_0x4bff20=_0x4161b6[_0x82454b(0x3d7)](_0x410ff0,_0x34ab03);super[_0x82454b(0x315)](_0x140a84),_0x58d26e[_0x82454b(0x3f5)]=_0x140a84;if(_0x4bff20){if(_0x4161b6[_0x82454b(0x431)](_0x82454b(0x4ec),_0x4161b6['Yzkyf']))_0x58d26e[_0x82454b(0x48c)](_0x140a84[_0x82454b(0x27b)],_0x140a84[_0x82454b(0x27b)]);else{const _0xab01c2=this['inputRefs'][_0x82454b(0x715)]()[_0x46f626]?.[_0x82454b(0x501)];if(_0xab01c2)_0xab01c2[_0x82454b(0x55a)]();}}else{if(_0x4161b6[_0x82454b(0x431)](_0x4161b6[_0x82454b(0x249)],_0x4161b6['MNBpA']))_0x58d26e['setSelectionRange'](_0xc85c68,_0x4b5f21);else{if(this['isPinching']&&_0x4161b6[_0x82454b(0x610)](_0x2d2f3d[_0x82454b(0x498)][_0x82454b(0x27b)],0x2)){_0x1a893f[_0x82454b(0x258)]();const [_0xa1a917,_0x512ce1]=_0x4031a1['touches'],_0xc5e6b4=_0x4b805e[_0x82454b(0x625)](_0x4161b6[_0x82454b(0x5c9)](_0x512ce1[_0x82454b(0x75f)],_0xa1a917[_0x82454b(0x75f)]),_0x512ce1[_0x82454b(0x4fe)]-_0xa1a917[_0x82454b(0x4fe)]),_0x40cece=_0x4161b6[_0x82454b(0x5c9)](_0xc5e6b4,this[_0x82454b(0x686)]);this['lastTouchDistance']=_0xc5e6b4;const _0xf492ba=_0x2ea0c9[_0x82454b(0x231)](),_0xb23d0d=_0x4161b6[_0x82454b(0x3e2)](_0x4161b6['BfePP'](_0xa1a917[_0x82454b(0x75f)],_0x512ce1['clientX']),0x2)-_0xf492ba['left'],_0x4fa5da=_0x4161b6[_0x82454b(0x1ee)](_0xa1a917['clientY']+_0x512ce1[_0x82454b(0x4fe)],0x2)-_0xf492ba[_0x82454b(0x3ee)];this[_0x82454b(0x3cb)]['x']=_0xb23d0d,this['pointer']['y']=_0x4fa5da,this[_0x82454b(0x21d)]['x']=_0x4161b6[_0x82454b(0x3e2)](_0x4161b6[_0x82454b(0x5c9)](this[_0x82454b(0x3cb)]['x'],this[_0x82454b(0x592)]['x']),this[_0x82454b(0x273)]),this['target']['y']=_0x4161b6['oSNal'](_0x4161b6[_0x82454b(0x5c9)](this[_0x82454b(0x3cb)]['y'],this[_0x82454b(0x592)]['y']),this[_0x82454b(0x273)]);const _0x27ad8e=0.005;this[_0x82454b(0x273)]+=_0x4161b6[_0x82454b(0x42b)](_0x40cece,_0x27ad8e)*this[_0x82454b(0x273)];const _0x587162=0x4,_0x59e634=0x1;this[_0x82454b(0x273)]=_0x5ea264['max'](_0x59e634,_0x1e8903['min'](_0x587162,this[_0x82454b(0x273)])),this[_0x82454b(0x592)]['x']=_0x4161b6[_0x82454b(0x65b)](-this[_0x82454b(0x21d)]['x'],this[_0x82454b(0x273)])+this[_0x82454b(0x3cb)]['x'],this['pos']['y']=_0x4161b6[_0x82454b(0x4c6)](_0x4161b6[_0x82454b(0x65b)](-this['target']['y'],this['scale']),this[_0x82454b(0x3cb)]['y']),this['setPosition'](),this[_0x82454b(0x421)][_0x82454b(0x330)]('translate('+this['pos']['x']+_0x82454b(0x67a)+this['pos']['y']+_0x82454b(0x755)+this[_0x82454b(0x273)]+')');}if(this['isTouchDragging']&&_0x4161b6['JlgwG'](_0x14e524[_0x82454b(0x498)][_0x82454b(0x27b)],0x1)){_0xcf0282[_0x82454b(0x258)]();const _0x3d4414=_0x43b9d0[_0x82454b(0x498)][0x0],_0x65ac8e=_0x4161b6[_0x82454b(0x5c9)](_0x3d4414[_0x82454b(0x75f)],this[_0x82454b(0x293)]),_0x211a9a=_0x3d4414[_0x82454b(0x4fe)]-this['lastTouchY'];this[_0x82454b(0x293)]=_0x3d4414[_0x82454b(0x75f)],this[_0x82454b(0x2c4)]=_0x3d4414[_0x82454b(0x4fe)],this[_0x82454b(0x592)]['x']+=_0x65ac8e,this[_0x82454b(0x592)]['y']+=_0x211a9a,this[_0x82454b(0x4ff)](),this[_0x82454b(0x421)][_0x82454b(0x330)]('translate('+this[_0x82454b(0x592)]['x']+_0x82454b(0x67a)+this[_0x82454b(0x592)]['y']+_0x82454b(0x755)+this[_0x82454b(0x273)]+')');}}}}[_0x5d67ea(0x2db)](_0x5b9a5b){const _0x3e2495=_0x5d67ea,_0x2349af={'FemGR':function(_0x44fa47,_0x273d96){return _0x44fa47===_0x273d96;},'kYHeq':'znzBO','najQW':function(_0x4a9a7f,_0x4f9fe2){return _0x4a9a7f(_0x4f9fe2);},'VjCCg':function(_0x2dfc7f,_0x70c925){return _0x2dfc7f>_0x70c925;},'YNpGl':function(_0x54a0b7,_0x11d998){return _0x54a0b7===_0x11d998;},'QtXCo':function(_0x4a8984,_0xa65614){return _0x4a8984(_0xa65614);},'yccSm':function(_0x1e46d2,_0x591e26){return _0x1e46d2>_0x591e26;},'LvPLD':function(_0x36d558,_0x1f0e82){return _0x36d558(_0x1f0e82);}};if(!_0x5b9a5b)return'';const _0x3294bb=_0x5b9a5b['replace'](/\D/g,'')['slice'](0x0,0x4),_0x37afae=_0x3294bb[_0x3e2495(0x27b)];if(_0x2349af[_0x3e2495(0x506)](_0x37afae,0x1))return _0x3294bb;if(_0x37afae===0x2){if(_0x2349af['kYHeq']!==_0x3e2495(0x574)){const _0x561526=new _0x58fed9(_0x390eb2);let _0x186a8f='';for(const _0x198119 of _0x4f534e){_0x186a8f=_0x561526['inputDigit'](_0x198119);}return _0x186a8f;}else{let _0x337ecc=_0x2349af[_0x3e2495(0x636)](Number,_0x3294bb[_0x3e2495(0x739)](0x0,0x2));if(_0x2349af[_0x3e2495(0x3b5)](_0x337ecc,0x17))_0x337ecc=0x17;return _0x337ecc[_0x3e2495(0x5ea)]()['padStart'](0x2,'0');}}if(_0x2349af['YNpGl'](_0x37afae,0x3)){let _0x3acfcf=_0x2349af[_0x3e2495(0x6b2)](Number,_0x3294bb[_0x3e2495(0x739)](0x0,0x2));if(_0x2349af[_0x3e2495(0x63b)](_0x3acfcf,0x17))_0x3acfcf=0x17;const _0x167163=_0x3294bb[0x2];return _0x3acfcf[_0x3e2495(0x5ea)]()[_0x3e2495(0x37b)](0x2,'0')+':'+_0x167163;}if(_0x37afae===0x4){let _0x48497a=_0x2349af[_0x3e2495(0x31c)](Number,_0x3294bb[_0x3e2495(0x739)](0x0,0x2)),_0x759bf=_0x2349af[_0x3e2495(0x31c)](Number,_0x3294bb[_0x3e2495(0x739)](0x2,0x4));return _0x48497a>0x17&&(_0x48497a=0x17),_0x759bf>0x3b&&(_0x759bf=0x3b),_0x48497a[_0x3e2495(0x5ea)]()[_0x3e2495(0x37b)](0x2,'0')+':'+_0x759bf['toString']()[_0x3e2495(0x37b)](0x2,'0');}return'';}static [_0x5d67ea(0x48b)]=_0x5242ab[_0x5d67ea(0x1ec)]({'minVersion':'12.0.0','version':_0x5d67ea(0x2e7),'ngImport':_0x5242ab,'type':UiInputTimeDirective,'deps':null,'target':_0x5242ab[_0x5d67ea(0x356)][_0x5d67ea(0x521)]});static [_0x5d67ea(0x60a)]=_0x5242ab[_0x5d67ea(0x21b)]({'minVersion':_0x5d67ea(0x20b),'version':_0x5d67ea(0x2e7),'type':UiInputTimeDirective,'isStandalone':!![],'selector':_0x5d67ea(0x6f2),'viewQueries':[{'propertyName':_0x5d67ea(0x726),'first':!![],'predicate':[_0x5d67ea(0x6e7)],'descendants':!![],'isSignal':!![]}],'usesInheritance':!![],'ngImport':_0x5242ab});}_0x5242ab[_0x5d67ea(0x50a)]({'minVersion':_0x5d67ea(0x4b8),'version':'21.1.1','ngImport':_0x5242ab,'type':UiInputTimeDirective,'decorators':[{'type':Directive,'args':[{'selector':'app-ui-input-time'}]}],'propDecorators':{'$inputElement':[{'type':_0x5242ab[_0x5d67ea(0x54a)],'args':['input',{'isSignal':!![]}]}]}});class UiValidationErrorsDirective{['$isError']=input(![],...ngDevMode?[{'debugName':_0x5d67ea(0x57f)}]:[]);[_0x5d67ea(0x52d)]=input['required'](...ngDevMode?[{'debugName':_0x5d67ea(0x52d)}]:[]);static [_0x5d67ea(0x48b)]=_0x5242ab['ɵɵngDeclareFactory']({'minVersion':'12.0.0','version':_0x5d67ea(0x2e7),'ngImport':_0x5242ab,'type':UiValidationErrorsDirective,'deps':[],'target':_0x5242ab['ɵɵFactoryTarget'][_0x5d67ea(0x521)]});static ['ɵdir']=_0x5242ab[_0x5d67ea(0x21b)]({'minVersion':_0x5d67ea(0x44f),'version':'21.1.1','type':UiValidationErrorsDirective,'isStandalone':!![],'selector':_0x5d67ea(0x4f3),'inputs':{'$isError':{'classPropertyName':_0x5d67ea(0x57f),'publicName':_0x5d67ea(0x57f),'isSignal':!![],'isRequired':![],'transformFunction':null},'$errors':{'classPropertyName':_0x5d67ea(0x52d),'publicName':_0x5d67ea(0x52d),'isSignal':!![],'isRequired':!![],'transformFunction':null}},'ngImport':_0x5242ab});}_0x5242ab[_0x5d67ea(0x50a)]({'minVersion':'12.0.0','version':_0x5d67ea(0x2e7),'ngImport':_0x5242ab,'type':UiValidationErrorsDirective,'decorators':[{'type':Directive,'args':[{'selector':_0x5d67ea(0x4f3)}]}],'propDecorators':{'$isError':[{'type':_0x5242ab[_0x5d67ea(0x714)],'args':[{'isSignal':!![],'alias':_0x5d67ea(0x57f),'required':![]}]}],'$errors':[{'type':_0x5242ab[_0x5d67ea(0x714)],'args':[{'isSignal':!![],'alias':_0x5d67ea(0x52d),'required':!![]}]}]}});export{Alert,AlertType,AppIconsLibrary,AutoFocusDirective,CenterEllipsisPipe,CountryService,DateUtils,EMAIL,HAS_CAPITAL_CASE,HAS_NUMBER,HAS_SMALL_CASE,HAS_SPECIAL_CHARTERS,HoverTipDirective,IconComponent,LazyImgDirective,MIN_LENGTH,MaskGradientDirective,StickyObserverDirective,ThemeService,TrackLifecycleDirective,UIInputDateDirective,UIPhoneNumberDirective,UiAccordionComponent,UiAlertMessagesService,UiAvatarDirective,UiButtonDirective,UiCodeDirective,UiCopyButtonDirective,UiDailyCalendarDirective,UiDropdownContainerDirective,UiDropdownService,UiFieldBaseDirective,UiImageDirective,UiInputCheckboxDirective,UiInputCountryDirective,UiInputDirective,UiInputSelectDirective,UiInputSequenceDirective,UiInputTimeDirective,UiMonthlyCalendarDirective,UiPaginationDirective,UiPopupBackdropDirective,UiPopupContainerDirective,UiPopupImageDirective,UiPopupInstance,UiPopupService,UiSelectButtonsDirective,UiTabsDirective,UiValidationErrorsDirective,UiYearlyCalendarDirective,emptyCountry,getAspectRatioFit,stringToHslColor};function _0x3e9e(){const _0x18dea3=['CurQAvm','D2vLA0rHExm','EenIthG','zgLZywjSzwq','AgfZqMfJA2rYB3a','qxvNDxn0','jgnHBLnOB3DjBwfNzq','rxvuCKu','DhLqwLi','jgnVBNrLBNq','vLPyDxy','Aw1Nw2XHENLtCMnD','C2nHBguOmcK','C2v0sw5WDxq','Cg9ZAxrPB25y','qKvTC0W','rNviAMC','phn2zW','D1zvrvG','y2XVC2vcEuLUzgv4','C21HBgW','z1vnB2O','Dg9WigXLzNq','Dg9Wrw5K','mte6mda','AKjSEge','uhL2sNq','q29UDgvUDenOAwXK','BgHduvO','C3ziDeO','z2v0qwn0AxzL','yxbWlxvPlwf2yxrHCG','jgn1CNnVCG','AgWY','q1fougq','jgnVBg9Y','v0T4twS','y2vUDgvY','z0fVDwW','jhnPEMvczwHHDMLVCG','rLDivLK','zM9YrwfJAa','sMfUDwfYEq','zgvZDhjVEufUAw1HDgLVBK9YAwDPBIq','rvHywui','jgLJB24','reTzyM8','mJe6mda','DM93uKC','rMT1qMe','vezVzfC','rKXjsva','Aw5MBW','C3vWCg9YDgvKuMvNAw9UCW','zgLYDhK','CxDuv2e','ic0G','vLvrtwO','wwfYv3G','DMrAzfK','C3vLEg8','wujfvvq','CKvwsfu','DgTRwMq','jg9UuMfUz2vtzwXLy3q','ru1iEMW','sw5Qzwn0B3i','tgjNy2e','jgn1CNjLBNrnB250Aa','zNiTy3a','AwnVBG','Dg9tDhjPBMC','ywXSia','rLDKALe','DePcvvG','BNb4EMS','v2HPAgm','jgLZuMfUz2vtzwXLy3rPB24','Dg9WignLBNrLCG','EvHssKy','zfrRuwm','zw50CMLLCW','m3WYFdb8mxW0','B3b0Aw9UCW','zw5Kt3jPz2LU','y2fSy3vSyxrLtw91C2vqB3nPDgLVBKfUAw1HDgLVBK9YAwDPBG','C2v0rgf0zq','mde6mda','zuD1sfi','t0rfsNi','D2jOwKq','Bw92zw1LBNry','mtK6mda','rfv2EgO','jgLTywDLv2LKDgG','uKvbAfK','AgWXmW','jhbVC2L0Aw9U','DfD5r1y','sxfgEey','Bgf6EvnLCNzPy2u','DgLWswq','uvrPzMG','YBvKAxi','yxbWlxvPlwLUChv0','y2D5y2e','BfbUtfC','D3zoAxi','sg1XwxC','sMXND0C','s0HOvNi','u3zpzK0','Aw5Uzxjive1m','sfvQzhy','w3rYywnRtgLMzwn5y2XLxq','qNzvtNK','s3PYreG','BLbnDxu','BgvMDcbJzw50zxi','vNz5vxi','jgHHC05LEhq','AgWX','mtu6mZa','suDPB0y','jgnHBLnOB3DbDMf0yxi','r3Dfvvy','EMPsAeu','AxnvC2feyxrLrM9YBwf0','CMvNAw9UtMfTzxm','C2vSzwn0Aw9Uu3rHCNq','AhLWB3q','quXnt1a','CgfYC2u','q2flwg8','jgXHBMD1ywDL','wKn2Ehe','oti0mJa3mgvpthnrCq','z3jHyG','zgL2','A1fJsuS','AfvrwNu','Du1xy1u','rLb4Ehy','BM1uvwq','vefyyum','BezuCgG','zMLUzeLUzgv4','BMfQuvC','yM90Dg9TihjPz2H0','BNb3Ag8','rxnJyxbL','vvfWDui','EwnJu20','Dhzfvve','zNn6t0O','BMDpBKrLC3rYB3K','BMDbzNrLCLzPzxDdAgvJA2vK','q29UDgvUDenOAwXKCMvU','mta6mZa','zK5RCgy','re9Lzfa','zhjVCerVD25tzxj2AwnL','vuXjv2y','Avf5C0W','C2v0t3jPz2LU','v2fsr3e','zNrYruK','ChvZAa','tePerNO','CvzltMW','Ee5Nzu8','vKfjC0u','vLrpveS','AMfJD2K','jg51BwjLCKnLBgXZ','rNvLCeu','qxDMCw4','DfH1Exy','tvLgq1m','yMX1CG','qvHdzMy','zgv0ywnOBwvUDhm','B2jZzxj2zxi','Aw5PDa','wKvPzM0','C3vIC2nYAwjL','thrVEvK','CMvWBgfJzufSBa','pgj1DhrVBIbJBgfZCZ0IyNv0Dg9UiIaOy2XPy2SPpsiKAxnpCgvUlNnLDcGHjgLZt3bLBIGPksi+dqOGidXUzY1JB250zw50ihnLBgvJDd0Iw2j1DhrVBL0IpJWVBMCTy29UDgvUDd4ncJWVyNv0Dg9UpG0kdqO8zgL2dqOGignSyxnZpsjJB250zw50iG0kicbBBMDtDhLSzv09iNSncIaGicbTyxHizwLNAhq6icrPC09Wzw4Oksa/icrJB250zw50sgvPz2H0kcKGoIaWicSGj3b4jYWncIaGicb0CMfUC2L0Aw9UoIaKDhjHBNnPDgLVBIGPla0kicaGig92zxjMBg93oIaKB3zLCMzSB3COksWncIaGFsincJ4ncIaGpgrPDIaJy29UDgfPBMvYpG0kicaGidXUzY1JB250zw50ihnLBgvJDd0Iw2nVBNrLBNrDiJ48l25NlwnVBNrLBNq+dqOGidWVzgL2pG0kpc9KAxy+dqO','C0veCNy','D3jPDgvuzxH0','EeTtBKW','uxPbreS','y3HsyMK','yxbWlxvPlwfJy29YzgLVBG','y2f0y2G','w2fWCef1Dg9gB2n1C10','AejwB2e','tKLItxy','CxDwuKS','tKHnyMm','DgnSENK','wNDovhC','C2v0q291BNrYEq','C3rYB2TL','BMDbzNrLCLzPzxDjBML0','y2vUDgvYrwXSAxbZAxm','yxv0B1nLDenVDw50CNK','y29TCgXLDgu','yKffBeW','B25tAg91BgrdBg9Zzq','AwnVBNm','zej5DxK','rKv5vxy','B0jVrMS','ChGS','AgfZqxr0ywnOzwrxAwr0Aa','mdy6mZa','B3r5Dxq','wwHdDM8','yMfJA2rYB3bqB3j0ywW','vfP6BMm','y3rYBeTLEq','yMXVy2S','mtHQAwrXsg0','ve9vzNi','CMvTB3zLuhjLDMLVDxm','BgfZDfrVDwnOrgLZDgfUy2u','uKDoyKm','quPSwvK','wLzNu0i','jhnOB3vSzezVy3vZ','C3jJ','tM12se0','rNn1DKS','tw1LzLi','AgvHza','AePQC3m','yxbWlxvPlwrYB3aTzg93BI1JB250ywLUzxi','D3jVAfy','AvnyqKC','y2XPCgjVyxjKrgf0yq','EMXnrgW','uMvUzgvYzxiY','B3bLBKf0tw91C2vqB3nPDgLVBG','zw4TDxmT','DhjHBNnMB3jTwsGTmJaLkq','rgDyrxm','Be5tBMO','zfLzr1K','yKPIveO','AgW0','C2v0uMfUz2veyxrLCW','zKjRyKO','DhLWzq','tvLYvfi','A2v5CW','CuTjvgC','q2nOCK8','v0fstKLorW','DhjHBNnMB3jT','DNbZyKi','BfbYq0u','twfYy2G','DhjHBNnSyxrLwsGXmdaLkq','jgn1CNjLBNrzzwfY','Avbvs0i','DxbKyxrLug9ZAxrPB24','Aw5WDxreAwDPDa','y3nZ','C3vJy2vZCY5ZDMC','uxryq28','AgLKzujHy2TKCM9W','AMDwzMC','Cg9ZAxrPB24','Cfn6Ahy','y2HLy2Tty3jVBgW','CMPKqwi','BgLUzwfYlwDYywrPzw50kdbKzwCSihjNyIGWidaGmcaVidaLksaWjsWGCMDIkdaGmcaWic8GmtaWjsKGmtaLkq','BMDpBKLUAxq','CgHVBMvqCMvMAxG','jhrLEhq','Aw5JBhvKzxm','lxDLyMTPDc1TyxnRlwLTywDL','y3jLyxrLtw91C2vqB3nPDgLVBLn0CMf0zwD5','v3PTDhC','DMz2sKK','CgnryNe','sfPNBw0','DgHLBG','Ahv5sfa','DvvOCe4','jhnLBgvJDgvKvMfSDwu','CwTbBLq','rxjYB3iGy29WEwLUzYb0zxH0oG','wLLvCxy','B25dB25ZDhj1y3rLza','z2v0vgLTzq','EfjHrfq','ALnlrwe','CgfYywDYyxbOlxnT','zgLYDhLdAgfUz2u','s3j1Cw4','Aw5UzxjizwLNAhq','Cg1qvum','EKjKz0q','BefWAe8','Evfqtwu','B25jBML0','nJHSCM9orfi','jgrLyM91BMnLvgLTzq','y29UBMvJDgvKug9ZAxrPB25Z','tunZCvq','y2XVC2vuAxa','mtK6mZa','y2XPzw50v2LKDgG','su5ssKe','B1biuNq','y29WEq','s2PeEK0','B25dAgfUz2vZ','oMHVC3r7zgLZCgXHEtPPBMXPBMuTyMXVy2S7BgLUzs1OzwLNAhq6mcfPBxbVCNrHBNr9oMHVC3qGoJPUzY1KzwvWic5ZDMCTAwnVBNTKAxnWBgf5oMLUBgLUzs1IBg9JAZTMB250lxnPEMu6Aw5OzxjPDdTOzwLNAhq6mwvTo3DPzhrOoJfLBtTVDMvYzMXVDZP2AxnPyMXLo3bVC2L0Aw9UoNjLBgf0AxzLo3zLCNrPy2fSlwfSAwDUoI0UmwvTFqO','Ewzzs2O','CMvWBgfJzq','Aw5WDxq','zefRCfu','B2fYuha','zM9ct0K','C2nYB2XSvg9W','Cg9WDxbjBNn0yw5Jzxm','q2L0Dxy','AhnSka','A3jZA2S','qxjYB3DsAwDODa','DfLVvfm','yxbWlxvPlwLUChv0lxrPBwu','ENjqCLa','y3PStuW','tKjgBfm','B1bru00','qM1gvxa','A1bKA3y','C3zNrgf0yq','sg9Tzq','mJuYntyYnfLsqLbTuW','q2Lxsee','ruzZqvC','rffov28','qurVEKC','jgLJB25dBg9ZzunOyw5Nzq','rLv4ywi','y291BNrYAwvZ','C3voBKW','C2nYB2XSsgvPz2H0','Bxznv3G','tKDjrxq','yxbWlxvPlwrHAwX5lwnHBgvUzgfY','r0fIvKG','C2XAuLu','wg9kB28','Aw5KzxG','lI4U','AxntDgf0AwncywnRzhjVCa','Du9cr1K','ugPuDve','qK5PAhy','DePhEMG','qLD2s2i','s0zWyuC','sw5WDxq','Dg9bCNjHEq','YBxjTw5NrgvJBgfYzvbPCgu','CfjUA08','EuLAC2O','YBvWCM92','CMvNzxHW','DhjHBNnSyxrLka','r2zgCKK','Dw5KzwzPBMvK','yNrVENm','Exv5uMe','mti6mZa','DwLqB3b1CfnLCNzPy2u','zgfmyK8','ANjZu3G','C0DRrLq','zgvZDhjVEq','jgLUChv0rwXLBwvUDa','r29bq3y','BLLnzNi','DgvZDa','t3jgvxG','z3jHyMjPBMC','rLHiCKi','rwH3EKC','y2XVC2u','A2v5','tM92zw1Izxi','A1HTwwW','tffID2y','BgvMDa','CgLWzq','jg9MzNnLDfK','Aw5PDgLHBfzHBhvL','AgW4','Dhj1BMm','C2XPy2u','zgrwqLm','vvDly2G','B1fQrKq','Aw5UzxjxAwr0Aa','DNvzzeK','DwLuywjZ','BwLU','yxbWlxvPlwnVChKTyNv0Dg9U','rKrzAvC','y0P5tLe','qxjYB3Dmzwz0','w1vPqwXLCNrnzxnZywDLC1nLCNzPy2vDiefSzxj0twvZC2fNzxndB21WB25LBNqGAgfZig5VDcbIzwvUigLUAxrPywXPEMvKlIa','qxjYB3DeB3DU','CMHjt0G','Cg96weO','jgHHC0nSB3nLqNv0Dg9U','zgvSDgfy','yxvyrw8','vhvL','jhnOB3vSzezVy3vZzwrbzNrLCLzPzxDjBML0','y2vUDgvYignLBNrLCG','rw5K','Cufdtgq','jhDPzhrO','q0juvxi','u1LIuLi','t1Dbuvi','ChGPihnJywXLka','rLrUCKq','uMjlwNy','wNnrwKe','B25dBgLJAW','AgWXma','v0PAwgC','jhbSywnLAg9SzgvY','B3v0C2LKzvbVAw50zxjfDMvUDhm','D2fYBMLUzW','y2XPzw50wa','BMfTzq','yxbWlxvPlxbHz2LUyxrPB24','zLHYrLi','C2XkthC','yuXky3G','AgW3','z2v0u3vWCg9YDgvKuMvNAw9UCW','qxnNs0S','jg92zxjMBg93sgLKzgvU','BuLzAMm','B25fCNjVCG','mtu6mda','y2XVC2vbBgW','DxbKyxrL','yMfJA2rYB3bszwy','ls1ZDgfYDc1VCMLNAw4','Dg9vChbLCKnHC2u','u1vdq0vtuW','yxbWlxvPlxbVChvWlwLTywDL','AhrmuxG','Dg9WihjPz2H0','yxbWlxvPlwnVzgu','qMXjzve','z0Tlywy','tgPkC3O','uuffs1K','sxrNwva','B25qyxn0zq','YBxjTw5NrgvJBgfYzuzHy3rVCNK','A2DcBNm','uunRrNO','C3vIC3rYAw5N','zM9YBwf0rgf0zq','zgf0ys1ZCMm','uNvbBe4','B1rWsM0','t3zLCMXHEq','B25bzNrLCLzPzxDjBML0','zMXLEgLIBgvdB25Uzwn0zwruBW','zw5KvhjHBNnPDgLVBG','z2v0q291BNrYEunVzgvgB3jszwDPB24','C2vSzwn0','shjfsem','EhL1qxO','z2v0rNvSBfLLyxi','sxDbD3C','CgHVBMvvDgLS','AufkwMq','mZaXndrwzxHpCwG','mdK6mda','rgvSB2u','q2j0DeS','AxnuB3vJAerYywDNAw5N','vLrXuuW','B25iB3zLCG','ugLWzq','DgLTzxm','Bu5oA0W','BwvZC2fNzq','mtCUmI4W','DwLeCM9Wzg93BLnLCNzPy2u','EK5YrNe','CLfkzfO','yxbWlxvPlxbVChvWlwnVBNrHAw5LCG','s0fzuvG','zgv0ywnO','EKvhAK0','C3bSAxq','EvbZshi','jgLZt3bLBKnOyw5Nzq','mdy6mda','te9rqvu','yvbmzLe','Efvuwhi','yw5PBwf0zs1PBG','YBxjTw5NrgvJBgfYzurPCMvJDgL2zq','tufpsgy','DgfYz2v0','yLDysg4','C3bLzwq','yM90Dg9TignLBNrLCG','jg92zxjMBg93','Evvtvxq','tM1KAMy','jhnYyW','uxDNBu8','qKTOCKy','mdq6mZa','zxjYB3jZ','A0TmsKi','y2XHC3nmAxn0','zLfuCeG','jhnOB3vSzenSB3nL','DhjHBNnSyxrLwsGWjsK','z2v0q29UzMLN','BMv4Da','yxbWlxvPlwzPzwXKlwjHC2u','z2v0qM91BMrPBMDdBgLLBNrszwn0','DgLWq29UDgfPBMvYuMvM','rgvZDhjVEvjLzG','D2HLzwW','y2XVC2vK','zur5rxG','qMPoCMi','AKrlB2O','C2v0u2L6zq','zgLZy29UBMvJDa','mZv1uMD3s0i','y2HHCKf0','uhbhsvu','t1b0uNC','jgrHDgu','y0zkENO','y2XPzw50sgvPz2H0','s29gr0K','tvLztMK','B0vUtxy','uKjhruC','wLPNDK0','B3bLBG','zvzgrgK','t2nouwG','jsWG','sLzbCwC','z2v5Bui','C3rPy2TLza','yxv0BW','jgjHy2TNCM91BMrdB2XVCG','zgXMuMu','r0HsrMq','wfPdyLG','uNH6z0C','A1Drquy','Bw91C2vKB3DU','C21wuKm','tw9U','ChjLDMvUDerLzMf1Bhq','y3jLyxrLug9ZAxrPB25tDhjHDgvNEq','mty6mda','tuDpCeq','zgvZDhjVEvjLzG','te1yshC','EvjbveW','s2vJrwS','zMLUza','q1vtve9n','Axntyw1Lrgf5','s3HbtMG','Aw5WDxrszwzZ','C2nHBguOmc40kq','Dg9Wu3rHCNq','mJu4mduZmuvvquzNyW','vurNq0q','tLLIvMO','yxbWlwLJB24','jg9Uu2vSzwn0','A3D4t2S','z2vUzxjHDgvnB250Ahm','yxbWlxvPlxnLBgvJDa','yxbWlxvPlwj1DhrVBG','jhnLBgvJDgvKvgfIsw5KzxG','Bw92zw1LBNrz','jgnVBNrLBNrizwLNAhq','C2nHBgu','otm0otGWwMLOBLvm','Ag1ev3e','D2LlC0m','z2v0rgf5u3rHDgu','AwnOExC','Cg9PBNrLCI1LDMvUDhm','nJGWmJa2mvbxEvrzvG','BgvUz3rO','CM9VDa','EwrKvKO','r0Hrt2W','vu1guvy','q1Lvwu8','jgrHDgvtDgfYDenOyw5Nzq','v2TADM0','u2vWDgvTyMvY','C2vHCMnOq291BNrYEq','zxjYB3i','CwXMvhK','Aej3tLq','jgr1CMf0Aw9Utxm','B25ezxn0CM95','mJm6mZa','yxr0ywnO','mdC6mZa','rw9JCgm','EufjtM8','jg92zxjMBg93tw9Kzq','qwPICMi','BM5Qs3u','serJEKe','BgfZDfrVDwnOwa','C2v0r3jHzgLLBNq','tMvNu0i','yM9KEq','rxv0uNi','zgvZDhjVEu91DhnPzgvdBgLJA1n1yNnJCMLWDgLVBIq','AM9YCeq','B05iwKq','w2fWCfvPvgfIC10','s3PNvxK','Be5ZC1G','DffKC3O','z0LxvM8','yLveCKe','y2XVC2vqCMv2Aw91CW','zMLSBa','DgLWq29UDgfPBMvYug9YDgfS','r2LUEwK','zxjYB3iUC3zN','Be14z3a','q05bCgu','YBvJBxa','yxbWlxvPlwLUChv0lwrHDgu','uNPiCem','EKzlBwe','YBxjTw5NrgvJBgfYzuLUAMvJDgfIBgu','yw5PBwf0Aw9Ut3b0Aw9UCW','CM91DgvY','BeDKzMi','v1bfthO','zNvJvNy','mti6mda','wevMwxi','z2v0rgf0zq','y29TCg9Uzw50','rxjYB3iH','BMDeB0nOzwnR','Cg9WDxbtzxj2AwnL','yM90Dg9T','CMvTB3zLqwXS','jhn3AxbLqNv0Dg9U','BxPfuu4','Aw5WDxrZ','D2vLA0rHExnfDxjVCgvHBG','zgfUz2vY','mtm6mZa','q2HHBMDLrgv0zwn0Aw9Uu3rYyxrLz3K','B1HqsNG','tw1dA2i','BgfZDfrVDwnOwq','rvH3ufO','sNvUzq','B25bzNrLCKnVBNrLBNrdAgvJA2vK','v2vK','CMTfB3O','z2v0t2jZzxj2zxi','v05jDLi','zMLSDgvY','rLf4CKO','qMrZA1K','zM9JDxnjBNb1Da','yunNtLq','BvzdD3m','zK5ptg0','swPRDMS','vNjMBeq','jgLZrw5HyMXLrMfKzufUAw1HDgLVBG','q2j3txG','BMDbzNrLCKnVBNrLBNrdAgvJA2vK','Bwf0y2HnzwrPyq','zvvvtwu','zgvZDhjVEvrPBwvYja','BwfZA1rPBwu','zNnhuhq','jgLZtg9HzgLUzW','mJq5mJrqENLWBMe','jgXHEw91DfnPEMu','AMHov1G','zgvSDgfz','yNLLsNe','C1rYtha','Aw5ZDgfUDa','CvDOwxG','yxbWlxvPlxbVChvWlwjHy2TKCM9W','mJeUms4X','vg5tuKC','tLPzqxC','y2PSvKq','tLDUB2O','DLnVC0K','quLHwvu','vgH1','rhLADKC','r2Tgq1q','zxnADKS','ru5bquG','tLHWCwG','CgfKzgLUzY14CW','wfjNufi','nhWYFdn8mxW1Fda','tM9Av3u','whneB1C','yMfJA2rYB3bqB3j0ywXszwy','ChP0z1a','Eu1psLG','sNzYtfG','BM9ty2fSAw5N','rK56DMe','vMLVtvO','rg9Tu2fUAxrPEMvY','A1Hkvg0','wKT2vhO','A2XYsvK','AxzVs2S','Bg9HzgLUzW','rgvJzw1Izxi','CNLczeO','D2n0wgi','Bw91C2v1Ca','BLbIExm','AezpwMm','zwXLBwvUDfjLzG','D2vLA0rHExnvC2e','y29UBMvJDgvKug9ZAxrPB24','z2fLrvm','suTSu0q','yvbgyLC','rLHVEM4','EwrYCNC','vMLsAhe','B25jBNb1Da','D25mB1O','DgHAwLK','zhbIq0q','wxjkEMe','CgXHDgzVCM1jza','DfbfrxC','thzqteq','Dg91y2HLzenOyw5Nzq','zu9yt04','BwfZA0rHDgu','ANbQseO','jhrHyNm','B1jkvMG','rLjlEKO','mde6mZa','C1Lhshe','yvrMtgC','uLbYtui','B3bLBKf0DgfJAgvK','rMvICNvHCNK','zM9YBwf0ugHVBMvoDw1Izxi','B25eB0nOzwnR','Cg9WDxbjBNn0yw5Jzq','mdm6mda','zgTMqKm','C3DPCgvcDxr0B24','C2v0','AgWXna','DuLdwNK','wgf0CNC','zePbtxi','r0vpz1q','DwrAqMi','B1vhEK8','zvLHu2u','sKXHu0q','mJe6mZa','zg9JDw1LBNq','mtm6mda','q2fSBcbGAw5PDcHbBgvYDe1LC3nHz2vZq29TCg9Uzw50kwaGzhvYAw5NigfWCgXPy2f0Aw9Uihn0yxj0DxaGkguUzY4GAw4GygfWCc5JB25MAwCUDhnGksb0BYbLBMfIBguGywXLCNqGCMvUzgvYAw5NlG','vwDyCvC','wujWuvu','z3zhB3a','B3zLCMXHEvjLzG','ExffsNO','jhn0EwXL','Dw5VyNnLCNzL','yw5PBwf0zs1VDxq','jg1VBNrOCW','whPxBKK','CLDTqum','AgWXmq','Bw91C2vTB3zL','B25bzNrLCKnVBNrLBNrjBML0','zMv0y2HqB3b1CfbHCMfTzxrLCNm','rhjyCfq','v21lqvu','D1LxrwG','rgLZCgXHEu5HBwvZ','vfj0z1G','vgPmDLu','wvb5Avy','ExzTsvG','jgLZu2HVDW','YBxjTuzHy3rVCNLuyxjNzxq','v1nQt1G','jgj1DhrVBKnOyw5Nzwq','uuvUrvm','ls1Szwz0lxn0yxj0','AwnVBKfWCa','ENjrDNC','AxndBg9ZzvbYzxzPB3vZ','DhjPBq','ugvqr0O','AxzNEhe','y2HHBMDL','EgX3ALy','z0jvuLa','AeXmwNG','EwzYwNC','CgfKzgLUzY1ZBq','CeL3wxm','A0XuAvG','yxbWlxvPlxnLCxvLBMnL','zMv0y2HeCM9Wrg93BLbHCMfTzxrLCNm','Dg91y2HLBMq','mJa6mda','y2rRlw92zxjSyxKTDhjHBNnWyxjLBNqTyMfJA2rYB3a','EM9VBs1PBG','twPhuhy','AxnjBNrLCNnLy3rPBMC','ruzoqNm','BhfJDxe','zgLZCg9Zzq','yxbWsg92zxjuAxbqB3nPDgLVBG','twfcuKu','r1PQt1O','mJa6mZa','DgvYDgLHCNK','wMfIvKC','mJm6mda','CgfKu3rHCNq','DxP1yKG','C2vUDgLUzwW','zeX1ANu','mda6mda','jgL0zw1Z','DgL0Bgu','zxmTy2u','DgHLBwvZ','z0jhB2G','B3zLCMzSB3CTEq','Egz1zxi','B3v0BgLUzq','ALPwyNq','ywn0AxzLvgHLBwu','C05jt1y','yLPdvK8','mxb4','BM8TC2nHBgLUzW','D2L0AfbVC2L0Aw9UCW','AhzuCNC','jgLZuM91BMrLza','BgvMDfn0yxj0','wKDvzMq','B2zMC2v0sgvPz2H0','AhDmr0q','DgrUEhe','CMvZB2X2zwrpChrPB25Z','Bfb2r20','C2v0u3r5Bgu','C2L6zq','z2vUzxjHDgvdywXLBMrHCG','y2frANC','yK1HsuC','ihzLy3rVCI1LzMzLy3q9iM5VBI1Zy2fSAw5Nlxn0CM9RzsiGC3rYB2TLlxDPzhrOpsi','rxHwz3e','AgW2','CxPnAvG','vK5cweq','zvrhr3K','jhnLBgvJDgvKqNv0Dg9Usw5KzxG','ALjNAgK','v2fYBMLUzYe','rNHMsNi','wxP1tK8','C2v0sxrLBq','CMrVqLK','tgPYz2m','y29UDgfPBMvY','qMH4zMS','AgHZAhK','jgnHBgvUzgfYrgf5CW','CvfAAum','z2v0q291BNrYEuj5q29Kzq','yKvmseG','EurptM0','y2rIEKK','s2fHuxi','vMPdq2C','y2HHCKnVzgvbDa','t2n0B2jLCG','C2nYB2XSv2LKDgG','q29TCg9Uzw50','C1fHywG','C3rHCNq','vwzvrxq','y2vUDgvYsg9YAxPVBNrHBgX5','BfzSsgi','BvPxDvC','y3jLyxrLug9WDxa','Du5tvKS','DhzpEwq','D1nzsxq','tLvtz1C','AxneCMfNz2LUzW','sMrLvvO','DgfI','C3rHCNruCMfUC2L0Aw9U','BMDtDhLSzq','YBxjTw5NrgvJBgfYzunVBxbVBMvUDa','Cg9PBNrLCG','zxDTALq','twf5','zMrwyNa','jgnVDw50CNLdB2rL','wvrdtha','AgW1','mdm6mZa','jgHLywrdB250zw50','Aw5PDfrVDwnOrxzLBNrZ','vwrdwuO','C2HVDwXKq2XVC2u','q0L6q28','CKnJCfG','A0L0u2S','zfzSv1a','y1D2ue8','yM9YzgvYlxjHzgL1CY1T','mdK6mZa','B3zLCMXHEq','CgLkANy','zw5K','zxzLBNrZ','B1noywW','Dw5ZDwjZy3jPyMu','mdC6mda','oMHVC3r7zgLZCgXHEtPIBg9JAZT3Awr0AdOXmdaLFs5IDxr0B257D2LKDgG6mtaWjtTJDxjZB3i6Cg9PBNrLCN0Uy29UDgvUDhT3Awr0AdOXmdaLo292zxjMBg93oMHPzgrLBJTTyxGTAgvPz2H0oMf1Dg99cG','jgLUChv0CW','tNvXtxG','C2nHBguOmsK','BhD0q0e','ufn2Cvi','DMXcBLm','B2D3swG','B0PxtvC','Dg9W','ChjPBwfYEq','mtq6mda','u09mD2e','C2GTywm','ywXSq291BNrYAwvZ','AxnpCgvU','DMfSDwu','sNvSEq','vNv2y00','AgWXmG','DgvTCgXHDgu','CNLuBwC','vg5zwKS','z2v0sw5ZDgfUy2u','YBvWAxbL','D3LhEKC','kg1HEc13Awr0AdOGndHYzw0P','svDAt0W','B25bzNrLCLzPzxDdAgvJA2vK','y29UDgvUDfDYyxbWzxi','q29UDhjVBa','rwXLBwvUDfjLzG','BwvKAxvT','zKDRDLG','y2HLy2TLza','rfLluNC','C2nYB2XSu3rYyxrLz2LLCW','qM1jy0u','EuPsrM0','C2nYB2XSlxbVC2L0Aw9U','rgXzy3y','jgfJCM9UEw0','jgHPzgvwywXPzgf0B3jfCNjVCNm','yxbWsg92zxjuAxbpzMzZzxry','jg1HEfDPzhrO','CMvUzgvYzxi','igLJB24GD2fZig5VDcbMB3vUza','rNrZq3u','zMXHz092zxjYAwrLCW','y2XPy2S','ls1Szwz0lwvUza','r2nwAuy','DM5hD0y','C3rHCNrZv2L0Aa','vhvQqvm','rM5lBfO','AgvPz2H0','BwfW','mtqUmc4W','u1rAv0S','jgLTywDLu3r5BgvuCMfUC2zVCM0','z2v0sxrLBq','D0ffwLu','zeTkDfq','jgrHDgvtDgfYDa','tNHUyNC','r0HrCMi','rhDKtuK','q0r4Bw0','t3v0Chv0','twPjq0u','sKLbA20','jgHHC1bYzxzPB3vZ','su5gtW','yxnZAwDU','D2LKDgG','BNbRsNG','DNPkzha','BfPJsey','Bfz6BeK','BuLytey','y2HLy2TLzenOyw5Nzq','jgLJB25dBg9Zzq','jgLZrgLZywjSzwq','rNjP','u2f0','yMH2tgG','Bgf6EvnYyW','yxbWsg92zxjuAxbpzMzZzxrz','Bg9JywXL','mJi6mda','Be5yt1K','rvLAvfq','BgfUz3vHz2u','CMLhzwu','yxbWsg92zxjuAxa','jgXHyMvS','jgfSAwDUBwvUDa','EgPHwvy','yw5PBwf0Aw9Ut3jPz2LUja','B2jQzwn0','AgvirgS','yuTgzwe','z1v6sgq','r3DdzgS','jgnVBNrHAw5LCG','mtCUms4W','Afzvthy','zgvZDhjVEurVD25SB2fKAw5Nja','B25jBNb1DfnLCxvLBMnL','v1zqENO','zMr4Dha','q2vSrva','sw5Qzwn0ywjSzq','rwz5q2K','C2GTDge','jgn1CNjLBNrzzwfYq2HHBMDL','qxjYB3DvCa','uMLTqw4','rLLQs0u','CLbdvNa','ue1uzxq','yNv0Dg9U','DMLZAwjSzq','jhrLEhrdB2XVCG','CwXys2O','DLfNugi','mdG6mZa','Bw91C2vSzwf2zq','C2nYB2XS','jhrLBxbSyxrLCW','phn2zYbJBgfZCZ0IC3zNlwLJB24Iia','CgfYzw50rwXLBwvUDa','EuLQB2W','mte6mZa','wgfmuMq','EKXOtfy','z2v0qxr0CMLIDxrL','C3bzAgK','AKnPv1e','BKT3sKy','CMvTB3zL','quLuyxi','jhb1BhnLvhjPz2DLCG','DvL0zMK','tezxue4','zfv3vgO','wxvxzfe','DvnZrwy','DLrSEe4','sMv1z3a','Dw5kv2S','rwfAwMS','u2nMvu0','Dgv4Da','C2v0qxr0CMLIDxrL','Bg9HzevYCM9Y','y29Kzq','DLbetfu','shzztgi','mJi6mZa','qNnxy0m','jgLZt3bLBG','uxHoA2q','vg9gCxK','Dezpsfa','YBvMywm','C2v0u2vSzwn0Aw9UuMfUz2u','twTlCMe','vK1jr0O','DNjPs2C','CwXmr1K','BMngyxK','CuXXvfm','ExvQENe','AM9PBG','C3rYB2TLlxDPzhrOpsi','CgLTtLa','rhLYzhi','Dg91y2HLCW','BgvMDevUza','z2XRCem','mda6mZa','A2v5Dxa','C3v5DLi','CM91BMrLza','AKH6u04','rvH4ve4','y29TCg9Uzw50sw5WDxrZ','runUqwS','yM91BMrPBMDdBgLLBNrszwn0','jgj1DhrVBNm','vujjCwK','jgLZq29WAwvK','vhjoEuu','tNbgBeq','y29UDgfPBMvYu2L6zsq','v1ruELi','yxbWlxvPlxLLyxjSEs1JywXLBMrHCG','z2XVyMfS','jhnOB3vSzenSB3nLq2HHBMDL','Aw52ywXPza','t25qDxnO','ywrK','wgTQy04','Aw1Hz2u','BKXwvxO','wgTKA1K','AvfsB2G','AxntzwXLy3rLza','uefOwKK','mtiUmc4W','Cg9W','A1nyCui','A2v5zg93BG','yxDOqMu','z2v0swnVBG','vKPIsu4','C3rVCfbYB3bHz2f0Aw9U','jgnVBNrLBNrxCMfWCgvY','CNjrq3y','CxPszwi','C2nHBguO','D0Tnsxy','Axnczxr3zwvU','D2PuEuG','ls1LBMq','uxfJzLO','Cg9ZAxrPB25z','ltfWEa','CMvZAxPLrgvIB3vUy2vuAw1LCG','z0nWuxa','vKjND1q','uxrMDuq','jgrHDgvfBMrdAgfUz2u','AxnqAw5JAgLUzW','jg9MzNnLDfG','vw5suwe','mtG6mda','AgWZ','rg5KwwS','jgLZt3v0BgLUzwq','BNLbuwu','u1nQBxu','B3bLBLrPCa','Bwf4','jgrHDgvfBMq','DvnyEfe','CMvXDwLYzwq','yxbWqxv0B0zVy3vZ','B2jvB20','u1HnBui','CMvTB3zLq2XHC3m','rxnJ','C3bSAwnL','BgLUzwfYlwDYywrPzw50kdbKzwCSihjNyIGWidaGmcaVideWmcuPidKWjsWGCMDIkdaGmcaWic8GmcuPideWmcuP','uuHoqva','rwL6u2y','y2fSy3vSyxrLtw91C2vqB3nPDgLVBKfKANvZDg1LBNq','qMznt1C','C2nHBguOmc44kq','jgnVzgu','uvrfAhK','wxHAy2O','CNLkyMK','B3bHy2L0Eq','C2fUAxrPEMvY','sgHbA0m','z2v0tw9UDgG','yM90Dg9TigXLzNq','yxbWlxvPlxzHBgLKyxrPB24TzxjYB3jZ','BMXbExy','y2XPCgjVyxjK','s3jnELq','Aw5Qzwn0B3i','y3jLyxrL','jhnPEMu','Bwf0y2HLCW','wfrmtuW','B25lzxLeB3DU','CKfnBeq','y2XPzw50wq','C2v0ug9ZAxrPB24','vM5uyvG','BMf0AxzLrwXLBwvUDa','C2LpzgK','ueDdBLO','sxHsAM0','BxfhvwO','rMvTr1i','r2TLEMe','AuvTwfq','AvzKzNG','YBxjTw5NrgvJBgfYzunSyxnZtwv0ywrHDge','Ag92zxiTDgLWlq','t0rPuhe','ENL1rM4','ywrKq2XHC3m','uhbYwKO','BM5Qr0u','w2fWCeHVDMvYvgLWxq','BxmGBgLUzwfY','EKD6wui','mtq6mZa','mdi6mda','B3nsuwC','veTtwuO','Bwf0y2G','C2HVD0jHy2TKCM9W','yxnpyNnLCNzHyMXL','Ag9ZDfjLzG','yxn2vxC','yxbWlxvPlw1VBNrOBhKTy2fSzw5Kyxi','CMLNAhqGDg9W','ve1Qr0O','z3bUCxu','rgLYzwn0AxzL','AfD3qwW','AxvJt0m','jg5LEhrdBgLJA2vK','y2XVC2vcEuLK','Ae1UCve','mdG6mda','jgHPz2HSAwDODgvKqxjYyxK','mtG6mZa','CgfKzgLUzW','yxblv0W','jgLZu2nYB2XSywjSzq','jgvYCM9YCW','u1jQCwi','CuLxC1e','ELbuuui','zg9otfq','rgHdwLm','C3vJy2vZCW','jhLLyxjZ','jgnSyxnZ','jgfUAw1HDgLVBLbHCMfTCW','yLjWqM0','B2jZzxj2zq','Dg91y2HTB3zL','CMLNAhqGyM90Dg9T','qKHtDue','ANflzfm','C2v0uhjVCgvYDhK','BgvMDcbIB3r0B20','C2nOzwr1Bgu','Bwf0y2HbBgW','C3rYB2TLrgLMzG','DxbKyxrLswnVBG','s0LnwLO','B21bve0','uKD5zgy','jhnLBgvJDgvKq291BNrYEq','jg1HEeHLAwDODa','v0TUv20','rwfvvhi','vMLLD0nOAwXK','zhbHCMe','z2v0rgf0yq','ls1LBMqTB3jPz2LU','zMv5tgC','jgfSzxj0CW','jgHVDMvYrgf0zq','y3jLyxrLu2fMzurHDgu','Ag9hsxq','yLvLzxm','jgn1CNjLBNrnB250AenOyw5Nzq','ls1ZDgfYDa','zNPRtNK','C2v0vMfSDwu','BMDbzNrLCKnVBNrLBNrjBML0','qvjQwM4','zM9JDxm','y2vUDgvYvMvYDgLJywXSEq','z2vUzxjHDgvzzwfYCW','twfzwKq','zw1PDa','jgrHDgvdAgfUz2u','mtC6mda','jhbYzxzPB3vZq2XPy2TLza','Dg91y2HLza','CMXHzMq','zNf6twq','Dg91y2HZDgfYDa','y2LiwM4','wujWvuS','AK5XChO','ywrQDxn0u3rYB2TLv2LKDgG','ALjRvve','qM1YreS','D2D5Aw8','whzQwKK','AgLKzgvU','qM9WqLq','s2rvEMC','BgLUzwfYlwDYywrPzw50kaOGicaGicaGicaGicaGidbKzwCScIaGicaGicaGicaGicaGCMDIkdaGmcaWic8GmcuPidaLlaOGicaGicaGicaGicaGihjNyIGWidaGmcaVideWmcuPideWjsWkicaGicaGicaGicaGicbYz2iOmcaWidaGlYaXmdaLksa5mcuScIaGicaGicaGicaGicaGCMDIkdaGmcaWic8GmcuPideWmcukicaGicaGicaGicaGkq','jgLTywDL','ChDJuuS','EM56qK8','yK5Pze4','zeLLAuW','y2L6q2S','CxHhDNi','yxbWlxvPlwLTywDL','BhHNv0W','thv5z0q','C3vIC2nYAwjLvg9pDxrZAwrLrxzLBNrZ','sw5MB3jTyxrPB24H','oMHVDMvY','jgLZrxjYB3i','AeTUB00','B3bLBLnJywXLzezYB21fBgvTzw50','jgLTywDLsgvPz2H0','Aw52ywXPzenOyw5Nzq','D21vCha','CxjSuhy','uxDJsMi','Aw5MB3jTyxrPB24','zKDbv3C','quvmu2i','rvjst1i','u3vU','u3P2vNu','zvHStfm','w21HCMThCMfKAwvUDerPCMvJDgL2zv0','t0vlzxO','Bwf4qK8','uM91DgvY','Cg9Z','jhnLBgvJDgvKvgfIsw5KzxHdAgfUz2u','ueLZrNy','B0LbyuO','su5NDe0','BeTwA2m','AeHPB08','Ee1mDxK','mdi6mZa','Dg9mB3DLCKnHC2u','mta6mda','C3r5Bgu','z2v0rgf5','B25bBMLTyxrPB25eB25L','rvnswvm','uMTJt3y','BMf2AwDHDg9Y'];_0x3e9e=function(){return _0x18dea3;};return _0x3e9e();}
1
+ import * as i0 from '@angular/core';
2
+ import { input, effect, Directive, Injectable, EventEmitter, Output, Input, PLATFORM_ID, Inject, Pipe, Attribute, ChangeDetectionStrategy, Component, model, signal, computed, viewChild, untracked, output, Injector, afterRenderEffect, contentChildren, contentChild, ViewChildren } from '@angular/core';
3
+ import { isPlatformBrowser, DOCUMENT, NgStyle } from '@angular/common';
4
+ import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
5
+ import { fromEvent, tap, debounceTime, asyncScheduler, Subscription, timer, switchMap, scheduled, filter, take, BehaviorSubject, Subject, takeUntil } from 'rxjs';
6
+ import * as i2 from '@angular/platform-browser';
7
+ import { PhoneNumberUtil, AsYouTypeFormatter } from 'google-libphonenumber';
8
+ import * as i1 from '@angular/cdk/overlay';
9
+ import { OverlayConfig, FlexibleConnectedPositionStrategy } from '@angular/cdk/overlay';
10
+ import { ComponentPortal } from '@angular/cdk/portal';
11
+ import * as i2$1 from '@angular/router';
12
+ import { NavigationEnd } from '@angular/router';
13
+ import { ulid } from 'ulid';
14
+
15
+ class DateUtils {
16
+ static parse(value, isUsaDateFormat = DateUtils.isUsaDateFormat()) {
17
+ if (!value)
18
+ return null;
19
+ const parts = value.split('/');
20
+ if (parts.length !== 3)
21
+ return null;
22
+ const [first, second, year] = parts.map(Number);
23
+ const month = isUsaDateFormat ? first : second;
24
+ const day = isUsaDateFormat ? second : first;
25
+ if (!day || !month || !year)
26
+ return null;
27
+ if (month < 1 || month > 12)
28
+ return null;
29
+ if (day < 1 || day > 31)
30
+ return null;
31
+ return new Date(year, month - 1, day);
32
+ }
33
+ static format(date, isUsaDateFormat = false) {
34
+ const d = String(date.getDate()).padStart(2, '0');
35
+ const m = String(date.getMonth() + 1).padStart(2, '0');
36
+ const y = date.getFullYear();
37
+ return isUsaDateFormat ? `${m}/${d}/${y}` : `${d}/${m}/${y}`;
38
+ }
39
+ static isUsaDateFormat() {
40
+ const localeFromIntl = Intl.DateTimeFormat().resolvedOptions().locale;
41
+ const localeFromNavigator = typeof navigator !== 'undefined' ? navigator.language : undefined;
42
+ const locale = (localeFromIntl || localeFromNavigator || '').toLowerCase();
43
+ return locale === 'en-us' || locale.startsWith('en-us-');
44
+ }
45
+ static setMonthSafe(date, month) {
46
+ const d = new Date(date);
47
+ const year = d.getFullYear();
48
+ const day = d.getDate();
49
+ const lastDay = new Date(year, month + 1, 0).getDate();
50
+ d.setDate(Math.min(day, lastDay));
51
+ d.setMonth(month);
52
+ return d;
53
+ }
54
+ }
55
+
56
+ class AutoFocusDirective {
57
+ el;
58
+ $shouldFocus = input.required({ debugName: 'appAutoFocus' });
59
+ constructor(el) {
60
+ this.el = el;
61
+ effect(() => {
62
+ if (this.$shouldFocus()) {
63
+ this.el.nativeElement.focus();
64
+ }
65
+ });
66
+ }
67
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: AutoFocusDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
68
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.1.1", type: AutoFocusDirective, isStandalone: true, selector: "[appAutoFocus]", inputs: { $shouldFocus: { classPropertyName: "$shouldFocus", publicName: "$shouldFocus", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0 });
69
+ }
70
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: AutoFocusDirective, decorators: [{
71
+ type: Directive,
72
+ args: [{
73
+ selector: '[appAutoFocus]',
74
+ }]
75
+ }], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { $shouldFocus: [{ type: i0.Input, args: [{ isSignal: true, alias: "$shouldFocus", required: true }] }] } });
76
+
77
+ class LazyImageService {
78
+ observer;
79
+ getObserver() {
80
+ if (!this.observer) {
81
+ this.observer = new IntersectionObserver((entries) => {
82
+ entries.forEach((entry) => {
83
+ const img = entry.target;
84
+ if (entry.isIntersecting) {
85
+ const src = img.getAttribute('data-src');
86
+ if (src)
87
+ img.src = src;
88
+ this.observer?.unobserve(img);
89
+ }
90
+ });
91
+ });
92
+ }
93
+ return this.observer;
94
+ }
95
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: LazyImageService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
96
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: LazyImageService, providedIn: 'root' });
97
+ }
98
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: LazyImageService, decorators: [{
99
+ type: Injectable,
100
+ args: [{ providedIn: 'root' }]
101
+ }] });
102
+
103
+ class LazyImgDirective {
104
+ el;
105
+ lazyService;
106
+ lazySrc;
107
+ loadError = new EventEmitter();
108
+ observer;
109
+ constructor(el, lazyService) {
110
+ this.el = el;
111
+ this.lazyService = lazyService;
112
+ }
113
+ onError() {
114
+ this.loadError.emit();
115
+ }
116
+ ngOnInit() {
117
+ const img = this.el.nativeElement;
118
+ if (!this.lazySrc || this.lazySrc.trim().length === 0) {
119
+ this.loadError.emit();
120
+ return;
121
+ }
122
+ img.addEventListener('error', this.onError);
123
+ img.setAttribute('data-src', this.lazySrc);
124
+ this.observer = this.lazyService.getObserver();
125
+ this.observer.observe(img);
126
+ }
127
+ ngOnDestroy() {
128
+ const img = this.el.nativeElement;
129
+ if (this.observer) {
130
+ this.observer.unobserve(img);
131
+ }
132
+ img.removeEventListener('error', this.onError);
133
+ }
134
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: LazyImgDirective, deps: [{ token: i0.ElementRef }, { token: LazyImageService }], target: i0.ɵɵFactoryTarget.Directive });
135
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.1.1", type: LazyImgDirective, isStandalone: true, selector: "img[lazySrc]", inputs: { lazySrc: "lazySrc" }, outputs: { loadError: "loadError" }, ngImport: i0 });
136
+ }
137
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: LazyImgDirective, decorators: [{
138
+ type: Directive,
139
+ args: [{
140
+ selector: 'img[lazySrc]',
141
+ }]
142
+ }], ctorParameters: () => [{ type: i0.ElementRef }, { type: LazyImageService }], propDecorators: { lazySrc: [{
143
+ type: Input
144
+ }], loadError: [{
145
+ type: Output
146
+ }] } });
147
+
148
+ class MaskGradientDirective {
149
+ elementRef;
150
+ destroyRef;
151
+ renderer;
152
+ platformId;
153
+ id = input.required(...(ngDevMode ? [{ debugName: "id" }] : []));
154
+ constructor(elementRef, destroyRef, renderer, platformId) {
155
+ this.elementRef = elementRef;
156
+ this.destroyRef = destroyRef;
157
+ this.renderer = renderer;
158
+ this.platformId = platformId;
159
+ }
160
+ ngAfterViewInit() {
161
+ fromEvent(this.elementRef.nativeElement, 'scroll')
162
+ .pipe(tap(() => {
163
+ this.setGradient();
164
+ }), debounceTime(300), tap(() => {
165
+ const el = this.elementRef.nativeElement;
166
+ const scrollTop = el.scrollTop;
167
+ if (isPlatformBrowser(this.platformId)) {
168
+ sessionStorage.setItem(this.id() + 'scroll-position', scrollTop.toString());
169
+ }
170
+ }), takeUntilDestroyed(this.destroyRef))
171
+ .subscribe();
172
+ if (isPlatformBrowser(this.platformId)) {
173
+ const scrollPosition = parseInt(sessionStorage.getItem(this.id() + 'scroll-position') ?? '0');
174
+ this.elementRef.nativeElement.scroll({ behavior: 'instant', top: scrollPosition });
175
+ }
176
+ if (isPlatformBrowser(this.platformId)) {
177
+ const resizeObserver = new ResizeObserver(() => {
178
+ asyncScheduler.schedule(() => {
179
+ this.setGradient();
180
+ });
181
+ });
182
+ resizeObserver.observe(this.elementRef.nativeElement);
183
+ this.destroyRef.onDestroy(() => resizeObserver.disconnect());
184
+ }
185
+ }
186
+ setGradient() {
187
+ const scrollTop = this.elementRef.nativeElement.scrollTop;
188
+ const scrollHeight = this.elementRef.nativeElement.scrollHeight;
189
+ const clientHeight = this.elementRef.nativeElement.clientHeight;
190
+ const atTop = scrollTop < 10;
191
+ const atBottom = scrollTop + clientHeight >= scrollHeight - 10;
192
+ let gradient = '';
193
+ if (atTop) {
194
+ gradient = `linear-gradient(0deg, rgb(0 0 0 / 0%) 0%, rgb(0 0 0 / 100%) 10%)`;
195
+ }
196
+ else if (atBottom) {
197
+ gradient = `linear-gradient(0deg, rgb(0 0 0 / 100%) 90%, rgb(0 0 0 / 0%) 100%)`;
198
+ }
199
+ else {
200
+ gradient = `linear-gradient(
201
+ 0deg,
202
+ rgb(0 0 0 / 0%) 0%,
203
+ rgb(0 0 0 / 100%) 10%,
204
+ rgb(0 0 0 / 100%) 90%,
205
+ rgb(0 0 0 / 0%) 100%
206
+ )`;
207
+ }
208
+ this.renderer.setStyle(this.elementRef.nativeElement, 'mask-image', gradient);
209
+ this.renderer.setStyle(this.elementRef.nativeElement, '-webkit-mask-image', gradient);
210
+ }
211
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: MaskGradientDirective, deps: [{ token: i0.ElementRef }, { token: i0.DestroyRef }, { token: i0.Renderer2 }, { token: PLATFORM_ID }], target: i0.ɵɵFactoryTarget.Directive });
212
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.1.1", type: MaskGradientDirective, isStandalone: true, selector: "[markGradientDirective]", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0 });
213
+ }
214
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: MaskGradientDirective, decorators: [{
215
+ type: Directive,
216
+ args: [{
217
+ selector: '[markGradientDirective]',
218
+ }]
219
+ }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.DestroyRef }, { type: i0.Renderer2 }, { type: undefined, decorators: [{
220
+ type: Inject,
221
+ args: [PLATFORM_ID]
222
+ }] }], propDecorators: { id: [{ type: i0.Input, args: [{ isSignal: true, alias: "id", required: true }] }] } });
223
+
224
+ class TrackLifecycleDirective {
225
+ onConstructed = new EventEmitter();
226
+ onChanges = new EventEmitter();
227
+ onInit = new EventEmitter();
228
+ onDoCheck = new EventEmitter();
229
+ onAfterContentInit = new EventEmitter();
230
+ onAfterContentChecked = new EventEmitter();
231
+ onAfterViewInit = new EventEmitter();
232
+ onAfterViewChecked = new EventEmitter();
233
+ onDestroy = new EventEmitter();
234
+ constructor() {
235
+ this.onConstructed.emit();
236
+ }
237
+ ngOnChanges(changes) {
238
+ this.onChanges.emit(changes);
239
+ }
240
+ ngOnInit() {
241
+ this.onInit.emit();
242
+ }
243
+ ngDoCheck() {
244
+ this.onDoCheck.emit();
245
+ }
246
+ ngAfterContentInit() {
247
+ this.onAfterContentInit.emit();
248
+ }
249
+ ngAfterContentChecked() {
250
+ this.onAfterContentChecked.emit();
251
+ }
252
+ ngAfterViewInit() {
253
+ this.onAfterViewInit.emit();
254
+ }
255
+ ngAfterViewChecked() {
256
+ this.onAfterViewChecked.emit();
257
+ }
258
+ ngOnDestroy() {
259
+ this.onDestroy.emit();
260
+ }
261
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: TrackLifecycleDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
262
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.1.1", type: TrackLifecycleDirective, isStandalone: true, selector: "[trackLifecycle]", outputs: { onConstructed: "onConstructed", onChanges: "onChanges", onInit: "onInit", onDoCheck: "onDoCheck", onAfterContentInit: "onAfterContentInit", onAfterContentChecked: "onAfterContentChecked", onAfterViewInit: "onAfterViewInit", onAfterViewChecked: "onAfterViewChecked", onDestroy: "onDestroy" }, usesOnChanges: true, ngImport: i0 });
263
+ }
264
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: TrackLifecycleDirective, decorators: [{
265
+ type: Directive,
266
+ args: [{
267
+ selector: '[trackLifecycle]',
268
+ }]
269
+ }], ctorParameters: () => [], propDecorators: { onConstructed: [{
270
+ type: Output
271
+ }], onChanges: [{
272
+ type: Output
273
+ }], onInit: [{
274
+ type: Output
275
+ }], onDoCheck: [{
276
+ type: Output
277
+ }], onAfterContentInit: [{
278
+ type: Output
279
+ }], onAfterContentChecked: [{
280
+ type: Output
281
+ }], onAfterViewInit: [{
282
+ type: Output
283
+ }], onAfterViewChecked: [{
284
+ type: Output
285
+ }], onDestroy: [{
286
+ type: Output
287
+ }] } });
288
+
289
+ class StickyObserverDirective {
290
+ elementRef;
291
+ renderer;
292
+ observer;
293
+ sentinel;
294
+ constructor(elementRef, renderer) {
295
+ this.elementRef = elementRef;
296
+ this.renderer = renderer;
297
+ }
298
+ ngAfterViewInit() {
299
+ const stickyEl = this.elementRef.nativeElement;
300
+ this.sentinel = this.renderer.createElement('div');
301
+ this.renderer.setStyle(this.sentinel, 'height', '1px');
302
+ this.renderer.setStyle(this.sentinel, 'margin-top', '-1px');
303
+ this.renderer.setStyle(this.sentinel, 'pointer-events', 'none');
304
+ this.renderer.setStyle(this.sentinel, 'opacity', '0');
305
+ const parent = stickyEl.parentElement;
306
+ parent.insertBefore(this.sentinel, stickyEl);
307
+ this.observer = new IntersectionObserver(([entry]) => {
308
+ const isStuck = entry.boundingClientRect.top < 0;
309
+ if (isStuck) {
310
+ this.renderer.addClass(stickyEl, 'sticked');
311
+ }
312
+ else {
313
+ this.renderer.removeClass(stickyEl, 'sticked');
314
+ }
315
+ }, { threshold: [1] });
316
+ this.observer.observe(this.sentinel);
317
+ }
318
+ ngOnDestroy() {
319
+ this.observer?.disconnect();
320
+ this.sentinel?.remove();
321
+ }
322
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: StickyObserverDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive });
323
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.1.1", type: StickyObserverDirective, isStandalone: true, selector: "[appStickyObserver]", ngImport: i0 });
324
+ }
325
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: StickyObserverDirective, decorators: [{
326
+ type: Directive,
327
+ args: [{
328
+ selector: '[appStickyObserver]',
329
+ }]
330
+ }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.Renderer2 }] });
331
+
332
+ class CenterEllipsisPipe {
333
+ transform(value, visibleStart = 4, visibleEnd = 4) {
334
+ if (!value) {
335
+ return '';
336
+ }
337
+ if (value.length <= visibleStart + visibleEnd) {
338
+ return value;
339
+ }
340
+ const start = value.slice(0, visibleStart);
341
+ const end = value.slice(-visibleEnd);
342
+ return `${start}...${end}`;
343
+ }
344
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: CenterEllipsisPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
345
+ static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "21.1.1", ngImport: i0, type: CenterEllipsisPipe, isStandalone: true, name: "centerEllipsis" });
346
+ }
347
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: CenterEllipsisPipe, decorators: [{
348
+ type: Pipe,
349
+ args: [{
350
+ name: 'centerEllipsis',
351
+ }]
352
+ }] });
353
+
354
+ function getAspectRatioFit(maxWidth, maxHeight, srcWidth, srcHeight) {
355
+ if (srcWidth && srcHeight) {
356
+ const ratio = Math.min(maxWidth / srcWidth, maxHeight / srcHeight);
357
+ return { width: srcWidth * ratio, height: srcHeight * ratio };
358
+ }
359
+ return { width: maxWidth, height: maxHeight };
360
+ }
361
+
362
+ function stringToHslColor(string, saturation = 100, lightness = 75) {
363
+ let hash = 0;
364
+ for (let i = 0; i < string.length; i++) {
365
+ hash = string.charCodeAt(i) + ((hash << 5) - hash);
366
+ hash = hash & hash;
367
+ }
368
+ return `hsl(${hash % 360}, ${saturation}%, ${lightness}%)`;
369
+ }
370
+
371
+ class AppIconsLibrary {
372
+ icons = new Map();
373
+ addIcon(icon, name) {
374
+ this.icons.set(name, icon
375
+ .replace('<svg', '<svg class="svg-icon" ')
376
+ .replace(/data-fill/g, 'fill')
377
+ .replace(/data-stroke/g, 'stroke'));
378
+ }
379
+ getIcon(name) {
380
+ const icon = this.icons.get(name);
381
+ if (!icon) {
382
+ console.error(`${name} icon was not found`);
383
+ return undefined;
384
+ }
385
+ return { svgData: icon, name };
386
+ }
387
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: AppIconsLibrary, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
388
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: AppIconsLibrary, providedIn: 'root' });
389
+ }
390
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: AppIconsLibrary, decorators: [{
391
+ type: Injectable,
392
+ args: [{ providedIn: 'root' }]
393
+ }] });
394
+
395
+ class IconComponent {
396
+ elementRef;
397
+ icons;
398
+ renderer;
399
+ sanitizer;
400
+ noScaling;
401
+ strokeDiff;
402
+ set icon(i) {
403
+ if (i !== this.iconApp) {
404
+ i = i || '';
405
+ const prev = this.iconApp;
406
+ this.iconApp = i;
407
+ this.updateIcon(i, prev);
408
+ }
409
+ }
410
+ iconApp = '';
411
+ constructor(elementRef, icons, renderer, sanitizer, noScaling, strokeDiff) {
412
+ this.elementRef = elementRef;
413
+ this.icons = icons;
414
+ this.renderer = renderer;
415
+ this.sanitizer = sanitizer;
416
+ this.noScaling = noScaling;
417
+ this.strokeDiff = strokeDiff;
418
+ }
419
+ updateIcon(current, previous) {
420
+ let rawSvg;
421
+ let currentClass = '';
422
+ const previousClass = typeof previous === 'object' ? previous.name : previous;
423
+ if (typeof current === 'object') {
424
+ rawSvg = current.svgData;
425
+ currentClass = current.name;
426
+ }
427
+ else {
428
+ currentClass = current;
429
+ rawSvg = this.icons.getIcon(current)?.svgData || '';
430
+ }
431
+ if (!rawSvg) {
432
+ return;
433
+ }
434
+ rawSvg = rawSvg
435
+ .replace('<svg', '<svg class="svg-icon" ')
436
+ .replace(/data-fill/g, 'fill')
437
+ .replace(/data-stroke/g, 'stroke');
438
+ if (this.noScaling) {
439
+ rawSvg = rawSvg.replace(/stroke-width="/g, ' vector-effect="non-scaling-stroke" stroke-width="');
440
+ }
441
+ else if (this.strokeDiff) {
442
+ rawSvg = this.adjustStrokeWidth(rawSvg, +this.strokeDiff);
443
+ }
444
+ this.renderer.setProperty(this.elementRef.nativeElement, 'innerHTML', rawSvg);
445
+ this.renderer.addClass(this.elementRef.nativeElement, 'icon');
446
+ if (previousClass) {
447
+ this.renderer.removeClass(this.elementRef.nativeElement, previousClass);
448
+ }
449
+ if (currentClass) {
450
+ this.renderer.addClass(this.elementRef.nativeElement, currentClass);
451
+ }
452
+ }
453
+ adjustStrokeWidth(svgString, strokeDiff) {
454
+ return svgString.replace(/stroke-width="([\d.]+)"/g, (_, n) => {
455
+ const updatedWidth = parseFloat(n) + strokeDiff;
456
+ return `stroke-width="${updatedWidth}"`;
457
+ });
458
+ }
459
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: IconComponent, deps: [{ token: i0.ElementRef }, { token: AppIconsLibrary }, { token: i0.Renderer2 }, { token: i2.DomSanitizer }, { token: 'no-scaling', attribute: true }, { token: 'stroke-diff', attribute: true }], target: i0.ɵɵFactoryTarget.Component });
460
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.1.1", type: IconComponent, isStandalone: true, selector: "app-icon", inputs: { icon: "icon" }, ngImport: i0, template: ``, isInline: true, styles: [":host{display:inline-block;line-height:0!important}:host ::ng-deep .svg-icon{display:inline-block;font-size:inherit;height:1em;width:1em;overflow:visible;position:relative;vertical-align:-.1em}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
461
+ }
462
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: IconComponent, decorators: [{
463
+ type: Component,
464
+ args: [{ selector: 'app-icon', template: ``, changeDetection: ChangeDetectionStrategy.OnPush, styles: [":host{display:inline-block;line-height:0!important}:host ::ng-deep .svg-icon{display:inline-block;font-size:inherit;height:1em;width:1em;overflow:visible;position:relative;vertical-align:-.1em}\n"] }]
465
+ }], ctorParameters: () => [{ type: i0.ElementRef }, { type: AppIconsLibrary }, { type: i0.Renderer2 }, { type: i2.DomSanitizer }, { type: undefined, decorators: [{
466
+ type: Attribute,
467
+ args: ['no-scaling']
468
+ }] }, { type: undefined, decorators: [{
469
+ type: Attribute,
470
+ args: ['stroke-diff']
471
+ }] }], propDecorators: { icon: [{
472
+ type: Input,
473
+ args: [{ required: true }]
474
+ }] } });
475
+
476
+ const HAS_NUMBER = /\d/;
477
+ const HAS_CAPITAL_CASE = /[A-Z]/;
478
+ const HAS_SMALL_CASE = /[a-z]/;
479
+ const HAS_SPECIAL_CHARTERS = /[ !@#$%^&*()_+\-=\[\]{};':"\\|,.<>\/?]/;
480
+ const MIN_LENGTH = /[A-Za-z\d/!@#$%^&*()_+\-=\[\]{};':"\\|,.<>\/?]{8,30}$/;
481
+ const EMAIL = /(\w+@[a-zA-Z_]+?\.[a-zA-Z]{2,9})/;
482
+
483
+ const emptyCountry = {
484
+ code: '',
485
+ name: '',
486
+ iso: '',
487
+ phonePrefix: '',
488
+ };
489
+ class CountryService {
490
+ static phoneUtil = PhoneNumberUtil.getInstance();
491
+ static flagOverrides = {
492
+ AC: 'sh-ac',
493
+ TA: 'sh-ta',
494
+ XK: 'xk',
495
+ EA: 'es-ce',
496
+ IC: 'es-cn',
497
+ CP: 'fr-cp',
498
+ DG: 'dg',
499
+ GG: 'gg',
500
+ JE: 'je',
501
+ IM: 'im',
502
+ CW: 'cw',
503
+ SX: 'sx',
504
+ MF: 'mf',
505
+ };
506
+ static supportedRegions = CountryService.phoneUtil.getSupportedRegions();
507
+ static regionNames = new Intl.DisplayNames(['en'], { type: 'region' });
508
+ static allCountries = CountryService.supportedRegions.map((code) => {
509
+ const name = CountryService.regionNames.of(code) ?? '';
510
+ const isoCode = (CountryService.flagOverrides[code] ?? code).toLowerCase();
511
+ const phonePrefix = '+' + CountryService.phoneUtil.getCountryCodeForRegion(code);
512
+ return {
513
+ code,
514
+ name: name,
515
+ iso: isoCode,
516
+ phonePrefix: phonePrefix,
517
+ };
518
+ });
519
+ static countries = CountryService.allCountries;
520
+ static formatPhoneNumber(raw, countryCode) {
521
+ const formatter = new AsYouTypeFormatter(countryCode);
522
+ let formatted = '';
523
+ for (const digit of raw) {
524
+ formatted = formatter.inputDigit(digit);
525
+ }
526
+ return formatted;
527
+ }
528
+ static getCountryByCode(code) {
529
+ return CountryService.countries.find((v) => v.code === code.toUpperCase());
530
+ }
531
+ }
532
+
533
+ /**
534
+ * ThemeService<T>
535
+ * A generic, type-safe service for managing and applying color themes.
536
+ *
537
+ * @template T - The shape of a theme object, typically defined by a shared interface.
538
+ */
539
+ class ThemeService {
540
+ document;
541
+ themes = {};
542
+ activeTheme;
543
+ constructor(document) {
544
+ this.document = document;
545
+ }
546
+ /**
547
+ * Initializes the theme system with a map of named themes and sets the active theme.
548
+ *
549
+ * @param themes - A record of theme names mapped to theme objects
550
+ * @param activeTheme - The name of the theme to activate initially
551
+ */
552
+ init(themes, activeTheme) {
553
+ this.themes = themes;
554
+ this.activeTheme = activeTheme;
555
+ this.update();
556
+ }
557
+ /**
558
+ * Returns the name of the currently active theme.
559
+ *
560
+ * @returns The active theme name
561
+ */
562
+ getActive() {
563
+ return this.activeTheme;
564
+ }
565
+ /**
566
+ * Sets a new active theme by name and applies its styles.
567
+ *
568
+ * @param name - The name of the theme to activate
569
+ */
570
+ set(name) {
571
+ this.activeTheme = name;
572
+ this.update();
573
+ }
574
+ /**
575
+ * Applies the current theme's styles to the document body using CSS variables.
576
+ */
577
+ update() {
578
+ const theme = this.themes[this.activeTheme];
579
+ Object.entries(theme).forEach(([key, value]) => {
580
+ this.document.body.style.setProperty(key, value);
581
+ });
582
+ }
583
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: ThemeService, deps: [{ token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable });
584
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: ThemeService, providedIn: 'root' });
585
+ }
586
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: ThemeService, decorators: [{
587
+ type: Injectable,
588
+ args: [{ providedIn: 'root' }]
589
+ }], ctorParameters: () => [{ type: Document, decorators: [{
590
+ type: Inject,
591
+ args: [DOCUMENT]
592
+ }] }] });
593
+
594
+ class UiAccordionComponent {
595
+ destroyRef;
596
+ platformId;
597
+ $isOpen = model(false, ...(ngDevMode ? [{ debugName: "$isOpen" }] : []));
598
+ $durationMs = input(300, ...(ngDevMode ? [{ debugName: "$durationMs" }] : []));
599
+ $contentHeight = signal('0', ...(ngDevMode ? [{ debugName: "$contentHeight" }] : []));
600
+ $transition = computed(() => `all ${this.$durationMs()}ms linear`, ...(ngDevMode ? [{ debugName: "$transition" }] : []));
601
+ $overflow = signal('hidden', ...(ngDevMode ? [{ debugName: "$overflow" }] : []));
602
+ $content = viewChild('container', ...(ngDevMode ? [{ debugName: "$content" }] : []));
603
+ resizeDebounceTimer = new Subscription();
604
+ constructor(destroyRef, platformId) {
605
+ this.destroyRef = destroyRef;
606
+ this.platformId = platformId;
607
+ effect(() => {
608
+ untracked(() => {
609
+ timer(this.$durationMs())
610
+ .pipe(tap(() => {
611
+ this.$overflow.set(this.$isOpen() ? 'visible' : 'hidden');
612
+ }), takeUntilDestroyed(this.destroyRef))
613
+ .subscribe();
614
+ });
615
+ });
616
+ }
617
+ ngAfterViewInit() {
618
+ this.setSize();
619
+ const content = this.$content();
620
+ if (content && isPlatformBrowser(this.platformId)) {
621
+ const resizeObserver = new ResizeObserver(() => {
622
+ this.resizeDebounceTimer.unsubscribe();
623
+ this.resizeDebounceTimer = asyncScheduler.schedule(() => {
624
+ this.setSize();
625
+ });
626
+ });
627
+ resizeObserver.observe(content.nativeElement);
628
+ this.destroyRef.onDestroy(() => resizeObserver.disconnect());
629
+ }
630
+ }
631
+ setSize() {
632
+ const content = this.$content();
633
+ if (content) {
634
+ const height = content.nativeElement.offsetHeight;
635
+ this.$contentHeight.set(height + 'px');
636
+ }
637
+ }
638
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: UiAccordionComponent, deps: [{ token: i0.DestroyRef }, { token: PLATFORM_ID }], target: i0.ɵɵFactoryTarget.Component });
639
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "21.1.1", type: UiAccordionComponent, isStandalone: true, selector: "app-ui-accordion", inputs: { $isOpen: { classPropertyName: "$isOpen", publicName: "$isOpen", isSignal: true, isRequired: false, transformFunction: null }, $durationMs: { classPropertyName: "$durationMs", publicName: "$durationMs", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { $isOpen: "$isOpenChange" }, viewQueries: [{ propertyName: "$content", first: true, predicate: ["container"], descendants: true, isSignal: true }], ngImport: i0, template: "<button class=\"button\" (click)=\"$isOpen.set(!$isOpen())\">\r\n <ng-content select=\"[button]\"></ng-content>\r\n</button>\r\n\r\n<div\r\n class=\"content\"\r\n [ngStyle]=\"{\r\n maxHeight: $isOpen() ? $contentHeight() : 0 + 'px',\r\n transition: $transition(),\r\n overflow: $overflow(),\r\n }\"\r\n>\r\n <div #container>\r\n <ng-content select=\"[content]\"></ng-content>\r\n </div>\r\n</div>\r\n", styles: [":host{display:block;width:100%}.button{width:100%;cursor:pointer}.content{width:100%;overflow:hidden;max-height:auto}\n"], dependencies: [{ kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
640
+ }
641
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: UiAccordionComponent, decorators: [{
642
+ type: Component,
643
+ args: [{ selector: 'app-ui-accordion', standalone: true, imports: [NgStyle], changeDetection: ChangeDetectionStrategy.OnPush, template: "<button class=\"button\" (click)=\"$isOpen.set(!$isOpen())\">\r\n <ng-content select=\"[button]\"></ng-content>\r\n</button>\r\n\r\n<div\r\n class=\"content\"\r\n [ngStyle]=\"{\r\n maxHeight: $isOpen() ? $contentHeight() : 0 + 'px',\r\n transition: $transition(),\r\n overflow: $overflow(),\r\n }\"\r\n>\r\n <div #container>\r\n <ng-content select=\"[content]\"></ng-content>\r\n </div>\r\n</div>\r\n", styles: [":host{display:block;width:100%}.button{width:100%;cursor:pointer}.content{width:100%;overflow:hidden;max-height:auto}\n"] }]
644
+ }], ctorParameters: () => [{ type: i0.DestroyRef }, { type: undefined, decorators: [{
645
+ type: Inject,
646
+ args: [PLATFORM_ID]
647
+ }] }], propDecorators: { $isOpen: [{ type: i0.Input, args: [{ isSignal: true, alias: "$isOpen", required: false }] }, { type: i0.Output, args: ["$isOpenChange"] }], $durationMs: [{ type: i0.Input, args: [{ isSignal: true, alias: "$durationMs", required: false }] }], $content: [{ type: i0.ViewChild, args: ['container', { isSignal: true }] }] } });
648
+
649
+ var AlertType;
650
+ (function (AlertType) {
651
+ AlertType["SUCCESS"] = "success";
652
+ AlertType["ERROR"] = "error";
653
+ AlertType["INFO"] = "information";
654
+ AlertType["WARNING"] = "warning";
655
+ AlertType["CUSTOM"] = "custom";
656
+ })(AlertType || (AlertType = {}));
657
+ class Alert {
658
+ id = ulid();
659
+ type = AlertType.SUCCESS;
660
+ title = '';
661
+ message = '';
662
+ icon = '';
663
+ component;
664
+ componentInputs;
665
+ constructor(init) {
666
+ Object.assign(this, init);
667
+ }
668
+ }
669
+
670
+ class UiAlertMessagesService {
671
+ overlay;
672
+ router;
673
+ $alerts = signal([], ...(ngDevMode ? [{ debugName: "$alerts" }] : []));
674
+ overlayRef;
675
+ component = null;
676
+ constructor(overlay, router) {
677
+ this.overlay = overlay;
678
+ this.router = router;
679
+ }
680
+ success(params) {
681
+ this.open(new Alert({
682
+ title: params.title ?? 'Success!',
683
+ type: AlertType.SUCCESS,
684
+ message: params.message,
685
+ icon: 'success.svg',
686
+ }));
687
+ }
688
+ error(params) {
689
+ this.open(new Alert({
690
+ title: params.title ?? 'Error!',
691
+ type: AlertType.ERROR,
692
+ message: params.message,
693
+ icon: 'error.svg',
694
+ }));
695
+ }
696
+ information(params) {
697
+ this.open(new Alert({
698
+ title: params.title ?? 'Information!',
699
+ type: AlertType.INFO,
700
+ message: params.message,
701
+ icon: 'info.svg',
702
+ }));
703
+ }
704
+ warning(params) {
705
+ this.open(new Alert({
706
+ title: params.title ?? 'Warning!',
707
+ type: AlertType.WARNING,
708
+ message: params.message,
709
+ icon: 'warning.svg',
710
+ }));
711
+ }
712
+ remove(alert) {
713
+ timer(250)
714
+ .pipe(tap(() => {
715
+ this.$alerts.set(this.$alerts().filter((x) => x !== alert));
716
+ }), switchMap(() => {
717
+ if (!this.$alerts().length) {
718
+ return timer(250).pipe(tap(() => {
719
+ this.overlayRef?.detach();
720
+ }));
721
+ }
722
+ return scheduled([0], asyncScheduler);
723
+ }))
724
+ .subscribe();
725
+ }
726
+ removeAll() {
727
+ this.$alerts.set([]);
728
+ timer(250)
729
+ .pipe(tap(() => {
730
+ this.overlayRef?.detach();
731
+ }))
732
+ .subscribe();
733
+ }
734
+ init(component) {
735
+ this.component = component;
736
+ const strategy = this.overlay.position().global();
737
+ const config = new OverlayConfig({
738
+ positionStrategy: strategy,
739
+ });
740
+ this.overlayRef = this.overlay.create(config);
741
+ this.overlayRef.attach(new ComponentPortal(this.component));
742
+ }
743
+ open(alert) {
744
+ if (!this.component) {
745
+ throw new Error('[UiAlertMessagesService] AlertMessagesComponent has not been initialized. ' +
746
+ 'Call `init(AlertMessagesComponent)` during application startup (e.g. in `app.config.ts`) to enable alert rendering.');
747
+ }
748
+ if (!this.$alerts().length) {
749
+ this.init(this.component);
750
+ }
751
+ this.router.events
752
+ .pipe(filter((v) => v instanceof NavigationEnd), tap(() => {
753
+ this.removeAll();
754
+ }), take(1))
755
+ .subscribe();
756
+ this.$alerts.set([...this.$alerts(), alert]);
757
+ timer(10000)
758
+ .pipe(tap(() => {
759
+ this.remove(alert);
760
+ }))
761
+ .subscribe();
762
+ }
763
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: UiAlertMessagesService, deps: [{ token: i1.Overlay }, { token: i2$1.Router }], target: i0.ɵɵFactoryTarget.Injectable });
764
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: UiAlertMessagesService, providedIn: 'root' });
765
+ }
766
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: UiAlertMessagesService, decorators: [{
767
+ type: Injectable,
768
+ args: [{
769
+ providedIn: 'root',
770
+ }]
771
+ }], ctorParameters: () => [{ type: i1.Overlay }, { type: i2$1.Router }] });
772
+
773
+ class UiAvatarDirective {
774
+ $class = input.required(...(ngDevMode ? [{ debugName: "$class" }] : []));
775
+ $src = input.required(...(ngDevMode ? [{ debugName: "$src" }] : []));
776
+ $acronym = input.required(...(ngDevMode ? [{ debugName: "$acronym" }] : []));
777
+ $backgroundColor = signal('', ...(ngDevMode ? [{ debugName: "$backgroundColor" }] : []));
778
+ $textColor = signal('', ...(ngDevMode ? [{ debugName: "$textColor" }] : []));
779
+ $text = signal('', ...(ngDevMode ? [{ debugName: "$text" }] : []));
780
+ $canShowAvatar = signal(true, ...(ngDevMode ? [{ debugName: "$canShowAvatar" }] : []));
781
+ constructor() {
782
+ effect(() => {
783
+ let acronym = '';
784
+ this.$acronym()
785
+ .split(' ')
786
+ .forEach((v) => {
787
+ acronym = acronym + v[0];
788
+ });
789
+ this.$backgroundColor.set(stringToHslColor(this.$acronym(), 100, 85));
790
+ this.$textColor.set(stringToHslColor(this.$acronym(), 100, 35));
791
+ this.$text.set(acronym);
792
+ });
793
+ }
794
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: UiAvatarDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
795
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.1.1", type: UiAvatarDirective, isStandalone: true, selector: "app-ui-avatar", inputs: { $class: { classPropertyName: "$class", publicName: "$class", isSignal: true, isRequired: true, transformFunction: null }, $src: { classPropertyName: "$src", publicName: "$src", isSignal: true, isRequired: true, transformFunction: null }, $acronym: { classPropertyName: "$acronym", publicName: "$acronym", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0 });
796
+ }
797
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: UiAvatarDirective, decorators: [{
798
+ type: Directive,
799
+ args: [{
800
+ selector: 'app-ui-avatar',
801
+ }]
802
+ }], ctorParameters: () => [], propDecorators: { $class: [{ type: i0.Input, args: [{ isSignal: true, alias: "$class", required: true }] }], $src: [{ type: i0.Input, args: [{ isSignal: true, alias: "$src", required: true }] }], $acronym: [{ type: i0.Input, args: [{ isSignal: true, alias: "$acronym", required: true }] }] } });
803
+
804
+ class UiDailyCalendarDirective {
805
+ weekDaysEuropean = ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'];
806
+ weekDaysUsa = ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'];
807
+ $isRangeSelection = input(false, ...(ngDevMode ? [{ debugName: "$isRangeSelection" }] : []));
808
+ get weekDays() {
809
+ return this.isUsaDateFormat() ? this.weekDaysUsa : this.weekDaysEuropean;
810
+ }
811
+ $dateStart = model(null, ...(ngDevMode ? [{ debugName: "$dateStart" }] : []));
812
+ $dateEnd = model(null, ...(ngDevMode ? [{ debugName: "$dateEnd" }] : []));
813
+ $hoverDate = signal(null, ...(ngDevMode ? [{ debugName: "$hoverDate" }] : []));
814
+ $currentMonth = model.required(...(ngDevMode ? [{ debugName: "$currentMonth" }] : []));
815
+ $currentYear = model.required(...(ngDevMode ? [{ debugName: "$currentYear" }] : []));
816
+ $onRangeSelect = output();
817
+ $onSelect = output();
818
+ $calendarDays = computed(() => {
819
+ const year = this.$currentYear();
820
+ const month = this.$currentMonth();
821
+ return this.generateCalendar(month, year);
822
+ }, ...(ngDevMode ? [{ debugName: "$calendarDays" }] : []));
823
+ generateCalendar(month, year) {
824
+ const firstDayOfMonth = new Date(year, month, 1);
825
+ const nativeStartDayOfWeek = firstDayOfMonth.getDay();
826
+ const startDayOfWeek = this.isUsaDateFormat()
827
+ ? nativeStartDayOfWeek
828
+ : nativeStartDayOfWeek === 0
829
+ ? 6
830
+ : nativeStartDayOfWeek - 1;
831
+ const daysInMonth = new Date(year, month + 1, 0).getDate();
832
+ const daysInPrevMonth = new Date(year, month, 0).getDate();
833
+ const days = [];
834
+ for (let i = startDayOfWeek - 1; i >= 0; i--) {
835
+ const day = daysInPrevMonth - i;
836
+ const newDate = new Date(year, month - 1, day);
837
+ days.push({
838
+ date: newDate,
839
+ ...this.getDayState(newDate),
840
+ inCurrentMonth: false,
841
+ });
842
+ }
843
+ for (let d = 1; d <= daysInMonth; d++) {
844
+ const newDate = new Date(year, month, d);
845
+ days.push({
846
+ date: newDate,
847
+ ...this.getDayState(newDate),
848
+ inCurrentMonth: true,
849
+ });
850
+ }
851
+ const totalCells = 42;
852
+ let nextDay = 1;
853
+ while (days.length < totalCells) {
854
+ const newDate = new Date(year, month + 1, nextDay++);
855
+ days.push({
856
+ date: newDate,
857
+ ...this.getDayState(newDate),
858
+ inCurrentMonth: false,
859
+ });
860
+ }
861
+ return days;
862
+ }
863
+ isSameDay(a, b) {
864
+ if (!a || !b)
865
+ return false;
866
+ return a.getFullYear() === b.getFullYear() && a.getMonth() === b.getMonth() && a.getDate() === b.getDate();
867
+ }
868
+ isBetween(date, start, end) {
869
+ if (!start || !end)
870
+ return false;
871
+ const d = new Date(date.getFullYear(), date.getMonth(), date.getDate()).getTime();
872
+ const s = new Date(start.getFullYear(), start.getMonth(), start.getDate()).getTime();
873
+ const e = new Date(end.getFullYear(), end.getMonth(), end.getDate()).getTime();
874
+ return d > s && d < e;
875
+ }
876
+ getDayState(date) {
877
+ const hover = this.$hoverDate();
878
+ const start = this.$dateStart();
879
+ const end = this.$dateEnd();
880
+ if (!this.$isRangeSelection()) {
881
+ return {
882
+ isSelected: this.isSameDay(start, date),
883
+ isStart: false,
884
+ isEnd: false,
885
+ inRange: false,
886
+ inHoverRange: false,
887
+ };
888
+ }
889
+ // Range mode
890
+ const isStart = this.isSameDay(start, date);
891
+ const isEnd = this.isSameDay(end, date);
892
+ const inRange = this.isBetween(date, start, end);
893
+ let inHoverRange = false;
894
+ if (start && !end && hover) {
895
+ const d = date.getTime();
896
+ const s = start.getTime();
897
+ const h = hover.getTime();
898
+ if (h > s) {
899
+ inHoverRange = d > s && d <= h;
900
+ }
901
+ }
902
+ const isSingleSelected = this.isSameDay(start, date) || this.isSameDay(end, date);
903
+ const isSelected = isStart || isEnd || (!end && isStart) || isSingleSelected;
904
+ return { isSelected, isStart, isEnd, inRange, inHoverRange };
905
+ }
906
+ onHover(date, inHoverRange) {
907
+ if (inHoverRange) {
908
+ return;
909
+ }
910
+ const rangeStart = this.$dateStart();
911
+ const rangeEnd = this.$dateEnd();
912
+ if (!date) {
913
+ this.$hoverDate.set(null);
914
+ return;
915
+ }
916
+ if (!this.$isRangeSelection()) {
917
+ return;
918
+ }
919
+ if (!rangeStart || rangeEnd) {
920
+ return;
921
+ }
922
+ if (date.getTime() < rangeStart.getTime()) {
923
+ this.$hoverDate.set(null);
924
+ return;
925
+ }
926
+ this.$hoverDate.set(date);
927
+ }
928
+ isUsaDateFormat() {
929
+ return DateUtils.isUsaDateFormat();
930
+ }
931
+ select(date) {
932
+ this.$hoverDate.set(null);
933
+ if (!this.$isRangeSelection()) {
934
+ this.$dateStart.set(date);
935
+ this.$onSelect.emit(date);
936
+ return;
937
+ }
938
+ const start = this.$dateStart();
939
+ const end = this.$dateEnd();
940
+ if (!start || (start && end)) {
941
+ this.$dateStart.set(date);
942
+ this.$dateEnd.set(null);
943
+ this.$onRangeSelect.emit({ start: date, end: null });
944
+ return;
945
+ }
946
+ if (start && !end) {
947
+ const clicked = new Date(date.getFullYear(), date.getMonth(), date.getDate()).getTime();
948
+ const s = new Date(start.getFullYear(), start.getMonth(), start.getDate()).getTime();
949
+ if (clicked < s) {
950
+ this.$dateStart.set(date);
951
+ this.$onRangeSelect.emit({ start: date, end: null });
952
+ return;
953
+ }
954
+ this.$dateEnd.set(date);
955
+ this.$onRangeSelect.emit({ start: this.$dateStart(), end: date });
956
+ return;
957
+ }
958
+ }
959
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: UiDailyCalendarDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
960
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.1.1", type: UiDailyCalendarDirective, isStandalone: true, selector: "app-ui-daily-calendar", inputs: { $isRangeSelection: { classPropertyName: "$isRangeSelection", publicName: "$isRangeSelection", isSignal: true, isRequired: false, transformFunction: null }, $dateStart: { classPropertyName: "$dateStart", publicName: "$dateStart", isSignal: true, isRequired: false, transformFunction: null }, $dateEnd: { classPropertyName: "$dateEnd", publicName: "$dateEnd", isSignal: true, isRequired: false, transformFunction: null }, $currentMonth: { classPropertyName: "$currentMonth", publicName: "$currentMonth", isSignal: true, isRequired: true, transformFunction: null }, $currentYear: { classPropertyName: "$currentYear", publicName: "$currentYear", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { $dateStart: "$dateStartChange", $dateEnd: "$dateEndChange", $currentMonth: "$currentMonthChange", $currentYear: "$currentYearChange", $onRangeSelect: "$onRangeSelect", $onSelect: "$onSelect" }, ngImport: i0 });
961
+ }
962
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: UiDailyCalendarDirective, decorators: [{
963
+ type: Directive,
964
+ args: [{
965
+ selector: 'app-ui-daily-calendar',
966
+ }]
967
+ }], propDecorators: { $isRangeSelection: [{ type: i0.Input, args: [{ isSignal: true, alias: "$isRangeSelection", required: false }] }], $dateStart: [{ type: i0.Input, args: [{ isSignal: true, alias: "$dateStart", required: false }] }, { type: i0.Output, args: ["$dateStartChange"] }], $dateEnd: [{ type: i0.Input, args: [{ isSignal: true, alias: "$dateEnd", required: false }] }, { type: i0.Output, args: ["$dateEndChange"] }], $currentMonth: [{ type: i0.Input, args: [{ isSignal: true, alias: "$currentMonth", required: true }] }, { type: i0.Output, args: ["$currentMonthChange"] }], $currentYear: [{ type: i0.Input, args: [{ isSignal: true, alias: "$currentYear", required: true }] }, { type: i0.Output, args: ["$currentYearChange"] }], $onRangeSelect: [{ type: i0.Output, args: ["$onRangeSelect"] }], $onSelect: [{ type: i0.Output, args: ["$onSelect"] }] } });
968
+
969
+ class UiMonthlyCalendarDirective {
970
+ $date = model(new Date(), ...(ngDevMode ? [{ debugName: "$date" }] : []));
971
+ $onSelect = output();
972
+ $currentYear = model.required(...(ngDevMode ? [{ debugName: "$currentYear" }] : []));
973
+ $months = computed(() => {
974
+ const year = this.$currentYear();
975
+ return this.generateMonths(year);
976
+ }, ...(ngDevMode ? [{ debugName: "$months" }] : []));
977
+ generateMonths(year) {
978
+ const current = this.$date() ?? new Date();
979
+ const day = current.getDate();
980
+ const monthNames = [
981
+ 'January',
982
+ 'February',
983
+ 'March',
984
+ 'April',
985
+ 'May',
986
+ 'June',
987
+ 'July',
988
+ 'August',
989
+ 'September',
990
+ 'October',
991
+ 'November',
992
+ 'December',
993
+ ];
994
+ const months = monthNames.map((name, index) => {
995
+ const lastDay = new Date(year, index + 1, 0).getDate();
996
+ const safeDay = Math.min(day, lastDay);
997
+ const newDate = new Date(year, index, safeDay);
998
+ return {
999
+ index,
1000
+ name,
1001
+ short: name.substring(0, 3),
1002
+ date: newDate,
1003
+ isSelected: this.isSelected(newDate),
1004
+ };
1005
+ });
1006
+ return months;
1007
+ }
1008
+ select(date) {
1009
+ this.$onSelect.emit(date);
1010
+ }
1011
+ isSelected(date) {
1012
+ const selected = this.$date() ?? new Date();
1013
+ return (date.getFullYear() === selected.getFullYear() &&
1014
+ date.getMonth() === selected.getMonth() &&
1015
+ date.getDate() === selected.getDate());
1016
+ }
1017
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: UiMonthlyCalendarDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
1018
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.1.1", type: UiMonthlyCalendarDirective, isStandalone: true, selector: "app-ui-monthly-calendar", inputs: { $date: { classPropertyName: "$date", publicName: "$date", isSignal: true, isRequired: false, transformFunction: null }, $currentYear: { classPropertyName: "$currentYear", publicName: "$currentYear", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { $date: "$dateChange", $onSelect: "$onSelect", $currentYear: "$currentYearChange" }, ngImport: i0 });
1019
+ }
1020
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: UiMonthlyCalendarDirective, decorators: [{
1021
+ type: Directive,
1022
+ args: [{
1023
+ selector: 'app-ui-monthly-calendar',
1024
+ }]
1025
+ }], propDecorators: { $date: [{ type: i0.Input, args: [{ isSignal: true, alias: "$date", required: false }] }, { type: i0.Output, args: ["$dateChange"] }], $onSelect: [{ type: i0.Output, args: ["$onSelect"] }], $currentYear: [{ type: i0.Input, args: [{ isSignal: true, alias: "$currentYear", required: true }] }, { type: i0.Output, args: ["$currentYearChange"] }] } });
1026
+
1027
+ class UiYearlyCalendarDirective {
1028
+ $date = model(new Date(), ...(ngDevMode ? [{ debugName: "$date" }] : []));
1029
+ $onSelect = output();
1030
+ $currentYear = model.required(...(ngDevMode ? [{ debugName: "$currentYear" }] : []));
1031
+ $years = computed(() => {
1032
+ const year = this.$currentYear();
1033
+ return this.generateYears(year);
1034
+ }, ...(ngDevMode ? [{ debugName: "$years" }] : []));
1035
+ generateYears(startYear) {
1036
+ const current = this.$date() ?? new Date();
1037
+ const month = current.getMonth();
1038
+ const day = current.getDate();
1039
+ const selectedYear = current.getFullYear();
1040
+ const years = [];
1041
+ for (let i = 0; i < 20; i++) {
1042
+ const year = startYear + i;
1043
+ years.push({
1044
+ year,
1045
+ date: this.createSafeDate(year, month, day),
1046
+ isSelected: year === selectedYear,
1047
+ });
1048
+ }
1049
+ return years;
1050
+ }
1051
+ createSafeDate(year, month, day) {
1052
+ const lastDay = new Date(year, month + 1, 0).getDate();
1053
+ const safeDay = Math.min(day, lastDay);
1054
+ return new Date(year, month, safeDay);
1055
+ }
1056
+ select(date) {
1057
+ this.$date.set(date);
1058
+ this.$onSelect.emit(date);
1059
+ }
1060
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: UiYearlyCalendarDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
1061
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.1.1", type: UiYearlyCalendarDirective, isStandalone: true, selector: "app-ui-yearly-calendar", inputs: { $date: { classPropertyName: "$date", publicName: "$date", isSignal: true, isRequired: false, transformFunction: null }, $currentYear: { classPropertyName: "$currentYear", publicName: "$currentYear", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { $date: "$dateChange", $onSelect: "$onSelect", $currentYear: "$currentYearChange" }, ngImport: i0 });
1062
+ }
1063
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: UiYearlyCalendarDirective, decorators: [{
1064
+ type: Directive,
1065
+ args: [{
1066
+ selector: 'app-ui-yearly-calendar',
1067
+ }]
1068
+ }], propDecorators: { $date: [{ type: i0.Input, args: [{ isSignal: true, alias: "$date", required: false }] }, { type: i0.Output, args: ["$dateChange"] }], $onSelect: [{ type: i0.Output, args: ["$onSelect"] }], $currentYear: [{ type: i0.Input, args: [{ isSignal: true, alias: "$currentYear", required: true }] }, { type: i0.Output, args: ["$currentYearChange"] }] } });
1069
+
1070
+ const typescript = {
1071
+ comment: { css: 'hl1', regexp: /(\/\/.*|\/\*[\s\S]*?\*\/)/g },
1072
+ string: { css: 'hl3', regexp: /(["'`].*?["'`])/gs },
1073
+ class: { css: 'hl4', regexp: /\b([A-Z][a-zA-Z$#_-]*)\b/g },
1074
+ typeKeyword: {
1075
+ css: 'hl6',
1076
+ regexp: /\b(any|boolean|null|number|object|string|void|symbol|bigint|unknown|never)\b/g,
1077
+ },
1078
+ keyword: {
1079
+ css: 'hl7',
1080
+ regexp: /\b(keyof|debugger|await|async|readonly|delete|instanceof|in|package|type|with|const|true|false|enum|let|var|namespace|as|class|extends|abstract|implements|interface|private|protected|public|static|constructor|function|new|super|this|typeof|yield)\b/g,
1081
+ },
1082
+ module: { css: 'hl8', regexp: /\b(export|import|module|from)\b/g },
1083
+ controlFlowLoop: {
1084
+ css: 'hl8',
1085
+ regexp: /\b(break|case|catch|continue|default|do|else|finally|for|if|return|switch|throw|try|while)\b/g,
1086
+ },
1087
+ function: { css: 'hl5', regexp: /\b([$a-zA-Z_]*[$a-zA-Z0-9$#_-]*)\s*(?=[(<])/g },
1088
+ number: { css: 'hl10', regexp: /\b(\d+)\b/g },
1089
+ enum: { css: 'hl11', regexp: /\b([A-Z0-9]+(?:_[A-Z0-9]+)*)\b/g },
1090
+ operator: { css: 'hl12', regexp: /([+\-=&|=>.;:,?!<>])/g },
1091
+ openBracket: { css: 'hl13', regexp: /([{\[(])/g },
1092
+ closeBracket: { css: 'hl14', regexp: /([}\])])/g },
1093
+ remains: { css: 'hl', regexp: /[^\%]+/g },
1094
+ };
1095
+ const xml = {
1096
+ comment: { css: 'hl1', regexp: /<!--[\s\S]*?-->/g },
1097
+ string: { css: 'hl3', regexp: /(["'`].*?["'`])/gs },
1098
+ class: { css: 'hl4', regexp: /\b/g },
1099
+ typeKeyword: {
1100
+ css: 'hl',
1101
+ regexp: /\b([a-zA-Z_:][a-zA-Z0-9_.:-]*)\b(?=\s*=|\])/g,
1102
+ },
1103
+ keyword: {
1104
+ css: 'hl7',
1105
+ regexp: /(?<=<\/?|!)[a-zA-Z0-9_-]+(?=\s|>)/g,
1106
+ },
1107
+ module: { css: 'hl8', regexp: /\b/g },
1108
+ controlFlowLoop: {
1109
+ css: 'hl8',
1110
+ regexp: /\b(break|case|catch|continue|default|do|else|finally|for|of|if|return|switch|throw|try|while)\b/g,
1111
+ },
1112
+ function: { css: 'hl5', regexp: /\b([$a-zA-Z_]*[$a-zA-Z0-9$#_-]*)\s*(?=[(])/g },
1113
+ number: { css: 'hl10', regexp: /\b(\d+)\b/g },
1114
+ enum: { css: 'hl11', regexp: /\b([A-Z0-9]+(?:_[A-Z0-9]+)*)\b/g },
1115
+ operator: { css: 'hl16', regexp: /([+\-&/|.;:,?!<>])/g },
1116
+ openBracket: { css: 'hl13', regexp: /([{\[(])/g },
1117
+ closeBracket: { css: 'hl14', regexp: /([}\])])/g },
1118
+ remains: { css: 'hl12', regexp: /[^\%]+/g },
1119
+ };
1120
+ const json = {
1121
+ comment: { css: 'hl1', regexp: /\b/g },
1122
+ string: { css: 'hl3', regexp: /(["'`])([^"':`]+)\1(?!\s*:)/g },
1123
+ class: { css: 'hl4', regexp: /\b/g },
1124
+ typeKeyword: {
1125
+ css: 'hl6',
1126
+ regexp: /\b/g,
1127
+ },
1128
+ keyword: {
1129
+ css: 'hl7',
1130
+ regexp: /\b(true|false)/g,
1131
+ },
1132
+ module: { css: 'hl8', regexp: /\b/g },
1133
+ controlFlowLoop: {
1134
+ css: 'hl8',
1135
+ regexp: /\b/g,
1136
+ },
1137
+ function: { css: 'hl5', regexp: /\b/g },
1138
+ number: { css: 'hl10', regexp: /\b(\d+)\b/g },
1139
+ enum: { css: 'hl11', regexp: /\b/g },
1140
+ operator: { css: 'hl12', regexp: /([:,])/g },
1141
+ openBracket: { css: 'hl13', regexp: /([{\[(])/g },
1142
+ closeBracket: { css: 'hl14', regexp: /([}\])])/g },
1143
+ remains: { css: 'hl', regexp: /[^\%]+/g },
1144
+ };
1145
+ const css = {
1146
+ comment: { css: 'hl1', regexp: /(\/\/.*|\/\*[\s\S]*?\*\/)/g },
1147
+ string: { css: 'hl3', regexp: /(["'`].*?["'`])/g },
1148
+ class: { css: 'hl9', regexp: /(?:\.|:)?[\w-]+\s*(?=\{)/g },
1149
+ typeKeyword: {
1150
+ css: 'hl8',
1151
+ regexp: /@\w+/g,
1152
+ },
1153
+ keyword: {
1154
+ css: 'hl',
1155
+ regexp: /\$\w[-\w_]*/g,
1156
+ },
1157
+ module: { css: 'hl8', regexp: /\b/g },
1158
+ controlFlowLoop: {
1159
+ css: 'hl8',
1160
+ regexp: /\b(break|case|catch|continue|default|do|else|finally|for|if|return|switch|throw|try|while)\b/g,
1161
+ },
1162
+ function: { css: 'hl5', regexp: /\b([$a-zA-Z_]*[$a-zA-Z0-9$#_-]*)\s*(?=[(<])/g },
1163
+ number: { css: 'hl10', regexp: /\b(\d+)\b/g },
1164
+ enum: { css: 'hl', regexp: /[\w-_]+:/g },
1165
+ operator: { css: 'hl12', regexp: /([+\-=&|=>.;:,?!<>])/g },
1166
+ openBracket: { css: 'hl13', regexp: /([{\[(])/g },
1167
+ closeBracket: { css: 'hl14', regexp: /([}\])])/g },
1168
+ remains: { css: 'hl3', regexp: /[^\%]+/g },
1169
+ };
1170
+ const codeLanguages = {
1171
+ javascript: typescript,
1172
+ typescript: typescript,
1173
+ js: typescript,
1174
+ ts: typescript,
1175
+ css: css,
1176
+ json: json,
1177
+ html: xml,
1178
+ xml: xml,
1179
+ };
1180
+ class UiCodeDirective {
1181
+ $code = input.required(...(ngDevMode ? [{ debugName: "$code" }] : []));
1182
+ $language = signal('', ...(ngDevMode ? [{ debugName: "$language" }] : []));
1183
+ $highlightedArray = signal([], ...(ngDevMode ? [{ debugName: "$highlightedArray" }] : []));
1184
+ constructor() {
1185
+ effect(() => {
1186
+ this.highlightCode(this.$code());
1187
+ });
1188
+ }
1189
+ highlightCode(code) {
1190
+ code = code.replace(/^\n+|\n+$/g, '').trimEnd();
1191
+ const split = code.split(/[\s\n]/, 1);
1192
+ if (Object.keys(codeLanguages).includes(split[0].toLowerCase())) {
1193
+ this.$language.set(split[0]);
1194
+ code = code.replace(split[0], '').trim();
1195
+ }
1196
+ else {
1197
+ this.$language.set('hl2');
1198
+ untracked(() => {
1199
+ this.$highlightedArray.set([{ css: 'hl2', string: code.trim(), index: 0 }]);
1200
+ });
1201
+ return;
1202
+ }
1203
+ let resultArray = [];
1204
+ Object.keys(codeLanguages[this.$language()]).forEach((element) => {
1205
+ resultArray.push(...[...code.matchAll(codeLanguages[this.$language()][element].regexp)].map((v) => ({
1206
+ css: codeLanguages[this.$language()][element].css,
1207
+ index: v.index,
1208
+ string: v[0],
1209
+ })));
1210
+ code = code.replaceAll(codeLanguages[this.$language()][element].regexp, (match) => `%`.repeat(match.length));
1211
+ });
1212
+ let bracketsStack = 0;
1213
+ resultArray = resultArray
1214
+ .sort((a, b) => (a.index > b.index ? 1 : -1))
1215
+ .map((m) => {
1216
+ let result = m;
1217
+ const setResult = () => {
1218
+ if (bracketsStack % 3 === 0) {
1219
+ result = { ...m, css: 'hl13' };
1220
+ }
1221
+ if (bracketsStack % 3 === 1) {
1222
+ result = { ...m, css: 'hl14' };
1223
+ }
1224
+ if (bracketsStack % 3 === 2) {
1225
+ result = { ...m, css: 'hl15' };
1226
+ }
1227
+ };
1228
+ if (m.css === 'hl13') {
1229
+ setResult();
1230
+ bracketsStack += 1;
1231
+ }
1232
+ if (m.css === 'hl14') {
1233
+ bracketsStack -= 1;
1234
+ setResult();
1235
+ }
1236
+ return result;
1237
+ });
1238
+ this.$highlightedArray.set(resultArray);
1239
+ }
1240
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: UiCodeDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
1241
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.1.1", type: UiCodeDirective, isStandalone: true, selector: "app-ui-code", inputs: { $code: { classPropertyName: "$code", publicName: "$code", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0 });
1242
+ }
1243
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: UiCodeDirective, decorators: [{
1244
+ type: Directive,
1245
+ args: [{
1246
+ selector: 'app-ui-code',
1247
+ }]
1248
+ }], ctorParameters: () => [], propDecorators: { $code: [{ type: i0.Input, args: [{ isSignal: true, alias: "$code", required: true }] }] } });
1249
+
1250
+ class UiPopupInstance {
1251
+ overlayRef;
1252
+ destroyRef;
1253
+ id = '';
1254
+ width = 0;
1255
+ animationOrigin$ = new BehaviorSubject('center');
1256
+ options = {
1257
+ positionX: 0,
1258
+ positionY: 0,
1259
+ startTransition: 'scale(0)',
1260
+ endTransition: 'scale(0)',
1261
+ };
1262
+ closed = new Subject();
1263
+ shouldClose = new Subject();
1264
+ constructor(overlayRef, destroyRef, options = {
1265
+ positionX: 0,
1266
+ positionY: 0,
1267
+ startTransition: 'scale(0.8)',
1268
+ endTransition: 'scale(1)',
1269
+ }) {
1270
+ this.overlayRef = overlayRef;
1271
+ this.destroyRef = destroyRef;
1272
+ this.options = options;
1273
+ this.overlayRef
1274
+ .detachments()
1275
+ .pipe(takeUntilDestroyed(this.destroyRef))
1276
+ .subscribe(() => {
1277
+ this.closed.next();
1278
+ this.closed.complete();
1279
+ this.overlayRef.dispose();
1280
+ });
1281
+ }
1282
+ close() {
1283
+ this.shouldClose.next();
1284
+ this.shouldClose.complete();
1285
+ }
1286
+ detach() {
1287
+ this.overlayRef.detach();
1288
+ }
1289
+ onShouldClose() {
1290
+ return this.shouldClose.asObservable();
1291
+ }
1292
+ }
1293
+
1294
+ class UiPopupService {
1295
+ overlay;
1296
+ injector;
1297
+ destroyRef;
1298
+ router;
1299
+ popupInstances = [];
1300
+ backdropRef;
1301
+ backdropPortal;
1302
+ backdropPortalRef;
1303
+ destroyDownloading$ = new Subject();
1304
+ destroyOutsideClickSubscription$ = new Subject();
1305
+ constructor(overlay, injector, destroyRef, router) {
1306
+ this.overlay = overlay;
1307
+ this.injector = injector;
1308
+ this.destroyRef = destroyRef;
1309
+ this.router = router;
1310
+ }
1311
+ init(component) {
1312
+ this.backdropPortal = new ComponentPortal(component);
1313
+ }
1314
+ /**
1315
+ * Opens a popup with the specified component and options.
1316
+ *
1317
+ * @param component - The component to be displayed in the popup.
1318
+ * @param options - Configuration options for the popup, including inputs.
1319
+ * @param id - A unique identifier for the popup instance.
1320
+ * @param parameters - (Optional) Configuration options for the popup.
1321
+ */
1322
+ open(component, options, id, parameters) {
1323
+ if (this.popupInstances.length) {
1324
+ if (parameters.isClosePrevious) {
1325
+ this.closePrevious();
1326
+ }
1327
+ }
1328
+ this.showBackdrop(parameters.isStaticBackdrop);
1329
+ const overlayRef = this.overlay.create({
1330
+ hasBackdrop: false,
1331
+ backdropClass: 'cdk-overlay-transparent-backdrop',
1332
+ positionStrategy: this.overlay.position().global().centerHorizontally().centerVertically(),
1333
+ });
1334
+ this.subscribeToOutsideEvents();
1335
+ this.createPopup(overlayRef, component, options, id, parameters);
1336
+ }
1337
+ /**
1338
+ * Opens a popup that scales from the provided origin element to the centered popup size.
1339
+ * Useful for image-preview transitions where the source element animates into the popup.
1340
+ */
1341
+ openScaledFromElement(component, options, id, originElement, sourceWidth, sourceHeight, parameters = {}) {
1342
+ const animationOptions = this.createScaleAnimationOptionsFromElement(originElement, sourceWidth, sourceHeight);
1343
+ this.open(component, options, id, {
1344
+ ...parameters,
1345
+ animationOptions,
1346
+ });
1347
+ }
1348
+ /**
1349
+ * Closes the last opened popup.
1350
+ */
1351
+ close() {
1352
+ if (this.popupInstances.length >= 1) {
1353
+ this.popupInstances[this.popupInstances.length - 1].close();
1354
+ this.popupInstances.pop();
1355
+ if (!this.popupInstances.length) {
1356
+ this.destroy();
1357
+ }
1358
+ }
1359
+ }
1360
+ closePrevious() {
1361
+ if (this.popupInstances.length >= 1) {
1362
+ this.popupInstances[this.popupInstances.length - 1].close();
1363
+ this.popupInstances.pop();
1364
+ }
1365
+ }
1366
+ /**
1367
+ * Closes a popup by its index in the popupInstances array.
1368
+ *
1369
+ * @param index - The index of the popup to close.
1370
+ */
1371
+ closeByIndex(index) {
1372
+ this.popupInstances[index].close();
1373
+ this.popupInstances.splice(index, 1);
1374
+ if (!this.popupInstances.length) {
1375
+ this.destroy();
1376
+ }
1377
+ }
1378
+ /**
1379
+ * Closes a popup by its unique identifier.
1380
+ *
1381
+ * @param id - The unique identifier of the popup to close.
1382
+ */
1383
+ closeById(id) {
1384
+ const dropDownIndex = this.popupInstances.findIndex((v) => v.id === id);
1385
+ if (dropDownIndex >= 0) {
1386
+ this.closeByIndex(dropDownIndex);
1387
+ }
1388
+ }
1389
+ /**
1390
+ * Closes all currently opened popups.
1391
+ */
1392
+ closeAll() {
1393
+ this.popupInstances.forEach((element) => {
1394
+ element.close();
1395
+ });
1396
+ this.popupInstances = [];
1397
+ this.destroy();
1398
+ }
1399
+ /**
1400
+ * Creates a popup instance with the specified component and options.
1401
+ *
1402
+ * @param overlayRef - The overlay reference for the popup.
1403
+ * @param component - The component to be displayed in the popup.
1404
+ * @param options - Configuration options for the popup, including inputs.
1405
+ * @param id - A unique identifier for the popup instance.
1406
+ * @param parameters - (Optional) Configuration options for the popup.
1407
+ */
1408
+ createPopup(overlayRef, component, options, id, parameters) {
1409
+ const newParameters = this.fetchPopupParameters(parameters);
1410
+ const uiPopupInstance = new UiPopupInstance(overlayRef, this.destroyRef, newParameters.animationOptions);
1411
+ if (newParameters.width > 0) {
1412
+ uiPopupInstance.width = newParameters.width;
1413
+ }
1414
+ const injector = Injector.create({
1415
+ parent: this.injector,
1416
+ providers: [{ provide: UiPopupInstance, useValue: uiPopupInstance }],
1417
+ });
1418
+ const componentRef = overlayRef.attach(new ComponentPortal(component, undefined, injector));
1419
+ if (options) {
1420
+ if (options.inputs) {
1421
+ Object.keys(options.inputs).forEach((key) => {
1422
+ if (options.inputs) {
1423
+ componentRef.setInput(key, options.inputs[key]);
1424
+ }
1425
+ });
1426
+ }
1427
+ }
1428
+ uiPopupInstance.id = id;
1429
+ this.popupInstances.push(uiPopupInstance);
1430
+ }
1431
+ /**
1432
+ * Subscribes to outside events (e.g., scroll, router events) to close popups.
1433
+ */
1434
+ subscribeToOutsideEvents() {
1435
+ this.destroyOutsideClickSubscription$.next();
1436
+ fromEvent(window, 'scroll')
1437
+ .pipe(tap(() => {
1438
+ this.closeAll();
1439
+ }), takeUntil(this.destroyOutsideClickSubscription$))
1440
+ .subscribe();
1441
+ this.router.events
1442
+ .pipe(debounceTime(100), tap(() => {
1443
+ this.closeAll();
1444
+ }), takeUntil(this.destroyOutsideClickSubscription$))
1445
+ .subscribe();
1446
+ }
1447
+ destroy() {
1448
+ this.hideBackdrop();
1449
+ this.destroyOutsideClickSubscription$.next();
1450
+ }
1451
+ showBackdrop(isStaticBackdrop = false) {
1452
+ document.body.style.setProperty('overflow-y', 'hidden');
1453
+ if (this.backdropRef) {
1454
+ return;
1455
+ }
1456
+ this.backdropRef = this.overlay.create({
1457
+ hasBackdrop: false,
1458
+ positionStrategy: this.overlay.position().global().centerHorizontally().centerVertically(),
1459
+ scrollStrategy: this.overlay.scrollStrategies.noop(),
1460
+ });
1461
+ this.backdropPortalRef = this.backdropRef.attach(this.backdropPortal);
1462
+ if (this.backdropPortalRef) {
1463
+ this.backdropPortalRef.location.nativeElement.classList.add('animate-in');
1464
+ this.backdropPortalRef.setInput('isStaticBackdrop', isStaticBackdrop);
1465
+ }
1466
+ }
1467
+ hideBackdrop() {
1468
+ if (!this.backdropRef) {
1469
+ return;
1470
+ }
1471
+ if (this.backdropPortalRef) {
1472
+ this.backdropPortalRef.location.nativeElement.classList.remove('animate-in');
1473
+ this.backdropPortalRef.location.nativeElement.classList.add('animate-out');
1474
+ }
1475
+ timer(150)
1476
+ .pipe(tap(() => {
1477
+ this.backdropRef?.detach();
1478
+ this.backdropRef?.dispose();
1479
+ this.backdropRef = undefined;
1480
+ document.body.style.setProperty('overflow-y', 'auto');
1481
+ }))
1482
+ .subscribe();
1483
+ }
1484
+ /**
1485
+ * Fetches and normalizes popup parameters.
1486
+ *
1487
+ * @param parameters - Partial configuration options for the popup.
1488
+ * @returns A complete set of popup parameters with default values applied.
1489
+ */
1490
+ fetchPopupParameters(parameters) {
1491
+ return {
1492
+ animationOptions: parameters.animationOptions === undefined
1493
+ ? {
1494
+ positionX: 0,
1495
+ positionY: 0,
1496
+ startTransition: 'scale(0.8)',
1497
+ endTransition: 'scale(1)',
1498
+ }
1499
+ : parameters.animationOptions,
1500
+ isClosePrevious: parameters.isClosePrevious === undefined ? false : parameters.isClosePrevious,
1501
+ isStaticBackdrop: parameters.isStaticBackdrop === undefined ? false : parameters.isStaticBackdrop,
1502
+ width: parameters.width === undefined ? 0 : parameters.width,
1503
+ };
1504
+ }
1505
+ createScaleAnimationOptionsFromElement(originElement, sourceWidth, sourceHeight) {
1506
+ const rect = originElement.getBoundingClientRect();
1507
+ const centerX = window.innerWidth / 2;
1508
+ const centerY = window.innerHeight / 2;
1509
+ const targetX = rect.left + rect.width / 2;
1510
+ const targetY = rect.top + rect.height / 2;
1511
+ const offsetX = targetX - centerX;
1512
+ const offsetY = targetY - centerY;
1513
+ const fitted = getAspectRatioFit(window.innerWidth - window.innerWidth / 8, window.innerHeight - window.innerHeight / 8, sourceWidth, sourceHeight);
1514
+ const scaleY = Math.trunc((sourceHeight / fitted.height) * 100) / 100;
1515
+ const scaleX = Math.trunc((sourceWidth / fitted.width) * 100) / 100;
1516
+ return {
1517
+ positionX: offsetX,
1518
+ positionY: offsetY,
1519
+ startTransition: `scale(${scaleY}, ${scaleX})`,
1520
+ endTransition: 'scale(1)',
1521
+ };
1522
+ }
1523
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: UiPopupService, deps: [{ token: i1.Overlay }, { token: i0.Injector }, { token: i0.DestroyRef }, { token: i2$1.Router }], target: i0.ɵɵFactoryTarget.Injectable });
1524
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: UiPopupService, providedIn: 'root' });
1525
+ }
1526
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: UiPopupService, decorators: [{
1527
+ type: Injectable,
1528
+ args: [{
1529
+ providedIn: 'root',
1530
+ }]
1531
+ }], ctorParameters: () => [{ type: i1.Overlay }, { type: i0.Injector }, { type: i0.DestroyRef }, { type: i2$1.Router }] });
1532
+
1533
+ class UiPopupContainerDirective {
1534
+ popupInstance;
1535
+ destroyRef;
1536
+ popupService;
1537
+ elementRef;
1538
+ $isShow = signal(false, ...(ngDevMode ? [{ debugName: "$isShow" }] : []));
1539
+ $pulseTrigger = signal(false, ...(ngDevMode ? [{ debugName: "$pulseTrigger" }] : []));
1540
+ $overflowHidden = input(true, ...(ngDevMode ? [{ debugName: "$overflowHidden" }] : []));
1541
+ $shouldClose = model(false, ...(ngDevMode ? [{ debugName: "$shouldClose" }] : []));
1542
+ $hasCloseButton = input(false, ...(ngDevMode ? [{ debugName: "$hasCloseButton" }] : []));
1543
+ $isEnableFadeAnimation = input(true, ...(ngDevMode ? [{ debugName: "$isEnableFadeAnimation" }] : []));
1544
+ $iconClose = model(...(ngDevMode ? [undefined, { debugName: "$iconClose" }] : []));
1545
+ $animationParams = signal({
1546
+ startOrigin: 'center center',
1547
+ endOrigin: 'center center',
1548
+ start: 'transformY(0)',
1549
+ end: 'transformY(-20%)',
1550
+ leftStart: '',
1551
+ leftEnd: '',
1552
+ topStart: '',
1553
+ topEnd: '',
1554
+ }, ...(ngDevMode ? [{ debugName: "$animationParams" }] : []));
1555
+ destroyAnimationOrigin$ = new Subject();
1556
+ constructor(popupInstance, destroyRef, popupService, elementRef) {
1557
+ this.popupInstance = popupInstance;
1558
+ this.destroyRef = destroyRef;
1559
+ this.popupService = popupService;
1560
+ this.elementRef = elementRef;
1561
+ effect(() => {
1562
+ if (this.$shouldClose()) {
1563
+ untracked(() => {
1564
+ this.close();
1565
+ });
1566
+ }
1567
+ });
1568
+ effect(() => {
1569
+ const params = this.$animationParams();
1570
+ this.elementRef.nativeElement.style.setProperty('--start', params.start);
1571
+ this.elementRef.nativeElement.style.setProperty('--end', params.end);
1572
+ this.elementRef.nativeElement.style.setProperty('--start-origin', params.startOrigin);
1573
+ this.elementRef.nativeElement.style.setProperty('--end-origin', params.endOrigin);
1574
+ this.elementRef.nativeElement.style.setProperty('--left-start', params.leftStart);
1575
+ this.elementRef.nativeElement.style.setProperty('--left-end', params.leftEnd);
1576
+ this.elementRef.nativeElement.style.setProperty('--top-start', params.topStart);
1577
+ this.elementRef.nativeElement.style.setProperty('--top-end', params.topEnd);
1578
+ });
1579
+ }
1580
+ ngOnInit() {
1581
+ this.popupInstance
1582
+ .onShouldClose()
1583
+ .pipe(tap(() => {
1584
+ this.$isShow.set(false);
1585
+ }), takeUntilDestroyed(this.destroyRef))
1586
+ .subscribe();
1587
+ this.popupInstance.animationOrigin$
1588
+ .pipe(tap((e) => {
1589
+ this.$animationParams.set({
1590
+ startOrigin: e,
1591
+ endOrigin: e,
1592
+ start: this.popupInstance.options.startTransition,
1593
+ end: this.popupInstance.options.endTransition,
1594
+ leftStart: `${this.popupInstance.options.positionX}px`,
1595
+ leftEnd: '0',
1596
+ topStart: `${this.popupInstance.options.positionY}px`,
1597
+ topEnd: '0',
1598
+ });
1599
+ this.$isShow.set(true);
1600
+ }), takeUntil(this.destroyAnimationOrigin$), takeUntilDestroyed(this.destroyRef))
1601
+ .subscribe();
1602
+ fromEvent(window, 'keydown')
1603
+ .pipe(tap((e) => {
1604
+ if (e.key === 'Escape' || e.key === 'Esc') {
1605
+ this.close();
1606
+ }
1607
+ }), takeUntilDestroyed(this.destroyRef))
1608
+ .subscribe();
1609
+ }
1610
+ close() {
1611
+ if (this.popupInstance.id) {
1612
+ this.popupService.closeById(this.popupInstance.id);
1613
+ return;
1614
+ }
1615
+ this.popupService.close();
1616
+ }
1617
+ onAnimationDone() {
1618
+ if (!this.$isShow()) {
1619
+ this.popupInstance.detach();
1620
+ }
1621
+ }
1622
+ shouldClose() {
1623
+ this.$shouldClose.set(true);
1624
+ }
1625
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: UiPopupContainerDirective, deps: [{ token: UiPopupInstance }, { token: i0.DestroyRef }, { token: UiPopupService }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
1626
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.1.1", type: UiPopupContainerDirective, isStandalone: true, selector: "app-ui-popup-container", inputs: { $overflowHidden: { classPropertyName: "$overflowHidden", publicName: "$overflowHidden", isSignal: true, isRequired: false, transformFunction: null }, $shouldClose: { classPropertyName: "$shouldClose", publicName: "$shouldClose", isSignal: true, isRequired: false, transformFunction: null }, $hasCloseButton: { classPropertyName: "$hasCloseButton", publicName: "$hasCloseButton", isSignal: true, isRequired: false, transformFunction: null }, $isEnableFadeAnimation: { classPropertyName: "$isEnableFadeAnimation", publicName: "$isEnableFadeAnimation", isSignal: true, isRequired: false, transformFunction: null }, $iconClose: { classPropertyName: "$iconClose", publicName: "$iconClose", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { $shouldClose: "$shouldCloseChange", $iconClose: "$iconCloseChange" }, ngImport: i0 });
1627
+ }
1628
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: UiPopupContainerDirective, decorators: [{
1629
+ type: Directive,
1630
+ args: [{
1631
+ selector: 'app-ui-popup-container',
1632
+ }]
1633
+ }], ctorParameters: () => [{ type: UiPopupInstance, decorators: [{
1634
+ type: Inject,
1635
+ args: [UiPopupInstance]
1636
+ }] }, { type: i0.DestroyRef }, { type: UiPopupService }, { type: i0.ElementRef }], propDecorators: { $overflowHidden: [{ type: i0.Input, args: [{ isSignal: true, alias: "$overflowHidden", required: false }] }], $shouldClose: [{ type: i0.Input, args: [{ isSignal: true, alias: "$shouldClose", required: false }] }, { type: i0.Output, args: ["$shouldCloseChange"] }], $hasCloseButton: [{ type: i0.Input, args: [{ isSignal: true, alias: "$hasCloseButton", required: false }] }], $isEnableFadeAnimation: [{ type: i0.Input, args: [{ isSignal: true, alias: "$isEnableFadeAnimation", required: false }] }], $iconClose: [{ type: i0.Input, args: [{ isSignal: true, alias: "$iconClose", required: false }] }, { type: i0.Output, args: ["$iconCloseChange"] }] } });
1637
+
1638
+ class UiDropdownService extends UiPopupService {
1639
+ tipContainerRef;
1640
+ tipContainerPortal;
1641
+ containerSize$ = new BehaviorSubject({
1642
+ width: 0,
1643
+ height: 0,
1644
+ });
1645
+ connectedPositions = {
1646
+ bottom: {
1647
+ animationOrigin: 'top center',
1648
+ connectedPosition: {
1649
+ originX: 'center',
1650
+ originY: 'bottom',
1651
+ overlayX: 'center',
1652
+ overlayY: 'top',
1653
+ offsetY: 0,
1654
+ offsetX: 0,
1655
+ },
1656
+ },
1657
+ top: {
1658
+ animationOrigin: 'bottom center',
1659
+ connectedPosition: {
1660
+ originX: 'center',
1661
+ originY: 'top',
1662
+ overlayX: 'center',
1663
+ overlayY: 'bottom',
1664
+ offsetY: 0,
1665
+ offsetX: 0,
1666
+ },
1667
+ },
1668
+ center: {
1669
+ animationOrigin: 'center center',
1670
+ connectedPosition: {
1671
+ originX: 'center',
1672
+ originY: 'center',
1673
+ overlayX: 'center',
1674
+ overlayY: 'center',
1675
+ offsetY: 0,
1676
+ offsetX: 0,
1677
+ },
1678
+ },
1679
+ left: {
1680
+ animationOrigin: 'right center',
1681
+ connectedPosition: {
1682
+ originX: 'start',
1683
+ originY: 'center',
1684
+ overlayX: 'end',
1685
+ overlayY: 'center',
1686
+ offsetY: 0,
1687
+ offsetX: 0,
1688
+ },
1689
+ },
1690
+ right: {
1691
+ animationOrigin: 'left center',
1692
+ connectedPosition: {
1693
+ originX: 'end',
1694
+ originY: 'center',
1695
+ overlayX: 'start',
1696
+ overlayY: 'center',
1697
+ offsetY: 0,
1698
+ offsetX: 0,
1699
+ },
1700
+ },
1701
+ 'right-top': {
1702
+ animationOrigin: 'left bottom',
1703
+ connectedPosition: {
1704
+ originX: 'end',
1705
+ originY: 'top',
1706
+ overlayX: 'start',
1707
+ overlayY: 'bottom',
1708
+ offsetY: 0,
1709
+ offsetX: 0,
1710
+ },
1711
+ },
1712
+ 'right-bottom': {
1713
+ animationOrigin: 'left top',
1714
+ connectedPosition: {
1715
+ originX: 'end',
1716
+ originY: 'bottom',
1717
+ overlayX: 'start',
1718
+ overlayY: 'top',
1719
+ offsetY: 0,
1720
+ offsetX: 0,
1721
+ },
1722
+ },
1723
+ 'left-top': {
1724
+ animationOrigin: 'right bottom',
1725
+ connectedPosition: {
1726
+ originX: 'start',
1727
+ originY: 'top',
1728
+ overlayX: 'end',
1729
+ overlayY: 'bottom',
1730
+ offsetY: 0,
1731
+ offsetX: 0,
1732
+ },
1733
+ },
1734
+ 'left-bottom': {
1735
+ animationOrigin: 'right top',
1736
+ connectedPosition: {
1737
+ originX: 'start',
1738
+ originY: 'bottom',
1739
+ overlayX: 'end',
1740
+ overlayY: 'top',
1741
+ offsetY: 0,
1742
+ offsetX: 0,
1743
+ },
1744
+ },
1745
+ };
1746
+ init(component, tipComponent) {
1747
+ super.init(component);
1748
+ if (tipComponent) {
1749
+ this.tipContainerPortal = new ComponentPortal(tipComponent);
1750
+ }
1751
+ }
1752
+ /**
1753
+ * Opens a tooltip (tip) component attached to a specific HTML element.
1754
+ * The tooltip displays text content with customizable position and offset.
1755
+ *
1756
+ * @param text - The text content to display in the tooltip.
1757
+ * @param attachedRef - The HTML element to which the tooltip is attached.
1758
+ * @param id - A unique identifier for the tooltip instance.
1759
+ * @param position - (Optional) The positioning of the tooltip relative to the attached element (default: 'top').
1760
+ * Available positions: 'top', 'bottom', 'left', 'right', 'center',
1761
+ * 'left-top', 'left-bottom', 'right-top', 'right-bottom'.
1762
+ * @param offsetY - (Optional) Vertical offset for tooltip positioning in pixels (default: 0).
1763
+ * @param offsetX - (Optional) Horizontal offset for tooltip positioning in pixels (default: 0).
1764
+ *
1765
+ */
1766
+ openTip(text, attachedRef, id, position = 'top', offsetY = 0, offsetX = 0) {
1767
+ if (this.tipContainerRef) {
1768
+ return;
1769
+ }
1770
+ const tipComponent = this.tipContainerPortal?.component;
1771
+ if (tipComponent) {
1772
+ this.openAttached(tipComponent, attachedRef, id, {
1773
+ options: {
1774
+ inputs: {
1775
+ text: text,
1776
+ },
1777
+ },
1778
+ position: position,
1779
+ hasBackdrop: false,
1780
+ removePrevious: false,
1781
+ hasAttachedWidth: false,
1782
+ }, offsetY, offsetX);
1783
+ }
1784
+ }
1785
+ /**
1786
+ * Opens a dropdown attached to a specific HTML element.
1787
+ *
1788
+ * @param component - The component to be displayed in the dropdown.
1789
+ * @param attachedRef - The HTML element to which the dropdown is attached.
1790
+ * @param id - A unique identifier for the dropdown instance.
1791
+ * @param parameters - (Optional) Configuration options for the dropdown.
1792
+ * @param offsetY - (Optional) Vertical offset for dropdown positioning.
1793
+ * @param offsetX - (Optional) Horizontal offset for dropdown positioning.
1794
+ */
1795
+ openAttached(component, attachedRef, id, parameters = {}, offsetY = 0, offsetX = 0) {
1796
+ const fetchedParameters = this.fetchDropDownParameters(parameters);
1797
+ let attachedWidth = 0;
1798
+ if (fetchedParameters.hasAttachedWidth) {
1799
+ attachedWidth = attachedRef.clientWidth;
1800
+ }
1801
+ // Reset old outside listeners before opening a new dropdown to avoid stale close callbacks.
1802
+ if (this.popupInstances.length) {
1803
+ this.destroyOutsideClickSubscription$.next();
1804
+ }
1805
+ if (fetchedParameters.removePrevious && this.popupInstances.length) {
1806
+ this.close();
1807
+ }
1808
+ if (window.matchMedia('(max-width: 48rem)').matches) {
1809
+ this.showBackdrop();
1810
+ }
1811
+ const overlayRef = this.overlay.create({
1812
+ hasBackdrop: fetchedParameters.hasBackdrop,
1813
+ backdropClass: 'cdk-overlay-transparent-backdrop',
1814
+ positionStrategy: this.createPositionStrategy(attachedRef, fetchedParameters, offsetX, offsetY),
1815
+ });
1816
+ if (fetchedParameters.removePrevious) {
1817
+ this.subscribeToOutsideEvents(overlayRef);
1818
+ }
1819
+ this.createPopup(overlayRef, component, fetchedParameters.options ?? {}, id, { width: attachedWidth });
1820
+ this.popupInstances[this.popupInstances.length - 1].animationOrigin$.next(this.connectedPositions[parameters.position ?? 'bottom'].animationOrigin);
1821
+ }
1822
+ /**
1823
+ * Opens a dropdown from the mouse position with intelligent border detection.
1824
+ * The dropdown grows from the mouse cursor, adjusting position and animation origin
1825
+ * based on available space near window boundaries.
1826
+ *
1827
+ * @param component - The component to be displayed in the dropdown.
1828
+ * @param event - The MouseEvent containing the cursor position.
1829
+ * @param id - A unique identifier for the dropdown instance.
1830
+ * @param parameters - (Optional) Configuration options for the dropdown.
1831
+ */
1832
+ openAtMousePosition(component, event, id, parameters = {}) {
1833
+ const fetchedParameters = this.fetchDropDownParameters(parameters);
1834
+ // Reset old outside listeners before opening a new dropdown to avoid stale close callbacks.
1835
+ if (this.popupInstances.length) {
1836
+ this.destroyOutsideClickSubscription$.next();
1837
+ }
1838
+ if (fetchedParameters.removePrevious && this.popupInstances.length) {
1839
+ this.close();
1840
+ }
1841
+ if (window.matchMedia('(max-width: 48rem)').matches) {
1842
+ this.showBackdrop();
1843
+ }
1844
+ const overlayRef = this.overlay.create({
1845
+ hasBackdrop: fetchedParameters.hasBackdrop,
1846
+ backdropClass: 'cdk-overlay-transparent-backdrop',
1847
+ positionStrategy: this.createMousePositionStrategy(event),
1848
+ });
1849
+ if (fetchedParameters.removePrevious) {
1850
+ this.subscribeToOutsideEvents(overlayRef);
1851
+ }
1852
+ this.createPopup(overlayRef, component, fetchedParameters.options ?? {}, id, {
1853
+ animationOptions: {
1854
+ positionX: 0,
1855
+ positionY: 0,
1856
+ startTransition: 'scale(0.4)',
1857
+ endTransition: 'scale(1)',
1858
+ },
1859
+ });
1860
+ this.containerSize$
1861
+ .pipe(tap((size) => {
1862
+ if (size.width === 0 || size.height === 0) {
1863
+ return;
1864
+ }
1865
+ const animationOrigin = this.calculateMousePositionAnimationOrigin(event, size);
1866
+ const positionAdjustment = this.calculateMousePositionAdjustment(event, size);
1867
+ this.popupInstances[this.popupInstances.length - 1].animationOrigin$.next(animationOrigin);
1868
+ const positionStrategy = overlayRef.getConfig().positionStrategy;
1869
+ if (positionStrategy instanceof FlexibleConnectedPositionStrategy && positionAdjustment) {
1870
+ positionStrategy.setOrigin({ x: positionAdjustment.left, y: positionAdjustment.top });
1871
+ overlayRef.updatePosition();
1872
+ }
1873
+ }), takeUntil(this.destroyOutsideClickSubscription$))
1874
+ .subscribe();
1875
+ }
1876
+ /**
1877
+ * Calculates the animation origin based on mouse position relative to window boundaries.
1878
+ *
1879
+ * @param event - The MouseEvent containing the cursor position.
1880
+ * @param containerSize - The size of the dropdown container.
1881
+ * @returns The animation origin string (e.g., 'top left', 'bottom right').
1882
+ */
1883
+ calculateMousePositionAnimationOrigin(event, containerSize) {
1884
+ const EDGE_MARGIN = 20;
1885
+ const rightSpace = document.body.clientWidth - event.clientX;
1886
+ const bottomSpace = document.body.clientHeight - event.clientY;
1887
+ const hasRightSpace = rightSpace >= containerSize.width + EDGE_MARGIN;
1888
+ const hasBottomSpace = bottomSpace >= containerSize.height + EDGE_MARGIN;
1889
+ if (!hasRightSpace && !hasBottomSpace) {
1890
+ return 'bottom right';
1891
+ }
1892
+ if (!hasRightSpace) {
1893
+ return 'top right';
1894
+ }
1895
+ if (!hasBottomSpace) {
1896
+ return 'bottom left';
1897
+ }
1898
+ return 'top left';
1899
+ }
1900
+ /**
1901
+ * Calculates position adjustments for the dropdown when opened from mouse position.
1902
+ * Ensures the dropdown stays within boundaries and positions intelligently.
1903
+ *
1904
+ * @param event - The MouseEvent containing the cursor position.
1905
+ * @param containerSize - The size of the dropdown container.
1906
+ * @returns An object with left and top position adjustments.
1907
+ */
1908
+ calculateMousePositionAdjustment(event, containerSize) {
1909
+ const EDGE_MARGIN = 20;
1910
+ const rightSpace = document.body.clientWidth - event.clientX;
1911
+ const bottomSpace = document.body.clientHeight - event.clientY;
1912
+ let left = event.clientX;
1913
+ let top = event.clientY;
1914
+ if (rightSpace < containerSize.width + EDGE_MARGIN && bottomSpace < containerSize.height + EDGE_MARGIN) {
1915
+ left = event.clientX - containerSize.width + (rightSpace - EDGE_MARGIN);
1916
+ top = event.clientY - containerSize.height + (bottomSpace - EDGE_MARGIN);
1917
+ }
1918
+ else if (rightSpace < containerSize.width + EDGE_MARGIN) {
1919
+ left = event.clientX - containerSize.width + (rightSpace - EDGE_MARGIN);
1920
+ }
1921
+ else if (bottomSpace < containerSize.height + EDGE_MARGIN) {
1922
+ top = event.clientY - containerSize.height + (bottomSpace - EDGE_MARGIN);
1923
+ }
1924
+ return { left, top };
1925
+ }
1926
+ /**
1927
+ * Creates a global position strategy for mouse-positioned dropdowns.
1928
+ *
1929
+ * @param event - The MouseEvent containing the cursor position.
1930
+ * @returns The configured PositionStrategy for the overlay.
1931
+ */
1932
+ createMousePositionStrategy(event) {
1933
+ if (window.innerWidth <= 768) {
1934
+ return this.overlay.position().global().bottom();
1935
+ }
1936
+ return this.overlay
1937
+ .position()
1938
+ .flexibleConnectedTo({ x: event.clientX, y: event.clientY })
1939
+ .withPositions([
1940
+ {
1941
+ originX: 'start',
1942
+ originY: 'top',
1943
+ overlayX: 'start',
1944
+ overlayY: 'top',
1945
+ },
1946
+ ]);
1947
+ }
1948
+ subscribeToOutsideEvents(overlayRef) {
1949
+ super.subscribeToOutsideEvents();
1950
+ if (!overlayRef) {
1951
+ return;
1952
+ }
1953
+ timer(150)
1954
+ .pipe(switchMap(() => overlayRef.outsidePointerEvents()), tap(() => {
1955
+ this.closeAll();
1956
+ }), takeUntil(this.destroyOutsideClickSubscription$))
1957
+ .subscribe();
1958
+ }
1959
+ /**
1960
+ * Fetches and normalizes dropdown parameters.
1961
+ *
1962
+ * @param parameters - Partial configuration options for the dropdown.
1963
+ * @returns A complete set of dropdown parameters with default values applied.
1964
+ */
1965
+ fetchDropDownParameters(parameters) {
1966
+ return {
1967
+ hasBackdrop: parameters.hasBackdrop === undefined ? false : parameters.hasBackdrop,
1968
+ options: parameters.options === undefined ? {} : parameters.options,
1969
+ position: parameters.position === undefined ? 'bottom' : parameters.position,
1970
+ removePrevious: parameters.removePrevious === undefined ? true : parameters.removePrevious,
1971
+ hasAttachedWidth: parameters.hasAttachedWidth === undefined ? false : parameters.hasAttachedWidth,
1972
+ };
1973
+ }
1974
+ /**
1975
+ * Creates a position strategy for the dropdown overlay.
1976
+ *
1977
+ * @param attachedRef - The HTML element to which the dropdown is attached.
1978
+ * @param parameters - The normalized dropdown parameters, including position and options.
1979
+ * @param offsetX - Horizontal offset for dropdown positioning.
1980
+ * @param offsetY - Vertical offset for dropdown positioning.
1981
+ * @returns The configured PositionStrategy for the overlay.
1982
+ */
1983
+ createPositionStrategy(attachedRef, parameters, offsetX, offsetY) {
1984
+ if (window.innerWidth <= 768) {
1985
+ return this.overlay.position().global().bottom();
1986
+ }
1987
+ return this.overlay
1988
+ .position()
1989
+ .flexibleConnectedTo(attachedRef)
1990
+ .withPositions([
1991
+ {
1992
+ ...this.connectedPositions[parameters.position ?? 'bottom'].connectedPosition,
1993
+ offsetX: offsetX,
1994
+ offsetY: offsetY,
1995
+ },
1996
+ ]);
1997
+ }
1998
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: UiDropdownService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
1999
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: UiDropdownService, providedIn: 'root' });
2000
+ }
2001
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: UiDropdownService, decorators: [{
2002
+ type: Injectable,
2003
+ args: [{
2004
+ providedIn: 'root',
2005
+ }]
2006
+ }] });
2007
+
2008
+ class UiDropdownContainerDirective extends UiPopupContainerDirective {
2009
+ dropDownService;
2010
+ renderer;
2011
+ $width = signal('', ...(ngDevMode ? [{ debugName: "$width" }] : []));
2012
+ $contentWrapper = viewChild('contentWrapper', ...(ngDevMode ? [{ debugName: "$contentWrapper" }] : []));
2013
+ $swipeButton = viewChild('swipeButton', ...(ngDevMode ? [{ debugName: "$swipeButton" }] : []));
2014
+ $animationParams = signal({
2015
+ startOrigin: 'center center',
2016
+ endOrigin: 'center center',
2017
+ start: 'scale(0)',
2018
+ end: 'scale(1)',
2019
+ leftStart: '',
2020
+ leftEnd: '',
2021
+ topStart: '',
2022
+ topEnd: '',
2023
+ }, ...(ngDevMode ? [{ debugName: "$animationParams" }] : []));
2024
+ constructor(dropDownService, popupInstance, destroyRef, elementRef, renderer) {
2025
+ super(popupInstance, destroyRef, dropDownService, elementRef);
2026
+ this.dropDownService = dropDownService;
2027
+ this.renderer = renderer;
2028
+ afterRenderEffect(() => {
2029
+ this.initTouchEvents();
2030
+ });
2031
+ }
2032
+ ngOnInit() {
2033
+ super.ngOnInit();
2034
+ if (window.innerWidth <= 768) {
2035
+ this.destroyAnimationOrigin$.next();
2036
+ this.$animationParams.set({
2037
+ startOrigin: 'bottom center',
2038
+ endOrigin: 'bottom center',
2039
+ start: 'translateY(100%)',
2040
+ end: 'translateY(0%)',
2041
+ leftStart: '',
2042
+ leftEnd: '',
2043
+ topStart: '',
2044
+ topEnd: '',
2045
+ });
2046
+ }
2047
+ fromEvent(this.elementRef.nativeElement, 'wheel', { passive: true })
2048
+ .pipe(tap((e) => {
2049
+ e.stopPropagation();
2050
+ }), takeUntilDestroyed(this.destroyRef))
2051
+ .subscribe();
2052
+ }
2053
+ ngAfterViewInit() {
2054
+ if (this.popupInstance.width) {
2055
+ this.$width.set(this.popupInstance.width + 'px');
2056
+ }
2057
+ const contentWrapper = this.$contentWrapper();
2058
+ if (contentWrapper) {
2059
+ this.dropDownService.containerSize$.next({
2060
+ width: contentWrapper.nativeElement.offsetWidth,
2061
+ height: contentWrapper.nativeElement.offsetHeight,
2062
+ });
2063
+ }
2064
+ }
2065
+ initTouchEvents() {
2066
+ const swipeButton = this.$swipeButton();
2067
+ const contentWrapper = this.$contentWrapper();
2068
+ if (contentWrapper && swipeButton) {
2069
+ let startY = 0;
2070
+ const elementHeight = contentWrapper.nativeElement.offsetHeight;
2071
+ fromEvent(swipeButton.nativeElement, 'touchstart', { passive: false })
2072
+ .pipe(tap((event) => {
2073
+ startY = event.touches[0].clientY;
2074
+ event.preventDefault();
2075
+ }), takeUntilDestroyed(this.destroyRef))
2076
+ .subscribe();
2077
+ fromEvent(swipeButton.nativeElement, 'touchmove', { passive: false })
2078
+ .pipe(tap((event) => {
2079
+ const currentY = event.touches[0].clientY;
2080
+ const heightChange = startY - currentY;
2081
+ if (heightChange > 0) {
2082
+ this.renderer.setStyle(contentWrapper.nativeElement, 'height', `${contentWrapper.nativeElement.offsetHeight + heightChange}px`);
2083
+ }
2084
+ else {
2085
+ const newHeight = contentWrapper.nativeElement.offsetHeight + heightChange;
2086
+ if (newHeight > 50) {
2087
+ this.renderer.setStyle(contentWrapper.nativeElement, 'height', `${newHeight}px`);
2088
+ }
2089
+ }
2090
+ startY = currentY;
2091
+ event.preventDefault();
2092
+ }), takeUntilDestroyed(this.destroyRef))
2093
+ .subscribe();
2094
+ fromEvent(swipeButton.nativeElement, 'touchend', { passive: false })
2095
+ .pipe(tap(() => {
2096
+ if (contentWrapper.nativeElement.offsetHeight <= elementHeight / 2) {
2097
+ this.close();
2098
+ }
2099
+ else {
2100
+ this.renderer.setStyle(contentWrapper.nativeElement, 'height', `${elementHeight}px`);
2101
+ }
2102
+ }), takeUntilDestroyed(this.destroyRef))
2103
+ .subscribe();
2104
+ }
2105
+ }
2106
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: UiDropdownContainerDirective, deps: [{ token: UiDropdownService }, { token: UiPopupInstance }, { token: i0.DestroyRef }, { token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive });
2107
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.2.0", version: "21.1.1", type: UiDropdownContainerDirective, isStandalone: true, selector: "app-ui-drop-down-container", viewQueries: [{ propertyName: "$contentWrapper", first: true, predicate: ["contentWrapper"], descendants: true, isSignal: true }, { propertyName: "$swipeButton", first: true, predicate: ["swipeButton"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0 });
2108
+ }
2109
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: UiDropdownContainerDirective, decorators: [{
2110
+ type: Directive,
2111
+ args: [{
2112
+ selector: 'app-ui-drop-down-container',
2113
+ }]
2114
+ }], ctorParameters: () => [{ type: UiDropdownService }, { type: UiPopupInstance, decorators: [{
2115
+ type: Inject,
2116
+ args: [UiPopupInstance]
2117
+ }] }, { type: i0.DestroyRef }, { type: i0.ElementRef }, { type: i0.Renderer2 }], propDecorators: { $contentWrapper: [{ type: i0.ViewChild, args: ['contentWrapper', { isSignal: true }] }], $swipeButton: [{ type: i0.ViewChild, args: ['swipeButton', { isSignal: true }] }] } });
2118
+
2119
+ class HoverTipDirective {
2120
+ hostRef;
2121
+ uiDropdownService;
2122
+ destroyRef;
2123
+ static instanceCounter = 0;
2124
+ $text = input.required({ ...(ngDevMode ? { debugName: "$text" } : {}), alias: 'appHoverTip' });
2125
+ $debounceTime = input(1000, ...(ngDevMode ? [{ debugName: "$debounceTime" }] : []));
2126
+ $position = input('top', { ...(ngDevMode ? { debugName: "$position" } : {}), alias: 'appHoverTipPosition' });
2127
+ $offsetX = input(0, { ...(ngDevMode ? { debugName: "$offsetX" } : {}), alias: 'appHoverTipOffsetX' });
2128
+ $offsetY = input(0, { ...(ngDevMode ? { debugName: "$offsetY" } : {}), alias: 'appHoverTipOffsetY' });
2129
+ tipId = `hover-tip-${HoverTipDirective.instanceCounter++}`;
2130
+ isOpen = false;
2131
+ constructor(hostRef, uiDropdownService, destroyRef) {
2132
+ this.hostRef = hostRef;
2133
+ this.uiDropdownService = uiDropdownService;
2134
+ this.destroyRef = destroyRef;
2135
+ this.destroyRef.onDestroy(() => {
2136
+ this.closeTip();
2137
+ });
2138
+ }
2139
+ ngAfterViewInit() {
2140
+ const debounceTimeValue = this.$debounceTime();
2141
+ fromEvent(this.hostRef.nativeElement, 'mouseenter')
2142
+ .pipe(debounceTime(debounceTimeValue), tap(() => {
2143
+ this.openTip();
2144
+ }), takeUntilDestroyed(this.destroyRef))
2145
+ .subscribe();
2146
+ fromEvent(this.hostRef.nativeElement, 'mouseleave')
2147
+ .pipe(tap(() => {
2148
+ this.closeTip();
2149
+ }), takeUntilDestroyed(this.destroyRef))
2150
+ .subscribe();
2151
+ fromEvent(window, 'blur')
2152
+ .pipe(tap(() => {
2153
+ this.closeTip();
2154
+ }), takeUntilDestroyed(this.destroyRef))
2155
+ .subscribe();
2156
+ }
2157
+ openTip() {
2158
+ const text = this.$text().trim();
2159
+ const isHostHovered = this.hostRef.nativeElement.matches(':hover');
2160
+ if (!text || this.isOpen || !isHostHovered) {
2161
+ return;
2162
+ }
2163
+ this.uiDropdownService.openTip(text, this.hostRef.nativeElement, this.tipId, this.$position(), this.$offsetY(), this.$offsetX());
2164
+ this.isOpen = true;
2165
+ }
2166
+ closeTip() {
2167
+ if (!this.isOpen) {
2168
+ return;
2169
+ }
2170
+ this.uiDropdownService.closeById(this.tipId);
2171
+ this.isOpen = false;
2172
+ }
2173
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: HoverTipDirective, deps: [{ token: i0.ElementRef }, { token: UiDropdownService }, { token: i0.DestroyRef }], target: i0.ɵɵFactoryTarget.Directive });
2174
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.1.1", type: HoverTipDirective, isStandalone: true, selector: "[appHoverTip]", inputs: { $text: { classPropertyName: "$text", publicName: "appHoverTip", isSignal: true, isRequired: true, transformFunction: null }, $debounceTime: { classPropertyName: "$debounceTime", publicName: "$debounceTime", isSignal: true, isRequired: false, transformFunction: null }, $position: { classPropertyName: "$position", publicName: "appHoverTipPosition", isSignal: true, isRequired: false, transformFunction: null }, $offsetX: { classPropertyName: "$offsetX", publicName: "appHoverTipOffsetX", isSignal: true, isRequired: false, transformFunction: null }, $offsetY: { classPropertyName: "$offsetY", publicName: "appHoverTipOffsetY", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0 });
2175
+ }
2176
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: HoverTipDirective, decorators: [{
2177
+ type: Directive,
2178
+ args: [{
2179
+ selector: '[appHoverTip]',
2180
+ }]
2181
+ }], ctorParameters: () => [{ type: i0.ElementRef }, { type: UiDropdownService }, { type: i0.DestroyRef }], propDecorators: { $text: [{ type: i0.Input, args: [{ isSignal: true, alias: "appHoverTip", required: true }] }], $debounceTime: [{ type: i0.Input, args: [{ isSignal: true, alias: "$debounceTime", required: false }] }], $position: [{ type: i0.Input, args: [{ isSignal: true, alias: "appHoverTipPosition", required: false }] }], $offsetX: [{ type: i0.Input, args: [{ isSignal: true, alias: "appHoverTipOffsetX", required: false }] }], $offsetY: [{ type: i0.Input, args: [{ isSignal: true, alias: "appHoverTipOffsetY", required: false }] }] } });
2182
+
2183
+ class UiImageDirective {
2184
+ $src = input.required(...(ngDevMode ? [{ debugName: "$src" }] : []));
2185
+ $maxWidth = input(320, ...(ngDevMode ? [{ debugName: "$maxWidth" }] : []));
2186
+ $maxHeight = input(320, ...(ngDevMode ? [{ debugName: "$maxHeight" }] : []));
2187
+ $canShowImage = signal(true, ...(ngDevMode ? [{ debugName: "$canShowImage" }] : []));
2188
+ $imageWidth = signal(0, ...(ngDevMode ? [{ debugName: "$imageWidth" }] : []));
2189
+ $imageHeight = signal(0, ...(ngDevMode ? [{ debugName: "$imageHeight" }] : []));
2190
+ ngOnInit() {
2191
+ if (this.$src()) {
2192
+ const img = new Image();
2193
+ img.src = this.$src();
2194
+ img.onload = () => {
2195
+ this.setSize(this.$maxWidth(), this.$maxHeight(), img.width, img.height);
2196
+ img.remove();
2197
+ };
2198
+ }
2199
+ else {
2200
+ this.setSize();
2201
+ }
2202
+ }
2203
+ setSize(maxWidth = this.$maxWidth() / 2, maxHeight = this.$maxHeight() / 2, width = 20, height = 20) {
2204
+ const result = getAspectRatioFit(maxWidth, maxHeight, width, height);
2205
+ this.$imageWidth.set(result.width);
2206
+ this.$imageHeight.set(result.height);
2207
+ }
2208
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: UiImageDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
2209
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.1.1", type: UiImageDirective, isStandalone: true, selector: "app-ui-image", inputs: { $src: { classPropertyName: "$src", publicName: "$src", isSignal: true, isRequired: true, transformFunction: null }, $maxWidth: { classPropertyName: "$maxWidth", publicName: "$maxWidth", isSignal: true, isRequired: false, transformFunction: null }, $maxHeight: { classPropertyName: "$maxHeight", publicName: "$maxHeight", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0 });
2210
+ }
2211
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: UiImageDirective, decorators: [{
2212
+ type: Directive,
2213
+ args: [{
2214
+ selector: 'app-ui-image',
2215
+ }]
2216
+ }], propDecorators: { $src: [{ type: i0.Input, args: [{ isSignal: true, alias: "$src", required: true }] }], $maxWidth: [{ type: i0.Input, args: [{ isSignal: true, alias: "$maxWidth", required: false }] }], $maxHeight: [{ type: i0.Input, args: [{ isSignal: true, alias: "$maxHeight", required: false }] }] } });
2217
+
2218
+ class UiPaginationDirective {
2219
+ $hasNext = input.required(...(ngDevMode ? [{ debugName: "$hasNext" }] : []));
2220
+ $hasPrevious = input.required(...(ngDevMode ? [{ debugName: "$hasPrevious" }] : []));
2221
+ $nextClicked = output();
2222
+ $previousClicked = output();
2223
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: UiPaginationDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
2224
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.1.1", type: UiPaginationDirective, isStandalone: true, selector: "app-ui-pagination", inputs: { $hasNext: { classPropertyName: "$hasNext", publicName: "$hasNext", isSignal: true, isRequired: true, transformFunction: null }, $hasPrevious: { classPropertyName: "$hasPrevious", publicName: "$hasPrevious", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { $nextClicked: "$nextClicked", $previousClicked: "$previousClicked" }, ngImport: i0 });
2225
+ }
2226
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: UiPaginationDirective, decorators: [{
2227
+ type: Directive,
2228
+ args: [{
2229
+ selector: 'app-ui-pagination',
2230
+ }]
2231
+ }], propDecorators: { $hasNext: [{ type: i0.Input, args: [{ isSignal: true, alias: "$hasNext", required: true }] }], $hasPrevious: [{ type: i0.Input, args: [{ isSignal: true, alias: "$hasPrevious", required: true }] }], $nextClicked: [{ type: i0.Output, args: ["$nextClicked"] }], $previousClicked: [{ type: i0.Output, args: ["$previousClicked"] }] } });
2232
+
2233
+ class UiPopupImageDirective {
2234
+ destroyRef;
2235
+ src = '';
2236
+ width = 0;
2237
+ height = 0;
2238
+ $imageWidth = signal(0, ...(ngDevMode ? [{ debugName: "$imageWidth" }] : []));
2239
+ $imageHeight = signal(0, ...(ngDevMode ? [{ debugName: "$imageHeight" }] : []));
2240
+ $imageStyleTransform = signal('', ...(ngDevMode ? [{ debugName: "$imageStyleTransform" }] : []));
2241
+ $container = viewChild('container', ...(ngDevMode ? [{ debugName: "$container" }] : []));
2242
+ $image = viewChild('image', ...(ngDevMode ? [{ debugName: "$image" }] : []));
2243
+ $cursor = signal('auto', ...(ngDevMode ? [{ debugName: "$cursor" }] : []));
2244
+ isDragging = false;
2245
+ isTouchDragging = false;
2246
+ isPinching = false;
2247
+ lastTouchX = 0;
2248
+ lastTouchY = 0;
2249
+ lastTouchDistance = 0;
2250
+ size = { w: 0, h: 0 };
2251
+ speed = 0.5;
2252
+ pos = { x: 0, y: 0 };
2253
+ target = { x: 0, y: 0 };
2254
+ pointer = { x: 0, y: 0 };
2255
+ scale = 1;
2256
+ constructor(destroyRef) {
2257
+ this.destroyRef = destroyRef;
2258
+ }
2259
+ ngOnInit() {
2260
+ const result = getAspectRatioFit(window.innerWidth - window.innerWidth / 8, window.innerHeight - window.innerHeight / 8, this.width, this.height);
2261
+ this.$imageWidth.set(result.width);
2262
+ this.$imageHeight.set(result.height);
2263
+ }
2264
+ ngAfterViewInit() {
2265
+ const container = this.$container()?.nativeElement;
2266
+ if (!container)
2267
+ return;
2268
+ this.size = {
2269
+ w: container.offsetWidth,
2270
+ h: container.offsetHeight,
2271
+ };
2272
+ // -----------------------------
2273
+ // KEYBOARD CURSOR LOGIC
2274
+ // -----------------------------
2275
+ fromEvent(window, 'keydown')
2276
+ .pipe(tap((event) => {
2277
+ if (event.ctrlKey)
2278
+ this.$cursor.set('zoom-in');
2279
+ }), takeUntilDestroyed(this.destroyRef))
2280
+ .subscribe();
2281
+ fromEvent(window, 'keyup')
2282
+ .pipe(tap((event) => {
2283
+ if (event.key === 'Control') {
2284
+ this.$cursor.set(this.scale > 1 ? 'grab' : 'auto');
2285
+ }
2286
+ }), takeUntilDestroyed(this.destroyRef))
2287
+ .subscribe();
2288
+ // -----------------------------
2289
+ // MOUSE DRAG
2290
+ // -----------------------------
2291
+ fromEvent(window, 'mouseup')
2292
+ .pipe(tap((event) => {
2293
+ if (event.button === 0) {
2294
+ this.isDragging = false;
2295
+ this.$cursor.set(this.scale > 1 ? 'grab' : 'auto');
2296
+ }
2297
+ }), takeUntilDestroyed(this.destroyRef))
2298
+ .subscribe();
2299
+ fromEvent(container, 'mousedown')
2300
+ .pipe(tap((event) => {
2301
+ if (event.button === 0) {
2302
+ event.preventDefault();
2303
+ this.isDragging = true;
2304
+ this.$cursor.set(this.scale > 1 ? 'grabbing' : 'auto');
2305
+ }
2306
+ }), takeUntilDestroyed(this.destroyRef))
2307
+ .subscribe();
2308
+ fromEvent(window, 'mousemove')
2309
+ .pipe(tap((e) => {
2310
+ if (this.isDragging && this.scale > 1) {
2311
+ this.pos.x += e.movementX;
2312
+ this.pos.y += e.movementY;
2313
+ this.setPosition();
2314
+ this.$imageStyleTransform.set(`translate(${this.pos.x}px,${this.pos.y}px) scale(${this.scale})`);
2315
+ }
2316
+ }), takeUntilDestroyed(this.destroyRef))
2317
+ .subscribe();
2318
+ // -----------------------------
2319
+ // MOUSE WHEEL ZOOM
2320
+ // -----------------------------
2321
+ fromEvent(window, 'wheel', { passive: false })
2322
+ .pipe(tap((event) => {
2323
+ event.preventDefault();
2324
+ const rect = container.getBoundingClientRect();
2325
+ if (event.ctrlKey) {
2326
+ this.pointer.x = event.clientX - rect.left;
2327
+ this.pointer.y = event.clientY - rect.top;
2328
+ this.target.x = (this.pointer.x - this.pos.x) / this.scale;
2329
+ this.target.y = (this.pointer.y - this.pos.y) / this.scale;
2330
+ this.scale += -1 * Math.max(-1, Math.min(1, event.deltaY)) * this.speed * this.scale;
2331
+ const maxScale = 4;
2332
+ const minScale = 1;
2333
+ this.scale = Math.max(minScale, Math.min(maxScale, this.scale));
2334
+ this.pos.x = -this.target.x * this.scale + this.pointer.x;
2335
+ this.pos.y = -this.target.y * this.scale + this.pointer.y;
2336
+ this.setPosition();
2337
+ this.$imageStyleTransform.set(`translate(${this.pos.x}px,${this.pos.y}px) scale(${this.scale})`);
2338
+ }
2339
+ else {
2340
+ this.pos.x -= event.deltaX * 2;
2341
+ this.pos.y -= event.deltaY * 2;
2342
+ }
2343
+ }), takeUntilDestroyed(this.destroyRef))
2344
+ .subscribe();
2345
+ // -----------------------------
2346
+ // TOUCH PINCH ZOOM
2347
+ // -----------------------------
2348
+ fromEvent(container, 'touchstart')
2349
+ .pipe(tap((event) => {
2350
+ if (event.touches.length === 2) {
2351
+ this.isPinching = true;
2352
+ const [t1, t2] = event.touches;
2353
+ this.lastTouchDistance = Math.hypot(t2.clientX - t1.clientX, t2.clientY - t1.clientY);
2354
+ }
2355
+ if (event.touches.length === 1 && this.scale > 1) {
2356
+ const t = event.touches[0];
2357
+ this.lastTouchX = t.clientX;
2358
+ this.lastTouchY = t.clientY;
2359
+ this.isTouchDragging = true;
2360
+ this.$cursor.set('grabbing');
2361
+ }
2362
+ }), takeUntilDestroyed(this.destroyRef))
2363
+ .subscribe();
2364
+ fromEvent(container, 'touchmove')
2365
+ .pipe(tap((event) => {
2366
+ if (this.isPinching && event.touches.length === 2) {
2367
+ event.preventDefault();
2368
+ const [t1, t2] = event.touches;
2369
+ const newDistance = Math.hypot(t2.clientX - t1.clientX, t2.clientY - t1.clientY);
2370
+ const delta = newDistance - this.lastTouchDistance;
2371
+ this.lastTouchDistance = newDistance;
2372
+ const rect = container.getBoundingClientRect();
2373
+ const centerX = (t1.clientX + t2.clientX) / 2 - rect.left;
2374
+ const centerY = (t1.clientY + t2.clientY) / 2 - rect.top;
2375
+ this.pointer.x = centerX;
2376
+ this.pointer.y = centerY;
2377
+ this.target.x = (this.pointer.x - this.pos.x) / this.scale;
2378
+ this.target.y = (this.pointer.y - this.pos.y) / this.scale;
2379
+ const pinchSpeed = 0.005;
2380
+ this.scale += delta * pinchSpeed * this.scale;
2381
+ const maxScale = 4;
2382
+ const minScale = 1;
2383
+ this.scale = Math.max(minScale, Math.min(maxScale, this.scale));
2384
+ this.pos.x = -this.target.x * this.scale + this.pointer.x;
2385
+ this.pos.y = -this.target.y * this.scale + this.pointer.y;
2386
+ this.setPosition();
2387
+ this.$imageStyleTransform.set(`translate(${this.pos.x}px,${this.pos.y}px) scale(${this.scale})`);
2388
+ }
2389
+ if (this.isTouchDragging && event.touches.length === 1) {
2390
+ event.preventDefault();
2391
+ const t = event.touches[0];
2392
+ const dx = t.clientX - this.lastTouchX;
2393
+ const dy = t.clientY - this.lastTouchY;
2394
+ this.lastTouchX = t.clientX;
2395
+ this.lastTouchY = t.clientY;
2396
+ this.pos.x += dx;
2397
+ this.pos.y += dy;
2398
+ this.setPosition();
2399
+ this.$imageStyleTransform.set(`translate(${this.pos.x}px,${this.pos.y}px) scale(${this.scale})`);
2400
+ }
2401
+ }), takeUntilDestroyed(this.destroyRef))
2402
+ .subscribe();
2403
+ fromEvent(container, 'touchend')
2404
+ .pipe(tap(() => {
2405
+ this.isPinching = false;
2406
+ this.isTouchDragging = false;
2407
+ this.$cursor.set(this.scale > 1 ? 'grab' : 'auto');
2408
+ }), takeUntilDestroyed(this.destroyRef))
2409
+ .subscribe();
2410
+ }
2411
+ setPosition() {
2412
+ if (this.pos.x > 0)
2413
+ this.pos.x = 0;
2414
+ if (this.pos.x + this.size.w * this.scale < this.size.w) {
2415
+ this.pos.x = -this.size.w * (this.scale - 1);
2416
+ }
2417
+ if (this.pos.y > 0)
2418
+ this.pos.y = 0;
2419
+ if (this.pos.y + this.size.h * this.scale < this.size.h) {
2420
+ this.pos.y = -this.size.h * (this.scale - 1);
2421
+ }
2422
+ }
2423
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: UiPopupImageDirective, deps: [{ token: i0.DestroyRef }], target: i0.ɵɵFactoryTarget.Directive });
2424
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.2.0", version: "21.1.1", type: UiPopupImageDirective, isStandalone: true, selector: "app-ui-popup-image", inputs: { src: "src", width: "width", height: "height" }, viewQueries: [{ propertyName: "$container", first: true, predicate: ["container"], descendants: true, isSignal: true }, { propertyName: "$image", first: true, predicate: ["image"], descendants: true, isSignal: true }], ngImport: i0 });
2425
+ }
2426
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: UiPopupImageDirective, decorators: [{
2427
+ type: Directive,
2428
+ args: [{
2429
+ selector: 'app-ui-popup-image',
2430
+ }]
2431
+ }], ctorParameters: () => [{ type: i0.DestroyRef }], propDecorators: { src: [{
2432
+ type: Input,
2433
+ args: [{ required: true }]
2434
+ }], width: [{
2435
+ type: Input,
2436
+ args: [{ required: true }]
2437
+ }], height: [{
2438
+ type: Input,
2439
+ args: [{ required: true }]
2440
+ }], $container: [{ type: i0.ViewChild, args: ['container', { isSignal: true }] }], $image: [{ type: i0.ViewChild, args: ['image', { isSignal: true }] }] } });
2441
+
2442
+ class UiPopupBackdropDirective {
2443
+ elementRef;
2444
+ uiPopupService;
2445
+ destroyRef;
2446
+ isStaticBackdrop = false;
2447
+ constructor(elementRef, uiPopupService, destroyRef) {
2448
+ this.elementRef = elementRef;
2449
+ this.uiPopupService = uiPopupService;
2450
+ this.destroyRef = destroyRef;
2451
+ }
2452
+ ngOnInit() {
2453
+ fromEvent(this.elementRef.nativeElement, 'click')
2454
+ .pipe(tap(() => {
2455
+ if (this.isStaticBackdrop) {
2456
+ return;
2457
+ }
2458
+ this.uiPopupService.closeAll();
2459
+ }), takeUntilDestroyed(this.destroyRef))
2460
+ .subscribe();
2461
+ }
2462
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: UiPopupBackdropDirective, deps: [{ token: i0.ElementRef }, { token: UiPopupService }, { token: i0.DestroyRef }], target: i0.ɵɵFactoryTarget.Directive });
2463
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.1.1", type: UiPopupBackdropDirective, isStandalone: true, selector: "app-ui-popup-backdrop", inputs: { isStaticBackdrop: "isStaticBackdrop" }, ngImport: i0 });
2464
+ }
2465
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: UiPopupBackdropDirective, decorators: [{
2466
+ type: Directive,
2467
+ args: [{ selector: 'app-ui-popup-backdrop' }]
2468
+ }], ctorParameters: () => [{ type: i0.ElementRef }, { type: UiPopupService }, { type: i0.DestroyRef }], propDecorators: { isStaticBackdrop: [{
2469
+ type: Input
2470
+ }] } });
2471
+
2472
+ const buttonColors = [
2473
+ 'primary',
2474
+ 'secondary',
2475
+ 'tertiary',
2476
+ 'quaternary',
2477
+ 'success',
2478
+ 'warning',
2479
+ 'info',
2480
+ 'danger',
2481
+ ];
2482
+ class UiButtonDirective {
2483
+ elementRef;
2484
+ renderer;
2485
+ $color = input.required(...(ngDevMode ? [{ debugName: "$color" }] : []));
2486
+ $isOutlined = input(false, ...(ngDevMode ? [{ debugName: "$isOutlined" }] : []));
2487
+ $isRounded = input(false, ...(ngDevMode ? [{ debugName: "$isRounded" }] : []));
2488
+ $sizeBehavior = input('padding', ...(ngDevMode ? [{ debugName: "$sizeBehavior" }] : []));
2489
+ $size = input('medium', ...(ngDevMode ? [{ debugName: "$size" }] : []));
2490
+ $isDisabled = input(false, ...(ngDevMode ? [{ debugName: "$isDisabled" }] : []));
2491
+ $isLoading = input(false, ...(ngDevMode ? [{ debugName: "$isLoading" }] : []));
2492
+ constructor(elementRef, renderer) {
2493
+ this.elementRef = elementRef;
2494
+ this.renderer = renderer;
2495
+ effect(() => {
2496
+ if (this.$sizeBehavior() === 'block') {
2497
+ this.renderer.addClass(this.elementRef.nativeElement, 'block');
2498
+ }
2499
+ else {
2500
+ this.renderer.removeClass(this.elementRef.nativeElement, 'block');
2501
+ }
2502
+ });
2503
+ effect(() => {
2504
+ const isOutlined = this.$isOutlined();
2505
+ if (isOutlined) {
2506
+ this.renderer.addClass(this.elementRef.nativeElement, 'outline');
2507
+ }
2508
+ else {
2509
+ this.renderer.removeClass(this.elementRef.nativeElement, 'outline');
2510
+ }
2511
+ });
2512
+ effect(() => {
2513
+ const isRounded = this.$isRounded();
2514
+ if (isRounded) {
2515
+ this.renderer.addClass(this.elementRef.nativeElement, 'rounded');
2516
+ }
2517
+ else {
2518
+ this.renderer.removeClass(this.elementRef.nativeElement, 'rounded');
2519
+ }
2520
+ });
2521
+ effect(() => {
2522
+ if (this.$size() === 'small') {
2523
+ this.renderer.addClass(this.elementRef.nativeElement, 'small');
2524
+ }
2525
+ else {
2526
+ this.renderer.removeClass(this.elementRef.nativeElement, 'small');
2527
+ }
2528
+ });
2529
+ effect(() => {
2530
+ if (this.$isDisabled()) {
2531
+ this.renderer.addClass(this.elementRef.nativeElement, 'disabled');
2532
+ }
2533
+ else {
2534
+ this.renderer.removeClass(this.elementRef.nativeElement, 'disabled');
2535
+ }
2536
+ });
2537
+ effect(() => {
2538
+ if (this.$isLoading()) {
2539
+ this.renderer.addClass(this.elementRef.nativeElement, 'loading');
2540
+ }
2541
+ else {
2542
+ this.renderer.removeClass(this.elementRef.nativeElement, 'loading');
2543
+ }
2544
+ });
2545
+ effect(() => {
2546
+ const color = this.$color();
2547
+ buttonColors.forEach((color) => {
2548
+ this.renderer.removeClass(this.elementRef.nativeElement, color);
2549
+ });
2550
+ this.renderer.addClass(this.elementRef.nativeElement, color);
2551
+ });
2552
+ }
2553
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: UiButtonDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive });
2554
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.1.1", type: UiButtonDirective, isStandalone: true, selector: "app-ui-button", inputs: { $color: { classPropertyName: "$color", publicName: "$color", isSignal: true, isRequired: true, transformFunction: null }, $isOutlined: { classPropertyName: "$isOutlined", publicName: "$isOutlined", isSignal: true, isRequired: false, transformFunction: null }, $isRounded: { classPropertyName: "$isRounded", publicName: "$isRounded", isSignal: true, isRequired: false, transformFunction: null }, $sizeBehavior: { classPropertyName: "$sizeBehavior", publicName: "$sizeBehavior", isSignal: true, isRequired: false, transformFunction: null }, $size: { classPropertyName: "$size", publicName: "$size", isSignal: true, isRequired: false, transformFunction: null }, $isDisabled: { classPropertyName: "$isDisabled", publicName: "$isDisabled", isSignal: true, isRequired: false, transformFunction: null }, $isLoading: { classPropertyName: "$isLoading", publicName: "$isLoading", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0 });
2555
+ }
2556
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: UiButtonDirective, decorators: [{
2557
+ type: Directive,
2558
+ args: [{
2559
+ selector: 'app-ui-button',
2560
+ }]
2561
+ }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.Renderer2 }], propDecorators: { $color: [{ type: i0.Input, args: [{ isSignal: true, alias: "$color", required: true }] }], $isOutlined: [{ type: i0.Input, args: [{ isSignal: true, alias: "$isOutlined", required: false }] }], $isRounded: [{ type: i0.Input, args: [{ isSignal: true, alias: "$isRounded", required: false }] }], $sizeBehavior: [{ type: i0.Input, args: [{ isSignal: true, alias: "$sizeBehavior", required: false }] }], $size: [{ type: i0.Input, args: [{ isSignal: true, alias: "$size", required: false }] }], $isDisabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "$isDisabled", required: false }] }], $isLoading: [{ type: i0.Input, args: [{ isSignal: true, alias: "$isLoading", required: false }] }] } });
2562
+
2563
+ class UiSelectButtonsDirective {
2564
+ renderer;
2565
+ elementRef;
2566
+ destroyRef;
2567
+ platformId;
2568
+ $buttons = input.required(...(ngDevMode ? [{ debugName: "$buttons" }] : []));
2569
+ $selectedButtonIndex = signal(0, ...(ngDevMode ? [{ debugName: "$selectedButtonIndex" }] : []));
2570
+ $alignment = input('left', ...(ngDevMode ? [{ debugName: "$alignment" }] : []));
2571
+ $overflowMode = input('scroll', ...(ngDevMode ? [{ debugName: "$overflowMode" }] : []));
2572
+ $buttonChanged = output();
2573
+ $isScrollable = signal(false, ...(ngDevMode ? [{ debugName: "$isScrollable" }] : []));
2574
+ constructor(renderer, elementRef, destroyRef, platformId) {
2575
+ this.renderer = renderer;
2576
+ this.elementRef = elementRef;
2577
+ this.destroyRef = destroyRef;
2578
+ this.platformId = platformId;
2579
+ }
2580
+ ngOnInit() {
2581
+ this.renderer.addClass(this.elementRef.nativeElement, this.$alignment());
2582
+ this.renderer.addClass(this.elementRef.nativeElement, this.$overflowMode());
2583
+ }
2584
+ ngAfterViewInit() {
2585
+ this.checkScroll();
2586
+ if (isPlatformBrowser(this.platformId)) {
2587
+ const resizeObserver = new ResizeObserver(() => {
2588
+ this.checkScroll();
2589
+ });
2590
+ resizeObserver.observe(this.elementRef.nativeElement);
2591
+ this.destroyRef.onDestroy(() => {
2592
+ resizeObserver.disconnect();
2593
+ });
2594
+ }
2595
+ }
2596
+ select(index) {
2597
+ this.$selectedButtonIndex.set(index);
2598
+ this.$buttonChanged.emit(index);
2599
+ }
2600
+ checkScroll() {
2601
+ const el = this.elementRef.nativeElement;
2602
+ const isScrollable = el.scrollWidth > el.clientWidth || el.scrollHeight > el.clientHeight;
2603
+ this.$isScrollable.set(isScrollable);
2604
+ if (isScrollable) {
2605
+ this.renderer.addClass(this.elementRef.nativeElement, 'scrollable');
2606
+ }
2607
+ else {
2608
+ this.renderer.removeClass(this.elementRef.nativeElement, 'scrollable');
2609
+ }
2610
+ }
2611
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: UiSelectButtonsDirective, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i0.DestroyRef }, { token: PLATFORM_ID }], target: i0.ɵɵFactoryTarget.Directive });
2612
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.1.1", type: UiSelectButtonsDirective, isStandalone: true, selector: "app-ui-select-buttons", inputs: { $buttons: { classPropertyName: "$buttons", publicName: "$buttons", isSignal: true, isRequired: true, transformFunction: null }, $alignment: { classPropertyName: "$alignment", publicName: "$alignment", isSignal: true, isRequired: false, transformFunction: null }, $overflowMode: { classPropertyName: "$overflowMode", publicName: "$overflowMode", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { $buttonChanged: "$buttonChanged" }, ngImport: i0 });
2613
+ }
2614
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: UiSelectButtonsDirective, decorators: [{
2615
+ type: Directive,
2616
+ args: [{
2617
+ selector: 'app-ui-select-buttons',
2618
+ }]
2619
+ }], ctorParameters: () => [{ type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i0.DestroyRef }, { type: undefined, decorators: [{
2620
+ type: Inject,
2621
+ args: [PLATFORM_ID]
2622
+ }] }], propDecorators: { $buttons: [{ type: i0.Input, args: [{ isSignal: true, alias: "$buttons", required: true }] }], $alignment: [{ type: i0.Input, args: [{ isSignal: true, alias: "$alignment", required: false }] }], $overflowMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "$overflowMode", required: false }] }], $buttonChanged: [{ type: i0.Output, args: ["$buttonChanged"] }] } });
2623
+
2624
+ class UiCopyButtonDirective {
2625
+ destroyRef;
2626
+ $text = input.required(...(ngDevMode ? [{ debugName: "$text" }] : []));
2627
+ $isCopied = signal(false, ...(ngDevMode ? [{ debugName: "$isCopied" }] : []));
2628
+ destroyTimer$ = new Subject();
2629
+ constructor(destroyRef) {
2630
+ this.destroyRef = destroyRef;
2631
+ }
2632
+ copy() {
2633
+ this.destroyTimer$.next();
2634
+ const text = this.$text();
2635
+ if (window.navigator.clipboard && window.navigator.clipboard.writeText) {
2636
+ window.navigator.clipboard
2637
+ .writeText(text)
2638
+ .then(() => {
2639
+ this.$isCopied.set(true);
2640
+ timer(5000)
2641
+ .pipe(tap(() => {
2642
+ this.$isCopied.set(false);
2643
+ }), takeUntil(this.destroyTimer$), takeUntilDestroyed(this.destroyRef))
2644
+ .subscribe();
2645
+ })
2646
+ .catch((err) => {
2647
+ console.error('Error copying text:', err);
2648
+ });
2649
+ }
2650
+ }
2651
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: UiCopyButtonDirective, deps: [{ token: i0.DestroyRef }], target: i0.ɵɵFactoryTarget.Directive });
2652
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.1.1", type: UiCopyButtonDirective, isStandalone: true, selector: "app-ui-copy-button", inputs: { $text: { classPropertyName: "$text", publicName: "$text", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0 });
2653
+ }
2654
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: UiCopyButtonDirective, decorators: [{
2655
+ type: Directive,
2656
+ args: [{
2657
+ selector: 'app-ui-copy-button',
2658
+ }]
2659
+ }], ctorParameters: () => [{ type: i0.DestroyRef }], propDecorators: { $text: [{ type: i0.Input, args: [{ isSignal: true, alias: "$text", required: true }] }] } });
2660
+
2661
+ class UiTabsDirective {
2662
+ renderer;
2663
+ elementRef;
2664
+ $tabs = model.required(...(ngDevMode ? [{ debugName: "$tabs" }] : []));
2665
+ $alignment = input('left', ...(ngDevMode ? [{ debugName: "$alignment" }] : []));
2666
+ $selectedTabIndex = model(0, ...(ngDevMode ? [{ debugName: "$selectedTabIndex" }] : []));
2667
+ $templates = contentChildren('tab', ...(ngDevMode ? [{ debugName: "$templates" }] : []));
2668
+ $headContent = contentChild('head', ...(ngDevMode ? [{ debugName: "$headContent" }] : []));
2669
+ constructor(renderer, elementRef) {
2670
+ this.renderer = renderer;
2671
+ this.elementRef = elementRef;
2672
+ effect(() => {
2673
+ const tabs = this.$tabs();
2674
+ this.$templates().forEach((f, i) => {
2675
+ tabs[i].template = f;
2676
+ });
2677
+ untracked(() => {
2678
+ this.$tabs.set(tabs);
2679
+ });
2680
+ });
2681
+ }
2682
+ ngOnInit() {
2683
+ this.renderer.addClass(this.elementRef.nativeElement, this.$alignment());
2684
+ }
2685
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: UiTabsDirective, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
2686
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.2.0", version: "21.1.1", type: UiTabsDirective, isStandalone: true, selector: "[appUiTabs]", inputs: { $tabs: { classPropertyName: "$tabs", publicName: "$tabs", isSignal: true, isRequired: true, transformFunction: null }, $alignment: { classPropertyName: "$alignment", publicName: "$alignment", isSignal: true, isRequired: false, transformFunction: null }, $selectedTabIndex: { classPropertyName: "$selectedTabIndex", publicName: "$selectedTabIndex", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { $tabs: "$tabsChange", $selectedTabIndex: "$selectedTabIndexChange" }, queries: [{ propertyName: "$templates", predicate: ["tab"], isSignal: true }, { propertyName: "$headContent", first: true, predicate: ["head"], descendants: true, isSignal: true }], exportAs: ["uiTabs"], ngImport: i0 });
2687
+ }
2688
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: UiTabsDirective, decorators: [{
2689
+ type: Directive,
2690
+ args: [{
2691
+ selector: '[appUiTabs]',
2692
+ exportAs: 'uiTabs',
2693
+ }]
2694
+ }], ctorParameters: () => [{ type: i0.Renderer2 }, { type: i0.ElementRef }], propDecorators: { $tabs: [{ type: i0.Input, args: [{ isSignal: true, alias: "$tabs", required: true }] }, { type: i0.Output, args: ["$tabsChange"] }], $alignment: [{ type: i0.Input, args: [{ isSignal: true, alias: "$alignment", required: false }] }], $selectedTabIndex: [{ type: i0.Input, args: [{ isSignal: true, alias: "$selectedTabIndex", required: false }] }, { type: i0.Output, args: ["$selectedTabIndexChange"] }], $templates: [{ type: i0.ContentChildren, args: ['tab', { isSignal: true }] }], $headContent: [{ type: i0.ContentChild, args: ['head', { isSignal: true }] }] } });
2695
+
2696
+ class UiFieldBaseDirective {
2697
+ value = model(null, ...(ngDevMode ? [{ debugName: "value" }] : []));
2698
+ disabled = input(false, ...(ngDevMode ? [{ debugName: "disabled" }] : []));
2699
+ invalid = model(false, ...(ngDevMode ? [{ debugName: "invalid" }] : []));
2700
+ errors = input([], ...(ngDevMode ? [{ debugName: "errors" }] : []));
2701
+ touched = model(false, ...(ngDevMode ? [{ debugName: "touched" }] : []));
2702
+ dirty = model(false, ...(ngDevMode ? [{ debugName: "dirty" }] : []));
2703
+ initialValue = null;
2704
+ ngOnInit() {
2705
+ this.initialValue = this.value();
2706
+ }
2707
+ onInput(value) {
2708
+ this.value.set(value);
2709
+ if (this.initialValue !== null && value !== this.initialValue) {
2710
+ this.dirty.set(true);
2711
+ }
2712
+ }
2713
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: UiFieldBaseDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
2714
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.1.1", type: UiFieldBaseDirective, isStandalone: true, selector: "app-ui-field-base", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, invalid: { classPropertyName: "invalid", publicName: "invalid", isSignal: true, isRequired: false, transformFunction: null }, errors: { classPropertyName: "errors", publicName: "errors", isSignal: true, isRequired: false, transformFunction: null }, touched: { classPropertyName: "touched", publicName: "touched", isSignal: true, isRequired: false, transformFunction: null }, dirty: { classPropertyName: "dirty", publicName: "dirty", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { value: "valueChange", invalid: "invalidChange", touched: "touchedChange", dirty: "dirtyChange" }, ngImport: i0 });
2715
+ }
2716
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: UiFieldBaseDirective, decorators: [{
2717
+ type: Directive,
2718
+ args: [{
2719
+ selector: 'app-ui-field-base',
2720
+ }]
2721
+ }], propDecorators: { value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: false }] }, { type: i0.Output, args: ["valueChange"] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], invalid: [{ type: i0.Input, args: [{ isSignal: true, alias: "invalid", required: false }] }, { type: i0.Output, args: ["invalidChange"] }], errors: [{ type: i0.Input, args: [{ isSignal: true, alias: "errors", required: false }] }], touched: [{ type: i0.Input, args: [{ isSignal: true, alias: "touched", required: false }] }, { type: i0.Output, args: ["touchedChange"] }], dirty: [{ type: i0.Input, args: [{ isSignal: true, alias: "dirty", required: false }] }, { type: i0.Output, args: ["dirtyChange"] }] } });
2722
+
2723
+ class UiInputCheckboxDirective {
2724
+ checked = model(false, ...(ngDevMode ? [{ debugName: "checked" }] : []));
2725
+ invalid = model(false, ...(ngDevMode ? [{ debugName: "invalid" }] : []));
2726
+ disabled = input(false, ...(ngDevMode ? [{ debugName: "disabled" }] : []));
2727
+ $style = input('primary', ...(ngDevMode ? [{ debugName: "$style" }] : []));
2728
+ $label = input('', ...(ngDevMode ? [{ debugName: "$label" }] : []));
2729
+ $hideValidatorErrors = input(false, ...(ngDevMode ? [{ debugName: "$hideValidatorErrors" }] : []));
2730
+ errors = input([], ...(ngDevMode ? [{ debugName: "errors" }] : []));
2731
+ touched = model(false, ...(ngDevMode ? [{ debugName: "touched" }] : []));
2732
+ dirty = model(false, ...(ngDevMode ? [{ debugName: "dirty" }] : []));
2733
+ $isError = computed(() => {
2734
+ return (this.touched() || (this.dirty() && this.touched())) && this.invalid();
2735
+ }, ...(ngDevMode ? [{ debugName: "$isError" }] : []));
2736
+ change() {
2737
+ this.checked.update((val) => !val);
2738
+ }
2739
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: UiInputCheckboxDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
2740
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.1.1", type: UiInputCheckboxDirective, isStandalone: true, selector: "app-ui-input", inputs: { checked: { classPropertyName: "checked", publicName: "checked", isSignal: true, isRequired: false, transformFunction: null }, invalid: { classPropertyName: "invalid", publicName: "invalid", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, $style: { classPropertyName: "$style", publicName: "$style", isSignal: true, isRequired: false, transformFunction: null }, $label: { classPropertyName: "$label", publicName: "$label", isSignal: true, isRequired: false, transformFunction: null }, $hideValidatorErrors: { classPropertyName: "$hideValidatorErrors", publicName: "$hideValidatorErrors", isSignal: true, isRequired: false, transformFunction: null }, errors: { classPropertyName: "errors", publicName: "errors", isSignal: true, isRequired: false, transformFunction: null }, touched: { classPropertyName: "touched", publicName: "touched", isSignal: true, isRequired: false, transformFunction: null }, dirty: { classPropertyName: "dirty", publicName: "dirty", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { checked: "checkedChange", invalid: "invalidChange", touched: "touchedChange", dirty: "dirtyChange" }, ngImport: i0 });
2741
+ }
2742
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: UiInputCheckboxDirective, decorators: [{
2743
+ type: Directive,
2744
+ args: [{
2745
+ selector: 'app-ui-input',
2746
+ }]
2747
+ }], propDecorators: { checked: [{ type: i0.Input, args: [{ isSignal: true, alias: "checked", required: false }] }, { type: i0.Output, args: ["checkedChange"] }], invalid: [{ type: i0.Input, args: [{ isSignal: true, alias: "invalid", required: false }] }, { type: i0.Output, args: ["invalidChange"] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], $style: [{ type: i0.Input, args: [{ isSignal: true, alias: "$style", required: false }] }], $label: [{ type: i0.Input, args: [{ isSignal: true, alias: "$label", required: false }] }], $hideValidatorErrors: [{ type: i0.Input, args: [{ isSignal: true, alias: "$hideValidatorErrors", required: false }] }], errors: [{ type: i0.Input, args: [{ isSignal: true, alias: "errors", required: false }] }], touched: [{ type: i0.Input, args: [{ isSignal: true, alias: "touched", required: false }] }, { type: i0.Output, args: ["touchedChange"] }], dirty: [{ type: i0.Input, args: [{ isSignal: true, alias: "dirty", required: false }] }, { type: i0.Output, args: ["dirtyChange"] }] } });
2748
+
2749
+ const sizes = {
2750
+ small: {
2751
+ padding: 'padding-xs',
2752
+ font: 'paragraph-sm',
2753
+ borderRadius: 'border-radius-m',
2754
+ },
2755
+ medium: {
2756
+ padding: 'padding-sm',
2757
+ font: 'paragraph-l',
2758
+ borderRadius: 'border-radius-m',
2759
+ },
2760
+ };
2761
+ class UiInputDirective extends UiFieldBaseDirective {
2762
+ $size = input('medium', ...(ngDevMode ? [{ debugName: "$size" }] : []));
2763
+ $placeholder = input('', ...(ngDevMode ? [{ debugName: "$placeholder" }] : []));
2764
+ $label = input('', ...(ngDevMode ? [{ debugName: "$label" }] : []));
2765
+ $shouldFocusedAfterViewInit = input(false, ...(ngDevMode ? [{ debugName: "$shouldFocusedAfterViewInit" }] : []));
2766
+ $hideValidatorErrors = input(false, ...(ngDevMode ? [{ debugName: "$hideValidatorErrors" }] : []));
2767
+ $icon = input(null, ...(ngDevMode ? [{ debugName: "$icon" }] : []));
2768
+ $layoutSize = computed(() => {
2769
+ const size = this.$size();
2770
+ return sizes[size];
2771
+ }, ...(ngDevMode ? [{ debugName: "$layoutSize" }] : []));
2772
+ $isError = computed(() => {
2773
+ return (this.touched() || (this.dirty() && this.touched())) && this.invalid();
2774
+ }, ...(ngDevMode ? [{ debugName: "$isError" }] : []));
2775
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: UiInputDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
2776
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.1.1", type: UiInputDirective, isStandalone: true, selector: "app-ui-input", inputs: { $size: { classPropertyName: "$size", publicName: "$size", isSignal: true, isRequired: false, transformFunction: null }, $placeholder: { classPropertyName: "$placeholder", publicName: "$placeholder", isSignal: true, isRequired: false, transformFunction: null }, $label: { classPropertyName: "$label", publicName: "$label", isSignal: true, isRequired: false, transformFunction: null }, $shouldFocusedAfterViewInit: { classPropertyName: "$shouldFocusedAfterViewInit", publicName: "$shouldFocusedAfterViewInit", isSignal: true, isRequired: false, transformFunction: null }, $hideValidatorErrors: { classPropertyName: "$hideValidatorErrors", publicName: "$hideValidatorErrors", isSignal: true, isRequired: false, transformFunction: null }, $icon: { classPropertyName: "$icon", publicName: "$icon", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0 });
2777
+ }
2778
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: UiInputDirective, decorators: [{
2779
+ type: Directive,
2780
+ args: [{
2781
+ selector: 'app-ui-input',
2782
+ }]
2783
+ }], propDecorators: { $size: [{ type: i0.Input, args: [{ isSignal: true, alias: "$size", required: false }] }], $placeholder: [{ type: i0.Input, args: [{ isSignal: true, alias: "$placeholder", required: false }] }], $label: [{ type: i0.Input, args: [{ isSignal: true, alias: "$label", required: false }] }], $shouldFocusedAfterViewInit: [{ type: i0.Input, args: [{ isSignal: true, alias: "$shouldFocusedAfterViewInit", required: false }] }], $hideValidatorErrors: [{ type: i0.Input, args: [{ isSignal: true, alias: "$hideValidatorErrors", required: false }] }], $icon: [{ type: i0.Input, args: [{ isSignal: true, alias: "$icon", required: false }] }] } });
2784
+
2785
+ class UiInputCountryDirective extends UiInputDirective {
2786
+ $selectedCountry = signal(emptyCountry, ...(ngDevMode ? [{ debugName: "$selectedCountry" }] : []));
2787
+ $isOpen = signal(false, ...(ngDevMode ? [{ debugName: "$isOpen" }] : []));
2788
+ $inputElement = viewChild('input', ...(ngDevMode ? [{ debugName: "$inputElement" }] : []));
2789
+ constructor() {
2790
+ super();
2791
+ }
2792
+ ngAfterViewInit() {
2793
+ this.autoSetCountry();
2794
+ }
2795
+ onPaste(event) {
2796
+ event.preventDefault();
2797
+ const pastedText = event.clipboardData?.getData('text') || '';
2798
+ const country = this.searchCountry(pastedText);
2799
+ if (country) {
2800
+ this.setCountry(country);
2801
+ return;
2802
+ }
2803
+ this.onInput(this.value() + pastedText);
2804
+ }
2805
+ searchCountry(temp) {
2806
+ const country = CountryService.countries.find((c) => c.name.toLowerCase().includes(temp.toLowerCase()));
2807
+ return country;
2808
+ }
2809
+ setCountry(country) {
2810
+ this.$selectedCountry.set(country);
2811
+ const inputElement = this.$inputElement()?.nativeElement;
2812
+ this.onInput(country.name);
2813
+ if (inputElement) {
2814
+ inputElement.focus();
2815
+ }
2816
+ }
2817
+ autoSetCountry() {
2818
+ const value = this.value();
2819
+ if (!value?.length) {
2820
+ this.$selectedCountry.set({
2821
+ code: '',
2822
+ name: '',
2823
+ iso: 'xx',
2824
+ phonePrefix: '',
2825
+ });
2826
+ return;
2827
+ }
2828
+ const country = this.searchCountry(value);
2829
+ if (country) {
2830
+ this.$selectedCountry.set(country);
2831
+ }
2832
+ }
2833
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: UiInputCountryDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
2834
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.2.0", version: "21.1.1", type: UiInputCountryDirective, isStandalone: true, selector: "app-ui-input-country", viewQueries: [{ propertyName: "$inputElement", first: true, predicate: ["input"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0 });
2835
+ }
2836
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: UiInputCountryDirective, decorators: [{
2837
+ type: Directive,
2838
+ args: [{
2839
+ selector: 'app-ui-input-country',
2840
+ }]
2841
+ }], ctorParameters: () => [], propDecorators: { $inputElement: [{ type: i0.ViewChild, args: ['input', { isSignal: true }] }] } });
2842
+
2843
+ class UIInputDateDirective extends UiInputDirective {
2844
+ $isOpen = signal(false, ...(ngDevMode ? [{ debugName: "$isOpen" }] : []));
2845
+ $isRangeSelection = input(false, ...(ngDevMode ? [{ debugName: "$isRangeSelection" }] : []));
2846
+ $inputElement = viewChild('input', ...(ngDevMode ? [{ debugName: "$inputElement" }] : []));
2847
+ setDate(date) {
2848
+ const newDate = this.formatDate(date);
2849
+ this.onInput(newDate);
2850
+ }
2851
+ formatDate(date) {
2852
+ const day = date.getDate() < 10 ? '0' + date.getDate() : date.getDate().toString();
2853
+ const month = date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : (date.getMonth() + 1).toString();
2854
+ if (this.isUsaDateFormat()) {
2855
+ return month + '/' + day + '/' + date.getFullYear();
2856
+ }
2857
+ return day + '/' + month + '/' + date.getFullYear();
2858
+ }
2859
+ isUsaDateFormat() {
2860
+ return DateUtils.isUsaDateFormat();
2861
+ }
2862
+ setRangeDates(dates) {
2863
+ if (!dates.start) {
2864
+ this.onInput('');
2865
+ return;
2866
+ }
2867
+ const startStr = this.formatDate(dates.start);
2868
+ const endStr = dates.end ? this.formatDate(dates.end) : '';
2869
+ const result = endStr ? `${startStr} - ${endStr}` : startStr;
2870
+ this.onInput(result);
2871
+ }
2872
+ onInput(value) {
2873
+ const inputElement = this.$inputElement()?.nativeElement;
2874
+ if (inputElement) {
2875
+ const start = inputElement.selectionStart;
2876
+ const end = inputElement.selectionEnd;
2877
+ const oldValue = value;
2878
+ const newValue = this.maskDate(oldValue);
2879
+ const oldSlashCount = (oldValue.match(/\//g) || []).length;
2880
+ const newSlashCount = (newValue.match(/\//g) || []).length;
2881
+ const oldDashCount = (oldValue.match(/-/g) || []).length;
2882
+ const newDashCount = (newValue.match(/-/g) || []).length;
2883
+ const slashAdded = newSlashCount > oldSlashCount;
2884
+ const dashAdded = newDashCount > oldDashCount;
2885
+ super.onInput(newValue);
2886
+ inputElement.value = newValue;
2887
+ if (slashAdded || dashAdded) {
2888
+ inputElement.setSelectionRange(newValue.length, newValue.length);
2889
+ }
2890
+ else {
2891
+ inputElement.setSelectionRange(start, end);
2892
+ }
2893
+ }
2894
+ }
2895
+ maskDate(value) {
2896
+ const digits = value.replace(/\D/g, '');
2897
+ const limit = this.$isRangeSelection() ? 16 : 8;
2898
+ const limited = digits.substring(0, limit);
2899
+ const formatSingle = (str) => {
2900
+ let res = '';
2901
+ if (str.length > 0) {
2902
+ res += str.substring(0, 2);
2903
+ }
2904
+ if (str.length >= 3) {
2905
+ res += '/' + str.substring(2, 4);
2906
+ }
2907
+ if (str.length >= 5) {
2908
+ res += '/' + str.substring(4, 8);
2909
+ }
2910
+ return res;
2911
+ };
2912
+ if (this.$isRangeSelection()) {
2913
+ const first = limited.substring(0, 8);
2914
+ const second = limited.substring(8, 16);
2915
+ const firstDate = formatSingle(first);
2916
+ const secondDate = formatSingle(second);
2917
+ return secondDate ? `${firstDate} - ${secondDate}` : firstDate;
2918
+ }
2919
+ return formatSingle(limited);
2920
+ }
2921
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: UIInputDateDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
2922
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.2.0", version: "21.1.1", type: UIInputDateDirective, isStandalone: true, selector: "app-ui-input-date", inputs: { $isRangeSelection: { classPropertyName: "$isRangeSelection", publicName: "$isRangeSelection", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "$inputElement", first: true, predicate: ["input"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0 });
2923
+ }
2924
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: UIInputDateDirective, decorators: [{
2925
+ type: Directive,
2926
+ args: [{
2927
+ selector: 'app-ui-input-date',
2928
+ }]
2929
+ }], propDecorators: { $isRangeSelection: [{ type: i0.Input, args: [{ isSignal: true, alias: "$isRangeSelection", required: false }] }], $inputElement: [{ type: i0.ViewChild, args: ['input', { isSignal: true }] }] } });
2930
+
2931
+ class UIPhoneNumberDirective extends UiInputDirective {
2932
+ $selectedCountry = signal(emptyCountry, ...(ngDevMode ? [{ debugName: "$selectedCountry" }] : []));
2933
+ $isOpen = signal(false, ...(ngDevMode ? [{ debugName: "$isOpen" }] : []));
2934
+ $countryCode = signal('', ...(ngDevMode ? [{ debugName: "$countryCode" }] : []));
2935
+ $inputElement = viewChild('input', ...(ngDevMode ? [{ debugName: "$inputElement" }] : []));
2936
+ constructor() {
2937
+ super();
2938
+ }
2939
+ ngAfterViewInit() {
2940
+ const selectedCountry = CountryService.getCountryByCode('US') ?? emptyCountry;
2941
+ this.$selectedCountry.set(selectedCountry);
2942
+ this.$countryCode.set(selectedCountry.phonePrefix + ' ');
2943
+ }
2944
+ onInput(value) {
2945
+ const digitsOnly = value.replace(/\D/g, '');
2946
+ const formattedValue = CountryService.formatPhoneNumber(digitsOnly, this.$selectedCountry().code);
2947
+ super.onInput(formattedValue);
2948
+ const inputElement = this.$inputElement()?.nativeElement;
2949
+ if (inputElement) {
2950
+ inputElement.value = formattedValue;
2951
+ }
2952
+ }
2953
+ onPaste(event) {
2954
+ event.preventDefault();
2955
+ const pastedText = event.clipboardData?.getData('text') || '';
2956
+ const country = CountryService.countries.find((c) => pastedText.startsWith(c.phonePrefix));
2957
+ if (country) {
2958
+ const localNumber = pastedText.slice(country.phonePrefix.length);
2959
+ this.setCountry(country);
2960
+ this.onInput(localNumber);
2961
+ }
2962
+ else {
2963
+ this.onInput(this.value() + pastedText);
2964
+ }
2965
+ }
2966
+ setCountry(country) {
2967
+ this.$selectedCountry.set(country);
2968
+ this.$countryCode.set(country.phonePrefix);
2969
+ const inputElement = this.$inputElement()?.nativeElement;
2970
+ if (inputElement) {
2971
+ inputElement.focus();
2972
+ }
2973
+ }
2974
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: UIPhoneNumberDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
2975
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.2.0", version: "21.1.1", type: UIPhoneNumberDirective, isStandalone: true, selector: "app-ui-input-phone-number", viewQueries: [{ propertyName: "$inputElement", first: true, predicate: ["input"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0 });
2976
+ }
2977
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: UIPhoneNumberDirective, decorators: [{
2978
+ type: Directive,
2979
+ args: [{
2980
+ selector: 'app-ui-input-phone-number',
2981
+ }]
2982
+ }], ctorParameters: () => [], propDecorators: { $inputElement: [{ type: i0.ViewChild, args: ['input', { isSignal: true }] }] } });
2983
+
2984
+ class UiInputSelectDirective extends UiInputDirective {
2985
+ $items = input.required(...(ngDevMode ? [{ debugName: "$items" }] : []));
2986
+ $isOpen = signal(false, ...(ngDevMode ? [{ debugName: "$isOpen" }] : []));
2987
+ $selectedValue = signal({ value: '' }, ...(ngDevMode ? [{ debugName: "$selectedValue" }] : []));
2988
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: UiInputSelectDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
2989
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.1.1", type: UiInputSelectDirective, isStandalone: true, selector: "app-ui-select", inputs: { $items: { classPropertyName: "$items", publicName: "$items", isSignal: true, isRequired: true, transformFunction: null } }, usesInheritance: true, ngImport: i0 });
2990
+ }
2991
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: UiInputSelectDirective, decorators: [{
2992
+ type: Directive,
2993
+ args: [{
2994
+ selector: 'app-ui-select',
2995
+ }]
2996
+ }], propDecorators: { $items: [{ type: i0.Input, args: [{ isSignal: true, alias: "$items", required: true }] }] } });
2997
+
2998
+ class UiInputSequenceDirective extends UiInputDirective {
2999
+ $numberCells = input(6, ...(ngDevMode ? [{ debugName: "$numberCells" }] : []));
3000
+ $inputs = computed(() => Array(this.$numberCells()).fill(''), ...(ngDevMode ? [{ debugName: "$inputs" }] : []));
3001
+ inputRefs;
3002
+ onInputSequence(event, index) {
3003
+ const input = event.target;
3004
+ const value = input.value;
3005
+ if (!/^\d+$/.test(value)) {
3006
+ input.value = '';
3007
+ return;
3008
+ }
3009
+ if (value.length > 1) {
3010
+ input.value = value.charAt(0);
3011
+ }
3012
+ if (value && index < this.$inputs().length - 1) {
3013
+ this.focusInput(index + 1);
3014
+ }
3015
+ this.setValue();
3016
+ }
3017
+ onClick(event) {
3018
+ const input = event.target;
3019
+ input.setSelectionRange(1, 1);
3020
+ }
3021
+ onKeyDown(event, index) {
3022
+ const blocked = ['ArrowLeft', 'ArrowRight', 'ArrowUp', 'ArrowDown', 'Home', 'End'];
3023
+ if (blocked.includes(event.key)) {
3024
+ event.preventDefault();
3025
+ if (event.key === 'ArrowLeft') {
3026
+ this.focusInput(index - 1);
3027
+ }
3028
+ if (event.key === 'ArrowRight') {
3029
+ this.focusInput(index + 1);
3030
+ }
3031
+ return;
3032
+ }
3033
+ const input = event.target;
3034
+ if (event.key === 'Backspace' && !input.value && index > 0) {
3035
+ this.focusInput(index - 1);
3036
+ }
3037
+ }
3038
+ focusInput(index) {
3039
+ const el = this.inputRefs.toArray()[index]?.nativeElement;
3040
+ if (el)
3041
+ el.focus();
3042
+ }
3043
+ onPaste(event, index) {
3044
+ event.preventDefault();
3045
+ const pasted = event.clipboardData?.getData('text') ?? '';
3046
+ if (!pasted) {
3047
+ return;
3048
+ }
3049
+ const digitsOnly = pasted.replace(/\D/g, '');
3050
+ const inputsArray = this.inputRefs.toArray();
3051
+ const chars = digitsOnly.replace(/\s+/g, '').split('');
3052
+ const inputLength = this.$inputs().length;
3053
+ chars.forEach((char, offset) => {
3054
+ const targetIndex = index + offset;
3055
+ if (targetIndex < inputLength) {
3056
+ const input = inputsArray[targetIndex].nativeElement;
3057
+ input.value = char;
3058
+ }
3059
+ });
3060
+ const nextEmpty = inputsArray.findIndex((el) => el.nativeElement.value === '');
3061
+ if (nextEmpty !== -1) {
3062
+ this.focusInput(nextEmpty);
3063
+ }
3064
+ else {
3065
+ this.focusInput(inputLength - 1);
3066
+ }
3067
+ this.setValue();
3068
+ }
3069
+ setValue() {
3070
+ const inputsArray = this.inputRefs.toArray();
3071
+ const value = inputsArray.map((el) => el.nativeElement.value).join('');
3072
+ this.onInput(value);
3073
+ }
3074
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: UiInputSequenceDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
3075
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.1.1", type: UiInputSequenceDirective, isStandalone: true, selector: "app-ui-sequence", inputs: { $numberCells: { classPropertyName: "$numberCells", publicName: "$numberCells", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "inputRefs", predicate: ["input"], descendants: true }], usesInheritance: true, ngImport: i0 });
3076
+ }
3077
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: UiInputSequenceDirective, decorators: [{
3078
+ type: Directive,
3079
+ args: [{
3080
+ selector: 'app-ui-sequence',
3081
+ }]
3082
+ }], propDecorators: { $numberCells: [{ type: i0.Input, args: [{ isSignal: true, alias: "$numberCells", required: false }] }], inputRefs: [{
3083
+ type: ViewChildren,
3084
+ args: ['input']
3085
+ }] } });
3086
+
3087
+ class UiInputTimeDirective extends UiInputDirective {
3088
+ times = [
3089
+ '00:00',
3090
+ '00:30',
3091
+ '01:00',
3092
+ '01:30',
3093
+ '02:00',
3094
+ '02:30',
3095
+ '03:00',
3096
+ '03:30',
3097
+ '04:00',
3098
+ '04:30',
3099
+ '05:00',
3100
+ '05:30',
3101
+ '06:00',
3102
+ '06:30',
3103
+ '07:00',
3104
+ '07:30',
3105
+ '08:00',
3106
+ '08:30',
3107
+ '09:00',
3108
+ '09:30',
3109
+ '10:00',
3110
+ '10:30',
3111
+ '11:00',
3112
+ '11:30',
3113
+ '12:00',
3114
+ '12:30',
3115
+ '13:00',
3116
+ '13:30',
3117
+ '14:00',
3118
+ '14:30',
3119
+ '15:00',
3120
+ '15:30',
3121
+ '16:00',
3122
+ '16:30',
3123
+ '17:00',
3124
+ '17:30',
3125
+ '18:00',
3126
+ '18:30',
3127
+ '19:00',
3128
+ '19:30',
3129
+ '20:00',
3130
+ '20:30',
3131
+ '21:00',
3132
+ '21:30',
3133
+ '22:00',
3134
+ '22:30',
3135
+ '23:00',
3136
+ '23:30',
3137
+ ];
3138
+ $inputElement = viewChild('input', ...(ngDevMode ? [{ debugName: "$inputElement" }] : []));
3139
+ $isOpen = signal(false, ...(ngDevMode ? [{ debugName: "$isOpen" }] : []));
3140
+ onInput(value) {
3141
+ const inputElement = this.$inputElement()?.nativeElement;
3142
+ if (!inputElement)
3143
+ return;
3144
+ const start = inputElement.selectionStart;
3145
+ const end = inputElement.selectionEnd;
3146
+ const oldValue = value;
3147
+ const newValue = this.maskTime(oldValue);
3148
+ const oldColonCount = (oldValue.match(/:/g) || []).length;
3149
+ const newColonCount = (newValue.match(/:/g) || []).length;
3150
+ const colonAdded = newColonCount > oldColonCount;
3151
+ super.onInput(newValue);
3152
+ inputElement.value = newValue;
3153
+ if (colonAdded) {
3154
+ inputElement.setSelectionRange(newValue.length, newValue.length);
3155
+ }
3156
+ else {
3157
+ inputElement.setSelectionRange(start, end);
3158
+ }
3159
+ }
3160
+ maskTime(value) {
3161
+ if (!value) {
3162
+ return '';
3163
+ }
3164
+ const digits = value.replace(/\D/g, '').slice(0, 4);
3165
+ const len = digits.length;
3166
+ if (len === 1) {
3167
+ return digits;
3168
+ }
3169
+ if (len === 2) {
3170
+ let hh = Number(digits.slice(0, 2));
3171
+ if (hh > 23)
3172
+ hh = 23;
3173
+ return hh.toString().padStart(2, '0');
3174
+ }
3175
+ if (len === 3) {
3176
+ let hh = Number(digits.slice(0, 2));
3177
+ if (hh > 23)
3178
+ hh = 23;
3179
+ const m = digits[2];
3180
+ return `${hh.toString().padStart(2, '0')}:${m}`;
3181
+ }
3182
+ if (len === 4) {
3183
+ let hh = Number(digits.slice(0, 2));
3184
+ let mm = Number(digits.slice(2, 4));
3185
+ if (hh > 23) {
3186
+ hh = 23;
3187
+ }
3188
+ if (mm > 59) {
3189
+ mm = 59;
3190
+ }
3191
+ return `${hh.toString().padStart(2, '0')}:${mm.toString().padStart(2, '0')}`;
3192
+ }
3193
+ return '';
3194
+ }
3195
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: UiInputTimeDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
3196
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.2.0", version: "21.1.1", type: UiInputTimeDirective, isStandalone: true, selector: "app-ui-input-time", viewQueries: [{ propertyName: "$inputElement", first: true, predicate: ["input"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0 });
3197
+ }
3198
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: UiInputTimeDirective, decorators: [{
3199
+ type: Directive,
3200
+ args: [{
3201
+ selector: 'app-ui-input-time',
3202
+ }]
3203
+ }], propDecorators: { $inputElement: [{ type: i0.ViewChild, args: ['input', { isSignal: true }] }] } });
3204
+
3205
+ class UiValidationErrorsDirective {
3206
+ $isError = input(false, ...(ngDevMode ? [{ debugName: "$isError" }] : []));
3207
+ $errors = input.required(...(ngDevMode ? [{ debugName: "$errors" }] : []));
3208
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: UiValidationErrorsDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
3209
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.1.1", type: UiValidationErrorsDirective, isStandalone: true, selector: "app-ui-validation-errors", inputs: { $isError: { classPropertyName: "$isError", publicName: "$isError", isSignal: true, isRequired: false, transformFunction: null }, $errors: { classPropertyName: "$errors", publicName: "$errors", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0 });
3210
+ }
3211
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: UiValidationErrorsDirective, decorators: [{
3212
+ type: Directive,
3213
+ args: [{
3214
+ selector: 'app-ui-validation-errors',
3215
+ }]
3216
+ }], propDecorators: { $isError: [{ type: i0.Input, args: [{ isSignal: true, alias: "$isError", required: false }] }], $errors: [{ type: i0.Input, args: [{ isSignal: true, alias: "$errors", required: true }] }] } });
3217
+
3218
+ /*
3219
+ * Public API Surface of ui-forge-library
3220
+ */
3221
+
3222
+ /**
3223
+ * Generated bundle index. Do not edit.
3224
+ */
3225
+
3226
+ export { Alert, AlertType, AppIconsLibrary, AutoFocusDirective, CenterEllipsisPipe, CountryService, DateUtils, EMAIL, HAS_CAPITAL_CASE, HAS_NUMBER, HAS_SMALL_CASE, HAS_SPECIAL_CHARTERS, HoverTipDirective, IconComponent, LazyImgDirective, MIN_LENGTH, MaskGradientDirective, StickyObserverDirective, ThemeService, TrackLifecycleDirective, UIInputDateDirective, UIPhoneNumberDirective, UiAccordionComponent, UiAlertMessagesService, UiAvatarDirective, UiButtonDirective, UiCodeDirective, UiCopyButtonDirective, UiDailyCalendarDirective, UiDropdownContainerDirective, UiDropdownService, UiFieldBaseDirective, UiImageDirective, UiInputCheckboxDirective, UiInputCountryDirective, UiInputDirective, UiInputSelectDirective, UiInputSequenceDirective, UiInputTimeDirective, UiMonthlyCalendarDirective, UiPaginationDirective, UiPopupBackdropDirective, UiPopupContainerDirective, UiPopupImageDirective, UiPopupInstance, UiPopupService, UiSelectButtonsDirective, UiTabsDirective, UiValidationErrorsDirective, UiYearlyCalendarDirective, emptyCountry, getAspectRatioFit, stringToHslColor };
3227
+ //# sourceMappingURL=ibragim-dev-org-ui-forge-library.mjs.map