{"version":3,"file":"cbms-upgrade.mjs","sources":["../../../projects/cbms-base-app/src/lib/cbms-base-app.service.ts","../../../projects/cbms-base-app/src/lib/head/head.component.ts","../../../projects/cbms-base-app/src/lib/head/head.component.html","../../../projects/cbms-base-app/src/lib/services/base.service.ts","../../../projects/cbms-base-app/src/lib/services/base-menu.service.ts","../../../projects/cbms-base-app/src/lib/app.settings.ts","../../../projects/cbms-base-app/src/lib/cbms.services.ts","../../../projects/cbms-base-app/src/lib/menu/menu.component.ts","../../../projects/cbms-base-app/src/lib/menu/menu.component.html","../../../projects/cbms-base-app/src/lib/cbms-base-app.component.ts","../../../projects/cbms-base-app/src/lib/cbms-base-app.component.html","../../../projects/cbms-base-app/src/lib/dialog/dialog.component.ts","../../../projects/cbms-base-app/src/lib/dialog/dialog.component.html","../../../projects/cbms-base-app/src/lib/popup/popup.component.ts","../../../projects/cbms-base-app/src/lib/popup/popup.component.html","../../../projects/cbms-base-app/src/lib/services/cbms-shared.service.ts","../../../projects/cbms-base-app/src/lib/services/cbms-base-util.service.ts","../../../projects/cbms-base-app/src/lib/services/permission.service.ts","../../../projects/cbms-base-app/src/lib/services/breadcrumb.service.ts","../../../projects/cbms-base-app/src/lib/cbms-breadcrump/cbms-breadcrump.component.ts","../../../projects/cbms-base-app/src/lib/cbms-breadcrump/cbms-breadcrump.component.html","../../../projects/cbms-base-app/src/lib/cbms-base-app.module.ts","../../../projects/cbms-base-app/src/lib/Authorization/auth.guard.ts","../../../projects/cbms-base-app/src/public_api.ts","../../../projects/cbms-base-app/src/cbms-upgrade.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n  providedIn: 'root'\r\n})\r\nexport class CBMSBaseAppService {\r\n\r\n  constructor() { }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { environment } from '../environments/environment';\r\nimport { HttpClient } from '@angular/common/http';\r\n\r\n@Component({\r\n  selector: 'cbms-head-lib',\r\n  templateUrl: './head.component.html',\r\n  styleUrls: ['./head.component.scss']\r\n})\r\nexport class HeadComponent implements OnInit {\r\n  imageUrl:string='';\r\n  nonProdBackColor:boolean;\r\n  prodBackColor:boolean;\r\n  headerBackgroundColor;\r\n  constructor(private http: HttpClient) { }\r\n  public currentDate:Date = new Date();\r\n  ngOnInit() {\r\n\r\n    this.http.get(\"./assets/config.json\").subscribe(res => {\r\n      const isProductionEnv = res[\"isProductionEnv\"];\r\n      if (!isProductionEnv) { // Non-production Env \r\n        console.log(\"nonProdHeaderLogoImageUrl: \" + res[\"nonProdHeaderLogoImageUrl\"]);\r\n        this.imageUrl = \"./assets/images/\" + res[\"nonProdHeaderLogoImageUrl\"];\r\n        this.nonProdBackColor = true;\r\n        this.prodBackColor = false;\r\n        this.headerBackgroundColor = res[\"nonProdHheaderBackOrangeColorCode\"];\r\n      }\r\n      else {// Production Env\r\n        console.log(\"prodHeaderLogoImageUrl: \" + res[\"prodHeaderLogoImageUrl\"]);\r\n        this.imageUrl = \"assets/images/\" + res[\"prodHeaderLogoImageUrl\"];\r\n        this.nonProdBackColor = false;\r\n        this.prodBackColor = true;\r\n      }\r\n    })\r\n  }\r\n\r\n}\r\n","<table class=\"Header\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"100%\" height=\"55\">\r\n  <tbody>\r\n    <tr>\r\n      <td width=\"210\"> \r\n        <img [src]=\"imageUrl\" width=\"210\" height=\"55\" border=\"0\" hspace=\"0\" vspace=\"0\">\r\n      </td>\r\n      <td *ngIf=\"nonProdBackColor\" width=\"99%\" valign=\"top\" align=\"right\" [style.background-color]=\"headerBackgroundColor\">\r\n        <span class=\"Small\" style=\"background:white\">D_SUMMIT_MAINT_{{currentDate | date:'yyyyMMdd'}}</span>\r\n      </td>\r\n      <td *ngIf=\"prodBackColor\" width=\"99%\" valign=\"top\" align=\"right\" background=\"./assets/images/burst.jpg\">\r\n        <span class=\"Small\" style=\"background:white\">D_SUMMIT_MAINT_{{currentDate | date:'yyyyMMdd'}}</span>\r\n      </td>\r\n    </tr>\r\n  </tbody>\r\n</table>","import { Injectable, Injector, Inject } from '@angular/core';\r\n// import { map } from 'rxjs/operators'\r\nimport { HttpClient,HttpHeaders } from '@angular/common/http';\r\n// import { HttpHeaders, HttpClient, HttpParams } from '@angular/common/http';\r\n\r\nimport { IEnvironmentsInfo } from '../Models/environmentsModel.info';\r\nimport { Observable, throwError,map, lastValueFrom } from 'rxjs';\r\n\r\n@Injectable({\r\n  providedIn: 'root'\r\n})\r\nexport class BaseService {\r\n\r\n  //private API_ENDPOINT = AppSettings.CBMS_SERVICES_URL;\r\n  private API_ENDPOINT\r\n  private RM_ENDPOINT\r\n  private config\r\n  private headers = new HttpHeaders({ 'Content-Type': 'application/x-www-form-urlencoded' });\r\n  private postheaders = new HttpHeaders({'Content-Type': 'application/json'});\r\n\r\n  public http: HttpClient;\r\n  constructor(public injector: Injector) {\r\n    this.API_ENDPOINT = this.injector.get(\"config\").CBMSServiceUrl\r\n  this.RM_ENDPOINT = this.injector.get(\"config\").apiBaseUrl;\r\n  this.config = this.injector.get<IEnvironmentsInfo>('config' as any);\r\n    this.http = this.injector.get(HttpClient);\r\n    this.headers.append('Content-Type', 'application/jsonp');\r\n    // console.log(\"config\",this.injector.get(\"config\"))\r\n  }\r\n  //private options = new RequestOptions({headers: this.headers});\r\n // private requestOptions = new RequestOptions({ method: RequestMethod.Post, headers: this.postheaders });\r\n  public get(path) {\r\n    //alert(this.API_ENDPOINT + path);\r\n    return this.http.get(this.API_ENDPOINT + path)\r\n    .pipe(map(this.extractData))\r\n      // .map(this.extractData)\r\n      // .catch(error => {\r\n      //   return this.handleError(error || 'Error while executing GET for route ' + path);\r\n      // });\r\n  }\r\n  public getApi(path) {\r\n    return this.http.get(this.API_ENDPOINT  + path,{headers: this.headers})\r\n    .pipe(map(this.extractData))\r\n      // .map(this.extractData)\r\n      // .catch(error => {\r\n      //   return this.handleError(error || 'Error while executing GET for route ' + path);\r\n      // });\r\n  }\r\n  public postData(path, data) {\r\n    return this.http.post(this.API_ENDPOINT + path, JSON.stringify(data), {headers: this.postheaders})\r\n    .pipe(map(data=>data))\r\n      // .catch(error => {\r\n      //   return this.handleError(error || 'Error while executing POST for route ' + path);\r\n      // });\r\n  }\r\n  // public postData(path: string, body: Object = {}) {\r\n  //   debugger;\r\n  //   return this.http.post(\r\n  //     this.API_ENDPOINT + path,\r\n  //     body);\r\n  // }\r\n  public post(path, data) {\r\n    return this.http.post(this.API_ENDPOINT + path, JSON.stringify(data), {headers: this.postheaders})\r\n    .pipe(map(this.extractData))\r\n      // .map(this.extractData)\r\n      // .catch(error => {\r\n      //   return this.handleError(error || 'Error while executing POST for route ' + path);\r\n      // });\r\n  }\r\n  public put(path, data) {\r\n    return this.http.put(this.API_ENDPOINT + path, data,{headers: this.headers}).pipe(map(() => this.extractData))\r\n    // .catch(error => {\r\n    //   return this.handleError(error || 'Error while executing POST for route ' + path);\r\n    // });\r\n  }\r\n  protected async  postDataAsync(path, data): Promise<any> {\r\n    try {\r\n\r\n      const res$ = await this.http.post(this.API_ENDPOINT + path, JSON.stringify(data), {headers: this.postheaders, responseType: 'json'});\r\n      const res = await lastValueFrom(res$);\r\n      return res;\r\n    } catch (err) {\r\n      return this.handleError(err || 'Error while executing POST for route ' + path);\r\n    }\r\n  }\r\n  protected async getAsync(path: string): Promise<any> {\r\n    try {\r\n      const res$ = await this.http.get(this.API_ENDPOINT + path,{responseType: 'json'});\r\n      const res = await lastValueFrom(res$);\r\n      return res;\r\n  } catch (err) {\r\n    return this.handleError(err || 'Error while executing POST for route ' + path);\r\n  }\r\n}\r\nprotected async getRMAsync(path: string,data:any): Promise<any> {\r\n  try {\r\n      const res$ = await this.http.post(this.RM_ENDPOINT + path, JSON.stringify(data),{headers: this.postheaders,responseType: 'json'});\r\n     // this.hideLoadingPanel(isNoLoadingPanel);\r\n      const res = await lastValueFrom(res$);\r\n      return res;\r\n  } catch (err) {\r\n    return this.handleError(err || 'Error while executing POST for route ' + path);\r\n  }\r\n}\r\n  protected async postCommonApi(path: string, data: any): Promise<any> {\r\n    try {\r\n      const res$ = await this.http.post(this.config.commonApiServiceUrl + path, JSON.stringify(data),\r\n      { headers: this.postheaders, responseType: 'json'});\r\n      const res = await lastValueFrom(res$);\r\n      return res;\r\n    } catch (err) {\r\n      return this.handleError(err || 'Error while executing POST for route ' + path);\r\n    }\r\n  }\r\n\r\n   private handleError(error: any) {\r\n    let data;\r\n    try {\r\n      data = error.json() || error;\r\n    } catch (e) {\r\n      data = {error: null};\r\n    }\r\n    return throwError({status: error.status, data});\r\n  }\r\n\r\n  private extractData(res: any) {\r\n    try {\r\n      console.log(res);\r\n      const body: any = res.json();\r\n      return body || {};\r\n    } catch (e) {\r\n      return res._body;\r\n    }\r\n  }\r\n}\r\n","import { Injectable, Injector, Inject } from '@angular/core';\r\n\r\nimport { environment } from '../environments/environment';\r\nimport { HttpHeaders, HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Observable, throwError, catchError, map, tap, lastValueFrom } from 'rxjs';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { Location } from \"@angular/common\";\r\nimport { IEnvironmentsInfo } from '../Models/environmentsModel.info';\r\n\r\n\r\n@Injectable({\r\n  providedIn: 'root'\r\n})\r\nexport class BaseMenuService {\r\n\r\n  constructor(@Inject('config') private config: IEnvironmentsInfo,\r\n    private http: HttpClient, private location: Location, private route: Router\r\n  ) {\r\n    this.serviceUrl = this.config?.CBMSServiceUrl ?? ''; // Initialize config property before using it\r\n  }\r\n\r\n  private serviceUrl: string;\r\n  \r\n  get options(): IEnvironmentsInfo {\r\n    return this.config;\r\n  }\r\n  \r\n  private formatErrors(error: any) {\r\n    return throwError(error.error);\r\n  }\r\n  get(path: string, body: Object = {}, params: HttpParams = new HttpParams()): Observable<any> {\r\n    return this.http.get(\r\n      this.serviceUrl + path,\r\n      body\r\n    ).pipe(catchError(this.formatErrors));\r\n  }\r\n  put(path: string, body: Object = {}): Observable<any> {\r\n    return this.http.put(\r\n      this.serviceUrl + path,\r\n      JSON.stringify(body)\r\n    ).pipe(catchError(this.formatErrors));\r\n  }\r\n  post(path: string, body: Object = {}): Observable<any> {\r\n    return this.http.post(\r\n      this.serviceUrl + path,\r\n      body).pipe(catchError(this.formatErrors));\r\n  }\r\n  postExcel(path: string, body: Object = {}): Observable<any> {\r\n    return this.http.post(\r\n      this.serviceUrl + path,\r\n      body,\r\n      { responseType: 'blob' as 'json' }).pipe(catchError(this.formatErrors));\r\n  }\r\n  contractPost(path: string, body: Object = {}): Observable<any> {\r\n    return this.http.post(\r\n      this.serviceUrl + path,\r\n      body,\r\n      { responseType: 'text' }\r\n    ).pipe(catchError(this.formatErrors));\r\n  }\r\n  delete(path: string, body: Object = {}): Observable<any> {\r\n    return this.http.delete(\r\n      this.serviceUrl + path,\r\n      body\r\n    ).pipe(catchError(this.formatErrors));\r\n  }\r\n  patch(path: string, body: Object = {}): Observable<any> {\r\n    return this.http.patch(\r\n      this.serviceUrl + path,\r\n      body,\r\n      { responseType: 'text' }\r\n    ).pipe(catchError(this.formatErrors));\r\n  }\r\n\r\n  async postasync(path: string, body: Object = {}) {\r\n    let loading = false;\r\n    const res$ = await this.http\r\n      .post(this.serviceUrl + path,\r\n        body)\r\n      .pipe(\r\n        map(response => response),\r\n        tap(() => loading = false));\r\n    const res = await lastValueFrom(res$);\r\n    return res;\r\n  }\r\n\r\n}\r\n","export class AppSettings {\r\n    public static API_ENDPOINT = \"http://localhost:4200/\";    \r\n    public static CBMS_LOGIN_URL=\"http://cbms-tk4.ems.schneider-electric.com/cbms/index.jsp\";\r\n    //public static CBMS_SERVICES_URL = \"http://localhost:1400\"; \r\n    public static CBMS_SERVICES_URL = \"http://cbmsnet-tk4.ems.schneider-electric.com/CBMSService\";  \r\n   // public static apiMenuUrl= 'http://localhost:1400'; // change locally\r\n    public static   apiBaseUrl= 'http://localhost:58529/api/'; \r\n}","import { Injectable, Injector, EventEmitter, Inject } from '@angular/core';\r\nimport { HttpClientModule, HttpClient } from '@angular/common/http';\r\n\r\nimport { lastValueFrom, map} from 'rxjs';\r\nimport {BaseService } from './services/base.service';\r\nimport {BaseMenuService } from './services/base-menu.service';\r\n\r\nimport {AppSettings} from './app.settings'\r\nimport { ActivatedRoute } from '@angular/router';\r\n\r\n@Injectable({\r\n    providedIn: 'root'\r\n  })\r\n\r\n\r\nexport class CbmsService extends BaseService  {\r\n    constructor(private apiService: BaseMenuService,public override http: HttpClient, public override injector: Injector,private queryStringRouter: ActivatedRoute ) {\r\n        // super(injector, environment.apiMenuUrl, environment.apiBaseUrl);\r\n        super(injector);\r\n    }\r\n    public ValidateLogin(obj): any {\r\n        // const response = this.apiService.get('/Common/CommonService.svc/cbms/ValidateUser?UserName='+ obj.UserName + '&Password=' + obj.Password)\r\n        // return response;\r\n       return this.get('/Common/CommonService.svc/cbms/ValidateUser?UserName=' + obj.UserName + '&Password=' + obj.Password);\r\n    }\r\n    public SaveUser(obj): any {\r\n        // return this.post('tenant/Contact', obj);\r\n        return this.post('cbms/SaveUser', obj);\r\n       // const response = this.apiService.post('cbms/SaveUser')\r\n        //return response;\r\n    }\r\n    public GetData(): any {\r\n       return this.getApi('Cbms/GetData');\r\n        // const response = this.apiService.get('Cbms/GetData')\r\n        // return response;\r\n    }\r\n    public GetMenu(uid): any {\r\n        return this.postData('/Common/CommonService.svc/CBMS/Menulist', uid);\r\n    }\r\n\r\n    public ValidateXid(xid): any {\r\n       return this.post('Common/CommonService.svc/CBMS/ValidateUid', xid);\r\n        // const response = this.apiService.post('Common/CommonService.svc/CBMS/ValidateUid',xid)\r\n        // return response;\r\n    }\r\n\r\n    // public ValidateUid(strUid):any{\r\n    //     return this.get('/Common/CommonService.svc/cbms/ValidateUid?UserUid=' + strUid);       \r\n    // }\r\n\r\n\r\n    public async ValidateUid(xid) {\r\n        const response$ = await this.postData('Common/CommonService.svc/CBMS/ValidateUid', xid);\r\n        // return response;\r\n        // const response = this.apiService.post('Common/CommonService.svc/CBMS/ValidateUid',xid)\r\n        const response = await lastValueFrom(response$);\r\n        return response;\r\n    }\r\n\r\n    public getClientList(ClientSearchData: any): any {\r\n        return this.http.post(AppSettings.CBMS_SERVICES_URL + 'Common/CommonService.svc/CBMS/Client/Search', ClientSearchData)\r\n         .pipe(map(response => response))\r\n        //const response = this.apiService.post(AppSettings.CBMS_SERVICES_URL + 'Common/CommonService.svc/CBMS/Client/Search',ClientSearchData)\r\n        //return response;\r\n\r\n    }\r\n\r\n  \r\n    public async Validatexid(strXid) {\r\n            const response = await this.http.get('Common/CommonService.svc/cbms/ValidateUserXid?Userxid=' + strXid).toPromise();\r\n            return response;\r\n    }\r\n    public async Validateuid(strXid) {\r\n        let Uid=  decodeURIComponent((strXid + '').replace(/\\+/g, '%3D'));\r\n            const response = await this.postDataAsync('Common/CommonService.svc/CBMS/ValidateUid', Uid);\r\n            return response;\r\n\r\n    }\r\n\r\n    public async GetPermissionsByUserId(obj) {\r\n       const response= await this.postCommonApi('CommonApi/getPermissionsByUserId', obj)\r\n        return response;\r\n        // return this.apiService.post('CommonApi/getPermissionsByUserId',obj)\r\n        // .pipe(map(data => data));\r\n    }\r\n    // public GetMenuWithUidOrXid(ObjUserValidate): any {\r\n    //             return this.postData('/Common/CommonService.svc/CBMS/MenulistWithUidOrXid'+ObjUserValidate)\r\n    //     .pipe(map(data => {data}));\r\n    //   }\r\n    public GetMenuWithUidOrXid(ObjUserValidate): any {\r\n        // return this.http.post(AppSettings.CBMS_SERVICES_URL + '/Common/CommonService.svc/CBMS/MenulistWithUidOrXid', ObjUserValidate)\r\n        //     .map(res => {\r\n        //         console.log(res);\r\n        //         return res.json();\r\n        //     })\r\n        return this.postData('/Common/CommonService.svc/CBMS/MenulistWithUidOrXid', ObjUserValidate)\r\n       // return this.apiService.post('/Common/CommonService.svc/CBMS/MenulistWithUidOrXid',ObjUserValidate)\r\n    }\r\n\r\n}\r\n\r\n\r\n\r\n","import { Component, OnInit, ViewEncapsulation, Input } from '@angular/core';\r\nimport { BaseService } from '../services/base.service';\r\nimport { CbmsService } from '../cbms.services';\r\n//import { ColdObservable } from 'rxjs/testing/ColdObservable';\r\n//import { environment } from '../environments/environment';\r\nimport { Location, LocationStrategy, PathLocationStrategy } from '@angular/common';\r\n\r\n\r\n//import { RMComponent } from '../../../../rm.component';\r\n\r\n\r\nexport interface Menu {\r\n  Displaytext: string;\r\n  Displayorder: number;\r\n  MenuId: number;\r\n  Menulevel: number;\r\n  ParentMenuId: number;\r\n  TargetAction: string;\r\n  TargetServer: string;\r\n}\r\n\r\n@Component({\r\n  selector: 'cbms-menu-lib',\r\n  templateUrl: './menu.component.html',\r\n  styleUrls: ['./menu.component.scss'],\r\n  encapsulation: ViewEncapsulation.None\r\n})\r\nexport class MenuComponent implements OnInit {\r\n  public MenuData: Menu[] = [];\r\n  public data1;\r\n  public ngMenu: Menu[] = [];\r\n  wantedData: any = {};\r\n  collapse: boolean = false;\r\n \r\n  id: any;\r\n \r\n \r\n  private blnIsUid:boolean=false;\r\n  constructor(\r\n    private cbmsApi: CbmsService,private location: Location) {  \r\n    if (this.location.path() != \"\" && this.location.path().indexOf(\"uid\") !== -1)\r\n    {\r\n      this.id = this.location.path().split('?')[1].split(\"uid=\")[1].split(\"&\")[0]; \r\n      this.blnIsUid=true;\r\n    }\r\n       \r\nelse if(this.location.path() != \"\" && this.location.path().indexOf(\"xid\") !== -1)\r\n    {\r\n      this.id = this.location.path().split('?')[1].split(\"xid=\")[1].split(\"&\")[0];\r\n      this.blnIsUid=false;\r\n    }\r\n   }\r\n  \r\n  ngOnInit() {\r\n    this.GetCBMenu();\r\n\r\n  }\r\n  public GetCBMenu() {\r\n\r\n \r\n    if (this.id == undefined) {\r\n      if (localStorage.getItem('UserID') !== null && localStorage.getItem('UserID') !== \"\") {\r\n\r\n        let userInfo = localStorage.getItem('UserID')\r\n        let UserIDObj = JSON.parse(userInfo);\r\n        if (UserIDObj !== null && UserIDObj !== undefined) {\r\n          if (UserIDObj.type == \"uid\") {\r\n            this.id = UserIDObj.id;\r\n            this.blnIsUid = true;\r\n          }\r\n          else {\r\n            this.id = UserIDObj.id;\r\n            this.blnIsUid = false;\r\n          }\r\n        }\r\n      }\r\n    }\r\n\r\n    var req={objUserValidate:{UserId:this.id,IsUid:this.blnIsUid}}\r\n    this.cbmsApi.GetMenuWithUidOrXid(req).subscribe(data => {\r\n      this.MenuData = data.MenulistWithUidOrXidResult;\r\n\r\n      // let menutDetails: any = {\r\n      //     Displaytext: 'RM Micro app',\r\n      //     Displayorder: 15,\r\n      //     MenuId: 200,\r\n      //     Menulevel: 1,\r\n      //     ParentMenuId: 152,\r\n      //     TargetAction: environment.appBaseUrl+'search-clients',\r\n      //     TargetServer: ''\r\n      //   };\r\n      //   // if (menutDetails.TargetAction !== '') {\r\n      //   //   menutDetails.TargetAction = menutDetails.TargetAction\r\n      //   //   .replace(menutDetails.TargetAction.split(':')[2].split('/')[0], window.location.port);\r\n      //   // }\r\n      //   this.MenuData.push(menutDetails);\r\n      this.MenuData = this.MenuData.filter(function (data1, i, menudata) {\r\n        return data1.Menulevel == 1;\r\n      });\r\n    \r\n   \r\n    });\r\n  }\r\n  // loadMenuItem($event) {\r\n  //   let portname: string = window.location.port;\r\n  //   if ($event.srcElement.parentNode.port !== '') {\r\n  //     $event.srcElement.parentNode.port = portname;\r\n  //   }\r\n  //   console.log($event.srcElement.parentNode);\r\n  // }\r\n    Logout(url) {\r\n    // localStorage.removeItem('UserID');\r\n    localStorage.clear();\r\n    //\r\n\r\n    //this.router.navigate(['/login']);\r\n    location.href = url;\r\n  }\r\n  HelpOpenUrlInNewTab(url) {\r\n    const link = document.createElement('a');\r\n    link.target = '_blank';\r\n    link.href = url;\r\n    link.style.display = 'none';\r\n    link.click();\r\n  }\r\n\r\n  // LogoutMenu(Displaytext, TargetAction) {\r\n  \r\n  //   if (Displaytext != 'GRM MicroApp')\r\n  //     localStorage.removeItem('UserID');\r\n\r\n\r\n  //   location.href = TargetAction;\r\n  // }\r\n}\r\n","\r\n<table class=\"Nav1\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"100%\">\r\n    <tbody>\r\n      <tr>\r\n        <td align=\"left\">\r\n          <table class=\"Nav1\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"100%\">\r\n            <tbody>\r\n              <tr>\r\n                <ng-container *ngFor=\"let item of MenuData; last as isLast\">\r\n                    \r\n  \r\n                    <ng-container *ngIf=\"item.Displaytext === 'GRM MicroApp';else second\">\r\n                        <td class=\"Spacer\">\r\n                          <img src=\"assets/images/spacer.gif\" width=\"10\" height=\"20\" border=\"0\">\r\n                        </td>\r\n                        <td class=\"Option\" align=\"center\">\r\n                          <a class=\"menu-text\" [href]=\"item.TargetAction\" >\r\n                            <font class=\"Option\">{{item.Displaytext}}</font>\r\n                          </a>\r\n                        </td>\r\n      \r\n                        <td class=\"Spacer\" align=\"center\">\r\n                          <img src=\"assets/images/spacer.gif\" width=\"10\" height=\"20\" border=\"0\">\r\n                        </td>\r\n                        <td class=\"Divider\" align=\"center\" *ngIf=\"!isLast\">\r\n                          <img src=\"assets/images/spacer.gif\" width=\"1\" height=\"20\" border=\"0\">\r\n                        </td>\r\n                      </ng-container>\r\n                    <ng-template #second>\r\n                        <ng-container *ngIf=\"item.Displaytext === 'Logout';else third\">\r\n  \r\n                            \r\n                            <td class=\"Spacer\">\r\n                              <img src=\"assets/images/spacer.gif\" width=\"10\" height=\"20\" border=\"0\">\r\n                            </td>\r\n                            <td class=\"Option\" align=\"center\">\r\n                              <a class=\"menu-text\" (click)=\"Logout(item.TargetAction)\" href=\"javascript:void(0)\">\r\n                                <font class=\"Option\">{{item.Displaytext}}</font>\r\n                              </a>\r\n                            </td>\r\n          \r\n                            <td class=\"Spacer\" align=\"center\">\r\n                              <img src=\"assets/images/spacer.gif\" width=\"10\" height=\"20\" border=\"0\">\r\n                            </td>\r\n                            <td class=\"Divider\" align=\"center\" *ngIf=\"!isLast\">\r\n                              <img src=\"assets/images/spacer.gif\" width=\"1\" height=\"20\" border=\"0\">\r\n                            </td>\r\n                        </ng-container>\r\n                    </ng-template>\r\n                    <ng-template #third>\r\n                        <ng-container *ngIf=\"item.Displaytext === 'Help';else forth\">\r\n  \r\n                            \r\n                            <td class=\"Spacer\">\r\n                              <img src=\"assets/images/spacer.gif\" width=\"10\" height=\"20\" border=\"0\">\r\n                            </td>\r\n                            <td class=\"Option\" align=\"center\">\r\n                              <a class=\"menu-text\" (click)=\"HelpOpenUrlInNewTab(item.TargetAction)\" href=\"javascript:void(0)\">\r\n                                <font class=\"Option\">{{item.Displaytext}}</font>\r\n                              </a>\r\n                            </td>\r\n          \r\n                            <td class=\"Spacer\" align=\"center\">\r\n                              <img src=\"assets/images/spacer.gif\" width=\"10\" height=\"20\" border=\"0\">\r\n                            </td>\r\n                            <td class=\"Divider\" align=\"center\" *ngIf=\"!isLast\">\r\n                              <img src=\"assets/images/spacer.gif\" width=\"1\" height=\"20\" border=\"0\">\r\n                            </td>\r\n                        </ng-container>\r\n                    </ng-template>\r\n  \r\n                    <ng-template #forth>\r\n                        <ng-container >\r\n                            <td class=\"Spacer\">\r\n                                <img src=\"assets/images/spacer.gif\" width=\"10\" height=\"20\" border=\"0\">\r\n                              </td>\r\n                              <td class=\"Option\" align=\"center\">\r\n                                <a class=\"menu-text\" [href]=\"item.TargetAction\" >\r\n                                  <font class=\"Option\">{{item.Displaytext}}</font>\r\n                                </a>\r\n                              </td>\r\n            \r\n                              <td class=\"Spacer\" align=\"center\">\r\n                                <img src=\"assets/images/spacer.gif\" width=\"10\" height=\"20\" border=\"0\">\r\n                              </td>\r\n                              <td class=\"Divider\" align=\"center\" *ngIf=\"!isLast\">\r\n                                <img src=\"assets/images/spacer.gif\" width=\"1\" height=\"20\" border=\"0\">\r\n                              </td>\r\n                        </ng-container>\r\n                    </ng-template>\r\n  \r\n                  </ng-container>\r\n  \r\n  \r\n  \r\n  \r\n  \r\n  \r\n                  <!-- <ng-container  *ngIf=\"item.Displaytext !== 'Logout'&&item.Displaytext !=='GRM MicroApp'; else notShow\">\r\n                    <td class=\"Spacer\">\r\n                      <img src=\"assets/images/spacer.gif\" width=\"10\" height=\"20\" border=\"0\">\r\n                    </td>\r\n                    <td class=\"Option\" align=\"center\">\r\n                      <a class=\"menu-text\" [href]=\"item.TargetAction\" >\r\n                        <font class=\"Option\">{{item.Displaytext}}</font>\r\n                      </a>\r\n                    </td>\r\n  \r\n                    <td class=\"Spacer\" align=\"center\">\r\n                      <img src=\"assets/images/spacer.gif\" width=\"10\" height=\"20\" border=\"0\">\r\n                    </td>\r\n                    <td class=\"Divider\" align=\"center\" *ngIf=\"!isLast\">\r\n                      <img src=\"assets/images/spacer.gif\" width=\"1\" height=\"20\" border=\"0\">\r\n                    </td>\r\n                  </ng-container>\r\n                  <ng-container *ngIf=\"item.Displaytext === 'GRM MicroApp'\">\r\n                    <td class=\"Spacer\">\r\n                      <img src=\"assets/images/spacer.gif\" width=\"10\" height=\"20\" border=\"0\">\r\n                    </td>\r\n                    <td class=\"Option\" align=\"center\">\r\n                      <a class=\"menu-text\" [href]=\"item.TargetAction\" >\r\n                        <font class=\"Option\">{{item.Displaytext}}</font>\r\n                      </a>\r\n                    </td>\r\n  \r\n                    <td class=\"Spacer\" align=\"center\">\r\n                      <img src=\"assets/images/spacer.gif\" width=\"10\" height=\"20\" border=\"0\">\r\n                    </td>\r\n                    <td class=\"Divider\" align=\"center\" *ngIf=\"!isLast\">\r\n                      <img src=\"assets/images/spacer.gif\" width=\"1\" height=\"20\" border=\"0\">\r\n                    </td>\r\n                  </ng-container>\r\n  \r\n                  <ng-container *ngIf=\"item.Displaytext === 'Logout'\">\r\n                    <td class=\"Spacer\">\r\n                      <img src=\"assets/images/spacer.gif\" width=\"10\" height=\"20\" border=\"0\">\r\n                    </td>\r\n                    <td class=\"Option\" align=\"center\">\r\n                      <a class=\"menu-text\" (click)=\"Logout(item.TargetAction)\" href=\"javascript:void(0)\">\r\n                        <font class=\"Option\">{{item.Displaytext}}</font>\r\n                      </a>\r\n                    </td>\r\n  \r\n                    <td class=\"Spacer\" align=\"center\">\r\n                      <img src=\"assets/images/spacer.gif\" width=\"10\" height=\"20\" border=\"0\">\r\n                    </td>\r\n                    <td class=\"Divider\" align=\"center\" *ngIf=\"!isLast\">\r\n                      <img src=\"assets/images/spacer.gif\" width=\"1\" height=\"20\" border=\"0\">\r\n                    </td>\r\n                  </ng-container> \r\n                </ng-container>-->\r\n              </tr>\r\n            </tbody>\r\n          </table>\r\n        </td>\r\n      </tr>\r\n    </tbody>\r\n  </table>\r\n  <!-- <nav class=\"navbar navbar-expand-lg navbar-light bg-light tab-view\">\r\n    <button class=\"navbar-toggler\" type=\"button\" (click)=\"collapse=!collapse\">\r\n      <span class=\"navbar-toggler-icon\"></span>\r\n    </button>\r\n    <div class=\"navbar-collapse\" (click)=\"collapse=true\" [class.showMenu]=\"collapse\">\r\n      <ul class=\"navbar-nav mr-auto\">\r\n        <ng-container *ngFor=\"let item of MenuData; last as isLast\">\r\n          <li *ngIf=\"item.Displaytext !== 'Logout'\" class=\"nav-item\">\r\n            <a class=\"menu-text\" [href]=\"item.TargetAction\">\r\n              <font class=\"Option\">{{item.Displaytext}}</font>\r\n            </a>\r\n          </li>\r\n          <li *ngIf=\"item.Displaytext == 'Logout'\" class=\"nav-item\">\r\n            <a class=\"menu-text\" (click)=\"Logout()\">\r\n              <font class=\"Option\">{{item.Displaytext}}</font>\r\n            </a>\r\n          </li>\r\n        </ng-container>\r\n      </ul>\r\n    </div>\r\n  </nav>\r\n  <table class=\"HeaderBase\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"100%\" height=\"9\">\r\n    <tbody>\r\n      <tr>\r\n        <td height=\"9\" align=\"center\"></td>\r\n      </tr>\r\n    </tbody>\r\n  </table> -->","import { Component, OnInit } from '@angular/core';\r\nimport { Input } from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\n//import { environment } from './environments/environment';\r\nimport { CbmsService } from './cbms.services';\r\nimport { Router } from '@angular/router';\r\nimport { CbmsBaseUtilService} from './services/cbms-base-util.service';\r\n\r\nimport { Location, LocationStrategy, PathLocationStrategy } from '@angular/common';\r\nimport { PermissionService } from './services/permission.service';\r\n@Component({\r\n  selector: 'CBMS-lib-CBMS-Base-App',\r\n  templateUrl: 'cbms-base-app.component.html',\r\n  styles: []\r\n})\r\nexport class CBMSBaseAppComponent implements OnInit {\r\n  title = 'app';\r\n\r\n   constructor() {\r\n   \r\n   }\r\n   public userInfoId: number;\r\n   public IsAuthenticate: boolean;\r\n   xid: any;\r\n   public uid: string;\r\n   @Input('envirnment') envirnment :any;\r\n    ngOnInit() {\r\n      console.log(\"Base-app-initiated\")\r\n    }\r\n}\r\n\r\n\r\n","\r\n\r\n\r\n  <div class=\"noPaddingLeftRight\">\r\n    <div class=\"\">\r\n        <div class=\"row\" style=\"margin-right: 0px; margin-left: 0px;\">\r\n            <div class=\"col-md-12\" style=\"padding-right: 0px; padding-left: 0px;\">\r\n              \r\n                <cbms-head-lib></cbms-head-lib>\r\n            </div>\r\n        </div>\r\n        <div class=\"row\" style=\"margin-right: 0px; margin-left: 0px;\">\r\n            <div class=\"col-sm-12 col-md-12 no-gutter\" style=\"padding-right: 0px; padding-left: 0px;\">\r\n                <cbms-menu-lib></cbms-menu-lib>\r\n                <table class=\"HeaderBase\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"100%\" height=\"9\">\r\n                    <tbody><tr>\r\n                        <td height=\"9\" align=\"center\"></td>\r\n                    </tr>\r\n                </tbody></table>\r\n            </div>\r\n        </div>\r\n        <ng-content></ng-content>\r\n    </div>\r\n    \r\n</div>\r\n","import { Component, OnInit, Input, ViewEncapsulation } from '@angular/core';\r\n\r\n@Component({\r\n  selector: 'cbms-dialog-lib',\r\n  templateUrl: './dialog.component.html',\r\n  styleUrls: ['./dialog.component.scss'],\r\n  encapsulation:ViewEncapsulation.None\r\n})\r\nexport class DialogComponent {\r\n  public opened: boolean = false;\r\n  public successFunction:any=null;\r\n  public isAlert:boolean;\r\n  public failureFunction:any=null;\r\n  public message:string;\r\n  \r\n\r\n \r\n\r\n  @Input('title') title: string = '';\r\n  public close(status) {\r\n \r\n    this.opened = false;\r\n  }\r\n\r\n  public open() {\r\n    this.opened = true;\r\n  }\r\n  showAlert(message:string,successFunc){\r\n    this.message=message;\r\n    this.title=\"Alert\";\r\n    \r\n    this.successFunction=successFunc;\r\n    this.isAlert=true;\r\n    this.opened = true;\r\n}\r\n\r\nshowConfirm(message:string,successFunc,failureFunc){\r\n    this.message=message;\r\n    this.title=\"Confirm\";\r\n    this.successFunction=successFunc;\r\n    this.failureFunction=failureFunc;\r\n    this.isAlert=false;\r\n    this.opened = true;\r\n}\r\n\r\ncloseDialog(status) {\r\n    this.opened = false;\r\n    if(status=='yes' && this.successFunction ){\r\n        this.successFunction();\r\n    }\r\n    if(status=='no' && this.failureFunction ){\r\n        this.failureFunction();\r\n    }\r\n}\r\n\r\n}\r\n","<!-- <kendo-dialog title=\"{{title}}\" *ngIf=\"opened\" (close)=\"closeDialog('cancel')\" [minWidth]=\"250\" [width]=\"450\">\r\n    <p style=\"margin: 30px; text-align: center;\">{{ message }}}</p>\r\n    <kendo-dialog-actions>\r\n        <button kendoButton (click)=\"closeDialog('no')\">No</button>\r\n        <button kendoButton (click)=\"closeDialog('yes')\" primary=\"true\">Yes</button>\r\n    </kendo-dialog-actions>\r\n</kendo-dialog> -->\r\n\r\n<div class=\"dialogK\">\r\n\r\n\r\n<kendo-dialog style=\"background-clip: inherit;\" class=\" \" [minWidth]=\"250\" [width]=\"450\" title=\"{{title}}\" *ngIf=\"opened\" (close)=\"closeDialog('no')\" >\r\n    \r\n    <div class=\"message-row\" >\r\n        <!-- <div style=\"display:table-cell;width: 55px;padding-right: 10px;\">\r\n            <div *ngIf=\"!isAlert\" class=\"confirmImage\"></div>\r\n            <div *ngIf=\"isAlert\" class=\"alertImage\"></div>\r\n        </div> -->\r\n        <div style=\"display:table-cell;vertical-align: middle; height:100%;\">\r\n            <span style=\"display: table-cell;vertical-align:middle;width:600px\">{{message}}</span>\r\n        </div>\r\n    <br>\r\n    <div class=\"row\" >\r\n        <div class=\"btnDiv\">\r\n            <div *ngIf=\"isAlert\">\r\n                <input type=\"button\" value=\"{{'Ok'}}\" (click)=\"closeDialog('yes')\" class=\"buttonOk\" />\r\n            </div>\r\n            <div *ngIf=\"!isAlert\">\r\n                <input type=\"button\" value=\"{{'Yes'}}\" (click)=\"closeDialog('yes')\" class=\"buttonOk\" />\r\n                <input type=\"button\" value=\"{{'No'}}\" (click)=\"closeDialog('no')\" class=\"buttonCancel\" />\r\n            </div>\r\n        </div>\r\n    </div>\r\n</div>\r\n</kendo-dialog>\r\n</div>","import { Component, OnInit, Input, EventEmitter, Output, ViewEncapsulation } from '@angular/core';\r\n\r\n@Component({\r\n  selector: 'cbms-popup-lib',\r\n  templateUrl: './popup.component.html',\r\n  styleUrls: ['./popup.component.scss'],\r\n  encapsulation:ViewEncapsulation.None\r\n})\r\nexport class PopupComponent {\r\n  @Input('title') title: string = '';\r\n  @Output() public popUpClosed = new EventEmitter();\r\n  @Input('hideClose') hideClose: boolean = false;\r\n  @Input('backgroundColor') backgroundColor: string = '#f1f1f1';\r\n  @Input('marginTop') marginTop: string = '132px';\r\n  @Input('width') width: string;\r\n  @Input('isClosable') isClosable:boolean=true;\r\n\r\n  public show: boolean = false;\r\n\r\n  showPopup() {\r\n      this.show = true;\r\n  }\r\n\r\n  hidePopup() {\r\n      this.show = false;\r\n      this.popUpClosed.emit();\r\n  }\r\n \r\n}\r\n","<kendo-popup class=\"k-popup-wrapper\" *ngIf=\"show\">\r\n        <div class=\"popup-container\" [style.background-color]=\"backgroundColor\" [style.margin-top]=\"marginTop\">\r\n            <div class=\"popup-header\" [style.border-bottom]=\"title.length>0 ? '1px solid #D3D2CE' : 'none'\">\r\n                <div style=\"width:100%;padding: 7px;display:inline-block;\">\r\n                    <h6 class=\"popup-title\">{{title}}</h6>&nbsp;\r\n                    <a *ngIf=\"isClosable\" class=\"link-text\"  class=\"popup-close\" (click)=\"hidePopup()\">\r\n                        <img class=\"alertImg\" src=\"../assets/images/close_Icon.png\">\r\n                    </a>\r\n                </div>\r\n            </div>\r\n            <ng-content></ng-content>\r\n        </div>  \r\n    </kendo-popup>","import { Injectable } from '@angular/core';\r\nimport { Observable, Subject} from 'rxjs';\r\n\r\n\r\n@Injectable({\r\n  providedIn: 'root'\r\n})\r\nexport class CbmsSharedService {\r\n  public  userInfoId = new Subject<any>();\r\n public userInfoId$ = this.userInfoId.asObservable();\r\n  constructor() { }\r\n\r\n  setUserInfoId(data: any) {\r\n    this.userInfoId.next(data)\r\n  }\r\n\r\n\r\n\r\n}\r\n","import { Injectable, Injector } from '@angular/core';\r\nimport { IRoutesInfo } from './../Authorization/routes.info';\r\n//import { environment } from '../environments/environment';\r\nimport { CbmsService } from './../cbms.services';\r\nimport { CbmsSharedService } from './cbms-shared.service'\r\nimport { ActivatedRoute } from '@angular/router';\r\n@Injectable({\r\n  providedIn: 'root'\r\n})\r\nexport class CbmsBaseUtilService {\r\n  public userInfoId: number;\r\n  public lstRoutes: Array<IRoutesInfo>;\r\n\r\n  public IsAuthenticate: boolean;\r\n  public isuidValid: boolean;\r\n  xid: any;\r\n  public uid: string;\r\n\r\n  constructor(public injector: Injector, private cbmsService: CbmsService, private cbmsSharedService: CbmsSharedService, private router: ActivatedRoute) { \r\n    \r\n\r\n  }\r\n\r\n\r\n  get RoutesInfo(): IRoutesInfo[] {\r\n    return this.lstRoutes;\r\n  }\r\n\r\n  public authenticateUser(obj): any {\r\n\r\n    if (obj != undefined && obj != null) {\r\n      return obj;\r\n    }\r\n   else if (localStorage.getItem('UserID') !== null && localStorage.getItem('UserID') !== \"\") {\r\n \r\n      let userInfo = localStorage.getItem('UserID')\r\n      this.uid = JSON.parse(userInfo);\r\n      if (this.uid !== null && this.uid !== undefined) {\r\n        return this.uid;\r\n      }\r\n      else {\r\n        //   this.IsAuthenticate = false;\r\n        localStorage.removeItem('UserID');\r\n        location.href = this.injector.get(\"config\").appLoginURL;\r\n        return false;\r\n      }\r\n    }\r\n    \r\n    else {\r\n\r\n      location.href = this.injector.get(\"config\").appLoginURL;\r\n      return false;\r\n    }\r\n  }\r\n  public async UidValidation(userInfo) {\r\n\r\n    if (userInfo == null && userInfo == undefined) {\r\n      this.IsAuthenticate = false;\r\n      localStorage.removeItem('UserID');\r\n      location.href = this.injector.get(\"config\").appLoginURL;\r\n      return false;\r\n    }\r\n    else {\r\n      let res;\r\n      if (userInfo.type == \"uid\") {\r\n        res = await this.cbmsService.Validateuid(userInfo.id);\r\n      }\r\n      else if (userInfo.type == \"xid\") {\r\n        res = await this.cbmsService.Validatexid(userInfo.id);\r\n      }\r\n      if (!Number(res)) {\r\n        localStorage.removeItem('UserID');\r\n        location.href = this.injector.get(\"config\").appLoginURL;\r\n        return this.IsAuthenticate;\r\n      }\r\n      else {\r\n        this.userInfoId = res;\r\n        localStorage.setItem('UserID', JSON.stringify(userInfo));\r\n        this.IsAuthenticate = true;\r\n        return res;\r\n      }\r\n    }\r\n  }\r\n  public setRoutesInfo(lstRoutes: Array<IRoutesInfo>) {\r\n    this.lstRoutes = lstRoutes;\r\n    return true;\r\n  }\r\n}\r\n","import { Injectable, OnInit } from '@angular/core';\r\nimport { CbmsService } from './../cbms.services';\r\nimport { CbmsSharedService } from './../services/cbms-shared.service';\r\nimport { Observable, Observer } from 'rxjs';\r\n@Injectable({\r\n  providedIn: 'root'\r\n})\r\nexport class PermissionService implements OnInit{\r\n\r\n  public dataObserver: Observer<any>;\r\n  isPermissionLoaded: boolean;\r\n  public permissionLst: any;\r\n  userInfoId: any;\r\n  public permissionLoaded: Observable<boolean>;\r\n  constructor(private cbmsService: CbmsService, private cbmsShared: CbmsSharedService) {\r\n    this.cbmsShared.userInfoId$.subscribe(\r\n      t => {\r\n        this.userInfoId = t;\r\n      });\r\n    this.permissionLoaded = Observable.create((observer) => {\r\n      this.dataObserver = observer;\r\n    });\r\n    this.permissionLoaded.subscribe();\r\n  }\r\n  ngOnInit(): void {\r\n  }\r\n\r\n  public async loadModulePermissions(userInfoId: any) {\r\n    this.permissionLst = await this.cbmsService.GetPermissionsByUserId(userInfoId);\r\n    this.isPermissionLoaded = true;\r\n    if (this.dataObserver) {\r\n      this.dataObserver.next(this.permissionLst);\r\n    }\r\n    return this.isPermissionLoaded;\r\n  }\r\n\r\n  hasAnyPermissions(keys: string[]) {\r\n    if (this.permissionLst) {\r\n      for (let pIndex = 0; pIndex < keys.length; pIndex++) {\r\n        if (this.permissionLst.filter(x => x.toLowerCase() === keys[pIndex].toLowerCase()).length > 0) {\r\n          return true;\r\n        }\r\n      }\r\n    }\r\n    return false;\r\n  }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport {Subject} from 'rxjs';\r\n\r\n@Injectable({\r\n  providedIn: 'root'\r\n})\r\nexport class BreadcrumbService {\r\n  private pageName = new Subject<any>();\r\n  currentName = this.pageName.asObservable();\r\n  constructor() { \r\n  }\r\n  changeName(data: any) {\r\n    this.pageName.next(data)\r\n  }\r\n}\r\n","import { Component, OnInit, Input, OnChanges, SimpleChanges, Output, EventEmitter, AfterViewInit, ElementRef, TemplateRef, ChangeDetectionStrategy, ChangeDetectorRef, ViewChild } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { BreadcrumbService } from '../services/breadcrumb.service';\r\n\r\n@Component({\r\n  selector: 'cbms-breadcrump',\r\n  templateUrl: './cbms-breadcrump.component.html',\r\n  styleUrls: ['./cbms-breadcrump.component.css']\r\n})\r\nexport class CbmsBreadcrumpComponent implements OnInit, OnChanges {\r\n\r\n  @Input('moreInfoText') moreInfoText: any[];\r\n  @Input('title') title: any[];\r\n  @Input('json') json: any = {};\r\n  pageName: any[];\r\n  breadcrums: any[];\r\n  public breadCrumbs = [];\r\n\r\n  // = [{ label: 'RenewableEnergy&CarbonTracking', data: '/' },];\r\n  constructor(public router: Router, public breadcrumbService: BreadcrumbService) { }\r\n  \r\n  ngOnChanges(changes: SimpleChanges): void {\r\n    if(changes['json'].currentValue.length != undefined)\r\n    this.bindBreadCrump();\r\n  }\r\n  ngOnInit() {\r\n  }\r\n  public bindBreadCrump() {\r\n    // this.breadcrumbService.changeName(JSON.parse(this.json));\r\n      this.pageName = JSON.parse(this.json);\r\n      if (this.pageName) {\r\n        this.breadcrums = [];\r\n        this.pageName.forEach(ele => {\r\n          this.breadcrums.push({\r\n            label: ele.text,\r\n            url: ele.url,\r\n            Optionalparam: ele.Optionalparam ? ele.Optionalparam[0] : null,\r\n            isAbsolute: ele.isAbsolute\r\n          });\r\n        });\r\n      }\r\n  \r\n  }\r\n\r\n}\r\n","\r\n<div class=\"app-content\">\r\n    <div class=\"breadcrumbBg\">\r\n        <div class=\"roundBdr\">\r\n            <ol class=\"breadcrumbRM\">\r\n                <li *ngFor=\"let breadcrumb of breadcrums; let last = last\">\r\n                    <a *ngIf=\"breadcrumb.isAbsolute; else relativeUrlRouting\" class=\"breadcrumb-item\"\r\n                        [class.disabled]=\"last\" href=\"{{breadcrumb.url}}\" target=\"_blank\">{{ breadcrumb.label}}</a>\r\n                    <ng-template #relativeUrlRouting>\r\n                        <a *ngIf=\"breadcrumb.Optionalparam!=null\" class=\"breadcrumb-item\" [class.disabled]=\"last\"\r\n                            [routerLink]=\"[breadcrumb.url,breadcrumb.Optionalparam]\">\r\n                            <!-- <font [class.Option]=\"!last\">{{ breadcrumb.label}}</font> -->{{breadcrumb.label}}\r\n                        </a>\r\n                        <a *ngIf=\"breadcrumb.Optionalparam==null\" class=\"breadcrumb-item\" [class.disabled]=\"last\"\r\n                            [routerLink]=\"[breadcrumb.url]\">\r\n                            <!-- <font [class.Option]=\"!last\">{{ breadcrumb.label}}</font> -->{{ breadcrumb.label}}\r\n                        </a>\r\n                    </ng-template>\r\n                    <span class=\"breadcrumb-separator\" *ngIf=\"!last\">-</span>\r\n                </li>\r\n            </ol>\r\n        </div>\r\n    </div>\r\n    <div>\r\n        <ng-content></ng-content>\r\n    </div>\r\n</div>","import { CBMSBaseAppComponent } from './cbms-base-app.component';\r\n// import { BrowserModule } from '@angular/platform-browser';\r\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\r\nimport { NgModule, ModuleWithProviders } from '@angular/core';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { CbmsService } from './cbms.services';\r\nimport { BaseService } from './services/base.service';\r\nimport { AuthenticationService } from './services/authentication.service';\r\nimport { HttpClientModule, HttpClient } from '@angular/common/http';\r\nimport { RouterModule } from '@angular/router';\r\nimport { DatePipe } from '@angular/common';\r\nimport { HeadComponent } from './head/head.component';\r\nimport { DialogComponent } from './dialog/dialog.component';\r\nimport { DialogModule } from '@progress/kendo-angular-dialog';\r\nimport { MenuComponent } from './menu/menu.component';\r\nimport { PopupComponent } from './popup/popup.component';\r\nimport { PopupModule } from '@progress/kendo-angular-popup';\r\nimport { CommonModule } from '@angular/common';\r\nimport {CbmsBaseUtilService} from './services/cbms-base-util.service';\r\nimport {PermissionService} from './services/permission.service';\r\nimport{ IEnvironmentsInfo } from './Models/environmentsModel.info';\r\nimport { CbmsBreadcrumpComponent } from './cbms-breadcrump/cbms-breadcrump.component'\r\nconst cbms_base_Controls = [\r\n  //CbmsBaseComponent,\r\n  CBMSBaseAppComponent,\r\n  HeadComponent,\r\n  DialogComponent,\r\n  MenuComponent,\r\n//  HomepageComponent,\r\n  PopupComponent,\r\n  CbmsBreadcrumpComponent\r\n];\r\n@NgModule({\r\n  imports: [\r\n   // BrowserModule,\r\n    FormsModule,\r\n    ReactiveFormsModule,\r\n    HttpClientModule,\r\n    // routing,\r\n    RouterModule,\r\n    PopupModule,\r\n    // BrowserAnimationsModule,\r\n    \r\n    DialogModule,\r\n    CommonModule,\r\n    ],\r\n  declarations: [cbms_base_Controls],\r\n  exports: [RouterModule, cbms_base_Controls],\r\n  providers: [DatePipe,CbmsService, BaseService,CbmsBaseUtilService,PermissionService],\r\n  bootstrap: [CBMSBaseAppComponent]\r\n})\r\n\r\nexport class CBMSBaseAppModule {\r\n  static forRoot( config :IEnvironmentsInfo): ModuleWithProviders<CBMSBaseAppModule> {\r\n    return {\r\n      ngModule: CBMSBaseAppModule,\r\n      providers: [DatePipe,CbmsService, BaseService,CbmsBaseUtilService,PermissionService,\r\n         { provide: 'config', useValue: config }]\r\n    };\r\n  }\r\n}\r\n","import { Injectable, Injector } from '@angular/core';\r\nimport { Router, CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';\r\nimport { AppSettings } from '../app.settings';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { CbmsService } from '../cbms.services';\r\nimport { CbmsBaseUtilService } from './../services/cbms-base-util.service';\r\n\r\nimport { Observable } from 'rxjs';\r\nimport { PermissionService } from './../services/permission.service';\r\nimport { IEnvironmentsInfo } from '../Models/environmentsModel.info';\r\nimport { map } from 'rxjs/operators'\r\n//import { environment } from './../environments/environment';\r\n\r\n@Injectable({ providedIn: 'root' })\r\n\r\nexport class AuthGuard implements CanActivate {\r\n  private config;\r\n  constructor(private router: Router, public injector: Injector,private cbmsService: CbmsService,\r\n    private queryStringRouter: ActivatedRoute, private cbmsbaseutil: CbmsBaseUtilService,\r\n    private permissionService: PermissionService) {\r\n      this.config = this.injector.get<IEnvironmentsInfo>('config' as any);\r\n     }\r\n\r\n  canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot) {\r\n    const routeString = (this.config.moduleName === 'budget' ? route.routeConfig.path\r\n                                  : state.root.children[0].routeConfig.path).toLowerCase();\r\n    //   if (this.cbmsbaseutil.IsAuthenticate) {\r\n    if (this.permissionService.isPermissionLoaded) {\r\n      return this.isValid(routeString);\r\n    } else {\r\n      return this.permissionService.permissionLoaded.pipe(map(() => this.isValid(routeString)));\r\n    }\r\n    // } else {\r\n    // location.href = this.injector.get(\"config\").appLoginURL;\r\n    // return false;\r\n    // }\r\n  }\r\n\r\n  public isValid(url: string): boolean {\r\n    let hasPermision = true;\r\n    if (this.permissionService.permissionLst.length > 0) {\r\n      if (this.cbmsbaseutil.RoutesInfo) {\r\n        for (let i = 0; i < this.cbmsbaseutil.RoutesInfo.length; i++) {\r\n          if (url.indexOf(this.cbmsbaseutil.RoutesInfo[i].route.toLowerCase()) > -1) {\r\n            hasPermision = false;\r\n            if (this.permissionService.hasAnyPermissions(this.cbmsbaseutil.RoutesInfo[i].permissions)) {\r\n              hasPermision = true;\r\n            }\r\n            break;\r\n          }\r\n        }\r\n      }\r\n    } else if (this.permissionService.isPermissionLoaded) {\r\n      hasPermision = false;\r\n    }\r\n    if (!hasPermision) {\r\n      location.href = this.config.appLoginURL;\r\n    }\r\n    return hasPermision;\r\n  }\r\n}\r\n","/*\r\n * Public API Surface of cbms-base-app\r\n */\r\n\r\nexport * from './lib/cbms-base-app.service';\r\nexport * from './lib/cbms-base-app.component';\r\nexport * from './lib/cbms-base-app.module';\r\nexport * from './lib/cbms.services';\r\nexport * from './lib/Authorization/auth.guard';\r\n\r\nexport * from './lib/head/head.component';\r\nexport * from './lib/popup/popup.component';\r\nexport * from './lib/dialog/dialog.component';\r\nexport * from './lib/cbms-breadcrump/cbms-breadcrump.component';\r\nexport * from './lib/menu/menu.component';\r\nexport * from './lib/services/base.service';\r\n// export * from './lib/app.routing';\r\nexport * from './lib/app.settings';\r\nexport * from './lib/cbms.services';\r\n//export * from './lib/environments/environment';\r\nexport * from './lib/services/cbms-base-util.service';\r\nexport * from './lib/services/cbms-shared.service';\r\nexport * from './lib/services/permission.service';\r\nexport * from './lib/Authorization/routes.info';\r\n\r\n\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i3","i1.BaseMenuService","i2","i1.CbmsService","i1.HeadComponent","i2.MenuComponent","i1","i2.CbmsSharedService","i2.BreadcrumbService","map","i2.CbmsService","i3.CbmsBaseUtilService","i4.PermissionService"],"mappings":";;;;;;;;;;;;;;;;MAKa,kBAAkB,CAAA;AAE7B,IAAA,WAAA,GAAA,GAAiB;0HAFN,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAlB,uBAAA,OAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,kBAAkB,cAFjB,MAAM,EAAA,CAAA,CAAA;;2FAEP,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAH9B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA,CAAA;;;MCKY,aAAa,CAAA;AAKJ,IAAA,IAAA,CAAA;IAJpB,QAAQ,GAAQ,EAAE,CAAC;AACnB,IAAA,gBAAgB,CAAS;AACzB,IAAA,aAAa,CAAS;AACtB,IAAA,qBAAqB,CAAC;AACtB,IAAA,WAAA,CAAoB,IAAgB,EAAA;QAAhB,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAY;KAAK;AAClC,IAAA,WAAW,GAAQ,IAAI,IAAI,EAAE,CAAC;IACrC,QAAQ,GAAA;AAEN,QAAA,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC,SAAS,CAAC,GAAG,IAAG;AACpD,YAAA,MAAM,eAAe,GAAG,GAAG,CAAC,iBAAiB,CAAC,CAAC;AAC/C,YAAA,IAAI,CAAC,eAAe,EAAE;gBACpB,OAAO,CAAC,GAAG,CAAC,6BAA6B,GAAG,GAAG,CAAC,2BAA2B,CAAC,CAAC,CAAC;gBAC9E,IAAI,CAAC,QAAQ,GAAG,kBAAkB,GAAG,GAAG,CAAC,2BAA2B,CAAC,CAAC;AACtE,gBAAA,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;AAC7B,gBAAA,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;AAC3B,gBAAA,IAAI,CAAC,qBAAqB,GAAG,GAAG,CAAC,mCAAmC,CAAC,CAAC;aACvE;AACI,iBAAA;gBACH,OAAO,CAAC,GAAG,CAAC,0BAA0B,GAAG,GAAG,CAAC,wBAAwB,CAAC,CAAC,CAAC;gBACxE,IAAI,CAAC,QAAQ,GAAG,gBAAgB,GAAG,GAAG,CAAC,wBAAwB,CAAC,CAAC;AACjE,gBAAA,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;AAC9B,gBAAA,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;aAC3B;AACH,SAAC,CAAC,CAAA;KACH;0HAzBU,aAAa,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAb,uBAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,aAAa,qDCT1B,s0BAcQ,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,CAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;2FDLK,aAAa,EAAA,UAAA,EAAA,CAAA;kBALzB,SAAS;+BACE,eAAe,EAAA,QAAA,EAAA,s0BAAA,EAAA,CAAA;;;MEMd,WAAW,CAAA;AAUH,IAAA,QAAA,CAAA;;AAPX,IAAA,YAAY,CAAA;AACZ,IAAA,WAAW,CAAA;AACX,IAAA,MAAM,CAAA;IACN,OAAO,GAAG,IAAI,WAAW,CAAC,EAAE,cAAc,EAAE,mCAAmC,EAAE,CAAC,CAAC;IACnF,WAAW,GAAG,IAAI,WAAW,CAAC,EAAC,cAAc,EAAE,kBAAkB,EAAC,CAAC,CAAC;AAErE,IAAA,IAAI,CAAa;AACxB,IAAA,WAAA,CAAmB,QAAkB,EAAA;QAAlB,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAU;AACnC,QAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,cAAc,CAAA;AAChE,QAAA,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC;QAC1D,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAoB,QAAe,CAAC,CAAC;QAClE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAC1C,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,cAAc,EAAE,mBAAmB,CAAC,CAAC;;KAE1D;;;AAGM,IAAA,GAAG,CAAC,IAAI,EAAA;;QAEb,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;aAC7C,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAA;;;;;KAK7B;AACM,IAAA,MAAM,CAAC,IAAI,EAAA;AAChB,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,GAAI,IAAI,EAAC,EAAC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAC,CAAC;aACtE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAA;;;;;KAK7B;IACM,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAA;QACxB,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,GAAG,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,EAAC,OAAO,EAAE,IAAI,CAAC,WAAW,EAAC,CAAC;aACjG,IAAI,CAAC,GAAG,CAAC,IAAI,IAAE,IAAI,CAAC,CAAC,CAAA;;;;KAIvB;;;;;;;IAOM,IAAI,CAAC,IAAI,EAAE,IAAI,EAAA;QACpB,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,GAAG,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,EAAC,OAAO,EAAE,IAAI,CAAC,WAAW,EAAC,CAAC;aACjG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAA;;;;;KAK7B;IACM,GAAG,CAAC,IAAI,EAAE,IAAI,EAAA;AACnB,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,GAAG,IAAI,EAAE,IAAI,EAAC,EAAC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,CAAC,CAAA;;;;KAI/G;AACS,IAAA,MAAO,aAAa,CAAC,IAAI,EAAE,IAAI,EAAA;AACvC,QAAA,IAAI;AAEF,YAAA,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,GAAG,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,EAAC,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,YAAY,EAAE,MAAM,EAAC,CAAC,CAAC;AACrI,YAAA,MAAM,GAAG,GAAG,MAAM,aAAa,CAAC,IAAI,CAAC,CAAC;AACtC,YAAA,OAAO,GAAG,CAAC;SACZ;QAAC,OAAO,GAAG,EAAE;YACZ,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,IAAI,uCAAuC,GAAG,IAAI,CAAC,CAAC;SAChF;KACF;IACS,MAAM,QAAQ,CAAC,IAAY,EAAA;AACnC,QAAA,IAAI;YACF,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,GAAG,IAAI,EAAC,EAAC,YAAY,EAAE,MAAM,EAAC,CAAC,CAAC;AAClF,YAAA,MAAM,GAAG,GAAG,MAAM,aAAa,CAAC,IAAI,CAAC,CAAC;AACtC,YAAA,OAAO,GAAG,CAAC;SACd;QAAC,OAAO,GAAG,EAAE;YACZ,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,IAAI,uCAAuC,GAAG,IAAI,CAAC,CAAC;SAChF;KACF;AACS,IAAA,MAAM,UAAU,CAAC,IAAY,EAAC,IAAQ,EAAA;AAC9C,QAAA,IAAI;AACA,YAAA,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,GAAG,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAC,EAAC,OAAO,EAAE,IAAI,CAAC,WAAW,EAAC,YAAY,EAAE,MAAM,EAAC,CAAC,CAAC;;AAElI,YAAA,MAAM,GAAG,GAAG,MAAM,aAAa,CAAC,IAAI,CAAC,CAAC;AACtC,YAAA,OAAO,GAAG,CAAC;SACd;QAAC,OAAO,GAAG,EAAE;YACZ,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,IAAI,uCAAuC,GAAG,IAAI,CAAC,CAAC;SAChF;KACF;AACW,IAAA,MAAM,aAAa,CAAC,IAAY,EAAE,IAAS,EAAA;AACnD,QAAA,IAAI;AACF,YAAA,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,mBAAmB,GAAG,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAC9F,EAAE,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,YAAY,EAAE,MAAM,EAAC,CAAC,CAAC;AACpD,YAAA,MAAM,GAAG,GAAG,MAAM,aAAa,CAAC,IAAI,CAAC,CAAC;AACtC,YAAA,OAAO,GAAG,CAAC;SACZ;QAAC,OAAO,GAAG,EAAE;YACZ,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,IAAI,uCAAuC,GAAG,IAAI,CAAC,CAAC;SAChF;KACF;AAEQ,IAAA,WAAW,CAAC,KAAU,EAAA;AAC7B,QAAA,IAAI,IAAI,CAAC;AACT,QAAA,IAAI;AACF,YAAA,IAAI,GAAG,KAAK,CAAC,IAAI,EAAE,IAAI,KAAK,CAAC;SAC9B;QAAC,OAAO,CAAC,EAAE;AACV,YAAA,IAAI,GAAG,EAAC,KAAK,EAAE,IAAI,EAAC,CAAC;SACtB;AACD,QAAA,OAAO,UAAU,CAAC,EAAC,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,IAAI,EAAC,CAAC,CAAC;KACjD;AAEO,IAAA,WAAW,CAAC,GAAQ,EAAA;AAC1B,QAAA,IAAI;AACF,YAAA,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AACjB,YAAA,MAAM,IAAI,GAAQ,GAAG,CAAC,IAAI,EAAE,CAAC;YAC7B,OAAO,IAAI,IAAI,EAAE,CAAC;SACnB;QAAC,OAAO,CAAC,EAAE;YACV,OAAO,GAAG,CAAC,KAAK,CAAC;SAClB;KACF;0HA1HU,WAAW,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,QAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAX,uBAAA,OAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAW,cAFV,MAAM,EAAA,CAAA,CAAA;;2FAEP,WAAW,EAAA,UAAA,EAAA,CAAA;kBAHvB,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA,CAAA;;;MCGY,eAAe,CAAA;AAEY,IAAA,MAAA,CAAA;AAC5B,IAAA,IAAA,CAAA;AAA0B,IAAA,QAAA,CAAA;AAA4B,IAAA,KAAA,CAAA;AADhE,IAAA,WAAA,CAAsC,MAAyB,EACrD,IAAgB,EAAU,QAAkB,EAAU,KAAa,EAAA;QADvC,IAAM,CAAA,MAAA,GAAN,MAAM,CAAmB;QACrD,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAY;QAAU,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAU;QAAU,IAAK,CAAA,KAAA,GAAL,KAAK,CAAQ;AAE3E,QAAA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,MAAM,EAAE,cAAc,IAAI,EAAE,CAAC;KACrD;AAEO,IAAA,UAAU,CAAS;AAE3B,IAAA,IAAI,OAAO,GAAA;QACT,OAAO,IAAI,CAAC,MAAM,CAAC;KACpB;AAEO,IAAA,YAAY,CAAC,KAAU,EAAA;AAC7B,QAAA,OAAO,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;KAChC;IACD,GAAG,CAAC,IAAY,EAAE,IAAA,GAAe,EAAE,EAAE,MAAA,GAAqB,IAAI,UAAU,EAAE,EAAA;QACxE,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAClB,IAAI,CAAC,UAAU,GAAG,IAAI,EACtB,IAAI,CACL,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;KACvC;AACD,IAAA,GAAG,CAAC,IAAY,EAAE,IAAA,GAAe,EAAE,EAAA;AACjC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAClB,IAAI,CAAC,UAAU,GAAG,IAAI,EACtB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CACrB,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;KACvC;AACD,IAAA,IAAI,CAAC,IAAY,EAAE,IAAA,GAAe,EAAE,EAAA;QAClC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CACnB,IAAI,CAAC,UAAU,GAAG,IAAI,EACtB,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;KAC7C;AACD,IAAA,SAAS,CAAC,IAAY,EAAE,IAAA,GAAe,EAAE,EAAA;AACvC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CACnB,IAAI,CAAC,UAAU,GAAG,IAAI,EACtB,IAAI,EACJ,EAAE,YAAY,EAAE,MAAgB,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;KAC3E;AACD,IAAA,YAAY,CAAC,IAAY,EAAE,IAAA,GAAe,EAAE,EAAA;AAC1C,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CACnB,IAAI,CAAC,UAAU,GAAG,IAAI,EACtB,IAAI,EACJ,EAAE,YAAY,EAAE,MAAM,EAAE,CACzB,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;KACvC;AACD,IAAA,MAAM,CAAC,IAAY,EAAE,IAAA,GAAe,EAAE,EAAA;QACpC,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CACrB,IAAI,CAAC,UAAU,GAAG,IAAI,EACtB,IAAI,CACL,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;KACvC;AACD,IAAA,KAAK,CAAC,IAAY,EAAE,IAAA,GAAe,EAAE,EAAA;AACnC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,CACpB,IAAI,CAAC,UAAU,GAAG,IAAI,EACtB,IAAI,EACJ,EAAE,YAAY,EAAE,MAAM,EAAE,CACzB,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;KACvC;AAED,IAAA,MAAM,SAAS,CAAC,IAAY,EAAE,OAAe,EAAE,EAAA;QAC7C,IAAI,OAAO,GAAG,KAAK,CAAC;AACpB,QAAA,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI;aACzB,IAAI,CAAC,IAAI,CAAC,UAAU,GAAG,IAAI,EAC1B,IAAI,CAAC;aACN,IAAI,CACH,GAAG,CAAC,QAAQ,IAAI,QAAQ,CAAC,EACzB,GAAG,CAAC,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC;AAChC,QAAA,MAAM,GAAG,GAAG,MAAM,aAAa,CAAC,IAAI,CAAC,CAAC;AACtC,QAAA,OAAO,GAAG,CAAC;KACZ;AAvEU,uBAAA,OAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,eAAe,kBAEN,QAAQ,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,QAAA,EAAA,EAAA,EAAA,KAAA,EAAAA,IAAA,CAAA,MAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAFjB,uBAAA,OAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,eAAe,cAFd,MAAM,EAAA,CAAA,CAAA;;2FAEP,eAAe,EAAA,UAAA,EAAA,CAAA;kBAH3B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA,CAAA;;0BAGc,MAAM;2BAAC,QAAQ,CAAA;;;MCfjB,WAAW,CAAA;AACb,IAAA,OAAO,YAAY,GAAG,wBAAwB,CAAC;AAC/C,IAAA,OAAO,cAAc,GAAC,2DAA2D,CAAC;;AAElF,IAAA,OAAO,iBAAiB,GAAG,2DAA2D,CAAC;;AAEvF,IAAA,OAAS,UAAU,GAAE,6BAA6B,CAAC;;;ACSxD,MAAO,WAAY,SAAQ,WAAW,CAAA;AACpB,IAAA,UAAA,CAAA;AAA4C,IAAA,IAAA,CAAA;AAAkC,IAAA,QAAA,CAAA;AAA2B,IAAA,iBAAA,CAAA;AAA7H,IAAA,WAAA,CAAoB,UAA2B,EAAiB,IAAgB,EAAkB,QAAkB,EAAS,iBAAiC,EAAA;;QAE1J,KAAK,CAAC,QAAQ,CAAC,CAAC;QAFA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAiB;QAAiB,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAY;QAAkB,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAU;QAAS,IAAiB,CAAA,iBAAA,GAAjB,iBAAiB,CAAgB;KAG7J;AACM,IAAA,aAAa,CAAC,GAAG,EAAA;;;AAGrB,QAAA,OAAO,IAAI,CAAC,GAAG,CAAC,uDAAuD,GAAG,GAAG,CAAC,QAAQ,GAAG,YAAY,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAC;KACxH;AACM,IAAA,QAAQ,CAAC,GAAG,EAAA;;QAEf,OAAO,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,GAAG,CAAC,CAAC;;;KAG1C;IACM,OAAO,GAAA;AACX,QAAA,OAAO,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;;;KAGrC;AACM,IAAA,OAAO,CAAC,GAAG,EAAA;QACd,OAAO,IAAI,CAAC,QAAQ,CAAC,yCAAyC,EAAE,GAAG,CAAC,CAAC;KACxE;AAEM,IAAA,WAAW,CAAC,GAAG,EAAA;QACnB,OAAO,IAAI,CAAC,IAAI,CAAC,2CAA2C,EAAE,GAAG,CAAC,CAAC;;;KAGrE;;;;IAOM,MAAM,WAAW,CAAC,GAAG,EAAA;QACxB,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,2CAA2C,EAAE,GAAG,CAAC,CAAC;;;AAGxF,QAAA,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC,SAAS,CAAC,CAAC;AAChD,QAAA,OAAO,QAAQ,CAAC;KACnB;AAEM,IAAA,aAAa,CAAC,gBAAqB,EAAA;AACtC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,iBAAiB,GAAG,6CAA6C,EAAE,gBAAgB,CAAC;aACpH,IAAI,CAAC,GAAG,CAAC,QAAQ,IAAI,QAAQ,CAAC,CAAC,CAAA;;;KAIpC;IAGM,MAAM,WAAW,CAAC,MAAM,EAAA;AACvB,QAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,wDAAwD,GAAG,MAAM,CAAC,CAAC,SAAS,EAAE,CAAC;AACpH,QAAA,OAAO,QAAQ,CAAC;KACvB;IACM,MAAM,WAAW,CAAC,MAAM,EAAA;AAC3B,QAAA,IAAI,GAAG,GAAG,kBAAkB,CAAC,CAAC,MAAM,GAAG,EAAE,EAAE,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;QAC9D,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,2CAA2C,EAAE,GAAG,CAAC,CAAC;AAC5F,QAAA,OAAO,QAAQ,CAAC;KAEvB;IAEM,MAAM,sBAAsB,CAAC,GAAG,EAAA;QACpC,MAAM,QAAQ,GAAE,MAAM,IAAI,CAAC,aAAa,CAAC,kCAAkC,EAAE,GAAG,CAAC,CAAA;AAChF,QAAA,OAAO,QAAQ,CAAC;;;KAGnB;;;;;AAKM,IAAA,mBAAmB,CAAC,eAAe,EAAA;;;;;;QAMtC,OAAO,IAAI,CAAC,QAAQ,CAAC,qDAAqD,EAAE,eAAe,CAAC,CAAA;;KAE/F;0HAlFQ,WAAW,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAC,eAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,QAAA,EAAA,EAAA,EAAA,KAAA,EAAAF,IAAA,CAAA,cAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAX,uBAAA,OAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAW,cAJR,MAAM,EAAA,CAAA,CAAA;;2FAIT,WAAW,EAAA,UAAA,EAAA,CAAA;kBALvB,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA,CAAA;;;MCeU,aAAa,CAAA;AAYd,IAAA,OAAA,CAAA;AAA6B,IAAA,QAAA,CAAA;IAXhC,QAAQ,GAAW,EAAE,CAAC;AACtB,IAAA,KAAK,CAAC;IACN,MAAM,GAAW,EAAE,CAAC;IAC3B,UAAU,GAAQ,EAAE,CAAC;IACrB,QAAQ,GAAY,KAAK,CAAC;AAE1B,IAAA,EAAE,CAAM;IAGA,QAAQ,GAAS,KAAK,CAAC;IAC/B,WACU,CAAA,OAAoB,EAAS,QAAkB,EAAA;QAA/C,IAAO,CAAA,OAAA,GAAP,OAAO,CAAa;QAAS,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAU;QACvD,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAC5E;AACE,YAAA,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5E,YAAA,IAAI,CAAC,QAAQ,GAAC,IAAI,CAAC;SACpB;aAEA,IAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAC5E;AACE,YAAA,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5E,YAAA,IAAI,CAAC,QAAQ,GAAC,KAAK,CAAC;SACrB;KACD;IAEF,QAAQ,GAAA;QACN,IAAI,CAAC,SAAS,EAAE,CAAC;KAElB;IACM,SAAS,GAAA;AAGd,QAAA,IAAI,IAAI,CAAC,EAAE,IAAI,SAAS,EAAE;AACxB,YAAA,IAAI,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,IAAI,IAAI,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE;gBAEpF,IAAI,QAAQ,GAAG,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;gBAC7C,IAAI,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;gBACrC,IAAI,SAAS,KAAK,IAAI,IAAI,SAAS,KAAK,SAAS,EAAE;AACjD,oBAAA,IAAI,SAAS,CAAC,IAAI,IAAI,KAAK,EAAE;AAC3B,wBAAA,IAAI,CAAC,EAAE,GAAG,SAAS,CAAC,EAAE,CAAC;AACvB,wBAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;qBACtB;yBACI;AACH,wBAAA,IAAI,CAAC,EAAE,GAAG,SAAS,CAAC,EAAE,CAAC;AACvB,wBAAA,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;qBACvB;iBACF;aACF;SACF;AAED,QAAA,IAAI,GAAG,GAAC,EAAC,eAAe,EAAC,EAAC,MAAM,EAAC,IAAI,CAAC,EAAE,EAAC,KAAK,EAAC,IAAI,CAAC,QAAQ,EAAC,EAAC,CAAA;AAC9D,QAAA,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,IAAI,IAAG;AACrD,YAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,0BAA0B,CAAC;;;;;;;;;;;;;;;AAgBhD,YAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAA;AAC/D,gBAAA,OAAO,KAAK,CAAC,SAAS,IAAI,CAAC,CAAC;AAC9B,aAAC,CAAC,CAAC;AAGL,SAAC,CAAC,CAAC;KACJ;;;;;;;;AAQC,IAAA,MAAM,CAAC,GAAG,EAAA;;QAEV,YAAY,CAAC,KAAK,EAAE,CAAC;;;AAIrB,QAAA,QAAQ,CAAC,IAAI,GAAG,GAAG,CAAC;KACrB;AACD,IAAA,mBAAmB,CAAC,GAAG,EAAA;QACrB,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;AACzC,QAAA,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC;AACvB,QAAA,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC;AAChB,QAAA,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;QAC5B,IAAI,CAAC,KAAK,EAAE,CAAC;KACd;0HAjGU,aAAa,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAG,WAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,QAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAb,uBAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,aAAa,qDC3B1B,wkTAyLc,EAAA,MAAA,EAAA,CAAA,08OAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FD9JD,aAAa,EAAA,UAAA,EAAA,CAAA;kBANzB,SAAS;+BACE,eAAe,EAAA,aAAA,EAGV,iBAAiB,CAAC,IAAI,EAAA,QAAA,EAAA,wkTAAA,EAAA,MAAA,EAAA,CAAA,08OAAA,CAAA,EAAA,CAAA;;;MEV1B,oBAAoB,CAAA;IAC/B,KAAK,GAAG,KAAK,CAAC;AAEb,IAAA,WAAA,GAAA;KAEC;AACM,IAAA,UAAU,CAAS;AACnB,IAAA,cAAc,CAAU;AAC/B,IAAA,GAAG,CAAM;AACF,IAAA,GAAG,CAAS;AACE,IAAA,UAAU,CAAM;IACpC,QAAQ,GAAA;AACN,QAAA,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAA;KAClC;0HAbQ,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAApB,uBAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,oBAAoB,oGCfjC,m+BAyBA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,aAAA,EAAA,QAAA,EAAA,eAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,aAAA,EAAA,QAAA,EAAA,eAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;2FDVa,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBALhC,SAAS;+BACE,wBAAwB,EAAA,QAAA,EAAA,m+BAAA,EAAA,CAAA;wDAcZ,UAAU,EAAA,CAAA;sBAA9B,KAAK;uBAAC,YAAY,CAAA;;;MEjBT,eAAe,CAAA;IACnB,MAAM,GAAY,KAAK,CAAC;IACxB,eAAe,GAAK,IAAI,CAAC;AACzB,IAAA,OAAO,CAAS;IAChB,eAAe,GAAK,IAAI,CAAC;AACzB,IAAA,OAAO,CAAQ;IAKN,KAAK,GAAW,EAAE,CAAC;AAC5B,IAAA,KAAK,CAAC,MAAM,EAAA;AAEjB,QAAA,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;KACrB;IAEM,IAAI,GAAA;AACT,QAAA,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;KACpB;IACD,SAAS,CAAC,OAAc,EAAC,WAAW,EAAA;AAClC,QAAA,IAAI,CAAC,OAAO,GAAC,OAAO,CAAC;AACrB,QAAA,IAAI,CAAC,KAAK,GAAC,OAAO,CAAC;AAEnB,QAAA,IAAI,CAAC,eAAe,GAAC,WAAW,CAAC;AACjC,QAAA,IAAI,CAAC,OAAO,GAAC,IAAI,CAAC;AAClB,QAAA,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;KACtB;AAED,IAAA,WAAW,CAAC,OAAc,EAAC,WAAW,EAAC,WAAW,EAAA;AAC9C,QAAA,IAAI,CAAC,OAAO,GAAC,OAAO,CAAC;AACrB,QAAA,IAAI,CAAC,KAAK,GAAC,SAAS,CAAC;AACrB,QAAA,IAAI,CAAC,eAAe,GAAC,WAAW,CAAC;AACjC,QAAA,IAAI,CAAC,eAAe,GAAC,WAAW,CAAC;AACjC,QAAA,IAAI,CAAC,OAAO,GAAC,KAAK,CAAC;AACnB,QAAA,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;KACtB;AAED,IAAA,WAAW,CAAC,MAAM,EAAA;AACd,QAAA,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAG,MAAM,IAAE,KAAK,IAAI,IAAI,CAAC,eAAe,EAAE;YACtC,IAAI,CAAC,eAAe,EAAE,CAAC;SAC1B;QACD,IAAG,MAAM,IAAE,IAAI,IAAI,IAAI,CAAC,eAAe,EAAE;YACrC,IAAI,CAAC,eAAe,EAAE,CAAC;SAC1B;KACJ;0HA7CY,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAf,uBAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,eAAe,mFCR5B,iuDAmCM,EAAA,MAAA,EAAA,CAAA,27BAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,eAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,eAAA,EAAA,oBAAA,EAAA,OAAA,EAAA,OAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,WAAA,EAAA,WAAA,EAAA,WAAA,EAAA,YAAA,CAAA,EAAA,OAAA,EAAA,CAAA,QAAA,EAAA,OAAA,CAAA,EAAA,QAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FD3BO,eAAe,EAAA,UAAA,EAAA,CAAA;kBAN3B,SAAS;+BACE,iBAAiB,EAAA,aAAA,EAGb,iBAAiB,CAAC,IAAI,EAAA,QAAA,EAAA,iuDAAA,EAAA,MAAA,EAAA,CAAA,27BAAA,CAAA,EAAA,CAAA;8BAYpB,KAAK,EAAA,CAAA;sBAApB,KAAK;uBAAC,OAAO,CAAA;;;MEVH,cAAc,CAAA;IACT,KAAK,GAAW,EAAE,CAAC;AAClB,IAAA,WAAW,GAAG,IAAI,YAAY,EAAE,CAAC;IAC9B,SAAS,GAAY,KAAK,CAAC;IACrB,eAAe,GAAW,SAAS,CAAC;IAC1C,SAAS,GAAW,OAAO,CAAC;AAChC,IAAA,KAAK,CAAS;IACT,UAAU,GAAS,IAAI,CAAC;IAEtC,IAAI,GAAY,KAAK,CAAC;IAE7B,SAAS,GAAA;AACL,QAAA,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;KACpB;IAED,SAAS,GAAA;AACL,QAAA,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;AAClB,QAAA,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;KAC3B;0HAlBU,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAd,uBAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,cAAc,yPCR3B,0yBAYkB,EAAA,MAAA,EAAA,CAAA,2rBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,cAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,QAAA,EAAA,aAAA,EAAA,WAAA,EAAA,YAAA,EAAA,kBAAA,EAAA,YAAA,EAAA,cAAA,EAAA,QAAA,EAAA,QAAA,CAAA,EAAA,OAAA,EAAA,CAAA,qBAAA,EAAA,OAAA,EAAA,MAAA,EAAA,gBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FDJL,cAAc,EAAA,UAAA,EAAA,CAAA;kBAN1B,SAAS;+BACE,gBAAgB,EAAA,aAAA,EAGZ,iBAAiB,CAAC,IAAI,EAAA,QAAA,EAAA,0yBAAA,EAAA,MAAA,EAAA,CAAA,2rBAAA,CAAA,EAAA,CAAA;8BAGpB,KAAK,EAAA,CAAA;sBAApB,KAAK;uBAAC,OAAO,CAAA;gBACG,WAAW,EAAA,CAAA;sBAA3B,MAAM;gBACa,SAAS,EAAA,CAAA;sBAA5B,KAAK;uBAAC,WAAW,CAAA;gBACQ,eAAe,EAAA,CAAA;sBAAxC,KAAK;uBAAC,iBAAiB,CAAA;gBACJ,SAAS,EAAA,CAAA;sBAA5B,KAAK;uBAAC,WAAW,CAAA;gBACF,KAAK,EAAA,CAAA;sBAApB,KAAK;uBAAC,OAAO,CAAA;gBACO,UAAU,EAAA,CAAA;sBAA9B,KAAK;uBAAC,YAAY,CAAA;;;MERR,iBAAiB,CAAA;AACpB,IAAA,UAAU,GAAG,IAAI,OAAO,EAAO,CAAC;AAClC,IAAA,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,YAAY,EAAE,CAAC;AACnD,IAAA,WAAA,GAAA,GAAiB;AAEjB,IAAA,aAAa,CAAC,IAAS,EAAA;AACrB,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;KAC3B;0HAPU,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAjB,uBAAA,OAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iBAAiB,cAFhB,MAAM,EAAA,CAAA,CAAA;;2FAEP,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAH7B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA,CAAA;;;MCGY,mBAAmB,CAAA;AASX,IAAA,QAAA,CAAA;AAA4B,IAAA,WAAA,CAAA;AAAkC,IAAA,iBAAA,CAAA;AAA8C,IAAA,MAAA,CAAA;AARxH,IAAA,UAAU,CAAS;AACnB,IAAA,SAAS,CAAqB;AAE9B,IAAA,cAAc,CAAU;AACxB,IAAA,UAAU,CAAU;AAC3B,IAAA,GAAG,CAAM;AACF,IAAA,GAAG,CAAS;AAEnB,IAAA,WAAA,CAAmB,QAAkB,EAAU,WAAwB,EAAU,iBAAoC,EAAU,MAAsB,EAAA;QAAlI,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAU;QAAU,IAAW,CAAA,WAAA,GAAX,WAAW,CAAa;QAAU,IAAiB,CAAA,iBAAA,GAAjB,iBAAiB,CAAmB;QAAU,IAAM,CAAA,MAAA,GAAN,MAAM,CAAgB;KAGpJ;AAGD,IAAA,IAAI,UAAU,GAAA;QACZ,OAAO,IAAI,CAAC,SAAS,CAAC;KACvB;AAEM,IAAA,gBAAgB,CAAC,GAAG,EAAA;QAEzB,IAAI,GAAG,IAAI,SAAS,IAAI,GAAG,IAAI,IAAI,EAAE;AACnC,YAAA,OAAO,GAAG,CAAC;SACZ;AACG,aAAA,IAAI,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,IAAI,IAAI,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE;YAExF,IAAI,QAAQ,GAAG,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;YAC7C,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;AAChC,YAAA,IAAI,IAAI,CAAC,GAAG,KAAK,IAAI,IAAI,IAAI,CAAC,GAAG,KAAK,SAAS,EAAE;gBAC/C,OAAO,IAAI,CAAC,GAAG,CAAC;aACjB;iBACI;;AAEH,gBAAA,YAAY,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;AAClC,gBAAA,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC;AACxD,gBAAA,OAAO,KAAK,CAAC;aACd;SACF;aAEI;AAEH,YAAA,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC;AACxD,YAAA,OAAO,KAAK,CAAC;SACd;KACF;IACM,MAAM,aAAa,CAAC,QAAQ,EAAA;QAEjC,IAAI,QAAQ,IAAI,IAAI,IAAI,QAAQ,IAAI,SAAS,EAAE;AAC7C,YAAA,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;AAC5B,YAAA,YAAY,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;AAClC,YAAA,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC;AACxD,YAAA,OAAO,KAAK,CAAC;SACd;aACI;AACH,YAAA,IAAI,GAAG,CAAC;AACR,YAAA,IAAI,QAAQ,CAAC,IAAI,IAAI,KAAK,EAAE;AAC1B,gBAAA,GAAG,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;aACvD;AACI,iBAAA,IAAI,QAAQ,CAAC,IAAI,IAAI,KAAK,EAAE;AAC/B,gBAAA,GAAG,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;aACvD;AACD,YAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE;AAChB,gBAAA,YAAY,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;AAClC,gBAAA,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC;gBACxD,OAAO,IAAI,CAAC,cAAc,CAAC;aAC5B;iBACI;AACH,gBAAA,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC;AACtB,gBAAA,YAAY,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;AACzD,gBAAA,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;AAC3B,gBAAA,OAAO,GAAG,CAAC;aACZ;SACF;KACF;AACM,IAAA,aAAa,CAAC,SAA6B,EAAA;AAChD,QAAA,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;AAC3B,QAAA,OAAO,IAAI,CAAC;KACb;0HA7EU,mBAAmB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,QAAA,EAAA,EAAA,EAAA,KAAA,EAAAH,WAAA,EAAA,EAAA,EAAA,KAAA,EAAAI,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAAP,IAAA,CAAA,cAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAnB,uBAAA,OAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mBAAmB,cAFlB,MAAM,EAAA,CAAA,CAAA;;2FAEP,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAH/B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA,CAAA;;;MCDY,iBAAiB,CAAA;AAOR,IAAA,WAAA,CAAA;AAAkC,IAAA,UAAA,CAAA;AAL/C,IAAA,YAAY,CAAgB;AACnC,IAAA,kBAAkB,CAAU;AACrB,IAAA,aAAa,CAAM;AAC1B,IAAA,UAAU,CAAM;AACT,IAAA,gBAAgB,CAAsB;IAC7C,WAAoB,CAAA,WAAwB,EAAU,UAA6B,EAAA;QAA/D,IAAW,CAAA,WAAA,GAAX,WAAW,CAAa;QAAU,IAAU,CAAA,UAAA,GAAV,UAAU,CAAmB;QACjF,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,SAAS,CACnC,CAAC,IAAG;AACF,YAAA,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;AACtB,SAAC,CAAC,CAAC;QACL,IAAI,CAAC,gBAAgB,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,QAAQ,KAAI;AACrD,YAAA,IAAI,CAAC,YAAY,GAAG,QAAQ,CAAC;AAC/B,SAAC,CAAC,CAAC;AACH,QAAA,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,CAAC;KACnC;IACD,QAAQ,GAAA;KACP;IAEM,MAAM,qBAAqB,CAAC,UAAe,EAAA;AAChD,QAAA,IAAI,CAAC,aAAa,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,sBAAsB,CAAC,UAAU,CAAC,CAAC;AAC/E,QAAA,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;AAC/B,QAAA,IAAI,IAAI,CAAC,YAAY,EAAE;YACrB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;SAC5C;QACD,OAAO,IAAI,CAAC,kBAAkB,CAAC;KAChC;AAED,IAAA,iBAAiB,CAAC,IAAc,EAAA;AAC9B,QAAA,IAAI,IAAI,CAAC,aAAa,EAAE;AACtB,YAAA,KAAK,IAAI,MAAM,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE;AACnD,gBAAA,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,KAAK,IAAI,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;AAC7F,oBAAA,OAAO,IAAI,CAAC;iBACb;aACF;SACF;AACD,QAAA,OAAO,KAAK,CAAC;KACd;0HAtCU,iBAAiB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAG,WAAA,EAAA,EAAA,EAAA,KAAA,EAAAI,iBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAjB,uBAAA,OAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iBAAiB,cAFhB,MAAM,EAAA,CAAA,CAAA;;2FAEP,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAH7B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA,CAAA;;;MCAY,iBAAiB,CAAA;AACpB,IAAA,QAAQ,GAAG,IAAI,OAAO,EAAO,CAAC;AACtC,IAAA,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC;AAC3C,IAAA,WAAA,GAAA;KACC;AACD,IAAA,UAAU,CAAC,IAAS,EAAA;AAClB,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;KACzB;0HAPU,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAjB,uBAAA,OAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iBAAiB,cAFhB,MAAM,EAAA,CAAA,CAAA;;2FAEP,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAH7B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA,CAAA;;;MCIY,uBAAuB,CAAA;AAUf,IAAA,MAAA,CAAA;AAAuB,IAAA,iBAAA,CAAA;AARnB,IAAA,YAAY,CAAQ;AAC3B,IAAA,KAAK,CAAQ;IACd,IAAI,GAAQ,EAAE,CAAC;AAC9B,IAAA,QAAQ,CAAQ;AAChB,IAAA,UAAU,CAAQ;IACX,WAAW,GAAG,EAAE,CAAC;;IAGxB,WAAmB,CAAA,MAAc,EAAS,iBAAoC,EAAA;QAA3D,IAAM,CAAA,MAAA,GAAN,MAAM,CAAQ;QAAS,IAAiB,CAAA,iBAAA,GAAjB,iBAAiB,CAAmB;KAAK;AAEnF,IAAA,WAAW,CAAC,OAAsB,EAAA;QAChC,IAAG,OAAO,CAAC,MAAM,CAAC,CAAC,YAAY,CAAC,MAAM,IAAI,SAAS;YACnD,IAAI,CAAC,cAAc,EAAE,CAAC;KACvB;IACD,QAAQ,GAAA;KACP;IACM,cAAc,GAAA;;QAEjB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACtC,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;AACjB,YAAA,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;AACrB,YAAA,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,IAAG;AAC1B,gBAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;oBACnB,KAAK,EAAE,GAAG,CAAC,IAAI;oBACf,GAAG,EAAE,GAAG,CAAC,GAAG;AACZ,oBAAA,aAAa,EAAE,GAAG,CAAC,aAAa,GAAG,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,IAAI;oBAC9D,UAAU,EAAE,GAAG,CAAC,UAAU;AAC3B,iBAAA,CAAC,CAAC;AACL,aAAC,CAAC,CAAC;SACJ;KAEJ;0HAjCU,uBAAuB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAD,IAAA,CAAA,MAAA,EAAA,EAAA,EAAA,KAAA,EAAAE,iBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAvB,uBAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,uBAAuB,oJCTpC,+9CA0BM,EAAA,MAAA,EAAA,CAAA,ycAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAF,IAAA,CAAA,UAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,aAAA,EAAA,UAAA,EAAA,qBAAA,EAAA,OAAA,EAAA,MAAA,EAAA,YAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,YAAA,EAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAN,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;2FDjBO,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBALnC,SAAS;+BACE,iBAAiB,EAAA,QAAA,EAAA,+9CAAA,EAAA,MAAA,EAAA,CAAA,ycAAA,CAAA,EAAA,CAAA;0GAMJ,YAAY,EAAA,CAAA;sBAAlC,KAAK;uBAAC,cAAc,CAAA;gBACL,KAAK,EAAA,CAAA;sBAApB,KAAK;uBAAC,OAAO,CAAA;gBACC,IAAI,EAAA,CAAA;sBAAlB,KAAK;uBAAC,MAAM,CAAA;;;AESf,MAAM,kBAAkB,GAAG;;IAEzB,oBAAoB;IACpB,aAAa;IACb,eAAe;IACf,aAAa;;IAEb,cAAc;IACd,uBAAuB;CACxB,CAAC;MAqBW,iBAAiB,CAAA;IAC5B,OAAO,OAAO,CAAE,MAAyB,EAAA;QACvC,OAAO;AACL,YAAA,QAAQ,EAAE,iBAAiB;YAC3B,SAAS,EAAE,CAAC,QAAQ,EAAC,WAAW,EAAE,WAAW,EAAC,mBAAmB,EAAC,iBAAiB;gBAChF,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;SAC5C,CAAC;KACH;0HAPU,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAjB,uBAAA,OAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iBAAiB,cAHhB,oBAAoB,CAAA,EAAA,YAAA,EAAA;;YAzBhC,oBAAoB;YACpB,aAAa;YACb,eAAe;YACf,aAAa;;YAEb,cAAc;YACd,uBAAuB,CAAA,EAAA,OAAA,EAAA;;YAKrB,WAAW;YACX,mBAAmB;YACnB,gBAAgB;;YAEhB,YAAY;YACZ,WAAW;;YAGX,YAAY;AACZ,YAAA,YAAY,aAGJ,YAAY;;YAvBtB,oBAAoB;YACpB,aAAa;YACb,eAAe;YACf,aAAa;;YAEb,cAAc;YACd,uBAAuB,CAAA,EAAA,CAAA,CAAA;2HAsBZ,iBAAiB,EAAA,SAAA,EAJjB,CAAC,QAAQ,EAAC,WAAW,EAAE,WAAW,EAAC,mBAAmB,EAAC,iBAAiB,CAAC,EAAA,OAAA,EAAA;;YAblF,WAAW;YACX,mBAAmB;YACnB,gBAAgB;;YAEhB,YAAY;YACZ,WAAW;;YAGX,YAAY;AACZ,YAAA,YAAY,EAGJ,YAAY,CAAA,EAAA,CAAA,CAAA;;2FAKX,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBApB7B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE;;wBAEP,WAAW;wBACX,mBAAmB;wBACnB,gBAAgB;;wBAEhB,YAAY;wBACZ,WAAW;;wBAGX,YAAY;wBACZ,YAAY;AACX,qBAAA;oBACH,YAAY,EAAE,CAAC,kBAAkB,CAAC;AAClC,oBAAA,OAAO,EAAE,CAAC,YAAY,EAAE,kBAAkB,CAAC;oBAC3C,SAAS,EAAE,CAAC,QAAQ,EAAC,WAAW,EAAE,WAAW,EAAC,mBAAmB,EAAC,iBAAiB,CAAC;oBACpF,SAAS,EAAE,CAAC,oBAAoB,CAAC;AAClC,iBAAA,CAAA;;;ACvCD;MAIa,SAAS,CAAA;AAEA,IAAA,MAAA,CAAA;AAAuB,IAAA,QAAA,CAAA;AAA2B,IAAA,WAAA,CAAA;AAC5D,IAAA,iBAAA,CAAA;AAA2C,IAAA,YAAA,CAAA;AAC3C,IAAA,iBAAA,CAAA;AAHF,IAAA,MAAM,CAAC;IACf,WAAoB,CAAA,MAAc,EAAS,QAAkB,EAAS,WAAwB,EACpF,iBAAiC,EAAU,YAAiC,EAC5E,iBAAoC,EAAA;QAF1B,IAAM,CAAA,MAAA,GAAN,MAAM,CAAQ;QAAS,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAU;QAAS,IAAW,CAAA,WAAA,GAAX,WAAW,CAAa;QACpF,IAAiB,CAAA,iBAAA,GAAjB,iBAAiB,CAAgB;QAAU,IAAY,CAAA,YAAA,GAAZ,YAAY,CAAqB;QAC5E,IAAiB,CAAA,iBAAA,GAAjB,iBAAiB,CAAmB;QAC1C,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAoB,QAAe,CAAC,CAAC;KACpE;IAEJ,WAAW,CAAC,KAA6B,EAAE,KAA0B,EAAA;AACnE,QAAA,MAAM,WAAW,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,KAAK,QAAQ,GAAG,KAAK,CAAC,WAAW,CAAC,IAAI;AACnD,cAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,EAAE,WAAW,EAAE,CAAC;;AAEvF,QAAA,IAAI,IAAI,CAAC,iBAAiB,CAAC,kBAAkB,EAAE;AAC7C,YAAA,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;SAClC;aAAM;YACL,OAAO,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,IAAI,CAACS,KAAG,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;SAC3F;;;;;KAKF;AAEM,IAAA,OAAO,CAAC,GAAW,EAAA;QACxB,IAAI,YAAY,GAAG,IAAI,CAAC;QACxB,IAAI,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE;AACnD,YAAA,IAAI,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE;AAChC,gBAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBAC5D,IAAI,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE;wBACzE,YAAY,GAAG,KAAK,CAAC;AACrB,wBAAA,IAAI,IAAI,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,EAAE;4BACzF,YAAY,GAAG,IAAI,CAAC;yBACrB;wBACD,MAAM;qBACP;iBACF;aACF;SACF;AAAM,aAAA,IAAI,IAAI,CAAC,iBAAiB,CAAC,kBAAkB,EAAE;YACpD,YAAY,GAAG,KAAK,CAAC;SACtB;QACD,IAAI,CAAC,YAAY,EAAE;YACjB,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC;SACzC;AACD,QAAA,OAAO,YAAY,CAAC;KACrB;0HA5CU,SAAS,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAH,IAAA,CAAA,MAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,QAAA,EAAA,EAAA,EAAA,KAAA,EAAAI,WAAA,EAAA,EAAA,EAAA,KAAA,EAAAJ,IAAA,CAAA,cAAA,EAAA,EAAA,EAAA,KAAA,EAAAK,mBAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,iBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAT,uBAAA,OAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,SAAS,cAFI,MAAM,EAAA,CAAA,CAAA;;2FAEnB,SAAS,EAAA,UAAA,EAAA,CAAA;kBAFrB,UAAU;mBAAC,EAAE,UAAU,EAAE,MAAM,EAAE,CAAA;;;ACblC;;AAEG;;ACFH;;AAEG;;;;"}