{"version":3,"file":"ssi-scripting-lib.mjs","sources":["../../../projects/ssi-scripting-lib/src/lib/ssi-scripting-lib.service.ts","../../../projects/ssi-scripting-lib/src/lib/ssi-scripting-lib.component.ts","../../../projects/ssi-scripting-lib/src/lib/shared/event-handler.service.ts","../../../projects/ssi-scripting-lib/src/lib/script-toast/script-toast.component.ts","../../../projects/ssi-scripting-lib/src/lib/script-toast/script-toast.component.html","../../../projects/ssi-scripting-lib/src/lib/ssi-scripting-lib.module.ts","../../../projects/ssi-scripting-lib/src/public-api.ts","../../../projects/ssi-scripting-lib/src/ssi-scripting-lib.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\n\n@Injectable({\n  providedIn: 'root'\n})\nexport class SsiScriptingLibService {\n\n  constructor() { }\n}\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n  selector: 'lib-ssi-scripting-lib',\n  template: `\n    <p>\n      ssi-scripting-lib works!\n    </p>\n  `,\n  styles: [\n  ]\n})\nexport class SsiScriptingLibComponent implements OnInit {\n\n  constructor() { }\n\n  ngOnInit(): void {\n  }\n\n}\n","import { Inject, Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { BehaviorSubject, Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { ToastrService } from 'ngx-toastr';\nimport { ScriptToastComponent } from '../script-toast/script-toast.component';\nimport { Recommendation, RecommendationEvent, RecommendationInteraction } from './event.model';\n\n@Injectable({\n  providedIn: 'root'\n})\nexport class EventHandlerService {\n\n  endPoint: any;\n  public recommendationActions: BehaviorSubject<any> = new BehaviorSubject<any>(null);\n\n  constructor(private http: HttpClient,\n    private toastr: ToastrService,\n      @Inject('environment') environment: any) {\n      this.endPoint = environment.endPoint;\n  }\n\n  evaluateEvent(event: RecommendationEvent): Observable<any> {\n    return this.http.post(this.endPoint + '/recommendations/rules/processEvent', event)\n      .pipe(\n        map(res => res));\n  }\n\n  registerInteraction(event: RecommendationInteraction): Observable<any> {\n    return this.http.post(this.endPoint + '/recommendations/rules/processEventInteraction', event)\n      .pipe(\n        map(res => res));\n  }\n\n  evaluateRecommendation(event: string, data: any, closeOnSelect: boolean = false, showSelect: boolean = false): void {\n    let e: RecommendationEvent = {\n      event: event,\n      jsonData: JSON.stringify(data)\n    }\n    this.evaluateEvent(e).subscribe({\n      next: res => {\n        console.log('evaluateEvent======', JSON.stringify(res));\n        let recomendation: Recommendation = res.data;\n        if (recomendation && recomendation.notificationType === 'web') {\n          this.showNotification(recomendation.title, recomendation.message, recomendation, data, closeOnSelect, showSelect);\n        }\n      },\n      error: (error: any) => {\n        console.error(error);\n      }\n    });\n  }\n\n  showNotification(title: any, message: any, recommendation: any, initialData: any, closeOnSelect: boolean, showSelect: boolean = false): void {\n    this.toastr.show(\n    message,\n    title,\n    {\n      disableTimeOut: true,\n      toastClass: 'script-toast',\n      closeButton: true,\n      progressBar: true,\n      tapToDismiss: false,\n      toastComponent: ScriptToastComponent,\n      payload: {\n                recommendation,\n                initialData,\n                closeOnSelect,\n                showSelect\n              }\n    });\n  }\n\n  registerInteractionRecommendation(eventId: any,action:string,description:string,params:string): void {\n    let e: RecommendationInteraction = {\n      eventId: eventId,\n      action: action,\n      description: description,\n      params: params\n    }\n    this.registerInteraction(e).subscribe({\n      next: res => {\n        console.log('registerInteraction======', JSON.stringify(res));\n      },\n      error: (error: any) => {\n        console.error(error);\n      }\n    });\n  }\n\n  closeRecommendations(): void{\n    this.toastr.clear();\n  }\n\n}\n\n\n\n","import { Component, OnInit } from '@angular/core';\nimport { Toast, ToastrService, ToastPackage } from 'ngx-toastr';\nimport { EventHandlerService } from '../shared/event-handler.service';\nimport { Recommendation, RecommendationAction, RecommendationEvent } from '../shared/event.model';\n\n@Component({\n  selector: 'lib-script-toast',\n  templateUrl: './script-toast.component.html',\n  styleUrls: ['./script-toast.component.scss']\n})\nexport class ScriptToastComponent  extends Toast {\n  title: string='';\n  message: string='';\n  userOptions : any[] = [];\n  recommendation: Recommendation;\n  stackRecommendation: any[] = [];\n  intialData: any;\n  closeOnSelect = false;\n  showSelect = false;\n  // constructor is only necessary when not using AoT\n  constructor(\n    protected toastrService: ToastrService,\n    public toastPackage: ToastPackage,\n    private eventHandler: EventHandlerService\n  ) {\n    super(toastrService, toastPackage);\n    this.recommendation = this.options.payload.recommendation;\n    this.intialData = this.options.payload.initialData;\n    this.closeOnSelect = this.options.payload.closeOnSelect;\n    this.showSelect = this.options.payload.showSelect;\n    this.message =this.recommendation.message;\n    this.title=this.recommendation.title;\n\n    if (this.recommendation && this.recommendation.list) {\n      this.userOptions = this.recommendation.list;\n      this.stackRecommendation.push(this.recommendation);\n    }\n  }\n\n  action(event: Event, option: any, eventId: any) {\n    event.stopPropagation();\n    this.eventHandler.registerInteractionRecommendation(eventId,option.param4, option.param1, JSON.stringify(option));\n\n    const action: RecommendationAction = {\n      action: 'optionChanged',\n      data: option\n    }\n    this.eventHandler.recommendationActions.next(action);\n\n    if(this.closeOnSelect){\n      super.remove();\n      return;\n    }\n\n    if(this.recommendation.sourceEvent && this.recommendation.sourceEvent == 'planSelected'){\n      const params = {\n        sourcePlanCode: option.param4,\n        processTypeCode: this.intialData.processTypeCode,\n        channelCode: this.intialData.channelCode,\n        cityCode: this.intialData.cityCode,\n        recurringPayment: this.intialData.recurringPayment\n      };\n      let e: RecommendationEvent = {\n        eventId: eventId,\n        event: this.recommendation.sourceEvent,\n        jsonData: JSON.stringify(params)\n      }\n      this.eventHandler.evaluateEvent(e).subscribe({\n        next: res => {\n          let recomendationResp: Recommendation = res.data;\n          if (recomendationResp && recomendationResp.notificationType === 'web') {\n            this.title =  recomendationResp.title;\n            this.message = recomendationResp.message;\n            this.recommendation =recomendationResp;\n            if (this.recommendation && this.recommendation.list) {\n                this.userOptions = this.recommendation.list;\n                this.stackRecommendation.push(this.recommendation);\n            }\n          }\n        },\n        error: (error: any) => {\n          console.error(error);\n        }\n      });\n    }\n    this.toastPackage.triggerAction();\n    return false;\n  }\n\n  select(event: Event, option: any, eventId: any) {\n    event.stopPropagation();\n    this.eventHandler.registerInteractionRecommendation(eventId, 'optionSelected', option.param4, JSON.stringify(option));\n\n    const action: RecommendationAction = {\n      action: 'optionSelected',\n      data: option\n    }\n    this.eventHandler.recommendationActions.next(action);\n\n    super.remove();\n    return;\n\n  }\n\n  removeToast(event: Event,eventId: any) {\n    this.eventHandler.registerInteractionRecommendation(eventId,\"close\",\"User close Action\",JSON.stringify(eventId));\n    super.remove();\n    return false;\n  }\n\n  backToast(event: Event,eventId: any) {\n    let recomendationResp1: Recommendation =this.stackRecommendation.pop();\n    let recomendationResp : Recommendation = this.stackRecommendation[this.stackRecommendation.length-1];\n    this.title =  recomendationResp.title;\n    this.message = recomendationResp.message;\n    this.recommendation =recomendationResp;\n     if (this.recommendation && this.recommendation.list) {\n        this.userOptions = this.recommendation.list;\n     }\n    this.eventHandler.registerInteractionRecommendation(eventId, \"back\", \"User back action\", JSON.stringify(eventId));\n    return false;\n  }\n}\n","\n<div class=\"sct-toast-container\">\n  <div class=\"sct-toast-top-container\" [style.display]=\"state.value === 'inactive' ? 'none' : ''\">\n    <div class=\"sct-content-container\">\n      <div *ngIf=\"title\" [class]=\"options.titleClass\" [attr.aria-label]=\"title\">\n        {{ title }}\n      </div>\n      <br/>\n      <div *ngIf=\"message && options.enableHtml\" role=\"alert\"\n        [class]=\"options.messageClass\" [innerHTML]=\"message\">\n      </div>\n      <div *ngIf=\"message && !options.enableHtml\" role=\"alert\"\n      [class]=\"options.messageClass\" [attr.aria-label]=\"message\">\n      {{ message }}\n      </div>\n    </div>\n    <div class=\"sct-close-container\">\n      <a *ngIf=\"options.closeButton\" (click)=\"removeToast($event,recommendation.eventId)\" class=\"sct-icon-button\">\n        <span class=\"material-icons\">\n          close\n        </span>\n      </a>\n    </div>\n  </div>\n  <div class=\"sct-buttons-container\">\n    <div class=\"sct-column-options\" *ngFor=\"let option of userOptions\">\n      <a class=\"sct-btn\" (click)=\"action($event, option,recommendation.eventId)\">\n        <div class=\"sct-buttons-label\">{{ option.param2 }}</div>\n        <div class=\"sct-buttons-label1\">{{ option.param1 }} </div>\n        <div class=\"sct-buttons-label-desc \">{{ option.param3 }}</div>\n      </a>\n      <a class=\"sct-btn-select\" (click)=\"select($event, option, recommendation.eventId)\" *ngIf=\"showSelect\">\n        <span class=\"material-icons\">\n          done_outline\n        </span>\n        <div>Seleccionar</div>\n      </a>\n    </div>\n\n  </div>\n  <div *ngIf=\"options.progressBar\">\n    <div class=\"sct-toast-progress\" [style.width]=\"width + '%'\"></div>\n  </div>\n  <div >\n    <a *ngIf=\"stackRecommendation.length>1\" (click)=\"backToast($event,recommendation.eventId)\"  >\n      <span class=\"material-icons circle-icon\" >\n        chevron_left\n      </span>\n    </a>\n  </div>\n</div>\n","import { ModuleWithProviders, NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\nimport { SsiScriptingLibComponent } from './ssi-scripting-lib.component';\nimport { ToastrModule } from 'ngx-toastr';\nimport { ScriptToastComponent } from './script-toast/script-toast.component';\nimport { HttpClientModule } from '@angular/common/http';\nimport { SsiSecurityCommonsModule } from 'ssi-security-commons';\n\n\n@NgModule({\n  declarations: [\n    SsiScriptingLibComponent,\n    ScriptToastComponent\n  ],\n  imports: [\n    CommonModule,\n    BrowserAnimationsModule,\n    HttpClientModule,\n    SsiSecurityCommonsModule,\n    ToastrModule.forRoot()\n  ],\n  exports: [\n    SsiScriptingLibComponent\n  ]\n})\nexport class SsiScriptingLibModule {\n  static forRoot(environment: any): ModuleWithProviders<SsiScriptingLibModule> {\n    return {\n      ngModule: SsiScriptingLibModule,\n      providers: [{provide: 'environment', useValue: environment}]\n    };\n  }\n}\n","/*\n * Public API Surface of ssi-scripting-lib\n */\n\nexport * from './lib/ssi-scripting-lib.service';\nexport * from './lib/ssi-scripting-lib.component';\nexport * from './lib/ssi-scripting-lib.module';\nexport * from './lib/shared/event-handler.service';\nexport * from './lib/shared/event.model';\nexport * from './lib/shared/notification.model';\n\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i2.EventHandlerService"],"mappings":";;;;;;;;;;;;;MAKa,sBAAsB,CAAA;AAEjC,IAAA,WAAA,GAAA,GAAiB;;oHAFN,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAtB,sBAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,sBAAsB,cAFrB,MAAM,EAAA,CAAA,CAAA;4FAEP,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAHlC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA,CAAA;;;MCQY,wBAAwB,CAAA;AAEnC,IAAA,WAAA,GAAA,GAAiB;IAEjB,QAAQ,GAAA;KACP;;sHALU,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAxB,wBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,wBAAwB,EARzB,QAAA,EAAA,uBAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA;;;;AAIT,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,CAAA;4FAIU,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAVpC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,uBAAuB;AACjC,oBAAA,QAAQ,EAAE,CAAA;;;;AAIT,EAAA,CAAA;AACD,oBAAA,MAAM,EAAE,EACP;AACF,iBAAA,CAAA;;;MCAY,mBAAmB,CAAA;AAK9B,IAAA,WAAA,CAAoB,IAAgB,EAC1B,MAAqB,EACJ,WAAgB,EAAA;QAFvB,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAY;QAC1B,IAAM,CAAA,MAAA,GAAN,MAAM,CAAe;AAHxB,QAAA,IAAA,CAAA,qBAAqB,GAAyB,IAAI,eAAe,CAAM,IAAI,CAAC,CAAC;AAKhF,QAAA,IAAI,CAAC,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC;KACxC;AAED,IAAA,aAAa,CAAC,KAA0B,EAAA;AACtC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,GAAG,qCAAqC,EAAE,KAAK,CAAC;aAChF,IAAI,CACH,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC;KACtB;AAED,IAAA,mBAAmB,CAAC,KAAgC,EAAA;AAClD,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,GAAG,gDAAgD,EAAE,KAAK,CAAC;aAC3F,IAAI,CACH,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC;KACtB;IAED,sBAAsB,CAAC,KAAa,EAAE,IAAS,EAAE,aAAyB,GAAA,KAAK,EAAE,UAAA,GAAsB,KAAK,EAAA;AAC1G,QAAA,IAAI,CAAC,GAAwB;AAC3B,YAAA,KAAK,EAAE,KAAK;AACZ,YAAA,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;SAC/B,CAAA;AACD,QAAA,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAC9B,IAAI,EAAE,GAAG,IAAG;AACV,gBAAA,OAAO,CAAC,GAAG,CAAC,qBAAqB,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;AACxD,gBAAA,IAAI,aAAa,GAAmB,GAAG,CAAC,IAAI,CAAC;AAC7C,gBAAA,IAAI,aAAa,IAAI,aAAa,CAAC,gBAAgB,KAAK,KAAK,EAAE;AAC7D,oBAAA,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,KAAK,EAAE,aAAa,CAAC,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,aAAa,EAAE,UAAU,CAAC,CAAC;AACnH,iBAAA;aACF;AACD,YAAA,KAAK,EAAE,CAAC,KAAU,KAAI;AACpB,gBAAA,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;aACtB;AACF,SAAA,CAAC,CAAC;KACJ;AAED,IAAA,gBAAgB,CAAC,KAAU,EAAE,OAAY,EAAE,cAAmB,EAAE,WAAgB,EAAE,aAAsB,EAAE,UAAA,GAAsB,KAAK,EAAA;QACnI,IAAI,CAAC,MAAM,CAAC,IAAI,CAChB,OAAO,EACP,KAAK,EACL;AACE,YAAA,cAAc,EAAE,IAAI;AACpB,YAAA,UAAU,EAAE,cAAc;AAC1B,YAAA,WAAW,EAAE,IAAI;AACjB,YAAA,WAAW,EAAE,IAAI;AACjB,YAAA,YAAY,EAAE,KAAK;AACnB,YAAA,cAAc,EAAE,oBAAoB;AACpC,YAAA,OAAO,EAAE;gBACC,cAAc;gBACd,WAAW;gBACX,aAAa;gBACb,UAAU;AACX,aAAA;AACV,SAAA,CAAC,CAAC;KACJ;AAED,IAAA,iCAAiC,CAAC,OAAY,EAAC,MAAa,EAAC,WAAkB,EAAC,MAAa,EAAA;AAC3F,QAAA,IAAI,CAAC,GAA8B;AACjC,YAAA,OAAO,EAAE,OAAO;AAChB,YAAA,MAAM,EAAE,MAAM;AACd,YAAA,WAAW,EAAE,WAAW;AACxB,YAAA,MAAM,EAAE,MAAM;SACf,CAAA;AACD,QAAA,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YACpC,IAAI,EAAE,GAAG,IAAG;AACV,gBAAA,OAAO,CAAC,GAAG,CAAC,2BAA2B,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;aAC/D;AACD,YAAA,KAAK,EAAE,CAAC,KAAU,KAAI;AACpB,gBAAA,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;aACtB;AACF,SAAA,CAAC,CAAC;KACJ;IAED,oBAAoB,GAAA;AAClB,QAAA,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;KACrB;;AAjFU,mBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mBAAmB,2EAOlB,aAAa,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAPd,mBAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mBAAmB,cAFlB,MAAM,EAAA,CAAA,CAAA;4FAEP,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAH/B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA,CAAA;;0BAQM,MAAM;2BAAC,aAAa,CAAA;;;ACRrB,MAAO,oBAAsB,SAAQ,KAAK,CAAA;;AAU9C,IAAA,WAAA,CACY,aAA4B,EAC/B,YAA0B,EACzB,YAAiC,EAAA;AAEzC,QAAA,KAAK,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC;QAJzB,IAAa,CAAA,aAAA,GAAb,aAAa,CAAe;QAC/B,IAAY,CAAA,YAAA,GAAZ,YAAY,CAAc;QACzB,IAAY,CAAA,YAAA,GAAZ,YAAY,CAAqB;QAZ3C,IAAK,CAAA,KAAA,GAAS,EAAE,CAAC;QACjB,IAAO,CAAA,OAAA,GAAS,EAAE,CAAC;QACnB,IAAW,CAAA,WAAA,GAAW,EAAE,CAAC;QAEzB,IAAmB,CAAA,mBAAA,GAAU,EAAE,CAAC;QAEhC,IAAa,CAAA,aAAA,GAAG,KAAK,CAAC;QACtB,IAAU,CAAA,UAAA,GAAG,KAAK,CAAC;QAQjB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC;QAC1D,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC;QACnD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC;QACxD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC;QAClD,IAAI,CAAC,OAAO,GAAE,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC;QAC1C,IAAI,CAAC,KAAK,GAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC;QAErC,IAAI,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE;YACnD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC;YAC5C,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;AACpD,SAAA;KACF;AAED,IAAA,MAAM,CAAC,KAAY,EAAE,MAAW,EAAE,OAAY,EAAA;QAC5C,KAAK,CAAC,eAAe,EAAE,CAAC;QACxB,IAAI,CAAC,YAAY,CAAC,iCAAiC,CAAC,OAAO,EAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;AAElH,QAAA,MAAM,MAAM,GAAyB;AACnC,YAAA,MAAM,EAAE,eAAe;AACvB,YAAA,IAAI,EAAE,MAAM;SACb,CAAA;QACD,IAAI,CAAC,YAAY,CAAC,qBAAqB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAErD,IAAG,IAAI,CAAC,aAAa,EAAC;YACpB,KAAK,CAAC,MAAM,EAAE,CAAC;YACf,OAAO;AACR,SAAA;AAED,QAAA,IAAG,IAAI,CAAC,cAAc,CAAC,WAAW,IAAI,IAAI,CAAC,cAAc,CAAC,WAAW,IAAI,cAAc,EAAC;AACtF,YAAA,MAAM,MAAM,GAAG;gBACb,cAAc,EAAE,MAAM,CAAC,MAAM;AAC7B,gBAAA,eAAe,EAAE,IAAI,CAAC,UAAU,CAAC,eAAe;AAChD,gBAAA,WAAW,EAAE,IAAI,CAAC,UAAU,CAAC,WAAW;AACxC,gBAAA,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC,QAAQ;AAClC,gBAAA,gBAAgB,EAAE,IAAI,CAAC,UAAU,CAAC,gBAAgB;aACnD,CAAC;AACF,YAAA,IAAI,CAAC,GAAwB;AAC3B,gBAAA,OAAO,EAAE,OAAO;AAChB,gBAAA,KAAK,EAAE,IAAI,CAAC,cAAc,CAAC,WAAW;AACtC,gBAAA,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;aACjC,CAAA;YACD,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;gBAC3C,IAAI,EAAE,GAAG,IAAG;AACV,oBAAA,IAAI,iBAAiB,GAAmB,GAAG,CAAC,IAAI,CAAC;AACjD,oBAAA,IAAI,iBAAiB,IAAI,iBAAiB,CAAC,gBAAgB,KAAK,KAAK,EAAE;AACrE,wBAAA,IAAI,CAAC,KAAK,GAAI,iBAAiB,CAAC,KAAK,CAAC;AACtC,wBAAA,IAAI,CAAC,OAAO,GAAG,iBAAiB,CAAC,OAAO,CAAC;AACzC,wBAAA,IAAI,CAAC,cAAc,GAAE,iBAAiB,CAAC;wBACvC,IAAI,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE;4BACjD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC;4BAC5C,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;AACtD,yBAAA;AACF,qBAAA;iBACF;AACD,gBAAA,KAAK,EAAE,CAAC,KAAU,KAAI;AACpB,oBAAA,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;iBACtB;AACF,aAAA,CAAC,CAAC;AACJ,SAAA;AACD,QAAA,IAAI,CAAC,YAAY,CAAC,aAAa,EAAE,CAAC;AAClC,QAAA,OAAO,KAAK,CAAC;KACd;AAED,IAAA,MAAM,CAAC,KAAY,EAAE,MAAW,EAAE,OAAY,EAAA;QAC5C,KAAK,CAAC,eAAe,EAAE,CAAC;QACxB,IAAI,CAAC,YAAY,CAAC,iCAAiC,CAAC,OAAO,EAAE,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;AAEtH,QAAA,MAAM,MAAM,GAAyB;AACnC,YAAA,MAAM,EAAE,gBAAgB;AACxB,YAAA,IAAI,EAAE,MAAM;SACb,CAAA;QACD,IAAI,CAAC,YAAY,CAAC,qBAAqB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAErD,KAAK,CAAC,MAAM,EAAE,CAAC;QACf,OAAO;KAER;IAED,WAAW,CAAC,KAAY,EAAC,OAAY,EAAA;AACnC,QAAA,IAAI,CAAC,YAAY,CAAC,iCAAiC,CAAC,OAAO,EAAC,OAAO,EAAC,mBAAmB,EAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;QACjH,KAAK,CAAC,MAAM,EAAE,CAAC;AACf,QAAA,OAAO,KAAK,CAAC;KACd;IAED,SAAS,CAAC,KAAY,EAAC,OAAY,EAAA;QACjC,IAAI,kBAAkB,GAAkB,IAAI,CAAC,mBAAmB,CAAC,GAAG,EAAE,CAAC;AACvE,QAAA,IAAI,iBAAiB,GAAoB,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,mBAAmB,CAAC,MAAM,GAAC,CAAC,CAAC,CAAC;AACrG,QAAA,IAAI,CAAC,KAAK,GAAI,iBAAiB,CAAC,KAAK,CAAC;AACtC,QAAA,IAAI,CAAC,OAAO,GAAG,iBAAiB,CAAC,OAAO,CAAC;AACzC,QAAA,IAAI,CAAC,cAAc,GAAE,iBAAiB,CAAC;QACtC,IAAI,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE;YAClD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC;AAC9C,SAAA;AACF,QAAA,IAAI,CAAC,YAAY,CAAC,iCAAiC,CAAC,OAAO,EAAE,MAAM,EAAE,kBAAkB,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;AAClH,QAAA,OAAO,KAAK,CAAC;KACd;;kHA/GU,oBAAoB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAA,IAAA,CAAA,aAAA,EAAA,EAAA,EAAA,KAAA,EAAAA,IAAA,CAAA,YAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,mBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAApB,oBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,oBAAoB,+ECVjC,47DAmDA,EAAA,MAAA,EAAA,CAAA,+9EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,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,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;4FDzCa,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBALhC,SAAS;+BACE,kBAAkB,EAAA,QAAA,EAAA,47DAAA,EAAA,MAAA,EAAA,CAAA,+9EAAA,CAAA,EAAA,CAAA;;;MEoBjB,qBAAqB,CAAA;IAChC,OAAO,OAAO,CAAC,WAAgB,EAAA;QAC7B,OAAO;AACL,YAAA,QAAQ,EAAE,qBAAqB;YAC/B,SAAS,EAAE,CAAC,EAAC,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,WAAW,EAAC,CAAC;SAC7D,CAAC;KACH;;mHANU,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAArB,qBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,qBAAqB,iBAd9B,wBAAwB;AACxB,QAAA,oBAAoB,aAGpB,YAAY;QACZ,uBAAuB;QACvB,gBAAgB;AAChB,QAAA,wBAAwB,gCAIxB,wBAAwB,CAAA,EAAA,CAAA,CAAA;AAGf,qBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,qBAAqB,EAXvB,OAAA,EAAA,CAAA;YACP,YAAY;YACZ,uBAAuB;YACvB,gBAAgB;YAChB,wBAAwB;YACxB,YAAY,CAAC,OAAO,EAAE;AACvB,SAAA,CAAA,EAAA,CAAA,CAAA;4FAKU,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAhBjC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE;wBACZ,wBAAwB;wBACxB,oBAAoB;AACrB,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,uBAAuB;wBACvB,gBAAgB;wBAChB,wBAAwB;wBACxB,YAAY,CAAC,OAAO,EAAE;AACvB,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,wBAAwB;AACzB,qBAAA;AACF,iBAAA,CAAA;;;ACzBD;;AAEG;;ACFH;;AAEG;;;;"}