{"version":3,"sources":["./src/app/services/common/common.service.ts","./src/app/services/common/log-publisher.service.ts","./src/app/core/agent/agent-routing.module.ts","./src/app/services/common/app-config.service.ts","./src/app/core/passenger/main-layout/main-layout/main-layout.component.ts","./src/app/core/passenger/main-layout/main-layout/main-layout.component.html","crypto (ignored)","./src/app/core/passenger/main-layout/passenger-info/passenger-info.component.ts","./src/app/core/passenger/main-layout/passenger-info/passenger-info.component.html","./src/app/models/entityType.ts","./src/app/interceptors/error/global-error-handler.ts","./src/app/interceptors/transform-date.interceptor.ts","./src/app/core/passenger/passenger-routing.module.ts","./src/app/shared/global-constants.ts","./src/app/shared/edit-membership/edit-membership.component.ts","./src/app/shared/edit-membership/edit-membership.component.html","./src/app/services/common/LogPublisher.ts","./src/app/shared/add-edit-agent-membership/add-edit-agent-membership.component.ts","./src/app/shared/add-edit-agent-membership/add-edit-agent-membership.component.html","./src/app/shared/search-result-booking-enquiry/search-result-booking-enquiry.component.ts","./src/app/shared/search-result-booking-enquiry/search-result-booking-enquiry.component.html","./src/environments/environment.ts","./src/app/core/agent/main-layout/agent-info/agent-info.component.ts","./src/app/core/agent/main-layout/agent-info/agent-info.component.html","./src/app/shared/edit-linked-contact/edit-linked-contact.component.ts","./src/app/shared/edit-linked-contact/edit-linked-contact.component.html","./src/app/route-guard/client/agent-tabs.guard.ts","./src/app/core/passenger/passenger.module.ts","./src/app/services/tasks/tasks.service.ts","./src/app/shared/create-passenger/address-details/address-details.component.ts","./src/app/shared/create-passenger/address-details/address-details.component.html","./src/app/resolver/client/agent-info.resolver.ts","./src/app/constants/security-constant.ts","./src/app/shared/main-menu/main-menu.component.ts","./src/app/shared/main-menu/main-menu.component.html","./src/app/core/core-routing.module.ts","./src/app/services/home/passenger.service.ts","./src/app/shared/directives/only-numbers.directive.ts","./src/app/route-guard/passenger/paxtabs-route-guard.service.ts","./src/app/shared/shared.module.ts","./src/app/services/trips/trips.service.ts","./src/app/services/common/auth.service.ts","./src/app/shared/edit-address/edit-address.component.ts","./src/app/shared/edit-address/edit-address.component.html","./node_modules/moment/locale sync ^\\.\\/.*$","./src/app/app.component.ts","./src/app/app.component.html","./src/app/shared/create-passenger/duplicate-passenger-select/duplicate-passenger-select.component.ts","./src/app/shared/create-passenger/duplicate-passenger-select/duplicate-passenger-select.component.html","./src/app/shared/task-view/task-view.component.ts","./src/app/shared/task-view/task-view.component.html","./src/app/primeng-module.ts","./src/app/app.module.ts","./src/app/core/passenger/passenger-search/passenger-search.component.ts","./src/app/core/passenger/passenger-search/passenger-search.component.html","./src/app/core/agent/agent.module.ts","./src/app/shared/add-task/add-task.component.ts","./src/app/shared/add-task/add-task.component.html","./src/app/shared/directives/only-decimals.directive.ts","./src/app/shared/comingSoon/comingsoon.component.ts","./src/app/shared/comingSoon/comingsoon.component.html","./src/app/resolver/passenger/paxinfo-resolver.service.ts","./src/app/shared/create-passenger/passenger-details/passenger-details.component.ts","./src/app/shared/create-passenger/passenger-details/passenger-details.component.html","./src/app/core/dashboard-agent/dashboard-agent.component.ts","./src/app/core/dashboard-agent/dashboard-agent.component.html","./src/app/shared/add-note/add-note.component.ts","./src/app/shared/add-note/add-note.component.html","./src/app/interceptors/caching.interceptor.ts","./src/app/shared/edit-basic-info/edit-basic-info.component.ts","./src/app/shared/edit-basic-info/edit-basic-info.component.html","./src/app/core/agent/agent-search/agent-search.component.ts","./src/app/core/agent/agent-search/agent-search.component.html","./src/app/shared/create-passenger/basic-info/basic-info.component.ts","./src/app/shared/create-passenger/basic-info/basic-info.component.html","./src/app/shared/add-edit-contact/add-edit-contact.component.ts","./src/app/shared/add-edit-contact/add-edit-contact.component.html","./src/app/shared/search-booking-enquiry/search-booking-enquiry.component.ts","./src/app/shared/search-booking-enquiry/search-booking-enquiry.component.html","./src/app/services/common/user-permissions.service.ts","./src/app/shared/agent-menu/agent-menu.component.ts","./src/app/shared/agent-menu/agent-menu.component.html","./src/app/shared/notes-view/notes-view.component.ts","./src/app/shared/notes-view/notes-view.component.html","./src/app/core/agent/main-layout/main-layout.component.ts","./src/app/core/agent/main-layout/main-layout.component.html","./src/app/services/common/shared.service.ts","./src/app/shared/add-edit-note/add-edit-note.component.ts","./src/app/shared/add-edit-note/add-edit-note.component.html","./src/app/core/dashboard/dashboard.component.ts","./src/app/core/dashboard/dashboard.component.html","./src/app/shared/add-edit-SSRDocument/add-edit-ssrdocument.component.ts","./src/app/shared/add-edit-SSRDocument/add-edit-ssrdocument.component.html","./src/app/services/home/agent-home.service.ts","./src/app/services/notes/notes.service.ts","./src/app/core/core.module.ts","./src/app/services/common/logging.service.ts","./src/app/services/about/about.service.ts","./src/app/services/about/agent-about.service.ts","./src/app/interceptors/apiheaders.interceptor.ts","./src/app/shared/no-data-found-template/no-data-found-template.component.ts","./src/app/shared/no-data-found-template/no-data-found-template.component.html","./src/app/services/common/request-cache.service.ts","./src/app/services/classification/agent-classification.service.ts","./src/app/app-routing.module.ts","./src/app/interceptors/error/error.interceptor.ts","./src/app/shared/create-agent/create-agent.component.ts","./src/app/shared/create-agent/create-agent.component.html","./src/app/shared/create-passenger/create-passenger.component.ts","./src/app/shared/create-passenger/create-passenger.component.html","./src/main.ts","./$_lazy_route_resource lazy namespace object","./src/app/shared/booking-enquiry-search-filter/booking-enquiry-search-filter.component.ts","./src/app/shared/booking-enquiry-search-filter/booking-enquiry-search-filter.component.html"],"names":[],"mappings":"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B;QACjB,8EACuD;QAAlB,6IAAS,WAAO,IAAC;;QAAC,4DAAS;QAClE,4DAAM;QACN,2EAAmB;QACjB,8EAC0B;QAAxB,6IAAS,iBAAa,IAAC;;QAAC,4DAAS;QACrC,4DAAM;QACR,4DAAM;QACR,4DAAY;;QAjJD,uFAAiC;QAGJ,0DAAsB;QAAtB,kFAAsB;QAOpD,0DAAyB;QAAzB,sFAAyB;QAIZ,0DAAW;QAAX,oEAAW;QAaU,0DAA0B;QAA1B,mFAA0B;QAgCtC,2DAAW;QAAX,oEAAW;QAOL,0DAAqB;QAArB,kFAAqB;QAauC,0DAAe;QAAf,0EAAe;QAOnB,0DAAe;QAAf,0EAAe;QAyCpE,2DAA6B;QAA7B,wFAA6B;QAU1B,0DAAqC;QAArC,gKAAqC;QAIrC,0DAAmC;QAAnC,8JAAmC;;;;;;;;;;;;;AC7I/E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2B;;;;;;;;;;;;AC/RA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,gEAAgE;AACJ;AAE+B;;;;;;AAI3F,6BAA6B;AAMtB,MAAM,YAAY;IAGvB,YAAoB,gBAAkC,EAAS,MAAc,EAAS,WAAuB,EAAS,aAA2B,gDAA+C;QAA5K,qBAAgB,GAAhB,gBAAgB,CAAkB;QAAS,WAAM,GAAN,MAAM,CAAQ;QAAS,gBAAW,GAAX,WAAW,CAAY;QAAS,kBAAa,GAAb,aAAa,CAAc;QAFjJ,UAAK,GAAG,YAAY,CAAC;QAGnB,gBAAgB,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QACtC,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAE3B;;;;;;;aAOK;QACL,yEAAyE;QACzE,wEAAe,CAAC,MAAM,GAAC,CAAC,CAAC;QACzB,wEAAe,CAAC,QAAQ,GAAC,KAAK;IAEhC,CAAC;IAED,kBAAkB;;QAChB,wEAAe,CAAC,cAAc,GAAG,IAAI,CAAC;QACtC,IAAI,IAAI,SAAG,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,SAAS,CAAC,mCAAI,EAAE,CAAC;QAC1D,IAAG,IAAI,IAAE,IAAI,EAAC;YACZ,IAAI,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC/B,wEAAe,CAAC,OAAO,GAAG,IAAI,CAAC;YAC/B,wEAAe,CAAC,cAAc,GAAG,IAAI,CAAC;YACtC,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;gBACvB,wEAAe,CAAC,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC7C,wEAAe,CAAC,QAAQ,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;gBACvC,wEAAe,CAAC,QAAQ,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;gBACvC,wEAAe,CAAC,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;gBACtC,wEAAe,CAAC,6BAA6B,GAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAE,GAAG,EAAC,KAAI,EAAC,MAAK,CAAC,CAAC;aAC7E;iBACI,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;gBAC5B,wEAAe,CAAC,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC7C,wEAAe,CAAC,QAAQ,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;gBACvC,wEAAe,CAAC,QAAQ,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;gBACvC,wEAAe,CAAC,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;aACvC;SACF;QACD,6BAA6B;IAE/B,CAAC;IAED,mBAAmB;QACjB,IAAI,kBAAkB,GAAO,EAAE;QAC/B,WAAW;QACX,kBAAkB,CAAC,IAAI,CAAC,kFAAqB,CAAC,OAAO,CAAC,CAAC;QACvD,kBAAkB,CAAC,IAAI,CAAC,kFAAqB,CAAC,QAAQ,CAAC,CAAC;QACxD,kBAAkB,CAAC,IAAI,CAAC,kFAAqB,CAAC,QAAQ,CAAC,CAAC;QACxD,kBAAkB,CAAC,IAAI,CAAC,kFAAqB,CAAC,eAAe,CAAC,CAAC;QAC/D,kBAAkB,CAAC,IAAI,CAAC,kFAAqB,CAAC,QAAQ,CAAC,CAAC;QACxD,kBAAkB,CAAC,IAAI,CAAC,kFAAqB,CAAC,QAAQ,CAAC,CAAC;QACxD,kBAAkB,CAAC,IAAI,CAAC,kFAAqB,CAAC,QAAQ,CAAC,CAAC;QACxD,kBAAkB,CAAC,IAAI,CAAC,kFAAqB,CAAC,iBAAiB,CAAC,CAAC;QACjE,kBAAkB,CAAC,IAAI,CAAC,kFAAqB,CAAC,UAAU,CAAC,CAAC;QAE1D,OAAO;QACP,kBAAkB,CAAC,IAAI,CAAC,kFAAqB,CAAC,OAAO,CAAC,CAAC;QACvD,kBAAkB,CAAC,IAAI,CAAC,kFAAqB,CAAC,OAAO,CAAC,CAAC;QACvD,kBAAkB,CAAC,IAAI,CAAC,kFAAqB,CAAC,SAAS,CAAC,CAAC;QAEzD,gBAAgB;QAChB,kBAAkB,CAAC,IAAI,CAAC,kFAAqB,CAAC,UAAU,CAAC,CAAC;QAC1D,kBAAkB,CAAC,IAAI,CAAC,kFAAqB,CAAC,MAAM,CAAC,CAAC;QACvD,2DAA2D;QAC1D,kBAAkB,CAAC,IAAI,CAAC,kFAAqB,CAAC,gBAAgB,CAAC,CAAC;QAChE,kBAAkB,CAAC,IAAI,CAAC,kFAAqB,CAAC,WAAW,CAAC,CAAC;QAG3D,OAAO;QACP,kBAAkB,CAAC,IAAI,CAAC,kFAAqB,CAAC,QAAQ,CAAC,CAAC;QACxD,kBAAkB,CAAC,IAAI,CAAC,kFAAqB,CAAC,OAAO,CAAC,CAAC;QAEvD,OAAO;QACP,kBAAkB,CAAC,IAAI,CAAC,kFAAqB,CAAC,SAAS,CAAC,CAAC;QACzD,kBAAkB,CAAC,IAAI,CAAC,kFAAqB,CAAC,WAAW,CAAC,CAAC;QAE3D,SAAS;QACT,kBAAkB,CAAC,IAAI,CAAC,kFAAqB,CAAC,MAAM,CAAC,CAAC;QACtD,kBAAkB,CAAC,IAAI,CAAC,kFAAqB,CAAC,OAAO,CAAC,CAAC;QACvD,kBAAkB,CAAC,IAAI,CAAC,kFAAqB,CAAC,IAAI,CAAC,CAAC;QACpD,kBAAkB,CAAC,IAAI,CAAC,kFAAqB,CAAC,UAAU,CAAC,CAAC;QAE1D,OAAO;QACP,kBAAkB,CAAC,IAAI,CAAC,kFAAqB,CAAC,YAAY,CAAC,CAAC;QAC5D,kBAAkB,CAAC,IAAI,CAAC,kFAAqB,CAAC,kBAAkB,CAAC,CAAC;QAClE,kBAAkB,CAAC,IAAI,CAAC,kFAAqB,CAAC,aAAa,CAAC,CAAC;QAC7D,kBAAkB,CAAC,IAAI,CAAC,kFAAqB,CAAC,gBAAgB,CAAC,CAAC;QAChE,kBAAkB,CAAC,IAAI,CAAC,kFAAqB,CAAC,WAAW,CAAC,CAAC;QAE3D,eAAe;QACf,kBAAkB,CAAC,IAAI,CAAC,kFAAqB,CAAC,QAAQ,CAAC,CAAC;QACxD,kBAAkB,CAAC,IAAI,CAAC,kFAAqB,CAAC,MAAM,CAAC,CAAC;QACtD,kBAAkB,CAAC,IAAI,CAAC,kFAAqB,CAAC,QAAQ,CAAC,CAAC;QAExD,WAAW;QACX,kBAAkB,CAAC,IAAI,CAAC,gFAAmB,CAAC,OAAO,CAAC,CAAC;QACrD,kBAAkB,CAAC,IAAI,CAAC,gFAAmB,CAAC,QAAQ,CAAC,CAAC;QACtD,kBAAkB,CAAC,IAAI,CAAC,gFAAmB,CAAC,QAAQ,CAAC,CAAC;QACtD,kBAAkB,CAAC,IAAI,CAAC,gFAAmB,CAAC,eAAe,CAAC,CAAC;QAC7D,kBAAkB,CAAC,IAAI,CAAC,gFAAmB,CAAC,QAAQ,CAAC,CAAC;QACtD,kBAAkB,CAAC,IAAI,CAAC,gFAAmB,CAAC,QAAQ,CAAC,CAAC;QACtD,kBAAkB,CAAC,IAAI,CAAC,gFAAmB,CAAC,WAAW,CAAC,CAAC;QACzD,kBAAkB,CAAC,IAAI,CAAC,gFAAmB,CAAC,UAAU,CAAC,CAAC;QAExD,OAAO;QACP,kBAAkB,CAAC,IAAI,CAAC,gFAAmB,CAAC,OAAO,CAAC,CAAC;QACrD,kBAAkB,CAAC,IAAI,CAAC,gFAAmB,CAAC,aAAa,CAAC,CAAC;QAC3D,kBAAkB,CAAC,IAAI,CAAC,gFAAmB,CAAC,cAAc,CAAC,CAAC;QAC5D,kBAAkB,CAAC,IAAI,CAAC,gFAAmB,CAAC,kBAAkB,CAAC,CAAC;QAChE,kBAAkB,CAAC,IAAI,CAAC,gFAAmB,CAAC,oBAAoB,CAAC,CAAC;QAClE,kBAAkB,CAAC,IAAI,CAAC,gFAAmB,CAAC,SAAS,CAAC,CAAC;QACvD,kBAAkB,CAAC,IAAI,CAAC,gFAAmB,CAAC,eAAe,CAAC,CAAC;QAC7D,kBAAkB,CAAC,IAAI,CAAC,gFAAmB,CAAC,IAAI,CAAC,CAAC;QAClD,kBAAkB,CAAC,IAAI,CAAC,gFAAmB,CAAC,gBAAgB,CAAC,CAAC;QAC9D,kBAAkB,CAAC,IAAI,CAAC,gFAAmB,CAAC,iBAAiB,CAAC,CAAC;QAC/D,kBAAkB,CAAC,IAAI,CAAC,gFAAmB,CAAC,WAAW,CAAC,CAAC;QAEzD,OAAO;QACP,kBAAkB,CAAC,IAAI,CAAC,gFAAmB,CAAC,QAAQ,CAAC,CAAC;QACtD,kBAAkB,CAAC,IAAI,CAAC,gFAAmB,CAAC,OAAO,CAAC,CAAC;QAErD,OAAO;QACP,kBAAkB,CAAC,IAAI,CAAC,gFAAmB,CAAC,SAAS,CAAC,CAAC;QACvD,kBAAkB,CAAC,IAAI,CAAC,gFAAmB,CAAC,WAAW,CAAC,CAAC;QAEzD,SAAS;QACT,kBAAkB,CAAC,IAAI,CAAC,gFAAmB,CAAC,MAAM,CAAC,CAAC;QACpD,kBAAkB,CAAC,IAAI,CAAC,gFAAmB,CAAC,QAAQ,CAAC,CAAC;QACtD,kBAAkB,CAAC,IAAI,CAAC,gFAAmB,CAAC,YAAY,CAAC,CAAC;QAE1D,eAAe;QACf,kBAAkB,CAAC,IAAI,CAAC,gFAAmB,CAAC,QAAQ,CAAC,CAAC;QACtD,kBAAkB,CAAC,IAAI,CAAC,gFAAmB,CAAC,MAAM,CAAC,CAAC;QACpD,kBAAkB,CAAC,IAAI,CAAC,gFAAmB,CAAC,QAAQ,CAAC,CAAC;QACtD,IAAI,CAAC,aAAa,CAAC,kBAAkB,CAAC,wEAAe,CAAC,MAAM,EAAC,CAAC,EAAC,kBAAkB,CAAC,CAAC,SAAS,CAC1F,IAAI,GAAE;YACJ,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,gBAAgB,EAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAC1E,CAAC,CACF;IAEH,CAAC;IAED,QAAQ;QACN,IAAI,CAAC,kBAAkB,EAAE;QACzB,IAAG,wEAAe,CAAC,cAAc,EAAC;YAChC,IAAI,KAAK,GAAG,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YACpD,IAAG,KAAK,IAAE,IAAI,IAAI,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,KAAK,CAAC,EACtD;gBACE,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,SAAS,CAC3C,CAAC,QAAQ,EAAE,EAAE;oBACX,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;gBAEpD,CAAC,EAAE,CAAC,KAAK,EAAE,EAAE;gBAEb,CAAC,EAAE,GAAG,EAAE;oBACN,IAAI,CAAC,mBAAmB,EAAE,CAAC;gBAC7B,CAAC,CACF,CAAC;aACH;iBACG;gBACF,IAAI,CAAC,mBAAmB,EAAE,CAAC;aAC5B;SACF;IACH,CAAC;;wEAvKU,YAAY;4FAAZ,YAAY;QCjBzB,2EAA+B;;;;;;;;;;;;;;ACA/B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA4E;AAIhB;AAGM;AAC3C;;;;;;;;;;;;;;;;;;;ICwBP,0EAA0B;IACxB,0EAAmF;IACjF,iFAC8C;IADzB,gZAA+B;IAEpD,4DAAa;IACb,0EACgE;IAC9D,uDACF;IAAA,4DAAM;IACN,sEAAK;IACH,4EACS;IACT,2EAAiF;IAA9B,2UAAS,kBAAmB,IAAC;IAAC,4DAAO;IAC1F,4DAAM;IACR,4DAAM;IAEN,0EAA6C;IAC3C,sEAEM;IACN,2EAAc;IAAA,wDAAqB;IAAA,4DAAM;IAC3C,4DAAM;IAER,4DAAM;;;IArBmB,0DAA+B;IAA/B,yFAA+B;IAIlD,0DAA6D;IAA7D,oLAA6D;IAC7D,0DACF;IADE,kGACF;IAEgB,0DAAc;IAAd,uEAAc;IAQ5B,0DAA2D;IAA3D,2KAA2D;IAE/C,0DAAqB;IAArB,qFAAqB;;;IAOkC,uEAAwB;IAAA,uDAAa;IAAA,4DAAO;;;IAApB,0DAAa;IAAb,sFAAa;;;IA9BpH,0EAA4E;IAC1E,6EAAkC;IAChC,oKAyBc;IACd,0EAA4B;IAC1B,sEAA+C;IAC/C,2EAAqB;IAAA,uEAAM;IAAA,uDAAuC;;IAAA,4DAAO;IAAA,oJAA4C;IAAC,4DAAO;IAC/H,4DAAM;IACN,2EAA4B;IAC1B,uEAAiD;IACjD,4EAAqB;IAAA,wDAA4B;IAAA,4DAAO;IAC1D,4DAAM;IACN,2EAA4B;IAC1B,uEAA4C;IAC5C,4EAAqB;IAAA,wDAA+B;IAAA,4DAAO;IAC7D,4DAAM;IACR,4DAAS;IACX,4DAAM;;;IAX2B,0DAAuC;IAAvC,mKAAuC;IAAc,0DAAe;IAAf,gFAAe;IAI1E,0DAA4B;IAA5B,4FAA4B;IAI5B,0DAA+B;IAA/B,+FAA+B;;;;;IAjDhE,yEAAmC;IACjC,yEAAwC;IACtC,yEAAyB;IACvB,yEAC2F;IADtF,qXAAqD;IAExD,uDAAwD;IAAA,4DAAM;IAChE,yEAC6F;IADxF,uXAAuD;IAE1D,uDAA4D;IAAA,4DAAM;IACtE,4DAAM;IACN,yEAAkB;IAChB,4IAyCM;IACR,4DAAM;IACR,4DAAM;IACR,4DAAM;IACN,yEAA6B;IAC3B,8EAAuH;IAAvC,kWAAsC;IAAC,4DAAS;IAChI,8EAAuH;IAAvC,kWAAsC;IAAC,4DAAS;IAClI,4DAAM;;;IAvDE,0DAAuE;IAAvE,qMAAuE;IACvE,0DAAwD;IAAxD,0IAAwD;IAExD,0DAAyE;IAAzE,uMAAyE;IACzE,0DAA4D;IAA5D,8IAA4D;IAGP,0DAAmB;IAAnB,sFAAmB;;ADd7E,MAAM,iCAAiC;IAgB5C,YAAoB,IAAgB,EAAU,MAAqB,EAAS,SAA2B,EAAS,MAAa,EACnH,aAA2B;QADjB,SAAI,GAAJ,IAAI,CAAY;QAAU,WAAM,GAAN,MAAM,CAAe;QAAS,cAAS,GAAT,SAAS,CAAkB;QAAS,WAAM,GAAN,MAAM,CAAO;QACnH,kBAAa,GAAb,aAAa,CAAc;QAf5B,WAAM,GAAS,EAAE,CAAC;QAClB,YAAO,GAAa,KAAK,CAAC;QACzB,aAAQ,GAAG,IAAI,0DAAY,EAAO,CAAC;QACnC,aAAQ,GAAG,IAAI,0DAAY,EAAO,CAAC;QACnC,kBAAa,GAAG,IAAI,0DAAY,EAAW,CAAC;QACtD,iBAAY,GAAS,EAAE,CAAC;QACxB,cAAS,GAAG,yEAAS,CAAC;QACtB,sBAAiB,GAAY,yEAAS,CAAC,WAAW,CAAC;QACnD,wBAAmB,GAAQ,EAAE,CAAC;QAC9B,eAAU,GAAQ,EAAE,CAAC;QACrB,yBAAoB,GAAa,EAAE,CAAC;QACpC,qBAAgB,GAAE,CAAC,CAAC;QACpB,uBAAkB,GAAC,CAAC,CAAC;QAInB,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QAC/B,IAAI,YAAY,GAAG,CAAC,oBAAoB,CAAC,CAAC;QAC1C,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,SAAS,CAAC,CAAC,QAAa,EAAE,EAAE;YAC3D,IAAI,CAAC,YAAY,GAAG,QAAQ,CAAC,oBAAoB,CAAC,CAAC;QACrD,CAAC,CAAC,CAAC;IACL,CAAC;IAED,QAAQ;IACR,CAAC;IAED,UAAU;QACR,IAAI,CAAC,mBAAmB,GAAI,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC;QAC7F,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,mBAAmB,CAAC;QAC3C,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC5B,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,GAAE,EAAC,CAAC,SAAS,IAAE,OAAO,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,GAAE,EAAC,CAAC,SAAS,IAAE,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,EAAC,CAAC;QACnK,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,GAAE,EAAC,CAAC,SAAS,IAAE,UAAU,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,GAAE,EAAC,CAAC,SAAS,IAAE,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC,EAAC,CAAC;IAC7K,CAAC;IAED,UAAU;QACR,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACxC,CAAC;IAED,0BAA0B;QACxB,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,IAAI,YAAY,GAAG,6CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAC,EAAE,GAAE,GAAE,CAAC,aAAa,IAAI,IAAI,CAAC,CAAC;QACjF,IAAG,YAAY,EAAC;YACd,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,EAAE,CAAC;SACvC;QACD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;IACzD,CAAC;IAED,0BAA0B;QACxB,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;IACzD,CAAC;IAED,oBAAoB,CAAC,aAAkB,yEAAS,CAAC,WAAW;QAC1D,IAAG,UAAU,IAAI,yEAAS,CAAC,WAAW,EAAC;YACrC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,GAAE,EAAC,CAAC,SAAS,IAAE,OAAO,CAAC;SAC3E;aACG;YACF,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,GAAE,EAAC,CAAC,SAAS,IAAE,UAAU,CAAC;SAC9E;QAED,IAAG,IAAI,CAAC,iBAAiB,IAAI,UAAU,EAAC;YACtC,IAAI,CAAC,iBAAiB,GAAG,UAAU,CAAC;SACrC;IACH,CAAC;IAED,0BAA0B,CAAC,UAAgB;QACzC,KAAI,IAAI,GAAG,IAAI,UAAU,EACzB;YACE,GAAG,CAAC,aAAa,GAAG,KAAK,CAAC;SAC3B;QACD,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,gBAAgB,CAAC,KAAa;QAC5B,IAAI,GAAG,GAAC,YAAY,GAAE,KAAK,GAAE,OAAO;QACpC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAC5B,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,IAAI,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,CAAC;QAClD,+EAAe,CAAC,OAAO,GAAC,MAAM,CAAC;IACjC,CAAC;IAED,eAAe,CAAC,KAAS,EAAC,KAAY;QACpC,KAAI,IAAI,GAAG,IAAI,IAAI,CAAC,mBAAmB,EACvC;YACE,IAAG,GAAG,CAAC,EAAE,IAAI,KAAK,EAAC;gBACjB,GAAG,CAAC,aAAa,GAAG,KAAK,CAAC,OAAO,CAAC;aACnC;iBACG;gBACF,GAAG,CAAC,aAAa,GAAG,KAAK,CAAC;aAC3B;SACF;IACH,CAAC;;kHA7FU,iCAAiC;iHAAjC,iCAAiC;QCf9C,iFAUC;QAPC,yMAAqB,qGAEX,gBAAY,IAFD,qGAGX,gBAAY,IAHD;QAQrB,+IAmEc;QAChB,4DAAW;;QA5ET,gFAAqB;;;;;;;;;;;;;;ACHvB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA4E;AACV;AACR;AAUoB;AAG1C;AAEsC;AAC9C;AAG2B;;;;;;;;;;;;;;;;;;;;;;;;;;;ICfnD,sEAA6B;IAC3B,+EAA8J;IAAnD,0TAAiB,CAAC,KAAE;IAC/H,4DAAW;IACZ,4DAAM;;;IAFK,0DAAiC;IAAjC,sGAAiC;IAAqF,8FAA6B;;;;IAI/J,0EAAoD;IAClD,6EAAgJ;IAArB,8TAAoB;IAAC,4DAAS;IACzJ,6EAA8H;IAAzC,qVAAwC;IAAC,4DAAS;IACzI,4DAAM;;;IAF0B,0DAAoC;IAApC,yGAAoC;IACpC,0DAAkC;IAAlC,uGAAkC;;;IATpE,0EAA+D;IAC7D,sEAAK;IAAA,uDAAuD;IAAA,4DAAM;IAClE,oHAGO;IAEP,oHAGM;IAER,4DAAM;;;IAXC,0DAAuD;IAAvD,4HAAuD;IACtD,0DAAqB;IAArB,mFAAqB;IAKG,0DAAoB;IAApB,kFAAoB;;;;IAQlD,gFAA6I;IAAlI,sVAAiC;IAC1C,4EAA6D;IAC7D,4EAAgE;IAChE,4EAA6D;IAC/D,4DAAY;;;IAJiC,wFAA6B;IAC5D,0DAAkC;IAAlC,sGAAkC;IAClC,0DAAqC;IAArC,yGAAqC;IACrC,0DAAmC;IAAnC,uGAAmC;;;IAW3C,2EAAU;IACN,qEAAsC;IACtC,qEAAyB;IACzB,qEAAyB;IACzB,qEAAyB;IACzB,qEAAyB;IACzB,qEAAyB;IACzB,qEAAwB;IAAA,6DAC5B;IAAA,4DAAW;;;IAiBG,0EAAiD;IAC/C,2EAAqB;IAAA,uDAAsB;IAAA,4DAAO;IACpD,4DAAM;;;IADiB,0DAAsB;IAAtB,uFAAsB;;;IALjD,oFAEuB;IADrB,2PAAiC;IAEjC,0JAIc;IAChB,4DAAgB;;;;IARD,8EAAiB;;;;IAkBhC,qFAAiG;IAAzD,+XAAmC;IAAsB,4DAAa;;;IAAxF,8EAAiB;;;IA5BjD,qEAAI;IACF,oEAAgC;IAChC,yEAA4B;IAC1B,0EAAwD;IACtD,6EACA;IACA,qFACkH;IAEhH,4IAUc;IAChB,4DAAiB;IACnB,4DAAM;IACR,4DAAK;IACL,yEAA4B;IAC1B,0EAA0C;IACxC,8EACA;IAAA,sFAAkK;IAChK,8IAEc;IAChB,4DAAiB;IAGnB,4DAAM;IACR,4DAAK;IACL,0EAAsC;IAAA,2EACpC;IAeF,4DAAK;IACL,0EAAc;IAAA,6EAAiB;IAAA,4DAAK;IACpC,0EAAsC;IAAA,4EAAgB;IAAA,4DAAK;IAC3D,qEAAgC;IAClC,4DAAK;;;IAjD0E,0DAAwB;IAAxB,iFAAwB;IAoBtC,0DAAsB;IAAtB,+EAAsB;;;IAwCnF,4EAA0C;IAAC,uDAAuC;;IAAA,4DAAQ;;;IAA/C,0DAAuC;IAAvC,2KAAuC;;;;IAClF,iFAE2F;IAFzD,6WAAqB;IAGvD,4DAAa;;;IAHqB,oFAAqB;;;;IAWvD,qFAGqE;IAHhB,mXAAoC;IAIzF,4DAAiB;;;IAJkB,0EAAiB;;;IAKpD,4EAA2C;IAAA,uDAAe;IAAA,4DAAQ;;;IAAvB,0DAAe;IAAf,gFAAe;;;;IAG1D,2EACuE;IAArE,iXAAS,mBAAmB,IAAC;IAAwC,4DAAO;;;;IA7BlF,yEAA6G;IAC3G,yEAA2B;IACzB,wEAE4E;IAC9E,4DAAK;IACL,yEAA4B;IAAA,uDAAe;IAAA,4DAAK;IAChD,yEAA4B;IAC1B,gIAA0F;IAC1F,0IAGa;IACf,4DAAK;IACL,yEAA4B;IAAA,uDAAa;IAAA,4DAAK;IAC9C,sEAAI;IACF,2EAAmF;IAAA,wDACnF;IAAA,4DAAM;IACR,4DAAK;IACL,0EAA4B;IAC1B,oJAIiB;IACjB,kIAAkE;IACpE,4DAAK;IACL,0EAAyC;IACvC,gIAC8E;IAC9E,kFAAsF;IAAzB,yWAAwB;IAAC,4DAAS;IACjG,4DAAK;IACP,4DAAK;;;;;IAhCD,qFAAwB;IAEc,0DAAoB;IAApB,iFAAoB;IAIhC,0DAAe;IAAf,gFAAe;IAE1B,0DAAyB;IAAzB,yFAAyB;IAGjB,0DAAwB;IAAxB,wFAAwB;IAGrB,0DAAa;IAAb,8EAAa;IAEN,0DAA2B;IAA3B,iGAA2B;IAAuB,0DACnF;IADmF,2FACnF;IAM0C,0DAAyB;IAAzB,yFAAyB;IAEpD,0DAA0B;IAA1B,0FAA0B;IAIR,0DAAoC;IAApC,kGAAoC;IACvD,0DAAc;IAAd,uEAAc;;;IAKhC,yEAAuB;IACrB,yEAAoC;IAClC,0EAAgC;IAC9B,uDACF;IAAA,4DAAM;IACR,4DAAK;IACP,4DAAK;;;IAHC,0DACF;IADE,gGACF;;;IAKJ,qEAAI;IACF,yEAAgB;IACd,0EAA4C;IAC1C,wEAAwC;IAAA,2EAAgB;IAAA,4DAAI;IAC9D,4DAAM;IACR,4DAAK;IACP,4DAAK;;;;IAeb,sEAAiC;IAC/B,mFAAkG;IAAjC,mVAAgC;IAAC,4DAAgB;IACpH,4DAAM;;;IADW,0DAAiB;IAAjB,iFAAiB;;;AD5I7B,MAAM,iBAAiB;IAuD5B,YAAoB,IAAgB,EAAU,SAA2B,EAAS,gBAAkC,EAC1G,MAAsB,EAAU,aAA4B,EAAS,cAA8B,EACnG,QAAkB,EAAS,aAA2B,EAAS,cAAqC,EACpG,WAAwB;QAHd,SAAI,GAAJ,IAAI,CAAY;QAAU,cAAS,GAAT,SAAS,CAAkB;QAAS,qBAAgB,GAAhB,gBAAgB,CAAkB;QAC1G,WAAM,GAAN,MAAM,CAAgB;QAAU,kBAAa,GAAb,aAAa,CAAe;QAAS,mBAAc,GAAd,cAAc,CAAgB;QACnG,aAAQ,GAAR,QAAQ,CAAU;QAAS,kBAAa,GAAb,aAAa,CAAc;QAAS,mBAAc,GAAd,cAAc,CAAuB;QACpG,gBAAW,GAAX,WAAW,CAAa;QAxDlC,YAAO,GAAM,IAAI,IAAI,EAAE,CAAC;QACxB,cAAS,GAAQ,CAAC,CAAC;QACnB,cAAc;QACd,0BAAqB,GAAC,EAAE,CAAC;QACzB,aAAQ,GAAW,EAAE,CAAC;QACtB,gBAAW,GAAa,IAAI,CAAC;QAC7B,mBAAc,GAAW,CAAC,CAAC;QAC3B,oBAAe,GAAW,CAAC,CAAC;QAC5B,mBAAc,GAAW,EAAE,CAAC;QAC5B,qBAAgB,GAAS,IAAI,CAAC;QAC9B,iBAAY,GAAQ,IAAI,CAAC;QACzB,YAAO,GAAY,IAAI,CAAC;QACxB,wBAAmB,GAAY,KAAK,CAAC;QACrC,kBAAa,GAAG,EAAE,CAAC;QACnB,aAAQ,GAAG,KAAK,CAAC;QACjB,UAAK,GAAe,EAAE,CAAC;QACvB,iBAAY,GAAS,EAAE,CAAC;QACf,eAAU,GAAY,KAAK,CAAC;QAC5B,aAAQ,GAAK;YACpB,aAAa,EAAC,KAAK;YACnB,YAAY,EAAC,KAAK;YAClB,gBAAgB,EAAC,IAAI;YACrB,OAAO,EAAC,OAAO;YACf,UAAU,EAAE,uEAAO,CAAC,GAAG;YACvB,MAAM,EAAC,oEAAU,CAAC,SAAS;YAC3B,QAAQ,EAAC,GAAG;SACb,CAAC;QAEF,aAAQ,GAAK,EAAE,CAAC;QAChB,gBAAW,GAAK,EAAE,CAAC;QACnB,iBAAY,GAAK,EAAE,CAAC;QACpB,cAAS,GAAQ,IAAI,CAAC;QACtB,0BAAqB,GAAW,EAAE,CAAC;QAOnC,8BAA8B;QACrB,cAAS,GAAa,KAAK,CAAC;QAC3B,oBAAe,GAAG,IAAI,0DAAY,EAAW,CAAC;QAGxD,aAAQ,GAAU,CAAC,CAAC;QACpB,eAAU,GAAG,UAAU,CAAC,UAAU,CAAC;QACnC,eAAU,GAAa,EAAE,CAAC;QAE1B,eAAU,GAAO,EAAE,CAAC;QACpB,0BAAqB,GAAQ,EAAE;QAC/B,oBAAe,GAAiB,IAAI,iDAAY,EAAE,CAAC;QAQ/C,IAAI,CAAC,aAAa,GAAC,EAAE;QACvB,sHAAsH;QACtH,IAAI,CAAC,QAAQ,GAAG,+EAAe,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;QACpD,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QAC/B,6DAA6D;QAC7D,kHAAkH;QAClH,IAAI,CAAC,qBAAqB,GAAE,2FAAgB,CAAC,QAAQ,CAAC,GAAG,CAAC,qBAAqB,CAAC;QAChF,mCAAmC;QACpC,oCAAoC;QACpC,kCAAkC;QAClC,MAAM;QACL,IAAI,YAAY,GAAG,CAAC,WAAW,CAAC,CAAC;QACjC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,SAAS,CAAC,CAAC,QAAa,EAAE,EAAE;YAC5D,IAAI,CAAC,YAAY,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAC;YAC1C,IAAG,IAAI,CAAC,QAAQ,CAAC,gBAAgB,EAAC;gBAClC,IAAI,CAAC,KAAK,GAAG;oBACZ,EAAC,KAAK,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE,oBAAoB,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,EAAC;oBAC9G,EAAC,KAAK,EAAE,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,EAAE,kBAAkB,EAAE,OAAO,EAAE,CAAC,KAAS,EAAE,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAC,IAAI,CAAC,YAAY,CAAC,EAAC;oBACpI,EAAC,KAAK,EAAE,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,IAAI,EAAE,mBAAmB,EAAE,OAAO,EAAE,CAAC,KAAS,EAAE,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,YAAY,CAAC,EAAC;iBACnI,CAAC;aACH;QAEC,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,qBAAqB,GAAG,CAAC,aAAa,EAAC,iBAAiB,EAAC,iBAAiB,EAAC,gBAAgB,CAAC;QACjG,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,SAAS,CAAC,IAAI,GAAE;YAC1E,IAAG,IAAI,CAAC,KAAK,IAAI,gBAAgB,IAAI,IAAI,CAAC,KAAK,IAAI,cAAc,EAAC;gBAChE,IAAI,CAAC,KAAK,GAAG,MAAM;gBACnB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;aACvB;QACH,CAAC,CAAC;IACD,CAAC;IAEJ,QAAQ;QACN,IAAG,CAAC,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,uFAAmB,CAAC,QAAQ,CAAC,CAAC;YAC9D,IAAI,CAAC,gBAAgB,GAAE,KAAK,CAAC;QAE/B,IAAI,CAAC,aAAa,CAAC,MAAM,GAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;QAC/C,IAAI,CAAC,aAAa,CAAC,QAAQ,GAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;QACnD,IAAI,CAAC,QAAQ,GAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;IAC1C,CAAC;IAED,WAAW;QACT,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE,CAAC;IACrC,CAAC;IAED,OAAO,CAAC,OAAW;QACjB,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC;IAC9B,CAAC;IACD,uBAAuB;IACvB,eAAe;QAEb,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,iDAAiD,CAAC;QACnE,IAAI,CAAC,gBAAgB,CAAC,eAAe,EAAE,CAAC,SAAS,CAC/C,QAAQ,CAAC,EAAE;YACT,IAAI,CAAC,YAAY,GAAG,QAAQ,CAAC,IAAI,CAAC;YAClC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAE5B,CAAC,EAAE,KAAK,CAAC,EAAE;YACT,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACzB,CAAC,EAAE,GAAG,EAAE;YACN,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,+CAA+C,CAAC;QACnE,CAAC,CACF,CAAC;IACJ,CAAC;IAED,UAAU;QACR,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,OAAO,CAAC,cAAkB;QACxB,IAAG,IAAI,CAAC,gBAAgB;YACtB,OAAO;QACR,IAAI,CAAC,MAAM,GAAG,cAAc,CAAC;QAC7B,IAAI,CAAC,QAAQ,EAAE,CAAC;QAChB,IAAG,IAAI,CAAC,MAAM,GAAG,CAAC;YAClB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC;;YAElD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC;QAElD,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;IAClC,CAAC;IAEA,sBAAsB;IACtB,WAAW,CAAC,KAAoB,EAAC,KAAS;;QACxC,IAAG,KAAK,EAAC;YACR,IAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,gBAAgB;gBAChC,KAAK,CAAC,WAAW,CAAC,QAAQ,GAAC,EAAE;;gBAE7B,KAAK,CAAC,WAAW,CAAC,QAAQ,GAAC,MAAM;SACnC;QAEF,oCAAoC;QAClC,IAAI,CAAC,QAAQ,GAAC,EAAE,CAAC;QACjB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,IAAI,UAAU,GAAG,CAAC;QAClB,IAAI,iBAAiB,GAAY,KAAK,CAAC;QACvC,IAAI,SAAS,GAAW,EAAE;QAC1B,IAAI,eAAe,GAAE,KAAK,CAAC;QAE3B,IAAI,gBAAgB,GAAE,KAAK,CAAC;QAC5B,IAAI,kBAAkB,GAAU,IAAI,IAAI,EAAE,CAAC;QAE3C,IAAI,KAAK,IAAI,IAAI,EAAE;YACjB,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,KAAK,IAAI,SAAS,IAAI,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,OAAC,KAAK,CAAC,IAAI,mCAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACzI,IAAI,CAAC,cAAc,SAAG,KAAK,CAAC,IAAI,mCAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;YAC7D,IAAI,KAAK,CAAC,IAAI,EAAC;gBACb,IAAI,CAAC,UAAU,CAAC,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC;aACvC;YACD,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,OAAO,IAAG,SAAS,EAAC,MAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAE;YAE7E,IAAG,IAAI,CAAC,UAAU,IAAI,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,GAAC,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,IAAG,IAAI,EACzF;gBACE,gBAAgB,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,IAAE,KAAK,CAAC;gBACvD,kBAAkB,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;gBAC9C,iBAAiB,GAAG,IAAI,CAAC;aAC1B;YAED,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,OAAO,IAAG,SAAS,EAAC,MAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAE;YAC5E,IAAG,IAAI,CAAC,UAAU,IAAI,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,GAAC,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,IAAG,IAAI,EACzF;gBACE,IAAI,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;gBAC5C,eAAe,GAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,IAAE,KAAK,CAAC;gBACpD,iBAAiB,GAAG,IAAI,CAAC;gBAEzB,YAAY,CAAC,OAAO,CAAC,CAAC,OAAW,EAAE,EAAE;oBACnC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAK,EAAC,EAAE,EAAC,CAAC,WAAW,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBACpF,CAAC,CAAC;gBAEF,IAAG,YAAY,CAAC,MAAM,IAAI,CAAC,EAAC;oBAC1B,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;oBAClB,eAAe,GAAC,KAAK;oBACrB,iBAAiB,GAAG,KAAK,CAAC;iBAC3B;aACJ;iBACG;gBACF,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;aAEnB;SACC;QAEF,IAAI,WAAW,GAAG;YAChB,4BAA4B,EAAE;gBAC5B,YAAY,EAAE,gBAAgB;gBAC9B,OAAO,EAAE,IAAI,IAAI,CAAC,kBAAkB,CAAC,WAAW,EAAE,EAAC,kBAAkB,CAAC,QAAQ,EAAE,EAAC,kBAAkB,CAAC,OAAO,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,CAAC,CAAC;aACzH;YACD,YAAY,EAAE;gBACZ,YAAY,EAAE,KAAK;gBACnB,OAAO,EAAE,CAAC,CAAC,CAAC;aACb;YACD,cAAc,EAAE;gBACd,YAAY,EAAE,eAAe;gBAC7B,OAAO,EAAE,SAAS;aACnB;YACD,aAAa,EAAE;gBACb,YAAY,EAAE,KAAK;gBACnB,OAAO,EAAE,QAAQ;aAClB;YACD,wBAAwB,EAAE;gBACxB,YAAY,EAAE,KAAK;gBACnB,OAAO,EAAE,CAAC,CAAC,CAAC;aACb;YACD,cAAc,EAAE;gBACd,YAAY,EAAE,KAAK;gBACnB,OAAO,EAAE,CAAC,CAAC,CAAC;aACb;SACF;QACD,IAAI,CAAC,cAAc,GAAC,CAAC;QACrB,IAAI,CAAC,eAAe,GAAC,CAAC;QACtB,IAAI,CAAC,YAAY,GAAG,IAAI;QACxB,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,WAAW,EAAE,UAAU,EAAE,IAAI,CAAC,cAAc,EAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC,SAAS,CAC1J,QAAQ,CAAC,EAAE;YACT,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,4CAA4C,CAAC;YAC9D,IAAG,QAAQ,IAAG,IAAI,IAAI,QAAQ,CAAC,IAAI,IAAI,SAAS,EAAC;gBACjD,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC;gBAC9B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAC/D,IAAI,CAAC,YAAY,GAAG,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC,YAAY,CAAC;gBAChE,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC,SAAS,CAAC;gBAE1D,IAAI,QAAQ,CAAC,UAAU,IAAI,SAAS,EAAC;oBACpC,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;oBAC7C,IAAI,CAAC,qBAAqB,GAAE,UAAU,GAAE,QAAQ,CAAC,UAAU,CAAC,kBAAkB,GAAE,MAAM,GAAE,QAAQ,CAAC,UAAU,CAAC,gBAAgB,GAAE,MAAM,GAAG,QAAQ,CAAC,UAAU,CAAC,YAAY,CAAC;oBACxK,IAAG,QAAQ,CAAC,UAAU,IAAI,SAAS,IAAI,iBAAiB;wBACxD,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,qBAAqB,GAAE,IAAI,GAAC,QAAQ,CAAC,UAAU,CAAC,sBAAsB,GAAE,wBAAwB;iBACnI;gBACD,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;aAC3C;QAGD,CAAC,EAAE,KAAK,CAAC,EAAE;YACT,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;YACvC,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;YACzB,IAAI,CAAC,QAAQ,GAAC,EAAE,CAAC;QACnB,CAAC,EAAE,GAAG,EAAE;YACN,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,0CAA0C,CAAC;YAC5D,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QAC3B,CAAC,CAEF,CAAC;QAEJ,IAAI;IACN,CAAC;IAED,mBAAmB,CAAC,aAAiB;QACnC,IAAI,CAAC,UAAU,CAAC,QAAQ,GAAG,aAAa,CAAC,QAAQ,CAAC;QAClD,IAAI,CAAC,UAAU,CAAC,kBAAkB,GAAG,aAAa,CAAC,eAAe,CAAC;QACnE,IAAI,CAAC,UAAU,CAAC,UAAU,GAAG,aAAa,CAAC,UAAU,CAAC;QACtD,IAAI,CAAC,UAAU,CAAC,YAAY,GAAG,aAAa,CAAC,YAAY,CAAC;IAC5D,CAAC;IAED,UAAU,CAAC,IAAQ;QAEjB,KAAI,IAAI,IAAI,IAAI,IAAI,EACpB;YACE,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;YAC5B,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;SAC5B;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,0DAA0D;IAC1D,WAAW,CAAC,WAAgB;QAC1B,IAAI,WAAW,CAAC,KAAK,IAAI,MAAM,EAAE;YAC/B,wCAAwC;YACxC,IAAG,WAAW,CAAC,IAAI,CAAC,MAAM,EAC1B;gBACE,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;aAC9B;iBACG;gBACF,IAAI,IAAI,CAAC,cAAc,GAAG,CAAC;oBACzB,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC;gBACtB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAClD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAC/C,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;gBAC7D,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,EAAC,QAAQ,EAAC,SAAS,EAAE,OAAO,EAAC,SAAS,EAAE,MAAM,EAAC,IAAI,CAAC,YAAY,CAAC,MAAM,EAAC,CAAC,CAAC;aACnG;YACD,IAAI,CAAC,YAAY,EAAE,CAAC;SACrB;QACD,IAAI,WAAW,CAAC,KAAK,IAAI,QAAQ,EAAE;YACjC,IAAI,CAAC,YAAY,EAAE,CAAC;SACrB;IACH,CAAC;IAGD,YAAY,CAAC,GAAQ;QAEnB,kCAAkC;QAChC,IAAI,KAAU,CAAC;QAClB,gCAAgC;QAC/B,GAAG;QAEH,IAAI,GAAG,CAAC,KAAK,IAAI,CAAC,EAAC;YACjB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC,GAAG,CAAC;YACjC,8CAA8C;YAC9C,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC;YAClB,IAAI,CAAC,WAAW,CAAC,KAAK,EAAC,IAAI,CAAC,CAAC;SAC9B;aACI,IAAI,GAAG,CAAC,KAAK,IAAI,CAAC,EAAE;YACxB,kDAAkD;YACjD,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC,UAAU,CAAC;YACxC,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC;YAClB,IAAG,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,uFAAmB,CAAC,QAAQ,CAAC,CAAC;gBAC/D,IAAI,CAAC,gBAAgB,GAAC,IAAI,CAAC;;gBAE3B,IAAI,CAAC,gBAAgB,GAAC,KAAK,CAAC;YAC9B,IAAI,CAAC,WAAW,CAAC,KAAK,EAAC,IAAI,CAAC,CAAC;SAC9B;aACG;YACH,gDAAgD;YAC/C,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC;YAClB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC,QAAQ,CAAC;YACtC,IAAI,CAAC,WAAW,CAAC,KAAK,EAAC,IAAI,CAAC,CAAC;SAC9B;IACH,CAAC;IAED,2BAA2B;IAC3B,YAAY;QACV,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC;IACnC,CAAC;IAED,iBAAiB,CAAC,KAAS,EAAC,WAAe;QAGzC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC1C,mCAAmC;QACpC,uEAAuE;QACvE,MAAM;QAEL,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;YAC/B,IAAG,QAAQ,CAAC,EAAE,IAAI,WAAW,CAAC,EAAE;gBAChC,QAAQ,CAAC,cAAc,GAAG,IAAI,CAAC;;gBAE/B,QAAQ,CAAC,cAAc,GAAG,KAAK,CAAC;YAEhC,QAAQ,CAAC,aAAa,GAAE,KAAK,CAAC;QAChC,CAAC,CAAC,CAAC;IACL,CAAC;IAED,gBAAgB,CAAC,WAAe;QAE9B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC3C,oCAAoC;QACpC,4DAA4D;QAC5D,MAAM;QACL,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;YAC/B,IAAG,QAAQ,CAAC,EAAE,IAAI,WAAW,CAAC,EAAE;gBAC9B,QAAQ,CAAC,aAAa,GAAG,IAAI,CAAC;;gBAE9B,QAAQ,CAAC,aAAa,GAAG,KAAK,CAAC;YACjC,QAAQ,CAAC,cAAc,GAAC,KAAK,CAAC;YAC9B,IAAI,CAAC,SAAS,GAAC,CAAC,CAAC;QACnB,CAAC,CAAC,CAAC;IACL,CAAC;IAED,eAAe,CAAC,KAAS;QACvB,IAAG,KAAK;YACN,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,EAAE,CAAC;IAC9B,CAAC;IAED,MAAM,CAAC,KAAS;QAEd,IAAI,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC;QACzB,IAAG,IAAI,CAAC,YAAY,CAAC,gBAAgB,IAAI,MAAM;YAC7C,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;;YAEtB,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;IAC/B,CAAC;IAED,QAAQ,CAAC,UAAc;QACrB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAC;QAC5D,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,SAAS,CACrD,QAAQ,CAAC,EAAE;YACT,IAAI,CAAC,YAAY,GAAG,QAAQ,CAAC,IAAI,CAAC;YAClC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC5C,CAAC,EAAE,KAAK,CAAC,EAAE;YACT,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACzB,CAAC,EAAE,GAAG,EAAE;YACN,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAC;QAC5D,CAAC,CACF,CAAC;IACJ,CAAC;IAED,6BAA6B;IAC7B,aAAa,CAAC,UAAc;QAC1B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,8CAA8C,CAAC,CAAC;QACjE,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAAC,UAAU,CAAC,CAAC,SAAS,CAC1D,QAAQ,CAAC,EAAE;YACT,IAAI,CAAC,YAAY,GAAG,QAAQ,CAAC,IAAI,CAAC;YAClC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC5B,CAAC,EAAE,KAAK,CAAC,EAAE;YACT,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACzB,CAAC,EAAE,GAAG,EAAE;YACN,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAC;QACjE,CAAC,CACF,CAAC;IACJ,CAAC;IAED,aAAa;QACX,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACtC,CAAC;IAED,WAAW,CAAC,IAAQ;QAElB,IAAG,IAAI,CAAC,SAAS,GAAG,CAAC,EACrB;YACI,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,EAAC,IAAI,CAAC,SAAS,EAAC,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC;SAC/E;aACI,IAAI,6CAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,qBAAqB,CAAC,IAAI,6CAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,qBAAqB,CAAC,EAC3H;YACE,IAAI,QAAQ,GAAE,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,8CAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;YACjG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,EAAC,QAAQ,CAAC,CAAC;SACvC;;YAEC,IAAI,CAAC,QAAQ,EAAE,CAAC;IAGpB,CAAC;IAED,YAAY,CAAC,MAAU,EAAC,QAAY,EAAC,QAAY;QAE/C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAC;QAC/D,IAAI,WAAW,GAAG;YAChB,cAAc,EAAG,QAAQ,IAAI,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI;YACrD,mBAAmB,EAAG,QAAQ,IAAI,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI;SAChE;QAED,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC,SAAS,CACvG,QAAQ,CAAC,EAAE;YACT,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;YAC1B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC5C,CAAC,EAAE,KAAK,CAAC,EAAE;YACJ,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;QAChD,CAAC,EAAE,GAAG,EAAE;YACN,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC;YAC7D,IAAI,CAAC,SAAS,GAAC,CAAC,CAAC;QACnB,CAAC,CACF,CAAC;IACJ,CAAC;IAED,cAAc,CAAC,MAAU,EAAC,QAAY;QAEpC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kDAAkD,CAAC,CAAC;QACrE,IAAI,WAAW,GAAG;YAChB,gBAAgB,EAAG,QAAQ;SAC5B;QACD,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC,SAAS,CACzG,QAAQ,CAAC,EAAE;YACT,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;YAC1B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC5C,CAAC,EAAE,KAAK,CAAC,EAAE;YACJ,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;QAChD,CAAC,EAAE,GAAG,EAAE;YACN,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gDAAgD,CAAC,CAAC;QACrE,CAAC,CACF,CAAC;IACJ,CAAC;IAED,UAAU,CAAC,QAAc;QAErB,IAAI,OAAO,GAAI,QAAQ,CAAC,IAAI,CAAC;QAC7B,IAAI,aAAa,GAAI,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC;QAEjD,MAAM,QAAQ,GAAC,CAAC,IAAQ,EAAK,EAAE;YAC7B,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAClC,OAAO,IAAI;QACb,CAAC;QACD,IAAI,UAAU,GAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,OAAO,CAAC,EAAE,CAAC,CAAC;QAC9D,IAAG,UAAU,IAAI,SAAS;YACxB,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,UAAU,EAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;QAC3D,IAAI,CAAC,kBAAkB,CAAC,aAAa,CAAC,CAAC;QACvC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,EAAC,QAAQ,EAAC,SAAS,EAAE,OAAO,EAAC,SAAS,EAAE,MAAM,EAAC,IAAI,CAAC,YAAY,CAAC,SAAS,EAAC,CAAC,CAAC;QACrG,IAAI,CAAC,QAAQ,EAAE,CAAC;IACpB,CAAC;IAED,QAAQ;QAEN,IAAI,CAAC,SAAS,GAAC,KAAK,CAAC;QACrB,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC1C,IAAI,CAAC,QAAQ,GAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC9C,oCAAoC;QACpC,oCAAoC;QACpC,kCAAkC;QAClC,MAAM;QACN,IAAI,CAAC,SAAS,GAAC,CAAC,CAAC;IAElB,CAAC;IAED,kBAAkB,CAAC,aAAkB;QACnC,IAAI,IAAI,CAAC,YAAY,EAAE;YACrB,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,UAAe,EAAE,EAAE;gBAC5C,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,IAAI,UAAU,CAAC,WAAW,CAAC,IAAI,SAAS,EAAE;oBACnF,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,IAAS,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;oBACvF,IAAI,SAAS,GAAG,CAAC,CAAC;wBAChB,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC;iBACzC;YACH,CAAC,CAAC,CAAC;YAEH,IAAI,aAAa,IAAI,SAAS,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,aAAa,CAAC,EAAE,CAAC,IAAI,IAAI;gBACpG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;SACzC;IACH,CAAC;;kFA1gBU,iBAAiB;iGAAjB,iBAAiB;;QC1B9B,yEAA+C;QAC7C,wEAAwC;QACxC,6GAYM;QAGJ,yHAIY;QAEZ,yEAAyG;QACxG,gFAKE;QALqD,uSAAc,4BAAyB,IAAC;QAM5F,6HAUc;QACd,8HAyDc;QACd,+HAkCc;QACd,gIAQc;QACd,gIAQc;QAChB,4DAAU;QACZ,4DAAM;QAEV,4DAAM;QAEN,iFAC8C;QADnC,uMAAiC;QAE1C,2EAA4B;QAC1B,4EAAoC;QAAA,wDAAiB;QAAA,4DAAO;QAC9D,2EAAqD;QAAzB,uIAAS,kBAAc,IAAC;QAChD,oEAA8C;QAChD,4DAAM;QACR,4DAAM;QACN,gHAEM;QACR,4DAAY;QACZ,oFAAmE;;;QAvKtC,0DAAiC;QAAjC,4FAAiC;QAeiD,0DAAgC;QAAhC,2FAAgC;QAMtI,0DAAmG;QAAnG,sKAAmG;QAGlE,0DAAqD;QAArD,2HAAqD;QAFjF,+EAAkB;QAqIrB,0DAAiC;QAAjC,4FAAiC;QAGJ,0DAAiB;QAAjB,kFAAiB;QAKjD,0DAAyB;QAAzB,yFAAyB;QAId,0DAAe;QAAf,4EAAe;;AD8XlC,MAAM,IAAI;CAUT;AAID,IAAY,UAIX;AAJD,WAAY,UAAU;IACpB,yBAAW;IACX,mCAAqB;IACrB,uCAAyB;AAC3B,CAAC,EAJW,UAAU,KAAV,UAAU,QAIrB;;;;;;;;;;;;;AE1jBD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA4C;AACF;AACQ;AACF;AACA;AACP;AACD;AACI;AACI;AACF;AACA;AACN;AACgB;AACR;AACJ;AACU;AACF;AACV;AACoB;AACJ;AACZ;AACgB;AACJ;AACJ;AACV;AACY;AACd;AACc;AACN;AACV;AACE;AACc;;;AA2EjD,MAAM,aAAa;;0EAAb,aAAa;6FAAb,aAAa;iGAxEb;YACL,yDAAW;YACX,yDAAW;YACX,iEAAe;YACf,+DAAc;YACd,+DAAc;YACd,wDAAa,CAAC,OAAO,EAAE;YACvB,uDAAU;YACV,2DAAY;YACZ,+DAAc;YACd,6DAAa;YACb,8DAAa;YACb,wDAAU;YACV,wEAAkB;YAClB,gEAAc;YACd,4DAAY;YACZ,sEAAiB;YACjB,oEAAgB;YAChB,0DAAW;YACX,8DAAa;YACb,8DAAY;YACZ,0EAAmB;YACnB,8EAAqB;YACrB,0EAAmB;YACnB,sEAAiB;YACjB,4DAAY;YACZ,wEAAkB;YAClB,wDAAU;YACV,wEAAkB;YAClB,kEAAe;YACf,wDAAU;YACV,0DAAW;YACX,sEAAiB;SACpB,EAGC,yDAAW;QACX,yDAAW;QACX,iEAAe;QACf,+DAAc;QACd,+DAAc;QACd,wDAAa;QACb,uDAAU;QACV,2DAAY;QACZ,+DAAc;QACd,6DAAa;QACb,8DAAa;QACb,wDAAU;QACV,wEAAkB;QAClB,gEAAc;QACd,4DAAY;QACZ,sEAAiB;QACjB,oEAAgB;QAChB,0DAAW;QACX,8DAAY;QACZ,0EAAmB;QACnB,8DAAa;QACb,8EAAqB;QACrB,0EAAmB;QACnB,sEAAiB;QACjB,4DAAY;QACZ,wEAAkB;QAClB,wDAAU;QACV,wEAAkB;QAClB,kEAAe;QACf,wDAAU;QACV,0DAAW;QACX,sEAAiB;oIAKV,aAAa,cAvElB,yDAAW;QACX,yDAAW;QACX,iEAAe;QACf,+DAAc;QACd,+DAAc,4DAEd,uDAAU;QACV,2DAAY;QACZ,+DAAc;QACd,6DAAa;QACb,8DAAa;QACb,wDAAU;QACV,wEAAkB;QAClB,gEAAc;QACd,4DAAY;QACZ,sEAAiB;QACjB,oEAAgB;QAChB,0DAAW;QACX,8DAAa;QACb,8DAAY;QACZ,0EAAmB;QACnB,8EAAqB;QACrB,0EAAmB;QACnB,sEAAiB;QACjB,4DAAY;QACZ,wEAAkB;QAClB,wDAAU;QACV,wEAAkB;QAClB,kEAAe;QACf,wDAAU;QACV,0DAAW;QACX,sEAAiB,aAInB,yDAAW;QACX,yDAAW;QACX,iEAAe;QACf,+DAAc;QACd,+DAAc;QACd,wDAAa;QACb,uDAAU;QACV,2DAAY;QACZ,+DAAc;QACd,6DAAa;QACb,8DAAa;QACb,wDAAU;QACV,wEAAkB;QAClB,gEAAc;QACd,4DAAY;QACZ,sEAAiB;QACjB,oEAAgB;QAChB,0DAAW;QACX,8DAAY;QACZ,0EAAmB;QACnB,8DAAa;QACb,8EAAqB;QACrB,0EAAmB;QACnB,sEAAiB;QACjB,4DAAY;QACZ,wEAAkB;QAClB,wDAAU;QACV,wEAAkB;QAClB,kEAAe;QACf,wDAAU;QACV,0DAAW;QACX,sEAAiB;;;;;;;;;;;;;ACtGvB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAuE;AACvE,4DAA4D;AAC5D,+EAA+E;AAEV;AACN;AACqB;AAE5B;AACT;AACC;AAEN;AAC8B;AACE;AACK;AACM;AAC1C;AAC6B;AACzB;AACJ;AACmC;AAGjC;;;;;AAEtC,SAAS,iBAAiB,CAAC,UAAsB;IACtD,6CAA6C;IAC7C,OAAO,IAAI,8EAAmB,CAAC,UAAU,EAAE,gBAAgB,EAAE,OAAO,CAAC,CAAC;AACxE,CAAC;AAEM,SAAS,aAAa,CAAC,gBAAkC;IAC9D,OAAO,GAAiB,EAAE;QACxB,OAAO,gBAAgB,CAAC,IAAI,EAAE,CAAC;IACjC,CAAC;AACH,CAAC;AAyCM,MAAM,SAAS;;kEAAT,SAAS;wFAAT,SAAS,cAFR,2DAAY;6FAVb;QACT,EAAE,OAAO,EAAE,sEAAiB,EAAE,QAAQ,EAAE,2FAAqB,EAAE,KAAK,EAAE,IAAI,EAAE;QAC5E,EAAE,OAAO,EAAE,sEAAiB,EAAE,QAAQ,EAAE,oFAAkB,EAAE,KAAK,EAAE,IAAI,EAAE;QACzE,EAAE,OAAO,EAAE,sEAAiB,EAAE,QAAQ,EAAE,sFAAgB,EAAE,KAAK,EAAE,IAAI,EAAE;QACvE,EAAE,OAAO,EAAE,sEAAiB,EAAE,QAAQ,EAAE,kGAAwB,EAAE,KAAK,EAAE,IAAI,EAAE;QAC/E,EAAE,OAAO,EAAE,0DAAY,EAAE,QAAQ,EAAE,4FAAkB,EAAC;QACtD,EAAE,OAAO,EAAE,6DAAe,EAAC,UAAU,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,qFAAgB,CAAC,EAAE,KAAK,EAAE,IAAI,EAAC;QAC5F,yDAAQ;QACR,2DAAc;KACf,YA/BQ;YACR,iBAAiB;YACjB,2BAA2B;YAC1B,oEAAgB;YAChB,qEAAgB;YAChB,6DAAY;YACZ,mEAAe,CAAC,OAAO,CAAC;gBACtB,MAAM,EAAE;oBACJ,OAAO,EAAE,mEAAe;oBACxB,UAAU,EAAE,iBAAiB;oBAC7B,IAAI,EAAE,CAAC,+DAAU,CAAC;iBACrB;aACF,CAAC;YAEF,uDAAY,CAAC,OAAO,CAAC;gBACnB,aAAa,EAAG,oBAAoB;aACrC,CAAC;YACF,4DAAU;YACV,yDAAa,CAAC,OAAO,EAAE;SAGxB;mIAaU,SAAS,mBArClB,2DAAY;QAIb,iBAAiB;QACjB,2BAA2B;QAC1B,oEAAgB;QAChB,qEAAgB;QAChB,6DAAY,gIAYZ,4DAAU;;;;;;;;;;;;;AC1Dd;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAkE;AAQV;AACsB;;;;;;;;;;;;;;ICuEpE,2EAAU;IACR,qEAAwB;IACxB,qEAAyB;IACzB,qEAAyB;IACzB,qEAAyB;IACzB,qEAAyB;IACzB,qEAAyB;IAC3B,4DAAW;;;IAIX,qEAAI;IACF,yEAAqC;IAAA,6EAAkB;IAAA,4DAAK;IAC5D,yEAAsC;IAAA,+EAAoB;IAAA,4DAAK;IAC/D,yEAAc;IAAA,gFAAqB;IAAA,4DAAK;IACxC,yEAAc;IAAA,kFAAuB;IAAA,4DAAK;IAC1C,yEAAc;IAAA,iFAAqB;IAAA,4DAAK;IACxC,0EAAc;IAAA,iFAAqB;IAAA,4DAAK;IAC1C,4DAAK;;;IAIL,qEAAI;IACF,yEAA2B;IAAA,uDAA0B;IAAA,4DAAK;IAC1D,yEAA4B;IAC1B,wEAAwE;IACtE,uDAAkE;IAAA,4DAAI;IAC1E,4DAAK;IACL,qEAAI;IAAA,uDAA0C;IAAA,4DAAK;IACnD,qEAAI;IAAA,uDACuD;IAAA,4DAAK;IAChE,sEAAI;IAAA,wDAAsC;IAAA,4DAAK;IAC/C,sEAAI;IAAA,wDAAkC;IAAA,4DAAK;IAC7C,4DAAK;;;IAVwB,0DAA0B;IAA1B,0FAA0B;IAE9B,0DAAkD;IAAlD,gIAAkD;IACrE,0DAAkE;IAAlE,iJAAkE;IAElE,0DAA0C;IAA1C,0GAA0C;IAC1C,0DACuD;IADvD,2MACuD;IACvD,0DAAsC;IAAtC,sGAAsC;IACtC,0DAAkC;IAAlC,kGAAkC;;;IAIxC,qEAAI;IACF,yEAAgB;IACd,0EAA4C;IAC1C,wEAAwC;IAAA,2EAAgB;IAAA,4DAAI;IAC9D,4DAAM;IACR,4DAAK;IACP,4DAAK;;;IAGL,qEAEM;;AD7GT,MAAM,wBAAwB;IAuBnC,YAAoB,IAAgB,EAAU,SAA2B,EAC/D,MAAsB,EAAU,aAA2B,EAAU,MAAa,EAClF,cAA8B;QAFpB,SAAI,GAAJ,IAAI,CAAY;QAAU,cAAS,GAAT,SAAS,CAAkB;QAC/D,WAAM,GAAN,MAAM,CAAgB;QAAU,kBAAa,GAAb,aAAa,CAAc;QAAU,WAAM,GAAN,MAAM,CAAO;QAClF,mBAAc,GAAd,cAAc,CAAgB;QAVxC,mBAAc,GAAE,EAAE,CAAC;QACnB,YAAO,GAAG,KAAK,CAAC;QAChB,iBAAY,GAAC,CAAC,CAAC;QACf,sBAAiB,GAAS,KAAK,CAAC;QAChC,eAAU,GAAQ,EAAE;QACpB,qBAAgB,GAAC,EAAE;QACnB,iBAAY,GAAS,EAAE,CAAC;QAMtB,+CAA+C;QAC/C,IAAI,CAAC,kBAAkB,GAAG,IAAI,wDAAS,CAAC;YACtC,IAAI,EAAE,IAAI,0DAAW,CAAC,IAAI,CAAC;YAC3B,OAAO,EAAE,IAAI,0DAAW,EAAE;YAC1B,KAAK,EAAE,IAAI,0DAAW,EAAE;YACxB,KAAK,EAAE,IAAI,0DAAW,EAAE;YACxB,UAAU,EAAE,IAAI,0DAAW,EAAE;YAC7B,aAAa,EAAE,IAAI,0DAAW,EAAE;YAChC,cAAc,EAAE,IAAI,0DAAW,EAAE;SAClC,CAAC,CAAC;QACH,IAAI,CAAC,UAAU,GAAG,2FAAgB,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC;IAE7D,CAAC;IApCD,aAAa,CAAC,KAAoB;QAChC,IAAI,CAAC,MAAM,EAAE,CAAC;IAChB,CAAC;IAoCD,QAAQ;QAEN,IAAI,YAAY,GAAG,CAAC,iBAAiB,CAAC,CAAC;QACvC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,SAAS,CAAC,CAAC,QAAa,EAAE,EAAE;YAC3D,IAAI,CAAC,YAAY,GAAG,QAAQ,CAAC,iBAAiB,CAAC,CAAC;YAEhD,IAAI,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;YACzE,IAAI,OAAO,IAAI,EAAE,IAAI,OAAO,EAAE;gBAC5B,IAAI,CAAC,kBAAkB,GAAG,IAAI,wDAAS,CAAC;oBACtC,IAAI,EAAE,IAAI,0DAAW,CAAC,OAAO,CAAC;oBAC9B,OAAO,EAAE,IAAI,0DAAW,EAAE;oBAC1B,KAAK,EAAE,IAAI,0DAAW,EAAE;oBACxB,KAAK,EAAE,IAAI,0DAAW,EAAE;oBACxB,UAAU,EAAE,IAAI,0DAAW,EAAE;oBAC7B,aAAa,EAAE,IAAI,0DAAW,EAAE;oBAChC,cAAc,EAAE,IAAI,0DAAW,EAAE;iBAClC,CAAC,CAAC;aACJ;QACH,CAAC,CAAC,CAAC;IAEL,CAAC;IAED,MAAM;QACJ,IAAI,KAAU,CAAC;QACf,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;IAED,iBAAiB,CAAC,MAAU;QAE1B,+EAAe,CAAC,WAAW,GAAC,MAAM,CAAC,eAAe,CAAC,EAAE,CAAC;QACtD,+EAAe,CAAC,OAAO,GAAC,MAAM,CAAC,eAAe,CAAC,SAAS,GAAE,GAAG,GAAE,MAAM,CAAC,eAAe,CAAC,QAAQ,CAAE;QACjG,sCAAsC;QACnC,IAAI,GAAG,GAAC,YAAY,GAAE,MAAM,CAAC,eAAe,CAAC,EAAE,GAAE,QAAQ,CAAC;QAC7D,0EAA0E;QAC3E,KAAK;QACL,SAAS;QACP,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAC9B,KAAK;IAEL,CAAC;IAED,gBAAgB,CAAC,KAAoB;;QACnC,IAAI,SAAS,GAAG,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC;QAC9C,+EAAe,CAAC,aAAa,GAAG,SAAS,CAAC,IAAI,CAAC;QAC/C,IAAI,WAAW,GAAG;YACd,IAAI,EAAE,SAAS,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,IAAE,SAAS,EAAC,EAAC,EAAC,UAAS,CAAC,KAAK,CAAC;YACvF,eAAe,EAAE;gBACf,SAAS,EAAE,CAAC;gBACZ,MAAM,EAAE,SAAS,CAAC,IAAI;aACvB;YACD,SAAS,EAAE;gBACT,UAAU,EAAE,EAAE;gBACd,QAAQ,EAAE,SAAS,CAAC,OAAO;gBAC3B,MAAM,EAAE,EAAE;gBACV,SAAS,EAAE,CAAC;gBACZ,WAAW,EAAE,CAAC;gBACd,OAAO,EAAE,EAAE;gBACX,OAAO,EAAE,SAAS,CAAC,KAAK;aACzB;YACD,cAAc,EAAE;gBACd,UAAU,EAAE,CAAC;gBACb,kBAAkB,EAAE,SAAS,CAAC,UAAU;gBACxC,sBAAsB,EAAE,SAAS,CAAC,cAAc;gBAChD,kBAAkB,EAAE,SAAS,CAAC,aAAa;gBAC3C,QAAQ,EAAE,CAAC;aACZ;SACJ;QAED,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,wDAAwD,CAAC,CAAC;QAC3E,IAAI,UAAU,GAAG,CAAC;QAClB,IAAI,KAAK,IAAI,IAAI,EAAE;YACjB,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,KAAK,IAAI,SAAS,IAAI,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,OAAC,KAAK,CAAC,IAAI,mCAAI,IAAI,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACpI,IAAI,CAAC,cAAc,SAAG,KAAK,CAAC,IAAI,mCAAI,IAAI,CAAC,cAAc,CAAC;SACzD;QACD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,WAAW,EAAC,UAAU,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC,SAAS,CACxF,QAAQ,CAAC,EAAE;YACT,IAAG,QAAQ,IAAI,QAAQ,CAAC,IAAI,EAAC;gBAC3B,IAAI,CAAC,cAAc,GAAG,QAAQ,CAAC,IAAI,CAAC;gBACpC,IAAI,CAAC,gBAAgB,GAAE,UAAU,GAAE,QAAQ,CAAC,UAAU,CAAC,kBAAkB,GAAE,MAAM,GAAE,QAAQ,CAAC,UAAU,CAAC,gBAAgB,GAAE,MAAM,GAAG,QAAQ,CAAC,UAAU,CAAC,YAAY,CAAC;gBACnK,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;gBAC9C,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;aAC3C;iBACG;gBACF,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;gBAC3B,IAAI,CAAC,gBAAgB,GAAE,EAAE;gBACzB,IAAI,CAAC,mBAAmB,EAAE,CAAC;aAC5B;QAEH,CAAC,EAAE,KAAK,CAAC,EAAE;YACT,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;YAC3B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;YACvC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;YACrB,IAAI,CAAC,gBAAgB,GAAC,EAAE,CAAC;QAC3B,CAAC,EAAE,GAAG,EAAE;YACN,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,sDAAsD,CAAC,CAAC;YACzE,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACvB,CAAC,CACF,CAAC;IACJ,CAAC;IAED,mBAAmB,CAAC,gBAAoB,IAAI;QAC1C,IAAG,aAAa,EAAC;YACf,IAAI,CAAC,UAAU,CAAC,QAAQ,GAAG,aAAa,CAAC,QAAQ,CAAC;YAClD,IAAI,CAAC,UAAU,CAAC,kBAAkB,GAAG,aAAa,CAAC,eAAe,CAAC;YACnE,IAAI,CAAC,UAAU,CAAC,UAAU,GAAG,aAAa,CAAC,UAAU,CAAC;YACtD,IAAI,CAAC,UAAU,CAAC,YAAY,GAAG,aAAa,CAAC,YAAY,CAAC;SAC3D;aACG;YACF,IAAI,CAAC,UAAU,CAAC,QAAQ,GAAG,CAAC,CAAC;YAC7B,IAAI,CAAC,UAAU,CAAC,kBAAkB,GAAG,CAAC,EAAE,EAAC,EAAE,EAAC,EAAE,CAAC,CAAC;YAChD,IAAI,CAAC,UAAU,CAAC,UAAU,GAAG,CAAC,CAAC;YAC/B,IAAI,CAAC,UAAU,CAAC,YAAY,GAAG,CAAC,CAAC;SAClC;IACH,CAAC;IAED,WAAW,CAAC,QAAU,EAAE;QACtB,IAAI,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC;QACzD,SAAS,CAAC,eAAe,GAAG,EAAE,CAAC;QAC/B,SAAS,CAAC,eAAe,CAAC,EAAE,GAAG,SAAS,CAAC,EAAE,CAAC;QAC5C,SAAS,CAAC,eAAe,CAAC,SAAS,GAAE,SAAS,CAAC,SAAS;QACxD,SAAS,CAAC,eAAe,CAAC,QAAQ,GAAG,SAAS,CAAC,QAAQ,CAAE;QACzD,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;IACpC,CAAC;;gGApKU,wBAAwB;wGAAxB,wBAAwB;sKAAxB,yBAAqB;;QCnBlC,yEAAiD;QAC/C,yEAA6C;QAC3C,yEAA0B;QACxB,6EACA;QAAA,4EACoF;QAApC,wKAA6B,IAAI,IAAE;QACrF,4DAAS;QACT,4DAAM;QACN,yEAAoC;QAClC,0EAAuC;QACrC,yEAAuC;QACrC,yEAA0B;QACxB,yEAA8C;QAC5C,uEACoB;QACpB,6EAA+C;QAAA,gFAAoB;QAAA,4DAAQ;QAC7E,4DAAM;QACR,4DAAM;QAEN,0EAA0B;QACxB,0EAA8C;QAC5C,wEACoB;QACpB,6EAAkD;QAAA,mFAAuB;QAAA,4DAAQ;QACnF,4DAAM;QACR,4DAAM;QAEN,0EAA0B;QACxB,0EAA8C;QAC5C,wEACoB;QACpB,6EAAgD;QAAA,iFAAqB;QAAA,4DAAQ;QAC/E,4DAAM;QACR,4DAAM;QAEN,2EAA0B;QACxB,0EAA8C;QAC5C,wEACoB;QACpB,6EAAgD;QAAA,uFAA2B;QAAA,4DAAQ;QACrF,4DAAM;QACR,4DAAM;QAEN,2EAA0B;QACxB,0EAA8C;QAC5C,wEAC+B;QAC/B,6EAAqD;QAAA,sFAA0B;QAAA,4DAAQ;QACzF,4DAAM;QACR,4DAAM;QAEN,0EAA0B;QACxB,0EAA8C;QAC5C,wEAC+B;QAC/B,6EAAwD;QAAA,4FAAgC;QAAA,4DAAQ;QAClG,4DAAM;QACR,4DAAM;QAEN,0EAA0B;QACxB,0EAA8C;QAC5C,wEAC2C;QAC3C,6EAAyD;QAAA,0FAA8B;QAAA,4DAAQ;QACjG,4DAAM;QACR,4DAAM;QAEN,2EAA6D;QAC3D,8EACqE;QAAnB,iJAAS,YAAQ,IAAC;;QAAC,4DAAS;QAChF,4DAAM;QAER,4DAAM;QACR,4DAAO;QACT,4DAAM;QACN,2EAAmC;QACjC,+EAGmH;QAHtD,kKAAc,4BAAwB,IAAC;QAIlG,uIASc;QAEd,wIASc;QAEd,yIAac;QACd,uIAQc;QACd,uIAIc;QAChB,4DAAU;QAEZ,4DAAM;QACR,4DAAM;QACR,4DAAM;QAEN,4FAA0F;QAApE,uNAA+B,yHAAgB,uBAAmB,IAAnC;QAAqC,4DAAuB;;QA/HrG,0DAAgC;QAAhC,6FAAgC;QA2DM,2DAAqC;QAArC,gKAAqC;QAU/E,0DAAgD;QAAhD,sHAAgD;QAFzC,qFAAwB;QA4DjB,0DAA+B;QAA/B,0FAA+B;;;;;;;;;;;;;;ACvIrD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA+C;AAEa;AACiB;AACtB;AACK;AACM;AACnB;AAEgB;AACM;AACpB;AACyB;AACQ;;;AAE3E,SAAS,iBAAiB,CAAC,UAAsB;IACtD,OAAO,IAAI,8EAAmB,CAAC,UAAU,CAAC,CAAC;AAC7C,CAAC;AAsBM,MAAM,WAAW;;sEAAX,WAAW;2FAAX,WAAW;+FAlBb;YACP,4DAAY;YACZ,wEAAkB;YAClB,4DAAY;YACZ,oEAAa;YACb,yEAAY;YACZ,0DAAW;YACX,kEAAmB;YAEnB,mEAAe,CAAC,OAAO,CAAC;gBACtB,MAAM,EAAE;oBACJ,OAAO,EAAE,mEAAe;oBACxB,UAAU,EAAE,iBAAiB;oBAC7B,IAAI,EAAE,CAAC,+DAAU,CAAC;iBACrB;aACF,CAAC;SACH;oIAEU,WAAW,mBAnBP,yFAAoB,EAAE,uFAAmB,EAAE,gGAAkB,aAE1E,4DAAY;QACZ,wEAAkB;QAClB,4DAAY;QACZ,oEAAa;QACb,yEAAY;QACZ,0DAAW;QACX,kEAAmB;;;;;;;;;;;;;AC7BvB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA8E;AACZ;AAOE;AAExC;AACkD;AACvB;;;;;;;;;;;;;;;;;;ICRjD,yEAAgE;IAC9D,iFACwG;IAAtG,2UAA+B;IACjC,4DAAa;IACb,4EAA8B;IAAA,2EAAgB;IAAA,0EAAwB;IAAA,4DAAC;IAAA,4DAAO;IAAA,4DAAQ;IACxF,4DAAM;;;IAJyB,0DAA0B;IAA1B,mFAA0B;;;IAkFzD,yEAAqE;IACnE,4EAGa;IACb,4EAAsD;IAAA,4EAAiB;IAAA,0EAAwB;IAAA,4DAAC;IAAA,4DAAO;IAAA,4DAAQ;IACjH,4DAAM;;;IAL8B,0DAAmB;IAAnB,mFAAmB;;ADrEtD,MAAM,gBAAgB;IA8B3B,YAAoB,IAAgB,EAAU,SAA2B,EAAS,gBAAkC,EAC1G,MAAsB,EAAU,aAA4B,EAAS,WAAwB;QADnF,SAAI,GAAJ,IAAI,CAAY;QAAU,cAAS,GAAT,SAAS,CAAkB;QAAS,qBAAgB,GAAhB,gBAAgB,CAAkB;QAC1G,WAAM,GAAN,MAAM,CAAgB;QAAU,kBAAa,GAAb,aAAa,CAAe;QAAS,gBAAW,GAAX,WAAW,CAAa;QA3BvG,gBAAW,GAAG,aAAa,CAAC;QAU5B,aAAQ,GAAG,KAAK,CAAC;QACjB,WAAM,GAAG,GAAG,CAAC;QAMb,0BAAqB,GAAW,EAAE,CAAC;QAEzB,aAAQ,GAAG,IAAI,0DAAY,EAAO,CAAC;QACpC,WAAM,GAAM,CAAC,CAAC;QACd,kBAAa,GAAK;YACzB,MAAM,EAAC,oEAAU,CAAC,SAAS;YAC3B,QAAQ,EAAC,GAAG;SACb,CAAC;QAKA,sDAAsD;QACtD,IAAI,CAAC,QAAQ,GAAG,+EAAe,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;QACpD,IAAI,CAAC,MAAM,GAAG,+EAAe,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;QAChD,IAAI,CAAC,OAAO,GAAG,IAAI,IAAI,EAAE,CAAC;QAE1B,4BAA4B;QAC5B,IAAI,CAAC,SAAS,GAAG,IAAI,wDAAS,CAAC;YAC7B,MAAM,EAAE,IAAI,0DAAW,CAAC,IAAI,EAAE,yDAAU,CAAC,QAAQ,CAAC;YAClD,QAAQ,EAAE,IAAI,0DAAW,CAAC,IAAI,EAAE,yDAAU,CAAC,QAAQ,CAAC;YACpD,QAAQ,EAAE,IAAI,0DAAW,CAAC,IAAI,EAAE,yDAAU,CAAC,QAAQ,CAAC;YACpD,UAAU,EAAE,IAAI,0DAAW,CAAC,IAAI,EAAE,yDAAU,CAAC,QAAQ,CAAC;YACtD,UAAU,EAAE,IAAI,0DAAW,EAAE;YAC7B,SAAS,EAAE,IAAI,0DAAW,EAAE;YAC5B,OAAO,EAAE,IAAI,0DAAW,CAAC,IAAI,EAAE,yDAAU,CAAC,QAAQ,CAAC;YACnD,eAAe,EAAE,IAAI,0DAAW,EAAE;YAClC,OAAO,EAAE,IAAI,0DAAW,CAAC,IAAI,EAAE,yDAAU,CAAC,QAAQ,CAAC;SACpD,CAAC,CAAC;QAEH,IAAI,YAAY,GAAG,CAAC,WAAW,CAAC,CAAC;QACjC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,SAAS,CAAC,CAAC,QAAa,EAAE,EAAE;YAC5D,IAAI,CAAC,YAAY,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAC;QAC3C,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,UAAU,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;QACnH,IAAI,CAAC,qBAAqB,GAAE,2FAAgB,CAAC,QAAQ,CAAC,GAAG,CAAC,qBAAqB,CAAC;IAClF,CAAC;IAED,QAAQ;QAEN,kCAAkC;QAClC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAG;YACpB,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;SACtC;aAED;YACE,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAC5B,2BAA2B;SAC5B;IACH,CAAC;IAED,MAAM,CAAC,KAAS;QAEd,IAAI,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC;QACzB,IAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC;YAC/C,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QACtB,IAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC;YAC/C,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;IAC7B,CAAC;IACD,eAAe;IACf,QAAQ,CAAC,UAAc;QACrB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,wCAAwC,CAAC,CAAC;QAC3D,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,SAAS,CACrD,QAAQ,CAAC,EAAE;YACT,IAAI,CAAC,YAAY,GAAG,QAAQ,CAAC,IAAI,CAAC;YAClC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC5B,CAAC,EAAE,KAAK,CAAC,EAAE;YACT,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACzB,CAAC,EAAE,GAAG,EAAE;YACN,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC;QAC3D,CAAC,CACF,CAAC;IACJ,CAAC;IAED,qBAAqB;IACrB,aAAa,CAAC,UAAc;QAC1B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gDAAgD,CAAC,CAAC;QACnE,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAAC,UAAU,CAAC,CAAC,SAAS,CAC1D,QAAQ,CAAC,EAAE;YACT,IAAI,CAAC,YAAY,GAAG,QAAQ,CAAC,IAAI,CAAC;YAClC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC5B,CAAC,EAAE,KAAK,CAAC,EAAE;YACT,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACzB,CAAC,EAAE,GAAG,EAAE;YACN,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,8CAA8C,CAAC,CAAC;QACnE,CAAC,CACF,CAAC;IACJ,CAAC;IAED,wEAAwE;IACxE,UAAU,CAAC,KAAU;QACnB,IAAI,KAAK,IAAI,SAAS,IAAI,KAAK,CAAC,KAAK,IAAI,SAAS,EAAE;YAClD,IAAI,KAAK,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,EAAE;gBACvB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,cAAc,CAAC;gBACxC,IAAI,CAAC,WAAW,GAAG,cAAc,CAAC;aACnC;iBACI;gBACH,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,SAAS,CAAC;gBACpC,IAAI,CAAC,WAAW,GAAG,aAAa,CAAC;aAClC;SACF;IACH,CAAC;IAED,0BAA0B;IAC1B,oBAAoB;QAClB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,oDAAoD,CAAC,CAAC;QACvE,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,EAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,SAAS,CAC9F,QAAQ,CAAC,EAAE;YACT,IAAI,CAAC,WAAW,GAAG,QAAQ,CAAC,IAAI,CAAC;YACjC,IAAI,CAAC,wBAAwB,EAAE,CAAC;YAChC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;QAE5C,CAAC,EAAE,KAAK,CAAC,EAAE;YACT,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;QAC3C,CAAC,EAAE,GAAG,EAAE;YACN,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kDAAkD,CAAC,CAAC;QACvE,CAAC,CACF,CAAC;IACJ,CAAC;IAED,yCAAyC;IACzC,wBAAwB;QAEtB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC;QAC/C,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC;QACpD,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,SAAS,CAAC;QAEpC,IAAI,CAAC,SAAS,GAAG,IAAI,wDAAS,CAAC;YAC7B,MAAM,EAAE,IAAI,0DAAW,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,WAAW,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,EAAE,yDAAU,CAAC,QAAQ,CAAC;YACxH,QAAQ,EAAE,IAAI,0DAAW,CAAC,IAAI,EAAE,yDAAU,CAAC,QAAQ,CAAC;YACpD,QAAQ,EAAE,IAAI,0DAAW,CAAC,IAAI,EAAE,yDAAU,CAAC,QAAQ,CAAC;YACpD,UAAU,EAAE,IAAI,0DAAW,CAAC,IAAI,EAAE,yDAAU,CAAC,QAAQ,CAAC;YACtD,UAAU,EAAE,IAAI,0DAAW,EAAE;YAC7B,SAAS,EAAE,IAAI,0DAAW,EAAE;YAC5B,OAAO,EAAE,IAAI,0DAAW,CAAC,IAAI,EAAE,yDAAU,CAAC,QAAQ,CAAC;YACnD,eAAe,EAAE,IAAI,0DAAW,EAAE;YAClC,OAAO,EAAE,IAAI,0DAAW,CAAC,IAAI,EAAE,yDAAU,CAAC,QAAQ,CAAC;SACpD,CAAC,CAAC;IAEL,CAAC;IAED,8BAA8B;IAC9B,6BAA6B;IAC3B,yBAAyB;IACzB,qFAAqF;IACrF,uBAAuB;IACvB,uEAAuE;IACvE,yBAAyB;IAC3B,+EAA+E;IAC/E,IAAI;IACJ,uBAAuB;IACvB,yBAAyB,CAAC,KAAU,EAAE,QAAe;QACnD,IAAI,QAAQ,GAAU,EAAE,CAAC;QACzB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACxC,IAAI,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;YACvB,IAAI,IAAI,CAAC,sBAAsB,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,EAAE;gBAC/E,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACrB;SACF;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,2BAA2B;IAC3B,4BAA4B;IAC5B,2EAA2E;IAC3E,GAAG;IAEH,2DAA2D;IAC3D,8BAA8B;IAC9B,gDAAgD;IAChD,8BAA8B;IAC9B,8EAA8E;IAC9E,6BAA6B;IAC7B,QAAQ;IACR,MAAM;IACN,qBAAqB;IACrB,IAAI;IACJ,kBAAkB;IAClB,OAAO;QACN,2BAA2B;QAC1B,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,EACxB;YACE,IAAG,IAAI,CAAC,MAAM,GAAG,CAAC,EAAI,WAAW;aACjC;gBACE,IAAI,CAAC,cAAc,EAAE,CAAC;aACvB;iBAED;gBACI,IAAI,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;gBACrC,IAAI,aAAa,GAAG,EAAC,EAAE,EAAC,SAAS,CAAC,UAAU,CAAC,EAAE,EAAC,WAAW,EAAC,SAAS,CAAC,UAAU,CAAC,WAAW,EAAC,CAAC;gBAC9F,IAAI,WAAW,GAAG;oBAChB,cAAc,EAAE,IAAI,CAAC,MAAM;oBAC3B,cAAc,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI;oBAC7G,mBAAmB,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI;oBAClH,QAAQ,EAAE,SAAS,CAAC,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI;oBACnE,UAAU,EAAE,SAAS,CAAC,UAAU,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI;oBACzE,SAAS,EAAE,SAAS,CAAC,OAAO;oBAC5B,aAAa,EAAE,SAAS,CAAC,eAAe;oBACxC,SAAS,EAAE,SAAS,CAAC,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,6CAAM,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,qBAAqB,CAAC;iBACzG;gBACH,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAC;gBAC1D,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC,SAAS,CACxG,QAAQ,CAAC,EAAE;oBACT,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;oBACxB,QAAQ,CAAC,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;oBAC5C,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;oBAC1C,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;gBAC5D,CAAC,EAAE,KAAK,CAAC,EAAE;oBACT,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;oBACzC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;gBAC1D,CAAC,EAAE,GAAG,EAAE;oBACN,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC;gBAC1D,CAAC,CACF,CAAC;aACH;SACF;aACG;YACF,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;SACxD;IAEH,CAAC;IACD,YAAY;QACV,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;IAC1D,CAAC;IAED,kBAAkB,CAAC,cAAkB;QAEnC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kDAAkD,CAAC,CAAC;QACrE,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,EAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAC,cAAc,CAAC,CAAC,SAAS,CACjH,QAAQ,CAAC,EAAE;YACT,IAAI,CAAC,YAAY,GAAG,QAAQ,CAAC,IAAI,CAAC;YAClC,IAAI,CAAC,sBAAsB,CAAC,cAAc,CAAC,CAAC;YAC5C,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;QAE5C,CAAC,EAAE,KAAK,CAAC,EAAE;YACT,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;QAC3C,CAAC,EAAE,GAAG,EAAE;YACR,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gDAAgD,CAAC,CAAC;QACrE,CAAC,CACA,CAAC;IACJ,CAAC;IAED,sBAAsB,CAAC,cAAkB;QACzC,IAAI,MAAM,EAAC,QAAQ,CAAC;QAClB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,SAAS,CAAC;QAClE,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,YAAY,CAAC;QACvE,IAAI,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC;QAC1C,IAAG,QAAQ,CAAC,KAAK,IAAI,IAAI,EACvB;YACE,IAAI,CAAC,WAAW,GAAE,aAAa;YAC/B,MAAM,GAAE,EAAE,EAAE,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,WAAW,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE;YAClF,QAAQ,GAAG,EAAC,EAAE,EAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,EAAE,WAAW,EAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,EAAC;SAC1E;aAEH;YACE,IAAI,CAAC,WAAW,GAAE,cAAc;YAChC,MAAM,GAAE,EAAE,EAAE,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,WAAW,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE;YAClF,QAAQ,GAAG,EAAC,EAAE,EAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,EAAE,WAAW,EAAC,QAAQ,CAAC,UAAU,CAAC,WAAW,EAAC;SACpF;QAED,uCAAuC;QAEvC,IAAI,CAAC,SAAS,GAAG,IAAI,wDAAS,CAAC;YAC7B,MAAM,EAAE,IAAI,0DAAW,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,WAAW,EAAE,MAAM,CAAC,WAAW,EAAE,EAAE,yDAAU,CAAC,QAAQ,CAAC;YAChG,QAAQ,EAAE,IAAI,0DAAW,CAAC,EAAC,EAAE,EAAC,QAAQ,CAAC,EAAE,EAAE,WAAW,EAAC,QAAQ,CAAC,WAAW,EAAC,EAAE,yDAAU,CAAC,QAAQ,CAAC;YAClG,QAAQ,EAAE,IAAI,0DAAW,CAAC,EAAC,EAAE,EAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,WAAW,EAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAC,EAAE,yDAAU,CAAC,QAAQ,CAAC;YAC5G,UAAU,EAAE,IAAI,0DAAW,CAAC,EAAC,EAAE,EAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,EAAE,WAAW,EAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAC,EAAE,yDAAU,CAAC,QAAQ,CAAC;YAClH,UAAU,EAAE,IAAI,0DAAW,EAAE;YAC7B,SAAS,EAAE,IAAI,0DAAW,EAAE;YAC5B,OAAO,EAAE,IAAI,0DAAW,CAAC,QAAQ,CAAC,OAAO,EAAE,yDAAU,CAAC,QAAQ,CAAC;YAC/D,eAAe,EAAE,IAAI,0DAAW,CAAC,QAAQ,CAAC,WAAW,CAAC;YACtD,OAAO,EAAE,IAAI,0DAAW,CAAC,IAAI,CAAC;SAC/B,CAAC,CAAC;IAEL,CAAC;IAED,cAAc;QAEZ,wCAAwC;QACxC,IAAG,IAAI,CAAC,SAAS,CAAC,KAAK,EAAC;YACtB,IAAI,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;YACrC,IAAI,aAAa,GAAG,EAAC,EAAE,EAAC,SAAS,CAAC,UAAU,CAAC,EAAE,EAAC,WAAW,EAAC,SAAS,CAAC,UAAU,CAAC,WAAW,EAAC,CAAC;YAC9F,IAAI,WAAW,GAAG;gBAClB,cAAc,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,IAAI,SAAS,CAAC,QAAQ,IAAI,IAAI,CAAE,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI;gBAC5I,mBAAmB,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,IAAI,SAAS,CAAC,QAAQ,IAAE,IAAI,CAAE,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC5I,QAAQ,EAAE,SAAS,CAAC,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI;gBACnE,UAAU,EAAE,SAAS,CAAC,UAAU,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI;gBACzE,SAAS,EAAE,SAAS,CAAC,OAAO;gBAC5B,aAAa,EAAE,SAAS,CAAC,eAAe;aACvC;YAED,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,8CAA8C,CAAC,CAAC;YACjE,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,EAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAC,IAAI,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,SAAS,CACxH,QAAQ,CAAC,EAAE;gBACT,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAC1C,QAAQ,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;gBAC5B,QAAQ,CAAC,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;gBAC5C,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;gBAC/D,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;YAC3B,CAAC,EAAE,KAAK,CAAC,EAAE;gBACJ,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;YAChD,CAAC,EAAE,GAAG,EAAE;gBACN,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAC;YACjE,CAAC,CACF,CAAC;SACH;aAED;YACE,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;SACxD;IAEH,CAAC;IAED,gBAAgB;QAEd,4CAA4C;QAC5C,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YAEnD;;;;;;;;;;;;;;;;;;;;;;;YAuBA;YAEA,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAC1C,IAAI,OAAO,IAAI,IAAI;gBACjB,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,0CAA0C;QAErE,CAAC,CAAC,CAAC;IACL,CAAC;;gFAjXU,gBAAgB;gGAAhB,gBAAgB;QCnB7B,yEAAoC;QAClC,0EAA8B;QAC5B,yEAAiC;QAE/B,4GAKM;QASN,yEAA8C;QAC5C,oFAEuD;QADrD,wKAAkB,kBAAc,IAAC;QAEnC,4DAAiB;QACjB,2EAAyC;QAAA,uDAAe;QAAA,0EAAwB;QAAA,4DAAC;QAAA,4DAAO;QAAA,4DAAQ;QAClG,4DAAM;QAEN,0EAA8C;QAC5C,4EAEa;QACb,4EAAmD;QAAA,+EAAmB;QAAA,2EAAwB;QAAA,6DAAC;QAAA,4DAAO;QAAA,4DAAQ;QAChH,4DAAM;QAEN,0EAA8C;QAC5C,6EAEa;QACb,6EAAqD;QAAA,gFAAoB;QAAA,2EAAwB;QAAA,6DAAC;QAAA,4DAAO;QAAA,4DAAQ;QACnH,4DAAM;QAoCN,0EAA8C;QAC5C,wEACoB;QACpB,6EAAsD;QAAA,6EAAiB;QAAA,2EAAwB;QAAA,6DAAC;QAAA,4DAAO;QAAA,4DAAQ;QACjH,4DAAM;QAEN,2EAAuD;QACrD,gFAC+E;QAC/E;QAAA,4DAAW;QACX,6EAA0D;QAAA,iFAAqB;QAAA,4DAAQ;QACzF,4DAAM;QAEN,8GAMM;QACR,4DAAM;QACR,4DAAO;QACT,4DAAM;QACN,2EAAqC;QACnC,2EAAmB;QACjB,8EAC2B;QAAzB,yIAAS,kBAAc,IAAC;;QAAC,4DAAS;QACtC,4DAAM;QAEN,2EAAmB;QACjB,8EACsB;QAApB,yIAAS,aAAS,IAAC;;QAAC,4DAAS;QACjC,4DAAM;QAER,4DAAM;;QA3GE,0DAAuB;QAAvB,oFAAuB;QAGsB,0DAAe;QAAf,iFAAe;QAgBJ,0DAAW;QAAX,oEAAW;QAG1B,0DAAe;QAAf,gFAAe;QAIzB,0DAA0B;QAA1B,mFAA0B;QAOxB,0DAA0B;QAA1B,mFAA0B;QAqDd,2DAAoB;QAApB,iFAAoB;QAY/B,0DAAqC;QAArC,gKAAqC;QAKrC,0DAAmC;QAAnC,8JAAmC;;;;;;;;;;;;;;ACxG7E;AAAA;AAAA;AAAA;AAMuB;AACkD;;AAYlE,MAAM,qBAAqB;IAMhC,YAAoB,UAAsB,EAAU,QAAmB;QAAnD,eAAU,GAAV,UAAU,CAAY;QAAU,aAAQ,GAAR,QAAQ,CAAW;QAF/D,UAAK,GAAS,EAAE,CAAC;IAEiD,CAAC;IAG3E,aAAa,CAAC,KAAa;QACzB,MAAM,aAAa,GAAW,WAAW,CAAC,KAAK,CAAC,CAAC;QACjD,IAAI,CAAC,eAAe,CAAC,aAAa,EAAE,IAAI,CAAC,KAAK,KAAK,aAAa,CAAC,CAAC;IACpE,CAAC;IAGD,MAAM;QACJ,IAAI,CAAC,SAAS,EAAE,CAAC;IACnB,CAAC;IAEO,eAAe,CAAC,KAAa,EAAE,eAAwB;QAC7D,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;QACzE,IAAI,eAAe,EAAE;YACnB,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;SACtB;QACD,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAED,iCAAiC;IACjC,gBAAgB,CAAC,EAAO;QACtB,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;IACrB,CAAC;IAED,iBAAiB,CAAC,EAAO;QACvB,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;IACtB,CAAC;IAED,gBAAgB,CAAC,UAAmB;QAClC,IAAI,CAAC,QAAQ,CAAC,WAAW,CACvB,IAAI,CAAC,UAAU,CAAC,aAAa,EAC7B,UAAU,EACV,UAAU,CACX,CAAC;IACJ,CAAC;IAED,UAAU,CAAC,KAAU;QACnB,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACnC,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IACrC,CAAC;;0FA/CU,qBAAqB;qGAArB,qBAAqB;mJAArB,sCAAkC,+EAAlC,YAAQ;qFARR;YACT;gBACE,OAAO,EAAE,gEAAiB;gBAC1B,WAAW,EAAE,gEAAU,CAAC,GAAG,EAAE,CAAC,qBAAqB,CAAC;gBACpD,KAAK,EAAE,IAAI;aACZ;SACF;AAoDH,SAAS,WAAW,CAAC,KAAS;IAC5B,OAAO,KAAK,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;AACzC,CAAC;;;;;;;;;;;;;;;;;AChEM,MAAM,mBAAmB;IALhC;QAMa,cAAS,GAAW,SAAS,CAAC;KAS1C;IAPG,OAAO;QACH,IAAI,QAAQ,GAAG,IAAI,CAAC;QACpB,IAAI,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAG,GAAG;YAC5C,QAAQ,GAAE,KAAK,CAAC;QAEpB,OAAO,QAAQ,CAAC;IAChB,CAAC;IAAA,CAAC;;sFATG,mBAAmB;mGAAnB,mBAAmB;QCPhC,wEAA8B;QAAA,uDAA8B;QAAA,4DAAK;QACjE,yEAAuB;QACnB,8DACqG;QADrG,yEACqG;QACrG,2EAAuB;QACnB,yRAWJ;QAAA,4DAAQ;QACR,qEAAkE;QAClE,qEAA0D;QAC1D,wEAAyG;QACzG,qEAA+H;QAC/H,qEAAG;QACC,qEAAG;QACC,qEAAG;QACC,qEAAG;QACC,yEAA2F;QAC3F,sEAC6F;QAC7F,uEACyF;QACzF,uEAAgH;QACpH,4DAAI;QACJ,qEAAG;QACC,0EAA8F;QAC9F,uEAC4F;QAC5F,uEACwF;QACxF,uEAAiH;QACrH,4DAAI;QACJ,qEAAG;QACC,0EAAgG;QAChG,uEACgG;QAChG,uEAC4F;QAC5F,uEAAkH;QACtH,4DAAI;QACJ,qEAAG;QACC,0EAAgG;QAChG,uEAC8F;QAC9F,uEAC0F;QAC1F,uEAAkH;QACtH,4DAAI;QACJ,qEAAG;QACC,0EAAgG;QAChG,uEAC8F;QAC9F,uEAC0F;QAC1F,uEAAkH;QACtH,4DAAI;QACJ,qEAAG;QACC,0EAAgG;QAChG,uEACgG;QAChG,uEAC4F;QAC5F,uEAAkH;QACtH,4DAAI;QACJ,qEAAG;QACC,0EAAgG;QAChG,uEAC8F;QAC9F,uEAC0F;QAC1F,uEAAkH;QACtH,4DAAI;QACJ,qEAAG;QACC,0EAAgG;QAChG,uEACgG;QAChG,uEAC4F;QAC5F,uEAAkH;QACtH,4DAAI;QACR,4DAAI;QACJ,qEAAG;QACC,qEAAG;QACC,0EAAgG;QAChG,uEACgG;QAChG,uEAC0F;QAC1F,uEAAkH;QACtH,4DAAI;QACJ,qEAAG;QACC,0EAAgG;QAChG,uEACgG;QAChG,uEAC4F;QAC5F,uEAAkH;QACtH,4DAAI;QACJ,qEAAG;QACC,0EAAgG;QAChG,uEACgG;QAChG,uEAC0F;QAC1F,uEAAkH;QACtH,4DAAI;QACJ,qEAAG;QACC,0EAAgG;QAChG,uEACgG;QAChG,uEAC4F;QAC5F,uEAAkH;QACtH,4DAAI;QACJ,qEAAG;QACC,0EAAgG;QAChG,uEACgG;QAChG,uEAC4F;QAC5F,uEAAkH;QACtH,4DAAI;QACJ,qEAAG;QACC,0EAAgG;QAChG,uEACgG;QAChG,uEAC0F;QAC1F,uEAAkH;QACtH,4DAAI;QACJ,qEAAG;QACC,0EAAgG;QAChG,uEACgG;QAChG,uEAC4F;QAC5F,uEAAkH;QACtH,4DAAI;QACJ,qEAAG;QACC,0EAAgG;QAChG,uEACgG;QAChG,uEAC0F;QAC1F,uEAAkH;QACtH,4DAAI;QACR,4DAAI;QACR,4DAAI;QACJ,qEAAG;QACC,qEAAG;QACC,qEAAG;QACC,0EAAgG;QAChG,uEACgG;QAChG,uEAC0F;QAC1F,wEAA0H;QAC9H,4DAAI;QACJ,sEAAG;QACC,2EAAgG;QAChG,wEACgG;QAChG,wEACwF;QACxF,wEAA0H;QAC9H,4DAAI;QACJ,sEAAG;QACC,2EAAgG;QAChG,wEACgG;QAChG,wEAC0F;QAC1F,wEAA0H;QAC9H,4DAAI;QACJ,sEAAG;QACC,2EAAgG;QAChG,wEACgG;QAChG,wEACwF;QACxF,wEAA0H;QAC9H,4DAAI;QACJ,sEAAG;QACC,2EAAgG;QAChG,wEACgG;QAChG,wEACwF;QACxF,wEAA0H;QAC9H,4DAAI;QACJ,sEAAG;QACC,2EAAgG;QAChG,wEACgG;QAChG,wEAC0F;QAC1F,wEAA0H;QAC9H,4DAAI;QACJ,sEAAG;QACC,2EAAgG;QAChG,wEACgG;QAChG,wEACwF;QACxF,wEAA0H;QAC9H,4DAAI;QACJ,sEAAG;QACC,4EAAgG;QAChG,yEACgG;QAChG,yEAC0F;QAC1F,yEAA0H;QAC9H,4DAAI;QACR,4DAAI;QACJ,sEAAG;QACC,sEAAG;QACC,4EAAgG;QAChG,yEACgG;QAChG,yEAC0F;QAC1F,yEAA0H;QAC9H,4DAAI;QACJ,sEAAG;QACC,4EAAgG;QAChG,yEACgG;QAChG,yEAC0F;QAC1F,yEAA0H;QAC9H,4DAAI;QACJ,sEAAG;QACC,4EAAgG;QAChG,yEACgG;QAChG,yEAC0F;QAC1F,yEAA0H;QAC9H,4DAAI;QACJ,sEAAG;QACC,4EAAgG;QAChG,yEACgG;QAChG,yEAC0F;QAC1F,yEAA0H;QAC9H,4DAAI;QACJ,sEAAG;QACC,4EAAgG;QAChG,yEACgG;QAChG,yEAC0F;QAC1F,yEAA0H;QAC9H,4DAAI;QACJ,sEAAG;QACC,4EAAsF;QACtF,yEACgG;QAChG,yEAC0F;QAC1F,yEAA0H;QAC9H,4DAAI;QACJ,sEAAG;QACC,4EAAgG;QAChG,yEACgG;QAChG,yEAC4F;QAC5F,yEAAsH;QAC1H,4DAAI;QACJ,sEAAG;QACC,4EAAsF;QACtF,yEACgG;QAChG,yEAC0F;QAC1F,yEAA0H;QAC9H,4DAAI;QACR,4DAAI;QACR,4DAAI;QACJ,sEAAG;QACC,sEAAG;QACC,sEAAG;QACC,4EAAgG;QAChG,yEACgG;QAChG,yEAC0F;QAC1F,yEAAsH;QAC1H,4DAAI;QACJ,sEAAG;QACC,4EAAgG;QAChG,yEACgG;QAChG,yEAC0F;QAC1F,yEAA0H;QAC9H,4DAAI;QACJ,sEAAG;QACC,4EAAgG;QAChG,yEACgG;QAChG,yEAC0F;QAC1F,yEAA0H;QAC9H,4DAAI;QACR,4DAAI;QACR,4DAAI;QACR,4DAAI;QACJ,4EAAwF;QACxF,yEAC6E;QAC7E,sEAAG;QACC,6EAA8E;QAC9E,4EACO;QACX,4DAAI;QACJ,sEAAG;QACC,4EAAmF;QACnF,yEAAsH;QAC1H,4DAAI;QACJ,sEAAG;QACC,4EAA4G;QAC5G,yEACoB;QACxB,4DAAI;QACJ,sEAAG;QACC,yEAAgE;QAChE,yEAA4F;QAChG,4DAAI;QACJ,4EAAgI;QAChI,sEAAG;QACC,yEAA+D;QAC/D,sEAAG;QACC,yEAA+D;QAC/D,yEAAgE;QAChE,yEAA6D;QAC7D,yEAA6D;QAC7D,yEAA6D;QAC7D,yEAA6D;QACjE,4DAAI;QACR,4DAAI;QACJ,sEAAG;QACC,yEAA+D;QAC/D,sEAAG;QACC,yEAA+D;QAC/D,yEAAgE;QAChE,yEAA6D;QAC7D,yEAA8D;QAC9D,yEAA6D;QAC7D,yEAA8D;QAClE,4DAAI;QACR,4DAAI;QACJ,sEAAG;QACC,yEAA8D;QAC9D,sEAAG;QACC,yEAA8D;QAC9D,yEAA+D;QAC/D,yEAA8D;QAC9D,yEAA8D;QAC9D,yEAA8D;QAC9D,yEAA8D;QAClE,4DAAI;QACR,4DAAI;QACJ,sEAAG;QACC,yEAAmE;QACnE,yEAAyF;QAC7F,4DAAI;QACJ,sEAAG;QACC,yEAAmE;QACnE,yEAAiG;QACrG,4DAAI;QACJ,yEACgC;QAChC,yEAA+H;QAC/H,4EAA4G;QAC5G,yEAC4B;QAC5B,yEACyC;QACzC,yEACuD;QACvD,sEAAG;QACC,yEACyC;QACzC,yEAEoC;QACxC,4DAAI;QACJ,sEAAG;QACC,sEAAG;QACC,4EAAiE;QACjE,yEACkG;QACtG,4DAAI;QACJ,sEAAG;QACC,4EAA+D;QAC/D,yEACkF;QACtF,4DAAI;QACJ,sEAAG;QACC,4EAAiE;QACjE,yEACkG;QACtG,4DAAI;QACJ,sEAAG;QACC,4EAA+D;QAC/D,yEACkF;QACtF,4DAAI;QACJ,sEAAG;QACC,4EAAiE;QACjE,yEACkG;QACtG,4DAAI;QACJ,sEAAG;QACC,4EAA+D;QAC/D,yEACkF;QACtF,4DAAI;QACR,4DAAI;QACJ,sEAAG;QACC,4EAA0F;QAC1F,yEAAsH;QAC1H,4DAAI;QACJ,sEAAG;QACC,yEAAiE;QACjE,yEAAmG;QACvG,4DAAI;QACJ,sEAAG;QACC,4EAA+E;QAC/E,yEAA6G;QACjH,4DAAI;QACJ,sEAAG;QACC,4EAAuG;QACvG,yEACwB;QAC5B,4DAAI;QACJ,yEAAwG;QACxG,sEAAG;QACC,4EAAmG;QACnG,yEACc;QAClB,4DAAI;QACJ,2EAAgB;QACZ,4EACgD;QAChD,yEAGoH;QACxH,4DAAI;QACJ,sEAAG;QACC,sEAAG;QACC,yEAAgE;QAChE,yEAA2F;QAC/F,4DAAI;QACJ,sEAAG;QACC,sEAAG;QACC,yEAA+D;QAC/D,yEAAyF;QAC7F,4DAAI;QACJ,4EAC+H;QAC/H,4EACuG;QAC3G,4DAAI;QACJ,sEAAG;QACC,sEAAG;QACC,yEAA+D;QAC/D,yEAAyF;QAC7F,4DAAI;QACJ,4EAC6H;QAC7H,4EACiG;QACrG,4DAAI;QACR,4DAAI;QACJ,yEACgF;QAChF,sEAAG;QACC,sEAAG;QACC,sEAAG;QACC,yEAAkE;QAClE,yEAC4C;QAC5C,yEACgD;QAChD,yEACgD;QAChD,yEAA2F;QAC3F,yEAC4C;QAChD,4DAAI;QAEA,yEAAqI;QACzI,yEAC0G;QAC1G,yEAC2G;QAC3G,yEACoB;QACpB,yEAAkE;QAClE,sEAAG;QACC,yEACwC;QACxC,yEACwC;QACxC,yEACmG;QACnG,yEACyF;QACzF,4EAA8D;QAClE,4DAAI;QACJ,yEAAyF;QACzF,yEAAkE;QAClE,yEAEsC;QACtC,yEAE+F;QAC/F,yEAC+C;QAC/C,yEAA4F;QAExF,yEAAwI;QAC5I,yEAAyH;QACzH,yEACwC;QACxC,yEAAwG;QACxG,yEAAoF;QAEhF,yEAAuI;QAC3I,yEACwC;QACxC,yEAC4F;QAC5F,yEAC4F;QAC5F,yEAAyF;QAC7F,4DAAI;QACJ,sEAAG;QACC,sEAAG;QACC,yEAAkE;QAClE,yEAC4C;QAC5C,yEACgD;QAChD,yEACgD;QAChD,yEAAuF;QACvF,yEAC4C;QAChD,4DAAI;QAEA,yEAAsI;QAC1I,yEAC4G;QAC5G,yEAC2G;QAC3G,yEACoB;QACpB,yEAAkE;QAClE,sEAAG;QACC,yEACwC;QACxC,yEACwC;QACxC,yEAC8H;QAC9H,yEACwG;QACxG,4EAA8D;QAClE,4DAAI;QACJ,yEAA4F;QAC5F,yEAAkE;QAClE,yEAEsC;QACtC,yEAE6F;QAC7F,yEAC+C;QAC/C,yEAA+F;QAE3F,yEAAwI;QAC5I,yEAAqH;QACrH,yEACwC;QACxC,yEAAwG;QACxG,yEAAyF;QAErF,yEAAsI;QAC1I,yEAC4C;QAC5C,yEAC8F;QAC9F,yEAC4F;QAC5F,yEAAyF;QAC7F,4DAAI;QACJ,sEAAG;QACC,sEAAG;QACC,yEAAkE;QAClE,yEAC0C;QAC1C,yEACgD;QAChD,yEACgD;QAChD,yEAA+F;QAC/F,yEAC8C;QAClD,4DAAI;QAEA,yEAAoI;QACxI,yEAC4G;QAC5G,yEAC2G;QAC3G,yEACO;QACP,yEAAkE;QAClE,sEAAG;QACC,yEAC4C;QAC5C,yEAC4C;QAC5C,yEACqG;QACrG,yEAEgC;QAChC,4EAA8D;QAClE,4DAAI;QACJ,yEAAgG;QAChG,yEAAkE;QAClE,yEAE4C;QAC5C,yEAE6F;QAC7F,yEAC+C;QAC/C,yEAA4F;QAExF,yEAAuI;QAC3I,yEAAyH;QACzH,yEAC4C;QAC5C,yEAAoG;QACpG,yEAA6F;QAEzF,yEAAyI;QAC7I,yEAC0C;QAC1C,yEAC4F;QAC5F,yEACwF;QACxF,yEAA6F;QACjG,4DAAI;QACR,4DAAI;QACJ,sEAAG;QACC,sEAAG;QACC,yEAAmE;QACnE,yEAC6C;QAC7C,yEAC+C;QAC/C,yEACiD;QACjD,yEAA6F;QAC7F,yEAC6C;QACjD,4DAAI;QAEA,yEAAsI;QAC1I,yEAC+G;QAC/G,yEAC8G;QAC9G,yEACqB;QACrB,yEAAmE;QACnE,sEAAG;QACC,yEAC6C;QAC7C,yEACyC;QACzC,yEAC+H;QAC/H,yEAC2G;QAC3G,4EAA+D;QACnE,4DAAI;QACJ,yEAA8F;QAC9F,yEAAmE;QACnE,yEAE2C;QAC3C,yEAEsE;QACtE,yEACgD;QAChD,yEAAiG;QAE7F,yEAAyI;QAC7I,yEAA2H;QAC3H,yEAC6C;QAC7C,yEAA0G;QAC1G,yEAAyF;QAErF,yEAAyI;QAC7I,yEAC+C;QAC/C,yEACiG;QACjG,yEAC+F;QAC/F,yEAA2F;QAC/F,4DAAI;QACJ,sEAAG;QACC,sEAAG;QACC,yEAAkE;QAClE,yEAC4C;QAC5C,yEACgD;QAChD,yEACgD;QAChD,yEAA0F;QAC1F,yEAC4C;QAChD,4DAAI;QAEA,yEAAoI;QACxI,yEAC0G;QAC1G,yEAC2G;QAC3G,yEACoB;QACpB,yEAAkE;QAClE,sEAAG;QACC,yEAC0C;QAC1C,yEACwC;QACxC,yEAC8H;QAC9H,yEAC2G;QAC3G,4EAA+D;QACnE,4DAAI;QACJ,yEAA2F;QAC3F,yEAAkE;QAClE,yEAEyC;QACzC,yEAEsE;QACtE,yEAC+C;QAC/C,yEAA8F;QAE1F,yEAAsI;QAC1I,yEAA2H;QAC3H,yEAC6C;QAC7C,yEAA0G;QAC1G,yEAA0F;QAEtF,yEAAwI;QAC5I,yEAC4C;QAC5C,yEAC8F;QAC9F,yEAC4F;QAC5F,yEAAuF;QAC3F,4DAAI;QACJ,sEAAG;QACC,sEAAG;QACC,yEAAmE;QACnE,yEAC6C;QAC7C,yEACiD;QACjD,yEACiD;QACjD,yEAA6F;QAC7F,yEAC6C;QACjD,4DAAI;QAEA,yEAAsI;QAC1I,yEAC6G;QAC7G,yEAC8G;QAC9G,yEACqB;QACrB,yEAAmE;QACnE,sEAAG;QACC,yEAC6C;QAC7C,yEAC2C;QAC3C,yEACiI;QACjI,yEACmG;QACnG,4EAA+D;QACnE,4DAAI;QACJ,yEAA8F;QAC9F,yEAAmE;QACnE,yEAE2C;QAC3C,yEAEsE;QACtE,yEACgD;QAChD,yEAAiG;QAE7F,yEAAyI;QAC7I,yEAA2H;QAC3H,yEAC6C;QAC7C,yEAA0G;QAC1G,yEAA2F;QAEvF,yEAAyI;QAC7I,yEAC+C;QAC/C,yEACiG;QACjG,yEAC+F;QAC/F,yEAA2F;QAC/F,4DAAI;QACJ,sEAAG;QACC,sEAAG;QACC,yEAAmE;QACnE,yEAC6C;QAC7C,yEACiD;QACjD,yEACiD;QACjD,yEAAiG;QACjG,yEAC+C;QACnD,4DAAI;QAEA,yEAAsI;QAC1I,yEAC+G;QAC/G,yEAC8G;QAC9G,yEACqB;QACrB,yEAAmE;QACnE,sEAAG;QACC,yEAC6C;QAC7C,yEAC+C;QAC/C,yEACwG;QACxG,yEAEkC;QAClC,4EAA+D;QACnE,4DAAI;QACJ,yEAAkG;QAClG,yEAAmE;QACnE,yEAE+C;QAC/C,yEAEkE;QAClE,yEACgD;QAChD,yEAA8F;QAE1F,yEAAyI;QAC7I,yEAA2H;QAC3H,yEAC+C;QAC/C,yEAA0G;QAC1G,yEAA+F;QAE3F,yEAA0I;QAC9I,yEAC2C;QAC3C,yEACiG;QACjG,yEAC6F;QAC7F,yEAA+F;QACnG,4DAAI;QACJ,yEAAkE;QAClE,yEAAkE;QAClE,yEACoG;QACpG,yEAC4C;QAC5C,sEAAG;QACC,sEAAG;QACC,yEAAkE;QAClE,yEAAgG;QACpG,4DAAI;QACJ,sEAAG;QACC,yEAAkE;QAClE,yEAAgG;QACpG,4DAAI;QACJ,sEAAG;QACC,yEAAgE;QAChE,yEAA4F;QAChG,4DAAI;QACJ,sEAAG;QACC,yEAAgE;QAChE,yEAAgG;QACpG,4DAAI;QACJ,sEAAG;QACC,yEAAkE;QAClE,yEAAgG;QACpG,4DAAI;QACJ,sEAAG;QACC,yEAAkE;QAClE,yEAAgG;QACpG,4DAAI;QACJ,sEAAG;QACC,yEAAkE;QAClE,yEAA4F;QAChG,4DAAI;QACJ,sEAAG;QACC,yEAAkE;QAClE,yEAA0F;QAC9F,4DAAI;QACJ,sEAAG;QACC,yEAAkE;QAClE,yEAAgG;QACpG,4DAAI;QACJ,sEAAG;QACC,yEAAkE;QAClE,yEAAgG;QACpG,4DAAI;QACJ,sEAAG;QAEK,yEAAsI;QAC1I,yEACoB;QACxB,4DAAI;QACR,4DAAI;QACJ,2EAAmD;QACnD,2EAAiB;QACb,2EAAc;QACV,yEAAoG;QACxG,4DAAI;QACJ,2EAAc;QACV,yEAA4G;QAChH,4DAAI;QACJ,2EAAe;QACX,yEAA4G;QAChH,4DAAI;QACJ,2EAAa;QACT,yEAAuG;QAC3G,4DAAI;QACJ,2EAAa;QACT,yEAA8G;QAClH,4DAAI;QACR,4DAAI;QACJ,sEAAG;QACC,yEAA4H;QAC5H,yEAAmH;QACnH,yEAAsG;QACtG,yEAA+C;QAC/C,yEAAsF;QACtF,yEAC4B;QAC5B,yEAC2C;QAC3C,yEAAqH;QACrH,yEAAmH;QACnH,yEAAsF;QAC1F,4DAAI;QACJ,4DAAM;QACN,4DAAM;;QAh/BoB,0DAA8B;QAA9B,wGAA8B;;;;;;;;;;;;;;ACK5D;AAAA;AAAA;AAAA;AAAA;AAAgE;;;AAKzD,MAAM,sBAAsB;IACjC,YAAoB,UAA4B;QAA5B,eAAU,GAAV,UAAU,CAAkB;IAAG,CAAC;IAEpD,OAAO,CAAC,KAA6B;QACnC,wEAAe,CAAC,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;QAC/D,OAAO,IAAI,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAE,GAAG,CAAC,CAAC,CAAC;IAC/E,CAAC;;4FANU,sBAAsB;yGAAtB,sBAAsB,WAAtB,sBAAsB,mBAFrB,MAAM;;;;;;;;;;;;;ACRpB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAoG;AAChC;;;;;;;;;;;;IC0H1D,0EAAgC;IAC9B,0EAAyB;IACvB,0EAAc;IAAA,uDAAuB;IAAA,4DAAM;IAC7C,4DAAM;IACR,4DAAM;;;IAFY,0DAAuB;IAAvB,uFAAuB;;ADjH5C,MAAM,yBAAyB;IAuBpC,YAAmB,aAA2B,EAAQ,SAA0B,EAAQ,gBAAiC;QAAtG,kBAAa,GAAb,aAAa,CAAc;QAAQ,cAAS,GAAT,SAAS,CAAiB;QAAQ,qBAAgB,GAAhB,gBAAgB,CAAiB;QArBhH,WAAM,GAAQ,EAAE,CAAC;QACjB,WAAM,GAAY,KAAK,CAAC;QACvB,WAAM,GAAG,IAAI,0DAAY,EAAO,CAAC;QACjC,WAAM,GAAG,IAAI,0DAAY,EAAO,CAAC;QACjC,iBAAY,GAAG,IAAI,0DAAY,EAAW,CAAC;QAMrD,iBAAY,GAAS,EAAE,CAAC;QAExB,eAAU,GAAO,EAAE,CAAC;QACpB,cAAS,GAAO,EAAE,CAAC;QACnB,YAAO,GAAO,EAAE,CAAC;QACjB,aAAQ,GAAO,EAAE,CAAC;QAClB,cAAS,GAAO,EAAE,CAAC;QACnB,kBAAa,GAAO,EAAE,CAAC;QACvB,qBAAgB,GAAO,EAAE;QACzB,2BAAsB,GAAO,EAAE;QAG7B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,mCAAmC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,QAAa,EAAE,EAAE;YACpF,IAAI,CAAC,YAAY,GAAG,QAAQ,CAAC,mCAAmC,CAAC,CAAC;QACpE,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,kBAAkB,GAAG,aAAa,CAAC,sBAAsB,CAAC,eAAe,CAAC;QAC/E,IAAI,CAAC,kBAAkB,GAAG,aAAa,CAAC,sBAAsB,CAAC,cAAc,CAAC;QAC9E,IAAI,CAAC,oBAAoB,GAAG,aAAa,CAAC,sBAAsB,CAAC,gBAAgB,CAAC;QAElF,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,uBAAuB,EAAE,CAAC;IAC5D,CAAC;IAED,QAAQ;QACN,IAAI,CAAC,UAAU,EAAE,CAAC;IACpB,CAAC;IAED,WAAW,CAAC,OAAqB;QAC/B,IAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAC;YACzB,IAAI,CAAC,mBAAmB,EAAE,CAAC;SAC5B;IACH,CAAC;IAED,SAAS,CAAC,OAAqB;QAC7B,OAAc,OAAO,CAAC,MAAM;eACd,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW;eAC3B,OAAO,CAAC,MAAM,CAAC,YAAY;eAC3B,OAAO,CAAC,MAAM,CAAC,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC,YAAY;IAC3E,CAAC;IAED,mBAAmB;QACjB,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACtC,CAAC;IAED,UAAU;QACR,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAC1D,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC;QAC/C,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC;QAChD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC;QACvC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC;QAC9C,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC;QAC3C,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC;QAC/C,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC;QACpD,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC;IAC/C,CAAC;IAED,cAAc,CAAC,eAAiB,EAAE;QAChC,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC;YAClC,SAAS,EAAG,YAAY,CAAC,SAAS;YAClC,QAAQ,EAAG,YAAY,CAAC,QAAQ;YAChC,MAAM,EAAG,YAAY,CAAC,MAAM;YAC7B,0CAA0C;YAC1C,0BAA0B;YACzB,MAAM,EAAG,YAAY,CAAC,MAAM;YAC5B,WAAW,EAAG,YAAY,CAAC,WAAW;YACtC,QAAQ,EAAG,YAAY,CAAC,QAAQ;YAChC,SAAS,EAAG,YAAY,CAAC,SAAS;YAClC,eAAe,EAAG,YAAY,CAAC,eAAe;YAC9C,aAAa,EAAG,YAAY,CAAC,aAAa;YAC1C,UAAU,EAAG,YAAY,CAAC,UAAU;YACpC,OAAO,EAAG,YAAY,CAAC,OAAO;SAC/B,CAAC;IACJ,CAAC;IAED,uBAAuB;QACrB,OAAO,IAAI,wDAAS,CAAC;YACnB,SAAS,EAAC,IAAI,0DAAW,CAAC,IAAI,EAAC,CAAC,yDAAU,CAAC,QAAQ,CAAC,CAAC;YACrD,QAAQ,EAAC,IAAI,0DAAW,CAAC,IAAI,EAAC,CAAC,yDAAU,CAAC,QAAQ,CAAC,CAAC;YACpD,MAAM,EAAC,IAAI,0DAAW,CAAC,IAAI,EAAC,CAAC,yDAAU,CAAC,QAAQ,CAAC,CAAC;YAClD,gCAAgC;YAChC,wBAAwB;YACxB,MAAM,EAAC,IAAI,0DAAW,CAAC,IAAI,EAAC,CAAC,yDAAU,CAAC,QAAQ,CAAC,CAAC;YAClD,WAAW,EAAC,IAAI,0DAAW,CAAC,IAAI,EAAC,CAAC,yDAAU,CAAC,QAAQ,CAAC,CAAC;YACvD,QAAQ,EAAC,IAAI,0DAAW,CAAC,IAAI,EAAC,CAAC,yDAAU,CAAC,QAAQ,CAAC,CAAC;YACpD,SAAS,EAAC,IAAI,0DAAW,EAAE;YAC3B,eAAe,EAAC,IAAI,0DAAW,EAAE;YACjC,aAAa,EAAC,IAAI,0DAAW,EAAE;YAC/B,UAAU,EAAC,IAAI,0DAAW,EAAE;YAC5B,OAAO,EAAC,IAAI,0DAAW,EAAE;SAC1B,CAAC;IACJ,CAAC;IAED,WAAW;QACT,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAC,KAAK,EAAC,QAAQ,EAAC,IAAI,EAAC,IAAI,CAAC,mBAAmB,EAAE,EAAC,CAAC;IACpE,CAAC;IAED,WAAW;QACT,IAAG,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAC;YAChC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAC,KAAK,EAAC,QAAQ,EAAC,IAAI,EAAC,IAAI,CAAC,mBAAmB,EAAE,EAAC,CAAC;SACnE;aACG;YACF,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAAC,IAAI,CAAC,mBAAmB,CAAC;SACjE;IACH,CAAC;IAED,mBAAmB;QACjB,IAAI,SAAS,GAAG,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC;QAC/C,OAAO;YACL,SAAS,EAAE,SAAS,CAAC,SAAS;YAC9B,QAAQ,EAAE,SAAS,CAAC,QAAQ;YAC5B,MAAM,EAAC,SAAS,CAAC,MAAM;YACvB,qCAAqC;YACtC,sBAAsB;YACrB,MAAM,EAAE,SAAS,CAAC,MAAM;YACxB,WAAW,EAAE,SAAS,CAAC,WAAW;YAClC,QAAQ,EAAE,SAAS,CAAC,QAAQ;YAC5B,SAAS,EAAE,SAAS,CAAC,SAAS;YAC9B,eAAe,EAAE,SAAS,CAAC,eAAe;YAC1C,aAAa,EAAE,SAAS,CAAC,aAAa;YACtC,UAAU,EAAE,SAAS,CAAC,UAAU;YAChC,OAAO,EAAE,SAAS,CAAC,OAAO;SAC3B;IACH,CAAC;IAED,oBAAoB,CAAC,KAAS;QAC5B,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,QAAQ,GAAE;YAC9D,IAAI,CAAC,sBAAsB,GAAG,QAAQ,CAAC,IAAI,CAAC;QAC9C,CAAC,EAAC,KAAK,GAAE;YACP,IAAI,CAAC,sBAAsB,GAAG,EAAE,CAAC;QACnC,CAAC,CAAC;IACJ,CAAC;;kGA/IU,yBAAyB;yGAAzB,yBAAyB;QCZtC,yEAAiC;QAC/B,0EAA0D;QACxD,yEAAiC;QAE/B,yEAAsC;QACpC,2EAMa;QACb,2EAAuB;QAAA,uDAAmC;QAAA,0EAAwB;QAAA,4DAAC;QAAA,4DAAO;QAAA,4DAAQ;QACpG,4DAAM;QAEN,yEAAsC;QACpC,4EAMa;QACb,4EAAsB;QAAA,wDAAgC;QAAA,2EAAwB;QAAA,6DAAC;QAAA,4DAAO;QAAA,4DAAQ;QAChG,4DAAM;QAEN,0EAAsC;QACpC,4EAMa;QACb,6EAAoB;QAAA,wDAAuB;QAAA,2EAAwB;QAAA,6DAAC;QAAA,4DAAO;QAAA,4DAAQ;QACrF,4DAAM;QA4BN,0EAAsC;QACpC,6EAMa;QACb,6EAAoB;QAAA,wDAAuB;QAAA,2EAAwB;QAAA,6DAAC;QAAA,4DAAO;QAAA,4DAAQ;QACrF,4DAAM;QAGN,0EAAsC;QACpC,6EAMa;QACb,6EAAyB;QAAA,wDAA4B;QAAA,2EAAwB;QAAA,6DAAC;QAAA,4DAAO;QAAA,4DAAQ;QAC/F,4DAAM;QAGN,0EAAsC;QACpC,6EAMa;QACb,6EAAsB;QAAA,wDAAyB;QAAA,2EAAwB;QAAA,6DAAC;QAAA,4DAAO;QAAA,4DAAQ;QACzF,4DAAM;QAEN,2EAA8C;QAC5C,wEAK0B;QAC1B,6EAA0C;QAAA,wDAA0B;QAAA,4DAAQ;QAC9E,4DAAM;QAEN,0EAAsC;QACpC,6EAMa;QACb,6EAA6B;QAAA,wDAAgC;QAAA,4DAAQ;QACvE,4DAAM;QAEN,0EAAsC;QACpC,sFACuF;QADf,kLAAkB,gCAA4B,IAAC;QAEvH,wIAMc;QAChB,4DAAiB;QACf,6EAA8C;QAAA,wDAA8B;QAAA,4DAAQ;QACtF,4DAAM;QAEN,2EAA8C;QAC5C,wEAK0B;QAC1B,6EAA2C;QAAA,wDAA2B;QAAA,4DAAQ;QAChF,4DAAM;QAEN,2EAA8C;QAC5C,wEAK0B;QAC1B,6EAAwC;QAAA,wDAAwB;QAAA,4DAAQ;QAC1E,4DAAM;QAER,4DAAM;QACR,4DAAO;QACT,4DAAM;QAEN,2EAAoH;QAClH,8EAC6E;QAAxB,kJAAS,iBAAa,IAAC;QAAC,4DAAS;QACtF,8EAC0B;QAAxB,kJAAS,iBAAa,IAAC;QAAC,4DAAS;QACrC,4DAAM;;QAjKE,0DAAiC;QAAjC,8FAAiC;QAMrB,0DAA0B;QAA1B,mFAA0B;QAKf,0DAAmC;QAAnC,oGAAmC;QAM9C,0DAA0B;QAA1B,mFAA0B;QAKhB,0DAAgC;QAAhC,iGAAgC;QAM1C,0DAA0B;QAA1B,mFAA0B;QAKlB,0DAAuB;QAAvB,wFAAuB;QAgC/B,0DAA0B;QAA1B,mFAA0B;QAKlB,0DAAuB;QAAvB,wFAAuB;QAO/B,0DAA0B;QAA1B,mFAA0B;QAKb,0DAA4B;QAA5B,6FAA4B;QAOzC,0DAA0B;QAA1B,mFAA0B;QAKhB,0DAAyB;QAAzB,0FAAyB;QAUL,0DAA0B;QAA1B,2FAA0B;QAMxD,0DAA0B;QAA1B,mFAA0B;QAKT,0DAAgC;QAAhC,iGAAgC;QAKzC,0DAAW;QAAX,oEAAW;QASe,0DAA8B;QAA9B,+FAA8B;QAUjC,0DAA2B;QAA3B,4FAA2B;QAU9B,0DAAwB;QAAxB,yFAAwB;QAQhC,0DAA6B;QAA7B,mGAA6B;QAE7B,0DAA+B;QAA/B,qGAA+B;;;;;;;;;;;;;;AC9JvE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAwD;AAGU;;;;;;;;;;;;;;ICmCtC,2EAA8D;IAAA,uDAAmB;IAAA,4DAAO;;;IAA1B,0DAAmB;IAAnB,mFAAmB;;;IAHrF,0EAAgC;IAC9B,0EAAyB;IACvB,0EAA4C;IAAA,uDAAmB;IAAA,4DAAM;IACrE,qIAAwF;IAE1F,4DAAM;IACR,4DAAM;;;IAJ0C,0DAAmB;IAAnB,mFAAmB;IACxB,0DAAqB;IAArB,oFAAqB;;ADrBjF,MAAM,uBAAuB;IAOlC,YAAoB,IAAgB,EAAU,MAAc,EAAU,aAA4B,EACxF,gBAAkC,EAAU,WAAwB;QAD1D,SAAI,GAAJ,IAAI,CAAY;QAAU,WAAM,GAAN,MAAM,CAAQ;QAAU,kBAAa,GAAb,aAAa,CAAe;QACxF,qBAAgB,GAAhB,gBAAgB,CAAkB;QAAU,gBAAW,GAAX,WAAW,CAAa;QAN9E,mBAAc,GAAU,EAAE,CAAC;QAC3B,iBAAY,GAAY,KAAK,CAAC;QAC9B,kBAAa,GAAY,KAAK,CAAC;QAC/B,iBAAY,GAAQ,EAAE,CAAC;QAIrB,IAAI,CAAC,aAAa,GAAG,IAAI,wDAAS,CAAC;YACjC,SAAS,EAAE,IAAI,0DAAW,EAAE;SAC7B,CAAC,CAAC;QACH,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QAC3C,IAAI,YAAY,GAAG,CAAC,WAAW,CAAC,CAAC;QACjC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,SAAS,CAAC,CAAC,QAAa,EAAE,EAAE;YAClE,IAAI,CAAC,YAAY,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAC;QAC5C,CAAC,CAAC,CAAC;IACL,CAAC;IAED,QAAQ;QACN,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,CAAC,gEAAgE;QAC3F,IAAI,CAAC,YAAY,EAAE,CAAC;IACtB,CAAC;IAED,wBAAwB,CAAC,KAAU;QACjC,IAAI,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;QACxB,+EAAe,CAAC,eAAe,GAAG,KAAK,CAAC;QACxC,IAAI,CAAC,aAAa,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,SAAS,CACpD,CAAC,QAAQ,EAAE,EAAE;YACX,IAAI,CAAC,cAAc,GAAG,QAAQ,CAAC,IAAI,CAAC;QACtC,CAAC,EAAE,CAAC,KAAK,EAAE,EAAE;YACX,IAAI,CAAC,cAAc,GAAG,CAAC,EAAE,CAAC,CAAC;YAC3B;;;;eAIG;QACL,CAAC,EAAE,GAAG,EAAE;QACR,CAAC,CACF,CAAC;IACJ,CAAC;IAED,aAAa;QACX,IAAI,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC;QACzC,IAAI,OAAO,GAAG,SAAS,CAAC,SAAS,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QAC1E,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;IAC9D,CAAC;IAED,cAAc,CAAC,OAAe,EAAE,SAAiB;QAC/C,IAAI,OAAO,IAAI,IAAI,IAAI,OAAO,GAAG,CAAC,EAAE;YAClC,+EAAe,CAAC,OAAO,GAAG,OAAO,CAAC;YAClC,IAAI,GAAG,GAAG,QAAQ,GAAG,OAAO,GAAG,QAAQ,CAAC;YAExC,IAAI,IAAI,CAAC,YAAY,EAAE;gBACrB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;aAC7C;iBACI;gBACH,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;aAC7B;SACF;IACH,CAAC;IACD,WAAW;QACT,IAAI,GAAG,GAAG,cAAc;QACxB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAC9B,CAAC;IAED,YAAY;QACV,IAAI,+EAAe,CAAC,cAAc,EAAE;YAClC,IAAI,KAAK,GAAG,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YACpD,IAAI,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE;gBACzD,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,SAAS,CAC3C,CAAC,QAAQ,EAAE,EAAE;oBACX,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;gBACpD,CAAC,EAAE,CAAC,KAAK,EAAE,EAAE;gBAEb,CAAC,EAAE,GAAG,EAAE;gBACR,CAAC,CACF,CAAC;aACH;SACF;IACH,CAAC;IAED,aAAa,CAAC,QAAa,EAAE;QAC3B,IAAI,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;QACjD,IAAI,KAAK,EAAE;YACT,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;SAC3C;IACH,CAAC;;8FAvFU,uBAAuB;uGAAvB,uBAAuB;QCnBpC,yEAAqD;QACnD,yEAA8E;QAE5E,yEAAoC;QAClC,oEAA0D;QAC1D,oEAAmE;QACnE,yEAAgC;QAC9B,yEAAoC;QAAA,kFAAuB;QAAA,4DAAM;QACjE,yEAAoC;QAAA,8EAAmB;QAAA,4DAAM;QAC7D,0EAAwC;QAAA,6FAAiC;QAAA,4DAAM;QACjF,4DAAM;QACR,4DAAM;QACN,0EAAqC;QACnC,2EAA6B;QACzB,sEAAkE;QACtE,4DAAM;QAEH,2EAA0B;QACzB,2EAA8B;QAC5B,2EAAmE;QAAA,2EAAe;QAAA,4DAAM;QACxF,2EAA8B;QAC5B,8EACkC;QAAhC,oKAAyB,IAAI,IAAE;;QACjC,4DAAS;QACX,4DAAM;QACR,4DAAM;QAEN,2EAA+B;QAC7B,2EAA0B;QACxB,4EAAkC;QAChC,2EAAgC;QAC9B,2EAAgC;QAC9B,sFAE6D;QAFD,gLAAkB,oCAAgC,IAAC,sGAEjG,mBAAe,IAFkF;QAI7G,sIAQc;QAChB,4DAAiB;QACnB,4DAAM;QACR,4DAAM;QACR,4DAAO;QACP,8EAA6G;QAAxB,gJAAS,iBAAa,IAAC;QAAC,4DAAS;QACxH,4DAAM;QAER,4DAAM;QACP,4DAAM;QACX,4DAAM;QACR,4DAAM;QACR,4DAAM;QAGN,wFAAsF;QAApE,8MAA2B,wHAAkB,yBAAqB,IAAvC;QAAyC,4DAAmB;;QAtC7D,2DAAyC;QAAzC,4KAAyC;QAQjE,0DAA2B;QAA3B,wFAA2B;QAIzB,0DAAW;QAAX,oEAAW;QA0Bf,0DAA2B;QAA3B,sFAA2B;;;;;;;;;;;;;;AC3D7C;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAwE;AACN;AAOE;;;;;;;;;;;;;;;;;;ICkCxD,0EAA2F;IACzF,2EACwB;IAAA,uDAAyB;IAAA,4DAAO;IACxD,0EAAwD;IAAvB,kUAAsB;IACrD,mEAA8C;IAChD,4DAAM;IACR,4DAAM;;;IAL6C,0DAAoC;IAApC,6GAAoC;IAC7D,0DAAyB;IAAzB,6FAAyB;;;IAFnD,4HAMM;;;IANA,sFAAmB;;AD3B9B,MAAM,gBAAgB;IAW3B,YAAoB,IAAgB,EAAU,SAA2B,EAAS,gBAAkC,EAC1G,MAAsB,EAAU,aAA4B;QADlD,SAAI,GAAJ,IAAI,CAAY;QAAU,cAAS,GAAT,SAAS,CAAkB;QAAS,qBAAgB,GAAhB,gBAAgB,CAAkB;QAC1G,WAAM,GAAN,MAAM,CAAgB;QAAU,kBAAa,GAAb,aAAa,CAAe;QAX5D,aAAQ,GAAG,IAAI,0DAAY,EAAO,CAAC;QAC7C,UAAK,GAAG,GAAG,CAAC;QACZ,aAAQ,GAAG,KAAK,CAAC;QAMjB,kBAAa,GAAU,EAAE,CAAC;QAIxB,IAAI,CAAC,KAAK,GAAG,+EAAe,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;QACpD,IAAI,CAAC,QAAQ,GAAG,+EAAe,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;QAEpD,4BAA4B;QAC5B,IAAI,CAAC,SAAS,GAAG,IAAI,wDAAS,CAAC;YAC7B,QAAQ,EAAE,IAAI,0DAAW,CAAC,IAAI,EAAE,yDAAU,CAAC,QAAQ,CAAC;YACpD,UAAU,EAAE,IAAI,0DAAW,CAAC,IAAI,EAAE,yDAAU,CAAC,QAAQ,CAAC;YACtD,YAAY,EAAE,IAAI,0DAAW,CAAC,IAAI,EAAE,yDAAU,CAAC,QAAQ,CAAC;YACxD,OAAO,EAAE,IAAI,0DAAW,CAAC,IAAI,EAAE,yDAAU,CAAC,QAAQ,CAAC;YACnD,KAAK,EAAE,IAAI,0DAAW,EAAE;YACxB,UAAU,EAAE,IAAI,0DAAW,EAAE;YAC7B,UAAU,EAAE,IAAI,0DAAW,EAAE;YAC7B,QAAQ,EAAE,IAAI,0DAAW,EAAE;SAC5B,CAAC,CAAC;IACL,CAAC;IAED,QAAQ;QACN,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,EAAE;YAC5B,IAAI,CAAC,oBAAoB,EAAE,CAAC;SAC7B;IACH,CAAC;IAED,8BAA8B;IAC9B,oBAAoB;QAClB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,oDAAoD,CAAC,CAAC;QACvE,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,SAAS,CACxD,QAAQ,CAAC,EAAE;YACT,IAAI,CAAC,WAAW,GAAG,QAAQ,CAAC,IAAI,CAAC;YACjC,IAAI,CAAC,wBAAwB,EAAE,CAAC;YAChC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC5C,CAAC,EAAE,KAAK,CAAC,EAAE;YACT,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;QAC3C,CAAC,EAAE,GAAG,EAAE;YACN,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kDAAkD,CAAC,CAAC;QACvE,CAAC,CACF,CAAC;IACJ,CAAC;IAGD,gDAAgD;IAChD,UAAU;QACR,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAClC,CAAC;IAED,gCAAgC;IAChC,QAAQ,CAAC,KAAU;QAEjB,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;QACxB,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,KAAK,EAAE;YAC5B,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAC/B;IAEH,CAAC;IAED,uCAAuC;IACvC,wBAAwB;QAEtB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC;QAC/C,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC;QACpD,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC;QAEnD,IAAI,CAAC,SAAS,GAAG,IAAI,wDAAS,CAAC;YAC7B,QAAQ,EAAE,IAAI,0DAAW,CAAC,CAAC,IAAI,CAAC,YAAY,IAAI,SAAS,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,WAAW,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,yDAAU,CAAC,QAAQ,CAAC;YACxM,UAAU,EAAE,IAAI,0DAAW,CAAC,CAAC,IAAI,CAAC,cAAc,IAAI,SAAS,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,WAAW,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,yDAAU,CAAC,QAAQ,CAAC;YAClN,YAAY,EAAE,IAAI,0DAAW,CAAC,CAAC,IAAI,CAAC,gBAAgB,IAAI,SAAS,IAAI,IAAI,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,WAAW,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,yDAAU,CAAC,QAAQ,CAAC;YAC5N,OAAO,EAAE,IAAI,0DAAW,CAAC,IAAI,EAAE,yDAAU,CAAC,QAAQ,CAAC;YACnD,KAAK,EAAE,IAAI,0DAAW,EAAE;YACxB,UAAU,EAAE,IAAI,0DAAW,EAAE;YAC7B,UAAU,EAAE,IAAI,0DAAW,EAAE;YAC7B,QAAQ,EAAE,IAAI,0DAAW,CAAC,IAAI,CAAC,QAAQ,CAAC;SACzC,CAAC,CAAC;IAEL,CAAC;IACD,kBAAkB;IAClB,OAAO;QAEL,IAAI,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;QACrC,IAAI,UAAU,GAAG,IAAI,UAAU,EAAE,CAAC;QAClC,IAAI,QAAQ,GAAyB,EAAE,CAAC;QACxC,IAAI,QAAQ,GAAG,EAAE,CAAC;QAElB,4CAA4C;QAC9C;;;;;;;;;;;;;;;;;;;;;;;;QAwBA;QAGE,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE;YAExB,IAAI,IAAI,CAAC,aAAa,IAAI,SAAS,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE;gBACpE,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;gBAEtC,IAAI,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;gBACjC,UAAU,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;gBAC/B,UAAU,CAAC,MAAM,GAAG;oBAClB,QAAQ,GAAG,CAAC,UAAU,CAAC,MAAM,IAAI,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBACvE,CAAC,CAAC;aACH;YAED,IAAI,WAAW,GAAG;gBAEhB,YAAY,EAAE,QAAQ,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;oBAC9B,aAAa,EAAE,QAAQ;oBACvB,MAAM,EAAE,QAAQ;iBACjB,CAAC,CAAC,CAAC,CAAC,IAAI;gBAET,MAAM,EAAE,IAAI,IAAI,EAAE;gBAClB,UAAU,EAAE,SAAS,CAAC,QAAQ;gBAC9B,QAAQ,EAAE,SAAS,CAAC,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI;gBACnE,UAAU,EAAE,SAAS,CAAC,UAAU,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI;gBACzE,QAAQ,EAAE,WAAW;gBACrB,SAAS,EAAE,SAAS,CAAC,OAAO;gBAC5B,MAAM,EAAE,SAAS,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;gBACtD,YAAY,EAAE,SAAS,CAAC,YAAY,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI;gBAC/E,SAAS,EAAE,IAAI,IAAI,EAAE;gBACrB,WAAW,EAAE,IAAI,IAAI,EAAE;gBACvB,wBAAwB,EAAE,KAAK;gBAC/B,yBAAyB,EAAE,KAAK;gBAChC,2BAA2B,EAAE,KAAK;gBAClC,oBAAoB,EAAE,KAAK;aAE5B;YAED,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAC;YAC1D,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC,SAAS,CACjE,QAAQ,CAAC,EAAE;gBACT,wCAAwC;gBACxC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;gBACxB,sDAAsD;gBACtD,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAC1C,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;YACjE,CAAC,EAAE,KAAK,CAAC,EAAE;gBACT,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;gBACzC,oDAAoD;gBACpD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;YAC1D,CAAC,EAAE,GAAG,EAAE;gBACN,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC;YAE1D,CAAC,CACF,CAAC;SACH;aACG;YACF,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;SACxD;IACH,CAAC;IAED,YAAY;QACV,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;IAC1D,CAAC;;gFAvLU,gBAAgB;gGAAhB,gBAAgB;QCf7B,yEAAoC;QAClC,0EAA8B;QAC5B,yEAAiC;QAE/B,yEAAsC;QACpC,2EAEa;QACb,2EAAgC;QAAA,6EAAkB;QAAA,0EAAwB;QAAA,4DAAC;QAAA,4DAAO;QAAA,4DAAQ;QAC5F,4DAAM;QAEN,yEAA8C;QAC5C,4EAEa;QACb,4EAAkC;QAAA,gFAAoB;QAAA,2EAAwB;QAAA,6DAAC;QAAA,4DAAO;QAAA,4DAAQ;QAChG,4DAAM;QAEN,0EAA8C;QAC5C,6EAEa;QACb,6EAAoC;QAAA,8EAAkB;QAAA,2EAAwB;QAAA,6DAAC;QAAA,4DAAO;QAAA,4DAAQ;QAChG,4DAAM;QAEN,0EAA8C;QAC5C,wEACoB;QACpB,6EAAsD;QAAA,6EAAiB;QAAA,2EAAwB;QAAA,6DAAC;QAAA,4DAAO;QAAA,4DAAQ;QACjH,4DAAM;QAEN,2EAAuD;QACrD,2EAC+B;QAC/B,6EAAgD;QAAA,2EAAe;QAAA,4DAAQ;QACzE,4DAAM;QAEN,0EAA8C;QAC5C,oFAE8C;QAFiB,2JAAY,oBAAgB,IAAC;QAG1F,+HAQc;QAChB,4DAAe;QACjB,4DAAM;QAER,4DAAM;QACR,4DAAO;QACT,4DAAM;QACN,2EAAqC;QACnC,2EAAmB;QACjB,8EAC2B;QAAzB,yIAAS,kBAAc,IAAC;;QAAC,4DAAS;QACtC,4DAAM;QAEN,2EAAmB;QACjB,8EACsB;QAApB,yIAAS,aAAS,IAAC;;QAAC,4DAAS;QACjC,4DAAM;QAER,4DAAM;;QAlEE,0DAAuB;QAAvB,oFAAuB;QAIQ,0DAA0B;QAA1B,mFAA0B;QAOxB,0DAA0B;QAA1B,mFAA0B;QAOxB,0DAA0B;QAA1B,mFAA0B;QAoB3D,2DAA0B;QAA1B,mFAA0B;QAmBM,0DAAqC;QAArC,gKAAqC;QAKrC,0DAAmC;QAAnC,8JAAmC;;;;;;;;;;;;;;AC9D7E;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAM8B;AACQ;AAED;;;AAG9B,MAAM,kBAAkB;IAE7B,YAAoB,KAA0B;QAA1B,UAAK,GAAL,KAAK,CAAqB;IAAG,CAAC;IAElD,SAAS,CAAC,OAA6B,EAAE,IAAiB;QACxD,IAAG,OAAO,CAAC,MAAM,KAAK,KAAK,EAAE;YAC3B,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;SAC9B;QACC,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC/C,OAAO,cAAc,CAAC,CAAC,CAAC,+CAAE,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IAC3F,CAAC;IAED,WAAW,CACT,GAAqB,EACrB,IAAiB,EACjB,KAA0B;QAC1B,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAC1B,0DAAG,CAAC,KAAK,CAAC,EAAE;YACV,IAAI,KAAK,YAAY,iEAAY,EAAE;gBACjC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;aAC5B;QACH,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;;oFAvBU,kBAAkB;qGAAlB,kBAAkB,WAAlB,kBAAkB;;;;;;;;;;;;;ACZ/B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA8E;AACZ;AAMZ;AAEwB;AAClD;AACL;;;;;;;;;;;;;;AAOhB,MAAM,sBAAsB;IAmBjC,YAAoB,IAAgB,EAAU,MAAsB,EAAU,SAA2B,EAChG,gBAAkC,EAAS,aAA4B,EAAS,QAAkB;QADvF,SAAI,GAAJ,IAAI,CAAY;QAAU,WAAM,GAAN,MAAM,CAAgB;QAAU,cAAS,GAAT,SAAS,CAAkB;QAChG,qBAAgB,GAAhB,gBAAgB,CAAkB;QAAS,kBAAa,GAAb,aAAa,CAAe;QAAS,aAAQ,GAAR,QAAQ,CAAU;QAf3G,kBAAa,GAAG,EAAE,CAAC;QACnB,0BAAqB,GAAG,EAAE,CAAC;QAC3B,sBAAiB,GAAG,EAAE,CAAC;QACvB,wBAAmB,GAAU,EAAE,CAAC;QAChC,qBAAgB,GAAG,EAAE,CAAC;QACtB,mBAAc,GAAG,EAAE,CAAC;QACpB,uBAAkB,GAAO,EAAE,CAAC;QAC5B,wBAAmB,GAAG,EAAE,CAAC;QACzB,mBAAc,GAAG,EAAE,CAAC;QACpB,uBAAkB,GAAG,EAAE,CAAC;QACxB,UAAK,GAAG,EAAE,CAAC;QACX,cAAS,GAAC,EAAE,CAAC;QACH,eAAU,GAAG,IAAI,0DAAY,EAAO,CAAC;QAK7C,sBAAsB;QACtB,IAAI,CAAC,aAAa,GAAG,IAAI,wDAAS,CAAC;YACjC,SAAS,EAAE,IAAI,0DAAW,CAAC,IAAI,EAAE,yDAAU,CAAC,QAAQ,CAAC;YACrD,iBAAiB,EAAE,IAAI,0DAAW,CAAC,IAAI,EAAE,yDAAU,CAAC,QAAQ,CAAC;YAC7D,aAAa,EAAE,IAAI,0DAAW,CAAC,IAAI,EAAE,yDAAU,CAAC,QAAQ,CAAC;YACzD,eAAe,EAAE,IAAI,0DAAW,CAAC,IAAI,EAAE,yDAAU,CAAC,QAAQ,CAAC;YAC3D,YAAY,EAAE,IAAI,0DAAW,CAAC,IAAI,EAAE,yDAAU,CAAC,QAAQ,CAAC;YACxD,UAAU,EAAE,IAAI,0DAAW,CAAC,IAAI,EAAE,yDAAU,CAAC,QAAQ,CAAC;YACtD,cAAc,EAAE,IAAI,0DAAW,CAAC,IAAI,EAAC,CAAC,yDAAU,CAAC,QAAQ,CAAC,CAAC;YAC3D,eAAe,EAAE,IAAI,0DAAW,CAAC,IAAI,EAAC,CAAC,yDAAU,CAAC,QAAQ,CAAC,CAAC;YAC5D,UAAU,EAAE,IAAI,0DAAW,EAAE;YAC7B,cAAc,EAAE,IAAI,0DAAW,EAAE;YACjC,SAAS,EAAE,IAAI,0DAAW,CAAC,IAAI,EAAE,yDAAU,CAAC,QAAQ,CAAC;YACrD,QAAQ,EAAE,IAAI,0DAAW,CAAC,IAAI,EAAE,yDAAU,CAAC,QAAQ,CAAC;YACpD,QAAQ,EAAE,IAAI,0DAAW,EAAE;YAC3B,KAAK,EAAE,IAAI,0DAAW,EAAE;YACxB,SAAS,EAAE,IAAI,0DAAW,EAAE;YAC5B,GAAG,EAAE,IAAI,0DAAW,EAAE;YACtB,KAAK,EAAE,IAAI,0DAAW,EAAE;YACxB,MAAM,EAAE,IAAI,0DAAW,EAAE;SAC1B,CAAC,CAAC;IAEL,CAAC;IAED,QAAQ;QACN,IAAI,CAAC,KAAK,GAAG,iEAAe,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;QACpD,IAAI,CAAC,SAAS;YACZ,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAClE,IAAI,IAAI,CAAC,iBAAiB,IAAI,IAAI,EAAE;YAClC,IAAI,CAAC,mBAAmB,EAAE,CAAC;SAC5B;IACH,CAAC;IAED,uBAAuB;IACvB,qBAAqB,CAAC,KAAU;QAC9B,IAAI,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;QACxB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,4DAA4D,CAAC,CAAC;QAC/E,IAAI,CAAC,aAAa,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAC,SAAS,CACzD,CAAC,QAAQ,EAAE,EAAE;YACX,IAAI,CAAC,mBAAmB,GAAG,QAAQ,CAAC,IAAI,CAAC;YACzC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC5B,CAAC,EAAE,CAAC,KAAK,EAAE,EAAE;YACX,QAAQ,KAAK,CAAC,MAAM,EAAE;gBACpB,KAAK,GAAG;oBACN,IAAI,CAAC,mBAAmB,GAAG,CAAC,EAAE,CAAC,CAAC;oBAChC,MAAM;aACT;YACD,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACzB,CAAC,EAAE,GAAG,EAAE;YACN,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,0DAA0D,CAAC,CAAC;QAC/E,CAAC,CACF,CAAC;IACJ,CAAC;IAED,iCAAiC;IACjC,mBAAmB;QACjB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,0DAA0D,CAAC,CAAC;QAC7E,IAAI,CAAC,gBAAgB,CAAC,sBAAsB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,SAAS,CAChE,QAAQ,CAAC,EAAE;YACT,IAAI,CAAC,iBAAiB,GAAG,QAAQ,CAAC,IAAI,CAAC;YACvC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC1C,IAAI,CAAC,2BAA2B,EAAE,CAAC;QACrC,CAAC,EAAE,KAAK,CAAC,EAAE;YACT,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;QAC3C,CAAC,EAAE,GAAG,EAAE;YACR,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,wDAAwD,CAAC,CAAC;QAC7E,CAAC,CACA,CAAC;IACJ,CAAC;IAED,4CAA4C;IAC5C,2BAA2B;QAEzB,mCAAmC;QACnC,IAAI,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC,wBAAwB,CAAC;QAC9D,IAAI,SAAS,GAAG,OAAO,CAAC,gBAAgB,CAAC;QACzC,IAAI,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAC;QAClD,IAAI,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC;QAC1C,IAAI,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC;QAC9C,IAAI,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;QACxC,IAAI,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;QACpC,IAAI,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC;QAC5C,sGAAsG;QACtG,IAAI,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC;QAC9C,IAAI,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;QACpC,IAAI,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC;QAE5C,IAAI,IAAI,CAAC,iBAAiB,CAAC,iBAAiB,IAAI,SAAS,EAAE;YACzD,IAAI,eAAe,GAAG,IAAI,CAAC,iBAAiB,CAAC,iBAAiB,CAAC;YAC/D,IAAI,CAAC,aAAa,GAAG,eAAe,CAAC,iBAAiB,IAAI,SAAS,CAAC,CAAC,CAAC,eAAe,CAAC,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC;YAC/G,IAAI,CAAC,qBAAqB,GAAG,eAAe,CAAC,kBAAkB,IAAI,SAAS,CAAC,CAAC,CAAC,eAAe,CAAC,kBAAkB,CAAC,CAAC,CAAC,IAAI,CAAC;YACzH,IAAI,CAAC,iBAAiB,GAAG,eAAe,CAAC,cAAc,IAAI,SAAS,CAAC,CAAC,CAAC,eAAe,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC;YAE7G,IAAI,CAAC,gBAAgB,GAAG,eAAe,CAAC,aAAa,IAAI,SAAS,CAAC,CAAC,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC;YAC1G,IAAI,CAAC,cAAc,GAAG,eAAe,CAAC,WAAW,IAAI,SAAS,CAAC,CAAC,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC;YACpG,IAAI,CAAC,kBAAkB,GAAG,eAAe,CAAC,gBAAgB,IAAI,SAAS,CAAC,CAAC,CAAC,eAAe,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC;YAClH,IAAI,CAAC,mBAAmB,GAAG,eAAe,CAAC,iBAAiB,IAAI,SAAS,CAAC,CAAC,CAAC,eAAe,CAAC,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC;YACrH,IAAI,CAAC,cAAc,GAAG,eAAe,CAAC,WAAW,IAAI,SAAS,CAAC,CAAC,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC;YACpG,IAAI,CAAC,kBAAkB,GAAG,eAAe,CAAC,eAAe,IAAI,SAAS,CAAC,CAAC,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC;YAEhH,YAAY,GAAG,6CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAC,EAAC,EAAE,EAAC,YAAY,CAAC,EAAE,EAAC,CAAC;SAClE;QAED,IAAI,CAAC,aAAa,GAAG,IAAI,wDAAS,CAAC;YACjC,SAAS,EAAE,IAAI,0DAAW,CAAC,SAAS,IAAI,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,SAAS,CAAC,EAAE,EAAE,WAAW,EAAE,SAAS,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,yDAAU,CAAC,QAAQ,CAAC;YACzI,iBAAiB,EAAE,IAAI,0DAAW,CAAC,iBAAiB,IAAI,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,iBAAiB,CAAC,EAAE,EAAE,WAAW,EAAE,iBAAiB,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI,EAAC,CAAC,yDAAU,CAAC,QAAQ,CAAC,CAAC;YAC1K,aAAa,EAAE,IAAI,0DAAW,CAAC,aAAa,IAAI,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,aAAa,CAAC,EAAE,EAAE,WAAW,EAAE,aAAa,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,yDAAU,CAAC,QAAQ,CAAC;YACzJ,eAAe,EAAE,IAAI,0DAAW,CAAC,eAAe,IAAI,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,eAAe,CAAC,EAAE,EAAE,WAAW,EAAE,eAAe,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,yDAAU,CAAC,QAAQ,CAAC;YACjK,YAAY,EAAE,IAAI,0DAAW,CAAC,YAAY,EAAE,yDAAU,CAAC,QAAQ,CAAC;YAChE,UAAU,EAAE,IAAI,0DAAW,CAAC,UAAU,IAAI,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,UAAU,CAAC,EAAE,EAAE,WAAW,EAAE,UAAU,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,yDAAU,CAAC,QAAQ,CAAC;YAC7I,cAAc,EAAE,IAAI,0DAAW,CAAC,cAAc,IAAI,SAAS,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,cAAc,CAAC,YAAY,EAAE,EAAE,EAAE,cAAc,CAAC,EAAE,EAAE,WAAW,EAAE,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI,EAAC,yDAAU,CAAC,QAAQ,CAAC;YACvM,eAAe,EAAE,IAAI,0DAAW,CAAC,eAAe,IAAI,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,eAAe,CAAC,EAAE,EAAE,WAAW,EAAE,eAAe,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,yDAAU,CAAC,QAAQ,CAAC;YACjK,UAAU,EAAE,IAAI,0DAAW,CAAC,UAAU,IAAI,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,UAAU,CAAC,QAAQ,IAAI,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,UAAU,CAAC,EAAE,EAAE,WAAW,EAAE,UAAU,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;YAChM,cAAc,EAAE,IAAI,0DAAW,CAAC,cAAc,IAAI,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,cAAc,CAAC,EAAE,EAAE,WAAW,EAAE,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;YAExI,SAAS,EAAE,IAAI,0DAAW,CAAC,OAAO,CAAC,SAAS,EAAE,yDAAU,CAAC,QAAQ,CAAC;YAClE,QAAQ,EAAE,IAAI,0DAAW,CAAC,OAAO,CAAC,QAAQ,EAAE,yDAAU,CAAC,QAAQ,CAAC;YAChE,QAAQ,EAAE,IAAI,0DAAW,CAAC,OAAO,CAAC,QAAQ,CAAC;YAC3C,KAAK,EAAE,IAAI,0DAAW,CAAC,OAAO,CAAC,KAAK,CAAC;YACrC,SAAS,EAAE,IAAI,0DAAW,CAAC,OAAO,CAAC,WAAW,CAAC;YAC/C,GAAG,EAAE,IAAI,0DAAW,CAAC,OAAO,CAAC,WAAW,CAAC;YACzC,KAAK,EAAE,IAAI,0DAAW,CAAC,OAAO,CAAC,EAAE,CAAC;YAClC,MAAM,EAAC,IAAI,0DAAW,CAAC,OAAO,CAAC,MAAM,CAAC;SACvC,CAAC,CAAC;IAEL,CAAC;IAED,uEAAuE;IACvE,eAAe;QAEb,IAAI,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE;YAC5B,IAAI,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC;YACzC,IAAI,MAAM,GAAC,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;YACnC,IAAI,WAAW,GAAG;gBAEhB,WAAW,EAAE,SAAS,CAAC,SAAS,CAAC,IAAI,EAAE;gBACvC,UAAU,EAAE,SAAS,CAAC,QAAQ;gBAC9B,UAAU,EAAE,SAAS,CAAC,QAAQ;gBAC9B,OAAO,EAAE,SAAS,CAAC,KAAK;gBACxB,aAAa,EAAE,SAAS,CAAC,SAAS;gBAClC,aAAa,EAAE,SAAS,CAAC,GAAG,IAAG,IAAI,EAAC,8CAAM,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,2FAAgB,CAAC,QAAQ,CAAC,GAAG,CAAC,qBAAqB,CAAC,EAAC,KAAI;gBAC1H,oBAAoB,EAAE,SAAS,CAAC,SAAS,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI;gBACjF,qBAAqB,EAAE,SAAS,CAAC,iBAAiB,IAAI,IAAI,IAAI,SAAS,CAAC,iBAAiB,CAAC,EAAE,GAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI;gBACzI,iBAAiB,EAAE,SAAS,CAAC,aAAa,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI;gBACtF,mBAAmB,EAAE,SAAS,CAAC,eAAe,IAAI,IAAI,IAAI,SAAS,CAAC,eAAe,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI;gBAChI,kBAAkB,EAAE,SAAS,CAAC,cAAc,IAAI,IAAI,IAAI,SAAS,CAAC,cAAc,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI;gBAC5H,UAAU,EAAE,SAAS,CAAC,UAAU,IAAI,IAAI,IAAI,SAAS,CAAC,UAAU,CAAC,EAAE,GAAC,CAAC,CAAE,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI;gBACvG,mBAAmB,EAAE,SAAS,CAAC,eAAe,IAAI,IAAI,IAAI,SAAS,CAAC,eAAe,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI;gBAChI,YAAY,EAAE,SAAS,CAAC,YAAY,IAAI,IAAI,IAAI,SAAS,CAAC,YAAY,CAAC,EAAE,GAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI;gBAC/G,kBAAkB,EAAE,SAAS,CAAC,cAAc,IAAI,IAAI,IAAI,SAAS,CAAC,cAAc,CAAC,EAAE,GAAG,CAAC,EAAC,CAAC,SAAS,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI;gBAC3H,cAAc,EAAE,SAAS,CAAC,UAAU,IAAI,IAAI,IAAI,SAAS,CAAC,UAAU,CAAC,EAAE,GAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI;gBAC3G,QAAQ,EAAE,SAAS,CAAC,MAAM;aAC3B;YAED,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,sDAAsD,CAAC,CAAC;YACzE,IAAI,CAAC,gBAAgB,CAAC,wBAAwB,CAAC,IAAI,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC,SAAS,CAC/E,QAAQ,CAAC,EAAE;gBACT,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAC1C,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;gBAC9B,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;YAC9D,CAAC,EAAE,KAAK,CAAC,EAAE;gBACT,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;gBACzC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;YAC5D,CAAC,EAAE,GAAG,EAAE;gBACN,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,oDAAoD,CAAC,CAAC;YACzE,CAAC,CACF,CAAC;SACH;aACG;YACF,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAAC,IAAI,CAAC,aAAa,CAAC;SAC3D;IACH,CAAC;IAED,gBAAgB;IAChB,KAAK;QACH,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;IAC5D,CAAC;;4FAtMU,sBAAsB;sGAAtB,sBAAsB;QCnBnC,yEAAoC;QAClC,0EAAkC;QAChC,yEAAiC;QAC/B,yEAA8C;QAC5C,2EAEa;QACb,2EAA6B;QAAA,oFAAyB;QAAA,0EAAwB;QAAA,4DAAC;QAAA,4DAAO;QAAA,4DAAQ;QAChG,4DAAM;QAEN,yEAA8C;QAC5C,uEAC+B;QAC/B,4EAAoD;QAAA,yFAA6B;QAAA,2EAAwB;QAAA,6DAAC;QAAA,4DAAO;QAAA,4DAAQ;QAC3H,4DAAM;QAEN,0EAA8C;QAC5C,uEAC+B;QAC/B,6EAAmD;QAAA,uFAA2B;QAAA,4DAAQ;QACxF,4DAAM;QAEN,0EAA8C;QAC5C,wEACoB;QACpB,6EAAmD;QAAA,wFAA4B;QAAA,2EAAwB;QAAA,6DAAC;QAAA,4DAAO;QAAA,4DAAQ;QACzH,4DAAM;QAEN,0EAA8C;QAC5C,wEAA6H;QAC7H,6EAAqD;QAAA,yFAA6B;QAAA,4DAAQ;QAC5F,4DAAM;QAEN,0EAA8C;QAC5C,6EAEa;QACb,6EAA8B;QAAA,iGAAqC;QAAA,2EAAwB;QAAA,6DAAC;QAAA,4DAAO;QAAA,4DAAQ;QAC7G,4DAAM;QAEN,0EAA8C;QAC5C,6EAEa;QACb,6EAAqC;QAAA,gGAAoC;QAAA,2EAAwB;QAAA,6DAAC;QAAA,4DAAO;QAAA,4DAAQ;QACnH,4DAAM;QAEN,0EAA8C;QAC5C,6EAEa;QACb,6EAA6B;QAAA,4FAAgC;QAAA,2EAAwB;QAAA,6DAAC;QAAA,4DAAO;QAAA,4DAAQ;QACvG,4DAAM;QAEN,0EAA8C;QAC5C,6EAEa;QACb,6EAA8C;QAAA,kFAAsB;QAAA,4DAAQ;QAC9E,4DAAM;QAEN,0EAA8C;QAC5C,6EAEa;QACb,6EAA+B;QAAA,qFAAyB;QAAA,2EAAwB;QAAA,6DAAC;QAAA,4DAAO;QAAA,4DAAQ;QAClG,4DAAM;QAEN,0EAA8C;QAC5C,sFACsF;QADd,+KAAkB,iCAA6B,IAAC;QAExH,4DAAiB;QACjB,6EAAmC;QAAA,0FAA8B;QAAA,2EAAwB;QAAA,6DAAC;QAAA,4DAAO;QAAA,4DAAQ;QAC3G,4DAAM;QASN,0EAA8C;QAC5C,6EAEa;QACb,6EAAgC;QAAA,uFAA2B;QAAA,2EAAwB;QAAA,6DAAC;QAAA,4DAAO;QAAA,4DAAQ;QACrG,4DAAM;QAEN,0EAA8C;QAC5C,6EAEa;QACb,6EAA8B;QAAA,qFAAyB;QAAA,2EAAwB;QAAA,6DAAC;QAAA,4DAAO;QAAA,4DAAQ;QACjG,4DAAM;QAEN,0EAA8C;QAC5C,wEAC+B;QAC/B,6EAAoD;QAAA,wFAA4B;QAAA,4DAAQ;QAC1F,4DAAM;QAEN,0EAA8C;QAC5C,wEACoB;QACpB,6EAAgD;QAAA,oFAAwB;QAAA,4DAAQ;QAClF,4DAAM;QACR,4DAAM;QACR,4DAAO;QACT,4DAAM;QACN,2EAAqC;QACnC,2EAAmB;QACjB,8EACuD;QAAlB,+IAAS,WAAO,IAAC;;QAAC,4DAAS;QAClE,4DAAM;QACN,2EAAmB;QACjB,8EAC8B;QAA5B,+IAAS,qBAAiB,IAAC;;QAAC,4DAAS;QACzC,4DAAM;QACR,4DAAM;;QAtHE,0DAA2B;QAA3B,wFAA2B;QAGC,0DAA0B;QAA1B,mFAA0B;QA8BzB,2DAA0B;QAA1B,mFAA0B;QAOnB,0DAA0B;QAA1B,mFAA0B;QAOlC,0DAA0B;QAA1B,mFAA0B;QAQqB,0DAA4B;QAA5B,+FAA4B;QADjC,0EAAe;QAOvD,0DAA0B;QAA1B,mFAA0B;QAQlC,0DAAW;QAAX,oEAAW;QAaF,0DAA0B;QAA1B,mFAA0B;QAO5B,0DAA0B;QAA1B,mFAA0B;QAsBrB,2DAAqC;QAArC,gKAAqC;QAIrC,0DAAmC;QAAnC,8JAAmC;;;;;;;;;;;;;;ACnH7E;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAwD;AACsB;AACZ;;;;;;;;;;;;;;;;;ICiFxD,2EAAU;IACR,qEAAwB;IACxB,qEAAyB;IACzB,qEAAyB;IACzB,qEAAyB;IACzB,qEAAyB;IACzB,qEAAyB;IACzB,qEAAyB;IACzB,qEAAyB;IAC3B,4DAAW;;;IAmBG,0EAAiD;IAC/C,2EAAqB;IAAA,uDAAsB;IAAA,4DAAO;IACpD,4DAAM;;;IADiB,0DAAsB;IAAtB,uFAAsB;;;IALjD,oFAEuB;IADrB,gQAAiC;IAEjC,+JAIc;IAChB,4DAAgB;;;;IARD,6EAAiB;;;IAyB5B,0EAAiD;IAC/C,2EAAqB;IAAA,uDAAsB;IAAA,4DAAO;IACpD,4DAAM;;;IADiB,0DAAsB;IAAtB,uFAAsB;;;IALjD,oFAEuB;IADrB,gQAAiC;IAEjC,+JAIc;IAChB,4DAAgB;;;;IARD,8EAAiB;;;IAhC1C,qEAAI;IACF,yEAAqC;IAAA,yEAAc;IAAA,4DAAK;IACxD,yEAAsC;IAAA,2EAAgB;IAAA,4DAAK;IAC3D,yEAAc;IAAA,2EAAgB;IAAA,4DAAK;IACnC,qEAAI;IACF,0EAAwD;IAAA,6EACtD;IAAA,sFAE4B;IAE1B,kJAUc;IAEhB,4DAAiB;IACnB,4DAAM;IACR,4DAAK;IACL,0EAAc;IACZ,2EAA0C;IAAA,6EACxC;IAAA,sFAE4B;IAE1B,kJAUc;IAEhB,4DAAiB;IACnB,4DAAM;IACR,4DAAK;IACL,0EAAc;IAAA,+EAAmB;IAAA,4DAAK;IACtC,0EAAc;IAAA,8EAAkB;IAAA,4DAAK;IACrC,0EAAc;IAAA,6EAAiB;IAAA,4DAAK;IACtC,4DAAK;;IA3C+E,2DAAwB;IAAxB,iFAAwB;IAqB/B,0DAAwB;IAAxB,iFAAwB;;;IA0BrG,qEAAI;IACF,yEAA2B;IAAA,uDAA4B;IAAA,4DAAK;IAC5D,yEAA4B;IAC1B,wEAAsE;IACpE,uDAA8B;IAAA,4DAAI;IACtC,4DAAK;IACL,qEAAI;IAAA,uDAAmC;IAAA,4DAAK;IAC5C,yEAAuD;IAAA,uDAAuC;IAAA,4DAAK;IACnG,sEAAI;IAAA,wDAA8B;IAAA,4DAAK;IACvC,sEAAI;IAAA,wDAC2D;IAAA,4DAAK;IACpE,sEAAI;IAAA,wDAAkC;IAAA,4DAAK;IAC3C,sEAAI;IAAA,wDAAoC;IAAA,4DAAK;IAC/C,4DAAK;;;IAZwB,0DAA4B;IAA5B,6FAA4B;IAEhC,0DAAgD;IAAhD,+HAAgD;IACnE,0DAA8B;IAA9B,yGAA8B;IAE9B,0DAAmC;IAAnC,oGAAmC;IACnC,0DAAkD;IAAlD,wHAAkD;IAAC,0DAAuC;IAAvC,wGAAuC;IAC1F,0DAA8B;IAA9B,+FAA8B;IAC9B,0DAC2D;IAD3D,uNAC2D;IAC3D,0DAAkC;IAAlC,mGAAkC;IAClC,0DAAoC;IAApC,qGAAoC;;;IAI1C,qEAAI;IACF,yEAAgB;IACd,0EAA4C;IAC1C,wEAAwC;IAAA,2EAAgB;IAAA,4DAAI;IAC9D,4DAAM;IACR,4DAAK;IACP,4DAAK;;;IAGL,qEAEM;;ADjKT,MAAM,oBAAoB;IAsB/B,YAAoB,SAA2B,EACrC,MAAsB,EAAU,aAA2B,EAAU,MAAa,EAClF,cAA8B;QAFpB,cAAS,GAAT,SAAS,CAAkB;QACrC,WAAM,GAAN,MAAM,CAAgB;QAAU,kBAAa,GAAb,aAAa,CAAc;QAAU,WAAM,GAAN,MAAM,CAAO;QAClF,mBAAc,GAAd,cAAc,CAAgB;QAZxC,mBAAc,GAAE,EAAE,CAAC;QACnB,YAAO,GAAG,KAAK,CAAC;QAChB,iBAAY,GAAC,CAAC,CAAC;QACf,kBAAa,GAAS,KAAK,CAAC;QAC5B,eAAU,GAAQ,EAAE;QACpB,qBAAgB,GAAC,EAAE;QACnB,iBAAY,GAAS,EAAE,CAAC;QACxB,gBAAW,GAAK,EAAE,CAAC;QACnB,eAAU,GAAK,EAAE,CAAC;QAKhB,4CAA4C;QAC5C,IAAI,CAAC,cAAc,GAAG,IAAI,wDAAS,CAAC;YAClC,IAAI,EAAE,IAAI,0DAAW,CAAC,IAAI,CAAC;YAC3B,OAAO,EAAE,IAAI,0DAAW,EAAE;YAC1B,KAAK,EAAE,IAAI,0DAAW,EAAE;YACxB,IAAI,EAAE,IAAI,0DAAW,EAAE;YACvB,SAAS,EAAE,IAAI,0DAAW,EAAE;YAC5B,WAAW,EAAE,IAAI,0DAAW,EAAE;YAC9B,KAAK,EAAE,IAAI,0DAAW,EAAE;SACzB,CAAC,CAAC;QACH,IAAI,CAAC,UAAU,GAAG,2FAAgB,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC;IAC7D,CAAC;IAhCD,aAAa,CAAC,KAAoB;QAChC,IAAI,CAAC,MAAM,EAAE,CAAC;IAChB,CAAC;IAgCD,MAAM;QACJ,IAAI,KAAU,CAAC;QACf,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QACnB,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;IAC3B,CAAC;IAED,cAAc,CAAC,KAAoB;;QAEjC,IAAI,SAAS,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC;QAC1C,+EAAe,CAAC,eAAe,GAAG,SAAS,CAAC,IAAI,CAAC;QAEjD,kCAAkC;QAClC,IAAI,UAAU,GAAQ,EAAE;QACxB,IAAI,OAAO,GAAW,EAAE;QACxB,2BAA2B;QAC3B,IAAI,QAAQ,GAAW,EAAE;QACzB,4BAA4B;QAE5B,UAAU,GAAG,KAAK,CAAC,OAAO,IAAI,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACvE,IAAI,UAAU,IAAI,IAAI,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,EAAE;YAC9E,IAAI,UAAU,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;YACrC,+CAA+C;YAC/C,qBAAqB;YACrB,UAAU,CAAC,OAAO,CAAC,CAAC,OAAY,EAAE,EAAE;gBAClC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAK,EAAC,EAAE,EAAC,CAAC,WAAW,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAChF,CAAC,CAAC;YACF,6BAA6B;YAC3B,kBAAkB;YACnB,sBAAsB;YACrB,sBAAsB;YACxB,GAAG;SACJ;aAAI;YACH,IAAG,SAAS,CAAC,IAAI,IAAE,IAAI,EAAC;gBAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;aAAC;YAAA,CAAC;SAC3D;QAED,UAAU,GAAG,KAAK,CAAC,OAAO,IAAI,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAC9E,IAAI,UAAU,IAAI,IAAI,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,EAAE;YAC9E,IAAI,WAAW,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;YACtC,gDAAgD;YAChD,qBAAqB;YACrB,WAAW,CAAC,OAAO,CAAC,CAAC,OAAY,EAAE,EAAE;gBACnC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAK,EAAC,EAAE,EAAC,CAAC,WAAW,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAClF,CAAC,CAAC;YACF,8BAA8B;YAC7B,oBAAoB;YACpB,uBAAuB;YACtB,sBAAsB;YACxB,GAAG;SACJ;aAAK;YACJ,IAAG,SAAS,CAAC,WAAW,IAAE,IAAI,EAAC;gBAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;aAAC;SAC1E;QACD,+CAA+C;QAC/C,wBAAwB;QACxB,GAAG;QACH,OAAO;YACL,IAAI,EAAE,SAAS,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,IAAE,SAAS,EAAC,EAAC,EAAC,UAAS,CAAC,OAAO,CAAC;YAC3F,WAAW,EAAE;gBACX,MAAM,EAAE,SAAS,CAAC,IAAI;aACvB;YACD,SAAS,EAAE;gBACT,UAAU,EAAE,EAAE;gBACd,QAAQ,EAAE,SAAS,CAAC,OAAO;gBAC3B,MAAM,EAAE,EAAE;gBACV,SAAS,EAAE,CAAC;gBACZ,WAAW,EAAE,CAAC;gBACd,OAAO,EAAE,EAAE;gBACX,OAAO,EAAE,SAAS,CAAC,KAAK;aACzB;YACD,cAAc,EAAE;gBACd,WAAW,EAAE,SAAS,CAAC,SAAS;gBAChC,SAAS,EAAE,QAAQ;gBACnB,QAAQ,EAAE,OAAO;gBACjB,OAAO,QAAE,SAAS,CAAC,KAAK,mCAAE,CAAC;aAC5B;SACF;IACH,CAAC;IAGD,YAAY,CAAC,KAAoB;;QAC7B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gDAAgD,CAAC,CAAC;QACnE,IAAI,UAAU,GAAG,CAAC;QAClB,IAAI,KAAK,IAAI,IAAI,EAAE;YACjB,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,KAAK,IAAI,SAAS,IAAI,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,OAAC,KAAK,CAAC,IAAI,mCAAI,IAAI,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACpI,IAAI,CAAC,cAAc,SAAG,KAAK,CAAC,IAAI,mCAAI,IAAI,CAAC,cAAc,CAAC;SACzD;QAED,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,EAAC,UAAU,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC,SAAS,CACnG,QAAQ,CAAC,EAAE;YACT,IAAG,QAAQ,IAAI,QAAQ,CAAC,IAAI,EAAC;gBAC3B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,sBAAsB,GAAE,QAAQ,CAAC,IAAI,CAAC;gBACjE,IAAI,CAAC,gBAAgB,GAAE,UAAU,GAAE,QAAQ,CAAC,UAAU,CAAC,kBAAkB,GAAE,MAAM,GAAE,QAAQ,CAAC,UAAU,CAAC,gBAAgB,GAAE,MAAM,GAAG,QAAQ,CAAC,UAAU,CAAC,YAAY,CAAC;gBACnK,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;gBAC9C,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;aAC3C;iBACG;gBACF,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;gBACzD,IAAI,CAAC,gBAAgB,GAAE,EAAE;gBACzB,IAAI,CAAC,mBAAmB,EAAE,CAAC;aAC5B;QAEH,CAAC,EAAE,KAAK,CAAC,EAAE;YACT,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;YACzD,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;YACvC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;YACrB,IAAI,CAAC,gBAAgB,GAAC,EAAE,CAAC;QAC3B,CAAC,EAAE,GAAG,EAAE;YACN,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,8CAA8C,CAAC,CAAC;YACjE,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACvB,CAAC,CACF,CAAC;IAEN,CAAC;IAED,mBAAmB,CAAC,gBAAoB,IAAI;QAC1C,IAAG,aAAa,EAAC;YACf,IAAI,CAAC,UAAU,CAAC,QAAQ,GAAG,aAAa,CAAC,QAAQ,CAAC;YAClD,IAAI,CAAC,UAAU,CAAC,kBAAkB,GAAG,aAAa,CAAC,eAAe,CAAC;YACnE,IAAI,CAAC,UAAU,CAAC,UAAU,GAAG,aAAa,CAAC,UAAU,CAAC;YACtD,IAAI,CAAC,UAAU,CAAC,YAAY,GAAG,aAAa,CAAC,YAAY,CAAC;SAC3D;aACG;YACF,IAAI,CAAC,UAAU,CAAC,QAAQ,GAAG,CAAC,CAAC;YAC7B,IAAI,CAAC,UAAU,CAAC,kBAAkB,GAAG,CAAC,EAAE,EAAC,EAAE,EAAC,EAAE,CAAC,CAAC;YAChD,IAAI,CAAC,UAAU,CAAC,UAAU,GAAG,CAAC,CAAC;YAC/B,IAAI,CAAC,UAAU,CAAC,YAAY,GAAG,CAAC,CAAC;SAClC;IACH,CAAC;IAED,QAAQ;QACN,IAAI,YAAY,GAAG,CAAC,aAAa,CAAC,CAAC;QACnC,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzB,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,SAAS,CAAC,CAAC,QAAa,EAAE,EAAE;YAC3D,IAAI,CAAC,YAAY,GAAG,QAAQ,CAAC,aAAa,CAAC,CAAC;YAE5C,IAAI,SAAS,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;YAC7E,IAAI,SAAS,IAAI,EAAE,IAAI,SAAS,EAAE;gBAChC,IAAI,CAAC,cAAc,GAAG,IAAI,wDAAS,CAAC;oBAClC,IAAI,EAAE,IAAI,0DAAW,CAAC,SAAS,CAAC;oBAChC,OAAO,EAAE,IAAI,0DAAW,EAAE;oBAC1B,KAAK,EAAE,IAAI,0DAAW,EAAE;oBACxB,IAAI,EAAE,IAAI,0DAAW,EAAE;oBACvB,SAAS,EAAE,IAAI,0DAAW,EAAE;oBAC5B,WAAW,EAAE,IAAI,0DAAW,EAAE;oBAC9B,KAAK,EAAE,IAAI,0DAAW,EAAE;iBACzB,CAAC,CAAC;aACJ;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,iBAAiB;QACf,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,qDAAqD,CAAC,CAAC;QACxE,IAAI,CAAC,aAAa,CAAC,iBAAiB,EAAE,CAAC,SAAS,CAC9C,QAAQ,CAAC,EAAE;YACP,IAAI,CAAC,WAAW,GAAG,QAAQ,CAAC,IAAI,CAAC;YACjC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC9C,CAAC,EAAE,KAAK,GAAE;YACR,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;YACtB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;QAC3C,CAAC,EAAC,GAAE,EAAE;YAEJ,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kDAAkD,CAAC,CAAC;QACvE,CAAC,CACF,CAAC;IACJ,CAAC;IAED,gBAAgB;QACd,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,oDAAoD,CAAC,CAAC;QACvE,IAAI,CAAC,aAAa,CAAC,gBAAgB,EAAE,CAAC,SAAS,CAC7C,QAAQ,CAAC,EAAE;YACP,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC,IAAI,CAAC;YAChC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC9C,CAAC,EAAE,KAAK,GAAE;YACR,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;YACrB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;QAC3C,CAAC,EAAC,GAAE,EAAE;YAEJ,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,iDAAiD,CAAC,CAAC;QACtE,CAAC,CACF,CAAC;IACJ,CAAC;IAED,aAAa,CAAC,MAAU;QACtB,+EAAe,CAAC,OAAO,GAAC,MAAM,CAAC,eAAe,CAAC,EAAE,CAAC;QAClD,+EAAe,CAAC,OAAO,GAAC,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC;QACpD,IAAI,GAAG,GAAC,QAAQ,GAAE,MAAM,CAAC,eAAe,CAAC,EAAE,GAAE,QAAQ,CAAC;QACtD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAC9B,CAAC;IAED,aAAa,CAAC,QAAU,EAAE;QACxB,IAAI,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;QACjD,KAAK,CAAC,eAAe,GAAG,EAAE,CAAC;QAC3B,KAAK,CAAC,eAAe,CAAC,EAAE,GAAG,KAAK,CAAC,EAAE,CAAC;QACpC,KAAK,CAAC,eAAe,CAAC,IAAI,GAAE,KAAK,CAAC,IAAI;QACtC,IAAI,CAAC,aAAa,CAAE,KAAK,CAAC,CAAC;IAC7B,CAAC;;wFA1OU,oBAAoB;oGAApB,oBAAoB;;;;;;kKAApB,yBAAqB;;QChBlC,yEAAiD;QAC/C,yEAA6C;QAC3C,yEAA0B;QACxB,2EACA;QAAA,4EACkC;QAAhC,gKAAyB,IAAI,IAAE;QACjC,4DAAS;QACX,4DAAM;QACN,yEAAoC;QAClC,0EAAmC;QACjC,yEAAuC;QACrC,yEAA0B;QACxB,yEAA8C;QAC5C,uEACoB;QACpB,6EAA+C;QAAA,4EAAgB;QAAA,4DAAQ;QACzE,4DAAM;QACR,4DAAM;QAEN,0EAA0B;QACxB,0EAA8C;QAC5C,wEACoB;QACpB,6EAAkD;QAAA,+EAAmB;QAAA,4DAAQ;QAC/E,4DAAM;QACR,4DAAM;QAEN,0EAA0B;QACxB,0EAA8C;QAC5C,wEACoB;QACpB,6EAAgD;QAAA,6EAAiB;QAAA,4DAAQ;QAC3E,4DAAM;QACR,4DAAM;QAEN,0EAA0B;QACxB,0EAA8C;QAC5C,6EAEa;QACb,6EAAoD;QAAA,4EAAgB;QAAA,4DAAQ;QAC9E,4DAAM;QACR,4DAAM;QAEN,2EAA0B;QACxB,0EAA8C;QAC5C,wEAC+B;QAC/B,6EAAoD;QAAA,4EAAgB;QAAA,4DAAQ;QAC9E,4DAAM;QACR,4DAAM;QAEN,0EAA0B;QACxB,0EAA8C;QAC5C,6EAEa;QACb,6EAAsD;QAAA,6EAAiB;QAAA,4DAAQ;QACjF,4DAAM;QACR,4DAAM;QAEN,2EAA0B;QACxB,0EAA8C;QAC5C,wEACoB;QACpB,6EAAgD;QAAA,6EAAiB;QAAA,4DAAQ;QAC3E,4DAAM;QACR,4DAAM;QAEN,2EAA6D;QAC3D,8EACqE;QAAnB,6IAAS,YAAQ,IAAC;;QAAC,4DAAS;QAChF,4DAAM;QAER,4DAAM;QACR,4DAAO;QACT,4DAAM;QACN,2EAAmC;QACjC,mFAI0C;QAJ6B,8JAAc,wBAAoB,IAAC;QAKxG,mIAWc;QAEd,qIAmDc;QAEd,qIAec;QACd,mIAQc;QACd,mIAIc;QAChB,4DAAU;QAEZ,4DAAM;QACR,4DAAM;QACR,4DAAM;QAEN,wFAAsF;QAApE,2MAA2B,qHAAkB,yBAAqB,IAAvC;QAAyC,4DAAmB;;QAhL7F,0DAA4B;QAA5B,yFAA4B;QA4BM,2DAA0B;QAA1B,mFAA0B;QAiBxB,2DAA0B;QAA1B,mFAA0B;QAgBxB,0DAAqC;QAArC,gKAAqC;QAUtC,0DAAgD;QAAhD,sHAAgD;QAFxE,qFAAwB;QA2G/B,0DAA2B;QAA3B,sFAA2B;;;;;;;;;;;;;;ACzL7C;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAwG;AACpC;AAEU;AAGlD;;;;;;;;;AAOrB,MAAM,kBAAkB;IAgB7B,YAAmB,aAA2B,EAAQ,SAA0B;QAA7D,kBAAa,GAAb,aAAa,CAAc;QAAQ,cAAS,GAAT,SAAS,CAAiB;QAdvE,WAAM,GAAQ,EAAE;QAChB,WAAM,GAAY,KAAK;QACtB,WAAM,GAAG,IAAI,0DAAY,EAAO,CAAC;QACjC,iBAAY,GAAG,IAAI,0DAAY,EAAW,CAAC;QAMrD,iBAAY,GAAS,EAAE,CAAC;QAExB,mBAAc,GAAS,EAAE,CAAC;QAC1B,WAAM,GAAO,EAAE,CAAC;QAGd,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,4BAA4B,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,QAAa,EAAE,EAAE;YAC7E,IAAI,CAAC,YAAY,GAAG,QAAQ,CAAC,4BAA4B,CAAC,CAAC;QAC7D,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,kBAAkB,GAAG,aAAa,CAAC,sBAAsB,CAAC,eAAe,CAAC;QAC/E,IAAI,CAAC,kBAAkB,GAAG,aAAa,CAAC,sBAAsB,CAAC,cAAc,CAAC;QAC9E,IAAI,CAAC,oBAAoB,GAAG,aAAa,CAAC,sBAAsB,CAAC,gBAAgB,CAAC;QAClF,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAC/C,CAAC;IAED,QAAQ;QACN,IAAI,CAAC,UAAU,EAAE,CAAC;IACpB,CAAC;IAED,WAAW,CAAC,OAAqB;QAC/B,IAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAC;YACzB,IAAI,CAAC,mBAAmB,EAAE,CAAC;SAC5B;IACH,CAAC;IAED,SAAS,CAAC,OAAqB;QAC7B,OAAc,OAAO,CAAC,MAAM;YACpB,mCAAmC;YACpC,oCAAoC;YACnC,oCAAoC;eAC9B,OAAO,CAAC,MAAM,CAAC,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC,YAAY;IAC3E,CAAC;IAED,mBAAmB;QACjB,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACtC,CAAC;IAED,UAAU;QACR,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC;QACjD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC;QAC5C,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC;IAC/C,CAAC;IAED,cAAc,CAAC,eAAiB,EAAE;QAChC,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC;YAC5B,KAAK,EAAG,YAAY,CAAC,KAAK;YAC1B,SAAS,EAAG,YAAY,CAAC,SAAS;YAClC,QAAQ,EAAG,YAAY,CAAC,QAAQ;YAChC,WAAW,EAAG,YAAY,CAAC,WAAW,IAAG,SAAS,CAAC,CAAC,KAAI,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,EAAC,KAAI;YAC3F,aAAa,EAAG,YAAY,CAAC,aAAa;YAC1C,KAAK,EAAG,YAAY,CAAC,KAAK;YAC1B,MAAM,EAAG,YAAY,CAAC,MAAM;YAC5B,QAAQ,EAAG,YAAY,CAAC,QAAQ;SACjC,CAAC;IACJ,CAAC;IAED,gBAAgB;QACd,OAAO,IAAI,wDAAS,CAAC;YACnB,KAAK,EAAE,IAAI,0DAAW,CAAC,IAAI,EAAC,CAAC,yDAAU,CAAC,QAAQ,CAAC,CAAC;YAClD,SAAS,EAAG,IAAI,0DAAW,CAAC,EAAE,EAAC,CAAC,yDAAU,CAAC,QAAQ,CAAC,CAAC;YACrD,QAAQ,EAAG,IAAI,0DAAW,CAAC,EAAE,EAAC,CAAC,yDAAU,CAAC,QAAQ,CAAC,CAAC;YACpD,WAAW,EAAG,IAAI,0DAAW,EAAE;YAC/B,aAAa,EAAG,IAAI,0DAAW,CAAC,IAAI,EAAC,CAAC,yDAAU,CAAC,QAAQ,CAAC,CAAC;YAC3D,KAAK,EAAG,IAAI,0DAAW,CAAC,EAAE,EAAC,CAAC,yDAAU,CAAC,KAAK,CAAC,CAAC;YAC9C,MAAM,EAAG,IAAI,0DAAW,EAAE;YAC1B,QAAQ,EAAG,IAAI,0DAAW,EAAE;SAC7B,CAAC,CAAC;IACL,CAAC;IAED,eAAe;QAGb,IAAI,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC;QAEzC,OAAO;YACL,KAAK,EAAC,SAAS,CAAC,KAAK;YACrB,SAAS,EAAC,SAAS,CAAC,SAAS;YAC7B,QAAQ,EAAC,SAAS,CAAC,QAAQ;YAC3B,WAAW,EAAC,SAAS,CAAC,WAAW,IAAI,SAAS,CAAC,CAAC,CAAC,6CAAM,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,2FAAgB,CAAC,QAAQ,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC,IAAI;YACpJ,aAAa,EAAC,SAAS,CAAC,aAAa;YACrC,KAAK,EAAC,SAAS,CAAC,KAAK;YACrB,MAAM,EAAC,SAAS,CAAC,MAAM;YACvB,QAAQ,EAAC,SAAS,CAAC,QAAQ;SAC5B;IACH,CAAC;IAED,WAAW;QAET,IAAG,IAAI,CAAC,aAAa,CAAC,KAAK,EAAC;YAC1B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAC,KAAK,EAAC,QAAQ,EAAC,IAAI,EAAC,IAAI,CAAC,eAAe,EAAE,EAAC,CAAC;SAC/D;aACG;YACF,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAAC,IAAI,CAAC,aAAa,CAAC;SAC3D;IAEH,CAAC;;oFA5GU,kBAAkB;kGAAlB,kBAAkB;QCb/B,yEAAiC;QAC/B,0EAAoD;QAClD,yEAAiC;QAE/B,yEAAsC;QACpC,2EAMa;QACb,2EAAmB;QAAA,uDAAsB;QAAA,0EAAwB;QAAA,4DAAC;QAAA,4DAAO;QAAA,4DAAQ;QACnF,4DAAM;QAEN,yEAA8C;QAC5C,uEAK0B;QAC1B,4EAA0C;QAAA,wDAA0B;QAAA,2EAAwB;QAAA,6DAAC;QAAA,4DAAO;QAAA,4DAAQ;QAC9G,4DAAM;QAEN,0EAA8C;QAC5C,wEAK0B;QAC1B,6EAAyC;QAAA,wDAAyB;QAAA,2EAAwB;QAAA,6DAAC;QAAA,4DAAO;QAAA,4DAAQ;QAC5G,4DAAM;QAEN,0EAA8C;QAC5C,6EAWa;QACb,6EAA4C;QAAA,wDAAoB;QAAA,4DAAQ;QAC1E,4DAAM;QAEN,0EAAsC;QACpC,6EAMa;QACb,6EAA2B;QAAA,wDAA8B;QAAA,2EAAwB;QAAA,6DAAC;QAAA,4DAAO;QAAA,4DAAQ;QACnG,4DAAM;QAGN,0EAA8C;QAC5C,wEAK0B;QAC1B,6EAAsC;QAAA,wDAAsB;QAAA,4DAAQ;QACtE,4DAAM;QAEN,0EAA8C;QAC5C,wEAK0B;QAC1B,6EAAuC;QAAA,wDAAuB;QAAA,4DAAQ;QACxE,4DAAM;QAEN,0EAA8C;QAC5C,wEAK0B;QAC1B,6EAAyC;QAAA,wDAAyB;QAAA,4DAAQ;QAC5E,4DAAM;QAER,4DAAM;QACR,4DAAO;QACT,4DAAM;QACJ,2EAA0G;QACxG,8EAC0B;QAAxB,2IAAS,iBAAa,IAAC;QAAC,4DAAS;QACrC,4DAAM;;QAlGA,0DAA2B;QAA3B,wFAA2B;QAMf,0DAA0B;QAA1B,mFAA0B;QAKnB,0DAAsB;QAAtB,uFAAsB;QAUC,0DAA0B;QAA1B,2FAA0B;QAU3B,0DAAyB;QAAzB,0FAAyB;QAatD,0DAAoC;QAApC,0GAAoC;QANpC,0EAAe;QASiB,0DAAoB;QAApB,qFAAoB;QAMpD,0DAA0B;QAA1B,mFAA0B;QAKX,0DAA8B;QAA9B,+FAA8B;QAWnB,0DAAsB;QAAtB,uFAAsB;QAUrB,0DAAuB;QAAvB,wFAAuB;QAUrB,0DAAyB;QAAzB,0FAAyB;QAOhC,0DAA6B;QAA7B,mGAA6B;;;;;;;;;;;;;;AChGvE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAyF;AACtB;AAKb;;;;;;;;;;;;AAS/C,MAAM,uBAAuB;IAalC,YAAoB,IAAgB,EAAU,MAAqB,EAAS,SAA2B,EAC9F,UAA6B,EAAS,aAA2B;QADtD,SAAI,GAAJ,IAAI,CAAY;QAAU,WAAM,GAAN,MAAM,CAAe;QAAS,cAAS,GAAT,SAAS,CAAkB;QAC9F,eAAU,GAAV,UAAU,CAAmB;QAAS,kBAAa,GAAb,aAAa,CAAc;QAT1E,kBAAa,GAAO,EAAE,CAAC;QACvB,oBAAe,GAAc,CAAC,EAAC,EAAE,EAAC,UAAU,EAAC,WAAW,EAAC,UAAU,EAAC,EAAC,EAAC,EAAE,EAAC,YAAY,EAAC,WAAW,EAAC,YAAY,EAAC,EAAC,EAAC,EAAE,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,CAAC,CAAC;QAC1J,YAAO,GAAQ,EAAE,CAAC;QACT,cAAS,GAAQ,EAAE,CAAC;QACpB,WAAM,GAAS,EAAE,CAAC;QACjB,aAAQ,GAAG,IAAI,0DAAY,EAAO,CAAC;QAC7C,WAAM,GAAS,KAAK,CAAC;QAIjB,IAAI,CAAC,gBAAgB,GAAG,IAAI,wDAAS,CAAC;YACpC,KAAK,EAAC,IAAI,0DAAW,EAAE;YACvB,SAAS,EAAE,IAAI,0DAAW,EAAE;YAC5B,UAAU,EAAE,IAAI,0DAAW,EAAE;YAC7B,QAAQ,EAAE,IAAI,0DAAW,EAAE;YAC3B,UAAU,EAAE,IAAI,0DAAW,EAAE;YAC7B,QAAQ,EAAE,IAAI,0DAAW,EAAE;YAC3B,OAAO,EAAC,IAAI,0DAAW,EAAE;YACzB,SAAS,EAAC,IAAI,0DAAW,EAAE;YAC3B,UAAU,EAAC,IAAI,0DAAW,EAAE;YAC5B,eAAe,EAAE,IAAI,0DAAW,EAAE;YAClC,eAAe,EAAE,IAAI,0DAAW,EAAE;YAClC,KAAK,EAAC,IAAI,0DAAW,EAAE;SACxB,CAAC,CAAC;QACH,IAAI,CAAC,OAAO,GAAG,iEAAe,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;IACpD,CAAC;IAEH,QAAQ;QACN,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,GAAC,CAAC,EAAC;YAC3B,IAAI,CAAC,iBAAiB,EAAE,CAAC;SAC1B;aACG;YACF,IAAI,CAAC,uBAAuB,EAAE,CAAC;SAChC;IACH,CAAC;IAED,uBAAuB;QACrB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,+DAA+D,CAAC,CAAC;QAClF,IAAI,CAAC,UAAU,CAAC,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,SAAS,CACxD,QAAQ,CAAC,EAAE;YACT,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACzC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC5C,CAAC,EAAE,KAAK,CAAC,EAAE;YACT,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;QAC3C,CAAC,EAAE,GAAG,EAAE;YACR,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,6DAA6D,CAAC,CAAC;QAClF,CAAC,CACA,CAAC;IACJ,CAAC;IAED,oBAAoB,CAAC,QAAY;QAC/B,IAAI,CAAC,aAAa,GAAG,QAAQ,CAAC,iBAAiB,CAAC,gBAAgB,CAAC;QACjE,IAAI,CAAC,gBAAgB,GAAG,IAAI,wDAAS,CAAC;YACpC,KAAK,EAAE,IAAI,0DAAW,CAAC,IAAI,EAAE,yDAAU,CAAC,QAAQ,CAAC;YACjD,SAAS,EAAE,IAAI,0DAAW,CAAC,IAAI,EAAE,yDAAU,CAAC,QAAQ,CAAC;YACrD,UAAU,EAAE,IAAI,0DAAW,CAAC,IAAI,CAAC;YACjC,QAAQ,EAAE,IAAI,0DAAW,CAAC,IAAI,CAAC;YAC/B,UAAU,EAAE,IAAI,0DAAW,CAAC,IAAI,CAAC;YACjC,QAAQ,EAAE,IAAI,0DAAW,CAAC,IAAI,CAAC;YAC/B,OAAO,EAAE,IAAI,0DAAW,CAAC,IAAI,CAAC;YAC9B,SAAS,EAAE,IAAI,0DAAW,CAAC,IAAI,CAAC;YAChC,UAAU,EAAE,IAAI,0DAAW,CAAC,EAAC,EAAE,EAAC,UAAU,EAAC,WAAW,EAAC,UAAU,EAAC,EAAC,yDAAU,CAAC,QAAQ,CAAC;YACvF,eAAe,EAAE,IAAI,0DAAW,CAAC,IAAI,CAAC;YACtC,eAAe,EAAE,IAAI,0DAAW,CAAC,IAAI,CAAC;YACtC,KAAK,EAAE,IAAI,0DAAW,CAAC,IAAI,CAAC;SAC7B,CAAC,CAAC;IAEL,CAAC;IAED,iBAAiB;QACf,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,yDAAyD,CAAC,CAAC;QAC5E,IAAI,CAAC,UAAU,CAAC,sBAAsB,CAAC,IAAI,CAAC,OAAO,EAAC,IAAI,CAAC,SAAS,CAAC,CAAC,SAAS,CAC3E,QAAQ,CAAC,EAAE;YACT,IAAI,CAAC,kBAAkB,GAAG,QAAQ,CAAC,IAAI,CAAC;YACxC,IAAI,CAAC,eAAe,EAAE,CAAC;YACvB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC5C,CAAC,EAAE,KAAK,CAAC,EAAE;YACT,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;QAC3C,CAAC,EAAE,GAAG,EAAE;YACR,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,uDAAuD,CAAC,CAAC;QAC5E,CAAC,CACA,CAAC;IACJ,CAAC;IAED,eAAe;QACb,oEAAoE;QACpE,IAAI,eAAe,GAAC,EAAE,CAAC;QACvB,IAAI,WAAW,GAAG,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC;QAC3D,IAAG,WAAW,CAAC,QAAQ,EAAC;YACtB,6DAA6D;YAC7D,eAAe,GAAE,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;SACnE;QAED,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,kBAAkB,CAAC,iBAAiB,CAAC,gBAAgB,CAAC;QAChF,IAAI,CAAC,gBAAgB,GAAG,IAAI,wDAAS,CAAC;YACpC,KAAK,EAAE,IAAI,0DAAW,CAAC,WAAW,CAAC,gBAAgB,IAAI,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,WAAW,CAAC,gBAAgB,CAAC,EAAE,EAAE,WAAW,EAAE,WAAW,CAAC,gBAAgB,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,yDAAU,CAAC,QAAQ,CAAC;YAC9L,SAAS,EAAE,IAAI,0DAAW,CAAC,WAAW,CAAC,SAAS,EAAE,yDAAU,CAAC,QAAQ,CAAC;YACtE,UAAU,EAAE,IAAI,0DAAW,CAAC,WAAW,CAAC,UAAU,CAAC;YACnD,QAAQ,EAAE,IAAI,0DAAW,CAAC,WAAW,CAAC,QAAQ,CAAC;YAC/C,UAAU,EAAE,IAAI,0DAAW,CAAC,WAAW,CAAC,UAAU,CAAC;YACnD,QAAQ,EAAE,IAAI,0DAAW,CAAC,WAAW,CAAC,QAAQ,CAAC;YAC/C,OAAO,EAAE,IAAI,0DAAW,CAAC,WAAW,CAAC,OAAO,CAAC;YAC7C,SAAS,EAAE,IAAI,0DAAW,CAAC,WAAW,CAAC,SAAS,CAAC;YACjD,UAAU,EAAE,IAAI,0DAAW,CAAC,WAAW,CAAC,UAAU,IAAE,SAAS,EAAC,GAAC,EAAE,EAAC,WAAW,CAAC,UAAU,EAAC,WAAW,EAAC,WAAW,CAAC,UAAU,EAAC,EAAC,KAAI,EAAC,yDAAU,CAAC,QAAQ,CAAC;YACtJ,eAAe,EAAE,IAAI,0DAAW,CAAC,WAAW,CAAC,QAAQ,CAAC;YACtD,eAAe,EAAE,IAAI,0DAAW,CAAC,eAAe,CAAC;YACjD,KAAK,EAAE,IAAI,0DAAW,CAAC,WAAW,CAAC,EAAE,CAAC;SACvC,CAAC,CAAC;IAEL,CAAC;IAED,WAAW;QACT,IAAI,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE;YAC/B,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC;gBAC5B,IAAI,CAAC,aAAa,EAAE,CAAC;iBAClB;gBACH,IAAI,CAAC,UAAU,EAAE,CAAC;aACnB;SACF;aACI;YACH,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAAC,IAAI,CAAC,gBAAgB,CAAC;SAC9D;IACH,CAAC;IAED,gBAAgB;QAEd,IAAI,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC;QAC5C,OAAO;YACL,sBAAsB,EAAE,SAAS,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI;YACpF,kBAAkB,EAAE,SAAS,CAAC,SAAS;YACvC,mBAAmB,EAAE,SAAS,CAAC,UAAU;YACzC,iBAAiB,EAAE,SAAS,CAAC,QAAQ;YACrC,YAAY,EAAE,SAAS,CAAC,UAAU,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI;YACpF,YAAY,EAAE,SAAS,CAAC,UAAU;YAClC,UAAU,EAAE,SAAS,CAAC,QAAQ;YAC9B,WAAW,EAAE,SAAS,CAAC,SAAS;YAChC,SAAS,EAAE,SAAS,CAAC,OAAO;YAC5B,UAAU,EAAE,SAAS,CAAC,eAAe;YACrC,UAAU,EAAE,CAAC,SAAS,CAAC,eAAe,CAAC,EAAC,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,SAAS,CAAC,eAAe,CAAC,EAAC,GAAE;SAClG;IACH,CAAC;IAED,UAAU;QACR,IAAI,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE;YAC/B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kDAAkD,CAAC,CAAC;YACrE,IAAI,CAAC,UAAU,CAAC,kBAAkB,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC,SAAS,CACjF,QAAQ,CAAC,EAAE;gBACT,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAC1C,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;YAC3D,CAAC,EAAE,KAAK,CAAC,EAAE;gBACT,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;gBACzC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAC1E,CAAC,EAAE,GAAG,EAAE;gBACR,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gDAAgD,CAAC,CAAC;YACrE,CAAC,CACA,CAAC;SACH;IACH,CAAC;IAED,aAAa;QACX,IAAI,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE;YAC/B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,qDAAqD,CAAC,CAAC;YACxE,IAAI,CAAC,UAAU,CAAC,kBAAkB,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC,SAAS,CACjG,QAAQ,CAAC,EAAE;gBACT,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAC1C,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;gBAC5D,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;YAEjC,CAAC,EAAE,KAAK,CAAC,EAAE;gBACT,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;gBACzC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAC1E,CAAC,EAAE,GAAG,EAAE;gBACR,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,mDAAmD,CAAC,CAAC;YACxE,CAAC,CACA,CAAC;SACH;IACH,CAAC;IAED,KAAK;QACH,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;IAC1D,CAAC;;8FAzLU,uBAAuB;uGAAvB,uBAAuB;QChBlC,yEAAoC;QAClC,wEAAiD;QACjD,0EAAuD;QACrD,yEAAiC;QAC/B,yEAA8C;QAC5C,2EAEa;QACb,2EAA6B;QAAA,yEAAc;QAAA,0EAAwB;QAAA,4DAAC;QAAA,4DAAO;QAAA,4DAAQ;QACrF,4DAAM;QAEN,0EAA8C;QAC5C,uEAC+B;QAC/B,4EAA0D;QAAA,8EAAkB;QAAA,2EAAwB;QAAA,6DAAC;QAAA,4DAAO;QAAA,4DAAQ;QACtH,4DAAM;QAEN,0EAA8C;QAC5C,wEAC+B;QAC/B,6EAA2D;QAAA,+EAAmB;QAAA,4DAAQ;QACxF,4DAAM;QAEN,0EAA8C;QAC5C,wEAC+B;QAC/B,6EAAyD;QAAA,4EAAgB;QAAA,4DAAQ;QACnF,4DAAM;QAEN,0EAA8C;QAC5C,wEACoB;QACpB,6EAA2D;QAAA,8EAAkB;QAAA,4DAAQ;QACvF,4DAAM;QAEN,0EAA8C;QAC5C,wEAC+B;QAC/B,6EAAyD;QAAA,4EAAgB;QAAA,4DAAQ;QACnF,4DAAM;QAEN,0EAA8C;QAC5C,wEACoB;QACpB,6EAAwD;QAAA,2EAAe;QAAA,4DAAQ;QACjF,4DAAM;QAEN,0EAA8C;QAC5C,wEACoB;QACpB,6EAA0D;QAAA,6EAAiB;QAAA,4DAAQ;QACrF,4DAAM;QAEN,0EAA8C;QAC5C,6EAEa;QACb,6EAAkC;QAAA,+EAAmB;QAAA,2EAAwB;QAAA,6DAAC;QAAA,4DAAO;QAAA,4DAAQ;QAC/F,4DAAM;QAEN,0EAA8C;QAC5C,wEAC+B;QAC/B,6EAAyD;QAAA,4EAAgB;QAAA,4DAAQ;QACnF,4DAAM;QAEN,0EAA8C;QAC5C,wEACa;QACb,6EAAyD;QAAA,4EAAgB;QAAA,4DAAQ;QACnF,4DAAM;QAEN,0EAA8C;QAC5C,wEAC+B;QAC/B,6EAAsD;QAAA,yEAAa;QAAA,4DAAQ;QAC7E,4DAAM;QACR,4DAAM;QACR,4DAAO;QACT,4DAAM;QACN,2EAAqC;QACnC,2EAAmB;QACjB,8EACuD;QAAlB,gJAAS,WAAO,IAAC;;QAAC,4DAAS;QAClE,4DAAM;QACN,2EAAmB;QACjB,8EAC0B;QAAxB,gJAAS,iBAAa,IAAC;;QAAC,4DAAS;QACrC,4DAAM;QACR,4DAAM;;QAvFE,0DAA8B;QAA9B,2FAA8B;QAGF,0DAA0B;QAA1B,mFAA0B;QAiDrB,2DAA0B;QAA1B,mFAA0B;QA4BzB,2DAAqC;QAArC,+JAAqC;QAIrC,0DAAmC;QAAnC,8JAAmC;;;;;;;;;;;;;;ACtF/E;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAmG;AAKxD;AAEyB;AAE2D;;;;;;;;;;;;;ICSnH,0EAAgC;IAC9B,0EAA0E;IACxE,qEAA0D;IAC5D,4DAAM;IACN,0EAAyB;IACvB,0EAA4C;IAAA,uDAAkC;IAAA,4DAAM;IACpF,2EAC4E;IAAA,uDAAuB;IAAA,4DAAO;IAC5G,4DAAM;IACR,4DAAM;;;IAPG,0DAA+B;IAA/B,mKAA+B;IAGQ,0DAAkC;IAAlC,kGAAkC;IAEF,0DAAuB;IAAvB,uFAAuB;;;;ADT5G,MAAM,6BAA6B;IAmCxC,YAAmB,aAA2B,EAAQ,YAAyB,EAAQ,SAA0B;QAA9F,kBAAa,GAAb,aAAa,CAAc;QAAQ,iBAAY,GAAZ,YAAY,CAAa;QAAQ,cAAS,GAAT,SAAS,CAAiB;QA1BxG,WAAM,GAAS,EAAE,CAAC;QACjB,eAAU,GAAG,IAAI,0DAAY,EAAO,CAAC;QAI/C,sBAAiB,GAAG,iFAAiB,CAAC;QACtC,iBAAY,GAAS,EAAE,CAAC;QACxB,kBAAa,GAAW,EAAE,CAAC;QAC3B,sBAAiB,GAAY,iFAAiB,CAAC,UAAU,CAAC;QAG1D,2BAAsB,GAAS,EAAE,CAAC;QAClC,kBAAa,GAAW,EAAE,CAAC;QAC3B,yBAAoB,GAAS,EAAE,CAAC;QAChC,eAAU,GAAS,EAAE,CAAC;QACtB,SAAI,GAAK;YACP,MAAM,EAAC,EAAE;YACT,SAAS,EAAC,IAAI,CAAC,SAAS,CAAC,GAAG;SAC7B,CAAC;QACF,wBAAmB,GAAS,KAAK,CAAC;QAElC,sBAAiB,GAAG,CAAC,QAAe,EAAC,iBAAwB,EAAC,UAAc,EAAkB,EAAE,GAAG,OAAO,IAAI,+CAAU,EAAO,GAAC,CAAC;QACjI,2BAAsB,GAAG,CAAC,KAAY,EAAkB,EAAE,GAAG,OAAO,IAAI,+CAAU,EAAO,GAAC,CAAC;QAC3F,+BAA0B,GAAG,CAAC,IAAQ,EAAkB,EAAE,GAAG,OAAO,IAAI,+CAAU,EAAO,GAAC,CAAC;QAC3F,2BAAsB,GAAG,CAAC,IAAQ,EAAO,EAAE,GAAE,CAAC,CAAC;QAG7C,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAC,uCAAuC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,QAAa,EAAE,EAAE;YACjG,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAC,QAAQ,CAAC,QAAQ,CAAC,EAAC,QAAQ,CAAC,uCAAuC,CAAC,CAAC,CAAC;YAE3G,IAAI,CAAC,aAAa,GAAG;gBACnB,EAAC,EAAE,EAAC,MAAM,EAAC,IAAI,EAAC,IAAI,CAAC,YAAY,CAAC,IAAI,EAAC;gBACvC,EAAC,EAAE,EAAC,aAAa,EAAC,IAAI,EAAC,IAAI,CAAC,YAAY,CAAC,UAAU,EAAC;gBACpD,EAAC,EAAE,EAAC,cAAc,EAAC,IAAI,EAAC,IAAI,CAAC,YAAY,CAAC,WAAW,EAAC;gBACtD,EAAC,EAAE,EAAC,OAAO,EAAC,IAAI,EAAC,IAAI,CAAC,YAAY,CAAC,KAAK,EAAC;gBACzC,EAAC,EAAE,EAAC,WAAW,EAAC,IAAI,EAAC,IAAI,CAAC,YAAY,CAAC,SAAS,EAAC;aAClD,CAAC;QACJ,CAAC,CAAC,CAAC;IAGL,CAAC;IA/CD,IAAI,SAAS;QACX,OAAM;YACJ,GAAG,EAAC,KAAK;YACT,IAAI,EAAC,MAAM;SACZ;IACH,CAAC;IA4CD,QAAQ;QAEN,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,MAAM,CAAC,iBAAiB,IAAI,IAAI,CAAC,iBAAiB,CAAC;QACjF,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,MAAM,CAAC,sBAAsB,IAAI,IAAI,CAAC,sBAAsB,CAAC;QAChG,IAAI,CAAC,0BAA0B,GAAG,IAAI,CAAC,MAAM,CAAC,0BAA0B,IAAI,IAAI,CAAC,0BAA0B,CAAC;QAC5G,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,MAAM,CAAC,sBAAsB,IAAI,IAAI,CAAC,sBAAsB,CAAC;QAEhG,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC;QAEzC,IAAI,CAAC,gCAAgC,GAAG;YACtC,QAAQ,EAAG,IAAI,CAAC,MAAM,CAAC,QAAQ;YAC/B,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU;YAClC,uBAAuB,EAAC,IAAI,CAAC,MAAM,CAAC,uBAAuB;YAC3D,mBAAmB,EAAC,IAAI,CAAC,MAAM,CAAC,mBAAmB;YACnD,yBAAyB,EAAC,IAAI,CAAC,MAAM,CAAC,yBAAyB;YAC/D,mBAAmB,EAAG,IAAI,CAAC,MAAM,CAAC,mBAAmB;YACrD,IAAI,EAAG,IAAI,CAAC,MAAM,CAAC,IAAI;YACvB,iBAAiB,EAAG,IAAI,CAAC,iBAAiB;YAC1C,gBAAgB,EAAC,CAAC,cAAkB,EAAC,EAAE;gBACrC,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;gBAChC,IAAI,CAAC,gCAAgC,CAAC,KAAK,GAAG,cAAc,CAAC,IAAI,IAAI,EAAE;gBACvE,IAAG,cAAc,CAAC,UAAU,EAAC;oBAC3B,IAAI,CAAC,gCAAgC,CAAC,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,gCAAgC,CAAC,UAAU,EAAC,cAAc,CAAC,UAAU,CAAC,CAAC;oBAC7I,IAAI,CAAC,gCAAgC,CAAC,UAAU,CAAC,yBAAyB,GAAG,IAAI,CAAC,4BAA4B,CAAC,cAAc,CAAC,UAAU,CAAC;iBAC1I;YACH,CAAC;SACF,CAAC;QAEF,IAAI,CAAC,gCAAgC,GAAG;YACtC,QAAQ,EAAG,IAAI,CAAC,MAAM,CAAC,QAAQ;YAC/B,UAAU,EAAG,IAAI,CAAC,MAAM,CAAC,UAAU;YACnC,OAAO,EAAG,IAAI,CAAC,MAAM,CAAC,OAAO;YAC7B,KAAK,EAAC,IAAI,CAAC,aAAa;YACxB,kBAAkB,EAAC,CAAC,OAAS,EAAE,EAAC,EAAE;gBAChC,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC;YACpC,CAAC;YACD,oBAAoB,EAAC,EAAE;YACvB,UAAU,EAAC,IAAI,CAAC,UAAU;YAC1B,YAAY,EAAC,CAAC,KAAS,EAAC,EAAE;gBACxB,IAAI,CAAC,UAAU,CAAC,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC;gBACtC,IAAI,CAAC,UAAU,CAAC,UAAU,GAAG,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC;gBAC5C,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC5B,CAAC;YACD,SAAS,EAAC,IAAI,CAAC,IAAI,CAAC,SAAS;SAC9B,CAAC;QAEF,IAAI,CAAC,kBAAkB,EAAE;IAC3B,CAAC;IAED,oBAAoB,CAAC,aAAkB,iFAAiB,CAAC,UAAU;QACjE,IAAG,IAAI,CAAC,iBAAiB,IAAI,UAAU,EAAC;YACtC,IAAI,CAAC,iBAAiB,GAAG,UAAU,CAAC;YACpC,IAAI,CAAC,gCAAgC,CAAC,iBAAiB,GAAG,IAAI,CAAC,iBAAiB;gBAChF,IAAI,CAAC,kBAAkB,EAAE;SAC1B;IACH,CAAC;IAED,kBAAkB,CAAC,WAAgB,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAC,oBAAyB,IAAI,CAAC,iBAAiB,EAAC,aAAe,IAAI,CAAC,UAAU;QACpI,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC;QACjC,IAAI,CAAC,iBAAiB,CAAC,QAAQ,EAAC,iBAAiB,EAAC,UAAU,CAAC,CAAC,SAAS,CAAC,QAAQ,GAAE;YAChF,IAAI,CAAC,gCAAgC,CAAC,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC;YAC5D,IAAG,QAAQ,CAAC,UAAU,EAAC;gBACrB,IAAI,CAAC,UAAU,GAAG,EAAC,QAAQ,EAAG,QAAQ,CAAC,UAAU,CAAC,QAAQ,EAAE,kBAAkB,EAAC,QAAQ,CAAC,UAAU,CAAC,eAAe,EAAC,UAAU,EAAC,QAAQ,CAAC,UAAU,CAAC,UAAU,EAAC,YAAY,EAAG,QAAQ,CAAC,UAAU,CAAC,YAAY,EAAC,CAAC;gBAC9M,IAAI,CAAC,gCAAgC,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;aACpE;YACD,IAAI,CAAC,gCAAgC,CAAC,UAAU,CAAC,yBAAyB,GAAG,IAAI,CAAC,4BAA4B,CAAC,QAAQ,CAAC,UAAU,CAAC;QACrI,CAAC,EAAC,KAAK,GAAE;YACP,IAAI,CAAC,gCAAgC,CAAC,KAAK,GAAG,EAAE,CAAC;QACnD,CAAC,CAAC;IACJ,CAAC;IAED,uBAAuB,CAAC,KAAS;QAC/B,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,QAAQ,GAAE;YAC3D,IAAI,CAAC,sBAAsB,GAAG,QAAQ,CAAC,IAAI,CAAC;QAC9C,CAAC,EAAC,KAAK,GAAE;YACP,IAAI,CAAC,sBAAsB,GAAG,EAAE;QAClC,CAAC,CAAC;IACJ,CAAC;IAED,2BAA2B,CAAC,IAAQ;QAClC,oCAAoC;QACpC,8DAA8D;QAC9D,mEAAmE;QACnE,aAAa;QACb,sDAAsD;QACtD,KAAK;QACL,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC;IACpC,CAAC;IAED,eAAe;QACb,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC;QAC3G,IAAI,CAAC,gCAAgC,CAAC,SAAS,GAAI,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;QACvE,IAAI,CAAC,YAAY,CAAC,eAAe,EAAE,CAAC;IACtC,CAAC;IAED,4BAA4B,CAAC,UAAc;QACzC,IAAI,oBAAoB,GAAG,IAAI,CAAC,YAAY,CAAC,oBAAoB;QACjE,oBAAoB,GAAG,oBAAoB,CAAC,OAAO,CAAC,wBAAwB,EAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC;QAC5G,oBAAoB,GAAG,oBAAoB,CAAC,OAAO,CAAC,sBAAsB,EAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC;QACxG,oBAAoB,GAAG,oBAAoB,CAAC,OAAO,CAAC,kBAAkB,EAAC,UAAU,CAAC,YAAY,CAAC,CAAC;QAChG,OAAO,oBAAoB,CAAC;IAC9B,CAAC;;0GAxJU,6BAA6B;6GAA7B,6BAA6B;kEAW7B,0IAAmC;;;;;QC3BhD,yEAAoD;QAClD,yEAAiF;QAC/E,yEAAyB;QACvB,yEAC2F;QADtF,kJAAS,mDAA2C,IAAC;QACiC,uDAAoB;QAAA,4DAAM;QACrH,yEACkG;QAD7F,kJAAS,0DAAkD,IAAC;QACiC,uDAAuB;QAAA,4DAAM;QAC/H,yEACgG;QAD3F,kJAAS,wDAAgD,IAAC;QACiC,uDAAqB;QAAA,4DAAM;QAC7H,4DAAM;QACN,yEAA2B;QACzB,0EAAwD;QACtD,qFAIoD;QAJpC,sLAAkB,mCAA+B,IAAC,kHAEpD,uCAAmC,IAFiB;QAKhE,2IAWc;QAChB,4DAAiB;QACjB,sEAAuC;QACzC,4DAAM;QACN,0EAA+D;QAC7D,yGAA+E;QAC7E,2EAAyE;QACvE,uEAAsD;QACtD,wEAAM;QAAA,wDAAuB;QAAA,4DAAO;QACtC,4DAAM;QACR,4DAAoC;QACtC,4DAAM;QACN,2EAAsD;QACpD,2EAA4G;QAC1G,4EAEoE;QAA5B,oJAAS,qBAAiB,IAAC;QAAC,4DAAO;QAC3E,4EAA6B;QAAA,wDAAyB;QAAA,4DAAO;QAI7D,kFACkD;QADZ,qNAAkC;QAExE,4DAAa;QACf,4DAAM;QACR,4DAAM;QACR,4DAAM;QACR,4DAAM;QAGN,uEAAK;QACH,oGACoC;QACtC,4DAAM;QACR,4DAAM;;QA1DE,0DAAuE;QAAvE,gMAAuE;QAAkB,0DAAoB;QAApB,qFAAoB;QAE7G,0DAA8E;QAA9E,uMAA8E;QAAkB,0DAAuB;QAAvB,wFAAuB;QAEvH,0DAA4E;QAA5E,qMAA4E;QAAkB,0DAAqB;QAArB,sFAAqB;QAIxB,0DAAW;QAAX,oEAAW;QAqBnE,0DAA2C;QAA3C,wGAA2C;QAChD,0DAA2C;QAA3C,oKAA2C;QAE/D,0DAAuB;QAAvB,wFAAuB;QAKyB,0DAAiD;QAAjD,8GAAiD;QAEvG,0DAAmH;QAAnH,0KAAmH;QAExF,0DAAyB;QAAzB,mGAAyB;QAI1C,0DAAyB;QAAzB,sFAAyB;QAUR,0DAAkC;QAAlC,+FAAkC;;;;;;;;;;;;;;;;;;;;ACrDlE,MAAM,sBAAsB;IAMjC,YAAoB,aAA2B;QAA3B,kBAAa,GAAb,aAAa,CAAc;QAH/C,uBAAkB,GAAO,EAAE;QAIzB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAE,EAAE,CAAC,CAAC;IACtF,CAAC;IAED,SAAS,CAAC,kBAAsB;QAC9B,IAAI,cAAc,GAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAK,EAAC,EAAE,EAAC,CAAC,gBAAgB,IAAE,kBAAkB,CAAC,CAAC;QAC/F,IAAI,eAAe,GAAG,cAAc,IAAG,SAAS,IAAI,cAAc,CAAC,MAAM,GAAC,CAAC,CAAC,CAAC,eAAc,CAAC,CAAC,CAAC,CAAC,MAAM,EAAC,MAAK,CAAC;QAC5G,OAAO,eAAe,CAAC;IACzB,CAAC;IAED,UAAU,CAAC,kBAAsB;QAC/B,IAAI,cAAc,GAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAK,EAAC,EAAE,EAAC,CAAC,gBAAgB,IAAE,kBAAkB,CAAC,CAAC;QAC/F,IAAI,eAAe,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAC7C,OAAO,eAAe,CAAC;IACzB,CAAC;IAED,WAAW,CAAC,kBAAsB;QAChC,IAAI,cAAc,GAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAK,EAAC,EAAE,EAAC,CAAC,gBAAgB,IAAE,kBAAkB,CAAC,CAAC;QAC/F,IAAI,eAAe,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;QAC/C,OAAO,eAAe,CAAC;IACzB,CAAC;IAED,WAAW,CAAC,kBAAsB;QAChC,IAAI,cAAc,GAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAK,EAAC,EAAE,EAAC,CAAC,gBAAgB,IAAE,kBAAkB,CAAC,CAAC;QAC/F,IAAI,eAAe,GAAG,cAAc,IAAG,SAAS,IAAI,cAAc,CAAC,MAAM,GAAC,CAAC,CAAC,CAAC,eAAc,CAAC,CAAC,CAAC,CAAC,MAAM,EAAC,MAAK,CAAC;QAC5G,OAAO,eAAe,CAAC;IACzB,CAAC;;4FAhCU,sBAAsB;yGAAtB,sBAAsB,WAAtB,sBAAsB,mBAFrB,MAAM;;;;;;;;;;;;;ACDpB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAsD;AAEiB;;;;;;AAShE,MAAM,kBAAkB;IAQ7B,YAAoB,MAAc,EAAS,aAA2B,EAAU,eAAsC;QAAlG,WAAM,GAAN,MAAM,CAAQ;QAAS,kBAAa,GAAb,aAAa,CAAc;QAAU,oBAAe,GAAf,eAAe,CAAuB;QANtH,UAAK,GAAe,EAAE,CAAC;QACvB,uBAAkB,GAAO,EAAE;IAK+F,CAAC;IAE3H,QAAQ;QACN,IAAI,CAAC,OAAO,GAAE,iEAAe,CAAC,OAAO,CAAC;QACtC,IAAI,CAAC,QAAQ,EAAE,CAAC;IAClB,CAAC;IACD,QAAQ;QACN,4CAA4C;QAC5C,IAAI,CAAC,KAAK,GAAG;YACX;gBACE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;oBAChC,IAAI,GAAG,GAAE,QAAQ,GAAE,IAAI,CAAC,OAAO,GAAE,OAAO;oBACxC,IAAI,CAAC,UAAU,CAAC,GAAG,EAAC,MAAM,CAAC,CAAC;gBAC9B,CAAC;aACF;YACD;gBACE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;oBACjC,IAAI,GAAG,GAAE,QAAQ,GAAE,IAAI,CAAC,OAAO,GAAE,QAAQ;oBACzC,IAAI,CAAC,UAAU,CAAC,GAAG,EAAC,OAAO,CAAC,CAAC;gBAC/B,CAAC,EAAC,QAAQ,EAAC,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,kFAAqB,CAAC,QAAQ,CAAC,CAAC,CAAC;aACjF;YACD;gBACE,KAAK,EAAE,gBAAgB,EAAE,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;oBAC1C,IAAI,GAAG,GAAE,QAAQ,GAAE,IAAI,CAAC,OAAO,GAAE,iBAAiB;oBAClD,IAAI,CAAC,UAAU,CAAC,GAAG,EAAC,gBAAgB,CAAC,CAAC;gBACxC,CAAC,EAAC,QAAQ,EAAC,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,kFAAqB,CAAC,iBAAiB,CAAC,CAAC,CAAC;aAC1F;YACD;gBACE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;oBACjC,IAAI,GAAG,GAAE,QAAQ,GAAE,IAAI,CAAC,OAAO,GAAE,QAAQ;oBACzC,IAAI,CAAC,UAAU,CAAC,GAAG,EAAC,OAAO,CAAC,CAAC;gBAC/B,CAAC,EAAC,QAAQ,EAAC,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,kFAAqB,CAAC,QAAQ,CAAC,CAAC,CAAC;aACjF;YACD;gBACE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;oBACjC,IAAI,GAAG,GAAE,QAAQ,GAAE,IAAI,CAAC,OAAO,GAAE,QAAQ;oBACzC,IAAI,CAAC,UAAU,CAAC,GAAG,EAAC,OAAO,CAAC,CAAC;gBAC/B,CAAC,EAAC,QAAQ,EAAC,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,kFAAqB,CAAC,QAAQ,CAAC,CAAC,CAAC;aACjF;YACD;gBACE,KAAK,EAAE,gBAAgB,EAAE,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;oBAC1C,IAAI,GAAG,GAAE,QAAQ,GAAE,IAAI,CAAC,OAAO,GAAE,iBAAiB;oBAClD,IAAI,CAAC,UAAU,CAAC,GAAG,EAAC,gBAAgB,CAAC,CAAC;gBACxC,CAAC,EAAC,QAAQ,EAAC,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,kFAAqB,CAAC,eAAe,CAAC,CAAC,CAAC;aACxF;YACD;gBACE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;oBACjC,IAAI,GAAG,GAAE,QAAQ,GAAE,IAAI,CAAC,OAAO,GAAE,QAAQ;oBACzC,IAAI,CAAC,UAAU,CAAC,GAAG,EAAC,OAAO,CAAC,CAAC;gBAC/B,CAAC,EAAC,QAAQ,EAAC,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,kFAAqB,CAAC,QAAQ,CAAC,CAAC,CAAC;aACjF;YACD;gBACE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;oBACjC,IAAI,GAAG,GAAE,QAAQ,GAAE,IAAI,CAAC,OAAO,GAAE,QAAQ;oBACzC,IAAI,CAAC,UAAU,CAAC,GAAG,EAAC,OAAO,CAAC,CAAC;gBAC/B,CAAC,EAAC,QAAQ,EAAC,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,kFAAqB,CAAC,QAAQ,CAAC,CAAC,CAAC;aACjF;YACD;gBACE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;oBACnC,IAAI,GAAG,GAAE,QAAQ,GAAE,IAAI,CAAC,OAAO,GAAE,UAAU;oBAC3C,IAAI,CAAC,UAAU,CAAC,GAAG,EAAC,SAAS,CAAC,CAAC;gBACjC,CAAC,EAAC,QAAQ,EAAC,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,kFAAqB,CAAC,UAAU,CAAC,CAAC,CAAC;aACnF;SACF;QAED,IAAI,GAAG,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAE;IACnC,CAAC;IAED,UAAU,CAAC,KAAS,EAAC,OAAW;QAC9B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC;QAC7B,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,IAAI,CAAC,EAAC,GAAG,EAAC,KAAK,EAAC,CAAC,CAAC;QACpD,iEAAe,CAAC,OAAO,GAAC,OAAO,CAAC;IAClC,CAAC;;oFAjFU,kBAAkB;kGAAlB,kBAAkB;QCd/B,sEAAK;QACH,0EAAiE;QACnE,4DAAM;;QADO,0DAAe;QAAf,4EAAe;;;;;;;;;;;;;;ACD5B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAkH;AAGhD;AAE3C;AAGoB;AAC6B;AAEJ;AACT;;;;;;;;;;;;;;;;;;;ICDvD,2EAAU;IACN,qEAAsC;IACtC,qEAAyB;IACzB,qEAAyB;IACzB,qEAAyB;IACzB,qEAAyB;IACzB,qEAAyB;IACzB,qEAAyB;IAEzB,qEAAwB;IACxB,qEAAwB;IAC5B,4DAAW;;;;IAUD,qFAAiG;IAAzD,6XAAmC;IAAsB,4DAAa;;;IAAxF,6EAAiB;;;IAPjD,qEAAI;IACF,oEAA8C;IAC9C,yEAA4B;IAC1B,0EAA0C;IACxC,2EACA;IAAA,qFAAqH;IACnH,6IAEc;IAChB,4DAAiB;IACnB,4DAAM;IARR,4DAA4B;IAS5B,yEAAsC;IAAA,6EAAkB;IAAA,4DAAK;IAC7D,yEAAc;IAAA,8EAAkB;IAAA,4DAAK;IACrC,0EAAc;IAAA,gFAAoB;IAAA,4DAAK;IACvC,0EAAc;IAAA,gFAAoB;IAAA,4DAAK;IACvC,0EAAc;IAAA,6EAAiB;IAAA,4DAAK;IAEpC,0EAAsC;IAAA,0EAAc;IAAA,4DAAK;IACzD,qEAA0C;IAC5C,4DAAK;;IAdyD,0DAAsB;IAAtB,+EAAsB;;;;IAkChF,2EAA4D;IAC1D,wEAA4F;IAAhC,4aAA+B;IAAC,4DAAI;IAClG,4DAAO;;;;IAGP,2EACoG;IAAlG,kXAAS,mBAAmB,IAAC;IAAqE,4DAAO;;;;IAvB/G,yEAAoF;IAClF,yEAAyC;IACvC,wEAE4E;IAC9E,4DAAK;IACL,yEAA4B;IAAA,uDAAkC;;IAAA,4DAAK;IACnE,yEAA4B;IAAA,uDAAiB;IAAA,4DAAK;IAClD,qEAAI;IAAA,uDAAa;IAAA,4DAAK;IACtB,sEAAI;IAAA,wDAAe;IAAA,4DAAK;IACxB,sEAAI;IACF,2EAAkF;IAAA,wDAClF;IAAA,4DAAM;IACR,4DAAK;IACL,sEAAI;IAAA,wDAAgB;IAAA,4DAAK;IAEzB,0EAA2B;IACzB,iIAEO;IACT,4DAAK;IACL,0EAAyC;IACvC,iIAC2G;IAC3G,kFAAuG;IAA/B,gXAA8B;IAAC,4DAAS;IAClH,4DAAK;IACP,4DAAK;;;;;IA1BD,qFAAwB;IAEc,0DAAoB;IAApB,iFAAoB;IAIhC,0DAAkC;IAAlC,+JAAkC;IAClC,0DAAiB;IAAjB,kFAAiB;IACzC,0DAAa;IAAb,8EAAa;IACb,0DAAe;IAAf,gFAAe;IAEgB,0DAA0B;IAA1B,gGAA0B;IAAuB,0DAClF;IADkF,0FAClF;IAEE,0DAAgB;IAAhB,iFAAgB;IAGX,0DAA8B;IAA9B,gGAA8B;IAMJ,0DAAiE;IAAjE,qIAAiE;IACpF,0DAAc;IAAd,uEAAc;;;IAKhC,yEAAuB;IACrB,yEAAoC;IAClC,0EAAgC;IAC9B,uDACF;IAAA,4DAAM;IACR,4DAAK;IACP,4DAAK;;;IAHC,0DACF;IADE,yFACF;;;IAKJ,qEAAI;IACF,yEAAgB;IACd,0EAA4C;IAC1C,wEAAwC;IAAA,4EAAiB;IAAA,4DAAI;IAC/D,4DAAM;IACR,4DAAK;IACP,4DAAK;;ADnEF,MAAM,kBAAkB;IA2B7B,0EAA0E;IAE1E,YAAmB,SAA0B,EAAS,MAAsB,EAAQ,gBAAkC,EAC7G,mBAAuC,EAAQ,YAAyB,EAAQ,cAA6B;QADnG,cAAS,GAAT,SAAS,CAAiB;QAAS,WAAM,GAAN,MAAM,CAAgB;QAAQ,qBAAgB,GAAhB,gBAAgB,CAAkB;QAC7G,wBAAmB,GAAnB,mBAAmB,CAAoB;QAAQ,iBAAY,GAAZ,YAAY,CAAa;QAAQ,mBAAc,GAAd,cAAc,CAAe;QA5B7G,WAAM,GAAG,EAAsB,CAAC;QAChC,YAAO,GAAa,KAAK,CAAC;QAC1B,WAAM,GAAa,KAAK,CAAC;QACxB,WAAM,GAAG,IAAI,0DAAY,EAAO,CAAC;QACjC,gBAAW,GAAG,IAAI,0DAAY,EAAO,CAAC;QACtC,kBAAa,GAAG,IAAI,0DAAY,EAAW,CAAC;QAC5C,iBAAY,GAAG,IAAI,0DAAY,EAAW,CAAC;QAErD,YAAO,GAAY,IAAI,CAAC;QACxB,cAAS,GAAU,EAAE,CAAC;QACtB,iDAAiD;QACjD,aAAQ,GAAG,+EAAe,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;QAC/C,oBAAe,GAAO,EAAE,CAAC;QACzB,qBAAgB,GAAW,EAAE,CAAC;QAC9B,yBAAoB,GAAK,EAAE,CAAC;QAC5B,oBAAe,GAAa,IAAI,CAAC;QACjC,uBAAkB,GAAG,EAAwB,CAAC;QAC9C,wBAAmB,GAAa,KAAK,CAAC;QACtC,sBAAiB,GAAmB,EAAE,CAAC;QACvC,iBAAY,GAAS,EAAE,CAAC;QAExB,aAAQ,GAAG,CAAC,WAAe,EAAC,UAAc,EAAkB,EAAE,GAAG,OAAO,IAAI,+CAAU,EAAO,GAAC,CAAC;QAC/F,eAAU,GAAG,CAAC,IAAQ,EAAkB,EAAE,GAAG,OAAO,IAAI,+CAAU,EAAO,GAAC,CAAC;QAC3E,mBAAc,GAAG,CAAC,cAAkB,EAAM,EAAE,GAAG,OAAO,EAAE,GAAC,CAAC;QAC1D,wBAAmB,GAAG,GAAU,EAAE,GAAG,OAAO,EAAE,GAAC,CAAC;QAK9C,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,QAAa,EAAE,EAAE;YACzD,IAAI,CAAC,YAAY,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC;YACvC,IAAI,CAAC,gBAAgB,GAAG;gBACtB,EAAC,KAAK,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE,oBAAoB,EAAG,OAAO,EAAC,GAAE,EAAE,GAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,oBAAoB,CAAC,GAAC,EAAC;gBAC7H,EAAC,KAAK,EAAE,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,EAAE,mBAAmB,EAAE,OAAO,EAAC,GAAE,EAAE,GAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,oBAAoB,CAAC,GAAC,EAAC;aAC1H;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,QAAQ;QACN,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC;QACtD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC;QAC5D,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC,cAAc,IAAI,IAAI,CAAC,cAAc;QACvE,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,MAAM,CAAC,gBAAgB,IAAI,IAAI,CAAC,gBAAgB,CAAC;QAC9E,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,MAAM,CAAC,iBAAiB,IAAI,IAAI,CAAC,iBAAiB,CAAC;IACnF,CAAC;IAED,WAAW,CAAC,OAAqB;QAC/B,IAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAC;YAC1B,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;YACrB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACtC,IAAI,CAAC,gBAAgB,EAAE,CAAC;SACzB;QAED,IAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAC;YACzB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;YACpB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACpC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;SAC1C;IAEH,CAAC;IACD,aAAa,CAAC,YAAgB;QAC5B,IAAI,CAAC,oBAAoB,GAAG,YAAY,CAAC;IAC3C,CAAC;IACD,UAAU,CAAC,OAAqB;QAC9B,OAAc,OAAO,CAAC,OAAO;eACf,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW;eAC5B,OAAO,CAAC,OAAO,CAAC,YAAY;eAC5B,OAAO,CAAC,OAAO,CAAC,aAAa,IAAI,OAAO,CAAC,OAAO,CAAC,YAAY;IAC7E,CAAC;IAED,SAAS,CAAC,OAAqB;QAC7B,OAAc,OAAO,CAAC,MAAM;eACd,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW;eAC3B,OAAO,CAAC,MAAM,CAAC,YAAY;eAC3B,OAAO,CAAC,MAAM,CAAC,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC,YAAY;IAC3E,CAAC;IAED,aAAa,CAAC,KAAS,EAAC,WAAe;QACrC,IAAG,CAAC,IAAI,CAAC,MAAM,CAAC,iBAAiB;YAC/B,WAAW,CAAC,IAAI,EAAE;IACtB,CAAC;IAED,WAAW,CAAC,KAAmB;;QAE7B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,8CAA8C,CAAC;QAChE,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;QAC/B,MAAM,eAAe,GAAG,CAAC,WAAe,EAAC,EAAE;YACzC,IAAI,aAAa,GAAG,KAAK,CAAC;YAC1B,6CAAC,CAAC,IAAI,CAAC,WAAW,EAAC,UAAU,GAAE;gBAC7B,IAAG,CAAC,6CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC;oBAC7B,aAAa,GAAG,IAAI,CAAC;YACzB,CAAC,CAAC;YACF,OAAO,aAAa,CAAC;QACvB,CAAC;QAED,IAAI,CAAC,eAAe,CAAC,UAAU,GAAG,CAAC,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,OAAC,KAAK,CAAC,IAAI,mCAAI,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACpJ,IAAI,KAAK,CAAC,IAAI,EAAC;YACb,IAAI,CAAC,eAAe,CAAC,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC;SAC5C;QACD,IAAI,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QAC7C,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QAEpB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC,SAAS,CACvE,QAAQ,CAAC,EAAE;YACT,IAAG,QAAQ,IAAI,IAAI,IAAI,QAAQ,CAAC,IAAI,IAAI,IAAI,EAAC;gBAC7C,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC;gBAC/B,IAAI,QAAQ,CAAC,UAAU,EAAC;oBACtB,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;oBAC9C,IAAI,CAAC,eAAe,CAAC,yBAAyB,GAAE,IAAI,CAAC,4BAA4B,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;oBACvG,IAAG,eAAe,CAAC,WAAW,CAAC;wBAC7B,IAAI,CAAC,eAAe,CAAC,yBAAyB,GAAE,IAAI,CAAC,oCAAoC,CAAC,QAAQ,CAAC,UAAU,EAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;iBACtI;aACF;QACD,CAAC,EAAE,KAAK,CAAC,EAAE;YACT,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;YACpB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;YACrB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,8CAA8C,CAAC;YAChE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;QACzC,CAAC,EAAE,GAAG,EAAE;YACN,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;YACrB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,4CAA4C,CAAC;QAChE,CAAC,CACF,CAAC;IACJ,CAAC;IAED,mBAAmB,CAAC,aAAiB;QACnC,IAAI,CAAC,eAAe,CAAC,QAAQ,GAAG,aAAa,CAAC,QAAQ,CAAC;QACvD,IAAI,CAAC,eAAe,CAAC,kBAAkB,GAAG,aAAa,CAAC,eAAe,CAAC;QACxE,IAAI,CAAC,eAAe,CAAC,UAAU,GAAG,aAAa,CAAC,UAAU,CAAC;QAC3D,IAAI,CAAC,eAAe,CAAC,YAAY,GAAG,aAAa,CAAC,YAAY,CAAC;IACjE,CAAC;IAED,4BAA4B,CAAC,UAAc;QACzC,IAAI,oBAAoB,GAAG,IAAI,CAAC,YAAY,CAAC,oBAAoB;QACjE,IAAG,oBAAoB,EAAC;YACtB,oBAAoB,GAAG,oBAAoB,CAAC,OAAO,CAAC,wBAAwB,EAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC;YAC5G,oBAAoB,GAAG,oBAAoB,CAAC,OAAO,CAAC,sBAAsB,EAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC;YACxG,oBAAoB,GAAG,oBAAoB,CAAC,OAAO,CAAC,kBAAkB,EAAC,UAAU,CAAC,YAAY,CAAC,CAAC;SACjG;QACD,OAAO,oBAAoB,CAAC;IAC9B,CAAC;IAED,oCAAoC,CAAC,UAAc,EAAC,UAAc;QAChE,IAAI,oBAAoB,GAAG,IAAI,CAAC,YAAY,CAAC,4BAA4B;QACzE,IAAG,oBAAoB,EAAC;YACtB,oBAAoB,GAAG,oBAAoB,CAAC,OAAO,CAAC,wBAAwB,EAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC;YAC5G,oBAAoB,GAAG,oBAAoB,CAAC,OAAO,CAAC,sBAAsB,EAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC;YACxG,oBAAoB,GAAG,oBAAoB,CAAC,OAAO,CAAC,kBAAkB,EAAC,UAAU,CAAC,YAAY,CAAC,CAAC;YAChG,oBAAoB,GAAG,oBAAoB,CAAC,OAAO,CAAC,4BAA4B,EAAC,UAAU,CAAC,sBAAsB,CAAC,CAAC;SACrH;QACD,OAAO,oBAAoB,CAAC;IAC9B,CAAC;IAED,6BAA6B;IAC7B,YAAY,CAAC,MAAc;QACzB,gFAAgF;QAChF,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,SAAS,CACpG,QAAQ,CAAC,EAAE;YACT,IAAI,cAAc,GAAG,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC;YAC/C,IAAI,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;YAE/C,IAAI,WAAW,GAAG,IAAI,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;YACnD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,cAAc,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBAC9C,WAAW,CAAC,CAAC,CAAC,GAAG,cAAc,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;aAC/C;YAED,IAAI,SAAS,GAAG,IAAI,UAAU,CAAC,WAAW,CAAC,CAAC;YAE5C,IAAI,IAAI,GAAG,IAAI,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;YAEjC,IAAI,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;YAEvC,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;YAEtC,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;YAC1C,IAAI,CAAC,QAAQ,GAAG,cAAc,CAAC,WAAW,CAAC;YAE3C,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YAChC,IAAI,CAAC,KAAK,EAAE,CAAC;YACb,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAElC,CAAC,EAAE,KAAK,CAAC,EAAE;YACT,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;YACnC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACzB,CAAC,EAAE,GAAG,EAAE;QAER,CAAC,CACF,CAAC;IACJ,CAAC;IAED,aAAa,CAAC,IAAQ;QACpB,IAAI,qBAAqB,GAAG,IAAI,CAAC,YAAY,CAAC,qBAAqB,CAAC;QACpE,qBAAqB,GAAG,qBAAqB,CAAC,OAAO,CAAC,gBAAgB,EAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;QAC9F,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC;YAC/B,OAAO,EAAE,qBAAqB;YAC9B,MAAM,EAAE,GAAG,EAAE;gBACX,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAC,IAAI,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,QAAQ,EAAC,EAAE;oBACtG,IAAI,eAAe,GAAG,IAAI,CAAC,YAAY,CAAC,eAAe;oBACvD,eAAe,GAAG,eAAe,CAAC,OAAO,CAAC,gBAAgB,EAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;oBAClF,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,EAAC,QAAQ,EAAC,SAAS,EAAE,OAAO,EAAC,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,EAAC,eAAe,EAAC,CAAC,CAAC;oBACzG,2CAA2C;oBAC3C,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACxC,CAAC,EACD,KAAK,GAAE;gBAEP,CAAC,CAAC;YACJ,CAAC;YACD,MAAM,EAAC,GAAE,EAAE;YAEX,CAAC;SACF,CAAC,CAAC;IACL,CAAC;IAED,uBAAuB,CAAC,MAAU;QAChC,IAAG,IAAI,CAAC,SAAS,EAAC;YAChB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAE,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;gBACtC,IAAG,IAAI,CAAC,EAAE,IAAI,MAAM;oBAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,EAAC,CAAC,CAAC,CAAC;YACvD,CAAC,CAAC,CAAC;SACJ;IACH,CAAC;IAED,gBAAgB;QACd,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAClD,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;IAClC,CAAC;IAED,iBAAiB,CAAC,IAAQ;QACxB,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;QACvD,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;IAClC,CAAC;IAED,iBAAiB,CAAC,IAAQ;QACxB,IAAI,eAAe,GAAY,IAAI,CAAC,YAAY,CAAC,eAAe;QAChE,eAAe,GAAG,eAAe,CAAC,OAAO,CAAC,gBAAgB,EAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;QAClF,OAAO;YACL,MAAM,EAAC,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE;YAC5D,aAAa,EAAC,eAAe;YAC7B,MAAM,EAAC,IAAI,CAAC,MAAM,CAAC,MAAM;YACzB,QAAQ,EAAC,IAAI,CAAC,MAAM,CAAC,QAAQ;YAC7B,UAAU,EAAC,IAAI,CAAC,MAAM,CAAC,UAAU;YACjC,MAAM,EAAC,MAAM;YACb,WAAW,EAAG,GAAE,EAAE;gBAChB,OAAO,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC;YAC3G,CAAC;YACD,QAAQ,EAAG,CAAC,cAAgB,EAAE,EAAC,EAAE;gBAC/B,WAAW,CAAC,MAAM,GAAG,WAAW,CAAC;gBACjC,WAAW,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;gBACrC,OAAO,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,EAAC,WAAW,CAAC,CAAC;YAClH,CAAC;YACD,WAAW,EAAG,CAAC,YAAgB,EAAC,EAAE;gBAChC,IAAI,IAAI,GAAG,YAAY,CAAC,QAAQ;gBAChC,IAAI,gBAAgB,GAAG,6CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,SAAS,EAAC,EAAC,EAAE,EAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAC,CAAC;gBAC7F,OAAO,IAAI,wDAAS,CAAC;oBACnB,QAAQ,EAAE,IAAI,0DAAW,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,yDAAU,CAAC,QAAQ,CAAC;oBACxG,UAAU,EAAE,IAAI,0DAAW,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,EAAE,yDAAU,CAAC,QAAQ,CAAC;oBAC9G,YAAY,EAAE,IAAI,0DAAW,CAAC,gBAAgB,EAAE,yDAAU,CAAC,QAAQ,CAAC;oBACpE,OAAO,EAAE,IAAI,0DAAW,CAAC,IAAI,CAAC,OAAO,EAAE,yDAAU,CAAC,QAAQ,CAAC;oBAC3D,KAAK,EAAE,IAAI,0DAAW,CAAC,IAAI,CAAC,IAAI,CAAC;oBACjC,UAAU,EAAE,IAAI,0DAAW,EAAE;oBAC7B,UAAU,EAAE,IAAI,0DAAW,EAAE;oBAC7B,QAAQ,EAAE,IAAI,0DAAW,EAAE;iBAC5B,CAAC,CAAC;YACL,CAAC;SACF;IACH,CAAC;IAED,gBAAgB;QACd,IAAI,YAAY,GAAY,IAAI,CAAC,YAAY,CAAC,YAAY;QAC1D,YAAY,GAAG,YAAY,CAAC,OAAO,CAAC,gBAAgB,EAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;QAC5E,OAAO;YACL,MAAM,EAAC,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE;YAC3D,aAAa,EAAG,YAAY;YAC5B,MAAM,EAAC,IAAI,CAAC,MAAM,CAAC,MAAM;YACzB,QAAQ,EAAC,IAAI,CAAC,MAAM,CAAC,QAAQ;YAC7B,UAAU,EAAC,IAAI,CAAC,MAAM,CAAC,UAAU;YACjC,MAAM,EAAC,KAAK;YACZ,WAAW,EAAG,GAAE,EAAE;gBAChB,OAAO,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,0DAAG,CAAC,QAAQ,GAAE;oBACtG,IAAI,IAAI,GAAG,QAAQ,CAAC,IAAI,IAAI,EAAE,CAAC;oBAC/B,IAAI,CAAC,iBAAiB,GAAG;wBACvB,SAAS,EAAC,IAAI,CAAC,SAAS;wBACxB,YAAY,EAAC,IAAI,CAAC,YAAY;wBAC9B,SAAS,EAAC,IAAI,CAAC,SAAS;qBACzB;oBACD,OAAO,QAAQ;gBACjB,CAAC,CAAC,CAAC,CAAC;YACN,CAAC;YACD,QAAQ,EAAG,CAAC,cAAgB,EAAE,EAAC,EAAE;gBAC/B,WAAW,CAAC,MAAM,GAAG,WAAW,CAAC;gBACjC,WAAW,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;gBACrC,OAAO,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAC,WAAW,CAAC,CAAC;YAC5F,CAAC;YACD,WAAW,EAAG,GAAE,EAAE;gBAChB,OAAO,IAAI,wDAAS,CAAC;oBACnB,QAAQ,EAAE,IAAI,0DAAW,CAAC,IAAI,EAAE,yDAAU,CAAC,QAAQ,CAAC;oBACpD,UAAU,EAAE,IAAI,0DAAW,CAAC,IAAI,EAAE,yDAAU,CAAC,QAAQ,CAAC;oBACtD,YAAY,EAAE,IAAI,0DAAW,CAAC,IAAI,EAAE,yDAAU,CAAC,QAAQ,CAAC;oBACxD,OAAO,EAAE,IAAI,0DAAW,CAAC,IAAI,EAAE,yDAAU,CAAC,QAAQ,CAAC;oBACnD,KAAK,EAAE,IAAI,0DAAW,EAAE;oBACxB,UAAU,EAAE,IAAI,0DAAW,EAAE;oBAC7B,UAAU,EAAE,IAAI,0DAAW,EAAE;oBAC7B,QAAQ,EAAE,IAAI,0DAAW,EAAE;iBAC5B,CAAC,CAAC;YACL,CAAC;SACF;IACH,CAAC;;oFAnTU,kBAAkB;kGAAlB,kBAAkB,4SAFlB,CAAC,+DAAmB,CAAC;;QCrBlC,6EAQyB;QAR+B,2JAAc,uBAAmB,IAAC,kPAIzE,8BAAyB,IAJgD;QASxF,+HAaY;QACZ,+HAqBc;QACd,gIA4Bc;QACd,8HAQc;QACd,8HAQc;QAChB,4DAAU;QAGV,iFAA8E;QAC9E,gFAAyJ;QACzJ,uFAG6D;QAFzC,+MAAiC,8FACvB,sCAA8B,SAAC,uBAAmB,IAD3B,+GAElB,4BAAwB,IAFN;QAGrD,4DAAoB;QACpB,sEAAmB;;;QApGjB,+IAAyE;QAFlE,gFAAmB;QA+FT,0DAA0B;QAA1B,uFAA0B;QAEzB,0DAA6B;QAA7B,0FAA6B;;;;;;;;;;;;;;ACjGjD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAiF;AAIV;AAEL;AAIU;AAGrB;AAEa;AAC/B;;;;;;;;;;;;;;;;;;;;;;;ICR/B,0EAAgD;IAC9C,6EACiC;IAA/B,gUAA8B;IAAC,4DAAS;IAC5C,4DAAM;;;;IAeN,sEAAkC;IAChC,2FAAmF;IAArC,8VAAoC;IAAC,4DAAuB;IAC5G,4DAAM;;;IADkB,0DAAuB;IAAvB,uFAAuB;;;;IAE/C,sEAAqC;IACnC,oGAAqG;IAAxC,0WAAuC;IACpG,4DAAgC;IAClC,4DAAM;;;IAF2B,0DAA6B;IAA7B,6FAA6B;;;;IAG9D,sEAA+B;IAC7B,mFAA+E;IAAjC,qVAAgC;IAAC,4DAAe;IAChG,4DAAM;;;IADU,0DAA+B;IAA/B,+FAA+B;;;;ADX9C,MAAM,mBAAmB;IAgD9B,YAAoB,IAAgB,EAAU,MAAsB,EAAS,gBAAkC,EACtG,aAA4B,EAAS,cAA8B,EAAS,WAAyB,EACpG,aAA2B,EAAU,cAA8B,EAAU,MAAa;QAFhF,SAAI,GAAJ,IAAI,CAAY;QAAU,WAAM,GAAN,MAAM,CAAgB;QAAS,qBAAgB,GAAhB,gBAAgB,CAAkB;QACtG,kBAAa,GAAb,aAAa,CAAe;QAAS,mBAAc,GAAd,cAAc,CAAgB;QAAS,gBAAW,GAAX,WAAW,CAAc;QACpG,kBAAa,GAAb,aAAa,CAAc;QAAU,mBAAc,GAAd,cAAc,CAAgB;QAAU,WAAM,GAAN,MAAM,CAAO;QAhDpG,YAAO,GAAG,IAAI,CAAC,CAAC,mBAAmB;QACnC,cAAS,GAAS,IAAI,CAAC;QACvB,UAAK,GAAe,EAAE,CAAC;QAEvB,sBAAiB,GAAS;YACxB,MAAM,EAAG,cAAc;YACvB,MAAM,EAAG,oEAAU,CAAC,KAAK;SAC1B,CAAC;QACF,oBAAe,GAAW,KAAK,CAAC;QAEhC,kBAAa,GAAG,EAAwB,CAAC;QACzC,kBAAa,GAAK,EAAE,CAAC;QACrB,sBAAiB,GAAmB,EAAE,CAAC;QAC7B,WAAM,GAAG,IAAI,0DAAY,EAAO,CAAC;QACjC,gBAAW,GAAG,IAAI,0DAAY,EAAO,CAAC;QAKhD,qBAAqB;QACrB,mBAAc,GAAY,IAAI,CAAC;QAC/B,sBAAiB,GAAa,KAAK,CAAC;QACpC,YAAO,GAAY,IAAI,CAAC;QACxB,aAAQ,GAAW,CAAC,CAAC;QACrB,iBAAY,GAAW,CAAC,CAAC;QACzB,UAAK,GAAY,KAAK,CAAC;QACvB,yBAAoB,GAAY,KAAK,CAAC;QACtC,0BAAqB,GAAY,KAAK,CAAC;QACvC,kBAAa,GAAY,KAAK,CAAC;QAC/B,aAAQ,GAAY,IAAI,CAAC;QACzB,eAAU,GAAY,IAAI,CAAC;QAC3B,eAAU,GAAY,IAAI,CAAC;QAC3B,cAAS,GAAY,KAAK,CAAC;QAC3B,wBAAmB,GAAW,CAAC,CAAC;QAChC,uBAAkB,GAAW,CAAC,CAAC;QAC/B,UAAK,GAAS,MAAM,CAAC;QAKrB,eAAU,GAAQ,EAAE,CAAC;QACrB,aAAQ,GAAQ,EAAE,CAAC;QAEnB,cAAS,GAAQ,EAAE,CAAC;QACpB,iBAAY,GAAG,yBAAyB,CAAC;QAMrC,+EAAe,CAAC,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAE,CAAC,CAAC,CAAC;QACrF,6BAA6B;IAE/B,CAAC;IAEH,QAAQ;QACN,IAAI,CAAC,OAAO,GAAG,+EAAe,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;QAClD,IAAI,CAAC,SAAS,GAAG,+EAAe,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;QACtD,IAAI,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,EAAC,EAAE,CAAC,CAAC;QAC1C,IAAI,CAAC,SAAS,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,CAAC;IAC5B,CAAC;IACD,iBAAiB;QACf,IAAI,CAAC,iBAAiB,GAAG,CAAC,IAAI,CAAC,iBAAiB,CAAC;IACnD,CAAC;IAED,iBAAiB;QACf,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;QAC/B,IAAI,CAAC,QAAQ,GAAC,EAAE,CAAC;IACnB,CAAC;IAED,kBAAkB;QAChB,+EAAe,CAAC,QAAQ,GAAG,CAAC,+EAAe,CAAC,QAAQ;QACpD,IAAI,CAAC,OAAO,GAAG,CAAC,IAAI,CAAC,OAAO;QAC5B,IAAI,CAAC,KAAK,GAAE,CAAC,IAAI,CAAC,KAAK;QACvB,IAAI,IAAI,CAAC,kBAAkB,IAAI,SAAS,EAAC;YACvC,IAAG,+EAAe,CAAC,QAAQ,EAAC;gBAC1B,IAAI,CAAC,kBAAkB,CAAC,aAAa,EAAE;aACxC;iBACG;gBACF,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,EAAE,CAAC;aAC5C;SACF;IACH,CAAC;IAED,mBAAmB;QACjB,IAAI,kBAAkB,GAAO,EAAE;QAC/B,WAAW;QACX,kBAAkB,CAAC,IAAI,CAAC,yFAAqB,CAAC,OAAO,CAAC,CAAC;QACvD,kBAAkB,CAAC,IAAI,CAAC,yFAAqB,CAAC,QAAQ,CAAC,CAAC;QACxD,kBAAkB,CAAC,IAAI,CAAC,yFAAqB,CAAC,QAAQ,CAAC,CAAC;QACxD,kBAAkB,CAAC,IAAI,CAAC,yFAAqB,CAAC,eAAe,CAAC,CAAC;QAC/D,kBAAkB,CAAC,IAAI,CAAC,yFAAqB,CAAC,QAAQ,CAAC,CAAC;QACxD,kBAAkB,CAAC,IAAI,CAAC,yFAAqB,CAAC,QAAQ,CAAC,CAAC;QACxD,kBAAkB,CAAC,IAAI,CAAC,yFAAqB,CAAC,QAAQ,CAAC,CAAC;QACxD,kBAAkB,CAAC,IAAI,CAAC,yFAAqB,CAAC,iBAAiB,CAAC,CAAC;QACjE,kBAAkB,CAAC,IAAI,CAAC,yFAAqB,CAAC,UAAU,CAAC,CAAC;QAE1D,OAAO;QACP,kBAAkB,CAAC,IAAI,CAAC,yFAAqB,CAAC,OAAO,CAAC,CAAC;QACvD,kBAAkB,CAAC,IAAI,CAAC,yFAAqB,CAAC,OAAO,CAAC,CAAC;QACvD,kBAAkB,CAAC,IAAI,CAAC,yFAAqB,CAAC,SAAS,CAAC,CAAC;QAEzD,gBAAgB;QAChB,kBAAkB,CAAC,IAAI,CAAC,yFAAqB,CAAC,UAAU,CAAC,CAAC;QAC1D,kBAAkB,CAAC,IAAI,CAAC,yFAAqB,CAAC,MAAM,CAAC,CAAC;QACvD,2DAA2D;QAC1D,kBAAkB,CAAC,IAAI,CAAC,yFAAqB,CAAC,gBAAgB,CAAC,CAAC;QAChE,kBAAkB,CAAC,IAAI,CAAC,yFAAqB,CAAC,WAAW,CAAC,CAAC;QAG3D,OAAO;QACP,kBAAkB,CAAC,IAAI,CAAC,yFAAqB,CAAC,QAAQ,CAAC,CAAC;QACxD,kBAAkB,CAAC,IAAI,CAAC,yFAAqB,CAAC,OAAO,CAAC,CAAC;QAEvD,OAAO;QACP,kBAAkB,CAAC,IAAI,CAAC,yFAAqB,CAAC,SAAS,CAAC,CAAC;QACzD,kBAAkB,CAAC,IAAI,CAAC,yFAAqB,CAAC,WAAW,CAAC,CAAC;QAE3D,SAAS;QACT,kBAAkB,CAAC,IAAI,CAAC,yFAAqB,CAAC,MAAM,CAAC,CAAC;QACtD,kBAAkB,CAAC,IAAI,CAAC,yFAAqB,CAAC,OAAO,CAAC,CAAC;QACvD,kBAAkB,CAAC,IAAI,CAAC,yFAAqB,CAAC,IAAI,CAAC,CAAC;QACpD,kBAAkB,CAAC,IAAI,CAAC,yFAAqB,CAAC,UAAU,CAAC,CAAC;QAE1D,OAAO;QACP,kBAAkB,CAAC,IAAI,CAAC,yFAAqB,CAAC,YAAY,CAAC,CAAC;QAC5D,kBAAkB,CAAC,IAAI,CAAC,yFAAqB,CAAC,kBAAkB,CAAC,CAAC;QAClE,kBAAkB,CAAC,IAAI,CAAC,yFAAqB,CAAC,aAAa,CAAC,CAAC;QAC7D,kBAAkB,CAAC,IAAI,CAAC,yFAAqB,CAAC,gBAAgB,CAAC,CAAC;QAChE,kBAAkB,CAAC,IAAI,CAAC,yFAAqB,CAAC,WAAW,CAAC,CAAC;QAE3D,eAAe;QACf,kBAAkB,CAAC,IAAI,CAAC,yFAAqB,CAAC,QAAQ,CAAC,CAAC;QACxD,kBAAkB,CAAC,IAAI,CAAC,yFAAqB,CAAC,MAAM,CAAC,CAAC;QACtD,kBAAkB,CAAC,IAAI,CAAC,yFAAqB,CAAC,QAAQ,CAAC,CAAC;QAExD,IAAI,CAAC,aAAa,CAAC,kBAAkB,CAAC,+EAAe,CAAC,MAAM,EAAC,IAAI,CAAC,OAAO,EAAC,kBAAkB,CAAC,CAAC,SAAS,CACrG,IAAI,GAAE;YACJ,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,qBAAqB,EAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YAC7E,kEAAkE;QACpE,CAAC,CACF;IAEH,CAAC;IAED,SAAS,CAAC,SAAa;QAErB,IAAG,+EAAe,CAAC,QAAQ,EAAC;YAC1B,IAAI,CAAC,OAAO,GAAE,KAAK,CAAC;YACpB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;SACnB;QACD,uBAAuB;QACvB,IAAI,IAAI,CAAC,kBAAkB,IAAI,SAAS;YACtC,IAAI,CAAC,kBAAkB,CAAC,aAAa,EAAE,CAAC;QAC1C,IAAG,SAAS,CAAC,GAAG,IAAI,QAAQ,GAAE,IAAI,CAAC,OAAO,GAAE,OAAO,EAAC;YAClD,IAAI,CAAC,SAAS,GAAC,KAAK,CAAC;SACtB;IACH,CAAC;IAED,gBAAgB;QACb,+EAAe,CAAC,QAAQ,GAAG,CAAC,+EAAe,CAAC,QAAQ;QACpD,IAAI,CAAC,OAAO,GAAG,CAAC,IAAI,CAAC,OAAO;QAC5B,IAAI,CAAC,KAAK,GAAE,CAAC,IAAI,CAAC,KAAK;IACzB,CAAC;IAEF,uGAAuG;IACvG,QAAQ,CAAC,YAAgB;QACvB,IAAG,YAAY,IAAI,SAAS,EAC5B;YACE,IAAI,YAAY,CAAC,IAAI,IAAG,SAAS,EACjC;gBACE,IAAI,CAAC,aAAa,GAAG,YAAY,CAAC,MAAM,CAAC;gBACzC,IAAI,CAAC,iBAAiB,CAAC,OAAO,GAAG,IAAI,CAAC;aACvC;iBACG;gBACH,IAAI,YAAY,CAAC,IAAI,IAAG,YAAY,EACnC;oBACE,IAAI,CAAC,UAAU,GAAE,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,gBAAgB;oBAC/E,IAAI,CAAC,QAAQ,GAAC,YAAY,CAAC;oBAC3B,IAAI,CAAC,YAAY,GAAC,YAAY,CAAC,MAAM,CAAC;iBACvC;qBACI,IAAI,YAAY,CAAC,IAAI,IAAG,SAAS,EACtC;oBACE,IAAI,CAAC,UAAU,GAAE,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,aAAa;oBACzE,IAAI,CAAC,QAAQ,GAAC,SAAS,CAAC;oBACxB,IAAI,CAAC,SAAS,GAAC,YAAY,CAAC,MAAM,CAAC;iBACpC;qBACE,IAAI,YAAY,CAAC,IAAI,IAAG,MAAM,EACnC;oBACE,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;oBAC7C,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;oBAC5B,OAAO;iBACR;qBACI,IAAI,YAAY,CAAC,IAAI,IAAG,MAAM,EACnC;oBACE,IAAI,CAAC,UAAU,GAAC,UAAU;oBAC1B,IAAI,CAAC,QAAQ,GAAC,MAAM,CAAC;oBACrB,IAAI,CAAC,aAAa,CAAC,MAAM,GAAC,oEAAU,CAAC,KAAK;oBAC1C,IAAI,CAAC,aAAa,CAAC,QAAQ,GAAC,IAAI,CAAC,OAAO,CAAC;iBAE1C;gBACC,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;aAC/B;SAEF;IACH,CAAC;IAED,eAAe,CAAC,QAAa;QAC3B,IAAI,CAAC,kBAAkB,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;QAClD,IAAI,QAAQ,CAAC,KAAK,IAAI,QAAQ,IAAI,QAAQ,CAAC,KAAK,IAAG,QAAQ;YACzD,IAAI,CAAC,iBAAiB,EAAE;IAC5B,CAAC;IAED,kBAAkB,CAAC,QAAa;QAC9B,IAAI,CAAC,kBAAkB,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;QACrD,IAAI,QAAQ,CAAC,KAAK,IAAI,QAAQ,IAAI,QAAQ,CAAC,KAAK,IAAG,QAAQ,EAAE;YAC3D,IAAI,CAAC,iBAAiB,EAAE;SACzB;IACH,CAAC;IAED,iBAAiB,CAAC,WAAe;QAC/B,IAAI,CAAC,kBAAkB,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;IACzD,CAAC;IAED,WAAW,CAAC,WAAe;QACzB,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;QACjD,IAAI,WAAW,CAAC,KAAK,IAAI,MAAM,IAAI,WAAW,CAAC,KAAK,IAAG,QAAQ;YAC7D,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC7B,CAAC;IAED,WAAW,CAAC,KAAoB;QAC9B,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;IACzF,CAAC;IAED,gBAAgB;QACd,IAAI,YAAY,GAAY,eAAe;QAC3C,OAAO;YACL,MAAM,EAAC,UAAU;YACjB,aAAa,EAAG,YAAY;YAC5B,MAAM,EAAC,oEAAU,CAAC,KAAK;YACvB,QAAQ,EAAC,IAAI,CAAC,OAAO;YACrB,UAAU,EAAC,+EAAe,CAAC,SAAS;YACpC,MAAM,EAAC,KAAK;YACZ,WAAW,EAAG,GAAE,EAAE;gBAChB,OAAO,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC,oEAAU,CAAC,KAAK,EAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,0DAAG,CAAC,QAAQ,GAAE;oBAC3F,IAAI,IAAI,GAAG,QAAQ,CAAC,IAAI,IAAI,EAAE,CAAC;oBAC/B,IAAI,CAAC,iBAAiB,GAAG;wBACvB,SAAS,EAAC,IAAI,CAAC,SAAS;wBACxB,YAAY,EAAC,IAAI,CAAC,YAAY;wBAC9B,SAAS,EAAC,IAAI,CAAC,SAAS;qBACzB;oBACD,OAAO,QAAQ;gBACjB,CAAC,CAAC,CAAC,CAAC;YACN,CAAC;YACD,QAAQ,EAAG,CAAC,cAAgB,EAAE,EAAC,EAAE;gBAC/B,WAAW,CAAC,MAAM,GAAG,WAAW,CAAC;gBACjC,WAAW,CAAC,QAAQ,GAAG,+EAAe,CAAC,QAAQ,CAAC;gBAChD,OAAO,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,oEAAU,CAAC,KAAK,EAAC,IAAI,CAAC,OAAO,EAAC,WAAW,CAAC,CAAC;YACjF,CAAC;YACD,WAAW,EAAG,GAAE,EAAE;gBAChB,OAAO,IAAI,wDAAS,CAAC;oBACnB,QAAQ,EAAE,IAAI,0DAAW,CAAC,IAAI,EAAE,yDAAU,CAAC,QAAQ,CAAC;oBACpD,UAAU,EAAE,IAAI,0DAAW,CAAC,IAAI,EAAE,yDAAU,CAAC,QAAQ,CAAC;oBACtD,YAAY,EAAE,IAAI,0DAAW,CAAC,IAAI,EAAE,yDAAU,CAAC,QAAQ,CAAC;oBACxD,OAAO,EAAE,IAAI,0DAAW,CAAC,IAAI,EAAE,yDAAU,CAAC,QAAQ,CAAC;oBACnD,KAAK,EAAE,IAAI,0DAAW,EAAE;oBACxB,UAAU,EAAE,IAAI,0DAAW,EAAE;oBAC7B,UAAU,EAAE,IAAI,0DAAW,EAAE;oBAC7B,QAAQ,EAAE,IAAI,0DAAW,EAAE;iBAC5B,CAAC,CAAC;YACL,CAAC;SACF;IACH,CAAC;IAEA,SAAS,CAAC,KAAS,EAAE,IAAQ;QAC5B,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;IACxE,CAAC;;sFAtRU,mBAAmB;mGAAnB,mBAAmB;kEAkBnB,mFAAkB;;;;;QC1C/B,0FAA4C;QAE1C,gFAI8C;QAC5C,sEAAK;QACH,oFAA6F;QAA7E,6KAAsB,sBAAkB,IAAC,+GAAiB,oBAAgB,IAAjC;QAAoC,4DAAiB;QAC9G,+GAGM;QACR,4DAAM;QAER,4DAAa;QACb,gFAI0E;QAJ9D,qMAA8B;QAKxC,yEAA4B;QAC1B,0EAAoC;QAAA,uDAAc;QAAA,4DAAO;QACzD,yEAAuE;QAA9B,wIAAS,uBAAmB,IAAC;QACpE,mEAA8C;QAChD,4DAAM;QACR,4DAAM;QACJ,iHAEM;QACN,iHAGM;QACN,iHAEM;QAMV,4DAAa;QAEb,2EAAqH;QACnH,2EAAwB;QACtB,0EAAiD;QACjD,2EAA6B;QAC3B,6EAAiC;QACnC,4DAAM;QACN,4EAA+B;QACjC,4DAAM;QACR,4DAAM;QAER,4DAAuB;QAEvB,wFAAqH;QAAzC,sKAAc,6BAAyB,IAAC;QAAC,4DAAmB;QACxI,yFAC4C;QADA,6MAA6B,gGAAY,sCAA8B,SAAC,uBAAmB,IAA9D,iHACvD,4BAAwB,IAD+B;QAEzE,4DAAoB;;QAzDN,0DAAkB;QAAlB,+EAAkB;QAOpB,0DAAkB;QAAlB,oFAAkB;QAOhB,0DAA8B;QAA9B,yFAA8B;QAMF,0DAAc;QAAd,+EAAc;QAK5C,0DAA0B;QAA1B,2FAA0B;QAG1B,0DAA6B;QAA7B,8FAA6B;QAI7B,0DAAuB;QAAvB,wFAAuB;QAUmB,0DAAgE;QAAhE,kKAAgE;QAYpG,0DAA2B;QAA3B,wFAA2B;QAC1B,0DAAwB;QAAxB,qFAAwB;;;;;;;;;;;;;;ACxD3C;AAAA;AAAA;AAAA;AAA2C;AACJ;;AAKhC,MAAM,aAAa;IAqBxB;QAnBA,mBAAc,GAAG,IAAI,4CAAO,EAAO;QACnC,iBAAY,GAAG,IAAI,4CAAO,EAAO;QACjC,iBAAY,GAAG,IAAI,4CAAO,EAAO;QACjC,uBAAkB,GAAG,IAAI,4CAAO,EAAO;QACvC,0BAAqB,GAAG,IAAI,4CAAO,EAAO;QAClC,4BAAuB,GAAG,IAAI,oDAAe,CAAM,IAAI,CAAC,CAAC;QACjE,2BAAsB,GAAG,IAAI,CAAC,uBAAuB,CAAC,YAAY,EAAE,CAAC;QACrE,0BAAqB,GAAG,IAAI,4CAAO,EAAO;QAC1C,6BAAwB,GAAG,IAAI,4CAAO,EAAO;QAC7C,qBAAgB,GAAG,IAAI,4CAAO,EAAO;QACrC,wBAAmB,GAAG,IAAI,4CAAO,EAAO;QACxC,oCAA+B,GAAG,IAAI,4CAAO,EAAO;QAEpD,sBAAiB,GAAG,IAAI,4CAAO,EAAO;QACtC,sBAAiB,GAAG,IAAI,4CAAO,EAAO;QACtC,yBAAoB,GAAG,IAAI,4CAAO,EAAO;QACzC,4BAAuB,GAAG,IAAI,4CAAO,EAAO;QAE5C,kBAAa,GAAG,IAAI,4CAAO,EAAO;IAClB,CAAC;IAEjB;;;;;;;;;;OAUG;IAEL;;;;;OAKG;IACD,gBAAgB,CAAC,OAAY;QAC3B,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,OAAO,CAAC;IAC5C,CAAC;;0EA3CU,aAAa;gGAAb,aAAa,WAAb,aAAa,mBAFZ,MAAM;;;;;;;;;;;;;ACLpB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA+E;AACb;AAKvB;AAEqC;AACzD;AAEwC;;;;;;;;;;;;;;;;;;;;ICCvD,0EAA6E;IAC3E,4EAEa;IACb,4EAAgC;IAAA,6EAAkB;IAAA,2EAAwB;IAAA,4DAAC;IAAA,4DAAO;IAAA,4DAAQ;IAC5F,4DAAM;;;IAJ2B,0DAA0B;IAA1B,mFAA0B;;;IAM3D,0EAAuF;IACrF,4EAEa;IACb,4EAAkC;IAAA,+EAAoB;IAAA,2EAAwB;IAAA,4DAAC;IAAA,4DAAO;IAAA,4DAAQ;IAChG,4DAAM;;;IAJ6B,0DAA0B;IAA1B,mFAA0B;;;IAM7D,0EAAyF;IACvF,4EAEa;IACb,4EAAoC;IAAA,6EAAkB;IAAA,2EAAwB;IAAA,4DAAC;IAAA,4DAAO;IAAA,4DAAQ;IAChG,4DAAM;;;IAJ+B,0DAA0B;IAA1B,mFAA0B;;;IAM/D,0EAAoF;IAClF,uEACoB;IACpB,4EAAsD;IAAA,4EAAiB;IAAA,2EACjD;IAAA,4DAAC;IAAA,4DAAO;IAAA,4DAAQ;IACxC,4DAAM;;;IAEN,0EAA2F;IACzF,0EACiF;IACjF,4EAAgD;IAAA,0EAAe;IAAA,4DAAQ;IACzE,4DAAM;;;IAFgB,0DAAiD;IAAjD,4GAAiD;;;;;IAWrE,0EACkE;IAChE,2EACwB;IAAA,uDAAyB;IAAA,4DAAO;IACxD,0EAAwD;IAAvB,uTAAsB;IACrD,kEAA8C;IAChD,4DAAM;IACR,4DAAM;;;IAL6C,0DAAoC;IAApC,6GAAoC;IAC7D,0DAAyB;IAAzB,6FAAyB;;ADnCtD,MAAM,oBAAoB;IAqB/B,YAAoB,IAAgB,EAAU,SAA2B,EAAS,gBAAkC,EAC1G,MAAsB,EAAU,aAA4B,EAAQ,YAAyB,EAAQ,cAA6B;QADxH,SAAI,GAAJ,IAAI,CAAY;QAAU,cAAS,GAAT,SAAS,CAAkB;QAAS,qBAAgB,GAAhB,gBAAgB,CAAkB;QAC1G,WAAM,GAAN,MAAM,CAAgB;QAAU,kBAAa,GAAb,aAAa,CAAe;QAAQ,iBAAY,GAAZ,YAAY,CAAa;QAAQ,mBAAc,GAAd,cAAc,CAAe;QApBlI,WAAM,GAAG,IAAI,0DAAY,EAAO,CAAC;QACjC,gBAAW,GAAG,IAAI,0DAAY,EAAO,CAAC;QACvC,WAAM,GAAG,EAAwB,CAAC;QAClC,YAAO,GAAa,KAAK,CAAC;QACzB,kBAAa,GAAG,IAAI,0DAAY,EAAW,CAAC;QAKtD,cAAS,GAAc,IAAI,wDAAS,CAAC,EAAE,CAAC,CAAC;QACzC,kBAAa,GAAU,EAAE,CAAC;QAC1B,iDAAiD;QACjD,aAAQ,GAAG,+EAAe,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;QAC/C,iBAAY,GAAS,EAAE,CAAC;QAExB,gBAAW,GAAG,GAAmB,EAAE,GAAG,OAAO,IAAI,+CAAU,EAAO,GAAC,CAAC;QACpE,aAAQ,GAAG,CAAC,cAAgB,IAAI,EAAkB,EAAE,GAAG,OAAO,IAAI,+CAAU,EAAO,GAAC,CAAC;QACrF,gBAAW,GAAG,CAAC,QAAY,EAAY,EAAE,GAAG,OAAO,IAAI,wDAAS,CAAC,EAAE,CAAC,GAAC,CAAC;QAIlE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,QAAa,EAAE,EAAE;YACzD,IAAI,CAAC,YAAY,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACzC,CAAC,CAAC,CAAC;IACL,CAAC;IAEH,QAAQ;IACR,CAAC;IAED,mDAAmD;IACnD,UAAU;QACR,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAClC,CAAC;IAED,mCAAmC;IACnC,QAAQ,CAAC,KAAU;QAEjB,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;QACxB,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,KAAK,EAAE;YAC5B,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAC/B;IAEH,CAAC;IAED,UAAU;QACR,IAAI,CAAC,MAAM,GAAG,6CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAC,CAAC,IAAI,CAAC,wBAAwB,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;QACpF,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,CAAC;QAC/D,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC;QACtD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW;QAC9D,IAAI,CAAC,YAAY,EAAE,CAAC;IACtB,CAAC;IAED,WAAW;QACT,IAAG,IAAI,CAAC,OAAO,EAAC;YACd,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;YACrB,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;YACvB,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;YACxB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;SACvC;IACH,CAAC;IAED,UAAU;QACR,IAAG,IAAI,CAAC,SAAS,CAAC,KAAK,EAAC;YACtB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC;YAC7D,IAAI,YAAY,GAAG,6CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC;YAC7C,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,SAAS,EAAC,YAAY,CAAC,CAAC,SAAS,CAAC,QAAQ,GAAE;gBACpE,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,EAAC,QAAQ,EAAC,SAAS,EAAE,OAAO,EAAC,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,EAAC,IAAI,CAAC,MAAM,CAAC,aAAa,EAAC,CAAC,CAAC;gBACnH,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;gBACxD,IAAI,CAAC,WAAW,EAAE,CAAC;gBACnB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC5C,CAAC,EACD,KAAK,GAAE;gBACL,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;gBAC3D,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;YAC3C,CAAC,EACD,GAAE,EAAE;gBACF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,wCAAwC,CAAC,CAAC;YAC7D,CAAC,CAAC;SACH;aACG;YACF,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;SACxD;IAEH,CAAC;IAED,YAAY;QACV,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAC;QAC/D,IAAI,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,QAAQ,GAAE;YACrC,IAAI,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC;YAC7B,IAAI,CAAC,YAAY,GAAG,QAAQ,CAAC,iBAAiB,CAAC,SAAS,CAAC;YACzD,IAAI,CAAC,cAAc,GAAG,QAAQ,CAAC,iBAAiB,CAAC,YAAY,CAAC;YAC9D,IAAI,CAAC,gBAAgB,GAAG,QAAQ,CAAC,iBAAiB,CAAC,SAAS,CAAC;YAC7D,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,QAAQ,CAAC;YACvC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;YAC5B,0CAA0C;YAC1C,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC5C,CAAC,EACD,KAAK,GAAE;YACL,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;QAC3C,CAAC,EACD,GAAE,EAAE;YACF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC;QAC/D,CAAC,CAAC;IACJ,CAAC;IAED,eAAe,CAAC,OAAS,EAAE;QACzB,IAAG,IAAI,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,EAAC;YACnF,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,EAAC,EAAC,IAAI,EAAC,IAAI,CAAC,WAAW,CAAC,WAAW,EAAC,CAAC,CAAC;SAC7F;IACH,CAAC;IAED,YAAY,CAAC,QAAY;QACvB,IAAI,CAAC,SAAS,GAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC;IAC5C,CAAC;IAED,sBAAsB,CAAC,QAAkB,EAAC,aAAe,IAAI;QAC3D,IAAI,aAAa,GAAG,QAAQ,CAAC,KAAK,CAAC;QACnC,IAAI,WAAW,GAAG;YAChB,YAAY,EAAE,UAAU;YACxB,MAAM,EAAE,IAAI,IAAI,EAAE;YAClB,UAAU,EAAE,EAAE;YACd,QAAQ,EAAE,aAAa,CAAC,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI;YAC3E,UAAU,EAAE,aAAa,CAAC,UAAU,IAAI,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI;YACjF,QAAQ,EAAE,EAAE;YACZ,SAAS,EAAE,aAAa,CAAC,OAAO;YAChC,MAAM,EAAE,aAAa,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;YAC9D,YAAY,EAAE,aAAa,CAAC,YAAY,IAAI,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI;YACvF,SAAS,EAAE,IAAI,IAAI,EAAE;YACrB,WAAW,EAAE,IAAI,IAAI,EAAE;YACvB,wBAAwB,EAAE,KAAK;YAC/B,yBAAyB,EAAE,KAAK;YAChC,2BAA2B,EAAE,KAAK;YAClC,oBAAoB,EAAE,KAAK;SAC5B;QACD,OAAO,WAAW,CAAC;IACrB,CAAC;IAED,wBAAwB,CAAC,QAAY;QACnC,IAAI,SAAS,GAAG,QAAQ,CAAC,iBAAiB,CAAC,SAAS,CAAC;QACrD,IAAI,YAAY,GAAG,QAAQ,CAAC,iBAAiB,CAAC,YAAY,CAAC;QAC3D,IAAI,SAAS,GAAG,QAAQ,CAAC,iBAAiB,CAAC,SAAS,CAAC;QACrD,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC;YACxB,QAAQ,EAAE,6CAAC,CAAC,IAAI,CAAC,SAAS,CAAC;YAC3B,UAAU,EAAE,6CAAC,CAAC,IAAI,CAAC,YAAY,CAAC;YAChC,YAAY,EAAE,6CAAC,CAAC,IAAI,CAAC,SAAS,CAAC;SAChC,CAAC;IACJ,CAAC;IAED,wBAAwB;QACtB,IAAI,YAAY,GAAY,IAAI,CAAC,YAAY,CAAC,YAAY;QAC1D,YAAY,GAAG,YAAY,IAAG,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,gBAAgB,EAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAC,GAAE;QAC1G,OAAO;YACL,MAAM,EAAC,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE;YAC3D,aAAa,EAAG,YAAY;YAC5B,MAAM,EAAC,IAAI,CAAC,MAAM,CAAC,MAAM;YACzB,QAAQ,EAAC,IAAI,CAAC,MAAM,CAAC,QAAQ;YAC7B,UAAU,EAAC,IAAI,CAAC,MAAM,CAAC,UAAU;YACjC,MAAM,EAAC,KAAK;YACZ,WAAW,EAAG,GAAE,EAAE;gBAChB,OAAO,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,0DAAG,CAAC,QAAQ,GAAE;oBACtG,IAAI,IAAI,GAAG,QAAQ,CAAC,IAAI,IAAI,EAAE,CAAC;oBAC/B,IAAI,CAAC,iBAAiB,GAAG;wBACvB,SAAS,EAAC,IAAI,CAAC,SAAS;wBACxB,YAAY,EAAC,IAAI,CAAC,YAAY;wBAC9B,SAAS,EAAC,IAAI,CAAC,SAAS;qBACzB;oBACD,OAAO,QAAQ;gBACjB,CAAC,CAAC,CAAC,CAAC;YACN,CAAC;YACD,QAAQ,EAAG,CAAC,cAAgB,EAAE,EAAC,EAAE;gBAC/B,WAAW,CAAC,MAAM,GAAG,WAAW,CAAC;gBACjC,WAAW,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;gBACrC,OAAO,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAC,WAAW,CAAC,CAAC;YAC5F,CAAC;YACD,WAAW,EAAG,GAAE,EAAE;gBAChB,OAAO,IAAI,wDAAS,CAAC;oBACnB,QAAQ,EAAE,IAAI,0DAAW,CAAC,IAAI,EAAE,yDAAU,CAAC,QAAQ,CAAC;oBACpD,UAAU,EAAE,IAAI,0DAAW,CAAC,IAAI,EAAE,yDAAU,CAAC,QAAQ,CAAC;oBACtD,YAAY,EAAE,IAAI,0DAAW,CAAC,IAAI,EAAE,yDAAU,CAAC,QAAQ,CAAC;oBACxD,OAAO,EAAE,IAAI,0DAAW,CAAC,IAAI,EAAE,yDAAU,CAAC,QAAQ,CAAC;oBACnD,KAAK,EAAE,IAAI,0DAAW,EAAE;oBACxB,UAAU,EAAE,IAAI,0DAAW,EAAE;oBAC7B,UAAU,EAAE,IAAI,0DAAW,EAAE;oBAC7B,QAAQ,EAAE,IAAI,0DAAW,EAAE;iBAC5B,CAAC,CAAC;YACL,CAAC;SACF;IACH,CAAC;IAED,eAAe,CAAC,QAAkB,EAAC,YAAgB;QACjD,OAAO,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,gEAAS,CAAC,CAAC,UAAc,EAAC,EAAE;YACzF,IAAI,WAAW,GAAG,IAAI,CAAC,sBAAsB,CAAC,QAAQ,EAAC,UAAU,CAAC,CAAC;YACnE,OAAO,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QACpC,CAAC,CAAC,CAAC;IACL,CAAC;;wFApMU,oBAAoB;oGAApB,oBAAoB;QCrBjC,+EACgG;QADrF,6LAA0B,yFACoB,iBAAa,IADjC,yFAC6C,gBAAY,IADzD;QAEnC,yEAA4B;QAC1B,0EAAoC;QAAA,uDAAsB;QAAA,4DAAO;QACjE,yEAAoD;QAAxB,yIAAS,iBAAa,IAAC;QACjD,kEAA8C;QAChD,4DAAM;QACR,4DAAM;QACN,yEAAoC;QAClC,0EAAgD;QAC9C,yEAAgC;QAE9B,gHAKM;QAEN,kHAKM;QAEN,kHAKM;QAEN,kHAKM;QAEN,mHAIM;QAEN,2EAA8C;QAC5C,oFAEmB;QAF0C,+JAAY,oBAAgB,IAAC;QAGxF,mIACc;QAChB,4DAAe;QACf,mHAOM;QACR,4DAAM;QACR,4DAAM;QACR,4DAAO;QAET,4DAAM;QACN,2EAAqC;QACnC,2EAAmB;QACjB,8EAC0B;QAAxB,6IAAS,iBAAa,IAAC;;QAAC,4DAAS;QACrC,4DAAM;QACN,2EAAmB;QACjB,8EACyB;QAAvB,6IAAS,gBAAY,IAAC;;QAAC,4DAAS;QACpC,4DAAM;QACR,4DAAM;QACR,4DAAY;QAEZ,sEAAmB;;QA9ER,gFAA0B;QAGG,0DAAsB;QAAtB,kFAAsB;QAMpD,0DAAuB;QAAvB,oFAAuB;QAGc,0DAAoC;QAApC,oGAAoC;QAO5B,0DAAsC;QAAtC,sGAAsC;QAOtC,0DAAwC;QAAxC,wGAAwC;QAOxC,0DAAmC;QAAnC,mGAAmC;QAO1B,0DAAiC;QAAjC,iGAAiC;QAQrF,0DAA0B;QAA1B,mFAA0B;QAKtB,0DAA+C;QAA/C,mHAA+C;QAenB,0DAAqC;QAArC,gKAAqC;QAIrC,0DAAmC;QAAnC,8JAAmC;;;;;;;;;;;;;;ACtE/E;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAwD;AAGU;AAC3C;;;;;;;;;;;;;;;ICsFK,2EAA0D;IAAA,uDAAiB;IAAA,4DAAO;;;IAAxB,0DAAiB;IAAjB,0FAAiB;;;IAC3E,2EAA0D;IAAA,uDAAmB;IAAA,4DAAO;;;IAA1B,0DAAmB;IAAnB,mFAAmB;;;;IAPjF,0EAAgC;IAC9B,0EAAwI;IACtI,uDACF;IAAA,4DAAM;IACN,0EAAyB;IACvB,0EAA4C;IAAA,uDAAqB;IAAA,4DAAM;IACvE,gIAAkF;IAClF,gIAAoF;IACtF,4DAAM;IACR,4DAAM;;;IARsE,0DAA6D;IAA7D,oLAA6D;IACrI,0DACF;IADE,kGACF;IAE8C,0DAAqB;IAArB,qFAAqB;IAC1B,0DAAiB;IAAjB,gFAAiB;IACjB,0DAAiB;IAAjB,gFAAiB;;AD3E7E,MAAM,kBAAkB;IAW7B,YAAmB,UAA4B,EAAU,IAAgB,EAAU,MAAc,EACvF,gBAAkC,EAAU,WAAwB,EAAU,aAA4B;QADjG,eAAU,GAAV,UAAU,CAAkB;QAAU,SAAI,GAAJ,IAAI,CAAY;QAAU,WAAM,GAAN,MAAM,CAAQ;QACvF,qBAAgB,GAAhB,gBAAgB,CAAkB;QAAU,gBAAW,GAAX,WAAW,CAAa;QAAU,kBAAa,GAAb,aAAa,CAAe;QAPpH,uBAAkB,GAAU,EAAE,CAAC;QAC/B,mBAAc,GAAU,EAAE,CAAC;QAC3B,iBAAY,GAAY,KAAK,CAAC;QAC9B,sBAAiB,GAAY,KAAK,CAAC;QACnC,iBAAY,GAAQ,EAAE,CAAC;QAIrB,IAAI,CAAC,WAAW,GAAG,IAAI,wDAAS,CAAC;YAC/B,OAAO,EAAE,IAAI,0DAAW,EAAE;SAC3B,CAAC,CAAC;QACH,IAAI,CAAC,aAAa,GAAG,IAAI,wDAAS,CAAC;YACjC,SAAS,EAAE,IAAI,0DAAW,EAAE;SAC7B,CAAC,CAAC;QACH,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QAC3C,IAAI,YAAY,GAAG,CAAC,WAAW,CAAC,CAAC;QACjC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,SAAS,CAAC,CAAC,QAAa,EAAE,EAAE;YAClE,IAAI,CAAC,YAAY,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAC;QAC5C,CAAC,CAAC,CAAC;IACL,CAAC;IAED,QAAQ;QACN,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,CAAC,gEAAgE;QAC3F,IAAI,CAAC,YAAY,EAAE,CAAC;IACtB,CAAC;IAED,wBAAwB,CAAC,KAAU;QACjC,IAAI,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;QACxB,+EAAe,CAAC,eAAe,GAAG,KAAK,CAAC;QACxC,IAAI,CAAC,aAAa,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,SAAS,CACpD,CAAC,QAAQ,EAAE,EAAE;YACX,IAAI,CAAC,cAAc,GAAG,QAAQ,CAAC,IAAI,CAAC;QACtC,CAAC,EAAE,CAAC,KAAK,EAAE,EAAE;YACX,IAAI,CAAC,cAAc,GAAG,CAAC,EAAE,CAAC,CAAC;YAC3B;;;;eAIG;QACL,CAAC,EAAE,GAAG,EAAE;QACR,CAAC,CACF,CAAC;IACJ,CAAC;IAED,aAAa;QACX,IAAI,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC;QACzC,IAAI,OAAO,GAAG,SAAS,CAAC,SAAS,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QAC1E,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;IAC9D,CAAC;IAED,cAAc,CAAC,OAAe,EAAE,SAAiB;QAC/C,IAAI,OAAO,IAAI,IAAI,IAAI,OAAO,GAAG,CAAC,EAAE;YAClC,+EAAe,CAAC,OAAO,GAAG,OAAO,CAAC;YAClC,IAAI,GAAG,GAAG,QAAQ,GAAG,OAAO,GAAG,QAAQ,CAAC;YAExC,IAAI,IAAI,CAAC,YAAY,EAAE;gBACrB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;aAC7C;iBACI;gBACH,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;aAC7B;SACF;IACH,CAAC;IAED,mBAAmB,CAAC,KAAU;QAC5B,IAAI,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;QACxB,+EAAe,CAAC,aAAa,GAAG,KAAK,CAAC;QACtC,IAAI,CAAC,UAAU,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC,SAAS,CACpD,CAAC,QAAQ,EAAE,EAAE;YACX,IAAI,CAAC,kBAAkB,GAAG,QAAQ,CAAC,IAAI,CAAC;QAC1C,CAAC,EAAE,CAAC,KAAK,EAAE,EAAE;YACX,IAAI,CAAC,kBAAkB,GAAG,CAAC,EAAE,CAAC,CAAC;YAC/B;;;;eAIG;QACL,CAAC,EAAE,GAAG,EAAE;QACR,CAAC,CACF,CAAC;IACJ,CAAC;IAED,WAAW;QACT,IAAI,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;QACvC,IAAI,KAAK,GAAG,SAAS,CAAC,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QACpE,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,SAAS,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;IAClE,CAAC;IAED,kBAAkB,CAAC,KAAa,EAAE,aAAqB;QACrD,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,GAAG,CAAC,EAAE;YAC9B,+EAAe,CAAC,WAAW,GAAG,KAAK,CAAC;YACpC,IAAI,GAAG,GAAG,YAAY,GAAG,KAAK,GAAG,QAAQ,CAAC;YAE1C,IAAI,IAAI,CAAC,YAAY,EAAE;gBACrB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,aAAa,CAAC,CAAC;aACjD;iBACI;gBACH,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;aAC7B;SACF;IACH,CAAC;IAED,SAAS;QAEP,IAAI,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;QACvC,IAAI,UAAU,GAAG,SAAS,CAAC,OAAO,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACtF,IAAI,GAAG,GAAG,kBAAkB,GAAG,UAAU;QACzC,8BAA8B;QAC9B,uCAAuC;QACvC,oDAAoD;QACpD,IAAI;QACJ,QAAQ;QACR,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAC5B,IAAI;IACN,CAAC;IAED,WAAW;QACT,IAAI,GAAG,GAAG,cAAc;QACxB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAC9B,CAAC;IAED,YAAY;QACV,IAAI,+EAAe,CAAC,cAAc,EAAE;YAClC,IAAI,KAAK,GAAG,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YACpD,IAAI,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE;gBACzD,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,SAAS,CAC3C,CAAC,QAAQ,EAAE,EAAE;oBACX,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;gBACpD,CAAC,EAAE,CAAC,KAAK,EAAE,EAAE;gBAEb,CAAC,EAAE,GAAG,EAAE;gBACR,CAAC,CACF,CAAC;aACH;SACF;IACH,CAAC;IAED,WAAW,CAAC,QAAa,EAAE;QACzB,IAAI,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC;QACzD,IAAI,SAAS,EAAE;YACb,IAAI,IAAI,GAAG,6CAAC,CAAC,IAAI,CAAC,6CAAC,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;YAC7E,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;SAC7C;IACH,CAAC;;oFApJU,kBAAkB;kGAAlB,kBAAkB;QClB/B,yEAAqD;QACnD,yEAA8E;QAoD5E,yEAAoC;QAClC,oEAA0D;QAC1D,oEAAmE;QACnE,yEAAgC;QAC9B,yEAAoC;QAAA,kFAAuB;QAAA,4DAAM;QACjE,yEAAoC;QAAA,8EAAmB;QAAA,4DAAM;QAC7D,0EAAwC;QAAA,gGAAoC;QAAA,4DAAM;QACpF,4DAAM;QACR,4DAAM;QACN,0EAAqC;QACnC,2EAA6B;QACzB,sEAAkE;QACtE,4DAAM;QACN,2EAA0B;QACtB,2EAA8B;QAC5B,2EAAmE;QAAA,+EAAmB;QAAA,4DAAM;QAC5F,2EAA6B;QAC3B,8EACsC;QAApC,mKAA6B,IAAI,IAAE;;QACrC,4DAAS;QACX,4DAAM;QACR,4DAAM;QAEN,2EAA+B;QAC7B,2EAA0B;QACxB,4EAAgC;QAC9B,2EAAgC;QAC9B,2EAAgC;QAC9B,sFAE2D;QAFD,2KAAkB,+BAA2B,IAAC,iGAE1F,iBAAa,IAF6E;QAItG,iIAWc;QAChB,4DAAiB;QACnB,4DAAM;QACR,4DAAM;QACR,4DAAO;QACP,8EAA2G;QAAtB,2IAAS,eAAW,IAAC;QAAC,4DAAS;QACtH,4DAAM;QAER,4DAAM;QACP,4DAAM;QAwCX,4DAAM;QACR,4DAAM;QACR,4DAAM;QAEN,4FAA0F;QAApE,iNAA+B,mHAAgB,uBAAmB,IAAnC;QAAqC,4DAAuB;;QA/ErE,2DAAyC;QAAzC,4KAAyC;QAQjE,0DAAyB;QAAzB,sFAAyB;QAIvB,0DAAW;QAAX,oEAAW;QAmEX,0DAA+B;QAA/B,0FAA+B;;;;;;;;;;;;;;ACrJrD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAyF;AACtB;AAMvC;AACkD;;;;;;;;;;;;;;;;;ICiClE,0EAAgC;IAC9B,0EAAyB;IACvB,0EAAc;IAAA,uDAAuB;IAAA,4DAAM;IAC7C,4DAAM;IACR,4DAAM;;;IAFY,0DAAuB;IAAvB,uFAAuB;;;IAwCzC,0EAAgC;IAC9B,0EAAyB;IACvB,0EAAc;IAAA,uDAAuB;IAAA,4DAAM;IAC7C,4DAAM;IACR,4DAAM;;;IAFY,0DAAuB;IAAvB,uFAAuB;;ADtE9C,MAAM,2BAA2B;IA6BtC,YAAoB,MAAqB,EAAS,SAA2B,EACpE,gBAAkC,EAAS,aAA2B,EAAQ,YAAyB;QAD5F,WAAM,GAAN,MAAM,CAAe;QAAS,cAAS,GAAT,SAAS,CAAkB;QACpE,qBAAgB,GAAhB,gBAAgB,CAAkB;QAAS,kBAAa,GAAb,aAAa,CAAc;QAAQ,iBAAY,GAAZ,YAAY,CAAa;QA5BvG,kBAAa,GAAQ,EAAE,CAAC;QACxB,UAAK,GAAQ,EAAE,CAAC;QAChB,WAAM,GAAS,EAAE,CAAC;QACjB,eAAU,GAAG,IAAI,0DAAY,EAAO,CAAC;QACrC,wBAAmB,GAAG,IAAI,0DAAY,EAAU,CAAC;QAE3D,iBAAY,GAAS,EAAE,CAAC;QAExB,YAAO,GAAW,EAAE,CAAC;QACrB,sBAAiB,GAAW,EAAE,CAAC;QAC/B,kBAAa,GAAW,EAAE,CAAC;QAC3B,gCAA2B,GAAG,GAAG,CAAC;QAQlC,cAAS,GAAS;YAChB,aAAa,EAAG,eAAe;YAC/B,kBAAkB,EAAG,oBAAoB;YACzC,qBAAqB,EAAG,uBAAuB;YAC/C,wBAAwB,EAAG,0BAA0B;YACrD,2BAA2B,EAAG,6BAA6B;SAC5D;QAKG,IAAI,YAAY,GAAG,CAAC,YAAY,CAAC,CAAC;QAClC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,SAAS,CAAC,CAAC,QAAa,EAAE,EAAE;YAC3D,IAAI,CAAC,YAAY,GAAG,QAAQ,CAAC,YAAY,CAAC,CAAC;QAC7C,CAAC,CAAC,CAAC;QAGH,IAAI,CAAC,kBAAkB,GAAG,aAAa,CAAC,wBAAwB,CAAC,cAAc,CAAC;QAChF,IAAI,CAAC,kBAAkB,GAAG,aAAa,CAAC,wBAAwB,CAAC,cAAc,CAAC;QAChF,IAAI,CAAC,eAAe,GAAG,aAAa,CAAC,sBAAsB,CAAC,cAAc,CAAC;QAC3E,IAAI,CAAC,eAAe,GAAI,aAAa,CAAC,sBAAsB,CAAC,cAAc,CAAC;QAC5E,IAAI,CAAC,mBAAmB,GAAG,aAAa,CAAC,wBAAwB,CAAC,gBAAgB;QAClF,IAAI,CAAC,YAAY,GAAG,aAAa,CAAC,sBAAsB,CAAC,gBAAgB;QAEzE,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAC;IAE5D,CAAC;IAEJ,QAAQ;IAER,CAAC;IAED,WAAW,CAAC,OAAY;QACtB,IAAK,OAAO,CAAC,aAAa,CAAC,aAAa,IAAI,OAAO,CAAC,aAAa,CAAC,YAAY;eACzE,OAAO,CAAC,aAAa,CAAC,YAAY;eAClC,IAAI,CAAC,MAAM,CAAC,OAAO,EACxB;YACE,IAAG,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC;gBAC/B,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,KAAK,EAAC,IAAI,CAAC,aAAa,CAAC,CAAC;iBACzD,IAAI,IAAI,CAAC,aAAa,IAAI,GAAG;gBAChC,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SAC3C;IACH,CAAC;IAED,SAAS,CAAC,QAAa,IAAI,CAAC,SAAS,CAAC,aAAa,EAAC,OAAS,IAAI;QAC/D,IAAG,IAAI,CAAC,MAAM,CAAC,OAAO,EACtB;YACE,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;YACxB,IAAI,CAAC,MAAM,CAAC,OAAO,GAAG,KAAK,CAAC;YAC5B,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAC3D,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAClC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAC,OAAO,EAAC,KAAK,EAAC,MAAM,EAAC,IAAI,EAAC,CAAC,CAAC;SACnD;IACH,CAAC;IAED,eAAe,CAAC,KAAS;QACvB,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,QAAQ,GAAE;YACpE,IAAG,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,IAAI,CAAC,OAAO,IAAK,QAAQ,CAAC,IAAI,EAAC;gBAC1D,IAAI,CAAC,iBAAiB,GAAG,QAAQ,CAAC,IAAI,CAAC;aACxC;QACH,CAAC,EAAC,KAAK,GAAE;YACP,QAAQ,KAAK,CAAC,MAAM,EAAE;gBACpB,KAAK,GAAG;oBACN,IAAI,CAAC,iBAAiB,GAAG,CAAC,EAAE,CAAC,CAAC;oBAC9B,MAAM;aACT;QAEH,CAAC,EAAC,GAAE,EAAE;QAEN,CAAC,CAAC;IACJ,CAAC;IAGD,eAAe;QACb,IAAG,IAAI,CAAC,sBAAsB,CAAC,KAAK,EAAC;YACnC,IAAG,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC;gBACjC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,EAAC,IAAI,CAAC,aAAa,EAAC,IAAI,CAAC,oBAAoB,EAAE,CAAC,CAAC;;gBAElF,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,EAAC,IAAI,CAAC,oBAAoB,EAAE,CAAC,CAAC;SAC7D;aACG;YACF,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;SACrE;IAEH,CAAC;IAED,cAAc,CAAC,KAAY,EAAC,WAAe;QACzC,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,KAAK,EAAC,WAAW,CAAC,CAAC,SAAS,CAAC,QAAQ,GAAE;YACzE,IAAG,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,IAAI,CAAC,OAAO,IAAK,QAAQ,CAAC,IAAI,EAAC;gBAC1D,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,kBAAkB,EAAC,QAAQ,CAAC,IAAI,CAAC;aAChE;QACH,CAAC,EAAC,KAAK,GAAE;YACT,yFAAyF;QACzF,CAAC,EAAC,GAAE,EAAE;QAEN,CAAC,CAAC;IACJ,CAAC;IAED,iBAAiB,CAAC,KAAY,EAAC,aAAoB,EAAC,WAAe;QACjE,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAAC,KAAK,EAAC,aAAa,EAAC,WAAW,CAAC,CAAC,SAAS,CAAC,QAAQ,GAAE;YACxF,IAAG,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,IAAI,CAAC,OAAO,IAAK,QAAQ,CAAC,IAAI,EAAC;gBAC1D,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,qBAAqB,EAAC,QAAQ,CAAC,IAAI,CAAC;aACnE;QACH,CAAC,EAAC,KAAK,GAAE;YACP,0FAA0F;QAC5F,CAAC,EAAC,GAAE,EAAE;QAEN,CAAC,CAAC;IACJ,CAAC;IAED,oBAAoB;QAClB,IAAI,sBAAsB,GAAG,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC;QAC/D,OAAO;YACL,SAAS,EAAE,sBAAsB,CAAC,QAAQ;YAC1C,WAAW,EAAE,sBAAsB,CAAC,SAAS;YAC7C,YAAY,EAAE,sBAAsB,CAAC,UAAU;YAC/C,UAAU,EAAE,sBAAsB,CAAC,MAAM,CAAC,CAAC,CAAC,sBAAsB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE;YACjF,eAAe,EAAE,sBAAsB,CAAC,WAAW,CAAC,CAAC,CAAC,sBAAsB,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE;YAChG,KAAK,EAAE,sBAAsB,CAAC,GAAG,CAAC,CAAC,CAAC,6CAAM,CAAC,sBAAsB,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,2FAAgB,CAAC,QAAQ,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,EAAE;YACvI,eAAe,EAAE,sBAAsB,CAAC,YAAY,CAAC,CAAC,CAAC,sBAAsB,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE;YAClG,UAAU,EAAE,sBAAsB,CAAC,cAAc;YACjD,kBAAkB,EAAE,sBAAsB,CAAC,cAAc,CAAC,CAAC,CAAC,sBAAsB,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE;YACzG,QAAQ,EAAE,sBAAsB,CAAC,MAAM,CAAC,CAAC,CAAC,6CAAM,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,2FAAgB,CAAC,QAAQ,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,EAAE;YAChJ,eAAe,EAAE,sBAAsB,CAAC,QAAQ;SACjD;IACH,CAAC;IAED,qBAAqB,CAAC,cAAgB,EAAE;;QACtC,OAAO,IAAI,wDAAS,CAAC;YACnB,QAAQ,EAAE,IAAI,0DAAW,CAAC,WAAW,CAAC,OAAO,EAAC,yDAAU,CAAC,QAAQ,CAAC;YAClE,SAAS,EAAE,IAAI,0DAAW,CAAC,WAAW,CAAC,SAAS,EAAC,yDAAU,CAAC,QAAQ,CAAC;YACrE,UAAU,EAAE,IAAI,0DAAW,CAAC,WAAW,CAAC,UAAU,CAAC;YACnD,MAAM,EAAE,IAAI,0DAAW,OAAC,WAAW,CAAC,UAAU,mCAAE,IAAI,EAAC,yDAAU,CAAC,QAAQ,CAAC;YACzE,WAAW,EAAE,IAAI,0DAAW,CAAC,WAAW,CAAC,WAAW,CAAC;YACrD,GAAG,EAAE,IAAI,0DAAW,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAC,yDAAU,CAAC,QAAQ,CAAC;YAC5F,YAAY,EAAE,IAAI,0DAAW,CAAC,WAAW,CAAC,eAAe,EAAC,yDAAU,CAAC,QAAQ,CAAC;YAC9E,cAAc,EAAE,IAAI,0DAAW,CAAC,WAAW,CAAC,SAAS,EAAC,yDAAU,CAAC,QAAQ,CAAC;YAC1E,cAAc,EAAE,IAAI,0DAAW,CAAC,WAAW,CAAC,cAAc,CAAC;YAC3D,MAAM,EAAE,IAAI,0DAAW,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YACjF,QAAQ,EAAC,IAAI,0DAAW,CAAC,WAAW,CAAC,aAAa,CAAC;SACpD,CAAC,CAAC;IACL,CAAC;IAED,sBAAsB,CAAC,KAAY;QACjC,IAAI,CAAC,YAAY,CAAC,wBAAwB,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,QAAQ,GAAE;YACpE,IAAG,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,IAAI,CAAC,OAAO,IAAK,QAAQ,CAAC,IAAI,EAAC;gBAC1D,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC;gBACzC,IAAI,CAAC,aAAa,GAAG,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC;gBACpD,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAC;aAC5D;QACH,CAAC,EAAC,KAAK,GAAE;QAET,CAAC,EAAC,GAAE,EAAE;QAEN,CAAC,CAAC;IACJ,CAAC;IAED,uBAAuB,CAAC,KAAY,EAAC,aAAoB;QACvD,IAAI,CAAC,YAAY,CAAC,yBAAyB,CAAC,KAAK,EAAC,aAAa,CAAC,CAAC,SAAS,CAAC,QAAQ,GAAE;YACnF,IAAG,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,IAAI,CAAC,OAAO,IAAK,QAAQ,CAAC,IAAI,EAAC;gBAC1D,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC;gBAC3D,IAAI,CAAC,aAAa,GAAG,QAAQ,CAAC,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,CAAC;gBACtE,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,qBAAqB,CAAE,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;aACtF;QACH,CAAC,EAAC,KAAK,GAAE;QAET,CAAC,EAAC,GAAE,EAAE;QAEN,CAAC,CAAC;IACJ,CAAC;;sGA9LU,2BAA2B;2GAA3B,2BAA2B;QCfxC,+EACsE;QAD3D,2MAAiC,gGACa,eAAW,IADxB;QAE1C,yEAA4B;QAC1B,0EAAoC;QAAA,uDAAsB;QAAA,4DAAO;QACjE,yEAAkD;QAAtB,gJAAS,eAAW,IAAC;QAC/C,kEAA8C;QAChD,4DAAM;QACR,4DAAM;QACN,yEAAoC;QAClC,0EAA6D;QAC3D,yEAAiC;QAE/B,yEAA8C;QAC5C,uEAC+B;QAC/B,6EAAyC;QAAA,wDAA8B;QAAA,4EAAwB;QAAA,6DAAC;QAAA,4DAAO;QAAA,4DAAQ;QACjH,4DAAM;QAEL,0EAA8C;QAC7C,wEAC+B;QAC/B,6EAA0C;QAAA,wDAA+B;QAAA,4EAAwB;QAAA,6DAAC;QAAA,4DAAO;QAAA,4DAAQ;QACnH,4DAAM;QAEN,0EAA8C;QAC5C,wEAC+B;QAC/B,6EAA2C;QAAA,wDAAgC;QAAA,4DAAQ;QACrF,4DAAM;QAEN,2EAAsC;QACpC,6EAEa;QACb,6EAAuC;QAAA,wDAA4B;QAAA,4EAAwB;QAAA,6DAAC;QAAA,4DAAO;QAAA,4DAAQ;QAC7G,4DAAM;QAEN,2EAAsC;QACpC,sFACoG;QADhC,oLAAkB,2BAAuB,IAAC;QAE9G,0IAMc;QAChB,4DAAiB;QACf,6EAA4C;QAAA,wDAAiC;QAAA,4DAAQ;QACvF,4DAAM;QASN,0EAA8C;QAC5C,6EAGa;QACb,6EAAoC;QAAA,wDAAiC;QAAA,4EAAwB;QAAA,6DAAC;QAAA,4DAAO;QAAA,4DAAQ;QAC/G,4DAAM;QAEN,2EAAsC;QACpC,6EAEa;QACb,6EAA6C;QAAA,wDAAkC;QAAA,4EAAwB;QAAA,6DAAC;QAAA,4DAAO;QAAA,4DAAQ;QACzH,4DAAM;QAEN,0EAA8C;QAC5C,wEAC+B;QAC/B,6EAA+C;QAAA,wDAAoC;QAAA,4EAAwB;QAAA,6DAAC;QAAA,4DAAO;QAAA,4DAAQ;QAC7H,4DAAM;QAEN,2EAAsC;QACpC,sFACoG;QAD1B,oLAAkB,2BAAuB,IAAC;QAEpH,0IAMc;QAChB,4DAAiB;QACf,6EAA+C;QAAA,wDAAoC;QAAA,4DAAQ;QAC7F,4DAAM;QAEN,0EAA8C;QAC5C,6EAEa;QACb,6EAAuC;QAAA,wDAA4B;QAAA,4DAAQ;QAC7E,4DAAM;QAEN,2EAAyC;QACvC,6EAAkH;QAClH,6EAAyC;QAAA,wDAA8B;QAAA,4DAAQ;QACjF,4DAAM;QAER,4DAAM;QACR,4DAAO;QACT,4DAAM;QACN,2EAAqC;QACnC,2EAAmB;QACjB,8EAC2D;QAAtB,oJAAS,eAAW,IAAC;;QAAC,4DAAS;QACtE,4DAAM;QACN,2EAAmB;QACjB,8EAC8B;QAA5B,oJAAS,qBAAiB,IAAC;;QAAC,4DAAS;QACzC,4DAAM;QACR,4DAAM;QACR,4DAAY;;QAtHD,uFAAiC;QAGJ,0DAAsB;QAAtB,kFAAsB;QAMpD,0DAAoC;QAApC,iGAAoC;QAMK,0DAA8B;QAA9B,0FAA8B;QAM7B,0DAA+B;QAA/B,2FAA+B;QAM9B,0DAAgC;QAAhC,4FAAgC;QAI9C,0DAA0B;QAA1B,mFAA0B;QAGhB,0DAA4B;QAA5B,wFAA4B;QAK/C,0DAAW;QAAX,oEAAW;QASa,0DAAiC;QAAjC,6FAAiC;QAYF,0DAA4B;QAA5B,kGAA4B;QADjC,0EAAe;QAIjD,0DAAiC;QAAjC,6FAAiC;QAIlC,0DAA0B;QAA1B,mFAA0B;QAGhB,0DAAkC;QAAlC,8FAAkC;QAMhC,0DAAoC;QAApC,gGAAoC;QAK/D,0DAAW;QAAX,oEAAW;QASgB,0DAAoC;QAApC,gGAAoC;QAKuD,0DAAmC;QAAnC,yGAAmC;QADjG,0EAAe;QAGpD,0DAA4B;QAA5B,wFAA4B;QAInC,0DAAe;QAAf,wEAAe;QACN,0DAA8B;QAA9B,0FAA8B;QAQrC,0DAAqC;QAArC,gKAAqC;QAIrC,0DAAmC;QAAnC,8JAAmC;;;;;;;;;;;;;;ACjH/E;AAAA;AAAA;AAAA;AAAA;AAA8D;AACE;;;AAMzD,MAAM,gBAAgB;IAK3B,YAAqB,UAAsB;QAAtB,eAAU,GAAV,UAAU,CAAY;QAH3C,iBAAY,GAAG,2EAAgB,CAAC,QAAQ,CAAC,MAAM,CAAC;QAChD,YAAO,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC;IAIpC,CAAC;IAED,eAAe,CAAC,MAAa;QACzB,IAAI,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC;QAC/D,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,aAAa,EAAC,MAAM,CAAC,CAAC;QAC9C,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACvC,CAAC;IAEC,+EAA+E;IAChF,mDAAmD;IACpD,sBAAsB,CAAC,MAAa;QAClC,IAAI,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,sBAAsB,CAAC;QACrE,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,aAAa,EAAC,MAAM,CAAC,CAAC;QAC9C,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC;IACpC,CAAC;IAED,+EAA+E;IAC9E,mDAAmD;IACnD,mBAAmB,CAAC,MAAa;QAChC,IAAI,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC;QAClE,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,aAAa,EAAC,MAAM,CAAC,CAAC;QAC9C,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC;IACpC,CAAC;IAED,qEAAqE;IACrE,gBAAgB,CAAC,MAAc,EAAE,cAAkB,EAAE,MAAa,EAAC,UAAiB;QAClF,IAAI,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC;QAC/D,IAAG,MAAM,GAAE,CAAC,IAAI,UAAU,GAAC,CAAC,EAC5B;YACE,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,aAAa,EAAE,MAAM,CAAC,GAAE,cAAc,GAAE,MAAM,GAAE,YAAY,GAAE,UAAU,CAAC;SAClG;aAED;YACE,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;SAChD;QACD,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,EAAC,cAAc,CAAC;IACpD,CAAC;IAED,aAAa,CAAC,OAAe,EAAE,cAAkB,EAAE,MAAa,EAAE,UAAiB,EAAE,aAAqB,KAAK;QAC7G,IAAI,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC;QAC5D,IAAI,MAAM,GAAG,IAAI,+DAAU,EAAE,CAAC,GAAG,CAAC,WAAW,EAAC,UAAU,CAAC,CAAC;QAC1D,IAAG,MAAM,GAAE,CAAC,IAAI,UAAU,GAAC,CAAC,EAC5B;YACE,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,aAAa,EAAE,OAAO,CAAC,GAAE,cAAc,GAAE,MAAM,GAAE,YAAY,GAAE,UAAU,GAAE,aAAa,GAAC,UAAU,CAAC;SAC7H;aAED;YACE,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,aAAa,EAAE,OAAO,CAAC,GAAE,aAAa,GAAC,UAAU,CAAC;SAC3E;QAED,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,EAAC,cAAc,CAAC;IACpD,CAAC;IAED,eAAe;QACb,IAAI,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC;QAC9D,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACrC,CAAC;IAED,WAAW,CAAC,YAAgB;QAC1B,IAAI,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC;QAC7D,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IACpD,CAAC;IAED,gBAAgB,CAAC,IAAW;QAC1B,IAAI,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC;QAC/D,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,UAAU,EAAC,IAAI,CAAC,CAAC;QACzC,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACrC,CAAC;;gFA1EU,gBAAgB;mGAAhB,gBAAgB,WAAhB,gBAAgB,mBAFf,MAAM;;;;;;;;;;;;;ACLpB;AAAA;AAAA;AAAA;AAAA;AAAA;AAA8D;AAEE;AAET;;;AAMhD,MAAM,YAAY;IAKvB,YAAoB,UAAsB;QAAtB,eAAU,GAAV,UAAU,CAAY;QAH1C,iBAAY,GAAG,2EAAgB,CAAC,QAAQ,CAAC,MAAM,CAAC;QAChD,YAAO,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC;IAEU,CAAC;IAE/C,qBAAqB,CAAC,KAAa,EAAE,WAAmB,EAAE,aAAkB,IAAI,EAAE,OAAY,IAAI;QAChG,IAAI,MAAM,GAAG,IAAI,+DAAU,EAAE,CAAC;QAC9B,IAAI,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,qBAAqB,CAAC;QACpE,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;QAC5C,IAAI,UAAU,EAAE;YACd,IAAI,UAAU,CAAC,UAAU;gBACvB,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC;YAC9D,IAAI,UAAU,CAAC,QAAQ;gBACrB,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC;SAC3D;QACD,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,WAAW,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;IAC/D,CAAC;IAED,uBAAuB,CAAC,KAAa,EAAE,WAAmB,EAAE,aAAkB,IAAI,EAAE,OAAY,IAAI;QAClG,IAAI,MAAM,GAAG,IAAI,+DAAU,EAAE,CAAC;QAC9B,IAAI,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,uBAAuB,CAAC;QACtE,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;QAC5C,IAAI,UAAU,EAAE;YACd,IAAI,UAAU,CAAC,UAAU;gBACvB,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC;YAC9D,IAAI,UAAU,CAAC,QAAQ;gBACrB,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC;SAC3D;QACD,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,WAAW,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;IAC/D,CAAC;IAED,mBAAmB,CAAC,OAAe,EAAE,WAAmB,EAAE,aAAkB,IAAI,EAAE,OAAY,IAAI;QAChG,IAAI,MAAM,GAAG,IAAI,+DAAU,EAAE,CAAC;QAC9B,IAAI,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC;QAClE,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;QAChD,IAAI,UAAU,EAAE;YACd,IAAI,UAAU,CAAC,UAAU;gBACvB,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC;YAC9D,IAAI,UAAU,CAAC,QAAQ;gBACrB,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC;SAC3D;QACD,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,WAAW,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;IAC/D,CAAC;IAED,iBAAiB,CAAC,OAAe,EAAE,WAAmB,EAAE,aAAkB,IAAI,EAAE,OAAY,IAAI;QAC9F,IAAI,MAAM,GAAG,IAAI,+DAAU,EAAE,CAAC;QAC9B,IAAI,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC;QAChE,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;QAChD,IAAI,UAAU,EAAE;YACd,IAAI,UAAU,CAAC,UAAU;gBACvB,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC;YAC9D,IAAI,UAAU,CAAC,QAAQ;gBACrB,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC;SAC3D;QACD,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,WAAW,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;IAC/D,CAAC;IAED,kBAAkB,CAAC,MAAkB,EAAE,QAAgB;QACrD,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,MAAM,IAAI,oEAAU,CAAC,SAAS,EAAE;YAClC,IAAI,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,2BAA2B,CAAC;YAC1E,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;SAChD;aACI,IAAI,MAAM,IAAI,oEAAU,CAAC,KAAK,EAAE;YACnC,IAAI,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,uBAAuB,CAAC;YACtE,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;SAClD;QACD,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACrC,CAAC;IAED,mBAAmB,CAAC,MAAkB,EAAE,QAAgB,EAAE,MAAc;QACtE,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,MAAM,IAAI,oEAAU,CAAC,SAAS,EAAE;YAClC,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,4BAA4B,CAAC;YACvE,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;YAC/C,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;SAC/C;aACI,IAAI,MAAM,IAAI,oEAAU,CAAC,KAAK,EAAE;YACnC,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,wBAAwB,CAAC;YACnE,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;YACjD,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;SAC/C;QACD,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACrC,CAAC;IAED,WAAW,CAAC,MAAkB,EAAE,QAAgB,EAAE,WAAgB;QAChE,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,MAAM,IAAI,oEAAU,CAAC,SAAS,EAAE;YAClC,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,oBAAoB,CAAC;YAC/D,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;SAChD;aACI,IAAI,MAAM,IAAI,oEAAU,CAAC,KAAK,EAAE;YACnC,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC;YAC3D,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;SAClD;QACD,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IACnD,CAAC;IAED,cAAc,CAAC,MAAkB,EAAE,QAAgB,EAAE,MAAc,EAAE,WAAgB;QACnF,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,MAAM,IAAI,oEAAU,CAAC,SAAS,EAAE;YAClC,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,uBAAuB,CAAC;YAClE,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;YAC/C,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;SAC/C;aACI,IAAI,MAAM,IAAI,oEAAU,CAAC,KAAK,EAAE;YACnC,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC;YAC9D,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;YACjD,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;SAC/C;QACD,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IAClD,CAAC;IAED,cAAc,CAAC,MAAkB,EAAE,QAAgB,EAAE,MAAc;QACjE,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,MAAM,IAAI,oEAAU,CAAC,SAAS,EAAE;YAClC,IAAI,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,uBAAuB,CAAC;YACtE,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;YAC/C,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;SAC/C;aACI,IAAI,MAAM,IAAI,oEAAU,CAAC,KAAK,EAAE;YACnC,IAAI,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC;YAClE,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;YACjD,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;SAC/C;QACD,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACxC,CAAC;IAED,6FAA6F;IAC7F,cAAc,CAAC,MAAkB,EAAE,QAAgB,EAAE,MAAc;QACjE,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,MAAM,IAAI,oEAAU,CAAC,SAAS,EAAE;YAClC,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC;YAClD,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;YAC/C,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;SAC/C;aACI,IAAI,MAAM,IAAI,oEAAU,CAAC,KAAK,EAAE;YACnC,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC;YACvD,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;YACjD,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;SAC/C;QACD,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC;IACpC,CAAC;;wEAhJU,YAAY;+FAAZ,YAAY,WAAZ,YAAY,mBAHT,MAAM;;;;;;;;;;;;;ACPtB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA+C;AAEA;AAC/C,4DAA4D;AACmB;AACd;AAGF;AACM;AACrB;AACE;AAEC;AACI;AACQ;AACL;AACW;AACiB;;;AAE/E,SAAS,iBAAiB,CAAC,UAAsB;IACtD,OAAO,IAAI,8EAAmB,CAAC,UAAU,CAAC,CAAC;AAC7C,CAAC;AA8BM,MAAM,UAAU;;oEAAV,UAAU;0FAAV,UAAU;8FAvBZ;YACP,4DAAY;YACZ,4DAAY;YACZ,0DAAW;YACX,4FAAuB;YACvB,kEAAmB;YACnB,6DAAa;YACb,+DAAW;YACX,kEAAY;YACZ,4EAAe;YACf,mEAAe,CAAC,OAAO,CAAC;gBACtB,MAAM,EAAE;oBACJ,OAAO,EAAE,mEAAe;oBACxB,UAAU,EAAE,iBAAiB;oBAC7B,IAAI,EAAE,CAAC,+DAAU,CAAC;iBACrB;aACF,CAAC;YACF,uEAAiB;SAClB;oIAKU,UAAU,mBA1BnB,kFAAkB;QAClB,mGAAuB,aAGvB,4DAAY;QACZ,4DAAY;QACZ,0DAAW;QACX,4FAAuB;QACvB,kEAAmB;QACnB,6DAAa;QACb,+DAAW;QACX,kEAAY;QACZ,4EAAe,uEAQf,uEAAiB,aAGT,kFAAkB,EAAC,mGAAuB;;;;;;;;;;;;;;;;;;;;;AC3C/C,MAAM,cAAc;IAMzB,YAAoB,iBAAsC;QAAtC,sBAAiB,GAAjB,iBAAiB,CAAqB;QAH1D,UAAK,GAAa,QAAQ,CAAC,GAAG,CAAC;QAC/B,gBAAW,GAAY,IAAI,CAAC;QAI1B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC;IAEtD,CAAC;IAED,KAAK,CAAC,GAAW,EAAE,GAAG,cAAqB;QACzC,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,QAAQ,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;IACzD,CAAC;IAED,IAAI,CAAC,GAAW,EAAE,GAAG,cAAqB;QACtC,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;IACxD,CAAC;IAED,IAAI,CAAC,GAAW,EAAE,GAAG,cAAqB;QACtC,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;IACxD,CAAC;IAED,KAAK,CAAC,GAAW,EAAE,GAAG,cAAqB;QACvC,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,QAAQ,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;IACzD,CAAC;IAED,KAAK,CAAC,GAAW,EAAE,GAAG,cAAqB;QACvC,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,QAAQ,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;IACzD,CAAC;IAED,GAAG,CAAC,GAAW,EAAE,GAAG,cAAqB;QACrC,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,QAAQ,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;IACvD,CAAC;IAED,KAAK;QACH,KAAK,IAAI,MAAM,IAAI,IAAI,CAAC,UAAU,EAAE;YAClC,MAAM,CAAC,KAAK,EAAE;iBACX,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;SACjD;IACH,CAAC;IAEO,UAAU,CAAC,GAAW,EAAE,KAAe,EAAE,MAAa;QAC5D,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YACvB,IAAI,KAAK,GAAa,IAAI,QAAQ,EAAE,CAAC;YACrC,KAAK,CAAC,OAAO,GAAG,GAAG,CAAC;YACpB,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC;YACpB,KAAK,CAAC,SAAS,GAAG,MAAM,CAAC;YACzB,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;YACrC,KAAK,IAAI,MAAM,IAAI,IAAI,CAAC,UAAU,EAAE;gBAClC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC;qBACd,SAAS,EAAE,CAAC;aAChB;SACJ;IACH,CAAC;IAEO,SAAS,CAAC,KAAe;QAC/B,IAAI,GAAG,GAAY,KAAK,CAAC;QACzB,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,IAAI,KAAK,KAAK,QAAQ,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,KAAK,KAAK,QAAQ,CAAC,GAAG,EAAE;YAChF,GAAG,GAAG,IAAI,CAAC;SACd;QACD,OAAO,GAAG,CAAC;IACb,CAAC;;4EA/DY,cAAc;iGAAd,cAAc,WAAd,cAAc,mBAFb,MAAM;AAmEb,MAAM,QAAQ;IAArB;QACE,oBAAoB;QACpB,cAAS,GAAS,IAAI,IAAI,EAAE,CAAC;QAC7B,YAAO,GAAW,EAAE,CAAC;QACrB,UAAK,GAAa,QAAQ,CAAC,KAAK,CAAC;QACjC,cAAS,GAAU,EAAE,CAAC;QACtB,gBAAW,GAAY,IAAI,CAAC;IAiC9B,CAAC;IA/BC,cAAc;QACV,IAAI,GAAG,GAAW,EAAE,CAAC;QAErB,IAAI,IAAI,CAAC,WAAW,EAAE;YAClB,GAAG,GAAG,IAAI,IAAI,EAAE,GAAG,KAAK,CAAC;SAC5B;QAED,GAAG,IAAI,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvC,GAAG,IAAI,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC;QACrC,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE;YACvB,GAAG,IAAI,iBAAiB,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;SAChE;QAED,OAAO,GAAG,CAAC;IACf,CAAC;IAEO,YAAY,CAAC,MAAa;QAC9B,IAAI,GAAG,GAAW,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAEnC,6CAA6C;QAC7C,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,QAAQ,CAAC,EAAE;YACxC,GAAG,GAAG,EAAE,CAAC;YAET,+BAA+B;YAC/B,KAAK,IAAI,IAAI,IAAI,MAAM,EAAE;gBACrB,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC;aACrC;SACJ;QAED,OAAO,GAAG,CAAC;IACf,CAAC;CACF;AAED,IAAY,QAQX;AARD,WAAY,QAAQ;IAClB,qCAAO;IACP,yCAAS;IACT,uCAAQ;IACR,uCAAQ;IACR,yCAAS;IACT,yCAAS;IACT,qCAAO;AACT,CAAC,EARW,QAAQ,KAAR,QAAQ,QAQnB;;;;;;;;;;;;;ACvHD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAkE;AACJ;AAC9D,iEAAiE;AAED;AACT;;;AACvD,yJAAyJ;AACzJ,0CAA0C;AAKnC,MAAM,YAAY;IAKvB,YAAoB,UAAsB;QAAtB,eAAU,GAAV,UAAU,CAAY;QAJ1C,uBAAuB;QACvB,iBAAY,GAAG,2EAAgB,CAAC,QAAQ,CAAC,MAAM,CAAC;QAChD,YAAO,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC;IAIpC,CAAC;IAED,eAAe,CAAC,MAAkB,EAAE,QAAgB;QAClD,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,MAAM,IAAI,oEAAU,CAAC,SAAS,EAAE;YAClC,IAAI,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC;YAC5D,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;SAChD;aACI,IAAI,MAAM,IAAI,oEAAU,CAAC,KAAK,EAAE;YACnC,IAAI,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAAC;YACjE,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;SAClD;QACD,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACrC,CAAC;IAED,iBAAiB,CAAC,MAAkB,EAAE,QAAgB;QACpD,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,MAAM,IAAI,oEAAU,CAAC,SAAS,EAAE;YAClC,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC;YACzD,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;SAChD;aACI,IAAI,MAAM,IAAI,oEAAU,CAAC,KAAK,EAAE;YACnC,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,0BAA0B,CAAC;YACrE,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;SAClD;aACI,IAAI,MAAM,IAAI,oEAAU,CAAC,YAAY,EAAE;YAC1C,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,4BAA4B,CAAC;YACvE,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,aAAa,EAAE,+EAAe,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;YAC3E,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAC;SACpD;QACD,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACrC,CAAC;IAED,UAAU,CAAC,MAAkB,EAAE,QAAgB,EAAE,OAAY;QAC3D,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,MAAM,IAAI,oEAAU,CAAC,SAAS,EAAE;YAClC,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC;YACrD,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;SAChD;aACI,IAAI,MAAM,IAAI,oEAAU,CAAC,KAAK,EAAE;YACnC,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAAC;YAC7D,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;SAClD;aACI,IAAI,MAAM,IAAI,oEAAU,CAAC,YAAY,EAAE;YAC1C,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,sBAAsB,CAAC;YACjE,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,aAAa,EAAE,+EAAe,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;YAC3E,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAC;SAEpD;QACD,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/C,CAAC;IAED,aAAa,CAAC,MAAkB,EAAE,QAAgB,EAAE,SAAiB;QACnE,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,MAAM,IAAI,oEAAU,CAAC,SAAS,EAAE;YAClC,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC;YACxD,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;YAC/C,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC;SACrD;aACI,IAAI,MAAM,IAAI,oEAAU,CAAC,KAAK,EAAE;YACnC,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAAC;YAC7D,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;YACjD,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC;SACrD;QACD,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACxC,CAAC;IAED,yEAAyE;IACzE,WAAW,CAAC,MAAkB,EAAE,QAAgB,EAAE,SAAiB;QACjE,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,MAAM,IAAI,oEAAU,CAAC,SAAS,EAAE;YAClC,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC;YACtD,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;YAC/C,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC;SACrD;QACD,IAAI,MAAM,IAAI,oEAAU,CAAC,KAAK,EAAE;YAC9B,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC;YAC3D,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;YACjD,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC;SACrD;QACD,IAAI,MAAM,IAAI,oEAAU,CAAC,YAAY,EAAE;YACrC,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,6BAA6B,CAAC;YACxE,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,aAAa,EAAE,+EAAe,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;YAC3E,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAC;YACnD,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC;SACrD;QAED,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACrC,CAAC;IAED,wDAAwD;IACxD,aAAa,CAAC,MAAkB,EAAE,QAAgB,EAAE,SAAiB,EAAE,OAAY;QACjF,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,MAAM,IAAI,oEAAU,CAAC,SAAS,EAAE;YAClC,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC;YACxD,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;YAC/C,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC;SACrD;QACD,IAAI,MAAM,IAAI,oEAAU,CAAC,KAAK,EAAE;YAC9B,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAAC;YAC7D,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;YACjD,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC;SACrD;QACD,IAAI,MAAM,IAAI,oEAAU,CAAC,YAAY,EAAE;YACrC,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,yBAAyB,CAAC;YACpE,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,aAAa,EAAE,+EAAe,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;YAC3E,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAC;YACnD,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC;SACrD;QACD,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9C,CAAC;IAED,0BAA0B,CAAC,KAAa;QACtC,IAAI,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,yBAAyB,CAAC;QACxE,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;QAC5C,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACrC,CAAC;IAED,mFAAmF;IACnF,wBAAwB,CAAC,KAAa;QACpC,IAAI,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC;QAC9D,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;QAC5C,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACrC,CAAC;IAED,6EAA6E;IAC7E,yBAAyB,CAAC,KAAa,EAAE,gBAAqB;QAC5D,IAAI,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC;QAClE,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;QAC5C,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IACxD,CAAC;IAED,2EAA2E;IAC3E,2BAA2B,CAAC,KAAa,EAAE,cAAsB;QAC/D,IAAI,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAAC;QACjE,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;QAC5C,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,6BAA6B,EAAE,cAAc,CAAC,CAAC;QACvE,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACxC,CAAC;IAED,2CAA2C;IAC3C,0BAA0B,CAAC,KAAa;QACtC,IAAI,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC;QAC5D,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;QAC5C,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACrC,CAAC;IAED,uBAAuB,CAAC,KAAa;QACnC,IAAI,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC;QAChE,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;QACzD,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACrC,CAAC;IACD,wCAAwC;IACxC,2BAA2B,CAAC,KAAa,EAAE,oBAAyB;QAClE,IAAI,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC;QAC/D,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;QAC5C,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC;IAC5D,CAAC;IACD,yBAAyB,CAAC,KAAa,EAAE,YAAiB;QACxD,IAAI,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC;QAC/D,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;QAC5C,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,sBAAsB,EAAE,YAAY,CAAC,CAAC;QAC9D,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACxC,CAAC;IAED,YAAY,CAAC,KAAa;QACxB,IAAI,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC;QAC1D,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;QAC5C,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACrC,CAAC;IAED,iBAAiB,CAAC,SAAiB;QACjC,IAAI,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC;QAC9D,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC;QACpD,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACrC,CAAC;IAED,qBAAqB,CAAC,KAAa;QACjC,IAAI,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,qBAAqB,CAAC;QACpE,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;QAC5C,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACrC,CAAC;IAED,kBAAkB,CAAC,KAAa;QAC9B,IAAI,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAAC;QACjE,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;QAC5C,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACrC,CAAC;IACD,wBAAwB,CAAC,KAAa;QACpC,IAAI,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,qBAAqB,CAAC;QACpE,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;QAC5C,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACrC,CAAC;IACD,yBAAyB,CAAC,KAAa,EAAE,aAAqB;QAC5D,IAAI,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,sBAAsB,CAAC;QACrE,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;QAC5C,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,eAAe,EAAE,aAAa,CAAC,CAAC;QACxD,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACrC,CAAC;IAED,iBAAiB,CAAC,KAAa,EAAE,WAAgB;QAC/C,IAAI,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC;QAC7D,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;QAC5C,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IACnD,CAAC;IAED,kBAAkB,CAAC,KAAa,EAAE,aAAqB,EAAE,WAAgB;QACvE,IAAI,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC;QAC9D,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;QAC5C,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,eAAe,EAAE,aAAa,CAAC,CAAC;QACxD,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IAClD,CAAC;IAED,oBAAoB,CAAC,KAAa,EAAE,aAAqB;QACvD,IAAI,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC;QAChE,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;QAC5C,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,eAAe,EAAE,aAAa,CAAC,CAAC;QACxD,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACxC,CAAC;IAED,kBAAkB,CAAC,WAAmB;QACpC,IAAI,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAAC;QACjE,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,iBAAiB,EAAE,WAAW,CAAC,CAAC;QACxD,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACrC,CAAC;IAED,qBAAqB,CAAC,KAAa;QACjC,IAAI,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAAC;QACjE,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;QACzD,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACrC,CAAC;IAED,wBAAwB,CAAC,KAAa;QACpC,IAAI,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,wBAAwB,CAAC;QACvE,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;QACzD,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACrC,CAAC;IAED,qBAAqB,CAAC,KAAa,EAAE,WAAgB;QACnD,IAAI,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAAC;QACjE,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;QAC5C,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IACnD,CAAC;IACD,wBAAwB,CAAC,KAAa,EAAE,UAAe;QACrD,IAAI,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,yBAAyB,CAAC;QACxE,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;QACzD,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAAC,UAAU,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;QACnE,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACrC,CAAC;IAED,qBAAqB,CAAC,KAAa,EAAE,UAAe,EAAE,YAAiB;QACrE,IAAI,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,qBAAqB,CAAC;QACpE,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;QAC5C,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,gBAAgB,EAAE,UAAU,CAAC,CAAC;QACtD,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IACnD,CAAC;IAED,kBAAkB,CAAC,KAAa,EAAE,UAAe;QAC/C,IAAI,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,qBAAqB,CAAC;QACpE,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;QAC5C,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,gBAAgB,EAAE,UAAU,CAAC,CAAC;QACtD,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACxC,CAAC;IAED,mBAAmB,CAAC,KAAa;QAC/B,IAAI,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC;QAClE,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;QAC5C,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACrC,CAAC;IAED,0BAA0B,CAAC,kBAAuB;QAChD,IAAI,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,0BAA0B,CAAC;QACzE,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,wBAAwB,EAAE,kBAAkB,CAAC,CAAC;QACtE,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACrC,CAAC;IAED,kBAAkB,CAAC,KAAa;QAC9B,IAAI,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAAC;QACjE,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;QAC5C,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACrC,CAAC;IAED,oBAAoB,CAAC,KAAa,EAAE,oBAA4B;QAC9D,IAAI,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,oBAAoB,CAAC;QACnE,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;QAC5C,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,kCAAkC,EAAE,oBAAoB,CAAC,CAAC;QAClF,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACxC,CAAC;IAED,iBAAiB,CAAC,KAAa,EAAE,cAAmB;QAClD,IAAI,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC;QAChE,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;QAC5C,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IACtD,CAAC;IAED,WAAW,CAAC,KAAa;QACvB,IAAI,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC;QAChE,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;QACzD,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACrC,CAAC;IAED,wBAAwB,CAAC,KAAa;QACpC,IAAI,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,wBAAwB,CAAC;QACvE,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;QAC5C,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACrC,CAAC;IAED,wBAAwB,CAAC,eAAoB;QAC3C,IAAI,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,wBAAwB,CAAC;QACvE,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,gBAAgB,EAAE,eAAe,CAAC,CAAC;QAC3D,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACrC,CAAC;IAED,yBAAyB,CAAC,KAAa;QACrC,IAAI,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,yBAAyB,CAAC;QACxE,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;QAC5C,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACrC,CAAC;IAED,wBAAwB,CAAC,KAAa,EAAE,eAAoB;QAC1D,IAAI,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,wBAAwB,CAAC;QACvE,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;QAC5C,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IACvD,CAAC;IAED,2BAA2B,CAAC,KAAa,EAAE,gBAAwB;QACjE,IAAI,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,2BAA2B,CAAC;QAC1E,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;QAC5C,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,sBAAsB,EAAE,gBAAgB,CAAC,CAAC;QAClE,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACxC,CAAC;IAED,oBAAoB,CAAC,KAAa;QAChC,IAAI,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,oBAAoB,CAAC;QACnE,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;QAC5C,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACrC,CAAC;IAED,qBAAqB,CAAC,KAAa;QACjC,IAAI,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,qBAAqB,CAAC;QACpE,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;QAC5C,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACrC,CAAC;IAED,sBAAsB,CAAC,cAAmB;QACxC,IAAI,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,sBAAsB,CAAC;QACrE,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,gBAAgB,EAAE,cAAc,CAAC,CAAC;QAC1D,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACrC,CAAC;IAED,uBAAuB,CAAC,KAAa,EAAE,eAAoB,EAAE,UAAe;QAC1E,IAAI,MAAM,GAAC,EAAE;QACb,IAAG,eAAe,EAClB;YACE,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,uBAAuB,CAAC;YAClE,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;YAC5C,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,2BAA2B,EAAE,eAAe,CAAC,CAAC;YACtE,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;SAChD;aACG;YACF,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,oBAAoB,CAAC;YAC/D,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;YAC5C,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;SACjD;IACH,CAAC;IAED,2BAA2B,CAAC,KAAa;QACvC,IAAI,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,2BAA2B,CAAC;QAC1E,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;QAC5C,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACrC,CAAC;IAED,4BAA4B,CAAC,KAAa,EAAE,mBAA2B;QACrE,IAAI,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,4BAA4B,CAAC;QAC3E,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;QAC5C,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,yBAAyB,EAAE,mBAAmB,CAAC,CAAC;QACxE,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACrC,CAAC;IAED,2BAA2B,CAAC,KAAa,EAAE,SAAc;QACvD,IAAI,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,2BAA2B,CAAC;QAC1E,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;QAC5C,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IACjD,CAAC;IAED,8BAA8B,CAAC,KAAa,EAAE,mBAA2B;QACvE,IAAI,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,8BAA8B,CAAC;QAC7E,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;QAC5C,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,yBAAyB,EAAE,mBAAmB,CAAC,CAAC;QACxE,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACxC,CAAC;IAED,8BAA8B,CAAC,KAAa,EAAE,mBAAwB,EAAE,SAAc;QACpF,IAAI,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,8BAA8B,CAAC;QAC7E,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;QAC5C,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,yBAAyB,EAAE,mBAAmB,CAAC,CAAC;QACxE,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAChD,CAAC;IAED,mBAAmB,CAAC,WAAgB;QAClC,IAAI,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC;QAClE,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,iBAAiB,EAAE,WAAW,CAAC,CAAC;QACxD,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACrC,CAAC;IAGD,kBAAkB,CAAC,KAAa,EAAE,UAAe;QAC/C,IAAI,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,8BAA8B,CAAC;QAC7E,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;QAC5C,IAAI,UAAU,EAAE;YACd,IAAI,MAAM,GAAQ,IAAI,+DAAU,EAAE,CAAC,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC;YAC5E,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC;SACzD;QACD,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;IACjD,CAAC;IAED,yBAAyB,CAAC,KAAa,EAAE,KAAa;QACpD,IAAI,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,qCAAqC,CAAC;QACpF,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;QACzD,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;QACzD,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACrC,CAAC;IAED,qBAAqB,CAAC,KAAa,EAAE,KAAa,EAAE,MAAW;QAC7D,IAAI,MAAM,GAAG,IAAI,+DAAU,EAAE,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QACpD,IAAI,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,0BAA0B,CAAC;QACzE,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;QACzD,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;QACzD,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;IACvD,CAAC;IAED,oBAAoB,CAAC,KAAa,EAAE,KAAa;QAC/C,IAAI,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,0BAA0B,CAAC;QACzE,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;QAC5C,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;QAC5C,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACxC,CAAC;IAED,YAAY,CAAC,KAAa,EAAE,OAAY,EAAE,UAAe;QACvD,IAAI,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,0BAA0B,CAAC;QACzE,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;QAC5C,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;QAChD,IAAI,UAAU,EAAE;YACd,IAAI,MAAM,GAAQ,IAAI,+DAAU,EAAE,CAAC,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC;YAC5E,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC;SACzD;QACD,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;IACjD,CAAC;IAED,uBAAuB,CAAC,KAAa,EAAE,SAAc;QACnD,IAAI,MAAM,GAAG,IAAI,+DAAU,EAAE,CAAC,GAAG,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;QAC1D,IAAI,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,uBAAuB,CAAC;QACtE,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;QAC5C,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;IACxD,CAAC;IAED,iBAAiB,CAAC,KAAa,EAAE,MAAc;QAC7C,IAAI,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,uBAAuB,CAAC;QACtE,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;QACzD,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;QAC9C,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACrC,CAAC;IAED,mBAAmB,CAAC,KAAa,EAAE,MAAc,EAAE,QAAa;QAC9D,IAAI,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC;QAClE,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;QACzD,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;QAC9C,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC/C,CAAC;IAED,gBAAgB,CAAC,KAAa,EAAE,QAAa;QAC3C,IAAI,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC;QAC/D,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;QACzD,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAChD,CAAC;IAED,mBAAmB,CAAC,KAAa,EAAE,MAAc;QAC/C,IAAI,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC;QAClE,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;QACzD,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;QAC9C,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACxC,CAAC;IAED,gBAAgB,CAAC,KAAa,EAAE,MAAc;QAC5C,IAAI,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC;QAC/D,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;QACzD,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;QAC9C,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACrC,CAAC;;wEA/eU,YAAY;+FAAZ,YAAY,WAAZ,YAAY,mBAHT,MAAM;;;;;;;;;;;;;ACPtB;AAAA;AAAA;AAAA;AAAA;AAAgE;;;AAKzD,MAAM,iBAAiB;IAK5B,YAAoB,UAAsB;QAAtB,eAAU,GAAV,UAAU,CAAY;QAH1C,iBAAY,GAAG,2EAAgB,CAAC,QAAQ,CAAC,MAAM,CAAC;QAChD,YAAO,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC;IAEU,CAAC;IAE/C,mBAAmB,CAAC,OAAe;QACjC,IAAI,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC;QAC/D,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;QAChD,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACrC,CAAC;IAED,sBAAsB,CAAC,OAAe,EAAE,SAAiB;QACvD,IAAI,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,sBAAsB,CAAC;QACrE,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;QAChD,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC;QACpD,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACrC,CAAC;IAED,kBAAkB,CAAC,OAAe,EAAE,WAAgB;QAClD,IAAI,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAAC;QACjE,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;QAChD,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,EAAC,WAAW,CAAC,CAAC;IAClD,CAAC;IAED,kBAAkB,CAAC,OAAe;QAChC,IAAI,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAAC;QACjE,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;QAChD,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACrC,CAAC;IAED,kBAAkB,CAAC,OAAe,EAAC,SAAiB;QAClD,IAAI,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAAC;QACjE,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;QAChD,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC;QACpD,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACxC,CAAC;IAED,kBAAkB,CAAC,OAAe,EAAE,SAAiB,EAAE,WAAgB;QACrE,IAAI,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAAC;QACjE,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;QAChD,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC;QAEpD,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IAClD,CAAC;IAED,iBAAiB,CAAC,OAAe;QAC/B,IAAI,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC;QAChE,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;QAChD,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACrC,CAAC;IAED,kBAAkB,CAAC,OAAc;QAC/B,IAAI,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAAC;QACjE,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,aAAa,EAAC,OAAO,CAAC,CAAC;QAC/C,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACrC,CAAC;IAED,oBAAoB,CAAC,OAAc,EAAE,SAAc;QACjD,IAAI,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,oBAAoB,CAAC;QACnE,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,aAAa,EAAC,OAAO,CAAC,CAAC;QAC/C,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,EAAC,SAAS,CAAC,CAAC;IAC/C,CAAC;IACD,2BAA2B,CAAC,OAAe,EAAC,SAAiB;QAC3D,IAAI,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,2BAA2B,CAAC;QAC1E,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;QAChD,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC;QACpD,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACrC,CAAC;IACD,2BAA2B,CAAC,OAAe,EAAC,SAAiB,EAAC,SAAiB;QAC7E,IAAI,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,yBAAyB,CAAC;QACxE,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;QAChD,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC;QACpD,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC;QACpD,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACxC,CAAC;IACD,+BAA+B,CAAC,OAAe,EAAC,SAAiB;QAC/D,IAAI,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,+BAA+B,CAAC;QAC9E,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;QAChD,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC;QACpD,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACrC,CAAC;IACD,+BAA+B,CAAC,OAAc,EAAC,SAAiB,EAAE,SAAc;QAC9E,IAAI,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,+BAA+B,CAAC;QAC9E,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,aAAa,EAAC,OAAO,CAAC,CAAC;QAC/C,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC;QACpD,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,EAAC,SAAS,CAAC,CAAC;IAC/C,CAAC;IAED,yBAAyB,CAAC,OAAe,EAAE,SAAgB;QACzD,IAAI,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,yBAAyB,CAAC;QACxE,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;QAChD,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC;QACpD,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACrC,CAAC;IAED,4BAA4B,CAAC,OAAe,EAAC,SAAgB;QAC3D,IAAI,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,gCAAgC,CAAC;QAC/E,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;QAChD,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC;QACpD,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACrC,CAAC;IAED,6BAA6B,CAAC,OAAe,EAAC,SAAgB,EAAC,gBAAwB;QACrF,IAAI,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,iCAAiC,CAAC;QAChF,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;QAChD,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC;QACpD,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,sBAAsB,EAAE,gBAAgB,CAAC,CAAC;QAClE,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACrC,CAAC;IAED,4BAA4B,CAAC,OAAe,EAAC,SAAiB,EAAC,gBAAwB;QACrF,IAAI,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,4BAA4B,CAAC;QAC3E,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;QAChD,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC;QACpD,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,sBAAsB,EAAE,gBAAgB,CAAC,CAAC;QAClE,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACxC,CAAC;IAED,yBAAyB,CAAC,OAAe,EAAC,SAAgB,EAAC,UAAc;QACvE,IAAI,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,yBAAyB,CAAC;QACxE,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;QAChD,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC;QACpD,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,EAAC,UAAU,CAAC,CAAC;IACjD,CAAC;IAED,4BAA4B,CAAC,OAAe,EAAC,SAAgB,EAAC,gBAAwB,EAAC,UAAc;QACnG,IAAI,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,4BAA4B,CAAC;QAC3E,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;QAChD,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC;QACpD,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,sBAAsB,EAAE,gBAAgB,CAAC,CAAC;QAClE,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,EAAC,UAAU,CAAC,CAAC;IAChD,CAAC;;kFArIU,iBAAiB;oGAAjB,iBAAiB,WAAjB,iBAAiB,mBAFhB,MAAM;;;;;;;;;;;;;ACNpB;AAAA;AAAA;AAAA;AAAA;AAM8B;AAE+B;;AAGtD,MAAM,qBAAqB;IAEhC,gBAAe,CAAC;IAEhB,SAAS,CAAC,OAA6B,EAAE,IAAiB;QAEpD,IAAI,QAAQ,GAAG,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACxD,mFAAmF;QAElF,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC;YACpB,UAAU,EAAE,EAAE,aAAa,EAAE,UAAU,QAAQ,EAAE,EAAE;YACnD,OAAO,EAAE,IAAI,gEAAW,CAAC;gBACvB,eAAe,EAAI,wEAAe,CAAC,QAAQ;gBAC3C,aAAa,EAAE,wEAAe,CAAC,MAAM,CAAC,QAAQ,EAAE;gBAChD,aAAa,EAAE,wEAAe,CAAC,QAAQ;aACxC,CAAC;SACL,CAAC,CAAC;QAEP,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC9B,CAAC;;0FAnBU,qBAAqB;wGAArB,qBAAqB,WAArB,qBAAqB;;;;;;;;;;;;;;;;;;;ACJ3B,MAAM,4BAA4B;IAIvC,YAAoB,SAA2B;QAA3B,cAAS,GAAT,SAAS,CAAkB;QAF/C,iBAAY,GAAU,EAAE,CAAC;QACzB,cAAS,GAAW,EAAE;QAGtB,IAAI,YAAY,GAAG,CAAC,qBAAqB,EAAC,wBAAwB,CAAC,CAAC;QACnE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,SAAS,CAAC,CAAC,QAAa,EAAE,EAAE;YAC5D,IAAI,CAAC,YAAY,GAAG,QAAQ,CAAC,qBAAqB,CAAC,CAAC;YACpD,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,wBAAwB,CAAC,CAAC;QACrD,CAAC,CAAC,CAAC;IAEJ,CAAC;IAED,QAAQ;IACR,CAAC;;wGAfU,4BAA4B;4GAA5B,4BAA4B;QCRzC,yEAAkC;QAChC,yEAA2B;QACzB,oEAAgE;QAClE,4DAAM;QAEN,yEAA0B;QACxB,uDACF;QAAA,4DAAM;QACN,yEAA2B;QACzB,uDACF;QAAA,4DAAM;QACR,4DAAM;;QALF,0DACF;QADE,4FACF;QAEE,0DACF;QADE,yFACF;;;;;;;;;;;;;;;;;;ACRF,MAAM,YAAY,GAAG,WAAW,CAAC;AAK1B,MAAM,mBAAmB;IAK9B;QAHA,WAAM,GAAG,EAAE,CAAC;QACZ,UAAK,GAAG,IAAI,GAAG,EAAE,CAAC;IAEF,CAAC;IAEjB,GAAG,CAAC,GAAqB;QACvB,MAAM,GAAG,GAAG,GAAG,CAAC,aAAa,CAAC;QAC9B,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAEnC,IAAI,CAAC,MAAM,EAAE;YACX,OAAO,SAAS,CAAC;SAClB;QACD,IAAI,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;YACrC,OAAO,SAAS,CAAC;QAClB,MAAM,SAAS,GAAG,MAAM,CAAC,QAAQ,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;QAC/D,IAAI,SAAS;YACX,OAAO,SAAS,CAAC;QACnB,OAAO,MAAM,CAAC,QAAQ,CAAC;IACzB,CAAC;IAED,GAAG,CAAC,GAAqB,EAAE,QAA2B;QACpD,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC;QACpB,MAAM,UAAU,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;QAC3D,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;QAEhC,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC;QACzC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE;YAChC,IAAI,YAAY,CAAC,QAAQ,GAAG,OAAO,EAAE;gBACnC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;aACrC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;;sFAjCU,mBAAmB;sGAAnB,mBAAmB,WAAnB,mBAAmB,mBAFlB,MAAM;;;;;;;;;;;;;ACFpB;AAAA;AAAA;AAAA;AAAA;AAAgE;;;AAKzD,MAAM,0BAA0B;IAKrC,YAAoB,UAAsB;QAAtB,eAAU,GAAV,UAAU,CAAY;QAH1C,iBAAY,GAAG,2EAAgB,CAAC,QAAQ,CAAC,MAAM,CAAC;QAChD,YAAO,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC;IAEU,CAAC;IAE/C,yBAAyB,CAAC,OAAe,EAAE,YAAoB;QAC7D,IAAI,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,yBAAyB,CAAC;QACxE,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;QAChD,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,kBAAkB,EAAE,YAAY,CAAC,CAAC;QAC1D,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACrC,CAAC;IAED,qBAAqB,CAAC,OAAe,EAAE,YAAoB,EAAE,cAAmB;QAC9E,IAAI,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,qBAAqB,CAAC;QACpE,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;QAChD,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,kBAAkB,EAAE,YAAY,CAAC,CAAC;QAE1D,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IACrD,CAAC;IAED,uCAAuC;IACvC,sBAAsB,CAAC,OAAe;QACpC,IAAI,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,sBAAsB,CAAC;QACrE,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;QAChD,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACrC,CAAC;IAED,4BAA4B,CAAC,OAAe;QAC1C,IAAI,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,4BAA4B,CAAC;QAC3E,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC7D,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACrC,CAAC;IAED,kBAAkB,CAAC,OAAe,EAAE,oBAAyB;QAC3D,IAAI,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,qBAAqB,CAAC;QACpE,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;QAChD,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC;IAC5D,CAAC;IACD,qBAAqB,CAAC,OAAe,EAAE,YAAiB;QACtD,IAAI,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,qBAAqB,CAAC;QACpE,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;QAChD,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,uBAAuB,EAAE,YAAY,CAAC,CAAC;QAC/D,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACxC,CAAC;IAED,uBAAuB,CAAC,OAAe;QACrC,IAAI,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,uBAAuB,CAAC;QACtE,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;QAChD,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACrC,CAAC;IAED,2BAA2B,CAAC,cAAmB;QAC7C,IAAI,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,2BAA2B,CAAC;QAC1E,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,oBAAoB,EAAE,cAAc,CAAC,CAAC;QAC9D,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACrC,CAAC;IAED,uBAAuB,CAAC,OAAe;QACrC,IAAI,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,uBAAuB,CAAC;QACtE,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;QAChD,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACrC,CAAC;IAED,yBAAyB,CAAC,OAAe,EAAE,gBAAwB;QACjE,IAAI,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,yBAAyB,CAAC;QACxE,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;QAChD,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,8BAA8B,EAAE,gBAAgB,CAAC,CAAC;QAC1E,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACxC,CAAC;IAED,sBAAsB,CAAC,OAAe,EAAE,kBAAuB;QAC7D,IAAI,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,sBAAsB,CAAC;QACrE,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;QAChD,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;IAC1D,CAAC;IAED,iBAAiB,CAAC,OAAe;QAC/B,IAAI,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC;QAChE,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;QAChD,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACrC,CAAC;IAED,mBAAmB,CAAC,OAAe;QACjC,IAAI,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC;QAClE,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC7D,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACrC,CAAC;IAED,aAAa,CAAC,OAAe,EAAE,YAAiB;QAC9C,IAAI,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC;QAC5D,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;QAChD,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IACpD,CAAC;IAED,oBAAoB,CAAC,OAAe,EAAE,YAAoB;QACxD,IAAI,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,oBAAoB,CAAC;QACnE,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;QAChD,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,kBAAkB,EAAE,YAAY,CAAC,CAAC;QAC1D,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACrC,CAAC;IAED,gBAAgB,CAAC,OAAe,EAAE,YAAoB,EAAE,YAAiB;QACvE,IAAI,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC;QAC/D,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;QAChD,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,kBAAkB,EAAE,YAAY,CAAC,CAAC;QAE1D,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IACnD,CAAC;IAED,gBAAgB,CAAC,OAAe,EAAE,YAAiB;QACjD,IAAI,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC;QAC/D,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;QAChD,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,kBAAkB,EAAE,YAAY,CAAC,CAAC;QAC1D,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACxC,CAAC;IACD,0BAA0B,CAAC,OAAe;QACxC,IAAI,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,qCAAqC,CAAC;QACpF,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;QAChD,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACrC,CAAC;IAED,4BAA4B,CAAC,OAAe,EAAE,UAAkB;QAC9D,IAAI,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,4BAA4B,CAAC;QAC3E,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC,OAAO,CAAC,gBAAgB,EAAE,UAAU,CAAC,CAAC;QACtF,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACxC,CAAC;IAED,mCAAmC,CAAC,OAAe,EAAE,UAAkB;QACrE,IAAI,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,mCAAmC,CAAC;QAClF,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC,OAAO,CAAC,eAAe,EAAE,UAAU,CAAC,CAAC;QACrF,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACxC,CAAC;IACD,qCAAqC,CAAC,OAAe,EAAE,OAAY;QACjE,IAAI,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,qCAAqC,CAAC;QACpF,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;QAChD,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/C,CAAC;IACD,mBAAmB,CAAC,UAAkB;QACpC,IAAI,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC;QAClE,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,gBAAgB,EAAE,UAAU,CAAC,CAAC;QACtD,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACrC,CAAC;IAED,2BAA2B,CAAC,OAAe,EAAE,OAAY;QACvD,IAAI,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,oCAAoC,CAAC;QACnF,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;QAChD,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9C,CAAC;IACD,6BAA6B,CAAC,OAAe,EAAE,UAAkB;QAC/D,IAAI,MAAM,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,2CAA2C,CAAC;QAC1F,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC,OAAO,CAAC,gBAAgB,EAAE,UAAU,CAAC,CAAC;QACtF,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACrC,CAAC;;oGA1JU,0BAA0B;6GAA1B,0BAA0B,WAA1B,0BAA0B,mBAFzB,MAAM;;;;;;;;;;;;;ACLpB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAuD;AACmB;AACiB;;;AAC3F,+EAA+E;AAC/E,6EAA6E;AAG7E,MAAM,MAAM,GAAW;IACrB;QACE,IAAI,EAAC,EAAE;QACP,SAAS,EAAE,sFAAkB;KAC9B;IACD;QACE,IAAI,EAAC,WAAW;QAChB,SAAS,EAAE,sFAAkB;KAC9B;IACD;QACE,IAAI,EAAC,gBAAgB;QACrB,SAAS,EAAE,uGAAuB;KACnC;IACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAgDI;CACL,CAAC;AAMK,MAAM,gBAAgB;;gFAAhB,gBAAgB;+FAAhB,gBAAgB;mGAHlB,CAAC,4DAAY,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,EAC7B,4DAAY;mIAEX,gBAAgB,uFAFjB,4DAAY;;;;;;;;;;;;;AClExB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA8C;AACF;;;;;AAQrC,MAAM,gBAAgB;IAE3B,YAAoB,MAAsB,EAC9B,cAA8B,EAAS,MAAc;QAD7C,WAAM,GAAN,MAAM,CAAgB;QAC9B,mBAAc,GAAd,cAAc,CAAgB;QAAS,WAAM,GAAN,MAAM,CAAQ;IAC3D,CAAC;IAEP,SAAS,CAAC,OAA6B,EAAE,IAAiB;QACxD,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAC9B,iEAAU,CAAC,CAAC,KAAwB,EAAE,EAAE;YACtC,IAAI,QAAQ,GAAG,EAAE,CAAC;YAClB,IAAI,KAAK,CAAC,KAAK,YAAY,UAAU,EAAE;gBACrC,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;gBACzC,QAAQ,GAAG,UAAU,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;gBAC3C,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;aAC3B;iBACI;gBACH,IAAI,KAAK,EAAE;oBACT,QAAQ,KAAK,CAAC,MAAM,EAAE;wBACpB,KAAK,GAAG;4BACN,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;4BAC1C,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;4BAC9B,+CAA+C;4BAC/C,MAAM;wBACR,KAAK,GAAG;4BACN,4CAA4C;4BAC5C,wFAAwF;4BACxF,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC;4BACpC,+CAA+C;4BAC/C,MAAM;wBACR,KAAK,GAAG;4BACN,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;4BAClC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,EAAC,QAAQ,EAAC,OAAO,EAAE,OAAO,EAAC,OAAO,EAAE,MAAM,EAAC,KAAK,CAAC,UAAU,EAAC,CAAC,CAAC;4BACtF,gDAAgD;4BAChD,uCAAuC;4BACvC,4DAA4D;4BAC5D,MAAM;wBACR,KAAK,GAAG;4BACN,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;4BAC1C,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,EAAC,QAAQ,EAAC,OAAO,EAAE,OAAO,EAAC,OAAO,EAAE,MAAM,EAAC,KAAK,CAAC,UAAU,EAAC,CAAC,CAAC;4BACtF,+CAA+C;4BAC/C,MAAM;wBACR,KAAK,GAAG;4BACN,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;4BAC1C,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,EAAC,QAAQ,EAAC,OAAO,EAAE,OAAO,EAAC,OAAO,EAAE,MAAM,EAAC,KAAK,CAAC,UAAU,EAAC,CAAC,CAAC;4BACtF,+CAA+C;4BAC/C,MAAM;wBACR,KAAK,GAAG;4BACN,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;4BAC1C,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,EAAC,QAAQ,EAAC,OAAO,EAAE,OAAO,EAAC,OAAO,EAAE,MAAM,EAAC,KAAK,CAAC,UAAU,EAAC,CAAC,CAAC;4BACtF,+CAA+C;4BAC/C,MAAM;wBACN,KAAK,CAAC;4BACJ,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,EAAC,QAAQ,EAAC,OAAO,EAAE,OAAO,EAAC,OAAO,EAAE,MAAM,EAAC,6DAA6D,EAAC,CAAC,CAAC;4BACnI,+CAA+C;4BAC/C,MAAM;wBACV;4BACE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,qBAAqB,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAE,CAAC;4BAChE,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,EAAC,QAAQ,EAAC,OAAO,EAAE,OAAO,EAAC,OAAO,EAAE,MAAM,EAAC,KAAK,CAAC,UAAU,EAAC,CAAC,CAAC;4BACtF,MAAM;qBACT;iBACF;aAEF;YACD,OAAO,uDAAU,CAAC,KAAK,CAAC,CAAC;QAC3B,CAAC,CAAC,CACH;IACH,CAAC;IAED,yBAAyB,CAAC,eAAmB;QAC3C,IAAI,KAAK,GAAG,eAAe,CAAC,KAAK,IAAI,eAAe,CAAC;QACrD,IAAI,IAAI,GAAG,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC;QAC/B,IAAI,QAAQ,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAK,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC;QAC7G,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,iBAAiB,CAAC,QAAY;QAC5B,IAAI,aAAa,GAAG,IAAI,CAAC,yBAAyB,CAAC,QAAQ,CAAC;QAC5D,KAAI,IAAI,YAAY,IAAI,aAAa,EACrC;YACE,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,EAAC,QAAQ,EAAC,OAAO,EAAE,OAAO,EAAC,OAAO,EAAE,MAAM,EAAC,YAAY,EAAC,CAAC,CAAC;SACnF;IACH,CAAC;;gFAjFU,gBAAgB;mGAAhB,gBAAgB,WAAhB,gBAAgB;;;;;;;;;;;;;ACjB7B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAuF;AACf;AACjD;AAM6C;;;;;;;;;;;;;;IC0ChD,0EAAgC;IAC9B,0EAAyB;IACvB,0EAAc;IAAA,uDAA4B;IAAA,4DAAM;IAClD,4DAAM;IACR,4DAAM;;;IAFY,0DAA4B;IAA5B,4FAA4B;;;;IAzC9D,yEAAmC;IACjC,sEAAK;IACH,yEAAiC;IAC/B,0EAAmD;IACjD,yEAAiC;IAE/B,yEAA8C;IAC5C,sEAK0B;IAC1B,2EAAyC;IAAA,uDAA+B;IAAA,2EAAwB;IAAA,6DAAC;IAAA,4DAAO;IAAA,4DAAQ;IAClH,4DAAM;IAEN,0EAA8C;IAC5C,wEAK0B;IAC1B,6EAAyC;IAAA,wDAAyB;IAAA,4EAAwB;IAAA,6DAAC;IAAA,4DAAO;IAAA,4DAAQ;IAC5G,4DAAM;IAEN,2EAAsC;IACpC,sFAUwC;IARxB,iXAA8C;IAS5D,iJAMc;IAChB,4DAAiB;IACjB,6EAAmC;IAAA,wDAAsC;IAAA,4EAAwB;IAAA,6DAAC;IAAA,4DAAO;IAAA,4DAAQ;IACnH,4DAAM;IAEN,2EAAsC;IACpC,6EAMa;IACb,6EAAyB;IAAA,wDAA4B;IAAA,4DAAQ;IAC/D,4DAAM;IAEN,2EAAsC;IACpC,6EAOa;IACb,6EAAuB;IAAA,wDAA0B;IAAA,4DAAQ;IAC3D,4DAAM;IAEN,2EAAsC;IACpC,6EAMa;IACb,6EAAsB;IAAA,wDAAyB;IAAA,4DAAQ;IACzD,4DAAM;IAEN,2EAAsC;IACpC,6EAMa;IACb,6EAAsC;IAAA,wDAAyC;IAAA,4DAAQ;IACzF,4DAAM;IAER,4DAAM;IACR,4DAAO;IACT,4DAAM;IACJ,2EAA0G;IACxG,8EAC4B;IAA1B,qUAAyB;IAAC,4DAAS;IACvC,4DAAM;IACV,4DAAM;IACR,4DAAM;;;IAnGM,0DAA0B;IAA1B,0FAA0B;IAUe,0DAA+B;IAA/B,mGAA+B;IAU/B,0DAAyB;IAAzB,6FAAyB;IAQlD,0DAAW;IAAX,oEAAW;IAeQ,0DAAsC;IAAtC,0GAAsC;IAM7D,0DAA0B;IAA1B,mFAA0B;IAKb,0DAA4B;IAA5B,gGAA4B;IAMzC,0DAA0B;IAA1B,mFAA0B;IAMf,0DAA0B;IAA1B,8FAA0B;IAMrC,0DAA0B;IAA1B,mFAA0B;IAKhB,0DAAyB;IAAzB,6FAAyB;IAMnC,0DAA0B;IAA1B,mFAA0B;IAKA,0DAAyC;IAAzC,6GAAyC;IAO7C,0DAA+B;IAA/B,wGAA+B;;AD7F1E,MAAM,oBAAoB;IAgB/B,YAAqB,mBAAuC,EACvC,gBAAiC,EACjC,aAA2B,EAC3B,SAA0B;QAH1B,wBAAmB,GAAnB,mBAAmB,CAAoB;QACvC,qBAAgB,GAAhB,gBAAgB,CAAiB;QACjC,kBAAa,GAAb,aAAa,CAAc;QAC3B,cAAS,GAAT,SAAS,CAAiB;QAjBtC,YAAO,GAAa,KAAK,CAAC;QACzB,kBAAa,GAAG,IAAI,0DAAY,EAAW,CAAC;QAC5C,kBAAa,GAAG,IAAI,0DAAY,EAAO,CAAC;QAElD,iBAAY,GAAS,EAAE,CAAC;QACxB,kBAAa,GAAO,EAAE,CAAC;QACvB,eAAU,GAAO,EAAE,CAAC;QACpB,cAAS,GAAO,EAAE,CAAC;QACnB,uBAAkB,GAAO,EAAE,CAAC;QAC5B,aAAQ,GAAK,EAAE,CAAC;QAChB,0BAAqB,GAAO,EAAE;QAS1B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,8BAA8B,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,QAAa,EAAE,EAAE;YAC/E,IAAI,CAAC,YAAY,GAAG,QAAQ,CAAC,8BAA8B,CAAC,CAAC;QAC/D,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,YAAY,GAAC,IAAI,CAAC,eAAe,EAAE,CAAC;IAC3C,CAAC;IAEH,QAAQ;IACR,CAAC;IAED,UAAU;QACR,IAAI,CAAC,gBAAgB,CAAC,eAAe,EAAE,CAAC,SAAS,CAAC,QAAQ,GAAE;YAC1D,IAAI,CAAC,aAAa,GAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC;YAC/C,IAAI,CAAC,UAAU,GAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC;YACzC,IAAI,CAAC,SAAS,GAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC;YAC3C,IAAI,CAAC,kBAAkB,GAAC,QAAQ,CAAC,IAAI,CAAC,kBAAkB,CAAC;YACzD,IAAI,CAAC,uBAAuB,EAAE,CAAC;QACjC,CAAC,CAAC;IACJ,CAAC;IAED,UAAU;QACR,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACxC,CAAC;IAED,aAAa;QACX,IAAG,IAAI,CAAC,YAAY,CAAC,KAAK,EAAC;YACzB,IAAI,KAAK,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;YACnC,IAAI,CAAC,WAAW,CAAC,KAAK,EAAC,CAAC,QAAY,EAAC,EAAE;gBACrC,IAAI,CAAC,UAAU,EAAE,CAAC;gBAClB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,EAAE,EAAC,KAAK,EAAC,QAAQ,EAAC,EAAE,CAAC;YACjF,CAAC,CAAC;SACH;aACG;YACF,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAAC,IAAI,CAAC,YAAY,CAAC;SAC1D;IACH,CAAC;IAED,eAAe;QAEb,OAAO,IAAI,wDAAS,CAAC;YACnB,QAAQ,EAAE,IAAI,0DAAW,CAAC,IAAI,EAAC,CAAC,yDAAU,CAAC,QAAQ,CAAC,CAAC;YACrD,QAAQ,EAAG,IAAI,0DAAW,CAAC,IAAI,EAAC,CAAC,yDAAU,CAAC,QAAQ,CAAC,CAAC;YACtD,qBAAqB,EAAG,IAAI,0DAAW,CAAC,IAAI,EAAC,CAAC,yDAAU,CAAC,QAAQ,CAAC,CAAC;YACnE,WAAW,EAAG,IAAI,0DAAW,CAAC,IAAI,CAAC;YACnC,SAAS,EAAG,IAAI,0DAAW,CAAC,IAAI,CAAC;YACjC,QAAQ,EAAG,IAAI,0DAAW,CAAC,IAAI,CAAC;YAChC,wBAAwB,EAAG,IAAI,0DAAW,CAAC,IAAI,CAAC;SACjD,CAAC,CAAC;IACL,CAAC;IAED,uBAAuB;QAErB,MAAM,mBAAmB,GAAG,GAAE,EAAE;YAC9B,OAAO;gBACL,kBAAkB,EAAG,6CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAC,CAAC,EAAE,EAAC,EAAE,GAAE,OAAO,EAAE,CAAC,SAAS,GAAC,CAAC;gBAC5E,eAAe,EAAG,6CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAC,CAAC,CAAC,EAAC,EAAE,GAAE,OAAO,CAAC,CAAC,SAAS,GAAC,CAAC;gBACnE,gBAAgB,EAAG,6CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAC,CAAC,EAAE,EAAC,EAAE,GAAE,OAAO,EAAE,CAAC,WAAW,IAAI,MAAM,GAAC,CAAC;gBACnF,wBAAwB,EAAG,6CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAC,CAAC,EAAE,EAAC,EAAE,GAAE,OAAO,EAAE,CAAC,WAAW,CAAC,WAAW,EAAE,IAAI,OAAO,GAAC,CAAC;aACnH;QACH,CAAC;QAED,IAAI,gBAAgB,GAAG,mBAAmB,EAAE;QAE5C,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC;YAC3B,WAAW,EAAG,gBAAgB,CAAC,kBAAkB;YACjD,SAAS,EAAG,gBAAgB,CAAC,gBAAgB;YAC7C,QAAQ,EAAG,gBAAgB,CAAC,eAAe;YAC3C,wBAAwB,EAAG,gBAAgB,CAAC,wBAAwB;SACrE,CAAC,CAAC;IACL,CAAC;IAED,eAAe;QACb,IAAI,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC;QACxC,OAAO;YACL,cAAc,EAAE,SAAS,CAAC,QAAQ;YAClC,QAAQ,EAAG,SAAS,CAAC,QAAQ;YAC7B,qBAAqB,EAAG,SAAS,CAAC,qBAAqB,CAAC,EAAE;YAC1D,MAAM,EAAG,SAAS,CAAC,WAAW,CAAC,EAAE;YACjC,SAAS,EAAG,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI;YAC/D,QAAQ,EAAG,SAAS,CAAC,QAAQ,CAAC,EAAE;YAChC,wBAAwB,EAAG,SAAS,CAAC,wBAAwB,CAAC,EAAE;SACjE;IACH,CAAC;IAED,mBAAmB,CAAC,KAAS;QAC3B,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,QAAQ,GAAE;YACtE,IAAI,CAAC,qBAAqB,GAAG,QAAQ,CAAC,IAAI,CAAC;QAC7C,CAAC,EAAC,KAAK,GAAE;YACP,IAAI,CAAC,qBAAqB,GAAG,EAAE;QACjC,CAAC,CAAC;IACJ,CAAC;IAED,WAAW,CAAC,KAAS,EAAC,aAAe,CAAC,QAAY,EAAC,EAAE,GAAC,CAAC;QACrD,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,QAAQ,GAAE;YAC3D,KAAK,GAAE,QAAQ,CAAC,IAAI,CAAC;YACrB,UAAU,CAAC,KAAK,CAAC;QACnB,CAAC,EAAC,CAAC,KAAK,EAAC,EAAE;QAEX,CAAC,EAAC,GAAE,EAAE;QAEN,CAAC,CAAC;IACJ,CAAC;;wFA1HU,oBAAoB;oGAApB,oBAAoB,8NAFpB,CAAC,+DAAmB,CAAC;QCdlC,iFAS2C;QAPzC,4LAAqB,wFACX,gBAAY,IADD,wFAEX,gBAAY,IAFD;QAQrB,kIAwGc;QAChB,4DAAW;QACX,qEAAmB;;QA5GjB,2GAAqC;QANrC,gFAAqB;;;;;;;;;;;;;;ACFvB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAuF;AACf;AACjD;AACe;AAGD;;;;;;;;;;;;;;;;;ICmB7B,sEAA6B;IAC3B,qFAAqH;IAArG,8XAAsC;IAA+D,4DAAiB;IACxI,4DAAM;;;IADY,0DAAsC;IAAtC,oGAAsC;;;;IAExD,sEAA+B;IAC7B,0FAAiL;IAA5J,wYAA2C;IAAiH,4DAAsB;IACzM,4DAAM;;;IADiB,0DAA2C;IAA3C,yGAA2C;;;;IAElE,sEAA+B;IAC7B,4FAA4L;IAApK,gZAA6C;IAAuH,4DAAwB;IACtN,4DAAM;;;IADoB,0DAA6C;IAA7C,2GAA6C;;;;IAd3E,yEAAmC;IACjC,6EAAqG;IAA3C,4XAA0C;IAAC,4DAAU;IAC/G,yEAAwG;IACtG,0EAAiC;IAAA,uDAA4B;IAAA,4DAAO;IACpE,0EAAgC;IAAA,uDAA6B;IAAA,4DAAO;IACtE,4DAAM;IACN,0EAAoC;IAClC,mIAEM;IACN,mIAEM;IACN,qIAEM;IACR,4DAAM;IACR,4DAAM;;;IAhBK,0DAA8B;IAA9B,8FAA8B;IAEJ,0DAA4B;IAA5B,yGAA4B;IAC7B,0DAA6B;IAA7B,iGAA6B;IAE1D,0DAA8B;IAA9B,8FAA8B;IAC3B,0DAAqB;IAArB,iFAAqB;IAGrB,0DAAuB;IAAvB,mFAAuB;IAGvB,0DAAuB;IAAvB,mFAAuB;;ADhB9B,MAAM,wBAAwB;IAsBnC,YAAmB,mBAAuC,EAAQ,gBAAiC,EAAS,aAA2B,EAAQ,SAA0B;QAAtJ,wBAAmB,GAAnB,mBAAmB,CAAoB;QAAQ,qBAAgB,GAAhB,gBAAgB,CAAiB;QAAS,kBAAa,GAAb,aAAa,CAAc;QAAQ,cAAS,GAAT,SAAS,CAAiB;QApBhK,YAAO,GAAa,KAAK,CAAC;QACzB,kBAAa,GAAG,IAAI,0DAAY,EAAW,CAAC;QAC5C,gBAAW,GAAG,IAAI,0DAAY,EAAO,CAAC;QAEhD,iBAAY,GAAS,EAAE,CAAC;QACxB,oBAAe,GAAK,EAAE,CAAC;QACvB,yBAAoB,GAAK,EAAE,CAAC;QAC5B,2BAAsB,GAAK,EAAE,CAAC;QAE9B,yBAAoB,GAAO,EAAE,CAAC;QAC9B,eAAU,GAAQ,CAAC,CAAC;QACpB,gBAAW,GAAK,EAAE,CAAC;QACnB,6BAAwB,GAAQ,CAAC,CAAC;QAClC,yCAAoC,GAAa,KAAK,CAAC;QACvD,yCAAoC,GAAS,EAAE,CAAC;QAChD,iBAAY,GAAK,EAAE,CAAC;QACpB,8BAAyB,GAAW,KAAK,CAAC;QAC1C,mCAA8B,GAAW,KAAK,CAAC;QAC/C,qCAAgC,GAAS,KAAK,CAAC;QAG7C,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,kCAAkC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,QAAa,EAAE,EAAE;YACnF,IAAI,CAAC,YAAY,GAAG,QAAQ,CAAC,kCAAkC,CAAC,CAAC;YACjE,IAAI,CAAC,WAAW,EAAE,CAAC;QACrB,CAAC,CAAC,CAAC;IACL,CAAC;IAED,QAAQ;IACR,CAAC;IAED,WAAW;QACT,IAAI,CAAC,oBAAoB,GAAG;YAC1B,EAAC,KAAK,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,EAAC,WAAW,EAAC,IAAI,CAAC,YAAY,CAAC,SAAS,EAAC;YACvE,EAAC,KAAK,EAAE,IAAI,CAAC,YAAY,CAAC,OAAO,EAAC,WAAW,EAAC,IAAI,CAAC,YAAY,CAAC,cAAc,EAAC;YAC/E,EAAC,KAAK,EAAE,IAAI,CAAC,YAAY,CAAC,OAAO,EAAC,WAAW,EAAC,IAAI,CAAC,YAAY,CAAC,gBAAgB,EAAC;SAClF,CAAC;QACF,IAAI,CAAC,wBAAwB,GAAG,CAAC,CAAC;QAClC,IAAI,CAAC,UAAU,GAAG,6CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;QACpD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QACzC,IAAI,CAAC,YAAY,GAAC,EAAE,CAAC;QACrB,IAAI,CAAC,eAAe,GAAC,EAAE,CAAC;QACxB,IAAI,CAAC,oBAAoB,GAAC,EAAE,CAAC;QAC7B,IAAI,CAAC,sBAAsB,GAAC,EAAE,CAAC;IACjC,CAAC;IAED,cAAc;QACZ,IAAI,WAAW,GAAG,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;QAC3E,IAAI,aAAa,GAAG,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC;QAClD,aAAa,GAAG,aAAa,CAAC,OAAO,CAAC,mBAAmB,EAAC,IAAI,CAAC,wBAAwB,GAAC,CAAC,CAAC;QAC1F,aAAa,GAAG,aAAa,CAAC,OAAO,CAAC,gBAAgB,EAAC,IAAI,CAAC,UAAU,CAAC;QACvE,IAAI,kBAAkB,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAC,WAAW,EAAC,EAAC,aAAa,EAAC,aAAa,EAAC,CAAC;QACpF,OAAO,kBAAkB,CAAC;IAC5B,CAAC;IAED,UAAU;QACR,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,IAAI,CAAC,gBAAgB,CAAC,mBAAmB,EAAE,CAAC,SAAS,CAAC,QAAQ,GAAE;YAC9D,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAC,IAAI,CAAC,eAAe,EAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC5E,IAAI,CAAC,oBAAoB,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAC,IAAI,CAAC,oBAAoB,EAAC,QAAQ,CAAC,IAAI,CAAC;YACrF,IAAI,CAAC,sBAAsB,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAC,IAAI,CAAC,sBAAsB,EAAC,QAAQ,CAAC,IAAI,CAAC;YACzF,IAAI,CAAC,yBAAyB,GAAG,IAAI,CAAC;QACxC,CAAC,CAAC;IACJ,CAAC;IAED,UAAU;QACR,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACxC,CAAC;IAED,UAAU;QACR,IAAI,2BAA2B,GAAG,IAAI,CAAC,wBAAwB,GAAG,CAAC,CAAC;QACpE,IAAI,CAAC,wBAAwB,GAAG,2BAA2B,GAAG,6CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,2BAA2B,CAAC,CAAC,CAAC,IAAI,CAAC,wBAAwB,CAAC;QAC9J,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;IAC3C,CAAC;IAED,UAAU;QACR,IAAI,2BAA2B,GAAG,IAAI,CAAC,wBAAwB,GAAG,CAAC,CAAC;QACpE,IAAI,CAAC,wBAAwB,GAAG,2BAA2B,IAAI,CAAC,CAAC,CAAC,CAAC,2BAA2B,CAAC,CAAC,CAAC,IAAI,CAAC,wBAAwB,CAAC;QAC/H,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;IAC3C,CAAC;IAED,YAAY,CAAC,WAAgB,EAAE;QAC7B,IAAI,aAAa,GAAG,6CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,oBAAoB,EAAC,EAAC,KAAK,EAAC,QAAQ,EAAC,CAAC,CAAC;QAC5E,IAAI,CAAC,wBAAwB,GAAG,6CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC,CAAC,aAAa,CAAC;QACpG,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;IAC3C,CAAC;IAED,eAAe,CAAC,KAAS,EAAC,UAAU,GAAC,GAAE,EAAE,GAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,8BAA8B,GAAG,IAAI,CAAC,EAAC;QACvG,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAC,IAAI,CAAC,YAAY,EAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACnE,IAAI,CAAC,oBAAoB,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,oBAAoB,EAAC,EAAC,YAAY,EAAC,IAAI,CAAC,YAAY,EAAC,CAAC,CAAC;QACtG,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,YAAY,EAC5C,CAAC,mBAAyB,EAAC,EAAE;YAC3B,IAAI,CAAC,kCAAkC,CAAC,mBAAmB,CAAC,CAAC;QAC/D,CAAC,EACD,GAAE,EAAE;YACF,IAAI,CAAC,sBAAsB,EAAE,CAAC,SAAS,CACrC,QAAQ,CAAC,EAAE;gBACP,IAAI,CAAC,oBAAoB,GAAG,QAAQ,CAAC,IAAI,CAAC;YAC9C,CAAC,EAAE,KAAK,GAAE;YACV,CAAC,EAAC,GAAE,EAAE;gBACJ,UAAU,EAAE,CAAC;YACf,CAAC,CACF,CAAC;QAEN,CAAC,CAAC,CAAC;IACL,CAAC;IAED,oBAAoB,CAAC,KAAS,EAAC,UAAU,GAAC,GAAE,EAAE,GAAC,IAAI,CAAC,UAAU,EAAE,GAAC;QAC/D,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAC,IAAI,CAAC,YAAY,EAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACnE,IAAI,CAAC,sBAAsB,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,sBAAsB,EAAC,EAAC,YAAY,EAAC,IAAI,CAAC,YAAY,EAAC,CAAC,CAAC;QAC1G,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,YAAY,EAC5C,CAAC,mBAAyB,EAAC,EAAE;YAC3B,IAAI,CAAC,kCAAkC,CAAC,mBAAmB,CAAC,CAAC;QAC/D,CAAC,EACD,GAAE,EAAE;YACF,IAAI,CAAC,wBAAwB,EAAE,CAAC,SAAS,CAAC,QAAQ,GAAE;gBAClD,IAAI,CAAC,sBAAsB,GAAG,QAAQ,CAAC,IAAI,CAAC;YAC9C,CAAC,EAAC,KAAK,GAAE;YAET,CAAC,EAAC,GAAE,EAAE;gBACJ,UAAU,EAAE,CAAC;YACf,CAAC,CAAC;QACN,CAAC,CAAC,CAAC;IACL,CAAC;IAED,oBAAoB,CAAC,KAAS,EAAC,UAAU,GAAC,GAAE,EAAE,GAAC,IAAI,CAAC,UAAU,EAAE,CAAC,KAAI,CAAC,yBAAyB,GAAC,IAAI,GAAC;QACnG,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAC,IAAI,CAAC,YAAY,EAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACnE,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,EAAC,EAAC,YAAY,EAAC,IAAI,CAAC,YAAY,EAAC,CAAC,CAAC;QAC5F,UAAU,EAAE,CAAC;IACf,CAAC;IAED,sBAAsB,CAAC,KAAS,EAAC,UAAU,GAAC,GAAE,EAAE,GAAC,IAAI,CAAC,UAAU,EAAE,GAAC;QACjE,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAC,IAAI,CAAC,YAAY,EAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAEnE,IAAI,WAAW,GAAG;YAChB,SAAS,EAAE,IAAI,CAAC,YAAY,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI;YAC9E,WAAW,EAAE,IAAI,CAAC,YAAY,CAAC,SAAS;YACxC,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC,QAAQ;YACtC,aAAa,EAAE,IAAI,CAAC,YAAY,CAAC,WAAW;YAC5C,iBAAiB,EAAE,IAAI,CAAC,YAAY,CAAC,aAAa,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI;YACtG,aAAa,EAAE,IAAI,CAAC,YAAY,CAAC,SAAS;YAC1C,QAAQ,EAAE,IAAI,CAAC,YAAY,CAAC,MAAM;YAClC,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC,QAAQ;YACtC,WAAW,EAAE,IAAI,CAAC,YAAY,CAAC,OAAO,IAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI;YACrF,SAAS,EAAE,IAAI,CAAC,YAAY,CAAC,KAAK,IAAM,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI;YAChF,MAAM,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI;YAC9B,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC,KAAK;YAChC,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC,GAAG;YAC9B,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC,MAAM;YACpC,eAAe,EAAE,IAAI,CAAC,YAAY,CAAC,aAAa;YAChD,WAAW,EAAE,IAAI,CAAC,YAAY,CAAC,SAAS;YACxC,SAAS,EAAE,IAAI,CAAC,YAAY,CAAC,OAAO;YACpC,kBAAkB,EAAE,IAAI,CAAC,YAAY,CAAC,SAAS,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI;YAC/F,iBAAiB,EAAE,IAAI,CAAC,YAAY,CAAC,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI;YAC5F,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI;YACjF,mBAAmB,EAAE,IAAI,CAAC,YAAY,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI;YAC1F,eAAe,EAAE,IAAI,CAAC,YAAY,CAAC,WAAW,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI;YAChG,YAAY,EAAE,IAAI,CAAC,YAAY,CAAC,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI;YACvF,WAAW,EAAE,IAAI,CAAC,YAAY,CAAC,SAAS;YACxC,kBAAkB,EAAC,IAAI,CAAC,YAAY,CAAC,eAAe,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI;YAC1G,iBAAiB,EAAC,IAAI,CAAC,YAAY,CAAC,aAAa,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI;YACpG,QAAQ,EAAE,IAAI,CAAC,YAAY,CAAC,UAAU;YACtC,SAAS,EAAE,IAAI,CAAC,YAAY,CAAC,OAAO;SACrC;QAED,IAAI,CAAC,gBAAgB,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,QAAQ,GAAE;YACrE,UAAU,EAAE,CAAC;YACb,IAAI,CAAC,UAAU,EAAE,CAAC;YAClB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,EAAC,SAAS,EAAC,QAAQ,CAAC,IAAI,EAAC,EAAE,CAAC;QACtF,CAAC,CAAC;IACJ,CAAC;IAED,sBAAsB,CAAC,KAAS,EAAC,UAAU,GAAC,GAAE,EAAE,GAAC,IAAI,CAAC,UAAU,EAAE,CAAC,KAAI,CAAC,8BAA8B,GAAC,IAAI,GAAC;QAC1G,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAC,IAAI,CAAC,YAAY,EAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACnE,IAAI,CAAC,oBAAoB,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,oBAAoB,EAAC,EAAC,YAAY,EAAC,IAAI,CAAC,YAAY,EAAC,CAAC,CAAC;QACtG,UAAU,EAAE;IACd,CAAC;IAED,uBAAuB,CAAC,YAAgB,EAAC,8BAA4B,CAAC,mBAAyB,EAAC,EAAE,GAAC,CAAC,EAAC,2BAA2B,GAAC,GAAE,EAAE,GAAC,CAAC;QACrI,IAAI,CAAC,gBAAgB,CAAC,sBAAsB,CAAC,YAAY,CAAC,CAAC,SAAS,CAAC,CAAC,QAAY,EAAC,EAAE;YACnF,IAAG,QAAQ,IAAG,SAAS,IAAI,CAAC,CAAC,6CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAC;gBACrD,IAAI,CAAC,+BAA+B,CAAC,QAAQ,CAAC,IAAI,EAAC,2BAA2B,EAAC,2BAA2B,CAAC;aAC5G;iBACG;gBACF,2BAA2B,EAAE,CAAC;aAC/B;QACH,CAAC,EAAC,KAAK,GAAE;YACP,2BAA2B,EAAE,CAAC;QAChC,CAAC,CAAC;IACJ,CAAC;IAED,+BAA+B,CAAC,mBAAyB,EAAC,8BAA4B,CAAC,mBAAyB,EAAC,EAAE,GAAC,CAAC,EAAC,2BAA2B,GAAC,GAAE,EAAE,GAAC,CAAC;QACtJ,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC;YAC/B,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC,2BAA2B;YACtD,MAAM,EAAE,GAAG,EAAE;gBACX,2BAA2B,CAAC,mBAAmB,CAAC,CAAC;YACnD,CAAC;YACD,MAAM,EAAC,GAAE,EAAE;gBACT,2BAA2B,EAAE,CAAC;YAChC,CAAC;SACF,CAAC,CAAC;IACL,CAAC;IAED,kCAAkC,CAAC,mBAAyB;QAC1D,IAAI,CAAC,oCAAoC,GAAG,EAAC,mBAAmB,EAAC;QACjE,IAAI,CAAC,oCAAoC,GAAG,IAAI,CAAC;IACnD,CAAC;IAED,0BAA0B,CAAC,KAAS;QAClC,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,EAAC,SAAS,EAAC,KAAK,CAAC,IAAI,EAAC,EAAC,CAAC;IAClF,CAAC;IAED,0BAA0B,CAAC,KAAS;QAClC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IACxD,CAAC;IAED,sBAAsB;QACpB,IAAI,SAAS,GAAG,IAAI,CAAC,oBAAoB,CAAC,SAAS,CAAC;QACpD,IAAI,eAAe,GAAG,6CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,eAAe,EAAE,EAAC,CAAC,+CAAE,CAAC,EAAC,IAAI,EAAC,SAAS,EAAC,CAAC;QACvG,OAAO,eAAe,CAAC,IAAI,CAAC,0DAAG,CAAC,QAAQ,GAAE;YACxC,OAAO,EAAC,IAAI,EAAC,MAAM,CAAC,MAAM,CAAC,EAAE,EAAC,IAAI,CAAC,oBAAoB,EAAC,EAAC,SAAS,EAAC,QAAQ,CAAC,IAAI,EAAC,CAAC,EAAC;QACrF,CAAC,CAAC,CAAC;IACL,CAAC;IAED,wBAAwB;QACtB,IAAI,aAAa,GAAG,IAAI,CAAC,sBAAsB,CAAC,aAAa,CAAC;QAC9D,IAAI,mBAAmB,GAAG,6CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,mBAAmB,EAAE,CAAC,CAAC,CAAC,+CAAE,CAAC,EAAC,IAAI,EAAC,aAAa,EAAC,CAAC;QACxH,OAAO,mBAAmB,CAAC,IAAI,CAAC,0DAAG,CAAC,QAAQ,GAAE;YAC5C,OAAO,EAAC,IAAI,EAAC,MAAM,CAAC,MAAM,CAAC,EAAE,EAAC,IAAI,CAAC,sBAAsB,EAAC,EAAC,aAAa,EAAC,QAAQ,CAAC,IAAI,EAAC,CAAC,EAAC;QAC3F,CAAC,CAAC,CAAC;IACL,CAAC;;gGA1OU,wBAAwB;wGAAxB,wBAAwB,8NAFxB,CAAC,+DAAmB,CAAC;QCblC,iFAUC;QARC,gMAAqB,4FACX,gBAAY,IADD,4FAEX,gBAAY,IAFD;QASrB,qIAyBc;QAChB,4DAAW;QAEX,oGAGgF;QAHhD,mPAAkD,4HAEtC,sCAAkC,IAFI,4HAGtC,sCAAkC,IAHI;QAIlF,4DAAiC;QACjC,gFAAkF;QAClF,qEAAmB;;QArCjB,+GAA4C;QAN5C,gFAAqB;QAqCS,0DAAkD;QAAlD,6GAAkD;;;;;;;;;;;;;;;;;;;;ACvCnC;AAGF;AACY;AAEzD,IAAI,qEAAW,CAAC,UAAU,EAAE;IAC1B,oEAAc,EAAE,CAAC;CAClB;AAED,2EAAwB,CAAC,eAAe,CAAC,yDAAS,CAAC;KAChD,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;;;;;;;;;;;;ACXpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA,4CAA4C,WAAW;AACvD;AACA;AACA,qC;;;;;;;;;;;;ACZA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAwF;AAC3C;AACU;AAGrB;;;;;;;;;;;;;;;ICoBlB,uEAAsC;IAAA,uDAA8B;IAAA,4DAAO;;;IAArC,0DAA8B;IAA9B,kGAA8B;;;IACpE,uEAAsC;IAAA,uDAA8B;IAAA,4DAAO;;;IAArC,0DAA8B;IAA9B,kGAA8B;;;IAelE,0EAAgC;IAC9B,0EAAyB;IACvB,0EAA4C;IAAA,uDAAoB;IAAA,4DAAM;IACxE,4DAAM;IACR,4DAAM;;;IAF0C,0DAAoB;IAApB,qFAAoB;;;;IAb1E,0EAAoF;IAClF,qFAQsD;IANtC,kYAAsC;IAOpD,qKAMc;IAChB,4DAAiB;IACjB,4EAAyC;IAAA,uDAAyB;IAAA,4DAAQ;IAC5E,4DAAM;;;IAdY,0DAAW;IAAX,oEAAW;IAac,0DAAyB;IAAzB,6FAAyB;;;IAMpE,0EAAkG;IAChG,4EAYa;IACb,4EAA+C;IAAA,uDAA+B;IAAA,4DAAQ;IACxF,4DAAM;;;IAPQ,0DAAiC;IAAjC,0GAAiC;IAJjC,0EAAe;IAUoB,0DAA+B;IAA/B,mGAA+B;;;IAGhF,0EAAgG;IAC9F,4EAYa;IACb,4EAA6C;IAAA,uDAA6B;IAAA,4DAAQ;IACpF,4DAAM;;;IAPQ,0DAAiC;IAAjC,0GAAiC;IAJjC,0EAAe;IAUkB,0DAA6B;IAA7B,iGAA6B;;;IAiBxE,uEAAsC;IAAA,uDAAgC;IAAA,4DAAO;;;IAAvC,0DAAgC;IAAhC,qGAAgC;;;IACtE,uEAAsC;IAAA,uDAAgC;IAAA,4DAAO;;;IAAvC,0DAAgC;IAAhC,qGAAgC;;;IAf1E,0EAAmG;IACjG,4EAWa;IACb,4EAAgD;IAC9C,uJAA6E;IAC7E,uJAA6E;IAC/E,4DAAQ;IACV,4DAAM;;;IAVQ,0DAAiC;IAAjC,0GAAiC;IAJX,0EAAe;IAWxC,0DAA6B;IAA7B,iGAA6B;IAC7B,0DAA6B;IAA7B,iGAA6B;;;IAmBpC,uEAAsC;IAAA,uDAA8B;IAAA,4DAAO;;;IAArC,0DAA8B;IAA9B,mGAA8B;;;IACpE,uEAAsC;IAAA,uDAA8B;IAAA,4DAAO;;;IAArC,0DAA8B;IAA9B,mGAA8B;;;IAhBxE,0EAAiG;IAC/F,4EAYa;IACb,4EAA8C;IAC5C,uJAA2E;IAC3E,uJAA2E;IAC7E,4DAAQ;IACV,4DAAM;;;IAVQ,0DAAiC;IAAjC,0GAAiC;IAJjC,0EAAe;IAWlB,0DAA6B;IAA7B,iGAA6B;IAC7B,0DAA6B;IAA7B,iGAA6B;;;IAIxC,0EAAoG;IAClG,4EAYa;IACb,4EAAiD;IAAA,uDAAiC;IAAA,4DAAQ;IAC5F,4DAAM;;;IAPQ,0DAAiC;IAAjC,2GAAiC;IAJjC,0EAAe;IAUsB,0DAAiC;IAAjC,sGAAiC;;;IAGpF,0EAAkG;IAChG,4EAYa;IACb,4EAA+C;IAAA,uDAA+B;IAAA,4DAAQ;IACxF,4DAAM;;;IAPQ,0DAAiC;IAAjC,2GAAiC;IAJjC,0EAAe;IAUoB,0DAA+B;IAA/B,oGAA+B;;;IAiB1E,0EAAgC;IAC9B,0EAAyB;IACvB,0EAAc;IAAA,uDAA4B;IAAA,4DAAM;IAClD,4DAAM;IACR,4DAAM;;;IAFY,0DAA4B;IAA5B,6FAA4B;;;;IAbpD,0EAAwF;IACtF,qFAQsD;IANtC,0YAA8C;IAO5D,qKAMc;IAChB,4DAAiB;IACjB,4EAA6C;IAAA,uDAA6B;IAAA,4DAAQ;IACpF,4DAAM;;;IAdY,0DAAW;IAAX,oEAAW;IAakB,0DAA6B;IAA7B,kGAA6B;;;IAG5E,0EAAqG;IACnG,4EAA8I;IAC9I,4EAAuD;IAAA,uDAAuC;IAAA,4DAAQ;IACxG,4DAAM;;;IAF0C,0DAAe;IAAf,wEAAe;IACN,0DAAuC;IAAvC,4GAAuC;;;IAGhG,0EAAsF;IACpF,+EAEgB;IAChB,4EAA2C;IAAA,uDAA2B;IAAA,4DAAQ;IAChF,4DAAM;;;IAJgC,0DAAuB;IAAvB,wFAAuB;IAGhB,0DAA2B;IAA3B,gGAA2B;;;IAgBlE,0EAAgC;IAC9B,0EAAyB;IACvB,0EAAc;IAAA,uDAA0B;IAAA,4DAAM;IAChD,4DAAM;IACR,4DAAM;;;IAFY,0DAA0B;IAA1B,2FAA0B;;;;IAflD,0EAAiH;IAC/G,qFAUsD;IARtC,wYAA4C;IAS1D,qKAMc;IAChB,4DAAiB;IACjB,4EAA2C;IAAA,uDAA2B;IAAA,4DAAQ;IAChF,4DAAM;;;IAhBY,0DAAW;IAAX,oEAAW;IAegB,0DAA2B;IAA3B,gGAA2B;;;IAgBlE,0EAAgC;IAC9B,0EAAyB;IACvB,0EAAc;IAAA,uDAA2B;IAAA,4DAAM;IACjD,4DAAM;IACR,4DAAM;;;IAFY,0DAA2B;IAA3B,4FAA2B;;;;IAfnD,0EAAmH;IACjH,qFAUsD;IARtC,yYAA6C;IAS3D,qKAMc;IAChB,4DAAiB;IACjB,4EAA6C;IAAA,uDAA6B;IAAA,4DAAQ;IACpF,4DAAM;;;IAhBY,0DAAU;IAAV,mEAAU;IAemB,0DAA6B;IAA7B,kGAA6B;;;;IAxOpF,yEAA4B;IAC1B,0EAAoC;IAAA,uDAA6B;IAAA,4DAAO;IACxE,yEAAgD;IAApB,kXAAS,UAAS,IAAC;IAC7C,kEAA8C;IAChD,4DAAM;IACR,4DAAM;IACN,0EAAoC;IAClC,2EAAuD;IACrD,0EAAsC;IAEpC,0EAAkD;IAChD,0EAAyC;IAAA,wDAA4B;IAAA,4DAAM;IAC3E,2EAAsC;IACpC,gFAEgB;IAChB,6EAAuC;IACrC,kJAA2E;IAC3E,kJAA2E;IAC7E,4DAAQ;IACV,4DAAM;IAEN,gJAmBM;IACR,4DAAM;IAEN,2EAAkD;IAChD,2EAAyC;IAAA,wDAA8B;IAAA,4DAAM;IAC7E,gJAeM;IAEN,gJAeM;IAEN,gJAiBM;IAEN,gJAkBM;IAEN,gJAeM;IAEN,gJAeM;IACR,4DAAM;IAEN,2EAAkD;IAChD,2EAAyC;IAAA,wDAA6B;IAAA,4DAAM;IAC5E,gJAmBM;IAEN,gJAGM;IAEN,gJAKM;IAEN,gJAqBM;IAEN,gJAqBM;IACR,4DAAM;IACR,4DAAM;IACR,4DAAO;IACT,4DAAM;IACN,2EAAqC;IACnC,2EAAmB;IACjB,8EAC6D;IAAxB,qVAAuB;IAAC,4DAAS;IACxE,4DAAM;IACN,2EAAmB;IACjB,8EACuB;IAArB,6ZAAoB;IAAC,4DAAS;IAClC,4DAAM;IACR,4DAAM;;;IAtPgC,0DAA6B;IAA7B,iGAA6B;IAM3D,0DAA8B;IAA9B,8FAA8B;IAIW,0DAA4B;IAA5B,gGAA4B;IAEnC,0DAAoB;IAApB,oFAAoB;IAI3C,0DAA6B;IAA7B,iGAA6B;IAC7B,0DAA6B;IAA7B,iGAA6B;IAID,0DAA2C;IAA3C,8GAA2C;IAuBzC,0DAA8B;IAA9B,kGAA8B;IACxB,0DAAiD;IAAjD,oHAAiD;IAiBjD,0DAA+C;IAA/C,kHAA+C;IAiB/C,0DAAkD;IAAlD,qHAAkD;IAmBlD,0DAAgD;IAAhD,mHAAgD;IAoBhD,0DAAmD;IAAnD,sHAAmD;IAiBnD,0DAAiD;IAAjD,oHAAiD;IAmBvD,0DAA6B;IAA7B,iGAA6B;IAC/B,0DAA+C;IAA/C,kHAA+C;IAqB5C,0DAAyD;IAAzD,4HAAyD;IAK5D,0DAA6C;IAA7C,gHAA6C;IAOlB,0DAA6C;IAA7C,gHAA6C;IAuB7C,0DAA+C;IAA/C,kHAA+C;IA4B/E,0DAA8B;IAA9B,uGAA8B;IAI9B,0DAA+B;IAA/B,wGAA+B;;;;AD3OtE,MAAM,mCAAmC;IA2B9C,YAAmB,aAA2B,EAAQ,YAAyB,EAAQ,SAA0B;QAA9F,kBAAa,GAAb,aAAa,CAAc;QAAQ,iBAAY,GAAZ,YAAY,CAAa;QAAQ,cAAS,GAAT,SAAS,CAAiB;QAzBxG,UAAK,GAAQ,EAAE,CAAC;QAChB,WAAM,GAAS;YACtB,QAAQ,EAAC,CAAC,QAAY,EAAC,EAAE,GAAC,CAAC;SAC5B,CAAC;QACQ,eAAU,GAAG,IAAI,0DAAY,EAAO,CAAC;QAE/C,iBAAY,GAAS,EAAE,CAAC;QACxB,cAAS,GAAa,KAAK,CAAC;QAC5B,qBAAgB,GAAe,IAAI,wDAAS,CAAC,EAAE,CAAC,CAAC;QACjD,aAAQ,GAAW,EAAE,CAAC;QACtB,gBAAW,GAAU,EAAE,CAAC;QACxB,kBAAa,GAAW,EAAE,CAAC;QAC3B,0BAAqB,GAAW,EAAE,CAAC;QACnC,wBAAmB,GAAW,EAAE,CAAC;QACjC,yBAAoB,GAAW,EAAE,CAAC;QAKlC,qBAAgB,GAAG,CAAC,QAAY,EAAO,EAAE,GAAC,CAAC,CAAC;QAC5C,wBAAmB,GAAG,GAAmB,EAAE,GAAG,OAAO,IAAI,+CAAU,EAAO,GAAC,CAAC;QAC5E,wBAAmB,GAAG,GAAa,EAAE,GAAE,OAAO,IAAI,wDAAS,CAAC,EAAE,CAAC,CAAC,EAAC,CAAC;QAClE,8BAAyB,GAAG,CAAC,gBAA0B,EAAM,EAAE,GAAE,OAAO,EAAE,CAAC,EAAC,CAAC;QAC7E,4BAAuB,GAAG,CAAC,cAAkB,EAAC,iBAAwB,EAAkB,EAAE,GAAG,OAAO,IAAI,+CAAU,EAAO,GAAC,CAAC;QAIzH,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,6CAA6C,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,QAAa,EAAE,EAAE;YAC9F,IAAI,CAAC,YAAY,GAAG,QAAQ,CAAC,6CAA6C,CAAC,CAAC;QAE9E,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,eAAe,GAAG,aAAa,CAAC,kBAAkB,CAAC,cAAc,CAAC;QACvE,IAAI,CAAC,eAAe,GAAG,aAAa,CAAC,kBAAkB,CAAC,cAAc,CAAC;QACvE,IAAI,CAAC,iBAAiB,GAAG,aAAa,CAAC,kBAAkB,CAAC,gBAAgB,CAAC;IAC7E,CAAC;IAED,QAAQ;QAEN,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,MAAM,CAAC,gBAAgB,IAAI,IAAI,CAAC,gBAAgB,CAAC;QAC9E,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,MAAM,CAAC,mBAAmB,IAAI,IAAI,CAAC,mBAAmB,CAAC;QACvF,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,MAAM,CAAC,mBAAmB,IAAI,IAAI,CAAC,mBAAmB,CAAC;QACvF,IAAI,CAAC,yBAAyB,GAAG,IAAI,CAAC,MAAM,CAAC,yBAAyB,IAAI,IAAI,CAAC,yBAAyB,CAAC;QACzG,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC,MAAM,CAAC,uBAAuB,IAAI,IAAI,CAAC,uBAAuB,CAAC;QAEnG,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC;IACrD,CAAC;IAED,UAAU;QACR,gCAAgC;QAChC,IAAI,CAAC,mBAAmB,EAAE,CAAC,SAAS,CAAC,QAAQ,GAAE;YAC7C,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC;YACvC,IAAI,CAAC,WAAW,GAAI,QAAQ,CAAC,IAAI,CAAC,WAAW;QAC/C,CAAC,CAAC;IAEJ,CAAC;IACD,UAAU,KAAQ,CAAC;IAEnB,WAAW,CAAC,KAAS;QACnB,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,QAAQ,GAAE;YAC1D,IAAI,CAAC,aAAa,GAAG,QAAQ,CAAC,IAAI,CAAC;QACrC,CAAC,EAAC,KAAK,GAAE;YACP,IAAI,CAAC,aAAa,GAAG,EAAE;QACzB,CAAC,EAAC,GAAE,EAAE;QAEN,CAAC,CAAC;IACJ,CAAC;IAED,mBAAmB,CAAC,KAAS;QAC3B,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,QAAQ,GAAE;YAClE,IAAI,CAAC,qBAAqB,GAAG,QAAQ,CAAC,IAAI,CAAC;QAC7C,CAAC,EAAC,KAAK,GAAE;YACP,IAAI,CAAC,qBAAqB,GAAG,EAAE;QACjC,CAAC,CAAC;IACJ,CAAC;IAED,iBAAiB,CAAC,KAAS;QACzB,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,QAAQ,GAAE;YAChE,IAAI,CAAC,mBAAmB,GAAG,QAAQ,CAAC,IAAI,CAAC;QAC3C,CAAC,EAAC,KAAK,GAAE;YACP,IAAI,CAAC,mBAAmB,GAAG,EAAE;QAC/B,CAAC,CAAC;IACJ,CAAC;IACD,kBAAkB,CAAC,KAAS;QAC1B,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,SAAS,EAAE;YACjC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE;gBAC3D,IAAI,CAAC,oBAAoB,GAAG,QAAQ,CAAC,IAAI,CAAC;YAC5C,CAAC,EAAE,KAAK,CAAC,EAAE;gBACT,IAAI,CAAC,oBAAoB,GAAG,EAAE;YAChC,CAAC,CAAC;SACH;aACI;YACH,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE;gBAClE,IAAI,CAAC,oBAAoB,GAAG,QAAQ,CAAC,IAAI,CAAC;YAC5C,CAAC,EAAE,KAAK,CAAC,EAAE;gBACT,IAAI,CAAC,oBAAoB,GAAG,EAAE;YAChC,CAAC,CAAC;SACH;IACH,CAAC;IAED,WAAW;QACT,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC;IAChC,CAAC;IAED,MAAM,CAAC,YAAgB;QACrB,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAAC,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,SAAS,CAAC,QAAQ,GAAE;YACpI,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;YAChC,YAAY,CAAC,IAAI,EAAE,CAAC;QACtB,CAAC,EAAC,KAAK,GAAE;YACP,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;YACzC,YAAY,CAAC,IAAI,EAAE,CAAC;QACtB,CAAC,CAAC;IACJ,CAAC;;sHAlHU,mCAAmC;mHAAnC,mCAAmC,uNAFnC,CAAC,0DAAc,CAAC;;;QCd7B,4EAA8F;QAAzF,2SAAS,gBAAe,IAAC;QAC5B,6DAAyB;QAC3B,4DAAM;QAEN,yEAAiC;QACjC,uFAA4J;QAA/F,qKAAU,gBAAY,IAAC,6GAAW,gBAAY,IAAvB;QAClF,iJAyPc;QAChB,4DAAiB;QACjB,4DAAM;;QA5PuG,0DAAwB;QAAxB,+HAAwB;QAA/F,6EAAsB","file":"main.js","sourcesContent":["import { Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { Observable,of } from 'rxjs';\nimport { map, catchError, switchMap } from 'rxjs/operators';\n//import apiURLSettings from \"../../../assets/apiURLConfig.json\"\nimport { AppConfigService } from '../common/app-config.service';\nimport moment from 'moment';\nimport { FormGroup } from '@angular/forms';\nimport _ from 'lodash';\nimport { MessageService } from 'primeng/api';\nimport { TranslateService } from '@ngx-translate/core';\nimport * as forge from 'node-forge'\nimport { GlobalConstants } from 'src/app/shared/global-constants';\n\n@Injectable(\n { providedIn: 'root'}\n)\nexport class CommonService {\n multilingual : any = {};\n apiServerURL = AppConfigService.settings.apiURL;\n baseURL = this.apiServerURL.BaseURL;\n\n get futureCalenderDateConfig():any{\n let defaultMaxDate = moment().add(Number(AppConfigService.settings.env.validCalenderYearsFromToday),'years').toDate()\n return {\n defaultMinDate : moment().toDate(),\n defaultMaxDate : defaultMaxDate,\n defaultYearRange : `${moment().year().toString()}:${defaultMaxDate.getFullYear().toString()}`\n }\n }\n\n get pastCalenderDateConfig():any{\n let defaultMinDate = moment().subtract(Number(AppConfigService.settings.env.validCalenderYearsFromToday),'years').toDate()\n return {\n defaultMinDate : defaultMinDate,\n defaultMaxDate : moment().toDate(),\n defaultYearRange : `${defaultMinDate.getFullYear().toString()}:${moment().year().toString()}`\n }\n }\n\n get calenderDateConfig():any{\n let defaultMinDate = moment().subtract(Number(AppConfigService.settings.env.validCalenderYearsFromToday),'years').toDate()\n let defaultMaxDate = moment().add(Number(AppConfigService.settings.env.validCalenderYearsFromToday),'years').toDate()\n return {\n defaultMinDate : defaultMinDate,\n defaultMaxDate : defaultMaxDate,\n defaultYearRange : `${defaultMinDate.getFullYear().toString()}:${defaultMaxDate.getFullYear().toString()}`\n }\n }\n\n\n constructor(private httpClient: HttpClient,private messageService: MessageService,\n private translate:TranslateService) {\n let arrTranslate = [\"Common.mandatoryFieldWarning\"];\n this.translate.get(arrTranslate).subscribe((response: any) => {\n this.multilingual = response['Common.mandatoryFieldWarning'];\n });\n }\n\n // this method provides functionality to get all countries\n getAllCountries():Observable{\n //var apiURL = apiURLSettings.filter((p:any)=>p.apiName == 'GetCountries')[0].URL;\n var apiURL = this.baseURL + this.apiServerURL.GetCountries;\n return this.httpClient.get(apiURL)\n }\n\n GetCancellationPoliciesByName(search:string):Observable{\n var apiURL = this.baseURL + this.apiServerURL.SearchCancellationPoliciesByName;\n apiURL = apiURL.replace('{{policyName}}',(search).toString());\n return this.httpClient.get(apiURL);\n }\n\n // this method provides functionality to get all states for a country\n getAllStatesForCountry(countryID: string):Observable{\n //var apiURL = apiURLSettings.filter((p:any)=>p.apiName == 'GetStatesForCountry')[0].URL;\n var apiURL = this.baseURL + this.apiServerURL.GetStatesForCountry;\n apiURL = apiURL.replace('{{countryID}}',countryID);\n return this.httpClient.get(apiURL)\n }\n\n // this method provides functionality to get all nationalities\n getAllNationalities():Observable{\n //var apiURL = apiURLSettings.filter((p:any)=>p.apiName == 'GetAllNationalities')[0].URL;\n var apiURL = this.baseURL + this.apiServerURL.GetAllNationalities;\n return this.httpClient.get(apiURL)\n }\n\n // this method provides functionality to get all agent types\n getAllAgentTypes(): Observable {\n var apiURL = this.baseURL + this.apiServerURL.GetAllAgentTypes;\n return this.httpClient.get(apiURL)\n }\n\n // this method provides functionality to get all groups\n getAllAgentGroups():Observable{\n var apiURL = this.baseURL + this.apiServerURL.GetAgentGroups;\n return this.httpClient.get(apiURL)\n }\n\n // this method provides functionality to get all Users\n getAllUsers():Observable{\n //var apiURL = apiURLSettings.filter((p:any)=>p.apiName == 'GetAllUsers')[0].URL;\n var apiURL = this.baseURL + this.apiServerURL.GetAllUsers;\n return this.httpClient.get(apiURL)\n }\n\n // this method provides functionality to get all User Groups\n getAllUserGroups():Observable{\n //var apiURL = apiURLSettings.filter((p:any)=>p.apiName == 'GetAllUserGroups')[0].URL;\n var apiURL = this.baseURL + this.apiServerURL.GetAllUserGroups;\n return this.httpClient.get(apiURL)\n }\n\n // this method provides functionality to search nationality by name (typeahead)\n SearchNationalityByName(nationalityType: any): Observable {\n var apiURL = this.baseURL + this.apiServerURL.SearchNationalityByName;\n apiURL = apiURL.replace('{{nationalityName}}', nationalityType);\n return this.httpClient.get(apiURL);\n }\n\n // this method provides functionality to search passengers\n SearchPassengers(searchCriteria: any, pageNo: number, noOfRecord: number): Observable {\n var apiURL = \"\";\n if (pageNo > 0 && noOfRecord > 0) {\n apiURL = this.baseURL + this.apiServerURL.SearchPassengers + '?pageNumber=' + pageNo + '&pageSize=' + noOfRecord;\n }\n else {\n apiURL = this.baseURL + this.apiServerURL.SearchPassengers;\n }\n return this.httpClient.post(apiURL, searchCriteria);\n }\n\n SearchAgents(searchCriteria: any, pageNo: number, noOfRecord: number): Observable {\n var apiURL = \"\";\n if (pageNo > 0 && noOfRecord > 0) {\n apiURL = this.baseURL + this.apiServerURL.SearchAgents + '?pageNumber=' + pageNo + '&pageSize=' + noOfRecord;\n }\n else {\n apiURL = this.baseURL + this.apiServerURL.SearchAgents;\n }\n return this.httpClient.post(apiURL, searchCriteria);\n }\n\n searchAgentsByName(agentName: any): Observable {\n var apiURL = this.baseURL + this.apiServerURL.SearchAgentByName;\n apiURL = apiURL.replace('{{agentName}}', agentName);\n return this.httpClient.get(apiURL);\n }\n\n getUserPermissions(userID:any,paxID:any,securityConstant:any): Observable{\n var apiURL = this.baseURL + this.apiServerURL.UserPermissions;\n var securityConst =\"\";\n apiURL = apiURL.replace('{{userID}}', userID);\n apiURL= apiURL + '?id='+ paxID\n securityConstant.forEach((element:any) => {\n securityConst = securityConst + \"&securityConstants=\" + element\n });\n apiURL = apiURL + securityConst;\n return this.httpClient.get(apiURL);\n }\n\n // getHTTPClientErrorMessage(HTTPClientError:any):string[]{\n // let error = HTTPClientError.error || HTTPClientError;\n // let meta = error.meta || error;\n // let messages = meta.errors && meta.errors.length > 0 ? meta.errors.map((e:any) => e.message) : [meta.message]\n // return messages;\n // }\n\n // showErrorToasters(apiError:any,messageService:any):void{\n // let errorMessages = this.getHTTPClientErrorMessage(apiError)\n // for(let errorMessage of errorMessages)\n // {\n // messageService.add({severity:'error', summary:\"Error\", detail:errorMessage,sticky:true});\n // }\n // }\n\n GetUserGroupsByName(search:string):Observable{\n var apiURL = this.baseURL + this.apiServerURL.GetUserGroupsByName;\n apiURL = apiURL.replace('{{name}}',(search).toString());\n return this.httpClient.get(apiURL);\n }\n\n // this method provides functionality to get all Users by name\n GetUsersByName(search:string):Observable{\n var apiURL = this.baseURL + this.apiServerURL.GetUsers;\n apiURL = apiURL.replace('{{name}}',(search).toString());\n return this.httpClient.get(apiURL)\n }\n\n GetFileAttachment(uploadedFile:any){\n return new Observable(observer=>{\n let attachment : any = {};\n if(uploadedFile && uploadedFile.name && uploadedFile.data){\n observer.next(attachment)\n observer.complete()\n }\n else if (uploadedFile && uploadedFile.name) {\n attachment.description = uploadedFile.name;\n let file = uploadedFile;\n const reader = new FileReader();\n reader.readAsDataURL(file);\n reader.onload = () => {\n let data = (reader.result || \"\").toString();\n attachment.data = data.split(\",\")[1]\n observer.next(attachment)\n observer.complete()\n };\n reader.onerror = error =>{\n observer.next(null);\n observer.complete()\n };\n }\n else{\n observer.next(null);\n observer.complete()\n }\n\n })\n }\n\n markControlsAsDirty(form:FormGroup=new FormGroup({})){\n let inValid:boolean=false;\n _.forEach(form.controls,control=>{\n if(!control.valid){\n control.markAsDirty();\n inValid = true;\n }\n })\n if(inValid)\n this.messageService.add({severity:'warn', summary:\"Warning\", detail:this.multilingual?\"Mandatory fields must be completed, before you can save this record\":this.multilingual});\n }\n\n getAddressDetails(addressId: string):Observable{\n var apiURL = this.baseURL + this.apiServerURL.LoquateRetrieve;\n apiURL = apiURL.replace('{{addressId}}',addressId);\n return this.httpClient.get(apiURL);\n }\n\n getCountries(name: string):Observable{\n var apiURL = this.baseURL + '/api/v1/Countries/{{countryName}}';\n apiURL = apiURL.replace('{{countryName}}',name);\n return this.httpClient.get(apiURL);\n }\n\n getCountryStates(countryId: string):Observable{\n var apiURL = this.baseURL + '/api/v1/Countries/{{id}}/States';\n apiURL = apiURL.replace('{{id}}',countryId);\n return this.httpClient.get(apiURL);\n }\n\n getServiceTypeOptions(serviceTypeId: string,optionName:string):Observable{\n var apiURL = this.baseURL + this.apiServerURL.GetServiceTypeOptions;\n apiURL = apiURL.replace('{{serviceTypeId}}',serviceTypeId);\n apiURL = apiURL.replace('{{optionName}}',optionName);\n return this.httpClient.get(apiURL);\n }\n\n getSystemAddressFromLoquateAddress(addressId: string,countries:any[]=[]){\n\n const getCountriesObservable = (loquateAddress:any,countries:any[])=>{\n\n const getCountry=(countries:any[])=>{\n return loquateAddress.countryName && countries ? countries.find((cntry:any)=> cntry.description.trim().toLowerCase() == loquateAddress.countryName.trim().toLowerCase()) : null;\n }\n\n let countriesObservable = of({});\n\n if(_.isEmpty(countries)){\n countriesObservable = this.getCountries(loquateAddress.countryName).pipe(switchMap(countryResponse=>{\n let country = getCountry(countryResponse.data)\n return getStatesObservable(loquateAddress,country);\n }));\n }else{\n let country = getCountry(countries)\n countriesObservable = getStatesObservable(loquateAddress,country);\n }\n\n return countriesObservable;\n }\n\n const getCountryStatesObservable=(loquateAddress:any,country:any)=>{\n return this.getCountryStates(country.id).pipe(map(statesRsponse=>{\n\n let states = statesRsponse.data;\n let state = loquateAddress.stateName && states ? states.find((state:any) => state.description.trim().toLowerCase() == loquateAddress.stateName.trim().toLowerCase()) : null;\n\n return {\n street : loquateAddress.line1,\n city : loquateAddress.city,\n country : country,\n state : state,\n zipCode : loquateAddress.zipCode,\n states : states\n }\n\n }))\n }\n\n const getStatesObservable = (loquateAddress:any,country:any)=>{\n let stateObservable = of({});\n\n if(country){\n stateObservable = getCountryStatesObservable(loquateAddress,country);\n }\n else{\n stateObservable = of({\n street : loquateAddress.line1,\n city : loquateAddress.city,\n zipCode : loquateAddress.zipCode,\n });\n }\n\n return stateObservable;\n }\n\n return this.getAddressDetails(addressId).pipe(switchMap((response:any)=>{\n let loquateAddress = response.data;\n return getCountriesObservable(loquateAddress,countries)\n }));\n }\n\n encrypt(value:string):string{\n var rsa = forge.pki.publicKeyFromPem(GlobalConstants.publicKey);\n return (window.btoa(rsa.encrypt(value)));\n }\n\n decrypt(value:string):string{\n var rsa = forge.pki.privateKeyFromPem(GlobalConstants.privateKey);\n if(value){\n var decodeText = forge.util.decode64(value);\n return rsa.decrypt(decodeText);\n }\n return \"\";\n }\n getImagesByName(searchName: string):Observable{\n var apiURL = this.baseURL + this.apiServerURL.GetImagesByName;\n apiURL = apiURL.replace('{{name}}',searchName);\n return this.httpClient.get(apiURL);\n }\n\n getSystemSettings(valueNames: any):Observable{\n var apiURL = this.baseURL + this.apiServerURL.GetSystemSettings;\n var value=\"\";\n apiURL = apiURL.replace('{{organisationId}}',\"1\");\n apiURL= apiURL + '?'\n valueNames.forEach((element:any) => {\n value = value + \"&valueNames=\" + element\n });\n apiURL = apiURL + value;\n return this.httpClient.get(apiURL);\n }\n\n}\n","import { Injectable } from '@angular/core';\nimport { LogPublisher,LogConsole, LogLocalStorage,LogWebApi } from './LogPublisher';\nimport { Observable , of} from 'rxjs';\nimport logSetting from \"../../../assets/LogSettings.json\";\nimport { HttpClient } from '@angular/common/http';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class LogPublisherService {\n\n constructor(private http:HttpClient) {\n\n this.buildPublishers();\n\n }\n\n publishers: LogPublisher[] = [];\n\n private handleErrors(error: any): Observable {\n let errors: string[] = [];\n let msg: string = \"\";\n\n msg = \"Status: \" + error.status;\n msg += \" - Status Text: \" + error.statusText;\n if (error.json()) {\n msg += \" - Exception Message: \" + error.json().exceptionMessage;\n }\n errors.push(msg);\n\n console.error('An error occurred', errors);\n\n return Observable.throw(errors);\n }\n\n buildPublishers(): void {\n let logPub: LogPublisher;\n for (let pub of logSetting.filter((p:any)=>p.isActive == true))\n {\n switch (pub.loggerName.toLowerCase()) {\n case \"console\":\n logPub = new LogConsole();\n this.publishers.push(logPub);\n break;\n case \"localstorage\":\n logPub = new LogLocalStorage();\n logPub.location = pub.loggerLocation;\n this.publishers.push(logPub);\n break;\n case \"webapi\":\n logPub = new LogWebApi(this.http);\n //API URL needs to come from APIURLconfig.json and remove LogSettings.json\n logPub.location = pub.loggerLocation;\n this.publishers.push(logPub);\n break;\n }\n\n }\n\n\n }\n}\n\nclass LogPublisherConfig {\n loggerName: string =\"\";\n loggerLocation: string =\"\";\n isActive: boolean = false;\n}\n","import { NgModule } from '@angular/core';\nimport { RouterModule, Routes } from '@angular/router';\nimport { AgentSecurityConstant } from 'src/app/constants/security-constant';\nimport { AgentInfoResolver } from 'src/app/resolver/client/agent-info.resolver';\nimport { AgentTabsGuard } from 'src/app/route-guard/client/agent-tabs.guard';\nimport { MainLayoutComponent } from './main-layout/main-layout.component';\n\nconst routes: Routes = [\n {\n path: 'agent/:id', component: MainLayoutComponent, children: [\n { path: '', redirectTo: 'home', pathMatch: 'full'},\n {\n path: 'home',\n loadChildren: () => import(/* webpackChunkName: \"agent-home\" */'../../features/client/home/agent-home.module').then(m => m.AgentHomeModule) //HOME MODULE\n },\n {\n path: 'about',\n loadChildren: () => import(/* webpackChunkName: \"agent-about\" */'../../features/client/about/about.module').then(m => m.AboutModule), //ABOUT MODULE,\n canActivate:[AgentTabsGuard],\n data:{securityID:AgentSecurityConstant.AboutTab}\n },\n {\n path: 'notes',\n loadChildren: () => import(/* webpackChunkName: \"agent-notes\" */'../../features/client/notes/agent-notes.module').then(m => m.AgentNotesModule), //NOTES MODULE\n canActivate:[AgentTabsGuard],\n data:{securityID:AgentSecurityConstant.NotesTab}\n },\n {\n path: 'tasks',\n loadChildren: () => import(/* webpackChunkName: \"pax-tasks\" */'../../features/client/tasks/tasks.module').then(m => m.TasksModule), //TASK MODULE\n canActivate:[AgentTabsGuard],\n data:{securityID:AgentSecurityConstant.TasksTab}\n },\n {\n path: 'trips',\n loadChildren: () => import(/* webpackChunkName: \"agent-trips\" */'../../features/client/trips/trips.module').then(m => m.TripsModule), //TRIPS MODULE\n canActivate:[AgentTabsGuard],\n data:{securityID:AgentSecurityConstant.TripsTab}\n },\n {\n path: 'communications',\n loadChildren: () => import(/* webpackChunkName: \"agent-communications\" */'../../features/client/communications/communications.module').then(m => m.CommunicationsModule), //COMMUNICATIONS MODULE\n canActivate:[AgentTabsGuard],\n data:{securityID:AgentSecurityConstant.CommuncationTab}\n },\n {\n path: 'classification',\n loadChildren: () => import(/* webpackChunkName: \"agent-classification\" */'../../features/client/classification/classification.module').then(m => m.ClassificationModule), //CLASSIFICATION MODULE\n canActivate:[AgentTabsGuard],\n data:{securityID:AgentSecurityConstant.ClassificationTab}\n },\n {\n path: 'terms',\n loadChildren: () => import(/* webpackChunkName: \"agent-terms\" */'../../features/client/terms/terms.module').then(m => m.TermsModule), //TERMS MODULE\n canActivate:[AgentTabsGuard],\n data:{securityID:AgentSecurityConstant.TermsTab}\n },\n {\n path: 'finance',\n loadChildren: () => import(/* webpackChunkName: \"agent-finance\" */'../../features/client/finance/finance.module').then(m => m.FinanceModule), //FINANCE MODULE\n canActivate:[AgentTabsGuard],\n data:{securityID:AgentSecurityConstant.FinanceTab}\n },\n ],resolve: { agentInfo: AgentInfoResolver },\n }\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule]\n})\nexport class AgentRoutingModule { }\n","import { Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { IAppConfig } from 'src/app/IAppConfig';\n@Injectable({\n providedIn: 'root'\n})\nexport class AppConfigService {\n\n static settings: IAppConfig;\n\n constructor(private http: HttpClient) {}\n\n load() {\n\n const jsonFile = 'assets/AppConfig.json';\n\n return new Promise((resolve, reject) => {\n this.http.get(jsonFile).toPromise().then((response : any) => {\n AppConfigService.settings = response;\n resolve();\n\n }).catch((response: any) => {\n reject('Could not load the config file');\n });\n });\n }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Component, OnInit,ViewChild } from '@angular/core';\nimport { LoggingService } from 'src/app/services/common/logging.service';\nimport { passengerService } from 'src/app/services/home/passenger.service';\nimport { CommonService } from 'src/app/services/common/common.service';\nimport {MenuItem} from 'primeng/api';\nimport { PassengerInfoComponent } from '../passenger-info/passenger-info.component';\nimport {MessageService} from 'primeng/api';\nimport { GlobalConstants } from 'src/app/shared/global-constants';\nimport { Subscription } from 'rxjs';\nimport { SharedService } from 'src/app/services/common/shared.service';\nimport { Router, ActivatedRoute, Params } from '@angular/router';\nimport { PaxSecurityConstant } from 'src/app/constants/security-constant';\nimport { entityType } from 'src/app/models/entityType';\nimport { IAddEditNoteConfig } from 'src/app/models/addEditNoteConfig';\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\nimport { NotesService } from 'src/app/services/notes/notes.service';\nimport { map } from 'rxjs/operators';\n\n@Component({\n selector: 'app-main-layout',\n templateUrl: './main-layout.component.html',\n styleUrls: ['./main-layout.component.scss'],\n // providers:[MessageService]\n})\nexport class MainLayoutComponent implements OnInit {\n\n paxId = '691'; //'701'//2608;//691\n isHomeTab:boolean=true;\n items: MenuItem[] = [];\n activeItem!: MenuItem;\n addEditFormConfig : any = {\n header : \"Edit Address\",\n entity : entityType.passenger\n };\n showAddNoteForm:boolean = false;\n\n @ViewChild(PassengerInfoComponent)\n private paxInfoComponent!:PassengerInfoComponent;\n\n addNoteConfig = {} as IAddEditNoteConfig;\n addTaskConfig:any={};\n menuClickedSubs:Subscription;\n refreshPaxLinkedContactsData:Subscription= new Subscription();\n //SIDE BAR PROPERTIES\n _sidebarOpened: boolean = true;\n _openRightSideBar : boolean = false;\n _opened: boolean = true;\n _modeNum: number = 0;\n _positionNum: number = 0;\n _dock: boolean = false;\n _closeOnClickOutside: boolean = false;\n _closeOnClickBackdrop: boolean = false;\n _showBackdrop: boolean = false;\n _animate: boolean = true;\n _trapFocus: boolean = true;\n _autoFocus: boolean = true;\n _keyClose: boolean = false;\n _autoCollapseHeight: number = 0;\n _autoCollapseWidth: number = 0;\n _mode:string =\"push\";\n\n //editAddress: FormGroup;\n //editAddressData : any;\n //editBasicInfo: FormGroup;\n //editBasicInfoData : any;\n //editMembership: FormGroup;\n //editMembershipData : any;\n //editRelationship: FormGroup;\n //editRelationshipData : any;\n mainAddressID : any;\n membershipID : any;\n linkedContactID:any;\n //titleTypeData = [];\n //communicationTypeData = [];\n //passengerTypeData = [];\n //nationalityTypeData:any[]=[];\n //languageTypeData = [];\n //genderTypeData = [];\n //passengerClassData: [] = [];\n //passengerStatusData = [];\n //sourceTypeData = [];\n //preferenceTypeData = [];\n //membershipTypeData =[];\n editHeader:string=\"\";\n editType:string=\"\";\n // relationshipTypeData =[];\n //filteredPassengers: any[]=[];\n bookingSumary: any;\n paxName:string=\"\";\n slideBtnIcon = \"pi pi-angle-double-left\";\n refreshMembershipPaxData:Subscription= new Subscription();\n refreshBasicInfoPaxData:Subscription= new Subscription();\n\n constructor(private http: HttpClient, private logger: LoggingService, public passengerService: passengerService,\n public commonService: CommonService, public messageService: MessageService,private noteService:NotesService,\n private sharedService:SharedService, private activatedRoute: ActivatedRoute, private router:Router) {\n\n this.menuClickedSubs = this.sharedService.tabMenuClicked.subscribe(tab=>this.changeTab(tab))\n this.refreshPaxLinkedContactsData = this.sharedService.refreshPaxLinkedContacts.subscribe(data=>this.postAddLinkedContactCalledFromAbout(data))\n GlobalConstants.PassengerID = Number(this.activatedRoute.snapshot.paramMap.get('id')||0);\n // this.LoadUserPermissions();\n this.refreshMembershipPaxData = this.sharedService.refreshPaxMemberships.subscribe(data=>this.postMembershipUpdate(data));\n this.refreshBasicInfoPaxData = this.sharedService.refreshPaxBasicInfo.subscribe(data=>this.postBasicInfoUpdateCalledFromAbout(data));\n }\n\n ngOnInit(): void {\n\n //this.paxId = this.activatedRoute.snapshot.paramMap.get('id');\n //console.log(\"ID: \" + this.activatedRoute.snapshot.paramMap.get('id'));\n\n this.paxId = GlobalConstants.PassengerID.toString();\n this.paxName = GlobalConstants. PaxName;\n let URL = this.router.url.replace('/','');\n this.changeTab({tab:URL});\n //if (GlobalConstants.TabName !=\"Home\")\n //this.isHomeTab=false;\n }\n\n _openRightSidebar() {\n this._openRightSideBar = !this._openRightSideBar;\n }\n\n closeRightSidebar() {\n this._openRightSideBar = false;\n this.editType=\"\";\n }\n\n LoadUserPermissions(){\n let securityConstantID:any[]=[]\n //MAIN TABS\n securityConstantID.push(PaxSecurityConstant.HomeTab);\n securityConstantID.push(PaxSecurityConstant.AboutTab);\n securityConstantID.push(PaxSecurityConstant.TripsTab);\n securityConstantID.push(PaxSecurityConstant.CommuncationTab);\n securityConstantID.push(PaxSecurityConstant.TasksTab);\n securityConstantID.push(PaxSecurityConstant.NotesTab);\n securityConstantID.push(PaxSecurityConstant.TimelineTab);\n securityConstantID.push(PaxSecurityConstant.FinanceTab);\n\n //ABOUT\n securityConstantID.push(PaxSecurityConstant.Address);\n securityConstantID.push(PaxSecurityConstant.LinkedContact);\n securityConstantID.push(PaxSecurityConstant.ClubMembership);\n securityConstantID.push(PaxSecurityConstant.PreferedActivities);\n securityConstantID.push(PaxSecurityConstant.PreferedDestinations);\n securityConstantID.push(PaxSecurityConstant.BasicInfo);\n securityConstantID.push(PaxSecurityConstant.PassportDetails);\n securityConstantID.push(PaxSecurityConstant.APIS);\n securityConstantID.push(PaxSecurityConstant.FlightPreference);\n securityConstantID.push(PaxSecurityConstant.FrequentFlyerInfo);\n securityConstantID.push(PaxSecurityConstant.VisaDetails);\n\n //TRIPS\n securityConstantID.push(PaxSecurityConstant.Bookings);\n securityConstantID.push(PaxSecurityConstant.Enquiry);\n\n //NOTES\n securityConstantID.push(PaxSecurityConstant.UserNotes);\n securityConstantID.push(PaxSecurityConstant.SystemNotes);\n\n //FINANCE\n securityConstantID.push(PaxSecurityConstant.Credit);\n securityConstantID.push(PaxSecurityConstant.Invoices);\n securityConstantID.push(PaxSecurityConstant.PaymentTerms);\n\n //COMMUNICATION\n securityConstantID.push(PaxSecurityConstant.Campaign);\n securityConstantID.push(PaxSecurityConstant.Emails);\n securityConstantID.push(PaxSecurityConstant.Feedback);\n\n this.commonService.getUserPermissions(GlobalConstants.UserID,this.paxId,securityConstantID).subscribe(\n resp=>{\n window.localStorage.setItem(\"CRMPermissions\",JSON.stringify(resp.data));\n\n }\n )\n\n }\n //METHOD CALLED ON CLICK OF EDIT BUTTON ON LEFT SIDE BAR (ADDRESS/BASIC INFO/MEMBERSHIP/LINKED CONTACT)\n EditData(editInfo:any) {\n if(editInfo != undefined)\n {\n if (editInfo.type ==\"address\")\n {\n //this.editHeader=\"Edit Address\"\n //this.editType=\"address\";\n this.mainAddressID = editInfo.typeid;\n this.addEditFormConfig.visible = true;\n }\n else{\n if (editInfo.type ==\"basicinfo\")\n {\n this.editHeader=\"Edit Personal Info\"\n this.editType=\"basicinfo\";\n }\n else if (editInfo.type ==\"membership\")\n {\n this.editHeader= editInfo.typeid > 0 ? \"Edit Membership\" : \"Add Membership\"\n this.editType=\"membership\";\n this.membershipID=editInfo.typeid;\n }\n else if (editInfo.type ==\"relationship\")\n {\n this.editHeader= editInfo.typeid > 0 ? \"Edit Linked Contact\" : \"Add Linked Contact\"\n this.editType=\"relationship\";\n this.linkedContactID=editInfo.typeid;\n }\n else if (editInfo.type ==\"note\")\n {\n //this.editHeader=\"Add Note\"\n //this.editType=\"addNote\";\n this.addNoteConfig = this.getAddNoteConfig();\n this.showAddNoteForm = true;\n return;\n }\n else if (editInfo.type ==\"task\")\n {\n this.editHeader=\"Add Task\"\n this.editType=\"addTask\";\n this.addTaskConfig.entity=entityType.passenger\n this.addTaskConfig.entityId=this.paxId;\n }\n this._openRightSideBar = true;\n }\n\n }\n }\n\n getAddNoteConfig():IAddEditNoteConfig{\n let addReportMsg : string = \"Note is Added\"\n return {\n header:'Add Note',\n saveReportMsg : addReportMsg,\n entity:entityType.passenger,\n entityId:this.paxId,\n entityName:GlobalConstants.PaxName,\n action:\"add\",\n getInitData : ()=>{\n return this.noteService.getNewUserNoteMeta(entityType.passenger,this.paxId).pipe(map(response=>{\n let data = response.data || [];\n data.referenceEntities = {\n noteTypes:data.noteTypes,\n noteStatuses:data.noteStatuses,\n languages:data.languages,\n }\n return response\n }));\n },\n saveData : (baseRequest:any={})=>{\n baseRequest.origin = \"User Note\";\n baseRequest.username = GlobalConstants.UserName;\n return this.noteService.addUserNote(entityType.passenger,this.paxId,baseRequest);\n },\n getNoteForm : ()=>{\n return new FormGroup({\n noteType: new FormControl(null, Validators.required),\n noteStatus: new FormControl(null, Validators.required),\n noteLanguage: new FormControl(null, Validators.required),\n subject: new FormControl(null, Validators.required),\n notes: new FormControl(),\n attachDesc: new FormControl(),\n attachData: new FormControl(),\n userName: new FormControl()\n });\n }\n }\n }\n\n //EVENT CALLED WHEN TAB IS CLICKED/CHANGED\n changeTab(activeTab:any){\n\n if(GlobalConstants.DockPaxInfo){\n this._opened =false;\n this._dock = true;\n }\n //this.isHomeTab=false;\n if (this.paxInfoComponent != undefined)\n this.paxInfoComponent.dockPaxInfo();\n if(activeTab.tab != 'passenger/'+ this.paxId +'/home'){\n this.isHomeTab=false;\n }\n\n /*if(activeTab.tab != 'passenger/'+ this.paxId +'/home'){\n if(GlobalConstants.DockPaxInfo){\n this._opened =false;\n this._dock = true;\n }\n this.isHomeTab=false;\n this.paxInfoComponent.dockPaxInfo();\n }\n else{\n this._opened =true;\n this._dock = false;\n this.isHomeTab=true;\n if(this.paxInfoComponent != undefined)\n this.paxInfoComponent.showPaxInfoBar();\n }*/\n }\n\n showORhidePaxInfoBar(){\n GlobalConstants.DockPaxInfo = !GlobalConstants.DockPaxInfo\n this._opened = !this._opened\n this._dock =!this._dock\n if (this.paxInfoComponent != undefined){\n if(GlobalConstants.DockPaxInfo){\n this.paxInfoComponent.dockPaxInfo()\n }\n else{\n this.paxInfoComponent.showPaxInfoBar();\n }\n }\n }\n\n showPaxInfobar(){\n // this._opened=true;\n //this._dock=false;\n GlobalConstants.DockPaxInfo = !GlobalConstants.DockPaxInfo\n this._opened = !this._opened\n this._dock =!this._dock\n }\n //METHOD IS CALLED TO REFRESH DATA ON UI AFTER UPDATING ADDRESS\n postAddressUpdate(addressData:any){\n if (addressData.event ==\"UPDATE_ADDRESS_SAVE\")\n {\n this.paxInfoComponent.setPassengerAddressData(addressData.data);\n //this.logger.log(addressData.data);\n //this._openRightSideBar = !this._openRightSideBar;\n this.brodcastAddressUpdate({data:{address:addressData.data.data},action:\"PASSENGER_INFO_UPDATE\"});\n this.sharedService.refreshAddressDetailInBasicInfo.next({ \"event\": \"Save\", \"data\": addressData.data});\n this.showToast(\"Address Updated\", \"success\");\n }\n if (addressData.event ==\"UPDATE_ADDRESS_ERROR\")\n {\n this._openRightSideBar = !this._openRightSideBar;\n //this.logger.log(addressData.data);\n this.showToast(\"Error while updating address\", \"error\")\n }\n if (addressData.event ==\"CANCEL\")\n {\n //this._openRightSideBar = !this._openRightSideBar;\n }\n }\n\n //METHOD IS CALLED TO REFRESH DATA ON UI AFTER UPDATING BASIC INFO\n postBasicInfoUpdate(paxData:any){\n if (paxData.event ==\"Save\")\n {\n this.paxInfoComponent.setPassengerBasicInfo(paxData.data);\n //this.logger.log(paxData.data);\n this._openRightSideBar = !this._openRightSideBar;\n this.sharedService.refreshBasicInfo.next({ \"event\": \"Save\", \"data\": paxData.data});\n this.paxInfoComponent.mainAddressInfo.telephone = paxData.data && paxData.data.data ? paxData.data.data.telephoneNo : \"\"\n this.paxInfoComponent.mainAddressInfo.email = paxData.data && paxData.data.data ? paxData.data.data.email : \"\"\n this.showToast(\"Passenger Info Updated\", \"success\");\n }\n if (paxData.event ==\"Error\")\n {\n //this._openRightSideBar = !this._openRightSideBar;\n //this.logger.log(paxData.data);\n this.showToast(\"Error while updating basic info\", \"error\")\n }\n if (paxData.event ==\"Cancel\")\n {\n this._openRightSideBar = !this._openRightSideBar;\n\n }\n }\n\n //METHOD IS CALLED TO REFRESH DATA ON UI AFTER UPDATING MEMBERSHIP INFO\n postMembershipUpdate(membershipData:any){\n if (membershipData.event ==\"Save\")\n {\n this.paxInfoComponent.setPassengerMembershipInfo(membershipData.data);\n // this.logger.log(membershipData.data);\n this._openRightSideBar = false;\n if(membershipData.data.isAdd!=true){\n this.sharedService.refreshMemberships.next({ \"event\": \"Save\", \"data\": membershipData.data});\n this.showToast(\"Passenger Info Updated\", \"success\");\n }\n }\n if (membershipData.event ==\"Error\")\n {\n //this._openRightSideBar = !this._openRightSideBar;\n //this.logger.log(membershipData.data);\n this.showToast(\"Error while updating membership info\", \"error\")\n }\n if (membershipData.event ==\"Cancel\")\n {\n this._openRightSideBar = !this._openRightSideBar;\n\n }\n }\n\n //METHOD IS CALLED TO REFRESH DATA ON UI AFTER UPDATING LINKED CONTACT\n postLinkedContactUpdate(linkedContactData:any){\n if (linkedContactData.event ==\"Save\")\n {\n this.paxInfoComponent.setPassengerLinkedContactInfo(linkedContactData.data);\n //this.logger.log(linkedContactData.data);\n this._openRightSideBar = !this._openRightSideBar;\n this.sharedService.refreshLinkedContacts.next({ \"event\": \"Save\", \"data\": linkedContactData.data});\n this.showToast(\"Passenger Info Updated\", \"success\");\n }\n if (linkedContactData.event ==\"Error\")\n {\n // this._openRightSideBar = !this._openRightSideBar;\n //this.logger.log(linkedContactData.data);\n this.showToast(\"Error while updating linked contact\", \"error\")\n }\n if (linkedContactData.event ==\"Cancel\")\n {\n this._openRightSideBar = !this._openRightSideBar;\n\n }\n }\n\n postAddNote(noteAddedData:any){\n if (noteAddedData.event == \"Save\") {\n this._openRightSideBar = !this._openRightSideBar;\n this.sharedService.refreshNotes.next({ \"event\": \"Save\", \"data\": noteAddedData.data});\n this.editType=\"\"\n this.showToast(\"New Note Added\", \"success\");\n }\n if (noteAddedData.event == \"Error\") {\n this.showToast(\"Error while adding new note\", \"error\")\n }\n if(noteAddedData.event == \"Cancel\"){\n this._openRightSideBar = !this._openRightSideBar;\n }\n }\n\n postAddTask(taskAddedData:any){\n if (taskAddedData.event == \"Save\") {\n this._openRightSideBar = !this._openRightSideBar;\n this.sharedService.refreshAgentTasks.next({ \"event\": \"ADD_PAX_TASK\", \"data\": taskAddedData.data});\n this.editType=\"\"\n this.showToast(\"New Task Added\", \"success\");\n }\n if (taskAddedData.event == \"Error\") {\n\n this.showToast(\"Error while adding new task\", \"error\")\n }\n if(taskAddedData.event == \"Cancel\"){\n this._openRightSideBar = !this._openRightSideBar;\n }\n }\n\n postAddLinkedContactCalledFromAbout(newContactData: any){\n this.paxInfoComponent.setPassengerLinkedContactInfo(newContactData.data);\n }\n\n postBasicInfoUpdateCalledFromAbout(basicInfoData: any){\n this.paxInfoComponent.setPassengerBasicInfo(basicInfoData.data);\n this.paxInfoComponent.mainAddressInfo.telephone = basicInfoData.data && basicInfoData.data.data ? basicInfoData.data.data.telephoneNo : \"\"\n this.paxInfoComponent.mainAddressInfo.email = basicInfoData.data && basicInfoData.data.data ? basicInfoData.data.data.email : \"\"\n }\n\n showToast(error:any, type:any) {\n this.messageService.add({ key: 'tl', severity: type, detail: error });\n }\n\n brodcastAddressUpdate(payload:any) {\n this.sharedService.addressesUpdates(payload);\n }\n\n onAddNoteSave(event:any){\n this.sharedService.refreshNotes.next({ \"event\": \"ADD_NOTE_PASSENGER_INFO\", \"data\": event.data});\n }\n}\n","\n\n \n
\n \n
\n \n
\n
\n\n
\n \n
\n {{editHeader}}\n \n
\n \n
\n
\n \n
\n \n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n\n \n
\n
\n \n
\n \n
\n \n \n
\n
\n\n
\n\n\n\n\n","/* (ignored) */","import { Component, OnInit, EventEmitter,Output, Input } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\n\nimport { GlobalConstants } from 'src/app/shared/global-constants';\nimport { passengerService } from 'src/app/services/home/passenger.service';\nimport { MenuItem, MessageService } from 'primeng/api';\nimport { HttpClient } from '@angular/common/http';\nimport {TranslateService} from '@ngx-translate/core';\n//import countryFlagSettings from \"../../../../assets/countryFlagConfig.json\"\nimport { LoggingService } from 'src/app/services/common/logging.service';\nimport { UserPermissionsService } from 'src/app/services/common/user-permissions.service';\nimport { PaxSecurityConstant } from 'src/app/constants/security-constant';\nimport { SharedService } from 'src/app/services/common/shared.service';\nimport { Subscription } from 'rxjs';\nimport { GoogleAnalyticsService } from 'ngx-google-analytics';\nimport _ from 'lodash';\n\n\n//declare var AddBooking : any;\n//declare var AddEnquiry : any;\n@Component({\n selector: 'app-passenger-info',\n templateUrl: './passenger-info.component.html',\n styleUrls: ['./passenger-info.component.scss'],\n // providers:[MessageService]\n})\nexport class PassengerInfoComponent implements OnInit {\n\n @Output() addressID = new EventEmitter();\n @Output() showPaxInfoEvent = new EventEmitter();\n\n @Input() docked:boolean=false;\n countriesFlags:any;\n passenger: any;\n bookingSumary: any;\n futureTrips: any;\n paxId = '691'; //'701';\n addressExist = true;\n contactExist = true;\n memberShipExist = true;\n isLoaded: boolean = false;\n paxAge: string = \"\";\n mainAddress: string = \"\";\n country: string = \"\";\n items: MenuItem[] = [];\n totalMembership: number = 0;\n totalLinkedContacts: number = 0;\n mainAddressID:number=0;\n mainAddressInfo:MainAddress;\n basicInfo:BasicInfo;\n paxInfo:PaxInfo;\n membershipInfo:Membership[]=[]\n linkedContactInfo:LinkedContact[]=[]\n basicInfoHeader=\"Basic Info\";\n addressHeader=\"Address\";\n linkedContactHeader=\"Linked Contacts\";\n linkedContactHeaderText=\"Linked Contacts\";\n membershipHeader=\"Memberships\";\n membershipHeaderText=\"Memberships\";\n slideBtnIcon = \"pi pi-angle-double-right\";\n countryFlag : String = \"\";\n subscription: Subscription;\n hideBacktoSearchBtn = false;\n\n constructor(private http: HttpClient, public passengerService: passengerService, private logger: LoggingService,\n private translate:TranslateService, private router:Router, private activatedRoute:ActivatedRoute,\n private messageService: MessageService,private userPermission:UserPermissionsService,private SharedService:SharedService,\n private $gaService: GoogleAnalyticsService) {\n\n this.paxId = GlobalConstants.PassengerID.toString();\n //this.paxId = this.activatedRoute.snapshot.paramMap.get('id')||\"0\";\n this.mainAddressInfo = new MainAddress();\n this.basicInfo = new BasicInfo();\n this.paxInfo = new PaxInfo();\n this.hideBacktoSearchBtn = GlobalConstants.calledForSingleRecordFromTSv2;\n\n let arrTranslate = [\"Home.PassengerInfo.Address\", \"Home.PassengerInfo.BasicInfo\", \"Home.PassengerInfo.BasicInfo\",\n \"Home.PassengerInfo.LinkedContacts\", \"Home.PassengerInfo.Memberships\", \"Home.PassengerInfo.AddBooking\",\n \"Home.PassengerInfo.AddEnquiry\"];\n\n this.translate.get(arrTranslate).subscribe((response: any) => {\n this.basicInfoHeader = response['Home.PassengerInfo.BasicInfo'];\n this.addressHeader = response['Home.PassengerInfo.Address'];\n this.linkedContactHeader = response['Home.PassengerInfo.LinkedContacts'];\n this.linkedContactHeaderText = response['Home.PassengerInfo.LinkedContacts'];\n this.membershipHeader = response['Home.PassengerInfo.Memberships'];\n this.membershipHeaderText = response['Home.PassengerInfo.Memberships'];\n\n //this.getPassengerMockData()\n this.items = [{\n label: response['Home.PassengerInfo.AddBooking'],\n command: () => {\n //AddBooking(this.paxId,GlobalConstants.PaxName);\n window.parent.CreateNewBooking(this.paxId,GlobalConstants.PaxName);\n }\n },\n {\n label: response['Home.PassengerInfo.AddEnquiry'],\n command: () => {\n //AddEnquiry(this.paxId);\n window.parent.CreateNewEnquiry(this.paxId);\n }\n }]\n\n });\n\n this.subscription = this.SharedService.currentAddressesUpdate.subscribe(payload =>{\n if(payload && payload.data && payload.action == \"ADDRESSES_UPDATE\" && this.mainAddressID == payload.data.address.addressId)\n {\n this.mainAddress = payload.data.address.fullAddress;\n this.mainAddressInfo.email = payload.data.address.addressMailAddress;\n this.mainAddressInfo.telephone = payload.data.address.addressTelephoneNumber;\n this.country = payload.data.address.countryName;\n this.countryFlag = this.getCountryFlag();\n }\n })\n}\n\n ngOnInit(): void {\n this.getAllCountriesFlag().subscribe(data =>{\n this.countriesFlags = data;\n this.getPassengerData();\n })\n this.dockPaxInfo();\n }\n\n // this method provides functionality to get passanger personal details from CRM API\n // the CRM API's end point called here is PassangerHome\n getPassengerData() {\n\n this.logger.info('Start of getPassengerData() - passenger info component');\n // this.passengerService.getPassagengrDetails(this.paxId).subscribe(\n this.activatedRoute.data.subscribe(\n data => {\n this.passenger = data.paxInfo;\n this.isLoaded = true;\n //window.localStorage.setItem(\"PaxName\",this.passenger.data.passengerName);\n GlobalConstants.PaxName = this.passenger.data.passengerName;\n if (this.passenger.data == null || this.passenger.data == undefined) {\n //CODE\n }\n else {\n if (this.passenger.data.dateOfBirth != undefined) {\n const bdate = new Date(this.passenger.data.dateOfBirth);\n const timeDiff = Math.abs(Date.now() - bdate.getTime());\n this.paxAge = \"Age(\" + Math.floor((timeDiff / (1000 * 3600 * 24)) / 365) + \")\";\n }\n this.basicInfo.Age=this.paxAge;\n this.basicInfo.DOB=this.passenger.data.dateOfBirth;\n this.basicInfo.Gender=this.passenger.data.gender;\n this.basicInfo.Status=this.passenger.data.status;\n this.basicInfo.Nationality=this.passenger.data.nationality;\n\n this.paxInfo.name = this.passenger.data.passengerName;\n this.paxInfo.clientName = this.passenger.data.clientName;\n this.paxInfo.jobDescription = this.passenger.data.jobDescription;\n this.paxInfo.initials = this.passenger.data.initials;\n this.paxInfo.classType = this.passenger.data.classBackColorHex;\n this.paxInfo.intialsTootltip = this.passenger.data.passengerName + '
' +this.passenger.data.class;\n if (this.passenger.data.address == undefined) {\n this.addressExist = false\n }\n else {\n this.mainAddress = this.passenger.data.address.addressLine1;\n this.mainAddressID = this.passenger.data.address.addressId;\n if (this.passenger.data.address.addressLine2 != undefined && this.passenger.data.address.addressLine2 != \"\")\n this.mainAddress = this.mainAddress + \", \" + this.passenger.data.address.addressLine2;\n if (this.passenger.data.address.addressLine3 != undefined && this.passenger.data.address.addressLine3 != \"\")\n this.mainAddress = this.mainAddress + \", \" + this.passenger.data.address.addressLine3;\n if (this.passenger.data.address.addressLine4 != undefined && this.passenger.data.address.addressLine4 != \"\")\n this.mainAddress = this.mainAddress + \", \" + this.passenger.data.address.addressLine4;\n if (this.passenger.data.address.city != undefined && this.passenger.data.address.city != \"\")\n this.mainAddress = this.mainAddress + \", \" + this.passenger.data.address.city;\n if (this.passenger.data.address.state != undefined && this.passenger.data.address.state != \"\")\n this.mainAddress = this.mainAddress + \", \" + this.passenger.data.address.state;\n if (this.passenger.data.address.postCode != undefined && this.passenger.data.address.postCode != \"\")\n this.mainAddress = this.mainAddress + \", \" + this.passenger.data.address.postCode;\n if (this.passenger.data.address.country != undefined && this.passenger.data.address.country != \"\") {\n this.mainAddress = this.mainAddress + \", \" + this.passenger.data.address.country;\n this.country = this.passenger.data.address.country;\n this.countryFlag = this.getCountryFlag();\n }\n\n\n\n this.mainAddressInfo.Address=this.mainAddress;\n this.mainAddressInfo.email=this.passenger.data.address.emailAddress\n this.mainAddressInfo.telephone=this.passenger.data.address.telephoneNumber\n\n }\n //linked contact object\n if (this.passenger.data.linkedContacts == null) {\n this.contactExist = false\n }\n else {\n this.totalLinkedContacts = this.passenger.data.linkedContacts.length;\n this.linkedContactHeader = this.linkedContactHeaderText + \" (\" + (this.totalLinkedContacts) +\")\";\n this.linkedContactInfo = this.passenger.data.linkedContacts.map((val:any) => {\n return {\n ID : val.passengerRelationshipId,\n Name : val.name,\n RelationshipType : val.relationshipType,\n Age : val.age,\n smcPassengerID : val.smcPassengerID\n }\n });\n }\n //membership object\n if (this.passenger.data.memberships == null) {\n this.memberShipExist = false\n }\n else {\n this.totalMembership = this.passenger.data.memberships.length;\n this.membershipHeader = this.membershipHeaderText + \" (\" + (this.totalMembership) +\")\";\n this.membershipInfo = this.passenger.data.memberships.map((val:any) => {\n return {\n ID : val.clubMembershipId,\n Typename : val.typeName,\n Number : val.number\n }\n });\n }\n }\n this.logger.info(JSON.stringify(data.paxInfo));\n this.logger.info('End of getPassengerData() - passenger info component');\n }, error => {\n this.isLoaded = true;\n this.logger.info('Error in getPassengerData() - passenger info component');\n this.logger.log(JSON.stringify(error));\n this.router.navigate([\"passengersearch\"])\n }\n );\n\n }\n\n setPassengerAddressData(response: any){\n if(response != undefined && response.data !=undefined)\n {\n let addressObject = response.data;\n if(addressObject.addressLine1 !=undefined)\n this.mainAddress = addressObject.addressLine1;\n if(addressObject.addressLine2 !=undefined && addressObject.addressLine2 !=\"\")\n this.mainAddress = this.mainAddress + \", \" + addressObject.addressLine2;\n if(addressObject.addressLine3 !=undefined && addressObject.addressLine3 !=\"\")\n this.mainAddress = this.mainAddress + \", \" + addressObject.addressLine3;\n if(addressObject.addressLine4 !=undefined && addressObject.addressLine4 !=\"\")\n this.mainAddress = this.mainAddress + \", \" + addressObject.addressLine4;\n if(addressObject.addressCity !=undefined && addressObject.addressCity !=\"\")\n this.mainAddress = this.mainAddress + \", \" + addressObject.addressCity;\n if(addressObject.country !=undefined && addressObject.country.description != undefined\n && addressObject.country.description != \"\")\n this.mainAddress = this.mainAddress + \", \" + addressObject.country.description;\n if(addressObject.state !=undefined && addressObject.state.description != undefined\n && addressObject.state.description != \"\")\n this.mainAddress = this.mainAddress + \", \" + addressObject.state.description;\n if(addressObject.addressPostCode !=undefined && addressObject.addressPostCode!=\"\")\n this.mainAddress = this.mainAddress + \", \" + addressObject.addressPostCode;\n\n this.mainAddressInfo.Address = this.mainAddress;\n this.mainAddressInfo.telephone = addressObject.addressTelephoneNumber !=undefined?addressObject.addressTelephoneNumber:\"\";\n this.mainAddressInfo.email = addressObject.addressMailAddress !=undefined ?addressObject.addressMailAddress:\"\";\n this.country = addressObject.country ? addressObject.country.description : \"\";\n this.countryFlag = this.getCountryFlag();\n }\n }\n\n setPassengerBasicInfo(response: any){\n if(response != undefined && response.data !=undefined)\n {\n\n let basicInfoObject = response.data;\n this.paxInfo.name = basicInfoObject.firstName+\" \"+basicInfoObject.lastName;\n if(basicInfoObject.passengerClass !=undefined && basicInfoObject.passengerClass.backColorHex != undefined)\n {\n this.paxInfo.classType = basicInfoObject.passengerClass.backColorHex\n }\n GlobalConstants.PaxName = this.paxInfo.name;\n if(basicInfoObject.dateOfBirth !=undefined)\n {\n this.basicInfo.DOB = basicInfoObject.dateOfBirth ;\n const bdate = new Date(this.passenger.data.dateOfBirth);\n const timeDiff = Math.abs(Date.now() - bdate.getTime() );\n let Age = \"Age(\" +Math.floor((timeDiff / (1000 * 3600 * 24)) / 365) + \")\";\n this.basicInfo.Age = Age ;\n }\n else{\n this.basicInfo.DOB = undefined\n this.basicInfo.Age=\"\"\n }\n if(basicInfoObject.nationalityType !=undefined && basicInfoObject.nationalityType.description != undefined)\n {\n this.basicInfo.Nationality = basicInfoObject.nationalityType.description\n }\n if(basicInfoObject.genderType !=undefined && basicInfoObject.genderType.description != undefined)\n {\n this.basicInfo.Gender = basicInfoObject.genderType.description\n }\n if(basicInfoObject.passengerStatus !=undefined && basicInfoObject.passengerStatus.description != undefined)\n {\n this.basicInfo.Status = basicInfoObject.passengerStatus.description\n }\n }\n }\n\n setPassengerMembershipInfo(response: any){\n if(response && response.data)\n {\n let updatedMembership = _.find(this.membershipInfo,mi=>mi.ID == response.data.id);\n if(updatedMembership)\n {\n const targetIdx = this.membershipInfo.map(item => item.ID).indexOf(response.data.id);\n this.membershipInfo[targetIdx].Typename = response.data.typeName;\n this.membershipInfo[targetIdx].Number =response.data.number;\n }\n else{\n this.membershipInfo.push({\n ID:response.data.id,\n Typename:response.data.typeName,\n Number:response.data.number\n });\n }\n }\n if(response!=null && response.isDelete){\n const targetIdx = this.membershipInfo.map(item => item.ID).indexOf(response.id);\n if(targetIdx > -1)\n this.membershipInfo.splice(targetIdx,1)\n }\n this.memberShipExist = !_.isEmpty(this.membershipInfo);\n this.totalMembership = this.membershipInfo.length;\n this.membershipHeader = this.totalMembership >0 ?this.membershipHeaderText + \" (\" + (this.totalMembership) +\")\":this.membershipHeaderText;\n }\n\n setPassengerLinkedContactInfo(response: any){\n if(response != undefined)\n {\n if(response.isEdit && response.data !=undefined)\n {\n (this.linkedContactInfo.find(m=>m.ID ==response.data.passengerRelationshipId) !=undefined)\n {\n const targetIdx = this.linkedContactInfo.map(item => item.ID).indexOf(response.data.passengerRelationshipId);\n this.linkedContactInfo[targetIdx].Name = response.data.smcPassengerFirstName +\" \" + response.data.smcPassengerLastName;\n this.linkedContactInfo[targetIdx].RelationshipType =response.data.relationshipTypeName;\n }\n }\n if(!response.isEdit && response.data !=undefined){\n let contact ={\n ID : \"\",\n Name : \"\",\n RelationshipType : \"\",\n Age : \"\",\n smcPassengerID: 0\n }\n contact.ID = response.data.passengerRelationshipId;\n contact.Name =response.data.smcPassengerFirstName +\" \" + response.data.smcPassengerLastName;\n contact.RelationshipType = response.data.relationshipTypeName;\n contact.Age = response.data.age;\n contact.smcPassengerID = response.data.smcPassengerID;\n this.linkedContactInfo.push(contact);\n this.contactExist = !_.isEmpty(this.linkedContactInfo);\n this.totalLinkedContacts = this.linkedContactInfo.length;\n this.linkedContactHeader = this.linkedContactHeaderText + \" (\" + (this.totalLinkedContacts) +\")\";\n }\n if(response.isDelete){\n const targetIdx = this.linkedContactInfo.map(item => item.ID).indexOf(response.passengerRelationshipId);\n if (targetIdx > -1) {\n this.linkedContactInfo.splice(targetIdx, 1);\n this.totalLinkedContacts = this.linkedContactInfo.length;\n this.linkedContactHeader = this.totalLinkedContacts>0?this.linkedContactHeaderText + \" (\" + (this.totalLinkedContacts) +\")\":this.linkedContactHeaderText;\n this.contactExist = !_.isEmpty(this.linkedContactInfo);\n }\n }\n }\n }\n\n getAllCountriesFlag(){\n return this.http.get(\"assets/countryFlagConfig.json\");\n }\n\n getCountryFlag() {\n if (this.countriesFlags != undefined) {\n var countryRec = this.countriesFlags.filter((p: any) => p.Country == this.country);\n if (countryRec != undefined && countryRec.length > 0)\n return countryRec[0].CssClass;\n else\n return \"\";\n }\n else\n return \"\";\n }\n\n openSearchPage(){\n this.router.navigate([\"/passengersearch\"]);\n }\n\n openRightSidebar(type:any,typeid:any) {\n\n if(type==\"address\" && !(this.userPermission.isEditable(PaxSecurityConstant.Address))){\n this.showToast(\"No User Permission to Edit Address\", \"error\");\n }\n else if(type==\"basicinfo\" && !(this.userPermission.isEditable(PaxSecurityConstant.BasicInfo))){\n this.showToast(\"No User Permission to Edit Basic Info\", \"error\");\n }\n else if(type==\"relationship\" && !(this.userPermission.isEditable(PaxSecurityConstant.LinkedContact))){\n this.showToast(\"No User Permission to Edit Linked Contact\", \"error\");\n }\n else if(type==\"membership\" && !(this.userPermission.isEditable(PaxSecurityConstant.ClubMembership))){\n this.showToast(\"No User Permission to Edit Club Membership\", \"error\");\n }\n else if(type==\"note\" && !(this.userPermission.isEditable(PaxSecurityConstant.UserNotes))){\n this.showToast(\"No User Permission to Add Note\", \"error\");\n }\n else if(type==\"task\" && !(this.userPermission.isEditable(PaxSecurityConstant.TasksTab))){\n this.showToast(\"No User Permission to Add Task\", \"error\");\n }\n else{\n if (type==\"address\")\n typeid = this.mainAddressID;\n this.addressID.emit({\"type\":type,\"typeid\":typeid});\n\n let event = \"Edit of \" + type;\n //this.$gaService.event(event);\n }\n }\n\n dockPaxInfo(){\n this.docked = GlobalConstants.DockPaxInfo;\n if(GlobalConstants.DockPaxInfo)\n this.slideBtnIcon = \"pi pi-angle-double-right\";\n else\n this.slideBtnIcon=\"pi pi-angle-double-left\";\n }\n\n showPaxInfoBar(){\n this.docked = false;\n if(GlobalConstants.DockPaxInfo)\n this.slideBtnIcon = \"pi pi-angle-double-right\";\n else\n this.slideBtnIcon=\"pi pi-angle-double-left\";\n }\n\n navigateHomePage(paxID:any){\n let URL='passenger/'+ paxID+'/home'\n this.router.navigate([URL]);\n this.SharedService.tabMenuClicked.next({tab:URL});\n GlobalConstants.TabName='Home';\n }\n\n expandPaxInfo(){\n this.docked = false;\n this.showPaxInfoEvent.emit();\n }\n\n navigateSearchResult(){\n let URL = \"passengersearch/\"\n if(GlobalConstants.PaxSearchText){\n URL=URL + GlobalConstants.PaxSearchText\n }\n\n this.router.navigate([URL])\n }\n\n showToast(error:any, type:any) {\n this.messageService.add({ key: 'tl', severity: type, detail: error });\n }\n}\n\nclass MainAddress {\n Address: string =\"\";\n email: string =\"\";\n telephone: string =\"\";\n}\n\nclass PaxInfo {\n name: string =\"\";\n clientName: string =\"\";\n jobDescription: string =\"\";\n initials: string =\"\";\n classType: string =\"\";\n intialsTootltip:string =\"\";\n}\n\nclass BasicInfo {\n DOB?: Date;\n Age:string=\"\";\n Status: string =\"\";\n Nationality: string =\"\";\n Gender:string=\"\";\n}\n\nclass Membership {\n Typename: string =\"\";\n Number: string =\"\";\n ID: string =\"\";\n}\n\nclass LinkedContact {\n Name: string =\"\";\n RelationshipType: string =\"\";\n ID: string =\"\";\n Age:string=\"\";\n smcPassengerID:number=0;\n}\n","
\n \n\n
\n
\n
\n \n \n\n
\n\n \n
\n
\n {{paxInfo.initials}}\n
\n
\n
{{paxInfo.name}}
\n
{{paxInfo.clientName}}
\n
{{paxInfo.jobDescription}}
\n
\n
\n \n\n
\n\n \n\n \n \n \n\n
\n
\n
\n
\n \n \n \n \n
\n \n\n
\n
Main
\n
\n \n
\n\n
\n\n \n\n
\n
\n
\n
\n
{{mainAddress}}\n
\n
\n\n \n
\n
\n \n
\n
\n {{mainAddressInfo.email}}\n
\n
\n\n \n
\n
\n \n
\n
\n {{mainAddressInfo.telephone}}\n
\n
\n
\n
\n
\n\n
\n \n \n \n \n\n \n
\n
Home.PassengerInfo.DOB
\n
NA
\n
{{basicInfo.DOB | date}} {{paxAge}}\n
\n \n
\n\n
\n
Home.PassengerInfo.Status
\n
{{basicInfo.Status}}
\n \n
\n\n\n
\n
Home.PassengerInfo.Nationality
\n
{{basicInfo.Nationality}}
\n \n
\n\n
\n
Home.PassengerInfo.Gender
\n
{{basicInfo.Gender}}
\n \n
\n\n
\n
\n\n
\n \n \n \n\n \n
\n
\n
{{contacts.Name}}
\n
{{contacts.RelationshipType}}
\n
{{contacts.Age}}
\n
\n \n
\n
\n
\n
\n
\n\n
\n \n \n \n \n \n\n \n\n
\n
{{members.Typename}}
\n
{{members.Number}}
\n
\n \n
\n
\n
\n
\n
\n
\n
\n
\n \n \n
\n\n
\n {{paxInfo.initials}}\n
\n\n
\n
\n
\n\n
\n \n
\n
\n \n\n
\n\n
\n \n
\n\n
\n \n
\n\n
\n \n \n
\n
\n \n
\n
\n
\n","export enum entityType{\r\n passenger = 1,\r\n agent = 2,\r\n agentContact =3\r\n}\r\n","import { ErrorHandler, Inject, Injectable, Injector, NgZone } from \"@angular/core\";\r\nimport { inject } from \"@angular/core/testing\";\r\nimport { ToastrService } from \"ngx-toastr\";\r\nimport { LoggingService } from \"src/app/services/common/logging.service\";\r\n//import { LoggingService } from \"src/app/services/common/logging.service\";\r\n\r\n\r\n@Injectable()\r\nexport class GlobalErrorHandler implements ErrorHandler {\r\n constructor( private logger:LoggingService) {\r\n\r\n }\r\n\r\n // private get toastr(): ToastrService {\r\n // return this.injector.get(ToastrService);\r\n // }\r\n\r\n handleError(error: Error) {\r\n this.logger.log(error.message);\r\n\r\n };\r\n\r\n // this.toastr.error(error.message);\r\n }\r\n\r\n","import { Injectable } from '@angular/core';\nimport { map } from 'rxjs/operators';\nimport {\n HttpRequest,\n HttpHandler,\n HttpEvent,\n HttpInterceptor,\n HttpResponse\n} from '@angular/common/http';\nimport { Observable } from 'rxjs';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class TransformDateInterceptor implements HttpInterceptor {\n urlsToUse: Array;\n\n constructor() {\n this.urlsToUse= [\n '/Tasks/Display',\n '/Addresses/',\n '/Passengers/',\n '/ClubMemberships/',\n ];\n }\n\n private _isoDateFormat = /^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}/;\n\n intercept(request: HttpRequest, next: HttpHandler): Observable> {\n\n if (!(this.isValidRequestForInterceptor(request.url)))\n return next.handle(request);\n\n return next.handle(request).pipe(map( (val: HttpEvent) => {\n if (val instanceof HttpResponse){\n const body = val.body;\n this.convert(body);\n }\n return val;\n }));\n }\n\n private isValidRequestForInterceptor(requestUrl: string): boolean {\n let positionIndicator: string = 'api/';\n let position = requestUrl.indexOf(positionIndicator);\n if (position > 0) {\n let destination: string = requestUrl.substr(position + positionIndicator.length);\n for (let address of this.urlsToUse) {\n if (new RegExp(address).test(destination)) {\n return true;\n }\n }\n }\n return false;\n }\n\n isIsoDateString(value: any): boolean {\n if (value === null || value === undefined) {\n return false;\n }\n if (typeof value === 'string'){\n return this._isoDateFormat.test(value);\n } return false;\n }\n\n convert(body: any){\n if (body === null || body === undefined ) {\n return body;\n }\n if (typeof body !== 'object' ){\n return body;\n }\n for (const key of Object.keys(body)) {\n const value = body[key];\n if (this.isIsoDateString(value)) {\n body[key] = new Date(value);\n } else if (typeof value === 'object') {\n this.convert(value);\n }\n }\n }\n}\n","import { NgModule } from '@angular/core';\nimport { RouterModule, Routes } from '@angular/router';\nimport { PaxSecurityConstant } from 'src/app/constants/security-constant';\nimport { PaxinfoResolverService } from 'src/app/resolver/passenger/paxinfo-resolver.service';\nimport { PaxTabsRouteGuardService } from 'src/app/route-guard/passenger/paxtabs-route-guard.service';\nimport { MainLayoutComponent } from './main-layout/main-layout/main-layout.component';\n\nconst routes: Routes = [\n\n {\n\n path: 'passenger/:id', component: MainLayoutComponent, children: [\n\n { path: '', redirectTo: 'home', pathMatch: 'full'},\n {\n path: 'home',\n loadChildren: () => import(/* webpackChunkName: \"pax-home\" */'../../features/passenger/home/home.module').then(m => m.HomeModule) //HOME MODULE\n },\n {\n path: 'about',\n loadChildren: () => import(/* webpackChunkName: \"pax-about\" */'../../features/passenger/about/about.module').then(m => m.AboutModule), //ABOUT MODULE,\n canActivate:[PaxTabsRouteGuardService],\n data:{securityID:PaxSecurityConstant.AboutTab}\n },\n {\n path: 'trips',\n loadChildren: () => import(/* webpackChunkName: \"pax-trips\" */'../../features/passenger/trips/trips.module').then(m => m.TripsModule), //TRIPS MODULE\n canActivate:[PaxTabsRouteGuardService],\n data:{securityID:PaxSecurityConstant.TripsTab}\n },\n {\n path: 'communications',\n loadChildren: () => import(/* webpackChunkName: \"pax-communications\" */'../../features/passenger/communications/communications.module').then(m => m.CommunicationsModule), //COMMUNICATIONS MODULE\n canActivate:[PaxTabsRouteGuardService],\n data:{securityID:PaxSecurityConstant.CommuncationTab}\n },\n {\n path: 'notes',\n loadChildren: () => import(/* webpackChunkName: \"pax-notes\" */'../../features/passenger/notes/notes.module').then(m => m.NotesModule), //NOTES MODULE\n canActivate:[PaxTabsRouteGuardService],\n data:{securityID:PaxSecurityConstant.NotesTab}\n },\n {\n path: 'tasks',\n loadChildren: () => import(/* webpackChunkName: \"pax-tasks\" */'../../features/passenger/tasks/tasks.module').then(m => m.TasksModule), //TASK MODULE\n canActivate:[PaxTabsRouteGuardService],\n data:{securityID:PaxSecurityConstant.TasksTab}\n },\n {\n path: 'finance',\n loadChildren: () => import(/* webpackChunkName: \"pax-finance\" */'../../features/passenger/finance/finance.module').then(m => m.FinanceModule), //FINANCE MODULE\n canActivate:[PaxTabsRouteGuardService],\n data:{securityID:PaxSecurityConstant.FinanceTab}\n },\n {\n path: 'timeline',\n loadChildren: () => import(/* webpackChunkName: \"pax-timeline\" */'../../features/passenger/timeline/timeline.module').then(m => m.TimelineModule), //TIMELINE MODULE\n canActivate:[PaxTabsRouteGuardService],\n data:{securityID:PaxSecurityConstant.TimelineTab}\n }\n ],resolve: { paxInfo: PaxinfoResolverService },\n //canActivate:[PaxTabsRouteGuardService],\n //data:{securityID:PaxSecurityConstant.HomeTab}\n }];\n\n\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule]\n})\nexport class PassengerRoutingModule { }\n","\r\nexport class GlobalConstants {\r\n public static PassengerID: number = 0;\r\n public static PaxName:string=\"\";\r\n public static UserName: string = \"\";\r\n public static UserID: number = 0;\r\n public static DockPaxInfo:boolean = false;\r\n public static TabName =\"Home\";\r\n public static TSClient =\"\";\r\n public static TrackingCode=\"G-8X545PC2XB\";\r\n public static PaxSearchText:string=\"\";\r\n public static AgentSearchText:string=\"\";\r\n public static Culture =\"en\"\r\n //\r\n public static calledFromTSv2 : boolean =false;\r\n public static calledForSingleRecordFromTSv2 : boolean =false;\r\n public static ContactName:string=\"\";\r\n public static AgentID: number = 0;\r\n public static AgentName:string=\"\";\r\n public static DockInfo:boolean = false;\r\n public static SearchText:string=\"\";\r\n public static JwtToken: string = \"\";\r\n\r\n //publi and private key rsa encryption (keys are in crm api solution)\r\n public static privateKey:string=\"-----BEGIN RSA PRIVATE KEY-----\"+\r\n \"MIIEpAIBAAKCAQEAskgPKBcNpz71mi4NSYa5mazJrO0WZim7T2yy7qPxk2NqQE7O\"+\r\n \"mWWakLJcaeUYnI0kO3yC57vck66RPCjKxWuWSGZ7dHXe0bWb5IXjcT4mNdnUIalR\"+\r\n \"+lV8czsoH/wDUvkQdG1SJ+IxzW64WvoaCRZ+/4wBF2cSUh9oLwGEXiodUJ9oJXFZ\"+\r\n \"VPKGCEjPcBI0vC2ADBRmVQ1sKsZg8zbHN+guU9rPLFzN4YNrCnEsSezVw/W1FKVS\"+\r\n \"8J/Xx4HSSg7AyVwniz8eHi0e3a8VzFg+H09I5wK+w39sjDYfAdnJUkr6PjtSbN4/\"+\r\n \"Sg/NMkKB2Ngn8oj7LCfe/7RNqIdiS+dQuSFgeQIDAQABAoIBAQCtAyEyVqz5UTAn\"+\r\n \"n+llIUmcyQIuvyatnnIYcfRzgsY9soy6O8BjPSbypSTp31ozEwXGdN7U5Ir7Br4L\"+\r\n \"E8s0K2R8fnfwXTMPcJ8I9qXyj82lFO+4ewkDV1KewRn/cCIJs4s0caL48ZpDMt/V\"+\r\n \"6kC58QruFIA6pdwxtij09RPwDg7E3U1MrL9PqgGXXQcAwtboP7gHs2ac+0b6CwV0\"+\r\n \"Cyev09Xpni3ID0iKX8yKsxi6wOh+2O4Mz8B3R2gIXq7Gzw8oeho0nSBD19B7fWs+\"+\r\n \"w4vFlHIl57zbeISQK10cvvJ8BB4byy/bn5V2O2lESgU10d48csD5IUcjdV4/yuFx\"+\r\n \"vI8S9vfBAoGBAOqbw03WXnhZQu8O7Gos8P7lrBi3eYdF45hHAfWbK5ub6O7fC0kQ\"+\r\n \"FYZqO0AR7oEAzuApWP0uGxQFALZ0QPyFZbpnKinE9T9a4M5AaP1Ex8WmeWbto96b\"+\r\n \"md6jVRXKXz24x5GDk+UdF7PJF91DufpUB5ZaO/AXpB9/3R9BDu7JHTjzAoGBAMKJ\"+\r\n \"grfZmyH3B9Cslnb8HUSlbXZQ/tnLoc3DpXnaENpYKWz/FMjqxTHuVRRqH86tYL33\"+\r\n \"/ow3UCaN3EYgIguoVC+DTbzk3/I9IXXeDXrocH1qCUy+x6dohzPoKZMoILLs+VeF\"+\r\n \"eAJfIptgVIfcD5teKdEY4lYPbV0m47Q2ET8pgNvjAoGADWgDPBJw6Y2oPoLqzZJt\"+\r\n \"3xL+x5bMcgdzXwNHwGIylrzNDcFfIrixkjHF2v5rU6HZMIQMWsNktrsmdEamZAe3\"+\r\n \"bXRxu1tO7GTkDcUuerKQe+HsdA5GW/UmUMuilBExahSCCvWq4N/Nt+9Y1sMFAKIG\"+\r\n \"oPfdDvY64bXry9pq4QhLDDMCgYAGs9ovH24641n/lJKyksknXlPBKdU+B8gRYNZI\"+\r\n \"tnyyKSt0N+2tZnlY2Q9RXr6tzkdxBCRfDGDUkzqtp9nEcQ5FfM6m3XPh0r1eZEIu\"+\r\n \"o+eMSqT7Ye9bEzzlSvBzw4Qs5gFJRK331vNISy9eZvSas8nZDHRv5qQr+3UI9nvt\"+\r\n \"oy5vZQKBgQCK5z2IeL1NFd5OuJaR07Y+xwO7IOiZ+nn+fXWYkZ4bD08Dg0ACnd/w\"+\r\n \"OcS+2fU2/IIuXnhT/f5M5r0AJI1lG/V8TBo4gxN2dm7yBLgczbK3u+tex+pEnfEZ\"+\r\n \"qxAE0159q3iGvU5nmtX6VC0Z/IJIUCVgiEMwoKct0T5eOV2iQf5PaQ==\"+\r\n \"-----END RSA PRIVATE KEY-----\";\r\n public static publicKey:string=\"-----BEGIN PUBLIC KEY-----\"+\r\n \"MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAskgPKBcNpz71mi4NSYa5\"+\r\n \"mazJrO0WZim7T2yy7qPxk2NqQE7OmWWakLJcaeUYnI0kO3yC57vck66RPCjKxWuW\"+\r\n \"SGZ7dHXe0bWb5IXjcT4mNdnUIalR+lV8czsoH/wDUvkQdG1SJ+IxzW64WvoaCRZ+\"+\r\n \"/4wBF2cSUh9oLwGEXiodUJ9oJXFZVPKGCEjPcBI0vC2ADBRmVQ1sKsZg8zbHN+gu\"+\r\n \"U9rPLFzN4YNrCnEsSezVw/W1FKVS8J/Xx4HSSg7AyVwniz8eHi0e3a8VzFg+H09I\"+\r\n \"5wK+w39sjDYfAdnJUkr6PjtSbN4/Sg/NMkKB2Ngn8oj7LCfe/7RNqIdiS+dQuSFg\"+\r\n \"eQIDAQAB\"+\r\n \"-----END PUBLIC KEY-----\";\r\n}\r\n\r\ndeclare global {\r\n interface Window {\r\n OpenBooking(id:any,ref:any): any;\r\n OpenEnquiry(id:any,ref:any): any;\r\n CreateNewBooking(paxID:any, paxName:any):any;\r\n CreateNewEnquiry(paxID:any):any;\r\n CreateNewAgentBooking(agentID:any, agentName:any):any;\r\n CreateNewAgentEnquiry(agentID:any):any;\r\n OpenNewCRMInstance(routingURL:any,pageName:any):any;\r\n GenerateExternalDocumentation(creditReceiptID:any, agentId:any):any;\r\n ShowDocument(documentNo:any, agentId:any):any;\r\n }\r\n}\r\n\r\nexport enum TabType{\r\n All=0,\r\n Active=1,\r\n Past=2\r\n}\r\n\r\nexport enum DefaultResultType{\r\n all = \"all\",\r\n pastOnly = \"pastOnly\",\r\n futureOnly = \"futureOnly\"\r\n}\r\n\r\nexport enum MatchType{\r\n directMatch = \"directMatch\",\r\n possibleMatch = \"possibleMatch\",\r\n}\r\n\r\nexport enum DocumentTreeNodeType{\r\n folder = 0,\r\n documentPackage = 1,\r\n component = 2,\r\n packageComponent = 3\r\n}\r\n\r\n\r\n","import { HttpClient } from '@angular/common/http';\nimport { Component, OnInit, Output,EventEmitter, Input } from '@angular/core';\nimport { FormControl, FormGroup,Validators} from '@angular/forms';\n\nimport { LoggingService } from 'src/app/services/common/logging.service';\nimport { passengerService } from 'src/app/services/home/passenger.service';\nimport { CommonService } from 'src/app/services/common/common.service';\nimport {TranslateService} from '@ngx-translate/core';\nimport { GlobalConstants } from '../global-constants';\nimport { MessageService } from 'primeng/api';\nimport { aboutService } from 'src/app/services/about/about.service';\nimport moment from 'moment';\nimport { AppConfigService } from 'src/app/services/common/app-config.service';\n\n@Component({\n selector: 'app-edit-membership',\n templateUrl: './edit-membership.component.html',\n styleUrls: ['./edit-membership.component.css'],\n // providers:[MessageService]\n})\nexport class EditMembershipComponent implements OnInit {\n\n editMembership: FormGroup;\n editMembershipData : any;\n paxId = \"\";\n membershipTypeData =[];\n @Input() membershipID:string=\"0\";\n @Output() postUpdate = new EventEmitter();\n addMembershipData : any;\n isEdit : boolean = false;\n defaultDateFormatSave: string = \"\";\n\n\n\n constructor(private http: HttpClient, private logger: LoggingService, private translate: TranslateService,\n public passengerService: passengerService, public commonService: CommonService,public aboutService :aboutService,\n public messageService: MessageService) {\n\n //MEMBERSHIP EDIT FORM\n this.editMembership = new FormGroup({\n MembershipType: new FormControl(null, Validators.required),\n MembershipNumber: new FormControl(null,Validators.required),\n Joined: new FormControl(null, Validators.required),\n ExpiryDate: new FormControl(),\n });\n this.addMembershipData = new FormGroup({\n MembershipType: new FormControl(null,Validators.required),\n MembershipNumber: new FormControl(null,Validators.required),\n Joined: new FormControl(null,Validators.required),\n ExpiryDate: new FormControl(null),\n ID: new FormControl(0)\n });\n this.defaultDateFormatSave= AppConfigService.settings.env.defaultDateFormatSave;\n\n }\n\n ngOnInit(): void {\n this.paxId = GlobalConstants.PassengerID.toString();\n // if(Number(this.membershipID) > 0)\n // this.getMembershipForEdit(this.membershipID);\n // else\n // this.getMembershipDataForAdd();\n }\n ngOnChanges(changes: any):void{\n this.paxId = GlobalConstants.PassengerID.toString();\n if(Number(this.membershipID) > 0)\n {\n this.isEdit = true;\n this.getMembershipForEdit(this.membershipID);\n }\n else\n this.getMembershipDataForAdd(this.paxId);\n }\n\n //GET EDIT INFO FOR MEMBERSHIP\n getMembershipForEdit(membershipID: string) {\n this.logger.info('Start of getMembershipForEdit - edit-membership component');\n this.passengerService.editPassengerMembership(this.paxId, membershipID).subscribe(\n response => {\n this.editMembershipData = response.data;\n this.openSideBarForMembershipEdit(membershipID);\n this.logger.log(JSON.stringify(response));\n\n }, error => {\n this.logger.error(JSON.stringify(error));\n }, () => {\n this.logger.info('End of getMembershipForEdit - edit-membership component');\n }\n );\n }\n\n //OPEN RIGHT SIDE BAR FOR EDITING MEMBERSHIP INFO\n openSideBarForMembershipEdit(membershipID: string) {\n let membershipData = this.editMembershipData.clubMembershipData;\n let membershipType = membershipData.type;\n\n this.membershipTypeData = this.editMembershipData.referenceEntities.clubMembershipTypes;\n\n this.editMembership = new FormGroup({\n MembershipType: new FormControl(membershipType != undefined ? { id: membershipType.id, description: membershipType.description } : null,Validators.required),\n MembershipNumber: new FormControl(membershipData.number,Validators.required),\n Joined: new FormControl(membershipData.dateJoined ? new Date(membershipData.dateJoined) : null,Validators.required),\n ExpiryDate: new FormControl(membershipData.expiryDate ? new Date(membershipData.expiryDate) : null),\n ID: new FormControl(membershipData.id)\n });\n\n }\n\n //UPDATE MEMBERSHIP INFO -->CALLED ON CLICK OF SAVE BUTTON ON RIGHT SIDE BAR\n updateMembership() {\n if(Number(this.membershipID) > 0)\n {\n // this.validateControls();\n if (this.editMembership.valid) {\n var FormValue = this.editMembership.value;\n var BaseRequest = {\n \"dateJoined\": FormValue.Joined == null ? \"\" : moment(FormValue.Joined).format(this.defaultDateFormatSave),\n \"expiryDate\": FormValue.ExpiryDate == null ? \"\" : moment(FormValue.ExpiryDate).format(this.defaultDateFormatSave),\n \"number\": FormValue.MembershipNumber == null ? \"\" : FormValue.MembershipNumber,\n \"typeId\": FormValue.MembershipType != null ? FormValue.MembershipType.id : null\n }\n this.logger.info('Start of updateMembership - edit-membership component');\n this.passengerService.updatePassengeMembership(this.paxId, FormValue.ID, BaseRequest).subscribe(\n response => {\n this.logger.log(JSON.stringify(response));\n response.isEdit = this.isEdit;\n this.postUpdate.emit({\"event\":\"Save\",\"data\":response});\n this.editMembershipData = null;\n }, error => {\n this.logger.error(JSON.stringify(error));\n }, () => {\n this.logger.info('End of updateMembership - edit-membership component');\n }\n );\n }\n else{\n this.commonService.markControlsAsDirty(this.editMembership);\n }\n }\n else{\n this.addNewMembership();\n }\n }\n\n //CLOSE SIDE BAR\n Close() {\n this.postUpdate.emit({ \"event\": \"Cancel\", \"data\": null });\n }\n\n //Get Data for Add\n getMembershipDataForAdd(paxId:string)\n {\n this.logger.info('Start of getMembershipForEdit - edit-membership component');\n this.aboutService.getMembershipDataForAdd(paxId).subscribe(\n response => {\n this.addMembershipData = response.data;\n this.openSideBarForMembershipAdd();\n this.logger.log(JSON.stringify(response));\n }, error => {\n this.logger.error(JSON.stringify(error));\n }, () => {\n this.logger.info('End of getMembershipDataForAdd() - edit-membership component');\n }\n );\n }\n\n //Open Sidebar for Add\n openSideBarForMembershipAdd() {\n let membershipData = this.addMembershipData;\n this.membershipTypeData = membershipData.clubMembershipTypes;\n\n this.editMembership = new FormGroup({\n MembershipType: new FormControl(null,Validators.required),\n MembershipNumber: new FormControl(null,Validators.required),\n Joined: new FormControl(null,Validators.required),\n ExpiryDate: new FormControl(null),\n ID: new FormControl(0)\n });\n }\n\n //Add New Membership\n addNewMembership(){\n //this.validateControls();\n if (this.editMembership.valid)\n {\n var FormValue = this.editMembership.value;\n var BaseRequest = {\n \"dateJoined\": FormValue.Joined== null ? \"\" : moment(FormValue.Joined).format(this.defaultDateFormatSave),\n \"expiryDate\": FormValue.ExpiryDate == null ? \"\" : moment(FormValue.ExpiryDate).format(this.defaultDateFormatSave),\n \"number\": FormValue.MembershipNumber == null ? \"\" : FormValue.MembershipNumber,\n \"typeId\": FormValue.MembershipType != null ? FormValue.MembershipType.id : null\n }\n this.logger.info('Start of updateMembership - edit-membership component');\n this.aboutService.addPassengerClubMemberships(this.paxId, BaseRequest).subscribe(\n response => {\n response.isAdd = true\n this.logger.log(JSON.stringify(response));\n this.postUpdate.emit({\"event\":\"Save\",\"data\":response});\n this.editMembershipData = null;\n }, error => {\n this.logger.error(JSON.stringify(error));\n }, () => {\n this.logger.info('End of updateMembership - edit-membership component');\n }\n );\n }\n else{\n this.commonService.markControlsAsDirty(this.editMembership);\n }\n\n }\n\n//Validate Controls\n validateControls()\n {\n Object.keys(this.editMembership.controls).forEach(field => {\n\n if(field == \"MembershipType\" || field == \"Joined\" || field ==\"MembershipNumber\")\n {\n const control = this.editMembership.get(field);\n if (control != null && control.value ==null)\n {\n control.markAsDirty(); // This makes error fields red on the form\n }\n }\n\n });\n }\n\n}\n","
\n
\n
\n \n
\n \n \n \n
\n\n
\n \n \n
\n\n
\n \n \n \n
\n\n
\n \n \n \n
\n
\n
\n
\n\n","//import { Observable } from 'rxjs/Observable';\r\nimport { Observable, of } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { HttpClient, JsonpClientBackend } from '@angular/common/http';\r\nimport { LogEntry } from './logging.service';\r\n\r\nexport abstract class LogPublisher {\r\n location: string = '';\r\n abstract log(record: LogEntry): Observable\r\n abstract clear(): Observable;\r\n}\r\n\r\nexport class LogConsole extends LogPublisher {\r\n\r\n log(entry: LogEntry): Observable {\r\n // Log to console\r\n console.log(entry.buildLogString());\r\n\r\n return of(true);\r\n }\r\n\r\n clear(): Observable {\r\n console.clear();\r\n\r\n return of(true);\r\n }\r\n}\r\n\r\n// ****************************************************\r\n// Logging Local Storage\r\n//\r\n\r\nexport class LogLocalStorage extends LogPublisher {\r\n constructor() {\r\n // Must call `super()`from derived classes\r\n super();\r\n\r\n // Set location\r\n this.location = \"logging\";\r\n }\r\n\r\n // Append log entry to local storage\r\n log(entry: LogEntry): Observable {\r\n let ret: boolean = false;\r\n let logValues: LogEntry[] = [];\r\n\r\n try {\r\n // Get previous values from local storage\r\n logValues = JSON.parse(localStorage.getItem(this.location) || '[]');\r\n\r\n // Add new log entry to array\r\n logValues.push(entry);\r\n\r\n // Store array into local storage\r\n localStorage.setItem(this.location, JSON.stringify(logValues));\r\n\r\n // Set return value\r\n ret = true;\r\n } catch (ex) {\r\n // Display error in console\r\n console.log(ex);\r\n }\r\n\r\n return of(ret);\r\n }\r\n\r\n // Clear all log entries from local storage\r\n clear(): Observable {\r\n localStorage.removeItem(this.location);\r\n return of(true);\r\n }\r\n}\r\n\r\n// ****************************************************\r\n// Logging Web API Class\r\n// ****************************************************\r\nexport class LogWebApi extends LogPublisher {\r\n constructor(private http: HttpClient) {\r\n // Must call super() from derived classes\r\n super();\r\n // Set location\r\n //this.location = \"/api/logging\";\r\n }\r\n\r\n // **************\r\n // Public Methods\r\n // **************\r\n\r\n // Add log entry to back end data store\r\n log(entry: LogEntry): Observable {\r\n\r\n let model:LogMessage = new LogMessage;\r\n\r\n model.message = entry.buildLogString();\r\n model.level = entry.level;\r\n\r\n this.http.post(this.location, model).subscribe();\r\n return of(true);\r\n\r\n }\r\n\r\n clear(): Observable {\r\n // TODO: Call Web API to clear all values\r\n return of(true);\r\n }\r\n\r\n}\r\nexport class LogMessage\r\n{\r\n subject:string =\"\";\r\n message:string = \"\";\r\n level:number = 0;\r\n}\r\n","import { HttpClient } from '@angular/common/http';\nimport { Component, OnInit, Output,EventEmitter, Input, OnChanges } from '@angular/core';\nimport { FormControl, FormGroup, Validators} from '@angular/forms';\n\nimport { LoggingService } from 'src/app/services/common/logging.service';\nimport {TranslateService} from '@ngx-translate/core';\nimport moment from 'moment';\nimport { AppConfigService } from 'src/app/services/common/app-config.service';\n\nimport { GlobalConstants } from '../global-constants';\nimport { MessageService } from 'primeng/api';\nimport { AgentClassificationService } from 'src/app/services/classification/agent-classification.service';\nimport { CommonService } from 'src/app/services/common/common.service';\n\n\n@Component({\n selector: 'app-add-edit-agent-membership',\n templateUrl: './add-edit-agent-membership.component.html',\n styleUrls: ['./add-edit-agent-membership.component.scss']\n})\nexport class AddEditAgentMembershipComponent implements OnInit {\n\n addMembershipData : any;\n membershipInfo: any;\n addeditMembershipFG: FormGroup;\n membershipDataForEdit: any;\n membershipTypeData: any[] = [];\n agentId: string = \"\";\n @Input() membershipId: string = \"\";\n @Output() postSave = new EventEmitter();\n isEdit: boolean = false;\n\n constructor(private http: HttpClient, private logger: LoggingService, private translate: TranslateService,\n public agentClassificationService: AgentClassificationService, private commonService: CommonService) {\n this.addeditMembershipFG = new FormGroup({\n membershipType: new FormControl(),\n number: new FormControl()\n });\n this.agentId = GlobalConstants.AgentID.toString();\n }\n\n ngOnInit(): void {\n\n }\n\n ngOnChanges(changes: any):void{\n if (Number(this.membershipId) > 0) {\n this.getMembershipInfoForEdit();\n }\n else\n this.getMembershipDataForAdd(this.agentId);\n }\n\n getMembershipInfoForEdit() {\n this.logger.info('Start of getMembershipInfoForEdit - add-edit agent membership component');\n this.agentClassificationService.getAgentMembershipForEdit(this.agentId, this.membershipId).subscribe(\n response => {\n this.membershipDataForEdit = response.data;\n this.showFormForEdit();\n this.logger.log(JSON.stringify(response));\n }, error => {\n this.logger.error(JSON.stringify(error));\n }, () => {\n this.logger.info('End of getMembershipInfoForEdit - add-edit agent membership component');\n }\n );\n }\n\n showFormForEdit() {\n let membershipData = this.membershipDataForEdit.agentMembershipData;\n this.membershipTypeData = this.membershipDataForEdit.referenceEntities.membershipTypes;\n this.addeditMembershipFG = new FormGroup({\n membershipType: new FormControl(membershipData.type != undefined ? { id: membershipData.type.id, description: membershipData.type.description } : null, Validators.required),\n number: new FormControl(membershipData.number, Validators.required),\n });\n }\n\n saveMembership() {\n if (this.addeditMembershipFG.valid) {\n if (Number(this.membershipId) > 0)\n this.updateMembership();\n else {\n this.addNewMembership();\n }\n }\n else {\n this.commonService.markControlsAsDirty(this.addeditMembershipFG)\n }\n }\n\n getMembershipToSave() {\n let formValue = this.addeditMembershipFG.value;\n return {\n \"typeId\": formValue.membershipType != null ? formValue.membershipType.id : null,\n \"number\": formValue.number,\n }\n }\n\n updateMembership() {\n if (this.addeditMembershipFG.valid) {\n this.logger.info('Start of updateMembership - add-edit agent membership component');\n this.agentClassificationService.updateAgentMembership(this.agentId, this.membershipId, this.getMembershipToSave()).subscribe(\n response => {\n response.isEdit = true;\n this.logger.log(JSON.stringify(response));\n this.postSave.emit({ \"event\": \"UPDATE\", \"data\": response });\n this.membershipDataForEdit = null;\n }, error => {\n this.logger.error(JSON.stringify(error));\n this.postSave.emit({ \"event\": \"ERROR\", \"data\": JSON.stringify(error) });\n }, () => {\n this.logger.info('End of updateMembership - add-edit agent membership component');\n }\n );\n }\n }\n\n //Get Data for Add\n getMembershipDataForAdd(agentId:string)\n {\n this.logger.info('Start of getMembershipForEdit - add-edit agent membership component');\n this.agentClassificationService.getAgentMembershipDataForAdd(agentId).subscribe(\n response => {\n this.addMembershipData = response.data;\n this.openSideBarForMembershipAdd();\n this.logger.log(JSON.stringify(response));\n }, error => {\n this.logger.error(JSON.stringify(error));\n }, () => {\n this.logger.info('End of getMembershipDataForAdd() - add-edit agent membership component');\n }\n );\n }\n\n //Open Sidebar for Add\n openSideBarForMembershipAdd() {\n let membershipData = this.addMembershipData;\n this.membershipTypeData = membershipData.membershipTypes;\n\n this.addeditMembershipFG = new FormGroup({\n membershipType: new FormControl(null,Validators.required),\n number: new FormControl(null,Validators.required)\n });\n }\n\n //Add New Membership\n addNewMembership(){\n //this.validateControls();\n if (this.addeditMembershipFG.valid)\n {\n var formValue = this.addeditMembershipFG.value;\n var BaseRequest = {\n \"number\": formValue.number,\n \"typeId\": formValue.membershipType != null ? formValue.membershipType.id : null\n }\n this.logger.info('Start of updateMembership - edit-membership component');\n this.agentClassificationService.addAgentMembership(this.agentId, BaseRequest).subscribe(\n response => {\n response.isAdd = true\n this.logger.log(JSON.stringify(response));\n this.postSave.emit({\"event\":\"ADD\",\"data\":response});\n this.membershipDataForEdit = null;\n }, error => {\n this.logger.error(JSON.stringify(error));\n }, () => {\n this.logger.info('End of updateMembership - edit-membership component');\n }\n );\n }\n else{\n this.commonService.markControlsAsDirty(this.addeditMembershipFG);\n }\n\n }\n\n close() {\n this.postSave.emit({ \"event\": \"CANCEL\", \"data\": null });\n }\n}\n","
\n \n
\n
\n
\n \n \n \n
\n\n
\n \n \n
\n
\n
\n
\n\n\n\n","import { Component, OnInit,Output,EventEmitter, Input, OnChanges,SimpleChanges,ChangeDetectionStrategy } from '@angular/core';\nimport { MessageService } from 'primeng/api';\nimport { FormControl, FormGroup} from '@angular/forms';\nimport { CommonService } from 'src/app/services/common/common.service';\nimport { Observable, Subject,Subscription } from 'rxjs';\nimport _ from 'lodash';\nimport moment from 'moment';\nimport { TranslateService } from '@ngx-translate/core';\n\n@Component({\n selector: 'app-search-result-booking-enquiry',\n templateUrl: './search-result-booking-enquiry.component.html',\n styleUrls: ['./search-result-booking-enquiry.component.scss'],\n})\nexport class SearchResultBookingEnquiryComponent implements OnInit,OnChanges {\n\n get sortByOption () {\n return {\n NAME:\"NAME\",\n TRAVEL_DATE:\"TRAVEL_DATE\",\n BOOKING_DATE:\"BOOKING_DATE\",\n PRICE:\"PRICE\",\n REFERENCE:\"REFERENCE\",\n }\n\n };\n\n @Input() config : any;\n @Input() sortBy : string = \"\";\n\n multilingual : any = {};\n\n constructor(public translate:TranslateService) {\n this.translate.get([\"Common\"]).subscribe((response: any) => {\n this.multilingual = response['Common'];\n });\n }\n\n ngOnInit(): void {}\n\n ngOnChanges(changes:SimpleChanges):void{\n if(this._isSortByChange(changes))\n this._onSortByChange();\n }\n\n _isSortByChange(changes:SimpleChanges):Boolean{\n return !changes.sortBy.firstChange\n && changes.sortBy.previousValue != changes.sortBy.currentValue\n }\n\n _onSortByChange():void{\n let sortOrder = this.config.sortOrder;\n switch(this.sortBy)\n {\n case this.sortByOption.NAME:\n this.config.items = _.orderBy(this.config.items,['description'],[sortOrder]);\n break;\n case this.sortByOption.BOOKING_DATE:\n this.config.items = _.orderBy(this.config.items,(item:any)=>{ return moment(item.bookingDate)},[sortOrder]);\n break;\n case this.sortByOption.TRAVEL_DATE:\n this.config.items = _.orderBy(this.config.items,(item:any)=>{ return moment(item.startDate)},[sortOrder]);\n break;\n case this.sortByOption.PRICE:\n this.config.items = _.orderBy(this.config.items,['totalSellingAmount'],[sortOrder]);\n break;\n case this.sortByOption.REFERENCE:\n this.config.items = _.orderBy(this.config.items,['referenceNumber'],[sortOrder]);\n break;\n default:\n break;\n }\n }\n\n}\n","
\n
\n
0\">\n
\n
\n
\n
\n
\n \n
\n {{item.referenceNumber}}\n
\n \n
\n
\n
\n
\n {{item.description}}\n
\n\n
\n \n {{config.paxName}}\n
\n
\n \n {{item.startDate|date:'dd MMM yyyy'}}\n - {{item.endDate|date:'dd MMM yyyy'}}\n \n
\n\n
\n \n ({{item.nights}} Nights)\n
\n
\n \n \n {{item.location != undefined && item.location ? item.location :\"NA\"}}\n \n
\n
\n
\n Total ({{item.numberofPassengers}} Pax)\n {{item.currencyCode}}\n {{item.totalSellingAmount|number: '1.2'}} \n
\n
\n\n\n
\n
\n
\n
\n
\n
\n
\n \n
\n
\n {{multilingual.NoRecordsMatchMsg}}\n
\n
\n
\n
0\">\n \n
\n
\n","// This file can be replaced during build by using the `fileReplacements` array.\n// `ng build --prod` replaces `environment.ts` with `environment.prod.ts`.\n// The list of file replacements can be found in `angular.json`.\n\nexport const environment = {\n production: false\n};\n\n/*\n * For easier debugging in development mode, you can import the following file\n * to ignore zone related error stack frames such as `zone.run`, `zoneDelegate.invokeTask`.\n *\n * This import should be commented out in production mode because it will have a negative impact\n * on performance if an error is thrown.\n */\n// import 'zone.js/dist/zone-error'; // Included with Angular CLI.\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { AgentHomeService } from 'src/app/services/home/agent-home.service';\nimport { GlobalConstants } from 'src/app/shared/global-constants';\nimport { LazyLoadEvent, MenuItem, MessageService } from 'primeng/api';\nimport { HttpClient } from '@angular/common/http';\nimport {TranslateService} from '@ngx-translate/core';\nimport { LoggingService } from 'src/app/services/common/logging.service';\nimport { UserPermissionsService } from 'src/app/services/common/user-permissions.service';\nimport { Subscription } from 'rxjs';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { entityType } from 'src/app/models/entityType';\nimport { IAddEditNoteConfig } from 'src/app/models/addEditNoteConfig';\nimport { NotesService } from 'src/app/services/notes/notes.service';\nimport { map } from 'rxjs/operators';\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\nimport { SharedService } from 'src/app/services/common/shared.service';\nimport { AgentSecurityConstant } from 'src/app/constants/security-constant';\n\n@Component({\n selector: 'app-agent-info',\n templateUrl: './agent-info.component.html',\n styleUrls: ['./agent-info.component.scss']\n})\nexport class AgentInfoComponent implements OnInit {\n\n @Input() docked:boolean=false;\n @Output() showAgentInfoEvent = new EventEmitter();\n //@Output() onSave = new EventEmitter();\n //@Output() onSaveError = new EventEmitter();\n @Output() showEditForm = new EventEmitter();\n\n lastGetNotesEvent : LazyLoadEvent = {};\n addNoteConfig = {} as IAddEditNoteConfig;\n addTaskConfig:any={};\n showAddNoteForm:boolean=false;\n contactId:string=\"\";\n membershipId:string=\"\";\n displayRightSidebar:boolean=false;\n countriesFlags:any;\n agentDetails: any;\n bookingSumary: any;\n futureTrips: any;\n agentId = '';\n addressExist = true;\n contactExist = true;\n memberShipExist = true;\n isLoaded: boolean = false;\n agentAge: string = \"\";\n mainAddress: string = \"0\";\n country: string = \"\";\n items: MenuItem[] = [];\n totalMembership: number = 0;\n totalContacts: number = 0;\n mainAddressID:string=\"\";\n mainAddressInfo:MainAddress;\n agentInfo:AgentInfo;\n membershipInfo:Membership[]=[]\n contactInfo:Contact[]=[]\n basicInfoHeader=\"Basic Info\";\n addressHeader=\"Address\";\n contactHeader=\"Linked Contacts\";\n contactHeaderText=\"Linked Contacts\";\n membershipHeader=\"Memberships\";\n membershipHeaderText=\"Memberships\";\n slideBtnIcon = \"pi pi-angle-double-right\";\n countryFlag : String = \"\";\n sideBarBarHeader:string=\"\";\n moduleType:string=\"\";\n\n addEditFormConfig : any = {\n header : \"Edit Address\",\n entity : entityType.agent\n };\n addrSubscription: Subscription;\n contactSubscription : Subscription;\n membershipSubscription : Subscription;\n\n constructor(private agentHomeService:AgentHomeService,private http: HttpClient, private logger: LoggingService,\n private translate:TranslateService, private router:Router, private activatedRoute:ActivatedRoute,\n private messageService: MessageService,private userPermission:UserPermissionsService,private noteService:NotesService,\n private sharedService: SharedService) {\n\n this.agentId = GlobalConstants.AgentID.toString();\n this.mainAddressInfo = new MainAddress();\n this.agentInfo = new AgentInfo();\n\n let arrTranslate = [\"Home.PassengerInfo.Address\", \"Home.PassengerInfo.BasicInfo\", \"Home.PassengerInfo.BasicInfo\",\n \"Home.PassengerInfo.Contacts\", \"Home.PassengerInfo.Memberships\", \"Home.PassengerInfo.AddBooking\",\n \"Home.PassengerInfo.AddEnquiry\"];\n\n this.translate.get(arrTranslate).subscribe((response: any) => {\n\n this.basicInfoHeader = response['Home.PassengerInfo.BasicInfo'];\n this.addressHeader = response['Home.PassengerInfo.Address'];\n this.contactHeader = response['Home.PassengerInfo.Contacts'];\n this.contactHeaderText = response['Home.PassengerInfo.Contacts'];\n this.membershipHeader = response['Home.PassengerInfo.Memberships'];\n this.membershipHeaderText = response['Home.PassengerInfo.Memberships'];\n\n this.items = [{\n label: response['Home.PassengerInfo.AddBooking'],\n command: () => {\n window.parent.CreateNewAgentBooking(this.agentId,GlobalConstants.AgentName);\n }\n },\n {\n label: response['Home.PassengerInfo.AddEnquiry'],\n command: () => {\n window.parent.CreateNewAgentEnquiry(this.agentId);\n }\n }]\n });\n\n this.addrSubscription = this.sharedService.currentAddressesUpdate.subscribe(payload =>{\n if(payload && payload.data && payload.action == \"AGENT_ADDRESS_UPDATE\")\n {\n this.setAgentAddressData(payload.data);\n }\n })\n\n this.membershipSubscription = this.sharedService.refreshAgentMemberships.subscribe(data=>{\n if(data && data.data && data.action ==\"UPDATE\"){\n this.setMembershipInfo(data.data);\n }\n if(data && data.data && data.action ==\"ADD\"){\n this.addAgentMembership(data.data);\n }\n if(data && data.data && data.action ==\"DELETE\"){\n this.removeAgentMembership(data.data);\n }\n });\n\n this.contactSubscription = this.sharedService.refreshAgentContacts.subscribe(contact=>{\n if(contact && contact.data && contact.action ==\"UPDATE\"){\n this.setContactInfo(contact.data)\n }\n if(contact && contact.data && contact.action ==\"ADD\"){\n this.addContactInfo(contact.data)\n }\n if(contact && contact.data && contact.action ==\"DELETE\"){\n this.removeAgentContact(contact.data);\n }\n });\n }\n\n ngOnInit(): void {\n this.getAllCountriesFlag().subscribe(data =>{\n this.countriesFlags = data;\n this.getAgentData();\n })\n this.dockAgentInfo()\n }\n\n getAllCountriesFlag(){\n return this.http.get(\"assets/countryFlagConfig.json\");\n }\n\n editContact(contactId:string){\n this.sideBarBarHeader = \"Edit Contact\";\n this.moduleType = \"contact\";\n this.displayRightSidebar =true;\n this.contactId = contactId;\n }\n\n postContactSave(saveData: any) {\n if (saveData.event == \"UPDATE\") {\n this.displayRightSidebar = !this.displayRightSidebar;\n //this.setContactInfo(saveData.data);\n this.sharedService.refreshAgentContacts.next({data:saveData.data, action:\"UPDATE\"});\n this.messageService.add({ severity: 'success', summary: 'Success', detail: \"Record updated successfully\" });\n }\n if (saveData.event == \"Error\") {\n this.messageService.add({ severity: 'success', summary: 'Success', detail: saveData.data });\n }\n if (saveData.event == \"Cancel\") {\n this.displayRightSidebar = !this.displayRightSidebar;\n }\n\n }\n\n addContactInfo(response: any){\n let contactInfoObject = response.data;\n this.contactInfo.push({ ID:contactInfoObject.agentContactData.contactId,\n Name: contactInfoObject.agentContactData.contactFirstName+ \" \" + response.data.agentContactData.contactLastName,\n JobTitle: contactInfoObject.agentContactData.jobTitle,\n Department: contactInfoObject.agentContactData.department});\n this.totalContacts = this.contactInfo != undefined?this.contactInfo.length:0;\n this.contactHeader = this.contactHeaderText + \" (\" + (this.totalContacts) + \")\";\n }\n\n setContactInfo(response: any) {\n if (response != undefined && response.data.agentContactData !=undefined) {\n\n (this.contactInfo.find(m => m.ID == response.data.agentContactData.contactId) != undefined)\n {\n const targetIdx = this.contactInfo.map(item => item.ID).indexOf(response.data.agentContactData.contactId);\n if(targetIdx != -1){\n this.contactInfo[targetIdx].Name = response.data.agentContactData.contactFirstName + \" \" + response.data.agentContactData.contactLastName;\n this.contactInfo[targetIdx].Department = response.data.agentContactData.department;\n this.contactInfo[targetIdx].JobTitle = response.data.agentContactData.jobTitle;\n }\n }\n }\n\n }\n\n removeAgentContact(response:any){\n if(response != undefined)\n {\n const targetIdx = this.contactInfo.map(item =>item.ID).indexOf(response.contactId);\n if (targetIdx > -1) {\n this.contactInfo.splice(targetIdx, 1);\n this.totalContacts = this.contactInfo != undefined?this.contactInfo.length:0;\n this.contactHeader = this.contactHeaderText + \" (\" + (this.totalContacts) + \")\";\n }\n }\n }\n\n getCountryFlag() {\n if (this.countriesFlags != undefined) {\n var countryRec = this.countriesFlags.filter((p: any) => p.Country == this.country);\n if (countryRec != undefined && countryRec.length > 0)\n return countryRec[0].CssClass;\n else\n return \"\";\n }\n else\n return \"\";\n }\n\n getAgentData(){\n this.logger.info('Start of getAgentData() - agent-info component');\n this.activatedRoute.data.subscribe(\n data => {\n this.agentDetails = data.agentInfo;\n this.isLoaded = true;\n\n if (this.agentDetails.data == null || this.agentDetails.data == undefined) {\n //ERROR HANDLING CODE\n }\n else {\n GlobalConstants.AgentName = this.agentDetails.data.name;\n this.agentInfo.Status = this.agentDetails.data.status;\n this.agentInfo.name = this.agentDetails.data.name;\n this.agentInfo.description = this.agentDetails.data.description;\n this.agentInfo.Type = this.agentDetails.data.type;\n this.agentInfo.ShortName = this.agentDetails.data.shortName;\n this.agentInfo.Language = this.agentDetails.data.type;\n this.agentInfo.CommunicationType = this.agentDetails.data.communicationType;\n this.agentInfo.Organisation = this.agentDetails.data.organisationName;\n this.agentInfo.logoUri = this.agentDetails.data.logoUri !=undefined?this.agentDetails.data.logoUri:\"\";\n if (this.agentDetails.data.address == undefined) {\n this.addressExist = false\n }\n else {\n this.mainAddress = this.agentDetails.data.address.addressLine1;\n this.mainAddressID = this.agentDetails.data.address.addressId;\n\n if (this.agentDetails.data.address.addressLine2 != undefined && this.agentDetails.data.address.addressLine2 != \"\")\n this.mainAddress = this.mainAddress + \", \" + this.agentDetails.data.address.addressLine2;\n if (this.agentDetails.data.address.addressLine3 != undefined && this.agentDetails.data.address.addressLine3 != \"\")\n this.mainAddress = this.mainAddress + \", \" + this.agentDetails.data.address.addressLine3;\n if (this.agentDetails.data.address.addressLine4 != undefined && this.agentDetails.data.address.addressLine4 != \"\")\n this.mainAddress = this.mainAddress + \", \" + this.agentDetails.data.address.addressLine4;\n if (this.agentDetails.data.address.city != undefined && this.agentDetails.data.address.city != \"\")\n this.mainAddress = this.mainAddress + \", \" + this.agentDetails.data.address.city;\n if (this.agentDetails.data.address.state != undefined && this.agentDetails.data.address.state != \"\")\n this.mainAddress = this.mainAddress + \", \" + this.agentDetails.data.address.state;\n if (this.agentDetails.data.address.postCode != undefined && this.agentDetails.data.address.postCode != \"\")\n this.mainAddress = this.mainAddress + \", \" + this.agentDetails.data.address.postCode;\n if (this.agentDetails.data.address.country != undefined && this.agentDetails.data.address.country != \"\") {\n this.mainAddress = this.mainAddress + \", \" + this.agentDetails.data.address.country;\n this.country = this.agentDetails.data.address.country;\n this.countryFlag = this.getCountryFlag();\n }\n\n this.mainAddressInfo.Address = this.mainAddress;\n this.mainAddressInfo.email = this.agentDetails.data.address.emailAddress\n this.mainAddressInfo.telephone = this.agentDetails.data.address.telephoneNumber\n\n }\n\n //contact object\n if (this.agentDetails.data.contacts == null) {\n this.contactExist = false\n }\n else {\n this.totalContacts = this.agentDetails.data.contacts.length;\n this.contactHeader = this.contactHeaderText + \" (\" + (this.totalContacts) + \")\";\n this.contactInfo = this.agentDetails.data.contacts.map((val: any) => {\n return {\n ID:val.contactId,\n Name: val.contactName,\n JobTitle: val.jobTitle,\n Department: val.department\n }\n });\n }\n\n //membership object\n if (this.agentDetails.data.memberships == null) {\n this.memberShipExist = false\n }\n else {\n this.totalMembership = this.agentDetails.data.memberships.length;\n this.membershipHeader = this.membershipHeaderText + \" (\" + (this.totalMembership) + \")\";\n this.membershipInfo = this.agentDetails.data.memberships.map((val: any) => {\n return {\n ID: val.membershipId,\n Typename: val.typeName,\n Number: val.number\n }\n });\n }\n }\n this.logger.info(JSON.stringify(data.agentInfo));\n this.logger.info('End of getAgentData() - agent-info component');\n }, error => {\n this.isLoaded = true;\n this.logger.info('Error in getAgentData() - agent-info component');\n this.logger.log(JSON.stringify(error));\n this.router.navigate([\"agentsearch\"])\n }\n );\n }\n\n openSearchPage(){\n this.router.navigate([\"/agentsearch\"]);\n }\n\n closeSideBar(){\n this.displayRightSidebar=false;\n }\n\n dockAgentInfo(){\n this.docked = GlobalConstants.DockInfo;\n if(GlobalConstants.DockInfo)\n this.slideBtnIcon = \"pi pi-angle-double-right\";\n else\n this.slideBtnIcon=\"pi pi-angle-double-left\";\n }\n\n showAgentInfoBar(){\n this.docked = false;\n if(GlobalConstants.DockInfo)\n this.slideBtnIcon = \"pi pi-angle-double-right\";\n else\n this.slideBtnIcon=\"pi pi-angle-double-left\";\n }\n\n expandAgentInfo(){\n this.docked = false;\n this.showAgentInfoEvent.emit();\n }\n\n navigateSearchResult(){\n let URL = \"agentsearch/\"\n if(GlobalConstants.SearchText){\n URL=URL + GlobalConstants.SearchText\n }\n this.router.navigate([URL])\n }\n\n openRightSidebar(type:any,typeid:any) {\n if(type==\"address\" && !(this.userPermission.isEditable(AgentSecurityConstant.Address))){\n this.showToast(\"No User Permission to Edit Address\", \"error\");\n }\n else if(type==\"contact\" && !(this.userPermission.isEditable(AgentSecurityConstant.Contact))){\n this.showToast(\"No User Permission to Edit Contact\", \"error\");\n }\n else if(type==\"membership\" && !(this.userPermission.isEditable(AgentSecurityConstant.Memberships))){\n this.showToast(\"No User Permission to Edit Membership\", \"error\");\n }\n else if(type==\"note\" && !(this.userPermission.isEditable(AgentSecurityConstant.UserNotes))){\n this.showToast(\"No User Permission to Add Note\", \"error\");\n }\n else if(type==\"task\" && !(this.userPermission.isEditable(AgentSecurityConstant.TasksTab))){\n this.showToast(\"No User Permission to Add Task\", \"error\");\n }\n else{\n if (type==\"address\")\n typeid = this.mainAddressID;\n this.showEditForm.emit({\"type\":type,\"typeid\":typeid});\n }\n }\n\n editAddress(){\n this.moduleType = \"address\";\n this.addEditFormConfig.visible = true;\n }\n\n editMembership(membershipId:string){\n this.sideBarBarHeader = \"Edit Membership\";\n this.moduleType = \"membership\";\n this.displayRightSidebar =true;\n this.membershipId = membershipId;\n }\n\n postMembershipSave(saveData: any) {\n if (saveData.event == \"UPDATE\") {\n this.displayRightSidebar = !this.displayRightSidebar;\n this.setMembershipInfo(saveData.data);\n this.messageService.add({ severity: 'success', summary: 'Success', detail: \"Record updated successfully\" });\n this.sharedService.refreshAgentMemberships.next({ \"event\": \"UPDATE\", \"data\": saveData.data });\n }\n if (saveData.event == \"ERROR\") {\n this.messageService.add({ severity: 'error', summary: 'Error', detail: saveData.data });\n }\n\n }\n\n setMembershipInfo(response: any) {\n if (response != undefined && response.data.agentMembership !=undefined) {\n\n (this.membershipInfo.find(m => m.ID == response.data.agentMembership.id) != undefined)\n {\n const targetIdx = this.membershipInfo.map(item => item.ID).indexOf(response.data.agentMembership.id);\n if(targetIdx != -1){\n this.membershipInfo[targetIdx].Typename = response.data.agentMembership.type.description;;\n this.membershipInfo[targetIdx].ID = response.data.agentMembership.id;\n this.membershipInfo[targetIdx].Number = response.data.agentMembership.number;\n }\n }\n }\n\n }\n\n addAgentMembership(response: any){\n let membershipObj = response.data.agentMembership;\n this.membershipInfo.push({\n ID:membershipObj.id,\n Typename: membershipObj.type.description,\n Number: membershipObj.number\n })\n }\n\n removeAgentMembership(response:any){\n if(response != undefined)\n {\n const targetIdx = this.membershipInfo.map(item =>item.ID).indexOf(response.id);\n if (targetIdx > -1) {\n this.membershipInfo.splice(targetIdx, 1);\n this.totalMembership = this.membershipInfo != undefined?this.membershipInfo.length:0;\n this.membershipHeader = this.membershipHeaderText + \" (\" + (this.totalMembership) + \")\";\n }\n }\n }\n\n postAddressUpdate(addressData:any){\n if (addressData.event ==\"UPDATE_ADDRESS_SAVE\")\n {\n //this.setAgentAddressData(addressData.data);\n this.brodcastAddressUpdate({data:{address:addressData.data.data},action:\"AGENT_ADDRESS_UPDATE\"});\n this.showToast(\"Address Updated\", \"success\");\n }\n if (addressData.event ==\"UPDATE_ADDRESS_ERROR\")\n {\n this.showToast(\"Error while updating address\", \"error\")\n }\n if (addressData.event ==\"CANCEL\")\n {\n\n }\n }\n\n brodcastAddressUpdate(payload:any) {\n this.sharedService.addressesUpdates(payload);\n }\n\n showToast(error:any, type:any) {\n this.messageService.add({ key: 'tl', severity: type, detail: error });\n }\n\n setAgentAddressData(response: any){\n\n if(response != undefined && response.address !=undefined)\n {\n let addressObject = response.address;\n if(addressObject.addressLine1 !=undefined)\n this.mainAddress = addressObject.addressLine1;\n if(addressObject.addressLine2 !=undefined && addressObject.addressLine2 !=\"\")\n this.mainAddress = this.mainAddress + \", \" + addressObject.addressLine2;\n if(addressObject.addressLine3 !=undefined && addressObject.addressLine3 !=\"\")\n this.mainAddress = this.mainAddress + \", \" + addressObject.addressLine3;\n if(addressObject.addressLine4 !=undefined && addressObject.addressLine4 !=\"\")\n this.mainAddress = this.mainAddress + \", \" + addressObject.addressLine4;\n if(addressObject.addressCity !=undefined && addressObject.addressCity !=\"\")\n this.mainAddress = this.mainAddress + \", \" + addressObject.addressCity;\n if(addressObject.country !=undefined && addressObject.country.description != undefined\n && addressObject.country.description != \"\")\n this.mainAddress = this.mainAddress + \", \" + addressObject.country.description;\n if(addressObject.state !=undefined && addressObject.state.description != undefined\n && addressObject.state.description != \"\")\n this.mainAddress = this.mainAddress + \", \" + addressObject.state.description;\n if(addressObject.addressPostCode !=undefined && addressObject.addressPostCode!=\"\")\n this.mainAddress = this.mainAddress + \", \" + addressObject.addressPostCode;\n\n this.mainAddressInfo.Address = this.mainAddress;\n this.mainAddressInfo.telephone = addressObject.addressTelephoneNumber !=undefined?addressObject.addressTelephoneNumber:\"\";\n this.mainAddressInfo.email = addressObject.addressMailAddress !=undefined ?addressObject.addressMailAddress:\"\";\n this.country = addressObject.country ? addressObject.country.description : \"\";\n this.countryFlag = this.getCountryFlag();\n }\n }\n\n addNote(){\n this.moduleType = \"note\";\n this.addNoteConfig = this.getAddNoteConfig();\n this.showAddNoteForm = true;\n }\n\n addTask(){\n this.sideBarBarHeader = \"Add Task\";\n this.displayRightSidebar =true;\n this.addTaskConfig.entity=entityType.agent\n this.addTaskConfig.entityId=this.agentId;\n this.moduleType = \"task\";\n }\n\n postAddTask(newTaskData:any){\n this.sharedService.refreshAgentTasks.next({ \"event\": \"ADD_AGENT_TASK\", \"data\": newTaskData.data});\n if (newTaskData.event == \"Save\")\n this.displayRightSidebar =false;\n }\n\n getAddNoteConfig():IAddEditNoteConfig{\n let addReportMsg : string = \"Note is Added\"\n return {\n header:'Add Note',\n saveReportMsg : addReportMsg,\n entity:entityType.agent,\n entityId:this.agentId,\n entityName:GlobalConstants.AgentName,\n action:\"add\",\n getInitData : ()=>{\n return this.noteService.getNewUserNoteMeta(entityType.agent,this.agentId).pipe(map(response=>{\n let data = response.data || [];\n data.referenceEntities = {\n noteTypes:data.noteTypes,\n noteStatuses:data.noteStatuses,\n languages:data.languages,\n }\n return response\n }));\n },\n saveData : (baseRequest:any={})=>{\n baseRequest.origin = \"User Note\";\n baseRequest.username = GlobalConstants.UserName;\n return this.noteService.addUserNote(entityType.agent,this.agentId,baseRequest);\n },\n getNoteForm : ()=>{\n return new FormGroup({\n noteType: new FormControl(null, Validators.required),\n noteStatus: new FormControl(null, Validators.required),\n noteLanguage: new FormControl(null, Validators.required),\n subject: new FormControl(null, Validators.required),\n notes: new FormControl(),\n attachDesc: new FormControl(),\n attachData: new FormControl(),\n userName: new FormControl()\n });\n }\n }\n }\n\n /*getAllNotes(event: LazyLoadEvent) {\n this.sharedService.refreshAgentNotes.next({ \"event\": \"ADD_AGENT_NOTE\", \"data\": null });\n }*/\n\n}\n\nclass MainAddress {\n Address: string =\"\";\n email: string =\"\";\n telephone: string =\"\";\n}\n\nclass AgentInfo {\n name: string =\"\";\n description: string =\"\";\n initials: string =\"\";\n intialsTootltip:string =\"\";\n Status: string =\"\";\n Type: string =\"\";\n ShortName: string =\"\";\n Language:string=\"\";\n Organisation:string=\"\";\n CommunicationType:string=\"\";\n logoUri:string=\"\";\n}\n\n\nclass Membership {\n Typename: string =\"\";\n Number: string =\"\";\n ID: string =\"\";\n}\n\nclass Contact {\n ID:string=\"\";\n Name: string =\"\";\n JobTitle: string =\"\";\n Department: string =\"\";\n}\n\n","
\n \n\n
\n
\n
\n \n \n\n
\n\n
\n
\n \n
\n
\n
{{agentInfo.name}}
\n
{{agentInfo.Type}}
\n
{{agentInfo.Status}}
\n
\n
\n
\n\n \n \n \n \n \n
\n
\n
\n
\n \n \n \n \n
\n\n
\n
Main
\n
\n \n
\n\n
\n\n\n\n
\n
\n
\n
\n
{{mainAddress}}\n
\n
\n\n\n
\n
\n \n
\n
\n {{mainAddressInfo.email}}\n
\n
\n\n\n
\n
\n \n
\n
\n {{mainAddressInfo.telephone}}\n
\n
\n
\n
\n
\n\n
\n \n \n \n
\n
\n
{{contacts.Name}}
\n
{{contacts.JobTitle}}
\n
{{contacts.Department}}
\n
\n \n
\n
\n
\n
\n
\n\n
\n \n \n \n\n
\n
{{members.Typename}}
\n
{{members.Number}}
\n
\n \n
\n
\n
\n
\n
\n
\n
\n
\n \n
\n\n
\n
\n \n
\n\n
\n\n
\n
\n
\n\n
\n \n
\n\n \n\n
\n \n
\n\n
\n \n
\n\n
\n \n \n
\n
\n \n
\n
\n
\n\n\n","import { HttpClient } from '@angular/common/http';\nimport { Component, OnInit, Output,EventEmitter, Input } from '@angular/core';\nimport { FormControl, FormGroup,Validators} from '@angular/forms';\n\nimport { LoggingService } from 'src/app/services/common/logging.service';\nimport { passengerService } from 'src/app/services/home/passenger.service';\nimport { aboutService } from 'src/app/services/about/about.service';\nimport { CommonService } from 'src/app/services/common/common.service';\nimport {TranslateService} from '@ngx-translate/core';\nimport { GlobalConstants } from '../global-constants';\n\n@Component({\n selector: 'app-edit-linked-contact',\n templateUrl: './edit-linked-contact.component.html',\n styleUrls: ['./edit-linked-contact.component.css']\n})\nexport class EditLinkedContactComponent implements OnInit {\n editRelationship: FormGroup;\n editRelationshipData : any;\n addRelationshipData : any;\n relationshipTypeData =[];\n houseHoldOptions:any[] =[];\n filteredPassengers: any[]=[];\n paxId = \"\";\n paxName=\"\";\n @Input() linkedContactID:string=\"0\";\n @Output() postUpdate = new EventEmitter();\n isEdit:boolean=false;\n //displayRelationshipDropdown:boolean=false;\n linkedContactName =\"XXX\";\n multilingualResponse : any;\n\n constructor(private http: HttpClient, private logger: LoggingService, private translate: TranslateService,\n public passengerService: passengerService, public commonService: CommonService,public aboutService :aboutService) {\n\n //LINKED CONTACT EDIT FORM\n this.editRelationship = new FormGroup({\n RelationshipType: new FormControl(null, Validators.required),\n FirstName: new FormControl(null),\n LastName: new FormControl(null),\n SMCPaxID_1: new FormControl(null),\n ID: new FormControl(),\n Cohabit: new FormControl(),\n PaxInfo: new FormControl(null, Validators.required),\n PaxRelationshipWithLinkedContact: new FormControl(null, Validators.required),\n HouseHoldOption:new FormControl(null)\n });\n\n let arrTranslate = [\"Home.EditRelationShip.HHOption1\", \"Home.EditRelationShip.HHOption2\",\"Home.EditRelationShip.HHOption3\",\n \"Home.EditRelationShip.HHOption4\", \"Home.EditRelationShip.HHOption5\", \"Home.EditRelationShip.HHOption6\"\n ];\n\n this.translate.get(arrTranslate).subscribe((response: any) => {\n this.multilingualResponse = response;\n });\n\n }\n\n ngOnInit(): void {\n this.paxId = GlobalConstants.PassengerID.toString();\n //this.paxName = GlobalConstants.PaxName.toString();\n // if(Number(this.linkedContactID) > 0)\n // this.getLinkedContactForEdit(this.linkedContactID);\n // else\n // this.getLinkedContactForAdd();\n }\n\n ngOnChanges(changes: any):void{\n\n if(changes.linkedContactID.previousValue != changes.linkedContactID.currentValue)\n {\n this.isEdit = Number(this.linkedContactID) > 0;\n this.paxId = GlobalConstants.PassengerID.toString();\n this.paxName = GlobalConstants.PaxName.toString();\n if(Number(this.linkedContactID) > 0)\n this.getLinkedContactForEdit(this.linkedContactID);\n else\n this.getLinkedContactForAdd();\n }\n\n }\n\n //FILTERING OF PASSENGERS -AUTO COMPLETE USED IN EDIT OF LINKED CONTACT\n filterSearchResults(event:any) {\n let query = event.query;\n this.logger.info('Start of searchPasengers - edit-linked-contact component');\n this.passengerService.searchPasengersByName(query).subscribe(\n (response) => {\n this.filteredPassengers = response.data;\n this.logger.log(response);\n }, (error) => {\n switch (error.status) {\n case 400:\n this.filteredPassengers = [{}];\n break;\n }\n this.logger.log(error);\n }, () => {\n this.logger.info('End of searchPasengers - edit-linked-contact component');\n }\n );\n }\n\n //GET EDIT DETAILS FOR LINKED CONTACT\n getLinkedContactForEdit(linkedContactID:string){\n this.logger.info('Start of getLinkedContactForEdit - edit-linked-contact component');\n this.passengerService.editPassengerRelationship(this.paxId,linkedContactID).subscribe (\n response => {\n this.editRelationshipData = response.data;\n\n this.openSideBarForLikedContactEdit(linkedContactID);\n this.logger.log(JSON.stringify(response));\n\n }, error=>{\n this.logger.error(JSON.stringify(error));\n },()=>\n {\n this.logger.info('End of getLinkedContactForEdit - edit-linked-contact component');\n }\n );\n }\n\n //OPEN RIGHT BAR FOR EDITING LINKED CONTACT\n openSideBarForLikedContactEdit(linkedContactID : string){\n let linkedContactpData = this.editRelationshipData.passengerRelationshipData;\n let relationshipType = linkedContactpData.fromPassengerRelationshipType;\n let toRelationshipType = linkedContactpData.toPassengerRelationshipType;\n\n this.relationshipTypeData = this.editRelationshipData.referenceEntities.passengerRelationshipTypes;\n this.filteredPassengers = [{\"id\": linkedContactpData.smcPassengerId_1, \"passengerName\": linkedContactpData.smcPassengerFirstName +\" \"+ linkedContactpData.smcPassengerlastName\n ,\"initials\": linkedContactpData.smcPassengerInitials, \"address\": null, \"phoneNumber\": null, \"classBackColorHex\": \"0\", \"avatar\": null}];\n // this.displayRelationshipDropdown =true;\n this.linkedContactName = linkedContactpData.smcPassengerFirstName +\" \"+ linkedContactpData.smcPassengerlastName;\n this.editRelationship = new FormGroup({\n RelationshipType: new FormControl(relationshipType != undefined ? { id: relationshipType.id, description: relationshipType.description } : null,Validators.required),\n FirstName: new FormControl(linkedContactpData.smcPassengerFirstName),\n LastName: new FormControl(linkedContactpData.smcPassengerlastName),\n SMCPaxID_1: new FormControl(linkedContactpData.smcPassengerId_1),\n ID : new FormControl(linkedContactpData.passengerRelationshipId),\n Cohabit : new FormControl(linkedContactpData.passengerRelationshipCohabit!=null ? linkedContactpData.passengerRelationshipCohabit :false),\n PaxInfo : new FormControl({\"id\": linkedContactpData.smcPassengerId_1, \"passengerName\": linkedContactpData.smcPassengerFirstName +\" \"+ linkedContactpData.smcPassengerlastName\n ,\"initials\": linkedContactpData.smcPassengerInitials, \"address\": null, \"phoneNumber\": null, \"classBackColorHex\": \"0\", \"avatar\": null},Validators.required),\n PaxRelationshipWithLinkedContact: new FormControl(toRelationshipType != undefined ? { id: toRelationshipType.id, description: toRelationshipType.description } : null,Validators.required),\n HouseHoldOption:new FormControl(null)\n });\n this.populateHouseHoldOptions();\n }\n\n //UPDATE LINKED CONTACT\n updateLinkedContact(){\n if(Number(this.linkedContactID) > 0)\n {\n this.validateControls();\n if (this.editRelationship.valid) {\n var FormValue = this.editRelationship.value;\n var BaseRequest = {\n \"relationshipTypeid\": FormValue.RelationshipType != null ? FormValue.RelationshipType.id : null,\n \"smcPassengerId_1\": FormValue.PaxInfo != null ? FormValue.PaxInfo.id : null,\n \"passengerRelationshipCohabit\": FormValue.Cohabit != null ? FormValue.Cohabit : false,\n \"toRelationshipTypeid\": FormValue.PaxRelationshipWithLinkedContact != null ? FormValue.PaxRelationshipWithLinkedContact.id : null,\n \"callerChoice\":FormValue.HouseHoldOption != null ? FormValue.HouseHoldOption.id : null\n }\n this.logger.info('Start of updateLinkedContact - edit-linked-contact component');\n this.passengerService.updatePassengeRelationship(this.paxId, FormValue.ID, BaseRequest).subscribe(\n response => {\n this.logger.log(JSON.stringify(response));\n response.isEdit=this.isEdit;\n this.postUpdate.emit({\"event\":\"Save\",\"data\":response,\"action\":\"EDIT\"});\n this.editRelationshipData = null;\n }, error => {\n this.postUpdate.emit({\"event\":\"Error\",\"data\":error,\"action\":\"EDIT\"});\n this.logger.error(JSON.stringify(error));\n }, () => {\n this.logger.info('End of updateLinkedContact - edit-linked-contact component');\n //this._openRightSideBar = false;\n }\n );\n }\n }\n else{\n this.addNewLinkedContact();\n }\n }\n\n //CLOSE SIDE BAR\n Close() {\n this.postUpdate.emit({ \"event\": \"Cancel\", \"data\": null });\n }\n\n getLinkedContactForAdd()\n {\n this.logger.info('Start of getLinkedContactForAdd - add-linked-contact component');\n this.aboutService.addPassengerRelationship(this.paxId).subscribe(\n response => {\n this.addRelationshipData = response.data;\n this.openSideBarForLikedContactAdd();\n this.logger.log(JSON.stringify(response));\n\n }, error => {\n this.logger.error(JSON.stringify(error));\n }, () => {\n this.logger.info('End of getLinkedContactForAdd - add-linked-contact component');\n }\n );\n }\n\n openSideBarForLikedContactAdd() {\n let linkedContactpData = this.addRelationshipData;\n let relationshipType = linkedContactpData.passengerRelationshipTypes;\n\n this.relationshipTypeData = relationshipType;\n\n this.editRelationship = new FormGroup({\n RelationshipType: new FormControl(null,Validators.required),\n FirstName: new FormControl(),\n LastName: new FormControl(),\n SMCPaxID_1: new FormControl(),\n ID : new FormControl(),\n Cohabit : new FormControl(),\n PaxInfo : new FormControl(null, Validators.required),\n PaxRelationshipWithLinkedContact: new FormControl(null,Validators.required),\n HouseHoldOption:new FormControl(null)\n });\n }\n\n addNewLinkedContact(){\n this.validateControls();\n if (this.editRelationship.valid) {\n var FormValue = this.editRelationship.value;\n var BaseRequest = {\n \"relationshipTypeid\": FormValue.RelationshipType != null ? FormValue.RelationshipType.id : null,\n \"smcPassengerId_1\": FormValue.PaxInfo != null ? FormValue.PaxInfo.id : null,\n \"passengerRelationshipCohabit\": FormValue.Cohabit!= null ? FormValue.Cohabit : false,\n \"toRelationshipTypeid\": FormValue.PaxRelationshipWithLinkedContact != null ? FormValue.PaxRelationshipWithLinkedContact.id : null,\n \"calledFrom\": FormValue.CalledFrom!= null ? FormValue.CalledFrom : 0,\n \"callerChoice\":FormValue.HouseHoldOption != null ? FormValue.HouseHoldOption.id : null,\n }\n this.logger.info('Start ofaddNewLinkedContact - add-linked-contact component');\n this.aboutService.savePassengerRelationship(this.paxId, BaseRequest).subscribe(\n response => {\n this.logger.log(JSON.stringify(response));\n response.isEdit=this.isEdit;\n this.postUpdate.emit({\"event\":\"Save\",\"data\":response,\"action\":\"ADD\"});\n this.editRelationshipData = null;\n }, error => {\n this.postUpdate.emit({\"event\":\"Error\",\"data\":error,\"action\":\"ADD\"});\n this.logger.error(JSON.stringify(error));\n }, () => {\n this.logger.info('End of ofaddNewLinkedContact - add-linked-contact component');\n //this._openRightSideBar = false;\n }\n );\n }\n }\n\n //Validate Controls\n validateControls() {\n Object.keys(this.editRelationship.controls).forEach(field => {\n if (field == \"PaxInfo\" || field == \"RelationshipType\") {\n const control = this.editRelationship.get(field);\n if (control != null && control.value == null) {\n control.markAsDirty(); // This makes error fields red on the form\n }\n }\n\n });\n }\n\n onPaxSelect() {\n var FormValue = this.editRelationship.value;\n //this.displayRelationshipDropdown = true;\n this.linkedContactName = FormValue.PaxInfo != null ? FormValue.PaxInfo.passengerName : \"\";\n this.populateHouseHoldOptions();\n }\n\n populateHouseHoldOptions() {\n var FormValue = this.editRelationship.value;\n this.houseHoldOptions.splice(0);\n if (this.linkedContactName) {\n if (FormValue.Cohabit != null ? FormValue.Cohabit : false) {\n this.houseHoldOptions.push({ id: 1, description: (this.multilingualResponse[\"Home.EditRelationShip.HHOption1\"]).toString().replace(\"{{pax1}}\", this.paxName).replace(\"{{pax2}}\", this.linkedContactName) })\n this.houseHoldOptions.push({ id: 2, description: (this.multilingualResponse[\"Home.EditRelationShip.HHOption2\"]).toString().replace(\"{{pax1}}\", this.paxName).replace(\"{{pax2}}\", this.linkedContactName) })\n this.houseHoldOptions.push({ id: 3, description: (this.multilingualResponse[\"Home.EditRelationShip.HHOption3\"]).toString().replace(\"{{pax1}}\", this.paxName).replace(\"{{pax2}}\", this.linkedContactName) })\n this.houseHoldOptions.push({ id: 4, description: (this.multilingualResponse[\"Home.EditRelationShip.HHOption4\"]).toString().replace(\"{{pax1}}\", this.paxName).replace(\"{{pax2}}\", this.linkedContactName) })\n }\n else {\n this.houseHoldOptions.push({ id: 5, description: (this.multilingualResponse[\"Home.EditRelationShip.HHOption5\"]).toString().replace(\"{{pax1}}\", this.paxName).replace(\"{{pax2}}\", this.linkedContactName) })\n this.houseHoldOptions.push({ id: 6, description: (this.multilingualResponse[\"Home.EditRelationShip.HHOption6\"]).toString().replace(\"{{pax1}}\", this.paxName).replace(\"{{pax2}}\", this.linkedContactName) })\n }\n }\n }\n\n\n}\n","
\n
\n
\n
\n \n\n \n
\n
\n {{pax.displayInitials}}\n
\n\n \n
\n
{{pax.passengerName}}
\n {{pax.address}}, \n {{pax.phoneNumber}}\n
\n
\n
\n
\n \n
\n\n\n
\n \n \n \n
\n\n
\n \n \n \n
\n\n
\n \n \n
\n\n
\n \n \n \n\n \n
\n
\n
\n
\n\n\n","import { Injectable } from '@angular/core';\nimport { ActivatedRoute, ActivatedRouteSnapshot, CanActivate, Router, RouterStateSnapshot, UrlTree } from '@angular/router';\nimport { Observable } from 'rxjs';\nimport { CommonService } from 'src/app/services/common/common.service';\nimport { UserPermissionsService } from 'src/app/services/common/user-permissions.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AgentTabsGuard implements CanActivate {\n\n constructor(private userPermission:UserPermissionsService,private activatedroute:ActivatedRoute,private router: Router\n ,private commonService:CommonService) { }\n\n canActivate(\n route: ActivatedRouteSnapshot): Observable | Promise | boolean | UrlTree {\n var securityConstant:any[]=[]\n securityConstant.push(route.data.securityID);\n return this.userPermission.isAccesible(securityConstant)\n }\n\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { PassengerRoutingModule } from './passenger-routing.module';\nimport { PassengerInfoComponent } from './main-layout/passenger-info/passenger-info.component';\nimport { MainLayoutComponent } from './main-layout/main-layout/main-layout.component';\nimport { PassengerSearchComponent } from './passenger-search/passenger-search.component';\nimport { RouterModule } from '@angular/router';\nimport { PrimengModule } from 'src/app/primeng-module';\nimport { SharedModule } from 'src/app/shared/shared.module';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\n//import { BrowserAnimationsModule } from '@angular/platform-browser/animations';\n\nimport {TranslateHttpLoader} from '@ngx-translate/http-loader';\nimport {TranslateLoader, TranslateModule} from '@ngx-translate/core';\nimport { HttpClient} from '@angular/common/http'\n\nexport function HttpLoaderFactory(httpClient: HttpClient) {\n return new TranslateHttpLoader(httpClient);\n}\n\n@NgModule({\n declarations: [PassengerInfoComponent,MainLayoutComponent,PassengerSearchComponent],\n imports: [\n CommonModule,\n PassengerRoutingModule,\n RouterModule,\n PrimengModule,\n SharedModule,\n FormsModule,\n // BrowserAnimationsModule,\n ReactiveFormsModule,\n TranslateModule.forRoot({\n loader: {\n provide: TranslateLoader,\n useFactory: HttpLoaderFactory,\n deps: [HttpClient]\n }\n })\n ],\n exports: [PassengerSearchComponent]\n})\nexport class PassengerModule { }\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpParams } from '@angular/common/http';\nimport { Observable } from 'rxjs';\nimport { AppConfigService } from '../common/app-config.service';\nimport { entityType } from 'src/app/models/entityType';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class TasksService {\n apiServerURL = AppConfigService.settings.apiURL;\n baseURL = this.apiServerURL.BaseURL;\n\n constructor(private httpClient: HttpClient) { }\n getDataForTaskEdit(entity: entityType, entityId: string, taskId: any): Observable {\n var apiURL = \"\";\n if (entity == entityType.passenger) {\n apiURL = this.baseURL + this.apiServerURL.GetTaskEditDetails;\n apiURL = apiURL.replace('{{paxID}}', (entityId).toString());\n apiURL = apiURL.replace('{{taskId}}', (taskId).toString());\n }\n else if (entity == entityType.agent) {\n apiURL = this.baseURL + this.apiServerURL.GetAgentTaskEditDetails;\n apiURL = apiURL.replace('{{agentId}}', (entityId).toString());\n apiURL = apiURL.replace('{{taskId}}', (taskId).toString());\n }\n return this.httpClient.get(apiURL);\n }\n\n updatetTaskInfo(entity: entityType, entityId: string, taskId: any, taskInfoReq: any): Observable {\n var apiURL = \"\";\n if (entity == entityType.passenger) {\n apiURL = this.baseURL + this.apiServerURL.UpdateTaskDetails;\n apiURL = apiURL.replace('{{paxID}}', (entityId).toString());\n apiURL = apiURL.replace('{{taskId}}', (taskId).toString());\n }\n else if (entity == entityType.agent) {\n apiURL = this.baseURL + this.apiServerURL.UpdateAgentTaskDetails;\n apiURL = apiURL.replace('{{agentId}}', (entityId).toString());\n apiURL = apiURL.replace('{{taskId}}', (taskId).toString());\n }\n return this.httpClient.put(apiURL, taskInfoReq);\n }\n\n rescheduleTask(entity: entityType, entityId: string, taskId: any, dueDtReq: any): Observable {\n var apiURL = \"\";\n if (entity == entityType.passenger) {\n apiURL = this.baseURL + this.apiServerURL.ReScheduleTask;\n apiURL = apiURL.replace('{{paxID}}', (entityId).toString());\n apiURL = apiURL.replace('{{taskId}}', (taskId).toString());\n }\n else if (entity == entityType.agent) {\n apiURL = this.baseURL + this.apiServerURL.ReScheduleAgentTask;\n apiURL = apiURL.replace('{{agentId}}', (entityId).toString());\n apiURL = apiURL.replace('{{taskId}}', (taskId).toString());\n }\n return this.httpClient.put(apiURL, dueDtReq);\n }\n\n reassignTask(entity: entityType, entityId: string, taskId: any, reAssignedReq: any): Observable {\n var apiURL = \"\";\n if (entity == entityType.passenger) {\n apiURL = this.baseURL + this.apiServerURL.ReAssignTask;\n apiURL = apiURL.replace('{{paxID}}', (entityId).toString());\n apiURL = apiURL.replace('{{taskId}}', (taskId).toString());\n }\n else if (entity == entityType.agent) {\n apiURL = this.baseURL + this.apiServerURL.ReAssignAgentTask;\n apiURL = apiURL.replace('{{agentId}}', (entityId).toString());\n apiURL = apiURL.replace('{{taskId}}', (taskId).toString());\n }\n return this.httpClient.put(apiURL, reAssignedReq);\n }\n\n getAllTasks(entity: entityType, entityId: string, filterCriteria: any, pageNo: number, noOfRecord: number, resultType: string = 'all'): Observable {\n var apiURL = \"\"\n let params = new HttpParams().set('selection', resultType);\n if (entity == entityType.passenger) {\n apiURL = this.baseURL + this.apiServerURL.GetTasks;\n if (pageNo > 0 && noOfRecord > 0) {\n apiURL = apiURL.replace('{{paxID}}', entityId) + '?pageNumber=' + pageNo + '&pageSize=' + noOfRecord + '&selection=' + resultType;\n }\n else {\n apiURL = apiURL.replace('{{paxID}}', entityId) + '?selection=' + resultType;\n }\n }\n else if (entity == entityType.agent) {\n apiURL = this.baseURL + this.apiServerURL.GetAgentTasks;\n if (pageNo > 0 && noOfRecord > 0) {\n apiURL = apiURL.replace('{{agentId}}', entityId) + '?pageNumber=' + pageNo + '&pageSize=' + noOfRecord + '&selection=' + resultType;\n }\n else {\n apiURL = apiURL.replace('{{agentId}}', entityId) + '?selection=' + resultType;\n }\n }\n return this.httpClient.post(apiURL, filterCriteria)\n }\n\n getNewTaskInfo(entity: entityType, entityId: string): Observable {\n var apiURL =\"\";\n if (entity == entityType.passenger){\n apiURL = this.baseURL + this.apiServerURL.GetNewTaskInfo;\n apiURL = apiURL.replace('{{paxID}}', entityId);\n }\n else if (entity == entityType.agent){\n apiURL = this.baseURL + this.apiServerURL.GetNewAgentTaskInfo;\n apiURL = apiURL.replace('{{agentId}}', entityId);\n }\n return this.httpClient.get(apiURL);\n }\n\n addNewTask(entity: entityType, entityId: string, newTaskInfo: any): Observable {\n var apiURL =\"\";\n if (entity == entityType.passenger){\n apiURL = this.baseURL + this.apiServerURL.AddNewTask;\n apiURL = apiURL.replace('{{paxID}}', entityId);\n }\n else if (entity == entityType.agent){\n apiURL = this.baseURL + this.apiServerURL.AddNewAgentTask;\n apiURL = apiURL.replace('{{agentId}}', entityId);\n }\n return this.httpClient.post(apiURL, newTaskInfo);\n }\n}\n","import { Component, OnInit,Output,EventEmitter,Input,OnChanges,SimpleChanges } from '@angular/core';\nimport { FormControl, FormGroup, Validators, ValidatorFn } from '@angular/forms';\nimport { CommonService } from 'src/app/services/common/common.service';\nimport { AppConfigService } from 'src/app/services/common/app-config.service';\nimport { aboutService } from 'src/app/services/about/about.service';\nimport { TranslateService } from '@ngx-translate/core';\n\n@Component({\n selector: 'app-address-details',\n templateUrl: './address-details.component.html',\n styleUrls: ['./address-details.component.scss']\n})\nexport class AddressDetailsComponent implements OnInit,OnChanges {\n\n @Input() config :any = {};\n @Input() update :boolean = false;\n @Output() onNext = new EventEmitter();\n @Output() onBack = new EventEmitter();\n @Output() updateChange = new EventEmitter();\n\n calenderMinDate:Date;\n calenderMaxDate:Date;\n calenderYearRange:Date;\n multilingual : any = {};\n searchedlocations:any[]=[];\n states:any[]=[];\n countries:any=[];\n addressDetailsForm:FormGroup;\n\n constructor(public commonService:CommonService, public aboutService:aboutService,public translate:TranslateService) {\n this.translate.get([\"SharedComponents.AddressDetails\"]).subscribe((response: any) => {\n this.multilingual = response['SharedComponents.AddressDetails'];\n });\n this.calenderMinDate = commonService.calenderDateConfig.defaultDMinDate;\n this.calenderMaxDate = commonService.calenderDateConfig.defaultMaxDate;\n this.calenderYearRange = commonService.calenderDateConfig.defaultYearRange;\n\n this.addressDetailsForm = this.getAddressDetailsForm();\n }\n\n ngOnInit(): void {\n this._setModels();\n }\n\n ngOnChanges(changes:SimpleChanges):void{\n if(this._isUpdate(changes)){\n this._onInputModelUpdate();\n }\n }\n\n _isUpdate(changes:SimpleChanges):Boolean{\n return changes.update\n && !changes.update.firstChange\n && changes.update.currentValue\n && changes.update.previousValue != changes.update.currentValue\n }\n\n _onInputModelUpdate(){\n this.countries = this.config.countries;\n this.update = false;\n this.updateChange.emit(this.update);\n }\n\n _setModels(){\n this.addressDetailsForm = this.getAddressDetailsForm();\n this.countries = this.config.countries;\n this._setFormValues(this.config.newPassenger)\n }\n\n _setFormValues(newPassenger:any={}){\n\n this.addressDetailsForm.patchValue({\n city : newPassenger.city,\n country : newPassenger.country,\n telephone : newPassenger.telephone,\n fax : newPassenger.fax,\n mobile : newPassenger.mobile,\n isValidAllYears : newPassenger.isValidAllYears,\n validFrom :newPassenger.validFrom !=undefined ? newPassenger.validFrom : null,\n validTo : newPassenger.validTo!=undefined?newPassenger.validTo:null,\n });\n\n if(newPassenger.country){\n this.loadStatesForCountry(newPassenger.country.id,()=>{\n this.addressDetailsForm.patchValue({\n state : newPassenger.state,\n })\n })\n }\n\n }\n\n getAddressDetailsForm(){\n return new FormGroup({\n searchByPostcode : new FormControl(),\n state: new FormControl(),\n city: new FormControl(null,[Validators.required]),\n country: new FormControl(null,[Validators.required]),\n telephone: new FormControl(\"\",[Validators.pattern('[- +()0-9]+')]),\n fax: new FormControl(),\n mobile: new FormControl(\"\",[Validators.pattern('[- +()0-9]+')]),\n isValidAllYears: new FormControl(),\n validFrom: new FormControl(),\n validTo: new FormControl(),\n })\n }\n\n onClickBack(){\n this.onBack.emit({event:\"onBack\",data:this.getAddressDetails()})\n }\n\n onClickNext(){\n if(this.addressDetailsForm.valid){\n this.onNext.emit({event:\"onNext\",data:this.getAddressDetails()})\n }\n else{\n this.commonService.markControlsAsDirty(this.addressDetailsForm)\n }\n }\n\n getAddressDetails(){\n let formValue = this.addressDetailsForm.value;\n return {\n state: formValue.state,\n city: formValue.city,\n country:formValue.country,\n telephone: formValue.telephone,\n fax: formValue.fax,\n mobile: formValue.mobile,\n isValidAllYears: formValue.isValidAllYears,\n validFrom: formValue.validFrom,\n validTo: formValue.validTo,\n }\n }\n\n searchLocations(event:any){\n this.aboutService.getLocations(event.query).subscribe(response=>{\n if(response.meta && response.meta.success){\n let locations : any[] = response.data || [];\n this.searchedlocations = locations.filter(l => l.type.trim() == \"Address\")\n }\n },error=>{\n },()=>{\n\n })\n }\n\n autoFillAddress(location:any){\n this.commonService.getSystemAddressFromLoquateAddress(location.id).subscribe((response:any)=>{\n let searchByPostcodeAddress = response;\n this.states = searchByPostcodeAddress.states;\n this.addressDetailsForm.patchValue({\n city: searchByPostcodeAddress.city || null,\n country:searchByPostcodeAddress.country || null,\n state:searchByPostcodeAddress.state || null\n });\n },error=>{\n },()=>{\n\n })\n }\n\n onCountryChange(event:any){\n this.loadStatesForCountry(event.value.id);\n }\n\n loadStatesForCountry(countryId:string,onComplete = ()=>{}){\n this.commonService.getAllStatesForCountry(countryId).subscribe (\n response => {\n this.states = response.data;\n }, error=>{\n this.states = [];\n },()=>\n {\n onComplete()\n }\n );\n }\n}\n","
\n
\n
\n\n
\n \n \n
\n
\n
{{address.text}}
\n {{address.description}}\n
\n
\n
\n
\n \n
\n\n
\n \n \n \n
\n\n
\n \n \n \n
\n\n
\n \n \n
\n\n
\n \n \n
\n\n
\n \n \n
\n\n
\n \n \n
\n\n
\n \n \n \n
\n\n
\n \n \n \n
\n\n\n
\n \n \n \n
\n\n
\n
\n\n
\n
\n \n \n
\n\n\n","import { Injectable } from '@angular/core';\nimport {\n Router, Resolve,\n RouterStateSnapshot,\n ActivatedRouteSnapshot\n} from '@angular/router';\nimport { Observable, of } from 'rxjs';\nimport { AgentHomeService } from 'src/app/services/home/agent-home.service';\nimport { GlobalConstants } from 'src/app/shared/global-constants';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AgentInfoResolver implements Resolve {\n constructor(private apiService: AgentHomeService) {}\n\n resolve(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable {\n GlobalConstants.AgentID = Number(route.paramMap.get('id'));\n return this.apiService.getAgentDetails((route.paramMap.get('id')||\"0\"));\n }\n}\n","export class PaxSecurityConstant {\r\n public static HomeTab: number = 407980;\r\n public static AboutTab:number = 407990;\r\n public static TripsTab: number = 408110;\r\n public static CommuncationTab: number = 408140;\r\n public static NotesTab:number = 408180;\r\n public static TasksTab:number = 408210;\r\n public static TimelineTab : number = 408260;\r\n public static FinanceTab : number = 408220;\r\n //ABOUT TAB\r\n public static Address:number=408000;\r\n public static LinkedContact:number=408010;\r\n public static ClubMembership:number=408020;\r\n public static BasicInfo:number=408030;\r\n public static PreferedActivities:number=408040;\r\n public static PassportDetails:number=408050;\r\n public static VisaDetails:number=408060;\r\n public static FlightPreference:number=408070;\r\n public static FrequentFlyerInfo:number=408080;\r\n public static PreferedDestinations:number=408090;\r\n public static APIS:number=408100;\r\n public static PersonalInfo:number=408030;\r\n\r\n //TRIPS\r\n public static Bookings:number=408120;\r\n public static Enquiry:number=408130;\r\n\r\n //COMMUNICATIONS\r\n public static Campaign:number=408150;\r\n public static Emails:number=408160;\r\n public static Feedback:number=408170;\r\n\r\n //NOTES\r\n public static SystemNotes:number=408190;\r\n public static UserNotes:number=408200;\r\n\r\n //FINANCE\r\n public static Credit:number=408230;\r\n public static Invoices:number=408240;\r\n public static PaymentTerms:number=408250;\r\n\r\n}\r\n\r\nexport class AgentSecurityConstant {\r\n public static HomeTab: number = 408380;\r\n public static AboutTab:number = 408390;\r\n public static TripsTab: number = 408480;\r\n public static CommuncationTab: number = 408510;\r\n public static NotesTab:number = 408610;\r\n public static TasksTab:number = 408640;\r\n public static ClassificationTab : number = 408430;\r\n public static FinanceTab : number = 408650;\r\n public static TermsTab : number = 408550;\r\n //ABOUT TAB\r\n public static Address:number=408400;\r\n public static Contact:number=408410;\r\n public static BasicInfo:number=408420;\r\n\r\n //CLASSIFICATION\r\n public static Allocation:number=408440;\r\n public static Groups:number=408450;\r\n public static Memberships:number=408460;\r\n public static PreferedSupplier:number=408470;\r\n\r\n //TRIPS\r\n public static Bookings:number=408490;\r\n public static Enquiry:number=408500;\r\n\r\n //COMMUNICATIONS\r\n public static Campaign:number=408520;\r\n public static Emails:number=408530;\r\n public static Feedback:number=408540;\r\n\r\n //TERMS\r\n public static PricingPolicy:number=408560;\r\n public static ClientBands:number=408570;\r\n public static CommissionScheme:number=408580;\r\n public static CancellationPolicy:number=408590;\r\n public static PaymentTerms:number=408600;\r\n\r\n //NOTES\r\n public static SystemNotes:number=408620;\r\n public static UserNotes:number=408630;\r\n\r\n //FINANCE\r\n public static Credit:number=408660;\r\n public static AdvanceTax:number=408670;\r\n public static Bank:number=408680;\r\n public static Account:number=408690;\r\n\r\n}\r\n","import { Component, OnInit } from '@angular/core';\nimport {MenuItem} from 'primeng/api';\nimport { Router } from '@angular/router';\nimport { GlobalConstants } from '../global-constants';\nimport { SharedService } from 'src/app/services/common/shared.service';\nimport {PaxSecurityConstant} from '../../constants/security-constant'\nimport { UserPermissionsService } from 'src/app/services/common/user-permissions.service';\n\n@Component({\n selector: 'app-main-menu',\n templateUrl: './main-menu.component.html',\n styleUrls: ['./main-menu.component.css']\n})\nexport class MainMenuComponent implements OnInit {\n items: MenuItem[] = [];\n securityConstantID:any[]=[]\n permissionData:any;\n activeItem!: MenuItem;\n paxID:any;\n\n constructor(private router: Router,private sharedService:SharedService, private userPermissions:UserPermissionsService) { }\n\n ngOnInit(): void {\n this.paxID= GlobalConstants.PassengerID;\n this.loadTabs();\n }\n\n loadTabs(){\n //NAVIGATE TO THE PAGE ON CLICK OF TAB ITEMS\n this.items = [\n {\n label: 'Home', command: (event) => {\n let URL ='passenger/'+ this.paxID +\"/home\"\n this.navigateTo(URL,'Home');\n }\n },\n {\n label: 'About', command: (event) => {\n let URL ='passenger/'+ this.paxID +\"/about\"\n this.navigateTo(URL,'About');\n },disabled:(!(this.userPermissions.isAccesible(PaxSecurityConstant.AboutTab)))\n },\n {\n label: 'Trips', command: (event) => {\n let URL ='passenger/'+ this.paxID +\"/trips\"\n this.navigateTo(URL,'Trips');\n },disabled:(!(this.userPermissions.isAccesible(PaxSecurityConstant.TripsTab)))\n },\n {\n label: 'Communications', command: (event) => {\n let URL ='passenger/'+ this.paxID +\"/communications\"\n this.navigateTo(URL,'Communications');\n },disabled:(!(this.userPermissions.isAccesible(PaxSecurityConstant.CommuncationTab)))\n },\n {\n label: 'Notes', command: (event) => {\n let URL ='passenger/'+ this.paxID +\"/notes\"\n this.navigateTo(URL,'Notes');\n },disabled:(!(this.userPermissions.isAccesible(PaxSecurityConstant.NotesTab)))\n },\n {\n label: 'Tasks', command: (event) => {\n let URL ='passenger/'+ this.paxID +\"/tasks\"\n this.navigateTo(URL,'Tasks');\n },disabled:(!(this.userPermissions.isAccesible(PaxSecurityConstant.TasksTab)))\n },\n {\n label: 'Finance', command: (event) => {\n let URL ='passenger/'+ this.paxID +\"/finance\"\n this.navigateTo(URL,'Finance');\n },disabled:(!(this.userPermissions.isAccesible(PaxSecurityConstant.FinanceTab)))\n },\n /*{\n label: 'Timeline', command: (event) => {\n let URL ='passenger/'+ this.paxID +\"/timeline\"\n this.navigateTo(URL,'Timeline');\n },disabled:(!(this.userPermissions.isAccesible(PaxSecurityConstant.TimelineTab)))\n }*/\n ]\n\n let URL = \"\";//this.router.url.replace('/', '');\n //URL = GlobalConstants.TabName\n\n this.activeItem = this.items[0] ;//this.items.find(s => s.label == URL) || this.items[0];\n }\n\n navigateTo(route:any,tabName:any){\n this.router.navigate([route])\n /*if(route ==\"passenger/\"+ this.paxID +\"/home\"){\n GlobalConstants.DockPaxInfo=false;\n }\n else{\n if(GlobalConstants.TabName == \"Home\")\n GlobalConstants.DockPaxInfo=true;\n }*/\n this.sharedService.tabMenuClicked.next({tab:route});\n\n //this.activeItem = this.items.find(s => s.label == tabName) || this.items[0];\n GlobalConstants.TabName=tabName;\n }\n\n}\n","
\n \n
\n\n\n","import { NgModule } from '@angular/core';\n//import { CommonModule } from '@angular/common';\nimport { RouterModule, Routes } from '@angular/router';\nimport { AgentSearchComponent } from './agent/agent-search/agent-search.component';\nimport { MainLayoutComponent } from './passenger/main-layout/main-layout/main-layout.component';\nimport { PassengerSearchComponent } from './passenger/passenger-search/passenger-search.component';\nimport { MainLayoutComponent as AgentMainLayoutComponent } from './agent/main-layout/main-layout.component';\n\nconst routes: Routes = [\n {\n path: 'passengersearch',\n component: PassengerSearchComponent\n },\n {\n path: 'passengersearch/:paxname',\n component: PassengerSearchComponent\n },\n {\n path: 'passenger/:id',\n component: MainLayoutComponent,\n },\n {\n path: 'agentsearch',\n component: AgentSearchComponent\n },\n {\n path: 'agentsearch/:agentname',\n component: AgentSearchComponent\n },\n {\n path: 'agent/:id',\n component: AgentMainLayoutComponent,\n },\n];\n\n@NgModule({\n imports: [RouterModule.forRoot(routes)],\n exports: [RouterModule]\n})\nexport class CoreRoutingModule { }\n\n","import { Injectable } from '@angular/core';\nimport { ReplaySubject, Observable, Subject, of} from 'rxjs';\n\nimport { HttpClient, HttpParams } from '@angular/common/http';\n//import apiURLSettings from \"../../../assets/apiURLConfig.json\";\n\nimport { AppConfigService } from '../common/app-config.service';\n\n// The class 'PassangerService' cannot be created via dependency injection, if it does not have an Angular decorator. This will result in an error at runtime\n// That's why we use @Injectable decorator\n@Injectable(\n { providedIn: 'root'}\n)\nexport class passengerService {\n\n //private _config: any;\n apiServerURL = AppConfigService.settings.apiURL;\n baseURL = this.apiServerURL.BaseURL;\n\n constructor(private httpClient: HttpClient) {\n\n }\n\n // this method provides functionality to get passanger personal details from CRM API\n // the CRM API's end point called here is PassangerHome\n getPassagengrDetails(paxId:string): Observable {\n\n //var apiURL = this._config.filter((p:any)=>p.apiName == 'GetPassenger')[0].URL;\n var apiURL = this.baseURL + this.apiServerURL.GetPassenger;\n apiURL = apiURL.replace('{{paxID}}',paxId);\n return this.httpClient.get(apiURL);\n\n }\n\n // this method provides functionality to get passanger booking summary from CRM API\n // the CRM API's end point called here is PassangerHome\n getPassangerBookingSummary(paxId:string):Observable{\n //var apiURL = apiURLSettings.filter((p:any)=>p.apiName == 'BookingSummary')[0].URL;\n var apiURL = this.baseURL + this.apiServerURL.BookingSummary;\n apiURL = apiURL.replace('{{paxID}}',paxId);\n return this.httpClient.get(apiURL)\n }\n\n // this method provides functionality to get passanger booking summary from CRM API\n // the CRM API's end point called here is PassangerHome\n getPassangerFutureTrips(paxId:string):Observable{\n // return this.httpClient.get(this.hostName.url + this.urls.BookingSummary + \"691\")\n //var apiURL = apiURLSettings.filter((p:any)=>p.apiName == 'FutureTrips')[0].URL;\n var apiURL = this.baseURL + this.apiServerURL.FutureTrips;\n apiURL = apiURL.replace('{{paxID}}',paxId);\n return this.httpClient.get(apiURL)\n }\n\n // this method provides functionality to get passenger user notes from CRM API\n getPassengerNotes(paxId: string, filterCriteria:any, pageNo:number,noOfRecord:number): Observable {\n //var apiURL = apiURLSettings.filter((p:any) => p.apiName == 'GetAllNotes')[0].URL;\n var apiURL = this.baseURL + this.apiServerURL.GetAllNotes;\n if(pageNo >0 && noOfRecord>0 )\n {\n apiURL = apiURL.replace('{{paxID}}', paxId)+ '?pageNumber='+ pageNo +'&pageSize='+ noOfRecord;\n }\n else\n {\n apiURL = apiURL.replace('{{paxID}}', paxId);\n }\n\n return this.httpClient.post(apiURL,filterCriteria)\n }\n\n // this method provides functionality to get passenger user note (individual note details) from CRM API\n getNoteDetails(paxId: string, noteID: string): Observable {\n //var apiURL = apiURLSettings.filter((p:any) => p.apiName == 'GetNote')[0].URL;\n var apiURL = this.baseURL + this.apiServerURL.GetNote;\n apiURL = apiURL.replace('{{paxID}}', paxId);\n apiURL = apiURL.replace('{{noteID}}', noteID);\n return this.httpClient.get(apiURL)\n }\n\n // this method provides functionality to get passenger tasks\n getPassengerTasks(paxId: string, filterCriteria:any, pageNo:number, noOfRecord:number, resultType : string ='all'): Observable {\n var apiURL = this.baseURL + this.apiServerURL.GetTasks;\n let params = new HttpParams().set('selection',resultType);\n //var apiURL = apiURLSettings.filter((p:any) => p.apiName == 'GetTasks')[0].URL;\n if(pageNo >0 && noOfRecord>0 )\n {\n apiURL = apiURL.replace('{{paxID}}', paxId)+ '?pageNumber='+ pageNo +'&pageSize='+ noOfRecord +'&selection='+resultType;\n }\n else\n {\n apiURL = apiURL.replace('{{paxID}}', paxId) +'?selection='+resultType;\n }\n\n return this.httpClient.post(apiURL,filterCriteria)\n }\n\n // this method provides functionality to get passenger user note (individual note details) from CRM API\n getTaskStatuses():Observable{\n //let apiURL = apiURLSettings.filter((p:any)=>p.apiName == 'GetTaskStatuses')[0].URL;\n var apiURL = this.baseURL + this.apiServerURL.GetTaskStatuses;\n return this.httpClient.get(apiURL);\n }\n\n // this method provides functionality to get passenger address for editing/updating\n editPassengerAddress(paxId:string, addressID: string):Observable{\n //let apiURL = apiURLSettings.filter((p:any)=>p.apiName == 'EditAddress')[0].URL;\n var apiURL = this.baseURL + this.apiServerURL.EditAddress;\n apiURL = apiURL.replace('{{paxID}}',paxId);\n apiURL = apiURL.replace('{{addressID}}',addressID);\n return this.httpClient.get(apiURL);\n }\n\n // this method provides functionality to update passenger address\n updatePassengerAddress(paxId:string, addressID: string, address :any):Observable{\n //let apiURL = apiURLSettings.filter((p:any)=>p.apiName == 'UpdateAddress')[0].URL;\n var apiURL = this.baseURL + this.apiServerURL.UpdateAddress;\n apiURL = apiURL.replace('{{paxID}}',paxId);\n apiURL = apiURL.replace('{{addressID}}',addressID);\n return this.httpClient.put(apiURL,address);\n }\n\n // this method provides functionality to get passenger basic info for editing/updating\n editPassengerBasicInfo(paxId:string):Observable{\n //let apiURL = apiURLSettings.filter((p:any)=>p.apiName == 'EditPaxBasicInfo')[0].URL;\n var apiURL = this.baseURL + this.apiServerURL.EditPaxBasicInfo;\n apiURL = apiURL.replace('{{paxID}}',paxId);\n return this.httpClient.get(apiURL);\n }\n\n // this method provides functionality to update passenger basic info\n updatePassengerBasicInfo(paxId:string, basicInfo :any):Observable{\n //let apiURL = apiURLSettings.filter((p:any)=>p.apiName == 'UpdatePaxBasic')[0].URL;\n var apiURL = this.baseURL + this.apiServerURL.UpdatePaxBasic;\n apiURL = apiURL.replace('{{paxID}}',paxId);\n return this.httpClient.put(apiURL,basicInfo);\n }\n\n // this method provides functionality to get passenger membership info for editing/updating\n editPassengerMembership(paxId: string,memberShipID:string): Observable {\n //let apiURL = apiURLSettings.filter((p:any) => p.apiName == 'EditMembership')[0].URL;\n var apiURL = this.baseURL + this.apiServerURL.EditMembership;\n apiURL = apiURL.replace('{{paxID}}', paxId);\n apiURL = apiURL.replace('{{clubMembershipId}}',memberShipID);\n return this.httpClient.get(apiURL);\n }\n\n // this method provides functionality to update passenger membership info\n updatePassengeMembership(paxId: string, memberShipID:string, membershipInfo: any): Observable {\n //let apiURL = apiURLSettings.filter((p:any) => p.apiName == 'UpdateMembership')[0].URL;\n var apiURL = this.baseURL + this.apiServerURL.UpdateMembership;\n apiURL = apiURL.replace('{{paxID}}', paxId);\n apiURL = apiURL.replace('{{clubMembershipId}}',memberShipID);\n return this.httpClient.put(apiURL, membershipInfo);\n }\n\n // this method provides functionality to get passenger relationship info for editing/updating\n editPassengerRelationship(paxId: string,relationshipID:string): Observable {\n //let apiURL = apiURLSettings.filter((p:any) => p.apiName == 'EditRelationship')[0].URL;\n var apiURL = this.baseURL + this.apiServerURL.EditRelationship;\n apiURL = apiURL.replace('{{paxID}}', paxId);\n apiURL = apiURL.replace('{{passengerRelationshipId}}',relationshipID);\n return this.httpClient.get(apiURL);\n }\n\n // this method provides functionality to update passenger relationship info\n updatePassengeRelationship(paxId: string, relationshipID:string, relationshipInfo: any): Observable {\n //let apiURL = apiURLSettings.filter((p:any) => p.apiName == 'UpdateRelationship')[0].URL;\n var apiURL = this.baseURL + this.apiServerURL.UpdateRelationship;\n apiURL = apiURL.replace('{{paxID}}', paxId);\n apiURL = apiURL.replace('{{passengerRelationshipId}}',relationshipID);\n return this.httpClient.put(apiURL, relationshipInfo);\n }\n\n // this method provides functionality to search passengers\n searchPasengersByName(paxName: any): Observable {\n //let apiURL = apiURLSettings.filter((p:any) => p.apiName == 'SearchPaxByName')[0].URL;\n var apiURL = this.baseURL + this.apiServerURL.SearchPaxByName;\n apiURL = apiURL.replace('{{paxName}}', paxName);\n return this.httpClient.get(apiURL);\n }\n\n // this method provides functionality to search passengers\n /*getNewTaskInfo(paxId: any): Observable {\n //let apiURL = apiURLSettings.filter((p:any) => p.apiName == 'GetNewTaskInfo')[0].URL;\n var apiURL = this.baseURL + this.apiServerURL.GetNewTaskInfo;\n apiURL = apiURL.replace('{{paxID}}', paxId);\n return this.httpClient.get(apiURL);\n }\n*/\n // this method provides functionality to search passengers\n searchPassengerBookings(paxID: any): Observable {\n //let apiURL = apiURLSettings.filter((p:any) => p.apiName == 'GetPassengerBookings')[0].URL;\n var apiURL = this.baseURL + this.apiServerURL.GetPassengerBookings;\n apiURL = apiURL.replace('{{paxID}}', paxID);\n return this.httpClient.get(apiURL);\n }\n\n /*\n // this method provides functionality to add new task\n addNewTask(paxId: string, newTaskInfo: any): Observable {\n //let apiURL = apiURLSettings.filter((p:any) => p.apiName == 'AddNewTask')[0].URL;\n var apiURL = this.baseURL + this.apiServerURL.AddNewTask;\n apiURL = apiURL.replace('{{paxID}}', paxId);\n return this.httpClient.post(apiURL, newTaskInfo);\n }*/\n\n // this method provides functionality to search passengers\n getNewNoteInfo(paxId: any): Observable {\n //let apiURL = apiURLSettings.filter((p:any) => p.apiName == 'GetNewNoteInfo')[0].URL;\n var apiURL = this.baseURL + this.apiServerURL.GetNewNoteInfo;\n apiURL = apiURL.replace('{{paxID}}', paxId);\n return this.httpClient.get(apiURL);\n }\n\n\n // this method provides functionality to add new task\n addNewNote(paxId: string, newNoteInfo: any): Observable {\n //let apiURL = apiURLSettings.filter((p:any) => p.apiName == 'AddNewNote')[0].URL;\n var apiURL = this.baseURL + this.apiServerURL.AddNewNote;\n apiURL = apiURL.replace('{{paxID}}', paxId);\n return this.httpClient.post(apiURL, newNoteInfo);\n }\n\n createPassenger(newPaxInfo:any): Observable{\n\n var apiURL = this.baseURL + this.apiServerURL.CreateNewPassenger;\n return this.httpClient.post(apiURL, newPaxInfo);\n }\n\n getAddPassengerMeta(): Observable {\n var apiURL = this.baseURL + this.apiServerURL.GetNewPassengerMeta;\n return this.httpClient.get(apiURL);\n }\n\n getDuplicatePassengers(passenger:any):Observable{\n let params = new HttpParams();\n var apiURL = this.baseURL + this.apiServerURL.GetDuplicatePassengers;\n if(passenger){\n params = passenger.passengerType ? params.append('passengerTypeId',passenger.passengerType.id) : params;\n params = passenger.title ? params.append('titleTypeId',passenger.title.id) : params;\n params = passenger.firstName ? params.append('firstName',passenger.firstName) : params;\n params = passenger.lastName ? params.append('lastName',passenger.lastName) : params;\n params = passenger.street ? params.append('AddressLine1',passenger.street) : params;\n params = passenger.postCode ? params.append('postCode',passenger.postCode) : params;\n params = passenger.dateOfBirth ? params.append('dateofBirth',passenger.dateOfBirth) : params;\n params = passenger.email ? params.append('emailAddress',passenger.email) : params;\n }\n return this.httpClient.get(apiURL,{params});\n }\n\n getUsers(name:string): Observable {\n var apiURL = this.baseURL + this.apiServerURL.GetUsers;\n apiURL = apiURL.replace('{{name}}',name);\n return this.httpClient.get(apiURL);\n }\n\n}\n","import {\n Directive,\n ElementRef,\n forwardRef,\n HostListener,\n Renderer2,\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\n@Directive({\n selector: '[appOnlyNumbers]',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => OnlyNumbersDirective),\n multi: true,\n },\n ],\n})\nexport class OnlyNumbersDirective implements ControlValueAccessor {\n\n private onChange!: ((val: string) => void);\n private onTouched!: (() => void);\n private value: string=\"\";\n\n constructor(private elementRef: ElementRef, private renderer: Renderer2) {}\n\n @HostListener('input', ['$event.target.value'])\n onInputChange(value: string) {\n const filteredValue: string = filterValue(value);\n this.updateTextInput(filteredValue, this.value !== filteredValue);\n }\n\n @HostListener('blur')\n onBlur() {\n this.onTouched();\n }\n\n private updateTextInput(value: string, propagateChange: boolean) {\n this.renderer.setProperty(this.elementRef.nativeElement, 'value', value);\n if (propagateChange) {\n this.onChange(value);\n }\n this.value = value;\n }\n\n // ControlValueAccessor Interface\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.renderer.setProperty(\n this.elementRef.nativeElement,\n 'disabled',\n isDisabled\n );\n }\n\n writeValue(value: any): void {\n value = value ? String(value) : '';\n this.updateTextInput(value, false);\n }\n}\n\nfunction filterValue(value:any): string {\n return value.replace(/[^0-9,.]*/g, '');\n}\n","import { Injectable } from '@angular/core';\nimport { CanActivate, ActivatedRouteSnapshot, ActivatedRoute, Router } from '@angular/router';\nimport { Observable } from 'rxjs';\nimport { catchError, map } from 'rxjs/operators';\nimport { PaxSecurityConstant } from 'src/app/constants/security-constant';\nimport { CommonService } from 'src/app/services/common/common.service';\nimport { UserPermissionsService } from 'src/app/services/common/user-permissions.service';\nimport { GlobalConstants } from 'src/app/shared/global-constants';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class PaxTabsRouteGuardService implements CanActivate {\n\n constructor(private userPermission:UserPermissionsService,private activatedroute:ActivatedRoute,private router: Router\n ,private commonService:CommonService) { }\n\n public canActivate(route: ActivatedRouteSnapshot){\n\n /*this.activatedroute.data.subscribe((data:any) => {\n var securityConstant:any[]=[]\n securityConstant.push(route.data.securityID);\n this.commonService.getUserPermissions(GlobalConstants.UserID,GlobalConstants.PassengerID,securityConstant).subscribe(\n (resp:any)=>{\n let tabRights=resp.data.filter((a:any)=>a.securityConstant==route.data.securityID);\n console.log('here2');\n return tabRights[0].access;\n }\n );*/\n var securityConstant:any[]=[]\n securityConstant.push(route.data.securityID);\n /*if (route.data.securityID==PaxSecurityConstant.HomeTab){\n return this.commonService.getUserPermissions(GlobalConstants.UserID,GlobalConstants.PassengerID,securityConstant).pipe(\n map(data => {\n let tabRights=data.data.filter((a:any)=>a.securityConstant==route.data.securityID);\n if(tabRights[0].access)\n return true;\n else{\n\n return false;\n }\n\n })\n );\n }*/\n return this.userPermission.isAccesible(securityConstant)\n\n\n\n //this.commonService.getUserPermissions(GlobalConstants.UserID,GlobalConstants.PassengerID,securityConstant).subscribe(\n // resp=>{\n // let tabRights=resp.data.filter((a:any)=>a.securityConstant==route.data.securityID);\n // return tabRights[0].access;\n // }\n // )\n // });\n //console.log('here');\n //return true;\n }\n\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MainMenuComponent } from './main-menu/main-menu.component';\nimport { PrimengModule } from '../primeng-module';\nimport { EditAddressComponent } from './edit-address/edit-address.component';\nimport { FormsModule,ReactiveFormsModule } from '@angular/forms';\nimport {TranslateHttpLoader} from '@ngx-translate/http-loader';\nimport {TranslateLoader, TranslateModule} from '@ngx-translate/core';\nimport { HttpClient} from '@angular/common/http';\nimport { EditBasicInfoComponent } from './edit-basic-info/edit-basic-info.component';\nimport { EditMembershipComponent } from './edit-membership/edit-membership.component';\nimport { EditLinkedContactComponent } from './edit-linked-contact/edit-linked-contact.component';\nimport { AddTaskComponent } from './add-task/add-task.component';\nimport { AddNoteComponent } from './add-note/add-note.component'\nimport { ComingSoonComponent } from './comingSoon/comingsoon.component';\nimport { AddEditSSRDocumentComponent } from './add-edit-SSRDocument/add-edit-ssrdocument.component';\nimport { SearchBookingEnquiryComponent } from './search-booking-enquiry/search-booking-enquiry.component';\nimport { SearchResultBookingEnquiryComponent } from './search-result-booking-enquiry/search-result-booking-enquiry.component';\nimport { BookingEnquirySearchFilterComponent } from './booking-enquiry-search-filter/booking-enquiry-search-filter.component';\nimport { TaskViewComponent } from './task-view/task-view.component';\nimport { NotesViewComponent } from './notes-view/notes-view.component';\nimport { AddEditNoteComponent } from './add-edit-note/add-edit-note.component';\nimport { CreatePassengerComponent } from './create-passenger/create-passenger.component';\nimport { BasicInfoComponent } from './create-passenger/basic-info/basic-info.component';\nimport { AddressDetailsComponent } from './create-passenger/address-details/address-details.component';\nimport { PassengerDetailsComponent } from './create-passenger/passenger-details/passenger-details.component';\nimport { DuplicatePassengerSelectComponent } from './create-passenger/duplicate-passenger-select/duplicate-passenger-select.component';\nimport { NoDataFoundTemplateComponent } from './no-data-found-template/no-data-found-template.component';\nimport { AgentMenuComponent } from './agent-menu/agent-menu.component';\nimport { AddEditContactComponent } from './add-edit-contact/add-edit-contact.component';\nimport { AddEditAgentMembershipComponent } from './add-edit-agent-membership/add-edit-agent-membership.component';\nimport { OnlyDecimalsDirective } from './directives/only-decimals.directive';\nimport { OnlyNumbersDirective } from './directives/only-numbers.directive';\nimport { CreateAgentComponent } from './create-agent/create-agent.component';\n\nexport function HttpLoaderFactory(httpClient: HttpClient) {\n return new TranslateHttpLoader(httpClient);\n}\n\n@NgModule({\n declarations: [\n MainMenuComponent,\n EditAddressComponent,\n EditBasicInfoComponent,\n EditMembershipComponent,\n EditLinkedContactComponent,\n AddTaskComponent,\n AddNoteComponent,\n ComingSoonComponent,\n AddEditSSRDocumentComponent,\n SearchBookingEnquiryComponent,\n SearchResultBookingEnquiryComponent,\n BookingEnquirySearchFilterComponent,\n TaskViewComponent,\n NotesViewComponent,\n AddEditNoteComponent,\n CreatePassengerComponent,\n BasicInfoComponent,\n AddressDetailsComponent,\n PassengerDetailsComponent,\n DuplicatePassengerSelectComponent,\n NoDataFoundTemplateComponent,\n AgentMenuComponent,\n AddEditContactComponent,\n AddEditAgentMembershipComponent,\n OnlyDecimalsDirective,\n OnlyNumbersDirective,\n CreateAgentComponent\n ],\n imports: [\n CommonModule,\n PrimengModule,\n FormsModule,\n ReactiveFormsModule,\n TranslateModule.forRoot({\n loader: {\n provide: TranslateLoader,\n useFactory: HttpLoaderFactory,\n deps: [HttpClient]\n }\n })\n ],\n exports:[MainMenuComponent,EditAddressComponent,EditBasicInfoComponent,EditMembershipComponent,\n EditLinkedContactComponent,AddTaskComponent,AddNoteComponent,ComingSoonComponent,AddEditSSRDocumentComponent,\n SearchBookingEnquiryComponent,SearchResultBookingEnquiryComponent,TaskViewComponent,NotesViewComponent,\n AddEditNoteComponent,CreatePassengerComponent,NoDataFoundTemplateComponent,AgentMenuComponent,AddEditContactComponent,\n AddEditAgentMembershipComponent,OnlyDecimalsDirective,OnlyNumbersDirective,CreateAgentComponent]\n})\nexport class SharedModule { }\n","import { Injectable } from '@angular/core';\r\nimport { ReplaySubject, Observable, Subject, of} from 'rxjs';\r\nimport { GlobalConstants } from 'src/app/shared/global-constants';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\n\r\nimport { AppConfigService } from '../common/app-config.service';\r\n@Injectable(\r\n { providedIn: 'root'}\r\n)\r\n\r\nexport class TripsService{\r\n\r\n apiServerURL = AppConfigService.settings.apiURL;\r\n baseURL = this.apiServerURL.BaseURL;\r\n\r\n constructor(private httpClient:HttpClient){}\r\n\r\n\r\n getAllBookingStatuses(): Observable {\r\n var apiURL = this.baseURL + this.apiServerURL.GetBookingStatuses;\r\n return this.httpClient.get(apiURL);\r\n }\r\n\r\n getUsers(name:string): Observable {\r\n var apiURL = this.baseURL + this.apiServerURL.GetUsers;\r\n apiURL = apiURL.replace('{{name}}',name);\r\n return this.httpClient.get(apiURL);\r\n }\r\n\r\n getOrganisations(name:string): Observable {\r\n var apiURL = this.baseURL + this.apiServerURL.GetOrganisations;\r\n apiURL = apiURL.replace('{{name}}',name);\r\n return this.httpClient.get(apiURL);\r\n }\r\n\r\n getOriginTypes(name:string): Observable {\r\n var apiURL = this.baseURL + this.apiServerURL.GetOriginTypes;\r\n apiURL = apiURL.replace('{{name}}',name);\r\n return this.httpClient.get(apiURL);\r\n }\r\n\r\n getSourceTypes(name:string): Observable {\r\n var apiURL = this.baseURL + this.apiServerURL.GetSourceTypes;\r\n apiURL = apiURL.replace('{{name}}',name);\r\n return this.httpClient.get(apiURL);\r\n }\r\n\r\n getDestinations(name:string): Observable {\r\n var apiURL = this.baseURL + this.apiServerURL.GetDestinations;\r\n apiURL = apiURL.replace('{{name}}',name);\r\n return this.httpClient.get(apiURL);\r\n }\r\n\r\n searchPassengerBookings(paxId:string,filterCriteria:any,category:string): Observable {\r\n let params = new HttpParams().set('selection',category);\r\n var apiURL = this.baseURL + this.apiServerURL.SearchBookings;\r\n apiURL = apiURL.replace('{{smcPassengerId}}',paxId);\r\n return this.httpClient.post(apiURL,filterCriteria,{params});\r\n }\r\n\r\n searchPassengerEnquiries(paxId:string,filterCriteria:any,category:string): Observable {\r\n let params = new HttpParams().set('selection',category);\r\n var apiURL = this.baseURL + this.apiServerURL.SearchEnquiries;\r\n apiURL = apiURL.replace('{{smcPassengerId}}',paxId);\r\n return this.httpClient.post(apiURL,filterCriteria,{params});\r\n }\r\n\r\n getPassengerBookings(paxId:string,filterCriteria:string,pagination:any=null,sort:any=null): Observable {\r\n let params = new HttpParams().set('selection',filterCriteria);\r\n var apiURL = this.baseURL + this.apiServerURL.GetPassenegrBookings;\r\n apiURL = apiURL.replace('{{smcPassengerId}}',paxId);\r\n if(pagination){\r\n params = params.append('pageNumber',pagination.pageNumber);\r\n params = params.append('pageSize',pagination.pageSize);\r\n }\r\n return this.httpClient.get(apiURL,{params});\r\n }\r\n\r\n getPassengerBookingsByReference(paxId:string,filterCriteria:string): Observable {\r\n var apiURL = this.baseURL + this.apiServerURL.GetBookingsByReference;\r\n apiURL = apiURL.replace('{{smcPassengerId}}',paxId);\r\n apiURL = apiURL.replace('{{bookingReference}}',filterCriteria);\r\n return this.httpClient.get(apiURL);\r\n }\r\n\r\n getPassengerBookingsById(paxId:string,bookingId:string): Observable {\r\n var apiURL = this.baseURL + this.apiServerURL.GetBookingsById;\r\n apiURL = apiURL.replace('{{smcPassengerId}}',paxId);\r\n apiURL = apiURL.replace('{{bookingId}}',bookingId);\r\n return this.httpClient.get(apiURL);\r\n }\r\n\r\n\r\n getPassengerEnquiries(paxId:string,filterCriteria:string,pagination:any=null,sort:any=null): Observable {\r\n let params = new HttpParams().set('selection',filterCriteria);\r\n var apiURL = this.baseURL + this.apiServerURL.GetPassenegeEnquiries;\r\n apiURL = apiURL.replace('{{smcPassengerId}}',paxId);\r\n if(pagination){\r\n params = params.append('pageNumber',pagination.pageNumber);\r\n params = params.append('pageSize',pagination.pageSize);\r\n }\r\n return this.httpClient.get(apiURL,{params});\r\n }\r\n\r\n getPassengerEnquiriesByReference(paxId:string,filterCriteria:string): Observable {\r\n var apiURL = this.baseURL + this.apiServerURL.GetEnquiriesByReference;\r\n apiURL = apiURL.replace('{{smcPassengerId}}',paxId);\r\n apiURL = apiURL.replace('{{enquiryReference}}',filterCriteria);\r\n return this.httpClient.get(apiURL);\r\n }\r\n\r\n getPassengerEnquiryById(paxId:string,enquiryId:string): Observable {\r\n var apiURL = this.baseURL + this.apiServerURL.GetEnquiryById;\r\n apiURL = apiURL.replace('{{smcPassengerId}}',paxId);\r\n apiURL = apiURL.replace('{{enquiryId}}',enquiryId);\r\n return this.httpClient.get(apiURL);\r\n }\r\n\r\n getBookingSearchFilterMeta(paxId:string): Observable {\r\n var apiURL = this.baseURL + this.apiServerURL.BookingSearchFilterNew;\r\n apiURL = apiURL.replace('{{smcPassengerId}}',paxId);\r\n return this.httpClient.get(apiURL);\r\n }\r\n\r\n getEnquirySearchFilterMeta(paxId:string): Observable {\r\n var apiURL = this.baseURL + this.apiServerURL.EnquirySearchFilterNew;\r\n apiURL = apiURL.replace('{{smcPassengerId}}',paxId);\r\n return this.httpClient.get(apiURL);\r\n }\r\n\r\n getAreas(name:string): Observable {\r\n var apiURL = this.baseURL + this.apiServerURL.GetAreas;\r\n apiURL = apiURL.replace('{{name}}',name);\r\n return this.httpClient.get(apiURL);\r\n }\r\n\r\n searchAgentBookings(agentId:string,filterCriteria:any,category:string): Observable {\r\n let params = new HttpParams().set('selection',category);\r\n var apiURL = this.baseURL + this.apiServerURL.SearchAgentBookings;\r\n apiURL = apiURL.replace('{{agentId}}',agentId);\r\n return this.httpClient.post(apiURL,filterCriteria,{params});\r\n }\r\n\r\n searchAgentEnquiries(agentId:string,filterCriteria:any,category:string): Observable {\r\n let params = new HttpParams().set('selection',category);\r\n var apiURL = this.baseURL + this.apiServerURL.SearchAgentEnquiries;\r\n apiURL = apiURL.replace('{{agentId}}',agentId);\r\n return this.httpClient.post(apiURL,filterCriteria,{params});\r\n }\r\n\r\n getAgentBookings(agentId:string,filterCriteria:string,pagination:any=null,sort:any=null): Observable {\r\n let params = new HttpParams().set('selection',filterCriteria);\r\n var apiURL = this.baseURL + this.apiServerURL.GetAgentBookings;\r\n apiURL = apiURL.replace('{{agentId}}',agentId);\r\n if(pagination){\r\n params = params.append('pageNumber',pagination.pageNumber);\r\n params = params.append('pageSize',pagination.pageSize);\r\n }\r\n return this.httpClient.get(apiURL,{params});\r\n }\r\n\r\n getAgentBookingsByReference(agentId:string,filterCriteria:string): Observable {\r\n var apiURL = this.baseURL + this.apiServerURL.GetAgentBookingsByReference;\r\n apiURL = apiURL.replace('{{agentId}}',agentId);\r\n apiURL = apiURL.replace('{{bookingReference}}',filterCriteria);\r\n return this.httpClient.get(apiURL);\r\n }\r\n\r\n getAgentBookingsById(agentId:string,bookingId:string): Observable {\r\n var apiURL = this.baseURL + this.apiServerURL.GetAgentBookingsById;\r\n apiURL = apiURL.replace('{{agentId}}',agentId);\r\n apiURL = apiURL.replace('{{bookingId}}',bookingId);\r\n return this.httpClient.get(apiURL);\r\n }\r\n\r\n\r\n getAgentEnquiries(agentId:string,filterCriteria:string,pagination:any=null,sort:any=null): Observable {\r\n let params = new HttpParams().set('selection',filterCriteria);\r\n var apiURL = this.baseURL + this.apiServerURL.GetAgentEnquiries;\r\n apiURL = apiURL.replace('{{agentId}}',agentId);\r\n if(pagination){\r\n params = params.append('pageNumber',pagination.pageNumber);\r\n params = params.append('pageSize',pagination.pageSize);\r\n }\r\n return this.httpClient.get(apiURL,{params});\r\n }\r\n\r\n getAgentEnquiriesByReference(agentId:string,filterCriteria:string): Observable {\r\n var apiURL = this.baseURL + this.apiServerURL.GetAgentEnquiriesByReference;\r\n apiURL = apiURL.replace('{{agentId}}',agentId);\r\n apiURL = apiURL.replace('{{enquiryReference}}',filterCriteria);\r\n return this.httpClient.get(apiURL);\r\n }\r\n\r\n getAgentEnquiryById(agentId:string,enquiryId:string): Observable {\r\n var apiURL = this.baseURL + this.apiServerURL.GetAgentEnquiryById;\r\n apiURL = apiURL.replace('{{agentId}}',agentId);\r\n apiURL = apiURL.replace('{{enquiryId}}',enquiryId);\r\n return this.httpClient.get(apiURL);\r\n }\r\n\r\n getAgentBookingSearchFilterMeta(agentId:string): Observable {\r\n var apiURL = this.baseURL + this.apiServerURL.AgentNewBookingSearchFilter;\r\n apiURL = apiURL.replace('{{agentId}}',agentId);\r\n return this.httpClient.get(apiURL);\r\n }\r\n\r\n getAgentEnquirySearchFilterMeta(agentId:string): Observable {\r\n var apiURL = this.baseURL + this.apiServerURL.AgentNewEnquirySearchFilter;\r\n apiURL = apiURL.replace('{{agentId}}',agentId);\r\n return this.httpClient.get(apiURL);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { Observable,of } from 'rxjs';\nimport { map, catchError, switchMap } from 'rxjs/operators';\nimport { AppConfigService } from '../common/app-config.service';\nimport { GlobalConstants } from 'src/app/shared/global-constants';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AuthService {\n\n apiServerURL = AppConfigService.settings.apiURL;\n baseURL = this.apiServerURL.BaseURL;\n CRMappKey = AppConfigService.settings.env.CRMAppKey;\n\n constructor(private httpClient: HttpClient) { }\n\n authenticate(baseRequest: any): Observable {\n var apiURL = this.baseURL + this.apiServerURL.Authenticate;\n if (baseRequest == undefined) {\n baseRequest = {\n \"userName\": GlobalConstants.UserName,\n \"password\": \"\",\n \"clientAppKey\": this.CRMappKey\n }\n }\n return this.httpClient.post(apiURL, baseRequest);\n }\n\n tokenExpired(token: string):boolean {\n const expiry = (JSON.parse(atob(token.split('.')[1]))).exp;\n return (Math.floor((new Date).getTime() / 1000)) >= expiry;\n }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Component, OnInit, Output,EventEmitter, Input, OnChanges } from '@angular/core';\nimport { FormControl, FormGroup, Validators} from '@angular/forms';\n\nimport { LoggingService } from 'src/app/services/common/logging.service';\nimport { CommonService } from 'src/app/services/common/common.service';\nimport {TranslateService} from '@ngx-translate/core';\nimport { aboutService } from 'src/app/services/about/about.service';\nimport moment from 'moment';\nimport { AppConfigService } from 'src/app/services/common/app-config.service';\n\nimport { GlobalConstants } from '../global-constants';\nimport { MessageService } from 'primeng/api';\nimport { entityType } from 'src/app/models/entityType';\n@Component({\n selector: 'app-edit-address',\n templateUrl: './edit-address.component.html',\n styleUrls: ['./edit-address.component.css']\n})\nexport class EditAddressComponent implements OnInit, OnChanges {\n\n addresInfo:any;\n mainAddressID : any;\n editAddress: FormGroup;\n editAddressData : any;\n countriesData:any[]=[];\n stateData:any[]=[];\n filteredCountries: any[]=[];\n addressTypes = [];\n entityId=\"\";\n @Input() addressID:string=\"\";\n @Input() config : any = {};\n @Output() postUpdate = new EventEmitter();\n isEdit:boolean=false;\n searchedlocations:any[]=[];\n seletedLocation:any={};\n defaultDateFormatSave: string = AppConfigService.settings.env.defaultDateFormatSave;\n\n constructor(private http: HttpClient, private logger:LoggingService,private translate: TranslateService,\n public addressService: aboutService, public commonService:CommonService,public aboutService:aboutService,\n private messageService:MessageService) {\n this.editAddress = new FormGroup({\n PostCode:new FormControl(),\n AddressType: new FormControl(),\n Street: new FormControl(),\n City: new FormControl(),\n Country:new FormControl(),\n State:new FormControl(),\n CountryAndState:new FormControl(),\n ZipCode: new FormControl(),\n ValidFrom: new FormControl(),\n ValidTo: new FormControl(),\n TelePhone: new FormControl(),\n Email: new FormControl(),\n Fax: new FormControl(),\n Mobile: new FormControl(),\n WebURL: new FormControl(),\n MatchCode: new FormControl(),\n BillingAddress : new FormControl()\n });\n\n }\n\n ngOnInit(): void {\n\n }\n\n setEntityId() {\n if (this.config.entity == entityType.agent) {\n this.entityId = GlobalConstants.AgentID.toString()\n }\n else if (this.config.entity == entityType.passenger) {\n this.entityId = GlobalConstants.PassengerID.toString()\n }\n else if (this.config.entity == entityType.agentContact) {\n this.entityId = this.config.entityId.toString()\n }\n }\n\n ngOnChanges(changes: any):void{}\n\n onFormShow(){\n this.getAllCountries();\n this.isEdit = Number(this.addressID) > 0;\n this.editAddressData = null;\n if(Number(this.addressID) > 0)\n this.getAddressForEdit(this.addressID);\n else if (this.addressID == \"0\")\n this.loadNewAddressFormMeta();\n }\n\n //GET ALL COUNTRIES\n getAllCountries(){\n\n this.logger.info('Start of getAllCountries - edit-address component');\n this.commonService.getAllCountries().subscribe (\n response => {\n this.countriesData = response.data;\n this.logger.log(JSON.stringify(response));\n }, error=>{\n this.logger.error(JSON.stringify(error));\n },()=>\n {\n this.logger.info('End of getAllCountries - edit-address component');\n }\n );\n }\n\n filterResults(event:any) {\n let query = event.query;\n this.filteredCountries = this.filterAutocomplete(query, this.countriesData);\n }\n\n filterAutocomplete(query:any, countries: any[]): any[] {\n let filtered: any[] = [];\n for (let i = 0; i < countries.length; i++) {\n let country = countries[i];\n if (country.description.toLowerCase().indexOf(query.toLowerCase()) == 0) {\n filtered.push(country);\n }\n }\n return filtered;\n }\n\n //FILTERING OF STATES BASED ON COUNTRY SELECTED\n filterStates(event:any){\n if(event != undefined && event.id !=undefined)\n {\n this.getStatesForCountry(event.id,()=>{});\n }\n else\n {\n this.stateData=[];\n }\n }\n\n //GET STATES FOR SELECTED COUNTRY\n getStatesForCountry(countryID:string,onComplete=()=>{}){\n\n this.logger.info('Start of getStatesForCountry - edit-address component');\n this.commonService.getAllStatesForCountry(countryID).subscribe (\n response => {\n this.stateData = response.data;\n this.logger.log(JSON.stringify(response));\n onComplete();\n }, error=>{\n this.stateData = [];\n this.logger.error(JSON.stringify(error));\n },()=>\n {\n this.logger.info('End of getStatesForCountry - edit-address component');\n }\n );\n }\n\n //GET EDIT INFO FOR ADDRESS\n getAddressForEdit(addressID:string){\n this.setEntityId();\n this.logger.info('Start of getAddressForEdit - edit-address component');\n this.aboutService.editAddress(this.config.entity,this.entityId,addressID).subscribe (\n response => {\n\n this.addressTypes = response.data.referenceEntities.addressTypes;\n this.editAddressData = this.config.entity==entityType.passenger ? response.data.passengerAddressData:(this.config.entity==entityType.agent ? response.data.agentAddressData:response.data.agentContactAddressData);\n if(this.editAddressData.country !=undefined)\n {\n let countryID = this.editAddressData.country.id;\n this.commonService.getAllStatesForCountry(countryID).subscribe(\n response => {\n this.stateData = response.data;\n this.logger.log(JSON.stringify(response));\n this.openSideBarForAddressEdit(addressID);\n }, error=>{\n\n this.openSideBarForAddressEdit(addressID);\n this.logger.error(JSON.stringify(error));\n },()=>\n {\n this.logger.info('End of getStatesForCountry - edit-address component');\n\n }\n );\n }\n else\n {\n this.openSideBarForAddressEdit(addressID);\n }\n\n }, error=>{\n this.logger.error(JSON.stringify(error));\n },()=>\n {\n this.logger.info('End of getAddressForEdit - edit-address component');\n }\n );\n }\n\n //OPEN RIGHT SIDE BAR FOR EDITING ADDRESS\n openSideBarForAddressEdit(AddressID : string)\n {\n let addressData = this.editAddressData;\n let addressType = addressData.addressType;\n let countryAndState = addressData.country != undefined ? addressData.country.description:\"\";\n countryAndState = addressData.state != undefined ? (countryAndState + \" And \" + addressData.state.description):countryAndState;\n\n\n this.editAddress = new FormGroup({\n AddressType: new FormControl(addressType != undefined ? { id: addressType.id, description: addressType.description } : null,[Validators.required]),\n Street: new FormControl(addressData.addressLine1,[Validators.required]),\n City: new FormControl(addressData.addressCity,[Validators.required]),\n Country:new FormControl(addressData.country != undefined ? { id: addressData.country.id, description: addressData.country.description } : null,[Validators.required]),\n State:new FormControl(addressData.state != undefined ? { id: addressData.state.id, description: addressData.state.description } : null),\n CountryAndState:new FormControl(countryAndState),\n ZipCode: new FormControl(addressData.addressPostCode),\n ValidFrom: new FormControl(addressData.addressValidFromDate?new Date(addressData.addressValidFromDate):null),\n ValidTo: new FormControl(addressData.addressValidToDate?new Date(addressData.addressValidToDate):null),\n TelePhone: new FormControl(addressData.addressTelephoneNumber),\n Email: new FormControl(addressData.addressMailAddress),\n Fax: new FormControl(addressData.addressFaxNumber),\n Mobile: new FormControl(addressData.addressEmergencyPhoneNumber),\n WebURL: new FormControl(addressData.addressWebsiteUrl),\n MatchCode: new FormControl(addressData.matchCode),\n AddressID : new FormControl(AddressID),\n AddressLine2 : new FormControl(addressData.addressLine2),\n AddressLine3 : new FormControl(addressData.addressLine3),\n AddressLine4 : new FormControl(addressData.addressLine4),\n BillingAddress : new FormControl(addressData.isBillingAddress !=null?addressData.isBillingAddress:false),\n });\n\n }\n\n loadNewAddressFormMeta(){\n this.setEntityId();\n this.aboutService.getNewAddressMeta(this.config.entity,this.entityId).subscribe(response=>{\n let addressTypes = response.data.addressTypes;\n this.createNewAddressForm({addressTypes});\n },(error)=>{\n\n },()=>{\n\n });\n }\n\n createNewAddressForm(formMetaData:any)\n {\n this.addressTypes = formMetaData.addressTypes;\n this.editAddress = new FormGroup({\n PostCode:new FormControl(),\n AddressType: new FormControl(null,[Validators.required]),\n Street: new FormControl(null,[Validators.required]),\n City: new FormControl(null,[Validators.required]),\n Country:new FormControl(null,[Validators.required]),\n State:new FormControl(),\n CountryAndState:new FormControl(),\n ZipCode: new FormControl(),\n ValidFrom: new FormControl(),\n ValidTo: new FormControl(),\n TelePhone: new FormControl(),\n Email: new FormControl(),\n Fax: new FormControl(),\n Mobile: new FormControl(),\n WebURL: new FormControl(),\n MatchCode: new FormControl(),\n AddressID : new FormControl(),\n AddressLine2 : new FormControl(),\n AddressLine3 : new FormControl(),\n AddressLine4 : new FormControl(),\n BillingAddress : new FormControl()\n });\n }\n\n //UPDATE ADDRESS INFO -->CALLED ON CLICK OF SAVE BUTTON ON RIGHT SIDE BAR\n updateAddress()\n {\n if (this.editAddress.valid) {\n this.setEntityId();\n this.logger.info('Start of updateAddress - edit-address component');\n this.aboutService.updateAddress(this.config.entity,this.entityId,this.addressID,this.getAddressToSave()).subscribe (\n response => {\n this.logger.log(JSON.stringify(response));\n this.close(\"UPDATE_ADDRESS_SAVE\",response)\n this.editAddressData=null;\n\n }, error=>{\n this.logger.error(JSON.stringify(error));\n },()=>\n {\n this.logger.info('End of updateAddress - edit-address component');\n }\n );\n }\n\n }\n\n addAddress()\n {\n this.setEntityId();\n this.aboutService.addAddress(this.config.entity,this.entityId,this.getAddressToSave()).subscribe(response=>{\n if(response.meta && response.meta.success){\n this.close(\"ADD_ADDRESS_SAVE\",response.data)\n }\n\n },error=>{\n // this.postUpdate.emit({\"event\":\"ADD_ADDRESS_ERROR\",\"data\":error});\n },()=>{\n\n })\n }\n\n saveAddress(){\n if(this.editAddress.valid){\n if(Number(this.addressID) > 0)\n this.updateAddress();\n else\n this.addAddress();\n }\n else{\n this.commonService.markControlsAsDirty(this.editAddress)\n }\n }\n\n getAddressToSave(){\n let formValue = this.editAddress.value;\n return {\n \"addressTypeId\": formValue.AddressType != null ? formValue.AddressType.id : null,\n \"addressLine1\": formValue.Street,\n \"addressLine2\": formValue.AddressLine2,\n \"addressLine3\": formValue.AddressLine3,\n \"addressLine4\": formValue.AddressLine4,\n \"stateId\": formValue.State != null ? (formValue.State.id > 0 ? formValue.State.id : null) : null,\n \"countryId\": formValue.Country != null ? formValue.Country.id : null,\n \"addressPostCode\": formValue.ZipCode,\n \"addressCity\": formValue.City,\n \"addressTelephoneNumber\": formValue.TelePhone,\n \"addressEmergencyPhoneNumber\": formValue.Mobile,\n \"addressWebsiteUrl\": formValue.WebURL,\n \"matchCode\": formValue.MatchCode,\n \"addressFaxNumber\": formValue.Fax,\n \"addressEmailAddress\": formValue.Email,\n \"addressvalidallYear\": (formValue.ValidFrom!=undefined ? 'false' : 'true'),\n \"addressValidFromDate\": formValue.ValidFrom ? moment(formValue.ValidFrom).format(this.defaultDateFormatSave) : \"\",\n \"addressValidToDate\": formValue.ValidTo ? moment(formValue.ValidTo).format( this.defaultDateFormatSave) : \"\" ,\n \"smcPassengerId\": this.config.entity == entityType.passenger?this.entityId:null,\n \"isBillingAddress\" : formValue.BillingAddress\n }\n }\n\n close(event:string=\"CANCEL\",data:any=null) {\n this.config.visible = false;\n this.postUpdate.emit({\"event\":event,\"data\":data});\n }\n\n searchLocations(event:any){\n this.aboutService.getLocations(event.query).subscribe(response=>{\n if(response.meta && response.meta.success){\n let locations : any[] = response.data || [];\n this.searchedlocations = locations.filter(l => l.type.trim() == \"Address\")\n }\n else{\n if(response.meta.errors != null && response.meta.errors.length>0){\n this.searchedlocations = [];//[{id:0, text : response.meta.errors[0].message}]\n this.showToast(response.meta.errors[0].message, \"error\")\n }\n else{\n this.searchedlocations = [] //[{id:0, text : 'No Data Found'}]\n\n }\n }\n },error=>{\n\n },()=>{\n\n })\n }\n\n autoFillAddress(location:any){\n this.aboutService.getAddressDetails(location.id).subscribe(response=>{\n if(response.meta && response.meta.success){\n let country = response.data.countryName\n let countryID = response.data.countryId\n // if (countryID != undefined && countryID > 0){\n // response.data.countryName;\n // }\n\n this.editAddress.patchValue({\n Street: response.data.line1,\n City: response.data.city,\n Country:{ id: countryID, description: country },\n ZipCode: response.data.postalCode,\n });\n\n if(countryID>0)\n {\n\n if(response.data.stateId>0){\n this.editAddress.patchValue({\n State:{ id: response.data.stateId, description: response.data.stateName },\n })\n\n }\n else{\n this.getStatesForCountry(countryID,()=>{\n let state = response.data.stateName && this.stateData ? this.stateData.find(state => state.description.trim().toLowerCase() == response.data.stateName.trim().toLowerCase()) : null;\n this.editAddress.patchValue({\n State:state,\n })\n if (state == undefined){\n this.messageService.clear();\n this.showToast(\"Unable to Map State\", \"warn\")\n }\n })\n }\n }\n else{\n this.messageService.clear();\n this.showToast(\"Unable to Map State and Country\", \"warn\")\n this.stateData=[]\n this.editAddress.patchValue({\n State:null,\n Country:null\n })\n }\n\n }\n },error=>{\n },()=>{\n\n })\n }\n\n showToast(error:any, type:any) {\n this.messageService.add({ key: 'tl', severity: type, detail: error });\n }\n}\n","\n
\n {{this.config.header}}\n
\n \n
\n
\n
\n \n
\n
\n
\n \n \n
\n
\n
{{address.text}}
\n {{address.description}}\n
\n
\n
\n
\n \n
\n
\n \n \n\n \n \n
\n\n
\n \n \n
\n\n \n \n
\n \n \n \n\n
\n\n
\n\n \n \n \n
\n\n
\n \n \n \n
\n\n
\n \n \n
\n\n
\n \n \n \n
\n\n
\n \n \n \n
\n\n
\n \n \n
\n\n
\n \n \n
\n\n
\n \n \n
\n\n
\n \n \n
\n\n
\n \n \n
\n\n
\n \n \n
\n
\n \n \n
\n
\n
\n
\n \n
\n\n","var map = {\n\t\"./af\": \"K/tc\",\n\t\"./af.js\": \"K/tc\",\n\t\"./ar\": \"jnO4\",\n\t\"./ar-dz\": \"o1bE\",\n\t\"./ar-dz.js\": \"o1bE\",\n\t\"./ar-kw\": \"Qj4J\",\n\t\"./ar-kw.js\": \"Qj4J\",\n\t\"./ar-ly\": \"HP3h\",\n\t\"./ar-ly.js\": \"HP3h\",\n\t\"./ar-ma\": \"CoRJ\",\n\t\"./ar-ma.js\": \"CoRJ\",\n\t\"./ar-sa\": \"gjCT\",\n\t\"./ar-sa.js\": \"gjCT\",\n\t\"./ar-tn\": \"bYM6\",\n\t\"./ar-tn.js\": \"bYM6\",\n\t\"./ar.js\": \"jnO4\",\n\t\"./az\": \"SFxW\",\n\t\"./az.js\": \"SFxW\",\n\t\"./be\": \"H8ED\",\n\t\"./be.js\": \"H8ED\",\n\t\"./bg\": \"hKrs\",\n\t\"./bg.js\": \"hKrs\",\n\t\"./bm\": \"p/rL\",\n\t\"./bm.js\": \"p/rL\",\n\t\"./bn\": \"kEOa\",\n\t\"./bn-bd\": \"loYQ\",\n\t\"./bn-bd.js\": \"loYQ\",\n\t\"./bn.js\": \"kEOa\",\n\t\"./bo\": \"0mo+\",\n\t\"./bo.js\": \"0mo+\",\n\t\"./br\": \"aIdf\",\n\t\"./br.js\": \"aIdf\",\n\t\"./bs\": \"JVSJ\",\n\t\"./bs.js\": \"JVSJ\",\n\t\"./ca\": \"1xZ4\",\n\t\"./ca.js\": \"1xZ4\",\n\t\"./cs\": \"PA2r\",\n\t\"./cs.js\": \"PA2r\",\n\t\"./cv\": \"A+xa\",\n\t\"./cv.js\": \"A+xa\",\n\t\"./cy\": \"l5ep\",\n\t\"./cy.js\": \"l5ep\",\n\t\"./da\": \"DxQv\",\n\t\"./da.js\": \"DxQv\",\n\t\"./de\": \"tGlX\",\n\t\"./de-at\": \"s+uk\",\n\t\"./de-at.js\": \"s+uk\",\n\t\"./de-ch\": \"u3GI\",\n\t\"./de-ch.js\": \"u3GI\",\n\t\"./de.js\": \"tGlX\",\n\t\"./dv\": \"WYrj\",\n\t\"./dv.js\": \"WYrj\",\n\t\"./el\": \"jUeY\",\n\t\"./el.js\": \"jUeY\",\n\t\"./en-au\": \"Dmvi\",\n\t\"./en-au.js\": \"Dmvi\",\n\t\"./en-ca\": \"OIYi\",\n\t\"./en-ca.js\": \"OIYi\",\n\t\"./en-gb\": \"Oaa7\",\n\t\"./en-gb.js\": \"Oaa7\",\n\t\"./en-ie\": \"4dOw\",\n\t\"./en-ie.js\": \"4dOw\",\n\t\"./en-il\": \"czMo\",\n\t\"./en-il.js\": \"czMo\",\n\t\"./en-in\": \"7C5Q\",\n\t\"./en-in.js\": \"7C5Q\",\n\t\"./en-nz\": \"b1Dy\",\n\t\"./en-nz.js\": \"b1Dy\",\n\t\"./en-sg\": \"t+mt\",\n\t\"./en-sg.js\": \"t+mt\",\n\t\"./eo\": \"Zduo\",\n\t\"./eo.js\": \"Zduo\",\n\t\"./es\": \"iYuL\",\n\t\"./es-do\": \"CjzT\",\n\t\"./es-do.js\": \"CjzT\",\n\t\"./es-mx\": \"tbfe\",\n\t\"./es-mx.js\": \"tbfe\",\n\t\"./es-us\": \"Vclq\",\n\t\"./es-us.js\": \"Vclq\",\n\t\"./es.js\": \"iYuL\",\n\t\"./et\": \"7BjC\",\n\t\"./et.js\": \"7BjC\",\n\t\"./eu\": \"D/JM\",\n\t\"./eu.js\": \"D/JM\",\n\t\"./fa\": \"jfSC\",\n\t\"./fa.js\": \"jfSC\",\n\t\"./fi\": \"gekB\",\n\t\"./fi.js\": \"gekB\",\n\t\"./fil\": \"1ppg\",\n\t\"./fil.js\": \"1ppg\",\n\t\"./fo\": \"ByF4\",\n\t\"./fo.js\": \"ByF4\",\n\t\"./fr\": \"nyYc\",\n\t\"./fr-ca\": \"2fjn\",\n\t\"./fr-ca.js\": \"2fjn\",\n\t\"./fr-ch\": \"Dkky\",\n\t\"./fr-ch.js\": \"Dkky\",\n\t\"./fr.js\": \"nyYc\",\n\t\"./fy\": \"cRix\",\n\t\"./fy.js\": \"cRix\",\n\t\"./ga\": \"USCx\",\n\t\"./ga.js\": \"USCx\",\n\t\"./gd\": \"9rRi\",\n\t\"./gd.js\": \"9rRi\",\n\t\"./gl\": \"iEDd\",\n\t\"./gl.js\": \"iEDd\",\n\t\"./gom-deva\": \"qvJo\",\n\t\"./gom-deva.js\": \"qvJo\",\n\t\"./gom-latn\": \"DKr+\",\n\t\"./gom-latn.js\": \"DKr+\",\n\t\"./gu\": \"4MV3\",\n\t\"./gu.js\": \"4MV3\",\n\t\"./he\": \"x6pH\",\n\t\"./he.js\": \"x6pH\",\n\t\"./hi\": \"3E1r\",\n\t\"./hi.js\": \"3E1r\",\n\t\"./hr\": \"S6ln\",\n\t\"./hr.js\": \"S6ln\",\n\t\"./hu\": \"WxRl\",\n\t\"./hu.js\": \"WxRl\",\n\t\"./hy-am\": \"1rYy\",\n\t\"./hy-am.js\": \"1rYy\",\n\t\"./id\": \"UDhR\",\n\t\"./id.js\": \"UDhR\",\n\t\"./is\": \"BVg3\",\n\t\"./is.js\": \"BVg3\",\n\t\"./it\": \"bpih\",\n\t\"./it-ch\": \"bxKX\",\n\t\"./it-ch.js\": \"bxKX\",\n\t\"./it.js\": \"bpih\",\n\t\"./ja\": \"B55N\",\n\t\"./ja.js\": \"B55N\",\n\t\"./jv\": \"tUCv\",\n\t\"./jv.js\": \"tUCv\",\n\t\"./ka\": \"IBtZ\",\n\t\"./ka.js\": \"IBtZ\",\n\t\"./kk\": \"bXm7\",\n\t\"./kk.js\": \"bXm7\",\n\t\"./km\": \"6B0Y\",\n\t\"./km.js\": \"6B0Y\",\n\t\"./kn\": \"PpIw\",\n\t\"./kn.js\": \"PpIw\",\n\t\"./ko\": \"Ivi+\",\n\t\"./ko.js\": \"Ivi+\",\n\t\"./ku\": \"JCF/\",\n\t\"./ku.js\": \"JCF/\",\n\t\"./ky\": \"lgnt\",\n\t\"./ky.js\": \"lgnt\",\n\t\"./lb\": \"RAwQ\",\n\t\"./lb.js\": \"RAwQ\",\n\t\"./lo\": \"sp3z\",\n\t\"./lo.js\": \"sp3z\",\n\t\"./lt\": \"JvlW\",\n\t\"./lt.js\": \"JvlW\",\n\t\"./lv\": \"uXwI\",\n\t\"./lv.js\": \"uXwI\",\n\t\"./me\": \"KTz0\",\n\t\"./me.js\": \"KTz0\",\n\t\"./mi\": \"aIsn\",\n\t\"./mi.js\": \"aIsn\",\n\t\"./mk\": \"aQkU\",\n\t\"./mk.js\": \"aQkU\",\n\t\"./ml\": \"AvvY\",\n\t\"./ml.js\": \"AvvY\",\n\t\"./mn\": \"lYtQ\",\n\t\"./mn.js\": \"lYtQ\",\n\t\"./mr\": \"Ob0Z\",\n\t\"./mr.js\": \"Ob0Z\",\n\t\"./ms\": \"6+QB\",\n\t\"./ms-my\": \"ZAMP\",\n\t\"./ms-my.js\": \"ZAMP\",\n\t\"./ms.js\": \"6+QB\",\n\t\"./mt\": \"G0Uy\",\n\t\"./mt.js\": \"G0Uy\",\n\t\"./my\": \"honF\",\n\t\"./my.js\": \"honF\",\n\t\"./nb\": \"bOMt\",\n\t\"./nb.js\": \"bOMt\",\n\t\"./ne\": \"OjkT\",\n\t\"./ne.js\": \"OjkT\",\n\t\"./nl\": \"+s0g\",\n\t\"./nl-be\": \"2ykv\",\n\t\"./nl-be.js\": \"2ykv\",\n\t\"./nl.js\": \"+s0g\",\n\t\"./nn\": \"uEye\",\n\t\"./nn.js\": \"uEye\",\n\t\"./oc-lnc\": \"Fnuy\",\n\t\"./oc-lnc.js\": \"Fnuy\",\n\t\"./pa-in\": \"8/+R\",\n\t\"./pa-in.js\": \"8/+R\",\n\t\"./pl\": \"jVdC\",\n\t\"./pl.js\": \"jVdC\",\n\t\"./pt\": \"8mBD\",\n\t\"./pt-br\": \"0tRk\",\n\t\"./pt-br.js\": \"0tRk\",\n\t\"./pt.js\": \"8mBD\",\n\t\"./ro\": \"lyxo\",\n\t\"./ro.js\": \"lyxo\",\n\t\"./ru\": \"lXzo\",\n\t\"./ru.js\": \"lXzo\",\n\t\"./sd\": \"Z4QM\",\n\t\"./sd.js\": \"Z4QM\",\n\t\"./se\": \"//9w\",\n\t\"./se.js\": \"//9w\",\n\t\"./si\": \"7aV9\",\n\t\"./si.js\": \"7aV9\",\n\t\"./sk\": \"e+ae\",\n\t\"./sk.js\": \"e+ae\",\n\t\"./sl\": \"gVVK\",\n\t\"./sl.js\": \"gVVK\",\n\t\"./sq\": \"yPMs\",\n\t\"./sq.js\": \"yPMs\",\n\t\"./sr\": \"zx6S\",\n\t\"./sr-cyrl\": \"E+lV\",\n\t\"./sr-cyrl.js\": \"E+lV\",\n\t\"./sr.js\": \"zx6S\",\n\t\"./ss\": \"Ur1D\",\n\t\"./ss.js\": \"Ur1D\",\n\t\"./sv\": \"X709\",\n\t\"./sv.js\": \"X709\",\n\t\"./sw\": \"dNwA\",\n\t\"./sw.js\": \"dNwA\",\n\t\"./ta\": \"PeUW\",\n\t\"./ta.js\": \"PeUW\",\n\t\"./te\": \"XLvN\",\n\t\"./te.js\": \"XLvN\",\n\t\"./tet\": \"V2x9\",\n\t\"./tet.js\": \"V2x9\",\n\t\"./tg\": \"Oxv6\",\n\t\"./tg.js\": \"Oxv6\",\n\t\"./th\": \"EOgW\",\n\t\"./th.js\": \"EOgW\",\n\t\"./tk\": \"Wv91\",\n\t\"./tk.js\": \"Wv91\",\n\t\"./tl-ph\": \"Dzi0\",\n\t\"./tl-ph.js\": \"Dzi0\",\n\t\"./tlh\": \"z3Vd\",\n\t\"./tlh.js\": \"z3Vd\",\n\t\"./tr\": \"DoHr\",\n\t\"./tr.js\": \"DoHr\",\n\t\"./tzl\": \"z1FC\",\n\t\"./tzl.js\": \"z1FC\",\n\t\"./tzm\": \"wQk9\",\n\t\"./tzm-latn\": \"tT3J\",\n\t\"./tzm-latn.js\": \"tT3J\",\n\t\"./tzm.js\": \"wQk9\",\n\t\"./ug-cn\": \"YRex\",\n\t\"./ug-cn.js\": \"YRex\",\n\t\"./uk\": \"raLr\",\n\t\"./uk.js\": \"raLr\",\n\t\"./ur\": \"UpQW\",\n\t\"./ur.js\": \"UpQW\",\n\t\"./uz\": \"Loxo\",\n\t\"./uz-latn\": \"AQ68\",\n\t\"./uz-latn.js\": \"AQ68\",\n\t\"./uz.js\": \"Loxo\",\n\t\"./vi\": \"KSF8\",\n\t\"./vi.js\": \"KSF8\",\n\t\"./x-pseudo\": \"/X5v\",\n\t\"./x-pseudo.js\": \"/X5v\",\n\t\"./yo\": \"fzPg\",\n\t\"./yo.js\": \"fzPg\",\n\t\"./zh-cn\": \"XDpg\",\n\t\"./zh-cn.js\": \"XDpg\",\n\t\"./zh-hk\": \"SatO\",\n\t\"./zh-hk.js\": \"SatO\",\n\t\"./zh-mo\": \"OmwH\",\n\t\"./zh-mo.js\": \"OmwH\",\n\t\"./zh-tw\": \"kOpN\",\n\t\"./zh-tw.js\": \"kOpN\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"RnhZ\";","\nimport { Component, OnInit } from '@angular/core';\nimport { NavigationEnd, Router } from '@angular/router';\nimport { TranslateService } from '@ngx-translate/core';\n//import { GoogleAnalyticsService } from 'ngx-google-analytics';\nimport { GlobalConstants } from './shared/global-constants';\nimport { AuthService } from 'src/app/services/common/auth.service';\nimport { AgentSecurityConstant, PaxSecurityConstant } from './constants/security-constant';\nimport { CommonService } from './services/common/common.service';\n\n\n//declare let gtag: Function;\n@Component({\n selector: 'app-root',\n templateUrl: './app.component.html',\n styleUrls: ['./app.component.scss']\n})\nexport class AppComponent implements OnInit {\n title = 'ODL-CRM-UI';\n\n constructor(private translateService: TranslateService,private router: Router,private authService:AuthService,private commonService:CommonService/*,private $gaService: GoogleAnalyticsService*/){\n translateService.setDefaultLang('en');\n translateService.use('en');\n\n /*this.router.events.subscribe(event => {\n if(event instanceof NavigationEnd){\n var pageRoute:string[]=[];\n pageRoute = event.urlAfterRedirects.split('/');\n\n this.$gaService.pageView(pageRoute[pageRoute.length-1], 'Page')\n }\n });*/\n //window.sessionStorage.setItem(\"CRMData\",\"2608#1#IRS#Alfredo Fernandes\")\n GlobalConstants.UserID=1;\n GlobalConstants.UserName='IRS'\n\n }\n\n setGlobalConstants(){\n GlobalConstants.calledFromTSv2 = true;\n let data = window.sessionStorage.getItem(\"CRMData\") ?? \"\";\n if(data!=null){\n let TSv2Data = data.split('#');\n GlobalConstants.Culture = \"en\";\n GlobalConstants.calledFromTSv2 = true;\n if (TSv2Data.length > 4) {\n GlobalConstants.UserID = Number(TSv2Data[0]);\n GlobalConstants.UserName = TSv2Data[1];\n GlobalConstants.TSClient = TSv2Data[2];\n GlobalConstants.Culture = TSv2Data[3];\n GlobalConstants.calledForSingleRecordFromTSv2=(TSv2Data[4]==\"1\"?true:false);\n }\n else if (TSv2Data.length > 3) {\n GlobalConstants.UserID = Number(TSv2Data[0]);\n GlobalConstants.UserName = TSv2Data[1];\n GlobalConstants.TSClient = TSv2Data[2];\n GlobalConstants.Culture = TSv2Data[3];\n }\n }\n //this.LoadUserPermissions();\n\n }\n\n LoadUserPermissions(){\n let securityConstantID:any[]=[]\n //MAIN TABS\n securityConstantID.push(AgentSecurityConstant.HomeTab);\n securityConstantID.push(AgentSecurityConstant.AboutTab);\n securityConstantID.push(AgentSecurityConstant.TripsTab);\n securityConstantID.push(AgentSecurityConstant.CommuncationTab);\n securityConstantID.push(AgentSecurityConstant.TermsTab);\n securityConstantID.push(AgentSecurityConstant.NotesTab);\n securityConstantID.push(AgentSecurityConstant.TasksTab);\n securityConstantID.push(AgentSecurityConstant.ClassificationTab);\n securityConstantID.push(AgentSecurityConstant.FinanceTab);\n\n //ABOUT\n securityConstantID.push(AgentSecurityConstant.Address);\n securityConstantID.push(AgentSecurityConstant.Contact);\n securityConstantID.push(AgentSecurityConstant.BasicInfo);\n\n //CLASSIFICATION\n securityConstantID.push(AgentSecurityConstant.Allocation);\n securityConstantID.push(AgentSecurityConstant.Groups);\n // securityConstantID.push(AgentSecurityConstant.Networks);\n securityConstantID.push(AgentSecurityConstant.PreferedSupplier);\n securityConstantID.push(AgentSecurityConstant.Memberships);\n\n\n //TRIPS\n securityConstantID.push(AgentSecurityConstant.Bookings);\n securityConstantID.push(AgentSecurityConstant.Enquiry);\n\n //NOTES\n securityConstantID.push(AgentSecurityConstant.UserNotes);\n securityConstantID.push(AgentSecurityConstant.SystemNotes);\n\n //FINANCE\n securityConstantID.push(AgentSecurityConstant.Credit);\n securityConstantID.push(AgentSecurityConstant.Account);\n securityConstantID.push(AgentSecurityConstant.Bank);\n securityConstantID.push(AgentSecurityConstant.AdvanceTax);\n\n //TERMS\n securityConstantID.push(AgentSecurityConstant.PaymentTerms);\n securityConstantID.push(AgentSecurityConstant.CancellationPolicy);\n securityConstantID.push(AgentSecurityConstant.PricingPolicy);\n securityConstantID.push(AgentSecurityConstant.CommissionScheme);\n securityConstantID.push(AgentSecurityConstant.ClientBands);\n\n //COMMUNICATION\n securityConstantID.push(AgentSecurityConstant.Campaign);\n securityConstantID.push(AgentSecurityConstant.Emails);\n securityConstantID.push(AgentSecurityConstant.Feedback);\n\n //MAIN TABS\n securityConstantID.push(PaxSecurityConstant.HomeTab);\n securityConstantID.push(PaxSecurityConstant.AboutTab);\n securityConstantID.push(PaxSecurityConstant.TripsTab);\n securityConstantID.push(PaxSecurityConstant.CommuncationTab);\n securityConstantID.push(PaxSecurityConstant.TasksTab);\n securityConstantID.push(PaxSecurityConstant.NotesTab);\n securityConstantID.push(PaxSecurityConstant.TimelineTab);\n securityConstantID.push(PaxSecurityConstant.FinanceTab);\n\n //ABOUT\n securityConstantID.push(PaxSecurityConstant.Address);\n securityConstantID.push(PaxSecurityConstant.LinkedContact);\n securityConstantID.push(PaxSecurityConstant.ClubMembership);\n securityConstantID.push(PaxSecurityConstant.PreferedActivities);\n securityConstantID.push(PaxSecurityConstant.PreferedDestinations);\n securityConstantID.push(PaxSecurityConstant.BasicInfo);\n securityConstantID.push(PaxSecurityConstant.PassportDetails);\n securityConstantID.push(PaxSecurityConstant.APIS);\n securityConstantID.push(PaxSecurityConstant.FlightPreference);\n securityConstantID.push(PaxSecurityConstant.FrequentFlyerInfo);\n securityConstantID.push(PaxSecurityConstant.VisaDetails);\n\n //TRIPS\n securityConstantID.push(PaxSecurityConstant.Bookings);\n securityConstantID.push(PaxSecurityConstant.Enquiry);\n\n //NOTES\n securityConstantID.push(PaxSecurityConstant.UserNotes);\n securityConstantID.push(PaxSecurityConstant.SystemNotes);\n\n //FINANCE\n securityConstantID.push(PaxSecurityConstant.Credit);\n securityConstantID.push(PaxSecurityConstant.Invoices);\n securityConstantID.push(PaxSecurityConstant.PaymentTerms);\n\n //COMMUNICATION\n securityConstantID.push(PaxSecurityConstant.Campaign);\n securityConstantID.push(PaxSecurityConstant.Emails);\n securityConstantID.push(PaxSecurityConstant.Feedback);\n this.commonService.getUserPermissions(GlobalConstants.UserID,0,securityConstantID).subscribe(\n resp=>{\n window.localStorage.setItem(\"CRMPermissions\",JSON.stringify(resp.data));\n }\n )\n\n }\n\n ngOnInit(){\n this.setGlobalConstants()\n if(GlobalConstants.calledFromTSv2){\n var token = window.sessionStorage.getItem('CRMJWT');\n if(token==null || this.authService.tokenExpired(token))\n {\n this.authService.authenticate(null).subscribe(\n (response) => {\n window.sessionStorage.setItem('CRMJWT', response);\n\n }, (error) => {\n\n }, () => {\n this.LoadUserPermissions();\n }\n );\n }\n else{\n this.LoadUserPermissions();\n }\n }\n }\n}\n\n\n","\n","import { Component, OnInit,Input,Output,EventEmitter } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { LoggingService } from 'src/app/services/common/logging.service';\nimport { TranslateService } from '@ngx-translate/core';\nimport { MatchType } from 'src/app/shared/global-constants';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { SharedService } from 'src/app/services/common/shared.service';\nimport { GlobalConstants } from 'src/app/shared/global-constants';\nimport _ from 'lodash';\n\n@Component({\n selector: 'app-duplicate-passenger-select',\n templateUrl: './duplicate-passenger-select.component.html',\n styleUrls: ['./duplicate-passenger-select.component.scss']\n})\nexport class DuplicatePassengerSelectComponent implements OnInit {\n\n @Input() config : any = {};\n @Input() visible : boolean = false;\n @Output() onSelect = new EventEmitter();\n @Output() onIgnore = new EventEmitter();\n @Output() visibleChange = new EventEmitter();\n multilingual : any = {};\n matchType = MatchType;\n currentResultType : string = MatchType.directMatch;\n duplicatePassengers: any[]=[];\n passengers: any[]=[];\n selectedDuplicatePax: string[] = [];\n directMatchCount =0;\n possibleMatchCount=0;\n\n constructor(private http: HttpClient, private logger:LoggingService,private translate: TranslateService,private router:Router,\n private sharedService:SharedService) {\n translate.setDefaultLang('en');\n let arrTranslate = [\"DuplicatePassenger\"];\n this.translate.get(arrTranslate).subscribe((response: any) => {\n this.multilingual = response['DuplicatePassenger'];\n });\n }\n\n ngOnInit(): void {\n }\n\n onFormShow(){\n this.duplicatePassengers = this.processDuplicatePassengers(this.config.duplicatePassengers);\n this.passengers = this.duplicatePassengers;\n this.onResultTypeTabClick();\n this.directMatchCount = this.duplicatePassengers.filter(x=>x.matchType==\"exact\") != undefined ? this.duplicatePassengers.filter(x=>x.matchType==\"exact\").length :0;\n this.possibleMatchCount = this.duplicatePassengers.filter(x=>x.matchType==\"possible\") != undefined ? this.duplicatePassengers.filter(x=>x.matchType==\"possible\").length :0;\n }\n\n onFormHide(){\n this.visible = false;\n this.visibleChange.emit(this.visible);\n }\n\n onDuplicatePassengerSelect(){\n this.onFormHide();\n let duplicatePax = _.find(this.duplicatePassengers,mi=>mi.isPaxSelected == true);\n if(duplicatePax){\n this.navigateHomePage(duplicatePax.id)\n }\n this.onSelect.emit({ \"event\": \"onSelect\", \"data\": {} })\n }\n\n onDuplicatePassengerIgnore(){\n this.onFormHide();\n this.onIgnore.emit({ \"event\": \"onIgnore\", \"data\": {} })\n }\n\n onResultTypeTabClick(resultType:string=MatchType.directMatch){\n if(resultType == MatchType.directMatch){\n this.passengers = this.duplicatePassengers.filter(x=>x.matchType==\"exact\")\n }\n else{\n this.passengers = this.duplicatePassengers.filter(x=>x.matchType==\"possible\")\n }\n\n if(this.currentResultType != resultType){\n this.currentResultType = resultType;\n }\n }\n\n processDuplicatePassengers(passengers:any[]):any[]{\n for(let pax of passengers)\n {\n pax.isPaxSelected = false;\n }\n return passengers;\n }\n\n navigateHomePage(paxID: number){\n let URL='passenger/'+ paxID +'/home'\n this.router.navigate([URL]);\n this.sharedService.tabMenuClicked.next({tab:URL});\n GlobalConstants.TabName='Home';\n }\n\n selectPassenger(event:any,paxID:number){\n for(let pax of this.duplicatePassengers)\n {\n if(pax.id == paxID){\n pax.isPaxSelected = event.checked;\n }\n else{\n pax.isPaxSelected = false;\n }\n }\n }\n\n}\n","\n \n \n
\n
\n
\n
\n {{multilingual.DirectMatch}} ({{this.directMatchCount}})
\n
\n {{multilingual.PossibleMatch}} ({{this.possibleMatchCount}})
\n
\n
\n
\n \n \n
\n
\n \n \n
\n {{pax.displayInitials}}\n
\n
\n \n \n \n
\n
\n\n
\n
\n
\n
{{pax.passengerName}}
\n
\n\n
\n
\n
\n \n {{pax.dateOfBirth| date:'dd MMM yyyy'}}0\">({{pax.age}}) \n
\n
\n \n {{pax.address.addressLine1}}\n
\n
\n \n {{pax.address.telephoneNumber}}\n
\n
\n
\n
\n
\n
\n
\n \n \n
\n
\n\n","import { Component, OnInit,Input,Output,EventEmitter } from '@angular/core';\nimport { GlobalConstants } from 'src/app/shared/global-constants';\nimport { TabType } from 'src/app/shared/global-constants';\nimport { TranslateService } from '@ngx-translate/core';\nimport { passengerService } from 'src/app/services/home/passenger.service';\nimport { CommonService } from 'src/app/services/common/common.service';\nimport { LoggingService } from 'src/app/services/common/logging.service';\nimport { DatePipe } from '@angular/common';\n\nimport { HttpClient } from '@angular/common/http';\nimport { LazyLoadEvent } from 'primeng/api';\nimport { MessageService ,MenuItem} from 'primeng/api';\nimport { AppConfigService } from 'src/app/services/common/app-config.service';\nimport { Table } from 'primeng/table';\nimport { SharedService } from 'src/app/services/common/shared.service';\nimport { Subscription } from 'rxjs';\nimport { UserPermissionsService } from 'src/app/services/common/user-permissions.service';\nimport { PaxSecurityConstant } from 'src/app/constants/security-constant';\nimport moment from 'moment';\nimport { FormGroup ,FormControl, AbstractControl} from '@angular/forms';\nimport { TasksService } from 'src/app/services/tasks/tasks.service';\nimport { entityType } from 'src/app/models/entityType';\n\n@Component({\n selector: 'app-task-view',\n templateUrl: './task-view.component.html',\n styleUrls: ['./task-view.component.scss']\n})\nexport class TaskViewComponent implements OnInit {\n\n newDate:Date=new Date();\n newUserID:number=0;\n //paxId = \"0\";\n tasksPaginationString=\"\";\n taskData: Task[] = [];\n taskLoading : boolean = true;\n totalTaskPages: number = 1;\n totalTaskRecord: number = 0;\n recordsPerPage: number = 10;\n disableAddButton:boolean=true;\n taskStatuses: any = null;\n loading: boolean = true;\n displayRightSidebar: boolean = false;\n taskBarHeader = \"\";\n userName = \"irs\";\n items : MenuItem[]= [];\n selectedTask : any = {};\n @Input() taskAction : string = \"add\";\n @Input() taskView:any={\n showAddButton:false,\n showTaskTabs:false,\n showContextMenus:true,\n tabName:'Tasks',\n defaultTab: TabType.All,\n entity:entityType.passenger,\n entityid:\"0\"\n };\n taskAddConfig:any;\n allTasks:any=[];\n activeTasks:any=[];\n expiredTasks:any=[];\n taskTypes: any = null;\n defaultDateFormatSave: string = \"\";\n taskId:any;\n //taskFGroup : FormGroup;\n usersData : any;\n userGroupsData: any;\n sendUserData: any;\n filteredReceiver: any;\n //isRowEdit : boolean = false;\n @Input() isRowEdit : boolean = false;\n @Output() isRowEditChange = new EventEmitter();\n //subTabSelected = \"Active\";\n multilingual :any ;\n tabindex :number= 1;\n resultType = ResultType.activeOnly;\n filterInfo: FilterInfo=[];\n searchedData:any;\n pagination:any = {};\n customMatchModeOption : any ={}\n refreshTaskData: Subscription = new Subscription();\n\n\n constructor(private http: HttpClient, private translate: TranslateService, public passengerService: passengerService,\n private logger: LoggingService, private commonService: CommonService, public messageService: MessageService,\n private datePipe: DatePipe,private sharedService:SharedService,private userPermission:UserPermissionsService,\n private taskService:TasksService) {\n\n this.taskAddConfig={}\n //this.paxId = GlobalConstants.PassengerID.toString(); // JSON.parse(window.localStorage.getItem(\"TSv2PaxID\") || \"0\");\n this.userName = GlobalConstants.UserName.toString();\n translate.setDefaultLang('en');\n //this.pagination = AppConfigService.settings.env.pagination;\n // this.refreshTaskData = this.sharedService.refreshTasks.subscribe(data=>this.postAddTaskCalledFromPaxInfo(data))\n this.defaultDateFormatSave= AppConfigService.settings.env.defaultDateFormatSave;\n //this.taskFGroup = new FormGroup({\n // dueDate: new FormControl(null),\n // sentTo: new FormControl(null)\n // });\n let arrTranslate = [\"Home.Task\"];\n this.translate.get(arrTranslate).subscribe((response: any) => {\n this.multilingual = response['Home.Task'];\n if(this.taskView.showContextMenus){\n this.items = [\n {label: this.multilingual.Edit, icon: 'pi pi-fw pi-pencil', command: () => this.addTask(this.selectedTask.id)},\n {label: this.multilingual.Assign, icon: 'pi pi-fw pi-user', command: (event:any) => this.enableSentToField(event,this.selectedTask)},\n {label: this.multilingual.Reschedule, icon: 'pi pi-fw pi-clock', command: (event:any) => this.enableDueDtField(this.selectedTask)}\n ];\n }\n\n });\n\n this.customMatchModeOption = [\"Due Date Is\",\"Due Date Is Not\",\"Due Date Before\",\"Due Date After\"]\n this.refreshTaskData = this.sharedService.refreshAgentTasks.subscribe(data=>{\n if(data.event == \"ADD_AGENT_TASK\" || data.event == \"ADD_PAX_TASK\"){\n data.event = \"Save\"\n this.postAddTask(data)\n }\n })\n }\n\n ngOnInit(): void {\n if((this.userPermission.isAddable(PaxSecurityConstant.TasksTab)))\n this.disableAddButton =false;\n\n this.taskAddConfig.entity=this.taskView.entity;\n this.taskAddConfig.entityId=this.taskView.entityId;\n this.tabindex= this.taskView.defaultTab;\n }\n\n ngOnDestroy() {\n this.refreshTaskData.unsubscribe();\n }\n\n setTask(selTask:any){\n this.selectedTask = selTask;\n }\n //GET ALL TASK STATUSES\n getTaskStatuses() {\n\n this.logger.info('Start of getTaskStatuses - Note Widget cmponent')\n this.passengerService.getTaskStatuses().subscribe(\n response => {\n this.taskStatuses = response.data;\n this.logger.log(response);\n\n }, error => {\n this.logger.log(error);\n }, () => {\n this.logger.info('End of getTaskStatuses - Note Widget cmponent')\n }\n );\n }\n\n addNewTask(){\n this.addTask(0);\n }\n\n addTask(selectedtaskId:any) {\n if(this.disableAddButton)\n return;\n this.taskId = selectedtaskId;\n this.resetRow();\n if(this.taskId > 0)\n this.taskBarHeader = this.multilingual.EditHeader;\n else\n this.taskBarHeader = this.multilingual.AddHeader;\n\n this.displayRightSidebar = true;\n }\n\n //GET TASK -PAGINATION\n getAllTasks(event: LazyLoadEvent,table:any) {\n if(table){\n if(!this.taskView.showContextMenus)\n table.contextMenu.appendTo=\"\"\n else\n table.contextMenu.appendTo=\"body\"\n }\n\n // if (this.tabSelected == \"Task\") {\n this.taskData=[];\n this.taskLoading = true;\n let pageNumber = 1\n let taskFilterApplied :boolean = false;\n let statusIDs :number[]=[]\n let statusMatchCode =\"any\";\n\n let dueDateMatchCode =\"any\";\n let dueDateFilterValue : Date = new Date();\n\n if (event != null) {\n pageNumber = ((event.first != undefined && event.first > 0) ? Math.ceil(event.first / (event.rows ?? this.pagination.pageSize)) + 1 : 1);\n this.recordsPerPage = event.rows ?? this.pagination.pageSize;\n if (event.rows){\n this.pagination.pageSize = event.rows;\n }\n this.filterInfo = event.filters !=undefined?event.filters[\"dueDate\"] : [{}] ;\n\n if(this.filterInfo != null && this.filterInfo.length>0 && this.filterInfo[0].value !=null)\n {\n dueDateMatchCode = this.filterInfo[0].matchMode||\"any\";\n dueDateFilterValue = this.filterInfo[0].value;\n taskFilterApplied = true;\n }\n\n this.filterInfo = event.filters !=undefined?event.filters[\"status\"] : [{}] ;\n if(this.filterInfo != null && this.filterInfo.length>0 && this.filterInfo[0].value !=null)\n {\n let statusValues = this.filterInfo[0].value;\n statusMatchCode=this.filterInfo[0].matchMode||\"any\";\n taskFilterApplied = true;\n\n statusValues.forEach((element:any) => {\n statusIDs.push(this.taskStatuses.filter((a:any)=>a.description == element)[0].id);\n })\n\n if(statusValues.length == 0){\n statusIDs.push(0);\n statusMatchCode=\"any\"\n taskFilterApplied = false;\n }\n }\n else{\n statusIDs.push(0);\n\n }\n }\n\n var BaseRequest = {\n \"taskrequiredcompletiondate\": {\n \"filterType\": dueDateMatchCode,\n \"value\": new Date(dueDateFilterValue.getFullYear(),dueDateFilterValue.getMonth(),dueDateFilterValue.getDate(),18,30,0,0)\n },\n \"tasktypeid\": {\n \"filterType\": \"any\",\n \"value\": [0]\n },\n \"taskstatusid\": {\n \"filterType\": statusMatchCode,\n \"value\": statusIDs\n },\n \"tasksubject\": {\n \"filterType\": \"any\",\n \"value\": \"string\"\n },\n \"assignedbySystemuserid\": {\n \"filterType\": \"any\",\n \"value\": [0]\n },\n \"systemuserid\": {\n \"filterType\": \"any\",\n \"value\": [0]\n }\n }\n this.totalTaskPages=0\n this.totalTaskRecord=0\n this.taskStatuses = null\n this.taskService.getAllTasks(this.taskView.entity,this.taskView.entityId, BaseRequest, pageNumber, this.recordsPerPage,this.resultType.toString()).subscribe(\n response => {\n this.logger.info('Start of getAllTasks - Task View Component')\n if(response!= null && response.data != undefined){\n this.taskData = response.data;\n this.taskData = this.allTasks = this.bindFields(this.taskData);\n this.taskStatuses = response.filtration.references.taskStatuses;\n this.taskTypes = response.filtration.references.taskTypes;\n\n if (response.pagination != undefined){\n this.mapPaginationObject(response.pagination);\n this.tasksPaginationString =\"Showing \"+ response.pagination.showingRecordsFrom +\" to \"+ response.pagination.showingRecordsTo +\" of \"+ response.pagination.totalRecords;\n if(response.filtration != undefined && taskFilterApplied)\n this.tasksPaginationString = this.tasksPaginationString +\" (\"+response.filtration.filteredOutRecordCount +\" records filtered out)\"\n }\n this.logger.log(JSON.stringify(response));\n }\n\n\n }, error => {\n this.logger.log(JSON.stringify(error));\n this.taskLoading = false;\n this.taskData=[];\n }, () => {\n this.logger.info('End of getAllTasks - Task View Component')\n this.taskLoading = false;\n }\n\n );\n\n // }\n }\n\n mapPaginationObject(paginationObj:any){\n this.pagination.pageSize = paginationObj.pageSize;\n this.pagination.rowsPerPageOptions = paginationObj.pageSizeOptions;\n this.pagination.pageNumber = paginationObj.pageNumber;\n this.pagination.totalRecords = paginationObj.totalRecords;\n }\n\n bindFields(data:any):any\n {\n for(let task of data)\n {\n task.isEnableSentTo = false;\n task.isEnableDueDt = false;\n }\n return data;\n }\n\n //METHOD IS CALLED TO REFRESH DATA ON UI AFTER ADDING TASK\n postAddTask(newTaskData: any) {\n if (newTaskData.event == \"Save\") {\n //ADDING NEW TASK TO THE TOP OF THE LIST\n if(newTaskData.data.isEdit)\n {\n this.postUpdate(newTaskData);\n }\n else{\n if (this.totalTaskPages > 1)\n this.taskData.pop();\n this.taskData.splice(0, 0, newTaskData.data.data);\n this.taskData = this.bindFields(this.taskData);\n this.updateStatusFilter(newTaskData.data.data.changedStatus);\n this.messageService.add({severity:'success', summary:'Success', detail:this.multilingual.AddMsg});\n }\n this.closeSideBar();\n }\n if (newTaskData.event == \"Cancel\") {\n this.closeSideBar();\n }\n }\n\n\n changeSubTab(tab: any):any\n {\n //if (this.taskData.length == 0) {\n let event: any;\n // this.getAllTasks(event,\"\");\n //}\n\n if (tab.index == 0){\n this.resultType = ResultType.all;\n //this.subTabSelected = this.multilingual.All;\n this.tabindex = 0;\n this.getAllTasks(event,null);\n }\n else if (tab.index == 1) {\n // this.subTabSelected = this.multilingual.Active;\n this.resultType = ResultType.activeOnly;\n this.tabindex = 1;\n if(!(this.userPermission.isAddable(PaxSecurityConstant.TasksTab)))\n this.disableAddButton=true;\n else\n this.disableAddButton=false;\n this.getAllTasks(event,null);\n }\n else{\n // this.subTabSelected = this.multilingual.Past;\n this.tabindex = 2;\n this.resultType = ResultType.pastOnly;\n this.getAllTasks(event,null);\n }\n }\n\n //CODE TO CLOSE THE SIDEBAR\n closeSideBar() {\n this.displayRightSidebar = false;\n }\n\n enableSentToField(event:any,selectedRow:any)\n {\n\n this.isRowEdit = true;\n this.isRowEditChange.emit(this.isRowEdit);\n //this.taskFGroup = new FormGroup({\n // sentTo: new FormControl({ id: 0, description: selectedRow.sentTo })\n // });\n\n this.taskData.forEach(eachTask => {\n if(eachTask.id == selectedRow.id)\n eachTask.isEnableSentTo = true;\n else\n eachTask.isEnableSentTo = false;\n\n eachTask.isEnableDueDt =false;\n });\n }\n\n enableDueDtField(selectedRow:any)\n {\n this.isRowEdit = true;\n this.isRowEditChange.emit(this.isRowEdit);\n // this.taskFGroup = new FormGroup({\n // dueDate: new FormControl(new Date(selectedRow.dueDate))\n // });\n this.taskData.forEach(eachTask => {\n if(eachTask.id == selectedRow.id)\n eachTask.isEnableDueDt = true;\n else\n eachTask.isEnableDueDt = false;\n eachTask.isEnableSentTo=false;\n this.newUserID=0;\n });\n }\n\n setNewUserValue(event:any){\n if(event)\n this.newUserID = event.id;\n }\n\n search(event:any)\n {\n let search = event.query;\n if(this.selectedTask.assignedCategory == 'user')\n this.getUsers(search);\n else\n this.getUserGroups(search);\n }\n\n getUsers(searchName:any) {\n this.logger.info('Start of getUsers - task-view component');\n this.commonService.GetUsersByName(searchName).subscribe(\n response => {\n this.searchedData = response.data;\n this.logger.log(JSON.stringify(response));\n }, error => {\n this.logger.log(error);\n }, () => {\n this.logger.info('End of getUsers - task-view component');\n }\n );\n }\n\n //GET ALL USER GROUPS BY NAME\n getUserGroups(searchName:any) {\n this.logger.info('Start of getUserGroups - task-view component');\n this.commonService.GetUserGroupsByName(searchName).subscribe(\n response => {\n this.searchedData = response.data;\n this.logger.log(response);\n }, error => {\n this.logger.log(error);\n }, () => {\n this.logger.info('End of getUserGroups - task-view component');\n }\n );\n }\n\n saveEditedRow(){\n this.saveRowEdit(this.selectedTask);\n }\n\n saveRowEdit(data:any)\n {\n if(this.newUserID > 0)\n {\n this.reassignTask(data.id,this.newUserID,this.selectedTask.assignedCategory)\n }\n else if (moment(this.newDate).format(this.defaultDateFormatSave) != moment(data.dueDate).format(this.defaultDateFormatSave))\n {\n let newValue= this.newDate == null ? \"\" :moment(this.newDate).format(this.defaultDateFormatSave);\n this.rescheduleTask(data.id,newValue);\n }\n else\n this.resetRow();\n\n\n }\n\n reassignTask(taskId:any,newValue:any,category:any)\n {\n this.logger.info('Start of reassignTask - taskview component');\n var BaseRequest = {\n \"SendToUserId\" : category == 'user' ? newValue : null,\n \"SendToUserGroupId\" : category == 'userGroup' ? newValue : null\n }\n\n this.taskService.reassignTask(this.taskView.entity,this.taskView.entityId, taskId, BaseRequest).subscribe(\n response => {\n this.postUpdate(response);\n this.logger.log(JSON.stringify(response));\n }, error => {\n this.logger.error(JSON.stringify(error));\n }, () => {\n this.logger.info('End of reassignTask - taskview component');\n this.newUserID=0;\n }\n );\n }\n\n rescheduleTask(taskId:any,newValue:any)\n {\n this.logger.info('Start of rescheduleTaskDate - taskview component');\n var BaseRequest = {\n \"rescheduleDate\" : newValue\n }\n this.taskService.rescheduleTask(this.taskView.entity,this.taskView.entityId, taskId, BaseRequest).subscribe(\n response => {\n this.postUpdate(response);\n this.logger.log(JSON.stringify(response));\n }, error => {\n this.logger.error(JSON.stringify(error));\n }, () => {\n this.logger.info('End of rescheduleTaskDate - taskview component');\n }\n );\n }\n\n postUpdate(response : any)\n {\n let taskObj = response.data;\n let changedStatus = response.data.changedStatus;\n\n const getTasks=(task:any):any=>{\n task = this.bindFields([task])[0];\n return task\n }\n let editedTask = this.taskData.find(a => a.id == taskObj.id);\n if(editedTask != undefined)\n editedTask = Object.assign(editedTask,getTasks(taskObj));\n this.updateStatusFilter(changedStatus);\n this.messageService.add({severity:'success', summary:'Success', detail:this.multilingual.UpdateMsg});\n this.resetRow();\n }\n\n resetRow()\n {\n this.isRowEdit=false;\n this.isRowEditChange.emit(this.isRowEdit);\n this.taskData=this.bindFields(this.taskData);\n // this.taskFGroup = new FormGroup({\n // dueDate: new FormControl(null),\n // sentTo: new FormControl(null)\n // });\n this.newUserID=0;\n\n }\n\n updateStatusFilter(changedStatus: any) {\n if (this.taskStatuses) {\n this.taskStatuses.forEach((eachStatus: any) => {\n if (this.taskData.find((b: any) => b.status == eachStatus.description) == undefined) {\n const targetIdx = this.taskStatuses.map((item: any) => item.id).indexOf(eachStatus.id);\n if (targetIdx > -1)\n this.taskStatuses.splice(targetIdx, 1)\n }\n });\n\n if (changedStatus != undefined && this.taskStatuses.find((b: any) => b.id == changedStatus.id) == null)\n this.taskStatuses.push(changedStatus);\n }\n }\n}\n\nclass Task{\n id?:number;\n dueDate?:Date;\n type?:string;\n status?:string;\n sentTo?:string;\n subject?:string;\n description?:string;\n isEnableSentTo?:boolean;\n isEnableDueDt?:boolean;\n}\nexport interface FilterInfo {\n [key: string]: any;\n}\nexport enum ResultType{\n all = \"all\",\n pastOnly = \"pastOnly\",\n activeOnly = \"activeOnly\"\n}\n","\n\n
\n \n
\n
{{this.taskView.showTaskTabs?this.taskView.tabName:\"\"}}
\n
\n \n \n
\n\n
\n \n \n
\n \n
\n\n \n \n \n \n \n \n\n
\n \n \n \n \n \n \n \n \n \n >\n \n \n \n \n \n \n
\n Home.Task.Status\n \n \n\n \n \n \n
\n {{option.description}}\n
\n
\n
\n
\n
\n
\n \n \n
\n Home.Task.DueDate\n \n \n \n \n \n \n
\n \n Home.Task.Type\n \n \n Home.Task.Subject\n Home.Task.SentTo\n \n \n
\n \n \n \n \n \n {{Task.status}}\n \n \n \n \n \n {{Task.type}}\n \n
{{Task.subject}}\n
\n \n \n \n \n \n \n \n \n \n \n \n
\n \n \n \n
\n {{Task.description}}\n
\n \n \n
\n \n \n \n
\n

Home.Task.NoTask

\n
\n \n \n
\n
\n
\n \n
\n\n\n
\n {{taskBarHeader}}\n
\n \n
\n
\n
\n \n
\n
\n\n\n\n","import { NgModule } from '@angular/core';\r\nimport { PanelModule } from 'primeng/panel';\r\nimport {TableModule} from 'primeng/table';\r\nimport {InputTextModule} from 'primeng/inputtext';\r\nimport {DropdownModule} from 'primeng/dropdown';\r\nimport {CalendarModule} from 'primeng/calendar';\r\nimport {SidebarModule} from 'ng-sidebar';\r\nimport {MenuModule} from 'primeng/menu';\r\nimport {ButtonModule} from 'primeng/button';\r\nimport {CarouselModule} from 'primeng/carousel';\r\nimport {TabViewModule} from 'primeng/tabview';\r\nimport {TabMenuModule} from 'primeng/tabmenu';\r\nimport {CardModule} from 'primeng/card';\r\nimport {AutoCompleteModule} from 'primeng/autocomplete';\r\nimport {CheckboxModule} from 'primeng/checkbox';\r\nimport {AvatarModule} from 'primeng/avatar';\r\nimport {MultiSelectModule} from 'primeng/multiselect';\r\nimport {FileUploadModule} from 'primeng/fileupload';\r\nimport {ToastModule} from 'primeng/toast';\r\nimport {SidebarModule as PSideBarMenu} from 'primeng/sidebar';\r\nimport {InputTextareaModule} from 'primeng/inputtextarea';\r\nimport {TooltipModule} from 'primeng/tooltip';\r\nimport {ProgressSpinnerModule} from 'primeng/progressspinner';\r\nimport {ConfirmDialogModule} from 'primeng/confirmdialog';\r\nimport {ContextMenuModule} from 'primeng/contextmenu';\r\nimport {DialogModule} from 'primeng/dialog';\r\nimport {SelectButtonModule} from 'primeng/selectbutton';\r\nimport { ChipModule } from 'primeng/chip';\r\nimport {OverlayPanelModule} from 'primeng/overlaypanel';\r\nimport {PaginatorModule} from 'primeng/paginator';\r\nimport {TreeModule} from 'primeng/tree';\r\nimport {StepsModule} from 'primeng/steps';\r\nimport { InputNumberModule } from 'primeng/inputnumber';\r\n\r\n@NgModule({\r\n imports: [\r\n PanelModule,\r\n TableModule,\r\n InputTextModule,\r\n DropdownModule,\r\n CalendarModule,\r\n SidebarModule.forRoot(),\r\n MenuModule,\r\n ButtonModule,\r\n CarouselModule,\r\n TabViewModule,\r\n TabMenuModule,\r\n CardModule,\r\n AutoCompleteModule,\r\n CheckboxModule,\r\n AvatarModule,\r\n MultiSelectModule,\r\n FileUploadModule,\r\n ToastModule,\r\n TooltipModule,\r\n PSideBarMenu,\r\n InputTextareaModule,\r\n ProgressSpinnerModule,\r\n ConfirmDialogModule,\r\n ContextMenuModule,\r\n DialogModule,\r\n SelectButtonModule,\r\n ChipModule,\r\n OverlayPanelModule,\r\n PaginatorModule,\r\n TreeModule,\r\n StepsModule,\r\n InputNumberModule,\r\n ],\r\n\r\n exports: [\r\n PanelModule,\r\n TableModule,\r\n InputTextModule,\r\n DropdownModule,\r\n CalendarModule,\r\n SidebarModule,\r\n MenuModule,\r\n ButtonModule,\r\n CarouselModule,\r\n TabViewModule,\r\n TabMenuModule,\r\n CardModule,\r\n AutoCompleteModule,\r\n CheckboxModule,\r\n AvatarModule,\r\n MultiSelectModule,\r\n FileUploadModule,\r\n ToastModule,\r\n PSideBarMenu,\r\n InputTextareaModule,\r\n TooltipModule,\r\n ProgressSpinnerModule,\r\n ConfirmDialogModule,\r\n ContextMenuModule,\r\n DialogModule,\r\n SelectButtonModule,\r\n ChipModule,\r\n OverlayPanelModule,\r\n PaginatorModule,\r\n TreeModule,\r\n StepsModule,\r\n InputNumberModule\r\n\r\n ]\r\n})\r\n\r\nexport class PrimengModule { }\r\n","import { ErrorHandler, NgModule,APP_INITIALIZER } from '@angular/core';\n//import { BrowserModule } from '@angular/platform-browser';\n//import {BrowserAnimationsModule} from '@angular/platform-browser/animations';\n\nimport {TranslateLoader, TranslateModule} from '@ngx-translate/core';\nimport {TranslateHttpLoader} from '@ngx-translate/http-loader';\nimport { HttpClient, HttpClientModule,HTTP_INTERCEPTORS} from '@angular/common/http'\n\nimport { AppRoutingModule } from './app-routing.module';\nimport { AppComponent } from './app.component';\nimport { CoreModule } from './core/core.module';\n\nimport { ToastrModule } from 'ngx-toastr';\nimport { CachingInterceptor } from './interceptors/caching.interceptor';\nimport { ErrorInterceptor } from './interceptors/error/error.interceptor';\nimport { GlobalErrorHandler } from './interceptors/error/global-error-handler';\nimport { TransformDateInterceptor } from './interceptors/transform-date.interceptor';\nimport { SidebarModule } from 'ng-sidebar';\nimport { AppConfigService } from './services/common/app-config.service';\nimport { RouterModule } from '@angular/router';\nimport { DatePipe } from '@angular/common';\nimport { APIHeadersInterceptor } from './interceptors/apiheaders.interceptor';\n//import { NgxGoogleAnalyticsModule,NgxGoogleAnalyticsRouterModule } from 'ngx-google-analytics';\nimport { GlobalConstants } from './shared/global-constants';\nimport { MessageService } from 'primeng/api';\n\nexport function HttpLoaderFactory(httpClient: HttpClient) {\n //return new TranslateHttpLoader(httpClient);\n return new TranslateHttpLoader(httpClient, './assets/i18n/', '.json');\n}\n\nexport function initializeApp(appConfigService: AppConfigService) {\n return (): Promise => {\n return appConfigService.load();\n }\n}\n\n@NgModule({\n declarations: [\n AppComponent,\n //HomeComponent\n ],\n imports: [\n // BrowserModule,\n // BrowserAnimationsModule,\n AppRoutingModule,\n HttpClientModule,\n RouterModule,\n TranslateModule.forRoot({\n loader: {\n provide: TranslateLoader,\n useFactory: HttpLoaderFactory,\n deps: [HttpClient]\n }\n }),\n\n ToastrModule.forRoot({\n positionClass : 'toast-bottom-right'\n }),\n CoreModule,\n SidebarModule.forRoot(),\n //NgxGoogleAnalyticsModule.forRoot(GlobalConstants.TrackingCode),\n // NgxGoogleAnalyticsRouterModule\n ],\n providers: [\n { provide: HTTP_INTERCEPTORS, useClass: APIHeadersInterceptor, multi: true },\n { provide: HTTP_INTERCEPTORS, useClass: CachingInterceptor, multi: true },\n { provide: HTTP_INTERCEPTORS, useClass: ErrorInterceptor, multi: true },\n { provide: HTTP_INTERCEPTORS, useClass: TransformDateInterceptor, multi: true },\n { provide: ErrorHandler, useClass: GlobalErrorHandler},\n { provide: APP_INITIALIZER,useFactory: initializeApp, deps: [AppConfigService], multi: true},\n DatePipe,\n MessageService\n ],\n bootstrap: [AppComponent]\n})\nexport class AppModule { }\n","import { Component, OnInit, EventEmitter, Output, HostListener } from '@angular/core';\nimport { GlobalConstants } from 'src/app/shared/global-constants';\nimport { TranslateService } from '@ngx-translate/core';\nimport { CommonService } from 'src/app/services/common/common.service';\nimport { LoggingService } from 'src/app/services/common/logging.service';\nimport { LazyLoadEvent } from 'primeng/api';\nimport { ActivatedRoute, Router } from '@angular/router';\n\nimport { HttpClient } from '@angular/common/http';\nimport { FormGroup, FormControl } from '@angular/forms';\nimport { AppConfigService } from 'src/app/services/common/app-config.service';\n\n\n\n@Component({\n selector: 'app-passenger-search',\n templateUrl: './passenger-search.component.html',\n styleUrls: ['./passenger-search.component.scss']\n})\nexport class PassengerSearchComponent implements OnInit {\n\n @HostListener('keydown.enter', ['$event'])\n handleKeyDown(event: KeyboardEvent) {\n this.search();\n }\n\n /*keyEvent(event: KeyboardEvent) {\n if (event.keyCode === 13) {\n this.search();\n }\n }*/\n\n searchPassengersFG: FormGroup;\n searchResponse:any;\n recordsPerPage =25;\n loading = false;\n totalRecords=0;\n isCreatePassenger:boolean=false;\n pagination : any ={}\n paginationString=\"\"\n multilingual : any = {};\n\n constructor(private http: HttpClient, private translate: TranslateService,\n private logger: LoggingService, private commonService:CommonService, private router:Router,\n private activatedRoute: ActivatedRoute) {\n\n //INITIALISE FORM GROUP FOR SEARCHING PASSENGER\n this.searchPassengersFG = new FormGroup({\n name: new FormControl(null),\n address: new FormControl(),\n email: new FormControl(),\n paxID: new FormControl(),\n bookingRef: new FormControl(),\n concessionNum: new FormControl(),\n clubMembership: new FormControl()\n });\n this.pagination = AppConfigService.settings.env.pagination;\n\n }\n\n ngOnInit(): void {\n\n let arrTranslate = [\"PassengerSearch\"];\n this.translate.get(arrTranslate).subscribe((response: any) => {\n this.multilingual = response['PassengerSearch'];\n\n let paxName = this.activatedRoute.snapshot.paramMap.get('paxname') || \"\";\n if (paxName != \"\" && paxName) {\n this.searchPassengersFG = new FormGroup({\n name: new FormControl(paxName),\n address: new FormControl(),\n email: new FormControl(),\n paxID: new FormControl(),\n bookingRef: new FormControl(),\n concessionNum: new FormControl(),\n clubMembership: new FormControl()\n });\n }\n });\n\n }\n\n search(){\n let event: any;\n this.searchPassengers(event);\n }\n\n openPassengerHome(objPax:any){\n\n GlobalConstants.PassengerID=objPax.personalDetails.id;\n GlobalConstants.PaxName=objPax.personalDetails.firstName +\" \" +objPax.personalDetails.lastName ;\n // if(GlobalConstants.calledFromTSv2){\n let URL=\"passenger/\"+ objPax.personalDetails.id +\"/home/\";\n // window.parent.OpenNewCRMInstance(URL,'CRM-'+ GlobalConstants.PaxName)\n // }\n // else{\n this.router.navigate([URL]);\n // }\n\n }\n\n searchPassengers(event: LazyLoadEvent) {\n var FormValue = this.searchPassengersFG.value;\n GlobalConstants.PaxSearchText = FormValue.name;\n var BaseRequest = {\n \"id\": FormValue == undefined ? 0 : Number(FormValue.paxID==undefined?0:FormValue.paxID),\n \"passengerName\": {\n \"titleId\": 0,\n \"name\": FormValue.name\n },\n \"address\": {\n \"postCode\": \"\",\n \"street\": FormValue.address,\n \"city\": \"\",\n \"stateId\": 0,\n \"countryId\": 0,\n \"phone\": \"\",\n \"email\": FormValue.email\n },\n \"otherDetails\": {\n \"clientId\": 0,\n \"bookingReference\": FormValue.bookingRef,\n \"clubMembershipNumber\": FormValue.clubMembership,\n \"concessionNumber\": FormValue.concessionNum,\n \"typeId\": 0\n }\n }\n\n this.logger.info('Start of SearchPassengers - passenger-search component');\n let pageNumber = 1\n if (event != null) {\n pageNumber = ((event.first != undefined && event.first > 0) ? Math.ceil(event.first / (event.rows ?? this.recordsPerPage)) + 1 : 1);\n this.recordsPerPage = event.rows ?? this.recordsPerPage;\n }\n this.loading = true;\n this.commonService.SearchPassengers(BaseRequest,pageNumber, this.recordsPerPage).subscribe(\n response => {\n if(response && response.data){\n this.searchResponse = response.data;\n this.paginationString =\"Showing \"+ response.pagination.showingRecordsFrom +\" to \"+ response.pagination.showingRecordsTo +\" of \"+ response.pagination.totalRecords;\n this.mapPaginationObject(response.pagination);\n this.logger.log(JSON.stringify(response));\n }\n else{\n this.searchResponse = null;\n this.paginationString =\"\"\n this.mapPaginationObject();\n }\n\n }, error => {\n this.searchResponse = null;\n this.logger.log(JSON.stringify(error));\n this.loading = false;\n this.paginationString=\"\";\n }, () => {\n this.logger.info('End of SearchPassengers - passenger-search component');\n this.loading = false;\n }\n );\n }\n\n mapPaginationObject(paginationObj:any = null){\n if(paginationObj){\n this.pagination.pageSize = paginationObj.pageSize;\n this.pagination.rowsPerPageOptions = paginationObj.pageSizeOptions;\n this.pagination.pageNumber = paginationObj.pageNumber;\n this.pagination.totalRecords = paginationObj.totalRecords;\n }\n else{\n this.pagination.pageSize = 1;\n this.pagination.rowsPerPageOptions = [10,20,30];\n this.pagination.pageNumber = 1;\n this.pagination.totalRecords = 0;\n }\n }\n\n onCreatePax(event:any={}){\n let passenger = event.data ? event.data.passenger : null;\n passenger.personalDetails = {};\n passenger.personalDetails.id = passenger.id;\n passenger.personalDetails.firstName =passenger.firstName\n passenger.personalDetails.lastName = passenger.lastName ;\n this.openPassengerHome(passenger);\n }\n}\n","
\n
\n
\n Passenger Search\n \n
\n
\n
\n
\n
\n
\n \n \n
\n
\n\n
\n
\n \n \n
\n
\n\n
\n
\n \n \n
\n
\n\n
\n
\n \n \n
\n
\n\n
\n
\n \n \n
\n
\n\n
\n
\n \n \n
\n
\n\n
\n
\n \n \n
\n
\n\n
\n \n
\n\n
\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n\n \n \n PassengerSearch.ID\n PassengerSearch.Name\n PassengerSearch.Class\n PassengerSearch.Address\n PassengerSearch.Phone\n PassengerSearch.Email\n \n \n\n \n \n {{pax.personalDetails.id}}\n \n \n {{pax.personalDetails.firstName}} {{pax.personalDetails.lastName}}\n \n {{pax.personalDetails.passengerClassName}}\n {{pax.address.addressLine1}} {{pax.address.addressLine2}}\n {{pax.address.addressLine3}} {{pax.address.addressLine4}}\n {{pax.address.addressTelephoneNumber}}\n {{pax.address.addressMailAddress}}\n \n \n \n \n \n
\n

No Records Found

\n
\n \n \n
\n \n
\n\n
\n
\n
\n\n
\n
\n
\n\n\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { AgentRoutingModule } from './agent-routing.module';\nimport { AgentSearchComponent } from './agent-search/agent-search.component';\nimport { PrimengModule } from 'src/app/primeng-module';\nimport { SharedModule } from 'src/app/shared/shared.module';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { RouterModule } from '@angular/router';\n\nimport {TranslateHttpLoader} from '@ngx-translate/http-loader';\nimport {TranslateLoader, TranslateModule} from '@ngx-translate/core';\nimport { HttpClient} from '@angular/common/http';\nimport { MainLayoutComponent } from './main-layout/main-layout.component';\nimport { AgentInfoComponent } from './main-layout/agent-info/agent-info.component'\n\nexport function HttpLoaderFactory(httpClient: HttpClient) {\n return new TranslateHttpLoader(httpClient);\n}\n\n@NgModule({\n declarations: [AgentSearchComponent, MainLayoutComponent, AgentInfoComponent],\n imports: [\n CommonModule,\n AgentRoutingModule,\n RouterModule,\n PrimengModule,\n SharedModule,\n FormsModule,\n ReactiveFormsModule,\n\n TranslateModule.forRoot({\n loader: {\n provide: TranslateLoader,\n useFactory: HttpLoaderFactory,\n deps: [HttpClient]\n }\n })\n ]\n})\nexport class AgentModule { }\n","import { Component, OnInit, EventEmitter, Output,Input } from '@angular/core';\nimport { GlobalConstants } from 'src/app/shared/global-constants';\nimport { TranslateService } from '@ngx-translate/core';\nimport { passengerService } from 'src/app/services/home/passenger.service';\nimport { CommonService } from 'src/app/services/common/common.service';\nimport { LoggingService } from 'src/app/services/common/logging.service';\n\nimport { HttpClient } from '@angular/common/http';\nimport { FormGroup, FormControl, Validators } from '@angular/forms';\nimport { TasksService } from 'src/app/services/tasks/tasks.service';\nimport moment from 'moment';\nimport { AppConfigService } from 'src/app/services/common/app-config.service';\nimport { entityType } from 'src/app/models/entityType';\n\n@Component({\n selector: 'app-add-task',\n templateUrl: './add-task.component.html',\n styleUrls: ['./add-task.component.css']\n})\nexport class AddTaskComponent implements OnInit {\n //paxId = \"0\";\n // taskStatuses: any = null;\n sendToData :any;\n sendToLabel = \"Select User\";\n addTaskData: any;\n userGroupsData: any;\n usersData: any;\n sendUserData: any;\n bookingsData: any;\n taskTypeData: any;\n taskStatusData: any;\n addTaskFG: FormGroup;\n minDate: Date;\n userName = \"irs\";\n userID = \"1\";\n filteredSender: any;\n filteredReceiver: any;\n editTaskData: any;\n multilingual:any;\n searchedData:any;\n defaultDateFormatSave: string = \"\";\n\n @Output() postSave = new EventEmitter();\n @Input() taskId :any=0;\n @Input() addtaskConfig:any={\n entity:entityType.passenger,\n entityid:\"0\"\n };\n\n constructor(private http: HttpClient, private translate: TranslateService, public passengerService: passengerService,\n private logger: LoggingService, private commonService: CommonService,private taskService:TasksService) {\n\n //this.paxId = GlobalConstants.PassengerID.toString();\n this.userName = GlobalConstants.UserName.toString();\n this.userID = GlobalConstants.UserID.toString();\n this.minDate = new Date();\n\n //FORM GROUP FOR ADDING TASK\n this.addTaskFG = new FormGroup({\n sender: new FormControl(null, Validators.required),\n receiver: new FormControl(null, Validators.required),\n taskType: new FormControl(null, Validators.required),\n taskStatus: new FormControl(null, Validators.required),\n entityType: new FormControl(),\n bkngRefNo: new FormControl(),\n subject: new FormControl(null, Validators.required),\n taskDescription: new FormControl(),\n dueDate: new FormControl(null, Validators.required),\n });\n\n let arrTranslate = [\"Home.Task\"];\n this.translate.get(arrTranslate).subscribe((response: any) => {\n this.multilingual = response['Home.Task'];\n });\n this.sendToData = [{ id: 1, description: this.multilingual.User }, { id: 2, description: this.multilingual.Group }]\n this.defaultDateFormatSave= AppConfigService.settings.env.defaultDateFormatSave;\n }\n\n ngOnInit(): void {\n\n // if (this.addTaskData == null) {\n if (this.taskId > 0 ) {\n this.getDataForTaskEdit(this.taskId);\n }\n else\n {\n this.getDataForAddingTask();\n //this.getAllPaxBookings();\n }\n }\n\n search(event:any)\n {\n let search = event.query;\n if(this.addTaskFG.controls.sender.value.id == 1)\n this.getUsers(search);\n if(this.addTaskFG.controls.sender.value.id == 2)\n this.getUserGroups(search);\n }\n //GET ALL USERS\n getUsers(searchName:any) {\n this.logger.info('Start of getUsers - add task component');\n this.commonService.GetUsersByName(searchName).subscribe(\n response => {\n this.searchedData = response.data;\n this.logger.log(response);\n }, error => {\n this.logger.log(error);\n }, () => {\n this.logger.info('End of getUsers - add task component');\n }\n );\n }\n\n //GET ALL USER GROUPS\n getUserGroups(searchName:any) {\n this.logger.info('Start of getAllUserGroups - add task component');\n this.commonService.GetUserGroupsByName(searchName).subscribe(\n response => {\n this.searchedData = response.data;\n this.logger.log(response);\n }, error => {\n this.logger.log(error);\n }, () => {\n this.logger.info('End of getAllUserGroups - add task component');\n }\n );\n }\n\n //USE USERGROUP OR USER DATA BASED ON VALUE SELECTED IN SEND TO DROPDOWN\n filterData(event: any) {\n if (event != undefined && event.value != undefined) {\n if (event.value.id == 2) {\n this.sendUserData = this.userGroupsData;\n this.sendToLabel = \"Select Group\";\n }\n else {\n this.sendUserData == this.usersData;\n this.sendToLabel = \"Select User\";\n }\n }\n }\n\n //GET DATA FOR ADDING TASK\n getDataForAddingTask() {\n this.logger.info('Start of getDataForAddingTask - add task component');\n this.taskService.getNewTaskInfo(this.addtaskConfig.entity,this.addtaskConfig.entityId).subscribe(\n response => {\n this.addTaskData = response.data;\n this.openSideBarForAddingTask();\n this.logger.log(JSON.stringify(response));\n\n }, error => {\n this.logger.error(JSON.stringify(error));\n }, () => {\n this.logger.info('End of getDataForAddingTask - add task component');\n }\n );\n }\n\n //OPEN RIGHT SIDE BAR FOR ADDING NEW TASK\n openSideBarForAddingTask() {\n\n this.taskTypeData = this.addTaskData.taskTypes;\n this.taskStatusData = this.addTaskData.taskStatuses;\n this.sendUserData == this.usersData;\n\n this.addTaskFG = new FormGroup({\n sender: new FormControl({ id: this.sendToData[0].id, description: this.sendToData[0].description }, Validators.required),\n receiver: new FormControl(null, Validators.required),\n taskType: new FormControl(null, Validators.required),\n taskStatus: new FormControl(null, Validators.required),\n entityType: new FormControl(),\n bkngRefNo: new FormControl(),\n subject: new FormControl(null, Validators.required),\n taskDescription: new FormControl(),\n dueDate: new FormControl(null, Validators.required),\n });\n\n }\n\n // filterResults(event: any) {\n // let query = event.query;\n //if (type == \"bookings\")\n // this.filteredBookings = this.filterBookingAutoComplete(query, this.bookingsData);\n //if (type == \"sender\")\n //this.filteredSender = this.filterAutocomplete(query, this.usersData);\n //if (type == \"receiver\")\n // this.filteredReceiver = this.filterAutocomplete(query, this.sendUserData);\n // }\n //AUTO COMPLETE BOOKING\n filterBookingAutoComplete(query: any, dataList: any[]): any[] {\n let filtered: any[] = [];\n for (let i = 0; i < dataList.length; i++) {\n let data = dataList[i];\n if (data.bookingReferenceNumber.toLowerCase().indexOf(query.toLowerCase()) == 0) {\n filtered.push(data);\n }\n }\n return filtered;\n }\n\n //filterUsers(event: any) {\n // let query = event.query;\n // this.filteredBookings = this.filterAutocomplete(query, this.usersData);\n //}\n\n // filterAutocomplete(query: any, dataList: any[]): any[] {\n // let filtered: any[] = [];\n // for (let i = 0; i < dataList.length; i++) {\n // let data = dataList[i];\n // if (data.description.toLowerCase().indexOf(query.toLowerCase()) == 0) {\n // filtered.push(data);\n // }\n // }\n // return filtered;\n // }\n //CODE TO ADD TASK\n AddTask() {\n // this.validateControls();\n if (this.addTaskFG.valid)\n {\n if(this.taskId > 0 ) //edit task\n {\n this.updateTaskData();\n }\n else\n {\n var FormValue = this.addTaskFG.value;\n let changedStatus = {id:FormValue.taskStatus.id,description:FormValue.taskStatus.description};\n var baseRequest = {\n \"senderUserId\": this.userID,\n \"sendToUserId\": FormValue.sender.id == 1 ? (FormValue.receiver != null ? FormValue.receiver.id : null) : null,\n \"sendToUserGroupId\": FormValue.sender.id == 2 ? (FormValue.receiver != null ? FormValue.receiver.id : null) : null,\n \"typeId\": FormValue.taskType != null ? FormValue.taskType.id : null,\n \"statusId\": FormValue.taskStatus != null ? FormValue.taskStatus.id : null,\n \"subject\": FormValue.subject,\n \"description\": FormValue.taskDescription,\n \"dueDate\": FormValue.dueDate == null ? \"\" : moment(FormValue.dueDate).format(this.defaultDateFormatSave)\n }\n this.logger.info('Start of AddTask - add task component');\n this.taskService.addNewTask(this.addtaskConfig.entity, this.addtaskConfig.entityId, baseRequest).subscribe(\n response => {\n this.addTaskData = null;\n response.data.changedStatus = changedStatus;\n this.logger.log(JSON.stringify(response));\n this.postSave.emit({ \"event\": \"Save\", \"data\": response });\n }, error => {\n this.logger.error(JSON.stringify(error));\n this.postSave.emit({ \"event\": \"Error\", \"data\": error });\n }, () => {\n this.logger.info('End of AddTask - add task component');\n }\n );\n }\n }\n else{\n this.commonService.markControlsAsDirty(this.addTaskFG);\n }\n\n }\n CloseSidebar() {\n this.postSave.emit({ \"event\": \"Cancel\", \"data\": null });\n }\n\n getDataForTaskEdit(selectedTaskId:any)\n {\n this.logger.info('Start of getDataForTaskEdit - add-task component');\n this.taskService.getDataForTaskEdit(this.addtaskConfig.entity,this.addtaskConfig.entityId,selectedTaskId).subscribe(\n response => {\n this.editTaskData = response.data;\n this.openSideBarForEditTask(selectedTaskId);\n this.logger.log(JSON.stringify(response));\n\n }, error => {\n this.logger.error(JSON.stringify(error));\n }, () => {\n this.logger.info('End of getDataForTaskEdit - add-task component');\n }\n );\n }\n\n openSideBarForEditTask(selectedTaskId:any) {\n var sender,receiver;\n this.taskTypeData = this.editTaskData.referenceEntities.taskTypes;\n this.taskStatusData = this.editTaskData.referenceEntities.taskStatuses;\n let taskResp = this.editTaskData.taskData;\n if(taskResp.users != null)\n {\n this.sendToLabel =\"Select User\"\n sender= { id: this.sendToData[0].id, description: this.sendToData[0].description }\n receiver = {id:taskResp.users.id, description:taskResp.users.description}\n }\n else\n {\n this.sendToLabel =\"Select Group\"\n sender= { id: this.sendToData[1].id, description: this.sendToData[1].description }\n receiver = {id:taskResp.userGroups.id, description:taskResp.userGroups.description}\n }\n\n // this.sendUserData == this.usersData;\n\n this.addTaskFG = new FormGroup({\n sender: new FormControl({ id: sender.id, description: sender.description }, Validators.required),\n receiver: new FormControl({id:receiver.id, description:receiver.description}, Validators.required),\n taskType: new FormControl({id:taskResp.type.id, description:taskResp.type.description}, Validators.required),\n taskStatus: new FormControl({id:taskResp.status.id, description:taskResp.status.description}, Validators.required),\n entityType: new FormControl(),\n bkngRefNo: new FormControl(),\n subject: new FormControl(taskResp.subject, Validators.required),\n taskDescription: new FormControl(taskResp.description),\n dueDate: new FormControl(null),\n });\n\n }\n\n updateTaskData()\n {\n // var FormValue = this.addTaskFG.value;\n if(this.addTaskFG.valid){\n var FormValue = this.addTaskFG.value;\n let changedStatus = {id:FormValue.taskStatus.id,description:FormValue.taskStatus.description};\n var baseRequest = {\n \"sendToUserId\": FormValue.sender.id == 1 && FormValue.receiver != null ? (FormValue.receiver != null ? FormValue.receiver.id : null) : null,\n \"sendToUserGroupId\": FormValue.sender.id == 2 && FormValue.receiver!=null ? (FormValue.receiver != null ? FormValue.receiver.id : null) : 0,\n \"typeId\": FormValue.taskType != null ? FormValue.taskType.id : null,\n \"statusId\": FormValue.taskStatus != null ? FormValue.taskStatus.id : null,\n \"subject\": FormValue.subject,\n \"description\": FormValue.taskDescription\n }\n\n this.logger.info('Start of updateTaskData - add-task component');\n this.taskService.updatetTaskInfo(this.addtaskConfig.entity,this.addtaskConfig.entityId,this.taskId, baseRequest).subscribe(\n response => {\n this.logger.log(JSON.stringify(response));\n response.data.isEdit = true;\n response.data.changedStatus = changedStatus;\n this.postSave.emit({ \"event\": \"Save\", \"data\": response.data });\n this.editTaskData = null;\n }, error => {\n this.logger.error(JSON.stringify(error));\n }, () => {\n this.logger.info('End of updateTaskData - add-task component');\n }\n );\n }\n else\n {\n this.commonService.markControlsAsDirty(this.addTaskFG);\n }\n\n }\n\n validateControls()\n {\n //Checking Validations and generating toasts\n Object.keys(this.addTaskFG.controls).forEach(field => {\n\n /* if (field == \"taskType\") {\n if (this.addTaskFG.value.taskType == null || this.addTaskFG.value.taskType.id <= 0) {\n this.showToast(\"Task type is required\", \"error\");\n }\n }\n\n if (field == \"taskStatus\") {\n if (this.addTaskFG.value.taskStatus == null || this.addTaskFG.value.taskStatus.id <= 0) {\n this.showToast(\"Task status is required\", \"error\");\n }\n }\n\n if (field == \"sender\") {\n if (this.addTaskFG.value.sender == null || this.addTaskFG.value.sender.id <= 0) {\n this.showToast(\"Send To is required\", \"error\");\n }\n }\n\n if (field == \"receiver\") {\n if (this.addTaskFG.value.receiver == null || this.addTaskFG.value.receiver.id <= 0) {\n this.showToast(\"Send User is required\", \"error\");\n }\n }\n */\n\n const control = this.addTaskFG.get(field);\n if (control != null)\n control.markAsDirty(); // This makes error fields red on the form\n\n });\n }\n}\n","
\n
\n
\n\n
\n \n \n \n
\n\n \n\n
\n \n \n \n
\n\n
\n \n \n \n
\n\n
\n \n \n \n
\n\n \n\n \n\n
\n \n \n
\n\n
\n \n \n
\n\n
\n \n \n \n
\n
\n
\n
\n\n","import {\n Directive,\n ElementRef,\n forwardRef,\n HostListener,\n Renderer2,\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\n@Directive({\n selector: '[appOnlyDecimals]',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => OnlyDecimalsDirective),\n multi: true,\n },\n ],\n})\nexport class OnlyDecimalsDirective implements ControlValueAccessor {\n\n private onChange!: ((val: string) => void);\n private onTouched!: (() => void);\n private value: string=\"\";\n\n constructor(private elementRef: ElementRef, private renderer: Renderer2) {}\n\n @HostListener('input', ['$event.target.value'])\n onInputChange(value: string) {\n const filteredValue: string = filterValue(value);\n this.updateTextInput(filteredValue, this.value !== filteredValue);\n }\n\n @HostListener('blur')\n onBlur() {\n this.onTouched();\n }\n\n private updateTextInput(value: string, propagateChange: boolean) {\n this.renderer.setProperty(this.elementRef.nativeElement, 'value', value);\n if (propagateChange) {\n this.onChange(value);\n }\n this.value = value;\n }\n\n // ControlValueAccessor Interface\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.renderer.setProperty(\n this.elementRef.nativeElement,\n 'disabled',\n isDisabled\n );\n }\n\n writeValue(value: any): void {\n value = value ? String(value) : '';\n this.updateTextInput(value, false);\n }\n}\n\nfunction filterValue(value:any): string {\n return value.replace(/[^0-9,.]*/g, '');\n}\n","import { Component, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-comingsoon',\r\n templateUrl: './comingsoon.component.html',\r\n styleUrls: ['./comingsoon.component.scss']\r\n})\r\nexport class ComingSoonComponent{\r\n @Input() pageTitle: string = 'unknown';\r\n\r\n isOrAre(): string{\r\n var response = 'is';\r\n if (this.pageTitle.toLowerCase().slice(-1)==='s')\r\n response= 'are';\r\n\r\n return response;\r\n };\r\n}","

{{pageTitle}} are coming soon!

\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n","import { Injectable } from '@angular/core';\nimport { Resolve,ActivatedRouteSnapshot } from '@angular/router';\nimport { passengerService } from '../../services/home/passenger.service';\nimport { Observable, of } from 'rxjs';\nimport { catchError } from 'rxjs/operators';\nimport { GlobalConstants } from '../../shared/global-constants';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class PaxinfoResolverService implements Resolve {\n constructor(private apiService: passengerService) {}\n\n resolve(route: ActivatedRouteSnapshot) : Observable {\n GlobalConstants.PassengerID = Number(route.paramMap.get('id'));\n return this.apiService.getPassagengrDetails((route.paramMap.get('id')||\"0\"));\n }\n}\n","import { Component, OnInit,Output,EventEmitter,Input,OnChanges,SimpleChanges } from '@angular/core';\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\nimport { CommonService } from 'src/app/services/common/common.service';\nimport { AppConfigService } from 'src/app/services/common/app-config.service';\nimport { TranslateService } from '@ngx-translate/core';\nimport { passengerService } from 'src/app/services/home/passenger.service';\n\n@Component({\n selector: 'app-passenger-details',\n templateUrl: './passenger-details.component.html',\n styleUrls: ['./passenger-details.component.scss']\n})\nexport class PassengerDetailsComponent implements OnInit,OnChanges {\n\n @Input() config :any = {};\n @Input() update :boolean = false;\n @Output() onNext = new EventEmitter();\n @Output() onBack = new EventEmitter();\n @Output() updateChange = new EventEmitter();\n\n dobCalenderMinDate:Date;\n dobCalenderMaxDate:Date;\n dobCalenderYearRange:Date;\n\n multilingual : any = {};\n passengerDetailForm : FormGroup;\n classTypes:any[]=[];\n commTypes:any[]=[];\n genders:any[]=[];\n statuses:any[]=[];\n languages:any[]=[];\n nationalities:any[]=[];\n preferrenceTypes:any[]=[]\n searchedPreferredUsers:any[]=[]\n\n constructor(public commonService:CommonService,public translate:TranslateService,public passengerService:passengerService) {\n this.translate.get([\"SharedComponents.PassengerDetails\"]).subscribe((response: any) => {\n this.multilingual = response['SharedComponents.PassengerDetails'];\n });\n this.dobCalenderMinDate = commonService.pastCalenderDateConfig.defaultDMinDate;\n this.dobCalenderMaxDate = commonService.pastCalenderDateConfig.defaultMaxDate;\n this.dobCalenderYearRange = commonService.pastCalenderDateConfig.defaultYearRange;\n\n this.passengerDetailForm = this.getPassengerDetailsForm();\n }\n\n ngOnInit(): void {\n this._setModels();\n }\n\n ngOnChanges(changes:SimpleChanges):void{\n if(this._isUpdate(changes)){\n this._onInputModelUpdate();\n }\n }\n\n _isUpdate(changes:SimpleChanges):Boolean{\n return changes.update\n && !changes.update.firstChange\n && changes.update.currentValue\n && changes.update.previousValue != changes.update.currentValue\n }\n\n _onInputModelUpdate(){\n this._setModels();\n this.update = false;\n this.updateChange.emit(this.update);\n }\n\n _setModels(){\n this.passengerDetailForm = this.getPassengerDetailsForm();\n this.classTypes = this.config.passengerClasses;\n this.commTypes = this.config.communicationTypes;\n this.genders = this.config.genderTypes;\n this.statuses = this.config.passengerStatuses;\n this.languages = this.config.languageTypes;\n this.nationalities = this.config.nationalities;\n this.preferrenceTypes = this.config.preferenceTypes;\n this._setFormValues(this.config.newPassenger)\n }\n\n _setFormValues(newPassenger:any={}){\n this.passengerDetailForm.patchValue({\n classType : newPassenger.classType,\n commType : newPassenger.commType,\n gender : newPassenger.gender,\n // dateOfBirth : newPassenger.dateOfBirth,\n // age : newPassenger.age,\n status : newPassenger.status,\n nationality : newPassenger.nationality,\n language : newPassenger.language,\n shortNote : newPassenger.shortNote,\n preferrenceType : newPassenger.preferrenceType,\n preferredUser : newPassenger.preferredUser,\n nameSuffix : newPassenger.nameSuffix,\n knownAs : newPassenger.knownAs,\n })\n }\n\n getPassengerDetailsForm(){\n return new FormGroup({\n classType:new FormControl(null,[Validators.required]),\n commType:new FormControl(null,[Validators.required]),\n gender:new FormControl(null,[Validators.required]),\n //dateOfBirth:new FormControl(),\n //age:new FormControl(),\n status:new FormControl(null,[Validators.required]),\n nationality:new FormControl(null,[Validators.required]),\n language:new FormControl(null,[Validators.required]),\n shortNote:new FormControl(),\n preferrenceType:new FormControl(),\n preferredUser:new FormControl(),\n nameSuffix:new FormControl(),\n knownAs:new FormControl(),\n })\n }\n\n onClickBack(){\n this.onBack.emit({event:\"onBack\",data:this.getPassengerDetails()})\n }\n\n onClickNext(){\n if(this.passengerDetailForm.valid){\n this.onNext.emit({event:\"onNext\",data:this.getPassengerDetails()})\n }\n else{\n this.commonService.markControlsAsDirty(this.passengerDetailForm)\n }\n }\n\n getPassengerDetails(){\n let formValue = this.passengerDetailForm.value;\n return {\n classType: formValue.classType,\n commType: formValue.commType,\n gender:formValue.gender,\n //dateOfBirth: formValue.dateOfBirth,\n // age: formValue.age,\n status: formValue.status,\n nationality: formValue.nationality,\n language: formValue.language,\n shortNote: formValue.shortNote,\n preferrenceType: formValue.preferrenceType,\n preferredUser: formValue.preferredUser,\n nameSuffix: formValue.nameSuffix,\n knownAs: formValue.knownAs,\n }\n }\n\n searchPreferredUsers(event:any){\n this.passengerService.getUsers(event.query).subscribe(response=>{\n this.searchedPreferredUsers = response.data;\n },error=>{\n this.searchedPreferredUsers = [];\n })\n }\n\n}\n","
\n
\n
\n\n
\n \n \n \n
\n\n
\n \n \n \n
\n\n
\n \n \n \n
\n\n \n\n\n
\n \n \n \n
\n\n\n
\n \n \n \n
\n\n\n
\n \n \n \n
\n\n
\n \n \n
\n\n
\n \n \n \n
\n\n
\n \n \n
\n
\n
{{country.description}}
\n
\n
\n
\n
\n \n
\n\n
\n \n \n
\n\n
\n \n \n
\n\n
\n
\n
\n\n
\n \n \n
\n","import { HttpClient } from '@angular/common/http';\nimport { Component, OnInit } from '@angular/core';\nimport { FormControl, FormGroup } from '@angular/forms';\nimport { Router, NavigationExtras } from '@angular/router';\nimport { passengerService } from 'src/app/services/home/passenger.service';\nimport { GlobalConstants } from 'src/app/shared/global-constants';\nimport _ from 'lodash';\nimport { TranslateService } from '@ngx-translate/core';\nimport { AuthService } from 'src/app/services/common/auth.service';\nimport { CommonService } from 'src/app/services/common/common.service';\n\ndeclare var OpenNewCRMInstance: any;\n\n@Component({\n selector: 'app-dashboard-agent',\n templateUrl: './dashboard-agent.component.html',\n styleUrls: ['./dashboard-agent.component.scss']\n})\n\nexport class DashboardAgentComponent implements OnInit {\n searchAgentFG: FormGroup;\n filteredAgents: any[] = [];\n calledFromV2: boolean = false;\n isCreateAgent: boolean = false;\n multilingual: any = {};\n\n constructor(private http: HttpClient, private router: Router, private commonService: CommonService,\n private translateService: TranslateService, private authService: AuthService) {\n this.searchAgentFG = new FormGroup({\n AgentInfo: new FormControl()\n });\n this.translateService.setDefaultLang('en');\n let arrTranslate = [\"Dashboard\"];\n this.translateService.get(arrTranslate).subscribe((response: any) => {\n this.multilingual = response['Dashboard'];\n });\n }\n\n ngOnInit(): void {\n this.calledFromV2 = false; //Boolean(window.sessionStorage.getItem(\"CRMFromV2\") ??\"false\");\n this.loadTSv2Data();\n }\n\n filterAgentSearchResults(event: any) {\n let query = event.query;\n GlobalConstants.AgentSearchText = query;\n this.commonService.searchAgentsByName(query).subscribe(\n (response) => {\n this.filteredAgents = response.data;\n }, (error) => {\n this.filteredAgents = [{}];\n /*switch (error.status) {\n case 400:\n this.filteredPassengers = [{}];\n break;\n }*/\n }, () => {\n }\n );\n }\n\n openAgentInfo() {\n var FormValue = this.searchAgentFG.value;\n let agentId = FormValue.AgentInfo != null ? FormValue.AgentInfo.id : null;\n this._onAgentSelect(agentId, FormValue.AgentInfo.agentName);\n }\n\n _onAgentSelect(agentID: number, agentName: string) {\n if (agentID != null && agentID > 0) {\n GlobalConstants.AgentID = agentID;\n let URL = \"agent/\" + agentID + \"/home/\";\n\n if (this.calledFromV2) {\n OpenNewCRMInstance(URL, 'CRM-' + agentName);\n }\n else {\n this.router.navigate([URL]);\n }\n }\n }\n searchAgent() {\n let URL = \"agentsearch/\"\n this.router.navigate([URL]);\n }\n\n loadTSv2Data() {\n if (GlobalConstants.calledFromTSv2) {\n var token = window.sessionStorage.getItem('CRMJWT');\n if (token == null || this.authService.tokenExpired(token)) {\n this.authService.authenticate(null).subscribe(\n (response) => {\n window.sessionStorage.setItem('CRMJWT', response);\n }, (error) => {\n\n }, () => {\n }\n );\n }\n }\n }\n\n onCreateAgent(event: any = {}) {\n let agent = event.data ? event.data.agent : null;\n if (agent) {\n this._onAgentSelect(agent.id, agent.name);\n }\n }\n}\n","
\n
\n\n
\n \n \n
\n
Dashboard.WelcomeToText
\n
Dashboard.PageLable
\n
Dashboard.SearchOrCreateAgentText
\n
\n
\n
\n
\n \n
\n\n
\n
\n
Dashboard.Agent
\n
\n \n
\n
\n\n
\n
\n
\n
\n
\n \n\n \n
\n
\n
{{agent.agentName}}
\n {{agent.agentType}}\n\n
\n
\n
\n
\n
\n
\n
\n \n
\n\n
\n
\n
\n
\n
\n\n\n\n\n\n","import { Component, OnInit, EventEmitter, Output } from '@angular/core';\nimport { GlobalConstants } from 'src/app/shared/global-constants';\nimport { TranslateService } from '@ngx-translate/core';\nimport { passengerService } from 'src/app/services/home/passenger.service';\nimport { CommonService } from 'src/app/services/common/common.service';\nimport { LoggingService } from 'src/app/services/common/logging.service';\n\nimport { HttpClient } from '@angular/common/http';\nimport { FormGroup, FormControl, Validators } from '@angular/forms';\n\n@Component({\n selector: 'app-add-note',\n templateUrl: './add-note.component.html',\n styleUrls: ['./add-note.component.css']\n})\nexport class AddNoteComponent implements OnInit {\n @Output() postSave = new EventEmitter();\n paxId = \"0\";\n userName = \"irs\";\n noteTypeData: any;\n noteStatusData: any;\n noteLanguageData: any;\n addNoteFG: FormGroup;\n addNoteData: any;\n uploadedFiles: any[] = [];\n\n constructor(private http: HttpClient, private translate: TranslateService, public passengerService: passengerService,\n private logger: LoggingService, private commonService: CommonService) {\n this.paxId = GlobalConstants.PassengerID.toString();\n this.userName = GlobalConstants.UserName.toString();\n\n //FORM GROUP FOR ADDING NOTE\n this.addNoteFG = new FormGroup({\n noteType: new FormControl(null, Validators.required),\n noteStatus: new FormControl(null, Validators.required),\n noteLanguage: new FormControl(null, Validators.required),\n subject: new FormControl(null, Validators.required),\n notes: new FormControl(),\n attachDesc: new FormControl(),\n attachData: new FormControl(),\n userName: new FormControl()\n });\n }\n\n ngOnInit(): void {\n if (this.addNoteData == null) {\n this.getDataForAddingNote();\n }\n }\n\n //GET DATA FOR ADDING NEW NOTE\n getDataForAddingNote() {\n this.logger.info('Start of getDataForAddingNote - add note component');\n this.passengerService.getNewNoteInfo(this.paxId).subscribe(\n response => {\n this.addNoteData = response.data;\n this.openSideBarForAddingNote();\n this.logger.log(JSON.stringify(response));\n }, error => {\n this.logger.error(JSON.stringify(error));\n }, () => {\n this.logger.info('End of getDataForAddingNote - add note component');\n }\n );\n }\n\n\n //CODE TO REMOVE ATTACHED FILE WHILE ADDING NOTE\n removeFile() {\n this.uploadedFiles.splice(0, 1);\n }\n\n //ADD ATTACHED FILE TO THE ARRAY\n onSelect(event: any) {\n\n this.uploadedFiles = [];\n for (let file of event.files) {\n this.uploadedFiles.push(file);\n }\n\n }\n\n //CODE TO OPEN SIDE BAR FOR ADDING NOTE\n openSideBarForAddingNote() {\n\n this.noteTypeData = this.addNoteData.noteTypes;\n this.noteStatusData = this.addNoteData.noteStatuses;\n this.noteLanguageData = this.addNoteData.languages;\n\n this.addNoteFG = new FormGroup({\n noteType: new FormControl((this.noteTypeData != undefined && this.noteTypeData.length > 0) ? { id: this.noteTypeData[0].id, description: this.noteTypeData[0].description } : null, Validators.required),\n noteStatus: new FormControl((this.noteStatusData != undefined && this.noteStatusData.length > 0) ? { id: this.noteStatusData[0].id, description: this.noteStatusData[0].description } : null, Validators.required),\n noteLanguage: new FormControl((this.noteLanguageData != undefined && this.noteLanguageData.length > 0) ? { id: this.noteLanguageData[0].id, description: this.noteLanguageData[0].description } : null, Validators.required),\n subject: new FormControl(null, Validators.required),\n notes: new FormControl(),\n attachDesc: new FormControl(),\n attachData: new FormControl(),\n userName: new FormControl(this.userName)\n });\n\n }\n //CODE TO ADD NOTE\n AddNote() {\n\n var FormValue = this.addNoteFG.value;\n let fileReader = new FileReader();\n let fileData: string | ArrayBuffer = \"\";\n let fileName = \"\";\n\n //Checking Validations and generating toasts\n /* Object.keys(this.addNoteFG.controls).forEach(field => {\n\n if (field == \"noteType\") {\n if (this.addNoteFG.value.noteType == null || this.addNoteFG.value.noteType.id <= 0) {\n //this.showToast(\"Note type is required\", \"error\");\n }\n }\n\n if (field == \"noteStatus\") {\n if (this.addNoteFG.value.noteStatus == null || this.addNoteFG.value.noteStatus.id <= 0) {\n //this.showToast(\"Note status is required\", \"error\");\n }\n }\n\n if (field == \"noteLanguage\") {\n if (this.addNoteFG.value.noteLanguage == null || this.addNoteFG.value.noteLanguage.id <= 0) {\n //this.showToast(\"Note language is required\", \"error\");\n }\n }\n const control = this.addNoteFG.get(field);\n if (control != null)\n control.markAsDirty(); // This makes error fields red on the form\n\n });\n*/\n\n\n if (this.addNoteFG.valid) {\n\n if (this.uploadedFiles != undefined && this.uploadedFiles.length > 0) {\n fileName = this.uploadedFiles[0].name;\n\n let file = this.uploadedFiles[0];\n fileReader.readAsDataURL(file);\n fileReader.onload = function () {\n fileData = (fileReader.result != undefined ? fileReader.result : \"\");\n };\n }\n\n var baseRequest = {\n\n \"attachment\": fileName != \"\" ? ({\n \"description\": fileName,\n \"data\": fileData\n }) : null,\n\n \"date\": new Date(),\n \"username\": FormValue.userName,\n \"typeId\": FormValue.noteType != null ? FormValue.noteType.id : null,\n \"statusId\": FormValue.noteStatus != null ? FormValue.noteStatus.id : null,\n \"origin\": \"User Note\",\n \"subject\": FormValue.subject,\n \"text\": FormValue.notes != null ? FormValue.notes : \"\",\n \"languageId\": FormValue.noteLanguage != null ? FormValue.noteLanguage.id : null,\n \"endDate\": new Date(),\n \"eventDate\": new Date(),\n \"isNoteDisplayInBooking\": false,\n \"isNoteEditableInBooking\": false,\n \"isNoteDisplayInRailSearch\": false,\n \"isNoteDisplayInAPI\": false\n\n }\n\n this.logger.info('Start of AddNote - add note component');\n this.passengerService.addNewNote(this.paxId, baseRequest).subscribe(\n response => {\n //ADDING NEW NOTE TO THE TOP OF THE LIST\n this.addNoteData = null;\n //this.showToast(\"Note Addes Successfully\", \"success\")\n this.logger.log(JSON.stringify(response));\n this.postSave.emit({ \"event\": \"Save\", \"data\": response.data });\n }, error => {\n this.logger.error(JSON.stringify(error));\n //this.showToast(\"Error while adding Note\", \"error\")\n this.postSave.emit({ \"event\": \"Error\", \"data\": error });\n }, () => {\n this.logger.info('End of AddNote - add note component');\n\n }\n );\n }\n else{\n this.commonService.markControlsAsDirty(this.addNoteFG);\n }\n }\n\n CloseSidebar() {\n this.postSave.emit({ \"event\": \"Cancel\", \"data\": null });\n }\n}\n","
\n
\n
\n\n
\n \n \n \n
\n\n
\n \n \n \n
\n\n
\n \n \n \n
\n\n
\n \n \n
\n\n
\n \n \n
\n\n
\n \n \n
\n {{uploadedFiles[0].name}}\n
\n \n
\n
\n
\n
\n
\n\n
\n
\n
\n\n","import { Injectable } from '@angular/core';\nimport {\n HttpRequest,\n HttpHandler,\n HttpEvent,\n HttpInterceptor,\n HttpResponse\n} from '@angular/common/http';\nimport { Observable, of } from 'rxjs';\nimport { RequestCacheService } from '../services/common/request-cache.service';\nimport { tap } from 'rxjs/operators';\n\n@Injectable()\nexport class CachingInterceptor implements HttpInterceptor {\n\n constructor(private cache: RequestCacheService) {}\n\n intercept(request: HttpRequest, next: HttpHandler): Observable> {\n if(request.method !== \"GET\") {\n return next.handle(request)\n }\n const cachedResponse = this.cache.get(request);\n return cachedResponse ? of(cachedResponse) : this.sendRequest(request, next, this.cache);\n }\n\n sendRequest(\n req: HttpRequest,\n next: HttpHandler,\n cache: RequestCacheService): Observable> {\n return next.handle(req).pipe(\n tap(event => {\n if (event instanceof HttpResponse) {\n this.cache.put(req, event);\n }\n })\n );\n }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Component, OnInit, Output,EventEmitter, Input } from '@angular/core';\nimport { FormControl, FormGroup,Validators} from '@angular/forms';\n\nimport { LoggingService } from 'src/app/services/common/logging.service';\nimport { passengerService } from 'src/app/services/home/passenger.service';\nimport { CommonService } from 'src/app/services/common/common.service';\nimport {TranslateService} from '@ngx-translate/core';\nimport { GlobalConstants } from '../global-constants';\nimport { DatePipe } from '@angular/common';\nimport { AppConfigService } from 'src/app/services/common/app-config.service';\nimport moment from 'moment';\nimport _ from 'lodash';\n\n@Component({\n selector: 'app-edit-basic-info',\n templateUrl: './edit-basic-info.component.html',\n styleUrls: ['./edit-basic-info.component.css']\n})\nexport class EditBasicInfoComponent implements OnInit {\n\n editBasicInfo: FormGroup;\n editBasicInfoData: any;\n\n titleTypeData = [];\n communicationTypeData = [];\n passengerTypeData = [];\n nationalityTypeData: any[] = [];\n languageTypeData = [];\n genderTypeData = [];\n passengerClassData: [] = [];\n passengerStatusData = [];\n sourceTypeData = [];\n preferenceTypeData = [];\n paxId = \"\";\n yearRange=\"\";\n @Output() postUpdate = new EventEmitter();\n\n constructor(private http: HttpClient, private logger: LoggingService, private translate: TranslateService,\n public passengerService: passengerService, public commonService: CommonService,private datePipe: DatePipe) {\n\n //BASIC INFO EDIT FORM\n this.editBasicInfo = new FormGroup({\n titleType: new FormControl(null, Validators.required),\n communicationType: new FormControl(null, Validators.required),\n passengerType: new FormControl(null, Validators.required),\n nationalityType: new FormControl(null, Validators.required),\n languageType: new FormControl(null, Validators.required),\n genderType: new FormControl(null, Validators.required),\n passengerClass: new FormControl(null,[Validators.required]),\n passengerStatus: new FormControl(null,[Validators.required]),\n sourceType: new FormControl(),\n preferenceType: new FormControl(),\n FirstName: new FormControl(null, Validators.required),\n LastName: new FormControl(null, Validators.required),\n Initials: new FormControl(),\n Email: new FormControl(),\n Telephone: new FormControl(),\n DOB: new FormControl(),\n PaxID: new FormControl(),\n Suffix: new FormControl()\n });\n\n }\n\n ngOnInit(): void {\n this.paxId = GlobalConstants.PassengerID.toString();\n this.yearRange =\n new Date().getFullYear() - 100 + ':' + new Date().getFullYear();\n if (this.editBasicInfoData == null) {\n this.getBasicInfoForEdit();\n }\n }\n\n //NATIONALITY TYPEAHEAD\n filterNationalityType(event: any) {\n let query = event.query;\n this.logger.info('Start of filterNationalityType - edit-basic-info component');\n this.commonService.SearchNationalityByName(query).subscribe(\n (response) => {\n this.nationalityTypeData = response.data;\n this.logger.log(response);\n }, (error) => {\n switch (error.status) {\n case 400:\n this.nationalityTypeData = [{}];\n break;\n }\n this.logger.log(error);\n }, () => {\n this.logger.info('End of filterNationalityType - edit-basic-info component');\n }\n );\n }\n\n //GET EDIT INFO FOR BASIC DETAILS\n getBasicInfoForEdit() {\n this.logger.info('Start of getBasicInfoForEdit - edit-basic-info component');\n this.passengerService.editPassengerBasicInfo(this.paxId).subscribe(\n response => {\n this.editBasicInfoData = response.data;\n this.logger.log(JSON.stringify(response));\n this.openSideBarForBasicInfoEdit();\n }, error => {\n this.logger.error(JSON.stringify(error));\n }, () => {\n this.logger.info('End of getBasicInfoForEdit - edit-basic-info component');\n }\n );\n }\n\n //OPEN RIGHT SIDE BAR FOR EDITING BASIC INFO\n openSideBarForBasicInfoEdit() {\n\n // var passengerClass : EntityType;\n let paxData = this.editBasicInfoData.passengerInformationData;\n let titleType = paxData.contactTitleType;\n let communicationType = paxData.communicationType;\n let passengerType = paxData.passengerType;\n let nationalityType = paxData.nationalityType;\n let languageType = paxData.languageType;\n let genderType = paxData.genderType;\n let passengerClass = paxData.passengerClass;\n // this.paxClassType = {id:paxData.passengerClass.id,description:paxData.passengerClass.description};\n let passengerStatus = paxData.passengerStatus;\n let sourceType = paxData.sourceType;\n let preferenceType = paxData.preferenceType;\n\n if (this.editBasicInfoData.referenceEntities != undefined) {\n let refEntitiesData = this.editBasicInfoData.referenceEntities;\n this.titleTypeData = refEntitiesData.contactTitleTypes != undefined ? refEntitiesData.contactTitleTypes : null;\n this.communicationTypeData = refEntitiesData.communicationTypes != undefined ? refEntitiesData.communicationTypes : null;\n this.passengerTypeData = refEntitiesData.passengerTypes != undefined ? refEntitiesData.passengerTypes : null;\n\n this.languageTypeData = refEntitiesData.languageTypes != undefined ? refEntitiesData.languageTypes : null;\n this.genderTypeData = refEntitiesData.genderTypes != undefined ? refEntitiesData.genderTypes : null;\n this.passengerClassData = refEntitiesData.passengerClasses != undefined ? refEntitiesData.passengerClasses : null;\n this.passengerStatusData = refEntitiesData.passengerStatuses != undefined ? refEntitiesData.passengerStatuses : null;\n this.sourceTypeData = refEntitiesData.sourceTypes != undefined ? refEntitiesData.sourceTypes : null;\n this.preferenceTypeData = refEntitiesData.preferenceTypes != undefined ? refEntitiesData.preferenceTypes : null;\n\n languageType = _.find(this.languageTypeData,{id:languageType.id})\n }\n\n this.editBasicInfo = new FormGroup({\n titleType: new FormControl(titleType != undefined ? { id: titleType.id, description: titleType.description } : null, Validators.required),\n communicationType: new FormControl(communicationType != undefined ? { id: communicationType.id, description: communicationType.description } : null,[Validators.required]),\n passengerType: new FormControl(passengerType != undefined ? { id: passengerType.id, description: passengerType.description } : null, Validators.required),\n nationalityType: new FormControl(nationalityType != undefined ? { id: nationalityType.id, description: nationalityType.description } : null, Validators.required),\n languageType: new FormControl(languageType, Validators.required),\n genderType: new FormControl(genderType != undefined ? { id: genderType.id, description: genderType.description } : null, Validators.required),\n passengerClass: new FormControl(passengerClass != undefined ? { backColorHex: passengerClass.backColorHex, id: passengerClass.id, description: passengerClass.description } : null,Validators.required),\n passengerStatus: new FormControl(passengerStatus != undefined ? { id: passengerStatus.id, description: passengerStatus.description } : null, Validators.required),\n sourceType: new FormControl(sourceType != undefined ? { parentId: (sourceType.parentId != undefined ? sourceType.parentId : 0), id: sourceType.id, description: sourceType.description } : null),\n preferenceType: new FormControl(preferenceType != undefined ? { id: preferenceType.id, description: preferenceType.description } : null),\n\n FirstName: new FormControl(paxData.firstName, Validators.required),\n LastName: new FormControl(paxData.lastName, Validators.required),\n Initials: new FormControl(paxData.initials),\n Email: new FormControl(paxData.email),\n Telephone: new FormControl(paxData.telephoneNo),\n DOB: new FormControl(paxData.dateOfBirth),\n PaxID: new FormControl(paxData.id),\n Suffix:new FormControl(paxData.suffix)\n });\n\n }\n\n //UPDATE BASIC INFO -->CALLED ON CLICK OF SAVE BUTTON ON RIGHT SIDE BAR\n updateBasicInfo() {\n\n if (this.editBasicInfo.valid) {\n var FormValue = this.editBasicInfo.value;\n let paxDOB=new Date(FormValue.DOB);\n var BaseRequest = {\n\n \"firstName\": FormValue.FirstName.trim(),\n \"lastName\": FormValue.LastName,\n \"initials\": FormValue.Initials,\n \"email\": FormValue.Email,\n \"telephoneNo\": FormValue.Telephone,\n \"dateOfBirth\": FormValue.DOB !=null?moment(FormValue.DOB).format(AppConfigService.settings.env.defaultDateFormatSave):null,\n \"contactTitleTypeId\": FormValue.titleType != null ? FormValue.titleType.id : null,\n \"communicationTypeId\": FormValue.communicationType != null && FormValue.communicationType.id > 0 ? FormValue.communicationType.id : null,\n \"passengerTypeId\": FormValue.passengerType != null ? FormValue.passengerType.id : null,\n \"nationalityTypeId\": FormValue.nationalityType != null && FormValue.nationalityType.id > 0 ? FormValue.nationalityType.id : null,\n \"preferenceTypeId\": FormValue.preferenceType != null && FormValue.preferenceType.id > 0 ? FormValue.preferenceType.id : null,\n \"genderId\": FormValue.genderType != null && FormValue.genderType.id>0 ? FormValue.genderType.id : null,\n \"passengerStatusId\": FormValue.passengerStatus != null && FormValue.passengerStatus.id > 0 ? FormValue.passengerStatus.id : null,\n \"languageId\": FormValue.languageType != null && FormValue.languageType.id >0 ? FormValue.languageType.id : null,\n \"passengerClassId\": FormValue.passengerClass != null && FormValue.passengerClass.id > 0? FormValue.passengerClass.id : null,\n \"sourceTypeId\": FormValue.sourceType != null && FormValue.sourceType.id >0 ? FormValue.sourceType.id : null,\n \"suffix\": FormValue.Suffix,\n }\n\n this.logger.info('Start of updateBasicInfo - edit-basic-info component');\n this.passengerService.updatePassengerBasicInfo(this.paxId, BaseRequest).subscribe(\n response => {\n this.logger.log(JSON.stringify(response));\n this.editBasicInfoData = null;\n this.postUpdate.emit({ \"event\": \"Save\", \"data\": response });\n }, error => {\n this.logger.error(JSON.stringify(error));\n this.postUpdate.emit({ \"event\": \"Error\", \"data\": error });\n }, () => {\n this.logger.info('End of updateBasicInfo - edit-basic-info component');\n }\n );\n }\n else{\n this.commonService.markControlsAsDirty(this.editBasicInfo)\n }\n }\n\n //CLOSE SIDE BAR\n Close() {\n this.postUpdate.emit({ \"event\": \"Cancel\", \"data\": null });\n }\n}\n","
\n
\n
\n
\n \n \n \n
\n\n
\n \n \n
\n\n
\n \n \n
\n\n
\n \n \n
\n\n
\n \n \n
\n\n
\n \n \n \n
\n\n
\n \n \n \n
\n\n
\n \n \n \n
\n\n
\n \n \n \n
\n\n
\n \n \n \n
\n\n
\n \n \n \n
\n\n \n\n
\n \n \n \n
\n\n
\n \n \n \n
\n\n
\n \n \n
\n\n
\n \n \n
\n
\n
\n
\n\n","import { Component, OnInit, HostListener,ViewChild } from '@angular/core';\nimport { FormGroup, FormControl } from '@angular/forms';\nimport { AppConfigService } from 'src/app/services/common/app-config.service';\nimport { GlobalConstants } from 'src/app/shared/global-constants';\nimport { TranslateService } from '@ngx-translate/core';\nimport { CommonService } from 'src/app/services/common/common.service';\nimport { LoggingService } from 'src/app/services/common/logging.service';\nimport { LazyLoadEvent } from 'primeng/api';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { Table } from 'primeng/table';\n\n@Component({\n selector: 'app-agent-search',\n templateUrl: './agent-search.component.html',\n styleUrls: ['./agent-search.component.scss']\n})\nexport class AgentSearchComponent implements OnInit {\n\n @ViewChild('dtResult', { static: true }) table: any;\n @HostListener('keydown.enter', ['$event'])\n handleKeyDown(event: KeyboardEvent) {\n this.search();\n }\n\n\n searchAgentsFG: FormGroup;\n searchResponse:any;\n originalSearchResponse:any;\n recordsPerPage =25;\n loading = false;\n totalRecords=0;\n isCreateAgent:boolean=false;\n pagination : any ={}\n paginationString=\"\"\n multilingual : any = {};\n agentGroups:any=[];\n agentTypes:any=[];\n\n constructor(private translate: TranslateService,\n private logger: LoggingService, private commonService:CommonService, private router:Router,\n private activatedRoute: ActivatedRoute) {\n //INITIALISE FORM GROUP FOR SEARCHING AGENTS\n this.searchAgentsFG = new FormGroup({\n name: new FormControl(null),\n address: new FormControl(),\n email: new FormControl(),\n type: new FormControl(),\n agentCode: new FormControl(),\n agentGroups: new FormControl(),\n smcId: new FormControl()\n });\n this.pagination = AppConfigService.settings.env.pagination;\n }\n\n search(){\n let event: any;\n this.table.clear();\n this.searchAgents(event);\n }\n\n getBaseRequest(event: LazyLoadEvent) {\n\n var FormValue = this.searchAgentsFG.value;\n GlobalConstants.AgentSearchText = FormValue.name;\n\n //let filterApplied:boolean=false;\n var filterInfo: any = []\n let typeIDs :number[]=[]\n //let typeMatchCode =\"any\";\n let groupIDs :number[]=[]\n //let groupMatchCode =\"any\";\n\n filterInfo = event.filters != undefined ? event.filters[\"type\"] : [{}];\n if (filterInfo != null && filterInfo.length > 0 && filterInfo[0].value != null) {\n let typesValue = filterInfo[0].value;\n //typeMatchCode=filterInfo[0].matchMode||\"any\";\n //filterApplied=true;\n typesValue.forEach((element: any) => {\n typeIDs.push(this.agentTypes.filter((a:any)=>a.description == element)[0].id);\n })\n //if(typesValue.length == 0){\n //typeIDs.push(0);\n // typeMatchCode=\"any\"\n //filterApplied=false;\n //}\n }else{\n if(FormValue.type!=null){typeIDs.push(FormValue.type.id)};\n }\n\n filterInfo = event.filters != undefined ? event.filters[\"agentGroups\"] : [{}];\n if (filterInfo != null && filterInfo.length > 0 && filterInfo[0].value != null) {\n let groupsValue = filterInfo[0].value;\n //groupMatchCode=filterInfo[0].matchMode||\"any\";\n //filterApplied=true;\n groupsValue.forEach((element: any) => {\n groupIDs.push(this.agentGroups.filter((a:any)=>a.description == element)[0].id);\n })\n //if(groupsValue.length == 0){\n // groupIDs.push(0);\n // groupMatchCode=\"any\"\n //filterApplied=false;\n //}\n } else{\n if(FormValue.agentGroups!=null){groupIDs.push(FormValue.agentGroups.id);}\n }\n //if(groupIDs.length<=0 && typeIDs.length<=0) {\n // filterApplied=false;\n //}\n return {\n \"id\": FormValue == undefined ? 0 : Number(FormValue.agentId==undefined?0:FormValue.agentId),\n \"agentName\": {\n \"name\": FormValue.name\n },\n \"address\": {\n \"postCode\": \"\",\n \"street\": FormValue.address,\n \"city\": \"\",\n \"stateId\": 0,\n \"countryId\": 0,\n \"phone\": \"\",\n \"email\": FormValue.email\n },\n \"otherDetails\": {\n \"agentCode\": FormValue.agentCode,\n \"groupId\": groupIDs,\n \"typeId\": typeIDs,\n \"smcId\": FormValue.smcId??0\n }\n }\n }\n\n\n searchAgents(event: LazyLoadEvent) {\n this.logger.info('Start of searchAgents - agent-search component');\n let pageNumber = 1\n if (event != null) {\n pageNumber = ((event.first != undefined && event.first > 0) ? Math.ceil(event.first / (event.rows ?? this.recordsPerPage)) + 1 : 1);\n this.recordsPerPage = event.rows ?? this.recordsPerPage;\n }\n\n this.loading = true;\n this.commonService.SearchAgents(this.getBaseRequest(event),pageNumber, this.recordsPerPage).subscribe(\n response => {\n if(response && response.data){\n this.searchResponse = this.originalSearchResponse =response.data;\n this.paginationString =\"Showing \"+ response.pagination.showingRecordsFrom +\" to \"+ response.pagination.showingRecordsTo +\" of \"+ response.pagination.totalRecords;\n this.mapPaginationObject(response.pagination);\n this.logger.log(JSON.stringify(response));\n }\n else{\n this.searchResponse = this.originalSearchResponse = null;\n this.paginationString =\"\"\n this.mapPaginationObject();\n }\n\n }, error => {\n this.searchResponse = this.originalSearchResponse = null;\n this.logger.log(JSON.stringify(error));\n this.loading = false;\n this.paginationString=\"\";\n }, () => {\n this.logger.info('End of searchAgents - agent-search component');\n this.loading = false;\n }\n );\n\n }\n\n mapPaginationObject(paginationObj:any = null){\n if(paginationObj){\n this.pagination.pageSize = paginationObj.pageSize;\n this.pagination.rowsPerPageOptions = paginationObj.pageSizeOptions;\n this.pagination.pageNumber = paginationObj.pageNumber;\n this.pagination.totalRecords = paginationObj.totalRecords;\n }\n else{\n this.pagination.pageSize = 1;\n this.pagination.rowsPerPageOptions = [10,20,30];\n this.pagination.pageNumber = 1;\n this.pagination.totalRecords = 0;\n }\n }\n\n ngOnInit(): void {\n let arrTranslate = [\"AgentSearch\"];\n this.getAllAgentGroups();\n this.getAllAgentTypes();\n this.translate.get(arrTranslate).subscribe((response: any) => {\n this.multilingual = response['AgentSearch'];\n\n let agentName = this.activatedRoute.snapshot.paramMap.get('agentname') || \"\";\n if (agentName != \"\" && agentName) {\n this.searchAgentsFG = new FormGroup({\n name: new FormControl(agentName),\n address: new FormControl(),\n email: new FormControl(),\n type: new FormControl(),\n agentCode: new FormControl(),\n agentGroups: new FormControl(),\n smcId: new FormControl()\n });\n }\n });\n }\n\n getAllAgentGroups(){\n this.logger.info('Start of getAllAgentGroups - agent-search component');\n this.commonService.getAllAgentGroups().subscribe (\n response => {\n this.agentGroups = response.data;\n this.logger.log(JSON.stringify(response));\n }, error=>{\n this.agentGroups = [];\n this.logger.error(JSON.stringify(error));\n },()=>\n {\n this.logger.info('End of getAllAgentGroups - gent-search component');\n }\n );\n }\n\n getAllAgentTypes(){\n this.logger.info('Start of getAllAgentTypes - agent-search component');\n this.commonService.getAllAgentTypes().subscribe (\n response => {\n this.agentTypes = response.data;\n this.logger.log(JSON.stringify(response));\n }, error=>{\n this.agentTypes = [];\n this.logger.error(JSON.stringify(error));\n },()=>\n {\n this.logger.info('End of getAllAgentTypes - gent-search component');\n }\n );\n }\n\n openAgentHome(objPax:any){\n GlobalConstants.AgentID=objPax.personalDetails.id;\n GlobalConstants.PaxName=objPax.personalDetails.name;\n let URL=\"agent/\"+ objPax.personalDetails.id +\"/home/\";\n this.router.navigate([URL]);\n }\n\n onCreateAgent(event:any={}){\n let agent = event.data ? event.data.agent : null;\n agent.personalDetails = {};\n agent.personalDetails.id = agent.id;\n agent.personalDetails.name =agent.name\n this.openAgentHome (agent);\n }\n}\n","
\n
\n
\n Account Search\n \n
\n
\n
\n
\n
\n
\n \n \n
\n
\n\n
\n
\n \n \n
\n
\n\n
\n
\n \n \n
\n
\n\n
\n
\n \n \n \n
\n
\n\n
\n
\n \n \n
\n
\n\n
\n
\n \n \n \n
\n
\n\n
\n
\n \n \n
\n
\n\n
\n \n
\n\n
\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n AgentSearch.ID\n AgentSearch.Name\n AgentSearch.Code\n \n
AgentSearch.Group\n \n\n \n \n \n
\n {{option.description}}\n
\n
\n
\n
\n\n
\n
\n \n \n
AgentSearch.Type\n \n\n \n \n \n
\n {{option.description}}\n
\n
\n
\n
\n\n
\n
\n \n AgentSearch.Address\n AgentSearch.Status\n AgentSearch.Email\n \n
\n\n \n \n {{agent.personalDetails.id}}\n \n \n {{agent.personalDetails.name}}\n \n {{agent.personalDetails.shortName}}\n {{agent.additionalDetails.agentGroups}}\n {{agent.personalDetails.type}}\n {{agent.address.addressLine1}} {{agent.address.addressLine2}}\n {{agent.address.addressLine3}} {{agent.address.addressLine4}}\n {{agent.additionalDetails.status}}\n {{agent.address.addressMailAddress}}\n \n \n \n \n \n
\n

No Records Found

\n
\n \n \n
\n \n
\n\n
\n
\n
\n\n
\n
\n
\n\n\n","import { Component, OnInit, OnChanges, Output,EventEmitter, Input, SimpleChanges } from '@angular/core';\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\nimport { CommonService } from 'src/app/services/common/common.service';\nimport { AppConfigService } from 'src/app/services/common/app-config.service';\nimport _ from 'lodash';\nimport { TranslateService } from '@ngx-translate/core';\nimport moment from 'moment';\n\n@Component({\n selector: 'app-basic-info',\n templateUrl: './basic-info.component.html',\n styleUrls: ['./basic-info.component.scss']\n})\nexport class BasicInfoComponent implements OnInit,OnChanges {\n\n @Input() config :any = {}\n @Input() update :boolean = false\n @Output() onNext = new EventEmitter();\n @Output() updateChange = new EventEmitter();\n\n dobCalenderMinDate:Date;\n dobCalenderMaxDate:Date;\n dobCalenderYearRange:Date;\n\n multilingual : any = {};\n basicInfoForm : FormGroup;\n passengerTypes:any[] = [];\n titles:any[]=[];\n\n constructor(public commonService:CommonService,public translate:TranslateService) {\n this.translate.get([\"SharedComponents.BasicInfo\"]).subscribe((response: any) => {\n this.multilingual = response['SharedComponents.BasicInfo'];\n });\n this.dobCalenderMinDate = commonService.pastCalenderDateConfig.defaultDMinDate;\n this.dobCalenderMaxDate = commonService.pastCalenderDateConfig.defaultMaxDate;\n this.dobCalenderYearRange = commonService.pastCalenderDateConfig.defaultYearRange;\n this.basicInfoForm = this.getBasicInfoForm();\n }\n\n ngOnInit(): void {\n this._setModels();\n }\n\n ngOnChanges(changes:SimpleChanges):void{\n if(this._isUpdate(changes)){\n this._onInputModelUpdate();\n }\n }\n\n _isUpdate(changes:SimpleChanges):Boolean{\n return changes.update\n //&& !changes.update.firstChange\n // && changes.update.currentValue\n //&& changes.update.previousValue\n && changes.update.previousValue != changes.update.currentValue\n }\n\n _onInputModelUpdate(){\n this._setModels();\n this.update = false;\n this.updateChange.emit(this.update);\n }\n\n _setModels(){\n this.passengerTypes = this.config.passengerTypes;\n this.titles = this.config.contactTitleTypes;\n this._setFormValues(this.config.newPassenger)\n }\n\n _setFormValues(newPassenger:any={}){\n this.basicInfoForm.patchValue({\n title : newPassenger.title,\n firstName : newPassenger.firstName,\n lastName : newPassenger.lastName,\n dateOfBirth : newPassenger.dateOfBirth !=undefined ?new Date(newPassenger.dateOfBirth):null,\n passengerType : newPassenger.passengerType,\n email : newPassenger.email,\n street : newPassenger.street,\n postCode : newPassenger.postCode,\n })\n }\n\n getBasicInfoForm():FormGroup{\n return new FormGroup({\n title: new FormControl(null,[Validators.required]),\n firstName : new FormControl(\"\",[Validators.required]),\n lastName : new FormControl(\"\",[Validators.required]),\n dateOfBirth : new FormControl(),\n passengerType : new FormControl(null,[Validators.required]),\n email : new FormControl(\"\",[Validators.email]),\n street : new FormControl(),\n postCode : new FormControl(),\n });\n }\n\n getBasicDetails(){\n\n\n let formValue = this.basicInfoForm.value;\n\n return {\n title:formValue.title,\n firstName:formValue.firstName,\n lastName:formValue.lastName,\n dateOfBirth:formValue.dateOfBirth != undefined ? moment(formValue.dateOfBirth).format(AppConfigService.settings.env.defaultDateFormatDisplay) : null,\n passengerType:formValue.passengerType,\n email:formValue.email,\n street:formValue.street,\n postCode:formValue.postCode,\n }\n }\n\n onClickNext(){\n\n if(this.basicInfoForm.valid){\n this.onNext.emit({event:\"onNext\",data:this.getBasicDetails()})\n }\n else{\n this.commonService.markControlsAsDirty(this.basicInfoForm)\n }\n\n }\n\n}\n","
\n
\n
\n\n
\n \n \n \n
\n\n
\n \n \n
\n\n
\n \n \n
\n\n
\n \n \n \n
\n\n
\n \n \n \n
\n\n\n
\n \n \n
\n\n
\n \n \n
\n\n
\n \n \n
\n\n
\n
\n
\n
\n \n
\n\n","import { HttpClient } from '@angular/common/http';\nimport { Component, OnInit, Output,EventEmitter, Input, OnChanges } from '@angular/core';\nimport { FormControl, FormGroup, Validators} from '@angular/forms';\n\nimport { LoggingService } from 'src/app/services/common/logging.service';\nimport {TranslateService} from '@ngx-translate/core';\n\nimport { GlobalConstants } from '../global-constants';\nimport { AgentAboutService } from 'src/app/services/about/agent-about.service';\nimport { CommonService } from 'src/app/services/common/common.service';\n\n@Component({\n selector: 'app-add-edit-contact',\n templateUrl: './add-edit-contact.component.html',\n styleUrls: ['./add-edit-contact.component.scss']\n})\nexport class AddEditContactComponent implements OnInit {\n\n contactInfo:any;\n addeditContactFG: FormGroup;\n contactDataForEdit : any;\n titleTypeData:any[]=[];\n salutationTypes:salutation[]=[{id:'Dear sir',description:'Dear sir'},{id:'Dear madam',description:'Dear madam'},{id:'Dear miss',description:'Dear miss'}];\n agentId:string=\"\";\n @Input() contactId:string=\"\";\n @Input() config : any = {};\n @Output() postSave = new EventEmitter();\n isEdit:boolean=false;\n\n constructor(private http: HttpClient, private logger:LoggingService,private translate: TranslateService,\n public aboutAgent: AgentAboutService,private commonService:CommonService) {\n this.addeditContactFG = new FormGroup({\n Title:new FormControl(),\n FirstName: new FormControl(),\n MiddleName: new FormControl(),\n LastName: new FormControl(),\n Department: new FormControl(),\n JobTitle: new FormControl(),\n Manager:new FormControl(),\n Assistant:new FormControl(),\n Salutation:new FormControl(),\n ContactUserName: new FormControl(),\n ContactPassword: new FormControl(),\n smcId:new FormControl()\n });\n this.agentId = GlobalConstants.AgentID.toString();\n }\n\n ngOnInit(): void {\n if (Number(this.contactId)>0){\n this.getContactForEdit();\n }\n else{\n this.getDetailsForNewContact();\n }\n }\n\n getDetailsForNewContact(){\n this.logger.info('Start of getDetailsForNewContact - add-edit contact component');\n this.aboutAgent.getNewAgentContact(this.agentId).subscribe(\n response => {\n this.showFormForNewRecord(response.data);\n this.logger.log(JSON.stringify(response));\n }, error => {\n this.logger.error(JSON.stringify(error));\n }, () => {\n this.logger.info('End of getDetailsForNewContact - add-edit contact component');\n }\n );\n }\n\n showFormForNewRecord(response:any) {\n this.titleTypeData = response.referenceEntities.contactTitleType;\n this.addeditContactFG = new FormGroup({\n Title: new FormControl(null, Validators.required),\n FirstName: new FormControl(null, Validators.required),\n MiddleName: new FormControl(null),\n LastName: new FormControl(null),\n Department: new FormControl(null),\n JobTitle: new FormControl(null),\n Manager: new FormControl(null),\n Assistant: new FormControl(null),\n Salutation: new FormControl({id:'Dear sir',description:'Dear sir'},Validators.required),\n ContactUserName: new FormControl(null),\n ContactPassword: new FormControl(null),\n smcId: new FormControl(null)\n });\n\n }\n\n getContactForEdit(){\n this.logger.info('Start of getContactForEdit - add-edit contact component');\n this.aboutAgent.getAgentContactForEdit(this.agentId,this.contactId).subscribe(\n response => {\n this.contactDataForEdit = response.data;\n this.showFormForEdit();\n this.logger.log(JSON.stringify(response));\n }, error => {\n this.logger.error(JSON.stringify(error));\n }, () => {\n this.logger.info('End of getContactForEdit - add-edit contact component');\n }\n );\n }\n\n showFormForEdit() {\n //var rsa = forge.pki.privateKeyFromPem(GlobalConstants.privateKey);\n var contactPassword=\"\";\n let contactData = this.contactDataForEdit.agentContactData;\n if(contactData.password){\n //var decodeText = forge.util.decode64(contactData.password);\n contactPassword= this.commonService.decrypt(contactData.password);\n }\n\n this.titleTypeData = this.contactDataForEdit.referenceEntities.contactTitleType;\n this.addeditContactFG = new FormGroup({\n Title: new FormControl(contactData.contactTitleType != undefined ? { id: contactData.contactTitleType.id, description: contactData.contactTitleType.description } : null, Validators.required),\n FirstName: new FormControl(contactData.firstName, Validators.required),\n MiddleName: new FormControl(contactData.middleName),\n LastName: new FormControl(contactData.lastName),\n Department: new FormControl(contactData.department),\n JobTitle: new FormControl(contactData.jobTitle),\n Manager: new FormControl(contactData.manager),\n Assistant: new FormControl(contactData.assistant),\n Salutation: new FormControl(contactData.salutation!=undefined?{id:contactData.salutation,description:contactData.salutation}:null,Validators.required),\n ContactUserName: new FormControl(contactData.userName),\n ContactPassword: new FormControl(contactPassword),\n smcId: new FormControl(contactData.id)\n });\n\n }\n\n saveContact() {\n if (this.addeditContactFG.valid) {\n if (Number(this.contactId) > 0)\n this.updateContact();\n else {\n this.addContact();\n }\n }\n else {\n this.commonService.markControlsAsDirty(this.addeditContactFG)\n }\n }\n\n getContactToSave() {\n\n let formValue = this.addeditContactFG.value;\n return {\n \"contactTitleTypeName\": formValue.Title != null ? formValue.Title.description : null,\n \"contactFirstName\": formValue.FirstName,\n \"contactMiddleName\": formValue.MiddleName,\n \"contactLastName\": formValue.LastName,\n \"salutation\": formValue.Salutation != null ? formValue.Salutation.description : null,\n \"department\": formValue.Department,\n \"jobTitle\": formValue.JobTitle,\n \"assistant\": formValue.Assistant,\n \"manager\": formValue.Manager,\n \"userName\": formValue.ContactUserName,\n \"password\": (formValue.ContactPassword)? this.commonService.encrypt(formValue.ContactPassword):\"\",\n }\n }\n\n addContact() {\n if (this.addeditContactFG.valid) {\n this.logger.info('Start of addContact - add-edit contact component');\n this.aboutAgent.addNewAgentContact(this.agentId, this.getContactToSave()).subscribe(\n response => {\n this.logger.log(JSON.stringify(response));\n this.postSave.emit({ \"event\": \"ADD\", \"data\": response });\n }, error => {\n this.logger.error(JSON.stringify(error));\n this.postSave.emit({ \"event\": \"Error\", \"data\": JSON.stringify(error) });\n }, () => {\n this.logger.info('End of addContact - add-edit contact component');\n }\n );\n }\n }\n\n updateContact() {\n if (this.addeditContactFG.valid) {\n this.logger.info('Start of updateContact - add-edit contact component');\n this.aboutAgent.updateAgentContact(this.agentId, this.contactId, this.getContactToSave()).subscribe(\n response => {\n this.logger.log(JSON.stringify(response));\n this.postSave.emit({ \"event\": \"UPDATE\", \"data\": response });\n this.contactDataForEdit = null;\n\n }, error => {\n this.logger.error(JSON.stringify(error));\n this.postSave.emit({ \"event\": \"Error\", \"data\": JSON.stringify(error) });\n }, () => {\n this.logger.info('End of updateContact - add-edit contact component');\n }\n );\n }\n }\n\n close() {\n this.postSave.emit({ \"event\": \"Cancel\", \"data\": null });\n }\n}\n\ninterface salutation{\n id:any,\n description:any\n}\n","
\n \n
\n
\n
\n \n \n \n
\n\n
\n \n \n
\n\n
\n \n \n
\n\n
\n \n \n
\n\n
\n \n \n
\n\n
\n \n \n
\n\n
\n \n \n
\n\n
\n \n \n
\n\n
\n \n \n \n
\n\n
\n \n \n
\n\n
\n \n \n
\n\n
\n \n \n
\n
\n
\n
\n \n\n\n","import { Component, OnInit,Output,EventEmitter, Input, OnChanges, ViewChild } from '@angular/core';\nimport { MessageService } from 'primeng/api';\nimport { FormControl, FormGroup} from '@angular/forms';\nimport { CommonService } from 'src/app/services/common/common.service';\nimport { TripsService } from 'src/app/services/trips/trips.service';\nimport { Observable, Subject } from 'rxjs';\nimport { TranslateService } from '@ngx-translate/core';\nimport { DefaultResultType } from 'src/app/shared/global-constants';\nimport { AppConfigService } from 'src/app/services/common/app-config.service';\nimport { SearchResultBookingEnquiryComponent } from '../search-result-booking-enquiry/search-result-booking-enquiry.component';\n\n@Component({\n selector: 'app-search-booking-enquiry',\n templateUrl: './search-booking-enquiry.component.html',\n styleUrls: ['./search-booking-enquiry.component.scss']\n})\nexport class SearchBookingEnquiryComponent implements OnInit {\n\n get sortOrder(){\n return{\n ASC:'asc',\n DESC:'desc'\n }\n }\n\n @Input() config : any = {};\n @Output() postUpdate = new EventEmitter();\n @ViewChild(SearchResultBookingEnquiryComponent)\n private searchResult!:SearchResultBookingEnquiryComponent;\n\n defaultResultType = DefaultResultType;\n multilingual : any = {};\n searchResults : any[] = [];\n currentResultType : string = DefaultResultType.futureOnly;\n searchResultBookingEnquiryConfig :any ;\n bookingEnquirySearchFilterConfig :any;\n searchedTypeaheadItems : any = [];\n sortMenuItems : any[] = [];\n selectedSortMenuItem : any = {};\n pagination : any = {};\n sort:any={\n sortBy:\"\",\n sortOrder:this.sortOrder.ASC\n };\n searchFilterApplied:Boolean=false;\n\n getResultTypeData = (entityId:string,currentResultType:string,pagination:any):Observable => { return new Observable()};\n getSearchTypeaheadData = (query:string):Observable => { return new Observable()};\n getSearchTypeaheadItemData = (item:any):Observable => { return new Observable()};\n onItemDescriptionClick = (item:any):void => {};\n\n constructor(public commonService:CommonService,public tripsService:TripsService,public translate:TranslateService) {\n this.translate.get([\"Common\",\"SharedComponents.SearchBookingEnquiry\"]).subscribe((response: any) => {\n this.multilingual = Object.assign({},response['Common'],response['SharedComponents.SearchBookingEnquiry']);\n\n this.sortMenuItems = [\n {id:\"NAME\",name:this.multilingual.Name},\n {id:\"TRAVEL_DATE\",name:this.multilingual.TravelDate},\n {id:\"BOOKING_DATE\",name:this.multilingual.BookingDate},\n {id:\"PRICE\",name:this.multilingual.Price},\n {id:\"REFERENCE\",name:this.multilingual.Reference},\n ];\n });\n\n\n }\n\n ngOnInit(): void {\n\n this.getResultTypeData = this.config.getResultTypeData || this.getResultTypeData;\n this.getSearchTypeaheadData = this.config.getSearchTypeaheadData || this.getSearchTypeaheadData;\n this.getSearchTypeaheadItemData = this.config.getSearchTypeaheadItemData || this.getSearchTypeaheadItemData;\n this.onItemDescriptionClick = this.config.onItemDescriptionClick || this.onItemDescriptionClick;\n\n this.pagination = this.config.pagination;\n\n this.bookingEnquirySearchFilterConfig = {\n entityId : this.config.entityId,\n filterType :this.config.searchType,\n getSearchResultByFilter:this.config.getSearchResultByFilter,\n getSearchFilterMeta:this.config.getSearchFilterMeta,\n getFilterCriteriaFromForm:this.config.getFilterCriteriaFromForm,\n getSearchFilterForm : this.config.getSearchFilterForm,\n type : this.config.type,\n currentResultType : this.currentResultType,\n onSearchComplete:(searchResponse:any)=>{\n this.searchFilterApplied = true;\n this.searchResultBookingEnquiryConfig.items = searchResponse.data || []\n if(searchResponse.pagination){\n this.searchResultBookingEnquiryConfig.pagination = Object.assign(this.searchResultBookingEnquiryConfig.pagination,searchResponse.pagination);\n this.searchResultBookingEnquiryConfig.pagination.currentPageReportTemplate = this.getCurrentPageReportTemplate(searchResponse.pagination)\n }\n }\n };\n\n this.searchResultBookingEnquiryConfig = {\n entityId : this.config.entityId,\n searchType : this.config.searchType,\n paxName : this.config.paxName,\n items:this.searchResults,\n onDescriptionClick:(item:any={})=>{\n this.onItemDescriptionClick(item);\n },\n selectedSortMenuItem:{},\n pagination:this.pagination,\n onPageChange:(event:any)=>{\n this.pagination.pageSize = event.rows;\n this.pagination.pageNumber = event.page + 1;\n this.loadResultTypeData();\n },\n sortOrder:this.sort.sortOrder\n };\n\n this.loadResultTypeData()\n }\n\n onResultTypeTabClick(resultType:string=DefaultResultType.futureOnly){\n if(this.currentResultType != resultType){\n this.currentResultType = resultType;\n this.bookingEnquirySearchFilterConfig.currentResultType = this.currentResultType,\n this.loadResultTypeData()\n }\n }\n\n loadResultTypeData(entityId:string=this.config.entityId,currentResultType:string=this.currentResultType,pagination:any=this.pagination):void{\n this.searchFilterApplied = false;\n this.getResultTypeData(entityId,currentResultType,pagination).subscribe(response=>{\n this.searchResultBookingEnquiryConfig.items = response.data;\n if(response.pagination){\n this.pagination = {pageSize : response.pagination.pageSize, rowsPerPageOptions:response.pagination.pageSizeOptions,pageNumber:response.pagination.pageNumber,totalRecords : response.pagination.totalRecords};\n this.searchResultBookingEnquiryConfig.pagination = this.pagination;\n }\n this.searchResultBookingEnquiryConfig.pagination.currentPageReportTemplate = this.getCurrentPageReportTemplate(response.pagination)\n },error=>{\n this.searchResultBookingEnquiryConfig.items = [];\n })\n }\n\n loadSearchTypeaheadData(event:any):void{\n this.getSearchTypeaheadData(event.query).subscribe(response=>{\n this.searchedTypeaheadItems = response.data;\n },error=>{\n this.searchedTypeaheadItems = []\n })\n }\n\n onSearchTypeaheadItemSelect(item:any):void{\n // this.searchFilterApplied = false;\n // this.getSearchTypeaheadItemData(item).subscribe(response=>{\n // this.searchResultBookingEnquiryConfig.items = [response.data];\n // },error=>{\n // this.searchResultBookingEnquiryConfig.items = [];\n // })\n this.onItemDescriptionClick(item);\n }\n\n toggleSortOrder():void{\n this.sort.sortOrder = this.sort.sortOrder == this.sortOrder.ASC ? this.sortOrder.DESC : this.sortOrder.ASC;\n this.searchResultBookingEnquiryConfig.sortOrder = this.sort.sortOrder;\n this.searchResult._onSortByChange();\n }\n\n getCurrentPageReportTemplate(pagination:any):string{\n let currentPageReportMsg = this.multilingual.CurrentPageReportMsg\n currentPageReportMsg = currentPageReportMsg.replace('{{showingRecordsFrom}}',pagination.showingRecordsFrom);\n currentPageReportMsg = currentPageReportMsg.replace('{{showingRecordsTo}}',pagination.showingRecordsTo);\n currentPageReportMsg = currentPageReportMsg.replace('{{totalRecords}}',pagination.totalRecords);\n return currentPageReportMsg;\n }\n\n}\n\n","
\n
\n
\n
{{multilingual.All}}
\n
{{multilingual.Active}}
\n
{{multilingual.Past}}
\n
\n
\n
\n \n \n
\n
\n \n
\n
\n
{{typeaheadItems.referenceNumber}}
\n {{typeaheadItems.name}}\n
\n
\n
\n
\n \n
\n
\n \n
\n \n {{multilingual.Filter}}\n
\n
\n
\n
\n
\n \n {{multilingual.SortBy}}: \n \n \n \n
\n
\n
\n
\n\n\n
\n \n \n
\n
\n","import { Injectable } from '@angular/core';\nimport { CommonService } from './common.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class UserPermissionsService {\n\n\n securityConstantID:any[]=[]\n permissionData:any;\n\n constructor(private commonService:CommonService) {\n this.permissionData = JSON.parse(window.localStorage.getItem(\"CRMPermissions\")||\"\");\n }\n\n isAddable(securityConstantID:any) : boolean{\n let permissionData=this.permissionData.filter((a:any)=>a.securityConstant==securityConstantID);\n let permissionValue = permissionData !=undefined && permissionData.length>0 ?permissionData[0].create:false;\n return permissionValue;\n }\n\n isEditable(securityConstantID:any) : boolean{\n let permissionData=this.permissionData.filter((a:any)=>a.securityConstant==securityConstantID);\n let permissionValue = permissionData[0].edit;\n return permissionValue;\n }\n\n isDeletable(securityConstantID:any) : boolean{\n let permissionData=this.permissionData.filter((a:any)=>a.securityConstant==securityConstantID);\n let permissionValue = permissionData[0].delete;\n return permissionValue;\n }\n\n isAccesible(securityConstantID:any) : boolean{\n let permissionData=this.permissionData.filter((a:any)=>a.securityConstant==securityConstantID);\n let permissionValue = permissionData !=undefined && permissionData.length>0 ?permissionData[0].access:false;\n return permissionValue;\n }\n}\n","import { Component, OnInit } from '@angular/core';\nimport {MenuItem} from 'primeng/api';\nimport { Router } from '@angular/router';\nimport { GlobalConstants } from '../global-constants';\nimport { SharedService } from 'src/app/services/common/shared.service';\nimport {AgentSecurityConstant} from '../../constants/security-constant'\nimport { UserPermissionsService } from 'src/app/services/common/user-permissions.service';\n\n\n@Component({\n selector: 'app-agent-menu',\n templateUrl: './agent-menu.component.html',\n styleUrls: ['./agent-menu.component.scss']\n})\nexport class AgentMenuComponent implements OnInit {\n\n items: MenuItem[] = [];\n securityConstantID:any[]=[]\n permissionData:any;\n activeItem!: MenuItem;\n agentId:any;\n\n constructor(private router: Router,private sharedService:SharedService, private userPermissions:UserPermissionsService) { }\n\n ngOnInit(): void {\n this.agentId= GlobalConstants.AgentID;\n this.loadTabs();\n }\n loadTabs(){\n //NAVIGATE TO THE PAGE ON CLICK OF TAB ITEMS\n this.items = [\n {\n label: 'Home', command: (event) => {\n let URL ='agent/'+ this.agentId +\"/home\"\n this.navigateTo(URL,'Home');\n }\n },\n {\n label: 'About', command: (event) => {\n let URL ='agent/'+ this.agentId +\"/about\"\n this.navigateTo(URL,'About');\n },disabled:(!(this.userPermissions.isAccesible(AgentSecurityConstant.AboutTab)))\n },\n {\n label: 'Classification', command: (event) => {\n let URL ='agent/'+ this.agentId +\"/classification\"\n this.navigateTo(URL,'classification');\n },disabled:(!(this.userPermissions.isAccesible(AgentSecurityConstant.ClassificationTab)))\n },\n {\n label: 'Trips', command: (event) => {\n let URL ='agent/'+ this.agentId +\"/trips\"\n this.navigateTo(URL,'Trips');\n },disabled:(!(this.userPermissions.isAccesible(AgentSecurityConstant.TripsTab)))\n },\n {\n label: 'Terms', command: (event) => {\n let URL ='agent/'+ this.agentId +\"/terms\"\n this.navigateTo(URL,'Terms');\n },disabled:(!(this.userPermissions.isAccesible(AgentSecurityConstant.TermsTab)))\n },\n {\n label: 'Communications', command: (event) => {\n let URL ='agent/'+ this.agentId +\"/communications\"\n this.navigateTo(URL,'Communications');\n },disabled:(!(this.userPermissions.isAccesible(AgentSecurityConstant.CommuncationTab)))\n },\n {\n label: 'Notes', command: (event) => {\n let URL ='agent/'+ this.agentId +\"/notes\"\n this.navigateTo(URL,'Notes');\n },disabled:(!(this.userPermissions.isAccesible(AgentSecurityConstant.NotesTab)))\n },\n {\n label: 'Tasks', command: (event) => {\n let URL ='agent/'+ this.agentId +\"/tasks\"\n this.navigateTo(URL,'Tasks');\n },disabled:(!(this.userPermissions.isAccesible(AgentSecurityConstant.TasksTab)))\n },\n {\n label: 'Finance', command: (event) => {\n let URL ='agent/'+ this.agentId +\"/finance\"\n this.navigateTo(URL,'Finance');\n },disabled:(!(this.userPermissions.isAccesible(AgentSecurityConstant.FinanceTab)))\n },\n ]\n\n let URL = \"\";\n this.activeItem = this.items[0] ;\n }\n\n navigateTo(route:any,tabName:any){\n this.router.navigate([route])\n this.sharedService.tabMenuClicked.next({tab:route});\n GlobalConstants.TabName=tabName;\n }\n}\n","
\n \n
\n\n","import { Component, OnInit, EventEmitter, OnDestroy, Input, Output, OnChanges,SimpleChanges} from '@angular/core';\nimport { LoggingService } from 'src/app/services/common/logging.service';\nimport { passengerService } from 'src/app/services/home/passenger.service';\nimport { GlobalConstants } from 'src/app/shared/global-constants';\nimport { LazyLoadEvent } from 'primeng/api';\nimport _ from 'lodash';\nimport moment from 'moment';\nimport { AppConfigService } from 'src/app/services/common/app-config.service';\nimport { Observable, Subject } from 'rxjs';\nimport {ConfirmationService,MessageService,MenuItem} from 'primeng/api';\nimport { NotesService } from 'src/app/services/notes/notes.service';\nimport { FormGroup, FormControl, Validators } from '@angular/forms';\nimport { map, catchError,switchMap } from 'rxjs/operators';\nimport { INotesViewConfig } from 'src/app/models/notesViewConfig';\nimport { IAddEditNoteConfig } from 'src/app/models/addEditNoteConfig';\nimport { TranslateService } from '@ngx-translate/core';\nimport { log } from 'util';\n\n@Component({\n selector: 'app-notes-view',\n templateUrl: './notes-view.component.html',\n styleUrls: ['./notes-view.component.scss'],\n providers: [ConfirmationService]\n})\nexport class NotesViewComponent implements OnInit, OnChanges{\n\n @Input() config = {} as INotesViewConfig;\n @Input() addNote : boolean = false;\n @Input() reload : boolean = false;\n @Output() onSave = new EventEmitter();\n @Output() onSaveError = new EventEmitter();\n @Output() addNoteChange = new EventEmitter();\n @Output() reloadChange = new EventEmitter();\n\n loading: boolean = true;\n notesData: any[] = [];\n //paxId = GlobalConstants.PassengerID.toString();\n userName = GlobalConstants.UserName.toString();\n notesPagination:any = {};\n contextMenuItems : any[] = [];\n contextMenuSelection:any={};\n showContextMenu : boolean = true;\n addEditNotesConfig = {} as IAddEditNoteConfig;\n showAddEditNoteForm : boolean = false;\n lastGetNotesEvent : LazyLoadEvent = {};\n multilingual : any = {};\n\n getNotes = (baseRequest:any,pagination:any):Observable => { return new Observable()};\n deleteNote = (note:any):Observable => { return new Observable()};\n getBaseRequest = (tableLazyEvent:any):any => { return {}};\n getContextMenuItems = (): any[] => { return []};\n //getAddNoteConfig ():IAddEditNoteConfig{return {} as IAddEditNoteConfig};\n\n constructor(public translate:TranslateService,private logger: LoggingService,public passengerService: passengerService,\n public confirmationService:ConfirmationService,public notesService:NotesService,public messageService:MessageService) {\n this.translate.get([\"Common\"]).subscribe((response: any) => {\n this.multilingual = response['Common'];\n this.contextMenuItems = [\n {label: this.multilingual.Edit, icon: 'pi pi-fw pi-pencil', command:()=>{this.showEditNotesForm(this.contextMenuSelection)}},\n {label: this.multilingual.Delete, icon: 'pi pi-fw pi-trash', command:()=>{this.confirmDelete(this.contextMenuSelection)}}\n ]\n });\n }\n\n ngOnInit(): void {\n this.getNotes = this.config.getNotes || this.getNotes;\n this.deleteNote = this.config.deleteNote || this.deleteNote;\n this.getBaseRequest = this.config.getBaseRequest || this.getBaseRequest\n this.getAddNoteConfig = this.config.getAddNoteConfig || this.getAddNoteConfig;\n this.getEditNoteConfig = this.config.getEditNoteConfig || this.getEditNoteConfig;\n }\n\n ngOnChanges(changes:SimpleChanges):void{\n if(this._isAddNote(changes)){\n this.addNote = false;\n this.addNoteChange.emit(this.addNote);\n this.showAddNotesForm();\n }\n\n if(this._isReload(changes)){\n this.reload = false;\n this.reloadChange.emit(this.reload);\n this.getAllNotes(this.lastGetNotesEvent);\n }\n\n }\n setNoteObject(selectedNote:any){\n this.contextMenuSelection = selectedNote;\n }\n _isAddNote(changes:SimpleChanges):Boolean{\n return changes.addNote\n && !changes.addNote.firstChange\n && changes.addNote.currentValue\n && changes.addNote.previousValue != changes.addNote.currentValue\n }\n\n _isReload(changes:SimpleChanges):Boolean{\n return changes.reload\n && !changes.reload.firstChange\n && changes.reload.currentValue\n && changes.reload.previousValue != changes.reload.currentValue\n }\n\n onContextMenu(event:any,contextMenu:any){\n if(!this.config.isShowContextMenu)\n contextMenu.hide()\n }\n\n getAllNotes(event:LazyLoadEvent) {\n\n this.logger.info('Start of getAllNotes - Note Widget Component')\n this.lastGetNotesEvent = event;\n const isFilterApplied = (baseRequest:any)=>{\n let filterApplied = false;\n _.each(baseRequest,filterType=>{\n if(!_.isEmpty(filterType.value))\n filterApplied = true;\n })\n return filterApplied;\n }\n\n this.notesPagination.pageNumber = (event.first && event.first > 0) ? Math.ceil(event.first / (event.rows ?? this.notesPagination.pageSize)) + 1 : 1;\n if (event.rows){\n this.notesPagination.pageSize = event.rows;\n }\n let baseRequest = this.getBaseRequest(event);\n this.loading = true;\n\n this.getNotes(this.getBaseRequest(event), this.notesPagination).subscribe(\n response => {\n if(response != null && response.data != null){\n this.notesData = response.data;\n if (response.pagination){\n this.mapPaginationObject(response.pagination);\n this.notesPagination.currentPageReportTemplate =this.getCurrentPageReportTemplate(response.pagination);\n if(isFilterApplied(baseRequest))\n this.notesPagination.currentPageReportTemplate =this.getCurrentFilteredPageReportTemplate(response.pagination,response.filtration);\n }\n }\n }, error => {\n this.notesData = [];\n this.loading = false;\n this.logger.info('Error in getAllNotes - Note Widget Component')\n this.logger.log(JSON.stringify(error));\n }, () => {\n this.loading = false;\n this.logger.info('End of getAllNotes - Note Widget Component')\n }\n );\n }\n\n mapPaginationObject(paginationObj:any){\n this.notesPagination.pageSize = paginationObj.pageSize;\n this.notesPagination.rowsPerPageOptions = paginationObj.pageSizeOptions;\n this.notesPagination.pageNumber = paginationObj.pageNumber;\n this.notesPagination.totalRecords = paginationObj.totalRecords;\n }\n\n getCurrentPageReportTemplate(pagination:any){\n let currentPageReportMsg = this.multilingual.CurrentPageReportMsg\n if(currentPageReportMsg){\n currentPageReportMsg = currentPageReportMsg.replace('{{showingRecordsFrom}}',pagination.showingRecordsFrom);\n currentPageReportMsg = currentPageReportMsg.replace('{{showingRecordsTo}}',pagination.showingRecordsTo);\n currentPageReportMsg = currentPageReportMsg.replace('{{totalRecords}}',pagination.totalRecords);\n }\n return currentPageReportMsg;\n }\n\n getCurrentFilteredPageReportTemplate(pagination:any,filtration:any){\n let currentPageReportMsg = this.multilingual.CurrentFilteredPageReportMsg\n if(currentPageReportMsg){\n currentPageReportMsg = currentPageReportMsg.replace('{{showingRecordsFrom}}',pagination.showingRecordsFrom);\n currentPageReportMsg = currentPageReportMsg.replace('{{showingRecordsTo}}',pagination.showingRecordsTo);\n currentPageReportMsg = currentPageReportMsg.replace('{{totalRecords}}',pagination.totalRecords);\n currentPageReportMsg = currentPageReportMsg.replace('{{filteredOutRecordCount}}',filtration.filteredOutRecordCount);\n }\n return currentPageReportMsg;\n }\n\n //CODE TO DOWNLOAD ATTACHMENT\n downLoadFile(noteID: number) {\n //this.passengerService.getNoteDetails(this.paxId, noteID.toString()).subscribe(\n this.notesService.getNoteDetails(this.config.entity,this.config.entityId, noteID.toString()).subscribe(\n response => {\n var attachmentFile = response.data.attachments;\n let byteCharacters = atob(attachmentFile.data);\n\n let byteNumbers = new Array(byteCharacters.length);\n for (var i = 0; i < byteCharacters.length; i++) {\n byteNumbers[i] = byteCharacters.charCodeAt(i);\n }\n\n var byteArray = new Uint8Array(byteNumbers);\n\n let blob = new Blob([byteArray]);\n\n let link = document.createElement(\"a\");\n\n link.href = URL.createObjectURL(blob);\n\n link.setAttribute('visibility', 'hidden');\n link.download = attachmentFile.description;\n\n document.body.appendChild(link);\n link.click();\n document.body.removeChild(link);\n\n }, error => {\n this.logger.log('UserNotes Error');\n this.logger.log(error);\n }, () => {\n\n }\n );\n }\n\n confirmDelete(note:any):void{\n let deleteConfirmationMsg = this.multilingual.DeleteConfirmationMsg;\n deleteConfirmationMsg = deleteConfirmationMsg.replace(\"{{entityType}}\",this.multilingual.Note)\n this.confirmationService.confirm({\n message: deleteConfirmationMsg,\n accept: () => {\n this.notesService.deleteUserNote(this.config.entity,this.config.entityId,note.id).subscribe((response)=>{\n let deleteReportMsg = this.multilingual.DeleteReportMsg\n deleteReportMsg = deleteReportMsg.replace(\"{{entityType}}\",this.multilingual.Note)\n this.messageService.add({severity:'success', summary:this.multilingual.Success, detail:deleteReportMsg});\n //this.getAllNotes(this.lastGetNotesEvent);\n this.refreshNotesAfterDelete(note.id);\n },\n error=>{\n\n })\n },\n reject:()=>{\n\n }\n });\n }\n\n refreshNotesAfterDelete(noteId:any){\n if(this.notesData){\n this.notesData.forEach( (item, index) => {\n if(item.id == noteId) this.notesData.splice(index,1);\n });\n }\n }\n\n showAddNotesForm(){\n this.addEditNotesConfig = this.getAddNoteConfig();\n this.showAddEditNoteForm = true;\n }\n\n showEditNotesForm(note:any){\n this.addEditNotesConfig = this.getEditNoteConfig(note);\n this.showAddEditNoteForm = true;\n }\n\n getEditNoteConfig(note:any):IAddEditNoteConfig{\n let updateReportMsg : string = this.multilingual.UpdateReportMsg\n updateReportMsg = updateReportMsg.replace(\"{{entityType}}\",this.multilingual.Note)\n return {\n header:`${this.multilingual.Edit} ${this.multilingual.Note}`,\n saveReportMsg:updateReportMsg,\n entity:this.config.entity,\n entityId:this.config.entityId,\n entityName:this.config.entityName,\n action:\"edit\",\n getInitData : ()=>{\n return this.notesService.getEditUserNoteMeta(this.config.entity,this.config.entityId,note.id.toString());\n },\n saveData : (baseRequest:any={})=>{\n baseRequest.origin = \"User Note\";\n baseRequest.username = this.userName;\n return this.notesService.updateUserNote(this.config.entity,this.config.entityId,note.id.toString(),baseRequest);\n },\n getNoteForm : (editNoteMeta:any)=>{\n let note = editNoteMeta.noteData\n let selectedLanguage = _.find(editNoteMeta.referenceEntities.languages,{id:note.language.id})\n return new FormGroup({\n noteType: new FormControl({ id: note.type.id, description: note.type.description }, Validators.required),\n noteStatus: new FormControl({ id: note.status.id, description: note.status.description }, Validators.required),\n noteLanguage: new FormControl(selectedLanguage, Validators.required),\n subject: new FormControl(note.subject, Validators.required),\n notes: new FormControl(note.text),\n attachDesc: new FormControl(),\n attachData: new FormControl(),\n userName: new FormControl()\n });\n }\n }\n }\n\n getAddNoteConfig():IAddEditNoteConfig{\n let addReportMsg : string = this.multilingual.AddReportMsg\n addReportMsg = addReportMsg.replace(\"{{entityType}}\",this.multilingual.Note)\n return {\n header:`${this.multilingual.Add} ${this.multilingual.Note}`,\n saveReportMsg : addReportMsg,\n entity:this.config.entity,\n entityId:this.config.entityId,\n entityName:this.config.entityName,\n action:\"add\",\n getInitData : ()=>{\n return this.notesService.getNewUserNoteMeta(this.config.entity,this.config.entityId).pipe(map(response=>{\n let data = response.data || [];\n data.referenceEntities = {\n noteTypes:data.noteTypes,\n noteStatuses:data.noteStatuses,\n languages:data.languages,\n }\n return response\n }));\n },\n saveData : (baseRequest:any={})=>{\n baseRequest.origin = \"User Note\";\n baseRequest.username = this.userName;\n return this.notesService.addUserNote(this.config.entity,this.config.entityId,baseRequest);\n },\n getNoteForm : ()=>{\n return new FormGroup({\n noteType: new FormControl(null, Validators.required),\n noteStatus: new FormControl(null, Validators.required),\n noteLanguage: new FormControl(null, Validators.required),\n subject: new FormControl(null, Validators.required),\n notes: new FormControl(),\n attachDesc: new FormControl(),\n attachData: new FormControl(),\n userName: new FormControl()\n });\n }\n }\n }\n}\n","\n\n \n \n \n \n \n \n \n \n \n\n \n \n \n\n \n \n \n \n
\n Home.Note.Date\n \n \n \n \n \n
\n Home.Note.Username\n Home.Note.NoteType\n Home.Note.NoteStatus\n Home.Note.NoteOrigin\n Home.Note.Subject\n\n Home.Note.File\n \n \n
\n \n \n \n \n \n {{Note.date | date:'dd MMM yyyy'}}\n {{Note.username}}\n {{Note.type}}\n {{Note.status}}\n \n
{{Note.origin}}\n
\n \n {{Note.subject}}\n\n \n \n \n \n \n \n \n \n \n \n
\n \n \n \n
\n {{Note.text}}\n
\n \n \n
\n \n \n \n
\n

Home.Note.NoNotes

\n
\n \n \n
\n
\n\n\n\n\n\n\n\n\n","import { HttpClient } from '@angular/common/http';\nimport { Component, EventEmitter, OnInit,Output,ViewChild } from '@angular/core';\nimport { LoggingService } from 'src/app/services/common/logging.service';\nimport { CommonService } from 'src/app/services/common/common.service';\nimport {LazyLoadEvent, MenuItem} from 'primeng/api';\nimport { AgentInfoComponent } from './agent-info/agent-info.component';\nimport {MessageService} from 'primeng/api';\nimport { GlobalConstants } from 'src/app/shared/global-constants';\nimport { Subscription } from 'rxjs';\nimport { SharedService } from 'src/app/services/common/shared.service';\nimport { Router, ActivatedRoute, Params } from '@angular/router';\nimport { AgentSecurityConstant } from 'src/app/constants/security-constant';\nimport { AgentHomeService } from 'src/app/services/home/agent-home.service';\nimport { IAddEditNoteConfig } from 'src/app/models/addEditNoteConfig';\nimport { entityType } from 'src/app/models/entityType';\nimport { NotesService } from 'src/app/services/notes/notes.service';\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\nimport { map } from 'rxjs/operators';\n\n@Component({\n selector: 'app-main-layout',\n templateUrl: './main-layout.component.html',\n styleUrls: ['./main-layout.component.scss']\n})\nexport class MainLayoutComponent implements OnInit {\n\n agentId = '33'; //'701'//2608;//691\n isHomeTab:boolean=true;\n items: MenuItem[] = [];\n activeItem!: MenuItem;\n addEditFormConfig : any = {\n header : \"Edit Address\",\n entity : entityType.agent\n };\n showAddNoteForm:boolean = false;\n\n addNoteConfig = {} as IAddEditNoteConfig;\n addTaskConfig:any={};\n lastGetNotesEvent : LazyLoadEvent = {};\n @Output() onSave = new EventEmitter();\n @Output() onSaveError = new EventEmitter();\n\n @ViewChild(AgentInfoComponent)\n private agentInfoComponent!:AgentInfoComponent;\n\n //SIDE BAR PROPERTIES\n _sidebarOpened: boolean = true;\n _openRightSideBar : boolean = false;\n _opened: boolean = true;\n _modeNum: number = 0;\n _positionNum: number = 0;\n _dock: boolean = false;\n _closeOnClickOutside: boolean = false;\n _closeOnClickBackdrop: boolean = false;\n _showBackdrop: boolean = false;\n _animate: boolean = true;\n _trapFocus: boolean = true;\n _autoFocus: boolean = true;\n _keyClose: boolean = false;\n _autoCollapseHeight: number = 0;\n _autoCollapseWidth: number = 0;\n _mode:string =\"push\";\n\n mainAddressID : any;\n membershipID : any;\n contactID:any;\n editHeader:string=\"\";\n compName:string=\"\";\n bookingSumary: any;\n agentName:string=\"\";\n slideBtnIcon = \"pi pi-angle-double-left\";\n\n constructor(private http: HttpClient, private logger: LoggingService, public agentHomeService: AgentHomeService,\n public commonService: CommonService, public messageService: MessageService,private noteService: NotesService,\n private sharedService:SharedService, private activatedRoute: ActivatedRoute, private router:Router) {\n\n GlobalConstants.AgentID = Number(this.activatedRoute.snapshot.paramMap.get('id')||0);\n //this.LoadUserPermissions();\n\n }\n\n ngOnInit(): void {\n this.agentId = GlobalConstants.AgentID.toString();\n this.agentName = GlobalConstants.AgentName.toString();\n let URL = this.router.url.replace('/','');\n this.changeTab({tab:URL});\n }\n _openRightSidebar() {\n this._openRightSideBar = !this._openRightSideBar;\n }\n\n closeRightSidebar() {\n this._openRightSideBar = false;\n this.compName=\"\";\n }\n\n ToggleAgentInfoBar(){\n GlobalConstants.DockInfo = !GlobalConstants.DockInfo\n this._opened = !this._opened\n this._dock =!this._dock\n if (this.agentInfoComponent != undefined){\n if(GlobalConstants.DockInfo){\n this.agentInfoComponent.dockAgentInfo()\n }\n else{\n this.agentInfoComponent.showAgentInfoBar();\n }\n }\n }\n\n LoadUserPermissions(){\n let securityConstantID:any[]=[]\n //MAIN TABS\n securityConstantID.push(AgentSecurityConstant.HomeTab);\n securityConstantID.push(AgentSecurityConstant.AboutTab);\n securityConstantID.push(AgentSecurityConstant.TripsTab);\n securityConstantID.push(AgentSecurityConstant.CommuncationTab);\n securityConstantID.push(AgentSecurityConstant.TermsTab);\n securityConstantID.push(AgentSecurityConstant.NotesTab);\n securityConstantID.push(AgentSecurityConstant.TasksTab);\n securityConstantID.push(AgentSecurityConstant.ClassificationTab);\n securityConstantID.push(AgentSecurityConstant.FinanceTab);\n\n //ABOUT\n securityConstantID.push(AgentSecurityConstant.Address);\n securityConstantID.push(AgentSecurityConstant.Contact);\n securityConstantID.push(AgentSecurityConstant.BasicInfo);\n\n //CLASSIFICATION\n securityConstantID.push(AgentSecurityConstant.Allocation);\n securityConstantID.push(AgentSecurityConstant.Groups);\n // securityConstantID.push(AgentSecurityConstant.Networks);\n securityConstantID.push(AgentSecurityConstant.PreferedSupplier);\n securityConstantID.push(AgentSecurityConstant.Memberships);\n\n\n //TRIPS\n securityConstantID.push(AgentSecurityConstant.Bookings);\n securityConstantID.push(AgentSecurityConstant.Enquiry);\n\n //NOTES\n securityConstantID.push(AgentSecurityConstant.UserNotes);\n securityConstantID.push(AgentSecurityConstant.SystemNotes);\n\n //FINANCE\n securityConstantID.push(AgentSecurityConstant.Credit);\n securityConstantID.push(AgentSecurityConstant.Account);\n securityConstantID.push(AgentSecurityConstant.Bank);\n securityConstantID.push(AgentSecurityConstant.AdvanceTax);\n\n //TERMS\n securityConstantID.push(AgentSecurityConstant.PaymentTerms);\n securityConstantID.push(AgentSecurityConstant.CancellationPolicy);\n securityConstantID.push(AgentSecurityConstant.PricingPolicy);\n securityConstantID.push(AgentSecurityConstant.CommissionScheme);\n securityConstantID.push(AgentSecurityConstant.ClientBands);\n\n //COMMUNICATION\n securityConstantID.push(AgentSecurityConstant.Campaign);\n securityConstantID.push(AgentSecurityConstant.Emails);\n securityConstantID.push(AgentSecurityConstant.Feedback);\n\n this.commonService.getUserPermissions(GlobalConstants.UserID,this.agentId,securityConstantID).subscribe(\n resp=>{\n window.localStorage.setItem(\"CRMAgentPermissions\",JSON.stringify(resp.data));\n //GlobalConstants.CRMAgentPermissions = JSON.stringify(resp.data);\n }\n )\n\n }\n\n changeTab(activeTab:any){\n\n if(GlobalConstants.DockInfo){\n this._opened =false;\n this._dock = true;\n }\n //this.isHomeTab=false;\n if (this.agentInfoComponent != undefined)\n this.agentInfoComponent.dockAgentInfo();\n if(activeTab.tab != 'agent/'+ this.agentId +'/home'){\n this.isHomeTab=false;\n }\n }\n\n showAgentInfobar(){\n GlobalConstants.DockInfo = !GlobalConstants.DockInfo\n this._opened = !this._opened\n this._dock =!this._dock\n }\n\n //METHOD CALLED ON CLICK OF EDIT BUTTON ON LEFT SIDE BAR (ADDRESS/BASIC INFO/MEMBERSHIP/LINKED CONTACT)\n EditData(editFormInfo:any) {\n if(editFormInfo != undefined)\n {\n if (editFormInfo.type ==\"address\")\n {\n this.mainAddressID = editFormInfo.typeid;\n this.addEditFormConfig.visible = true;\n }\n else{\n if (editFormInfo.type ==\"membership\")\n {\n this.editHeader= editFormInfo.typeid > 0 ? \"Edit Membership\" : \"Add Membership\"\n this.compName=\"membership\";\n this.membershipID=editFormInfo.typeid;\n }\n else if (editFormInfo.type ==\"contact\")\n {\n this.editHeader= editFormInfo.typeid > 0 ? \"Edit Contact\" : \"Add Contact\"\n this.compName=\"contact\";\n this.contactID=editFormInfo.typeid;\n }\n else if (editFormInfo.type ==\"note\")\n {\n this.addNoteConfig = this.getAddNoteConfig();\n this.showAddNoteForm = true;\n return;\n }\n else if (editFormInfo.type ==\"task\")\n {\n this.editHeader=\"Add Task\"\n this.compName=\"task\";\n this.addTaskConfig.entity=entityType.agent\n this.addTaskConfig.entityId=this.agentId;\n\n }\n this._openRightSideBar = true;\n }\n\n }\n }\n\n postContactSave(saveData: any){\n this.agentInfoComponent.postContactSave(saveData);\n if (saveData.event == \"Cancel\" || saveData.event ==\"UPDATE\")\n this.closeRightSidebar()\n }\n\n postMembershipSave(saveData: any){\n this.agentInfoComponent.postMembershipSave(saveData);\n if (saveData.event == \"CANCEL\" || saveData.event ==\"UPDATE\") {\n this.closeRightSidebar()\n }\n }\n\n postAddressUpdate(addressData:any){\n this.agentInfoComponent.postAddressUpdate(addressData);\n }\n\n postAddTask(newTaskData:any){\n this.agentInfoComponent.postAddTask(newTaskData);\n if (newTaskData.event == \"Save\" || newTaskData.event ==\"Cancel\")\n this.closeRightSidebar();\n }\n\n getAllNotes(event: LazyLoadEvent) {\n this.sharedService.refreshAgentNotes.next({ \"event\": \"ADD_AGENT_NOTE\", \"data\": null });\n }\n\n getAddNoteConfig():IAddEditNoteConfig{\n let addReportMsg : string = \"Note is Added\"\n return {\n header:'Add Note',\n saveReportMsg : addReportMsg,\n entity:entityType.agent,\n entityId:this.agentId,\n entityName:GlobalConstants.AgentName,\n action:\"add\",\n getInitData : ()=>{\n return this.noteService.getNewUserNoteMeta(entityType.agent,this.agentId).pipe(map(response=>{\n let data = response.data || [];\n data.referenceEntities = {\n noteTypes:data.noteTypes,\n noteStatuses:data.noteStatuses,\n languages:data.languages,\n }\n return response\n }));\n },\n saveData : (baseRequest:any={})=>{\n baseRequest.origin = \"User Note\";\n baseRequest.username = GlobalConstants.UserName;\n return this.noteService.addUserNote(entityType.agent,this.agentId,baseRequest);\n },\n getNoteForm : ()=>{\n return new FormGroup({\n noteType: new FormControl(null, Validators.required),\n noteStatus: new FormControl(null, Validators.required),\n noteLanguage: new FormControl(null, Validators.required),\n subject: new FormControl(null, Validators.required),\n notes: new FormControl(),\n attachDesc: new FormControl(),\n attachData: new FormControl(),\n userName: new FormControl()\n });\n }\n }\n }\n\n showToast(error:any, type:any) {\n this.messageService.add({ key: 'tl', severity: type, detail: error });\n }\n}\n","\n\n \n
\n \n
\n \n
\n
\n\n
\n \n
\n {{editHeader}}\n
\n \n
\n
\n
\n \n
\n
\n \n \n
\n
\n \n
\n \n
\n\n
\n
\n \n
\n \n
\n \n
\n
\n\n
\n\n\n\n\n","import { Injectable } from '@angular/core';\nimport { Observable, Subject } from 'rxjs';\nimport { BehaviorSubject } from 'rxjs';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SharedService {\n\n tabMenuClicked = new Subject()\n refreshNotes = new Subject()\n refreshTasks = new Subject()\n refreshMemberships = new Subject()\n refreshPaxMemberships = new Subject()\n private addressesUpdatesSubject = new BehaviorSubject(null);\n currentAddressesUpdate = this.addressesUpdatesSubject.asObservable();\n refreshLinkedContacts = new Subject()\n refreshPaxLinkedContacts = new Subject()\n refreshBasicInfo = new Subject()\n refreshPaxBasicInfo = new Subject()\n refreshAddressDetailInBasicInfo = new Subject()\n\n refreshAgentNotes = new Subject()\n refreshAgentTasks = new Subject()\n refreshAgentContacts = new Subject()\n refreshAgentMemberships = new Subject()\n\n refreshPaxPGI = new Subject()\n constructor() { }\n\n /*getMenuClicked(): Observable{\n return this.tabMenuClicked.asObservable();\n }\n\n refreshNoteWidget(): Observable{\n return this.refreshNotes.asObservable();\n }\n\n refreshTaskWidget(): Observable{\n return this.refreshNotes.asObservable();\n }*/\n\n/**\n *\n * @param {Object} payload\n * @param {Object} payload.data\n * @param {String} payload.action\n */\n addressesUpdates(payload: any) {\n this.addressesUpdatesSubject.next(payload)\n }\n}\n","import { Component, OnInit, EventEmitter, Output, Input } from '@angular/core';\nimport { GlobalConstants } from 'src/app/shared/global-constants';\nimport { TranslateService } from '@ngx-translate/core';\nimport { passengerService } from 'src/app/services/home/passenger.service';\nimport { CommonService } from 'src/app/services/common/common.service';\nimport { LoggingService } from 'src/app/services/common/logging.service';\nimport { Observable, Subject } from 'rxjs';\nimport { HttpClient } from '@angular/common/http';\nimport { FormGroup, FormControl, Validators,FormBuilder } from '@angular/forms';\nimport _ from 'lodash';\nimport { NotesService } from 'src/app/services/notes/notes.service';\nimport { map, catchError,switchMap,tap } from 'rxjs/operators';\nimport { IAddEditNoteConfig } from 'src/app/models/addEditNoteConfig';\nimport { MessageService } from 'primeng/api';\n\n\n@Component({\n selector: 'app-add-edit-note',\n templateUrl: './add-edit-note.component.html',\n styleUrls: ['./add-edit-note.component.scss']\n})\nexport class AddEditNoteComponent implements OnInit {\n\n @Output() onSave = new EventEmitter();\n @Output() onSaveError = new EventEmitter();\n @Input() config = {} as IAddEditNoteConfig;\n @Input() visible : boolean = false;\n @Output() visibleChange = new EventEmitter();\n\n noteTypeData: any;\n noteStatusData: any;\n noteLanguageData: any;\n addNoteFG: FormGroup = new FormGroup({});\n uploadedFiles: any[] = [];\n //paxId = GlobalConstants.PassengerID.toString();\n userName = GlobalConstants.UserName.toString();\n multilingual : any = {};\n\n getInitData = ():Observable => { return new Observable()};\n saveData = (baseRequest:any=null):Observable => { return new Observable()};\n getNoteForm = (noteData:any):FormGroup => { return new FormGroup({})};\n\n constructor(private http: HttpClient, private translate: TranslateService, public passengerService: passengerService,\n private logger: LoggingService, private commonService: CommonService,public notesService:NotesService,public messageService:MessageService) {\n this.translate.get([\"Common\"]).subscribe((response: any) => {\n this.multilingual = response['Common'];\n });\n }\n\n ngOnInit(): void {\n }\n\n // //CODE TO REMOVE ATTACHED FILE WHILE ADDING NOTE\n removeFile() {\n this.uploadedFiles.splice(0, 1);\n }\n\n // //ADD ATTACHED FILE TO THE ARRAY\n onSelect(event: any) {\n\n this.uploadedFiles = [];\n for (let file of event.files) {\n this.uploadedFiles.push(file);\n }\n\n }\n\n onShowForm(){\n this.config = _.isEmpty(this.config)? this.getDefaultAddNotesConfig() : this.config;\n this.getInitData = this.config.getInitData || this.getInitData;\n this.saveData = this.config.saveData || this.saveData;\n this.getNoteForm = this.config.getNoteForm || this.getNoteForm\n this.loadInitData();\n }\n\n onCloseForm(){\n if(this.visible){\n this.visible = false;\n this.addNoteFG.reset();\n this.uploadedFiles = [];\n this.visibleChange.emit(this.visible);\n }\n }\n\n onSaveForm(){\n if(this.addNoteFG.valid){\n this.logger.info('Start of onSaveForm - add note component');\n let uploadedFile = _.find(this.uploadedFiles)\n this.addEditNoteSave(this.addNoteFG,uploadedFile).subscribe(response=>{\n this.messageService.add({severity:'success', summary:this.multilingual.Success, detail:this.config.saveReportMsg});\n this.onSave.emit({ \"event\": \"Save\", \"data\": response });\n this.onCloseForm();\n this.logger.log(JSON.stringify(response));\n },\n error=>{\n this.onSaveError.emit({ \"event\": \"Error\", \"data\": error });\n this.logger.error(JSON.stringify(error));\n },\n ()=>{\n this.logger.info('End of onSaveForm - add note component');\n })\n }\n else{\n this.commonService.markControlsAsDirty(this.addNoteFG);\n }\n\n }\n\n loadInitData(){\n this.logger.info('Start of loadInitData - add note component');\n this.getInitData().subscribe(response=>{\n let noteMeta = response.data;\n this.noteTypeData = noteMeta.referenceEntities.noteTypes;\n this.noteStatusData = noteMeta.referenceEntities.noteStatuses;\n this.noteLanguageData = noteMeta.referenceEntities.languages;\n this.setUploadedFile(noteMeta.noteData)\n this.loadNoteForm(noteMeta);\n //this.setNoteFormDefaultValues(noteMeta);\n this.logger.log(JSON.stringify(response));\n },\n error=>{\n this.logger.error(JSON.stringify(error));\n },\n ()=>{\n this.logger.info('End of loadInitData - add note component');\n })\n }\n\n setUploadedFile(note:any={}){\n if(note && note.attachments && note.attachments.description && note.attachments.data){\n this.uploadedFiles.push(Object.assign(note.attachments,{name:note.attachments.description}))\n }\n }\n\n loadNoteForm(noteData:any){\n this.addNoteFG =this.getNoteForm(noteData)\n }\n\n getSaveDataBaseRequest(noteForm:FormGroup,attachment:any=null):any{\n let noteFormValue = noteForm.value;\n let baseRequest = {\n \"attachment\": attachment,\n \"date\": new Date(),\n \"username\": \"\",\n \"typeId\": noteFormValue.noteType != null ? noteFormValue.noteType.id : null,\n \"statusId\": noteFormValue.noteStatus != null ? noteFormValue.noteStatus.id : null,\n \"origin\": \"\",\n \"subject\": noteFormValue.subject,\n \"text\": noteFormValue.notes != null ? noteFormValue.notes : \"\",\n \"languageId\": noteFormValue.noteLanguage != null ? noteFormValue.noteLanguage.id : null,\n \"endDate\": new Date(),\n \"eventDate\": new Date(),\n \"isNoteDisplayInBooking\": false,\n \"isNoteEditableInBooking\": false,\n \"isNoteDisplayInRailSearch\": false,\n \"isNoteDisplayInAPI\": false\n }\n return baseRequest;\n }\n\n setNoteFormDefaultValues(noteMeta:any){\n let noteTypes = noteMeta.referenceEntities.noteTypes;\n let noteStatuses = noteMeta.referenceEntities.noteStatuses;\n let languages = noteMeta.referenceEntities.languages;\n this.addNoteFG.patchValue({\n noteType: _.find(noteTypes),\n noteStatus: _.find(noteStatuses),\n noteLanguage: _.find(languages),\n })\n }\n\n getDefaultAddNotesConfig():IAddEditNoteConfig{\n let addReportMsg : string = this.multilingual.AddReportMsg\n addReportMsg = addReportMsg !=undefined ? addReportMsg.replace(\"{{entityType}}\",this.multilingual.Note):\"\"\n return {\n header:`${this.multilingual.Add} ${this.multilingual.Note}`,\n saveReportMsg : addReportMsg,\n entity:this.config.entity,\n entityId:this.config.entityId,\n entityName:this.config.entityName,\n action:\"add\",\n getInitData : ()=>{\n return this.notesService.getNewUserNoteMeta(this.config.entity,this.config.entityId).pipe(map(response=>{\n let data = response.data || [];\n data.referenceEntities = {\n noteTypes:data.noteTypes,\n noteStatuses:data.noteStatuses,\n languages:data.languages,\n }\n return response\n }));\n },\n saveData : (baseRequest:any={})=>{\n baseRequest.origin = \"User Note\";\n baseRequest.username = this.userName;\n return this.notesService.addUserNote(this.config.entity,this.config.entityId,baseRequest);\n },\n getNoteForm : ()=>{\n return new FormGroup({\n noteType: new FormControl(null, Validators.required),\n noteStatus: new FormControl(null, Validators.required),\n noteLanguage: new FormControl(null, Validators.required),\n subject: new FormControl(null, Validators.required),\n notes: new FormControl(),\n attachDesc: new FormControl(),\n attachData: new FormControl(),\n userName: new FormControl()\n });\n }\n }\n }\n\n addEditNoteSave(noteForm:FormGroup,uploadedFile:any):Observable{\n return this.commonService.GetFileAttachment(uploadedFile).pipe(switchMap((attachment:any)=>{\n let baseRequest = this.getSaveDataBaseRequest(noteForm,attachment);\n return this.saveData(baseRequest);\n }))\n }\n\n}\n","\n
\n {{this.config.header}}\n
\n \n
\n
\n
\n
\n
\n\n
\n \n \n \n
\n\n
\n \n \n \n
\n\n
\n \n \n \n
\n\n
\n \n \n
\n\n
\n \n \n
\n\n
\n \n \n \n \n
0\"\n class=\"display-flex align-items-center justify-content-between\">\n {{uploadedFiles[0].name}}\n
\n \n
\n
\n
\n
\n
\n\n
\n \n
\n\n\n","import { HttpClient } from '@angular/common/http';\nimport { Component, OnInit } from '@angular/core';\nimport { FormControl, FormGroup } from '@angular/forms';\nimport { Router, NavigationExtras } from '@angular/router';\nimport { passengerService } from 'src/app/services/home/passenger.service';\nimport { GlobalConstants } from 'src/app/shared/global-constants';\nimport _ from 'lodash';\nimport { TranslateService } from '@ngx-translate/core';\nimport { AuthService } from 'src/app/services/common/auth.service';\nimport { CommonService } from 'src/app/services/common/common.service';\n\ndeclare var OpenNewCRMInstance: any;\n\n@Component({\n selector: 'app-dashboard',\n templateUrl: './dashboard.component.html',\n styleUrls: ['./dashboard.component.scss']\n})\nexport class DashboardComponent implements OnInit {\n\n searchPaxFG: FormGroup;\n searchAgentFG: FormGroup;\n searchPaxData: any;\n filteredPassengers: any[] = [];\n filteredAgents: any[] = [];\n calledFromV2: boolean = false;\n isCreatePassenger: boolean = false;\n multilingual: any = {};\n\n constructor(public paxService: passengerService, private http: HttpClient, private router: Router,\n private translateService: TranslateService, private authService: AuthService, private commonService: CommonService) {\n this.searchPaxFG = new FormGroup({\n PaxInfo: new FormControl()\n });\n this.searchAgentFG = new FormGroup({\n AgentInfo: new FormControl()\n });\n this.translateService.setDefaultLang('en');\n let arrTranslate = [\"Dashboard\"];\n this.translateService.get(arrTranslate).subscribe((response: any) => {\n this.multilingual = response['Dashboard'];\n });\n }\n\n ngOnInit(): void {\n this.calledFromV2 = false; //Boolean(window.sessionStorage.getItem(\"CRMFromV2\") ??\"false\");\n this.loadTSv2Data();\n }\n\n filterAgentSearchResults(event: any) {\n let query = event.query;\n GlobalConstants.AgentSearchText = query;\n this.commonService.searchAgentsByName(query).subscribe(\n (response) => {\n this.filteredAgents = response.data;\n }, (error) => {\n this.filteredAgents = [{}];\n /*switch (error.status) {\n case 400:\n this.filteredPassengers = [{}];\n break;\n }*/\n }, () => {\n }\n );\n }\n\n openAgentInfo() {\n var FormValue = this.searchAgentFG.value;\n let agentId = FormValue.AgentInfo != null ? FormValue.AgentInfo.id : null;\n this._onAgentSelect(agentId, FormValue.AgentInfo.agentName);\n }\n\n _onAgentSelect(agentID: number, agentName: string) {\n if (agentID != null && agentID > 0) {\n GlobalConstants.AgentID = agentID;\n let URL = \"agent/\" + agentID + \"/home/\";\n\n if (this.calledFromV2) {\n OpenNewCRMInstance(URL, 'CRM-' + agentName);\n }\n else {\n this.router.navigate([URL]);\n }\n }\n }\n\n filterSearchResults(event: any) {\n let query = event.query;\n GlobalConstants.PaxSearchText = query;\n this.paxService.searchPasengersByName(query).subscribe(\n (response) => {\n this.filteredPassengers = response.data;\n }, (error) => {\n this.filteredPassengers = [{}];\n /*switch (error.status) {\n case 400:\n this.filteredPassengers = [{}];\n break;\n }*/\n }, () => {\n }\n );\n }\n\n openPaxInfo() {\n var FormValue = this.searchPaxFG.value;\n let paxID = FormValue.PaxInfo != null ? FormValue.PaxInfo.id : null;\n this._onPassengerSelect(paxID, FormValue.PaxInfo.passengerName);\n }\n\n _onPassengerSelect(paxID: number, passengerName: string) {\n if (paxID != null && paxID > 0) {\n GlobalConstants.PassengerID = paxID;\n let URL = \"passenger/\" + paxID + \"/home/\";\n\n if (this.calledFromV2) {\n OpenNewCRMInstance(URL, 'CRM-' + passengerName);\n }\n else {\n this.router.navigate([URL]);\n }\n }\n }\n\n searchPax() {\n\n var FormValue = this.searchPaxFG.value;\n let searchText = FormValue.PaxInfo != undefined ? (FormValue.PaxInfo).toString() : \"\";\n let URL = \"passengersearch/\" + searchText\n //this.router.navigate([URL]);\n // if (GlobalConstants.calledFromTSv2){\n // OpenNewCRMInstance(URL,'CRM-Passenger Search');\n // }\n // else{\n this.router.navigate([URL]);\n // }\n }\n\n searchAgent() {\n let URL = \"agentsearch/\"\n this.router.navigate([URL]);\n }\n\n loadTSv2Data() {\n if (GlobalConstants.calledFromTSv2) {\n var token = window.sessionStorage.getItem('CRMJWT');\n if (token == null || this.authService.tokenExpired(token)) {\n this.authService.authenticate(null).subscribe(\n (response) => {\n window.sessionStorage.setItem('CRMJWT', response);\n }, (error) => {\n\n }, () => {\n }\n );\n }\n }\n }\n\n onCreatePax(event: any = {}) {\n let passenger = event.data ? event.data.passenger : null;\n if (passenger) {\n let name = _.join(_.compact([passenger.firstName, passenger.lastName]), \" \");\n this._onPassengerSelect(passenger.id, name);\n }\n }\n}\n","
\n
\n \n
\n \n \n
\n
Dashboard.WelcomeToText
\n
Dashboard.PageLable
\n
Dashboard.SearchOrCreateCustomerText
\n
\n
\n
\n
\n \n
\n
\n
\n
Dashboard.Passenger
\n
\n \n
\n
\n\n
\n
\n
\n
\n
\n \n\n \n
\n
\n {{pax.displayInitials}}\n
\n
\n
{{pax.passengerName}}
\n {{pax.address}}, \n {{pax.phoneNumber}}\n
\n
\n
\n
\n
\n
\n
\n \n
\n\n
\n
\n\n\n \n
\n
\n
\n\n\n","import { Component, OnInit,Output,EventEmitter, Input, OnChanges } from '@angular/core';\nimport { FormControl, FormGroup, Validators} from '@angular/forms';\nimport { LoggingService } from 'src/app/services/common/logging.service';\nimport { passengerService } from 'src/app/services/home/passenger.service';\nimport { CommonService } from 'src/app/services/common/common.service';\nimport { TranslateService } from '@ngx-translate/core';\nimport { aboutService } from 'src/app/services/about/about.service';\nimport moment from 'moment';\nimport { AppConfigService } from 'src/app/services/common/app-config.service';\n\n@Component({\n selector: 'app-add-edit-ssrdocument',\n templateUrl: './add-edit-ssrdocument.component.html',\n styleUrls: ['./add-edit-ssrdocument.component.scss']\n})\nexport class AddEditSSRDocumentComponent implements OnInit,OnChanges {\n\n @Input() ssrDocumentId:string=\"\";\n @Input() paxId:string=\"\";\n @Input() config : any = {};\n @Output() postUpdate = new EventEmitter();\n @Output() ssrDocumentIdChange = new EventEmitter();\n\n multilingual : any = {};\n addEditSSRDocumentForm : FormGroup;\n genders : any[] = [];\n searchedCountries : any[] = [];\n documentTypes : any[] = [];\n validCalenderYearsFromToday = 100;\n expiryMinDateValue:Date;\n expiryMaxDateValue:Date;\n dobMinDatevalue:Date;\n dobMaxDatevalue:Date;\n expiryDateYearRange : String;\n dobYearRange : String;\n\n formEvent : any = {\n ON_FORM_CLOSE : \"ON_FORM_CLOSE\",\n ON_SSRDOCUMENT_ADD : \"ON_SSRDOCUMENT_ADD\",\n ON_SSRDOCUMENT_UPDATE : \"ON_SSRDOCUMENT_UPDATE\",\n ON_SSRDOCUMENT_ADD_ERROR : \"ON_SSRDOCUMENT_ADD_ERROR\",\n ON_SSRDOCUMENT_UPDATE_ERROR : \"ON_SSRDOCUMENT_UPDATE_ERROR\"\n }\n\n constructor(private logger:LoggingService,private translate: TranslateService,\n public passengerService: passengerService, public commonService:CommonService,public aboutService:aboutService) {\n\n let arrTranslate = [\"About.APIS\"];\n this.translate.get(arrTranslate).subscribe((response: any) => {\n this.multilingual = response['About.APIS'];\n });\n\n\n this.expiryMinDateValue = commonService.futureCalenderDateConfig.defaultMinDate;\n this.expiryMaxDateValue = commonService.futureCalenderDateConfig.defaultMaxDate;\n this.dobMinDatevalue = commonService.pastCalenderDateConfig.defaultMinDate;\n this.dobMaxDatevalue = commonService.pastCalenderDateConfig.defaultMaxDate;\n this.expiryDateYearRange = commonService.futureCalenderDateConfig.defaultYearRange\n this.dobYearRange = commonService.pastCalenderDateConfig.defaultYearRange\n\n this.addEditSSRDocumentForm = this.createSSRDocumentForm();\n\n }\n\n ngOnInit(): void {\n\n }\n\n ngOnChanges(changes: any):void{\n if( changes.ssrDocumentId.previousValue != changes.ssrDocumentId.currentValue\n && changes.ssrDocumentId.currentValue\n && this.config.visible)\n {\n if(Number(this.ssrDocumentId) > 0)\n this.loadEditSSRDocumentForm(this.paxId,this.ssrDocumentId);\n else if (this.ssrDocumentId == \"0\")\n this.loadNewSSRDocumentForm(this.paxId);\n }\n }\n\n closeForm(event:string=this.formEvent.ON_FORM_CLOSE,data:any=null):void{\n if(this.config.visible)\n {\n this.ssrDocumentId = \"\";\n this.config.visible = false;\n this.addEditSSRDocumentForm = this.createSSRDocumentForm();\n this.ssrDocumentIdChange.emit(\"\");\n this.postUpdate.emit({\"event\":event,\"data\":data});\n }\n }\n\n searchCountries(event:any):void{\n this.aboutService.getCountriesByName(event.query).subscribe(response=>{\n if(response.meta && response.meta.success && response.data){\n this.searchedCountries = response.data;\n }\n },error=>{\n switch (error.status) {\n case 400:\n this.searchedCountries = [{}];\n break;\n }\n\n },()=>{\n\n })\n }\n\n\n saveSSRDocument():void{\n if(this.addEditSSRDocumentForm.valid){\n if(Number(this.ssrDocumentId) > 0)\n this.updateSSRDocument(this.paxId,this.ssrDocumentId,this.getSSRDocumentToSave());\n else\n this.addSSRDocument(this.paxId,this.getSSRDocumentToSave());\n }\n else{\n this.commonService.markControlsAsDirty(this.addEditSSRDocumentForm);\n }\n\n }\n\n addSSRDocument(paxId:string,ssrDocument:any):void{\n this.aboutService.addPaxSSRDocument(paxId,ssrDocument).subscribe(response=>{\n if(response.meta && response.meta.success && response.data){\n this.closeForm(this.formEvent.ON_SSRDOCUMENT_ADD,response.data)\n }\n },error=>{\n // this.postUpdate.emit({\"event\":this.formEvent.ON_SSRDOCUMENT_ADD_ERROR,\"data\":error});\n },()=>{\n\n })\n }\n\n updateSSRDocument(paxId:string,ssrDocumentId:string,ssrDocument:any):void{\n this.aboutService.editPaxSSRDocument(paxId,ssrDocumentId,ssrDocument).subscribe(response=>{\n if(response.meta && response.meta.success && response.data){\n this.closeForm(this.formEvent.ON_SSRDOCUMENT_UPDATE,response.data)\n }\n },error=>{\n //this.postUpdate.emit({\"event\":this.formEvent.ON_SSRDOCUMENT_UPDATE_ERROR,\"data\":error});\n },()=>{\n\n })\n }\n\n getSSRDocumentToSave():any{\n let addEditSSRDocumentForm = this.addEditSSRDocumentForm.value;\n return {\n \"surname\": addEditSSRDocumentForm.LastName,\n \"firstName\": addEditSSRDocumentForm.FirstName,\n \"middleName\": addEditSSRDocumentForm.MiddleName,\n \"genderId\": addEditSSRDocumentForm.Gender ? addEditSSRDocumentForm.Gender.id : \"\",\n \"nationalityId\": addEditSSRDocumentForm.Nationality ? addEditSSRDocumentForm.Nationality.id : \"\",\n \"dob\": addEditSSRDocumentForm.DOB ? moment(addEditSSRDocumentForm.DOB).format(AppConfigService.settings.env.defaultDateFormatSave) : \"\",\n \"ssrDocsTypeId\": addEditSSRDocumentForm.DocumentType ? addEditSSRDocumentForm.DocumentType.id : \"\",\n \"ssrDocNo\": addEditSSRDocumentForm.DocumentNumber,\n \"issuingCountryId\": addEditSSRDocumentForm.IssuingCountry ? addEditSSRDocumentForm.IssuingCountry.id : \"\",\n \"expiry\": addEditSSRDocumentForm.Expiry ? moment(addEditSSRDocumentForm.Expiry).format(AppConfigService.settings.env.defaultDateFormatSave) : \"\",\n \"primaryHolder\": addEditSSRDocumentForm.Ticketed\n }\n }\n\n createSSRDocumentForm(ssrDocument:any={}):FormGroup{\n return new FormGroup({\n LastName: new FormControl(ssrDocument.surname,Validators.required),\n FirstName: new FormControl(ssrDocument.firstName,Validators.required),\n MiddleName: new FormControl(ssrDocument.middleName),\n Gender: new FormControl(ssrDocument.genderType??null,Validators.required),\n Nationality: new FormControl(ssrDocument.nationality),\n DOB: new FormControl(ssrDocument.dob ? new Date(ssrDocument.dob) : null,Validators.required),\n DocumentType: new FormControl(ssrDocument.ssrDocumentType,Validators.required),\n DocumentNumber: new FormControl(ssrDocument.ssrDocsNo,Validators.required),\n IssuingCountry: new FormControl(ssrDocument.issuingCountry),\n Expiry: new FormControl(ssrDocument.expiry ? new Date(ssrDocument.expiry) : null),\n Ticketed:new FormControl(ssrDocument.primaryHolder)\n });\n }\n\n loadNewSSRDocumentForm(paxId:string):void{\n this.aboutService.getPaxNewSSRDocumentMeta(paxId).subscribe(response=>{\n if(response.meta && response.meta.success && response.data){\n this.genders = response.data.genderTypes;\n this.documentTypes = response.data.ssrDocumentTypes;\n this.addEditSSRDocumentForm = this.createSSRDocumentForm();\n }\n },error=>{\n\n },()=>{\n\n })\n }\n\n loadEditSSRDocumentForm(paxId:string,ssrDocumentId:string):void{\n this.aboutService.getPaxEditSSRDocumentMeta(paxId,ssrDocumentId).subscribe(response=>{\n if(response.meta && response.meta.success && response.data){\n this.genders = response.data.referenceEntities.genderTypes;\n this.documentTypes = response.data.referenceEntities.ssrDocumentTypes;\n this.addEditSSRDocumentForm = this.createSSRDocumentForm( response.data.ssrDocsData);\n }\n },error=>{\n\n },()=>{\n\n })\n }\n\n}\n\n\n","\n
\n {{this.config.header}}\n
\n \n
\n
\n
\n
\n
\n\n
\n \n \n
\n\n
\n \n \n
\n\n
\n \n \n
\n\n
\n \n \n \n
\n\n
\n \n \n
\n
\n
{{country.description}}
\n
\n
\n
\n
\n \n
\n\n \n\n
\n \n \n \n
\n\n
\n \n \n \n
\n\n
\n \n \n
\n\n
\n \n \n
\n
\n
{{country.description}}
\n
\n
\n
\n
\n \n
\n\n
\n \n \n \n
\n\n
\n \n \n
\n\n
\n
\n
\n \n
\n\n\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpParams } from '@angular/common/http';\nimport { AppConfigService } from '../common/app-config.service';\nimport { Observable } from 'rxjs';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AgentHomeService {\n\n apiServerURL = AppConfigService.settings.apiURL;\n baseURL = this.apiServerURL.BaseURL;\n\n constructor(private httpClient: HttpClient) {\n\n }\n\n getAgentDetails(agenId:string): Observable {\n var apiURL = this.baseURL + this.apiServerURL.GetAgentOverview;\n apiURL = apiURL.replace('{{agentId}}',agenId);\n return this.httpClient.get(apiURL);\n }\n\n // this method provides functionality to get agent booking summary from CRM API\n // the CRM API's end point called here is AgentHome\n getAgentBookingSummary(agenId:string):Observable{\n var apiURL = this.baseURL + this.apiServerURL.GetAgentBookingSummary;\n apiURL = apiURL.replace('{{agentId}}',agenId);\n return this.httpClient.get(apiURL)\n }\n\n // this method provides functionality to get agent booking summary from CRM API\n // the CRM API's end point called here is AgentHome\n getAgentFutureTrips(agenId:string):Observable{\n var apiURL = this.baseURL + this.apiServerURL.GetAgentFutureTrips;\n apiURL = apiURL.replace('{{agentId}}',agenId);\n return this.httpClient.get(apiURL)\n }\n\n // this method provides functionality to get agent notes from CRM API\n getAllAgentNotes(agenId: string, filterCriteria:any, pageNo:number,noOfRecord:number): Observable {\n var apiURL = this.baseURL + this.apiServerURL.GetAgentAllNotes;\n if(pageNo >0 && noOfRecord>0 )\n {\n apiURL = apiURL.replace('{{agentId}}', agenId)+ '?pageNumber='+ pageNo +'&pageSize='+ noOfRecord;\n }\n else\n {\n apiURL = apiURL.replace('{{agentId}}', agenId);\n }\n return this.httpClient.post(apiURL,filterCriteria)\n }\n\n getAgentTasks(agentId: string, filterCriteria:any, pageNo:number, noOfRecord:number, resultType : string ='all'): Observable {\n var apiURL = this.baseURL + this.apiServerURL.GetAgentTasks;\n let params = new HttpParams().set('selection',resultType);\n if(pageNo >0 && noOfRecord>0 )\n {\n apiURL = apiURL.replace('{{agentId}}', agentId)+ '?pageNumber='+ pageNo +'&pageSize='+ noOfRecord +'&selection='+resultType;\n }\n else\n {\n apiURL = apiURL.replace('{{agentId}}', agentId) +'?selection='+resultType;\n }\n\n return this.httpClient.post(apiURL,filterCriteria)\n }\n\n getAddAgentMeta(): Observable {\n var apiURL = this.baseURL + this.apiServerURL.GetNewAgentMeta;\n return this.httpClient.get(apiURL);\n }\n\n createAgent(newAgentInfo:any): Observable{\n var apiURL = this.baseURL + this.apiServerURL.CreateNewAgent;\n return this.httpClient.post(apiURL, newAgentInfo);\n }\n\n getOrganisations(name:string): Observable {\n var apiURL = this.baseURL + this.apiServerURL.GetOrganisations;\n apiURL = apiURL.replace('{{name}}',name);\n return this.httpClient.get(apiURL);\n }\n}\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { ReplaySubject, Observable, Subject, of } from 'rxjs';\r\nimport { AppConfigService } from '../common/app-config.service';\r\nimport { StringIterator } from 'lodash';\r\nimport { entityType } from 'src/app/models/entityType';\r\n\r\n@Injectable(\r\n { providedIn: 'root' }\r\n)\r\n\r\nexport class NotesService {\r\n\r\n apiServerURL = AppConfigService.settings.apiURL;\r\n baseURL = this.apiServerURL.BaseURL;\r\n\r\n constructor(private httpClient: HttpClient) { }\r\n\r\n getPassengerUserNotes(paxId: string, baseRequest: string, pagination: any = null, sort: any = null): Observable {\r\n let params = new HttpParams();\r\n var apiURL = this.baseURL + this.apiServerURL.GetPassengerUserNotes;\r\n apiURL = apiURL.replace('{{paxID}}', paxId);\r\n if (pagination) {\r\n if (pagination.pageNumber)\r\n params = params.append('pageNumber', pagination.pageNumber);\r\n if (pagination.pageSize)\r\n params = params.append('pageSize', pagination.pageSize);\r\n }\r\n return this.httpClient.post(apiURL, baseRequest, { params });\r\n }\r\n\r\n getPassengerSystemNotes(paxId: string, baseRequest: string, pagination: any = null, sort: any = null): Observable {\r\n let params = new HttpParams();\r\n var apiURL = this.baseURL + this.apiServerURL.GetPassengerSystemNotes;\r\n apiURL = apiURL.replace('{{paxID}}', paxId);\r\n if (pagination) {\r\n if (pagination.pageNumber)\r\n params = params.append('pageNumber', pagination.pageNumber);\r\n if (pagination.pageSize)\r\n params = params.append('pageSize', pagination.pageSize);\r\n }\r\n return this.httpClient.post(apiURL, baseRequest, { params });\r\n }\r\n\r\n getAgentSystemNotes(agentId: string, baseRequest: string, pagination: any = null, sort: any = null): Observable {\r\n let params = new HttpParams();\r\n var apiURL = this.baseURL + this.apiServerURL.GetAgentSystemNotes;\r\n apiURL = apiURL.replace('{{agentId}}', agentId);\r\n if (pagination) {\r\n if (pagination.pageNumber)\r\n params = params.append('pageNumber', pagination.pageNumber);\r\n if (pagination.pageSize)\r\n params = params.append('pageSize', pagination.pageSize);\r\n }\r\n return this.httpClient.post(apiURL, baseRequest, { params });\r\n }\r\n\r\n getAgentUserNotes(agentId: string, baseRequest: string, pagination: any = null, sort: any = null): Observable {\r\n let params = new HttpParams();\r\n var apiURL = this.baseURL + this.apiServerURL.GetAgentUserNotes;\r\n apiURL = apiURL.replace('{{agentId}}', agentId);\r\n if (pagination) {\r\n if (pagination.pageNumber)\r\n params = params.append('pageNumber', pagination.pageNumber);\r\n if (pagination.pageSize)\r\n params = params.append('pageSize', pagination.pageSize);\r\n }\r\n return this.httpClient.post(apiURL, baseRequest, { params });\r\n }\r\n\r\n getNewUserNoteMeta(entity: entityType, entityId: string): Observable {\r\n var apiURL = \"\";\r\n if (entity == entityType.passenger) {\r\n var apiURL = this.baseURL + this.apiServerURL.GetPassengerNewUserNoteMeta;\r\n apiURL = apiURL.replace('{{paxID}}', entityId);\r\n }\r\n else if (entity == entityType.agent) {\r\n var apiURL = this.baseURL + this.apiServerURL.GetAgentNewUserNoteMeta;\r\n apiURL = apiURL.replace('{{agentId}}', entityId);\r\n }\r\n return this.httpClient.get(apiURL);\r\n }\r\n\r\n getEditUserNoteMeta(entity: entityType, entityId: string, noteId: string): Observable {\r\n var apiURL = \"\";\r\n if (entity == entityType.passenger) {\r\n apiURL = this.baseURL + this.apiServerURL.GetPassengerEditUserNoteMeta;\r\n apiURL = apiURL.replace('{{paxID}}', entityId);\r\n apiURL = apiURL.replace('{{noteId}}', noteId);\r\n }\r\n else if (entity == entityType.agent) {\r\n apiURL = this.baseURL + this.apiServerURL.GetAgentEditUserNoteMeta;\r\n apiURL = apiURL.replace('{{agentId}}', entityId);\r\n apiURL = apiURL.replace('{{noteId}}', noteId);\r\n }\r\n return this.httpClient.get(apiURL);\r\n }\r\n\r\n addUserNote(entity: entityType, entityId: string, baseRequest: any): Observable {\r\n var apiURL = \"\";\r\n if (entity == entityType.passenger) {\r\n apiURL = this.baseURL + this.apiServerURL.AddPassengerUserNote;\r\n apiURL = apiURL.replace('{{paxID}}', entityId);\r\n }\r\n else if (entity == entityType.agent) {\r\n apiURL = this.baseURL + this.apiServerURL.AddAgentUserNote;\r\n apiURL = apiURL.replace('{{agentId}}', entityId);\r\n }\r\n return this.httpClient.post(apiURL, baseRequest);\r\n }\r\n\r\n updateUserNote(entity: entityType, entityId: string, noteId: string, baseRequest: any): Observable {\r\n var apiURL = \"\";\r\n if (entity == entityType.passenger) {\r\n apiURL = this.baseURL + this.apiServerURL.UpdatePassengerUserNote;\r\n apiURL = apiURL.replace('{{paxID}}', entityId);\r\n apiURL = apiURL.replace('{{noteId}}', noteId);\r\n }\r\n else if (entity == entityType.agent) {\r\n apiURL = this.baseURL + this.apiServerURL.UpdateAgentUserNote;\r\n apiURL = apiURL.replace('{{agentId}}', entityId);\r\n apiURL = apiURL.replace('{{noteId}}', noteId);\r\n }\r\n return this.httpClient.put(apiURL, baseRequest);\r\n }\r\n\r\n deleteUserNote(entity: entityType, entityId: string, noteId: string): Observable {\r\n var apiURL = \"\";\r\n if (entity == entityType.passenger) {\r\n var apiURL = this.baseURL + this.apiServerURL.DeletePassengerUserNote;\r\n apiURL = apiURL.replace('{{paxID}}', entityId);\r\n apiURL = apiURL.replace('{{noteId}}', noteId);\r\n }\r\n else if (entity == entityType.agent) {\r\n var apiURL = this.baseURL + this.apiServerURL.DeleteAgentUserNote;\r\n apiURL = apiURL.replace('{{agentId}}', entityId);\r\n apiURL = apiURL.replace('{{noteId}}', noteId);\r\n }\r\n return this.httpClient.delete(apiURL);\r\n }\r\n\r\n // this method provides functionality to get user note (individual note details) from CRM API\r\n getNoteDetails(entity: entityType, entityId: string, noteID: string): Observable {\r\n var apiURL = \"\";\r\n if (entity == entityType.passenger) {\r\n apiURL = this.baseURL + this.apiServerURL.GetNote;\r\n apiURL = apiURL.replace('{{paxID}}', entityId);\r\n apiURL = apiURL.replace('{{noteID}}', noteID);\r\n }\r\n else if (entity == entityType.agent) {\r\n apiURL = this.baseURL + this.apiServerURL.GetAgentNote;\r\n apiURL = apiURL.replace('{{agentId}}', entityId);\r\n apiURL = apiURL.replace('{{noteID}}', noteID);\r\n }\r\n return this.httpClient.get(apiURL)\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { RouterModule } from '@angular/router';\n//import { BrowserModule } from '@angular/platform-browser';\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\nimport { FormsModule,ReactiveFormsModule } from '@angular/forms';\n\n\nimport {TranslateHttpLoader} from '@ngx-translate/http-loader';\nimport {TranslateLoader, TranslateModule} from '@ngx-translate/core';\nimport { HttpClient} from '@angular/common/http'\nimport { PrimengModule } from '../primeng-module';\n\nimport { AgentModule } from './agent/agent.module';\nimport { SharedModule } from '../shared/shared.module';\nimport { PassengerModule } from './passenger/passenger.module';\nimport { CoreRoutingModule } from './core-routing.module';\nimport { DashboardComponent } from './dashboard/dashboard.component';\nimport { DashboardAgentComponent } from './dashboard-agent/dashboard-agent.component';\n\nexport function HttpLoaderFactory(httpClient: HttpClient) {\n return new TranslateHttpLoader(httpClient);\n}\n\n@NgModule({\n declarations: [\n DashboardComponent,\n DashboardAgentComponent,\n ],\n imports: [\n CommonModule,\n RouterModule,\n FormsModule,\n BrowserAnimationsModule,\n ReactiveFormsModule,\n PrimengModule,\n AgentModule,\n SharedModule,\n PassengerModule,\n TranslateModule.forRoot({\n loader: {\n provide: TranslateLoader,\n useFactory: HttpLoaderFactory,\n deps: [HttpClient]\n }\n }),\n CoreRoutingModule\n ],\n\n exports: [DashboardComponent,DashboardAgentComponent]\n\n})\nexport class CoreModule { }\n","import { Injectable } from '@angular/core';\nimport { LogPublisherService } from './log-publisher.service';\nimport { LogPublisher } from './LogPublisher';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class LoggingService {\n\n publishers: LogPublisher[];\n level: LogLevel = LogLevel.All;\n logWithDate: boolean = true;\n\n constructor(private publishersService: LogPublisherService) {\n\n this.publishers = this.publishersService.publishers;\n\n }\n\n debug(msg: string, ...optionalParams: any[]) {\n this.writeToLog(msg, LogLevel.Debug, optionalParams);\n}\n\ninfo(msg: string, ...optionalParams: any[]) {\n this.writeToLog(msg, LogLevel.Info, optionalParams);\n}\n\nwarn(msg: string, ...optionalParams: any[]) {\n this.writeToLog(msg, LogLevel.Warn, optionalParams);\n}\n\nerror(msg: string, ...optionalParams: any[]) {\n this.writeToLog(msg, LogLevel.Error, optionalParams);\n}\n\nfatal(msg: string, ...optionalParams: any[]) {\n this.writeToLog(msg, LogLevel.Fatal, optionalParams);\n}\n\nlog(msg: string, ...optionalParams: any[]) {\n this.writeToLog(msg, LogLevel.All, optionalParams);\n}\n\nclear(): void {\n for (let logger of this.publishers) {\n logger.clear()\n .subscribe(response => console.log(response));\n }\n}\n\nprivate writeToLog(msg: string, level: LogLevel, params: any[]) {\n if (this.shouldLog(level)) {\n let entry: LogEntry = new LogEntry();\n entry.message = msg;\n entry.level = level;\n entry.extraInfo = params;\n entry.logWithDate = this.logWithDate;\n for (let logger of this.publishers) {\n logger.log(entry)\n .subscribe();\n }\n }\n}\n\nprivate shouldLog(level: LogLevel): boolean {\n let ret: boolean = false;\n if ((level >= this.level && level !== LogLevel.Off) || this.level === LogLevel.All) {\n ret = true;\n }\n return ret;\n}\n}\nexport class LogEntry {\n // Public Properties\n entryDate: Date = new Date();\n message: string = \"\";\n level: LogLevel = LogLevel.Debug;\n extraInfo: any[] = [];\n logWithDate: boolean = true;\n\n buildLogString(): string {\n let ret: string = \"\";\n\n if (this.logWithDate) {\n ret = new Date() + \" - \";\n }\n\n ret += \"Type: \" + LogLevel[this.level];\n ret += \" - Message: \" + this.message;\n if (this.extraInfo.length) {\n ret += \" - Extra Info: \" + this.formatParams(this.extraInfo);\n }\n\n return ret;\n }\n\n private formatParams(params: any[]): string {\n let ret: string = params.join(\",\");\n\n // Is there at least one object in the array?\n if (params.some(p => typeof p == \"object\")) {\n ret = \"\";\n\n // Build comma-delimited string\n for (let item of params) {\n ret += JSON.stringify(item) + \",\";\n }\n }\n\n return ret;\n }\n}\n\nexport enum LogLevel {\n All = 0,\n Debug = 1,\n Info = 2,\n Warn = 3,\n Error = 4,\n Fatal = 5,\n Off = 6\n}\n","import { Injectable } from '@angular/core';\r\nimport { ReplaySubject, Observable, Subject, of } from 'rxjs';\r\nimport { GlobalConstants } from 'src/app/shared/global-constants';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\n//import apiURLSettings from \"../../../assets/apiURLConfig.json\";\r\n\r\nimport { AppConfigService } from '../common/app-config.service';\r\nimport { entityType } from 'src/app/models/entityType';\r\n// The class 'AboutService' cannot be created via dependency injection, if it does not have an Angular decorator. This will result in an error at runtime\r\n// That's why we use @Injectable decorator\r\n@Injectable(\r\n { providedIn: 'root' }\r\n)\r\n\r\nexport class aboutService {\r\n //private _config: any;\r\n apiServerURL = AppConfigService.settings.apiURL;\r\n baseURL = this.apiServerURL.BaseURL;\r\n\r\n constructor(private httpClient: HttpClient) {\r\n\r\n }\r\n\r\n getAllAddresses(entity: entityType, entityId: string): Observable {\r\n var apiURL = \"\";\r\n if (entity == entityType.passenger) {\r\n var apiURL = this.baseURL + this.apiServerURL.GetAllAddress;\r\n apiURL = apiURL.replace('{{paxID}}', entityId);\r\n }\r\n else if (entity == entityType.agent) {\r\n var apiURL = this.baseURL + this.apiServerURL.GetAllAgentAddress;\r\n apiURL = apiURL.replace('{{agentId}}', entityId);\r\n }\r\n return this.httpClient.get(apiURL);\r\n }\r\n\r\n getNewAddressMeta(entity: entityType, entityId: string): Observable {\r\n var apiURL = \"\";\r\n if (entity == entityType.passenger) {\r\n apiURL = this.baseURL + this.apiServerURL.NewAddressMeta;\r\n apiURL = apiURL.replace('{{paxID}}', entityId);\r\n }\r\n else if (entity == entityType.agent) {\r\n apiURL = this.baseURL + this.apiServerURL.GetAgentNewAddressMetaData;\r\n apiURL = apiURL.replace('{{agentId}}', entityId);\r\n }\r\n else if (entity == entityType.agentContact) {\r\n apiURL = this.baseURL + this.apiServerURL.GetAgentContactAddressForNew;\r\n apiURL = apiURL.replace('{{agentId}}', GlobalConstants.AgentID.toString());\r\n apiURL = apiURL.replace('{{contactId}}', entityId);\r\n }\r\n return this.httpClient.get(apiURL);\r\n }\r\n\r\n addAddress(entity: entityType, entityId: string, address: any): Observable {\r\n var apiURL = \"\";\r\n if (entity == entityType.passenger) {\r\n apiURL = this.baseURL + this.apiServerURL.AddAddress;\r\n apiURL = apiURL.replace('{{paxID}}', entityId);\r\n }\r\n else if (entity == entityType.agent) {\r\n apiURL = this.baseURL + this.apiServerURL.AddNewAgentAddress;\r\n apiURL = apiURL.replace('{{agentId}}', entityId);\r\n }\r\n else if (entity == entityType.agentContact) {\r\n apiURL = this.baseURL + this.apiServerURL.AddAgentContactAddress;\r\n apiURL = apiURL.replace('{{agentId}}', GlobalConstants.AgentID.toString());\r\n apiURL = apiURL.replace('{{contactId}}', entityId);\r\n\r\n }\r\n return this.httpClient.post(apiURL, address);\r\n }\r\n\r\n deleteAddress(entity: entityType, entityId: string, addressId: string): Observable {\r\n var apiURL = \"\";\r\n if (entity == entityType.passenger) {\r\n apiURL = this.baseURL + this.apiServerURL.DeleteAddress;\r\n apiURL = apiURL.replace('{{paxID}}', entityId);\r\n apiURL = apiURL.replace('{{addressId}}', addressId);\r\n }\r\n else if (entity == entityType.agent) {\r\n apiURL = this.baseURL + this.apiServerURL.DeleteAgentAddress;\r\n apiURL = apiURL.replace('{{agentId}}', entityId);\r\n apiURL = apiURL.replace('{{addressId}}', addressId);\r\n }\r\n return this.httpClient.delete(apiURL);\r\n }\r\n\r\n // this method provides functionality to get address for editing/updating\r\n editAddress(entity: entityType, entityId: string, addressID: string): Observable {\r\n var apiURL = \"\";\r\n if (entity == entityType.passenger) {\r\n apiURL = this.baseURL + this.apiServerURL.EditAddress;\r\n apiURL = apiURL.replace('{{paxID}}', entityId);\r\n apiURL = apiURL.replace('{{addressID}}', addressID);\r\n }\r\n if (entity == entityType.agent) {\r\n apiURL = this.baseURL + this.apiServerURL.EditAgentAddress;\r\n apiURL = apiURL.replace('{{agentId}}', entityId);\r\n apiURL = apiURL.replace('{{addressID}}', addressID);\r\n }\r\n if (entity == entityType.agentContact) {\r\n apiURL = this.baseURL + this.apiServerURL.GetAgentContactAddressForEdit;\r\n apiURL = apiURL.replace('{{agentId}}', GlobalConstants.AgentID.toString());\r\n apiURL = apiURL.replace('{{contactId}}', entityId);\r\n apiURL = apiURL.replace('{{addressId}}', addressID);\r\n }\r\n\r\n return this.httpClient.get(apiURL);\r\n }\r\n\r\n // this method provides functionality to update address\r\n updateAddress(entity: entityType, entityId: string, addressID: string, address: any): Observable {\r\n var apiURL = \"\";\r\n if (entity == entityType.passenger) {\r\n apiURL = this.baseURL + this.apiServerURL.UpdateAddress;\r\n apiURL = apiURL.replace('{{paxID}}', entityId);\r\n apiURL = apiURL.replace('{{addressID}}', addressID);\r\n }\r\n if (entity == entityType.agent) {\r\n apiURL = this.baseURL + this.apiServerURL.UpdateAgentAddress;\r\n apiURL = apiURL.replace('{{agentId}}', entityId);\r\n apiURL = apiURL.replace('{{addressID}}', addressID);\r\n }\r\n if (entity == entityType.agentContact) {\r\n apiURL = this.baseURL + this.apiServerURL.UpdateAgentContactAddress;\r\n apiURL = apiURL.replace('{{agentId}}', GlobalConstants.AgentID.toString());\r\n apiURL = apiURL.replace('{{contactId}}', entityId);\r\n apiURL = apiURL.replace('{{addressId}}', addressID);\r\n }\r\n return this.httpClient.put(apiURL, address);\r\n }\r\n\r\n getPassengerLinkedContacts(paxId: string): Observable {\r\n var apiURL = this.baseURL + this.apiServerURL.GetPassengerRelationships;\r\n apiURL = apiURL.replace('{{paxID}}', paxId);\r\n return this.httpClient.get(apiURL);\r\n }\r\n\r\n // this method provides functionality to get passenger relationship info for adding\r\n addPassengerRelationship(paxId: string): Observable {\r\n var apiURL = this.baseURL + this.apiServerURL.AddRelationship;\r\n apiURL = apiURL.replace('{{paxID}}', paxId);\r\n return this.httpClient.get(apiURL);\r\n }\r\n\r\n // this method provides functionality to save new passenger relationship info\r\n savePassengerRelationship(paxId: string, relationshipInfo: any): Observable {\r\n var apiURL = this.baseURL + this.apiServerURL.SaveNewRelationship;\r\n apiURL = apiURL.replace('{{paxID}}', paxId);\r\n return this.httpClient.post(apiURL, relationshipInfo);\r\n }\r\n\r\n // this method provides functionality to delete passenger relationship info\r\n deletePassengerRelationship(paxId: string, relationshipID: string): Observable {\r\n var apiURL = this.baseURL + this.apiServerURL.DeleteRelationship;\r\n apiURL = apiURL.replace('{{paxID}}', paxId);\r\n apiURL = apiURL.replace('{{passengerRelationshipId}}', relationshipID);\r\n return this.httpClient.delete(apiURL);\r\n }\r\n\r\n //this method returns Passenger Memberships\r\n getPassengerAllMemberships(paxId: string): Observable {\r\n var apiURL = this.baseURL + this.apiServerURL.GetMembership;\r\n apiURL = apiURL.replace('{{paxID}}', paxId);\r\n return this.httpClient.get(apiURL);\r\n }\r\n\r\n getMembershipDataForAdd(paxId: string): Observable {\r\n var apiURL = this.baseURL + this.apiServerURL.GetMembershipData;\r\n apiURL = apiURL.replace('{{paxID}}', (paxId).toString());\r\n return this.httpClient.get(apiURL);\r\n }\r\n //This method adds Passenger Memberships\r\n addPassengerClubMemberships(paxId: string, addMembershipInfoReq: any): Observable {\r\n var apiURL = this.baseURL + this.apiServerURL.AddNewMembership;\r\n apiURL = apiURL.replace('{{paxID}}', paxId);\r\n return this.httpClient.post(apiURL, addMembershipInfoReq);\r\n }\r\n deletePassengerMembership(paxId: string, membershipId: any): Observable {\r\n var apiURL = this.baseURL + this.apiServerURL.DeleteMembership;\r\n apiURL = apiURL.replace('{{paxID}}', paxId);\r\n apiURL = apiURL.replace('{{clubMembershipId}}', membershipId);\r\n return this.httpClient.delete(apiURL);\r\n }\r\n\r\n getLocations(query: string): Observable {\r\n var apiURL = this.baseURL + this.apiServerURL.LoquateFind;\r\n apiURL = apiURL.replace('{{query}}', query);\r\n return this.httpClient.get(apiURL);\r\n }\r\n\r\n getAddressDetails(addressId: string): Observable {\r\n var apiURL = this.baseURL + this.apiServerURL.LoquateRetrieve;\r\n apiURL = apiURL.replace('{{addressId}}', addressId);\r\n return this.httpClient.get(apiURL);\r\n }\r\n\r\n getPassengerBasicInfo(paxId: string): Observable {\r\n var apiURL = this.baseURL + this.apiServerURL.GetPassengerBasicInfo;\r\n apiURL = apiURL.replace('{{paxID}}', paxId);\r\n return this.httpClient.get(apiURL);\r\n }\r\n\r\n getPaxSSRDocuments(paxId: string): Observable {\r\n var apiURL = this.baseURL + this.apiServerURL.GetAllSSRDocuments;\r\n apiURL = apiURL.replace('{{paxID}}', paxId);\r\n return this.httpClient.get(apiURL);\r\n }\r\n getPaxNewSSRDocumentMeta(paxId: string): Observable {\r\n var apiURL = this.baseURL + this.apiServerURL.GetNewSSRDocumentMeta;\r\n apiURL = apiURL.replace('{{paxID}}', paxId);\r\n return this.httpClient.get(apiURL);\r\n }\r\n getPaxEditSSRDocumentMeta(paxId: string, ssrDocumentId: string): Observable {\r\n var apiURL = this.baseURL + this.apiServerURL.GetEditSSRDocumentMeta;\r\n apiURL = apiURL.replace('{{paxID}}', paxId);\r\n apiURL = apiURL.replace('{{ssrDocsId}}', ssrDocumentId);\r\n return this.httpClient.get(apiURL);\r\n }\r\n\r\n addPaxSSRDocument(paxId: string, ssrDocument: any): Observable {\r\n var apiURL = this.baseURL + this.apiServerURL.AddSSRDocument;\r\n apiURL = apiURL.replace('{{paxID}}', paxId);\r\n return this.httpClient.post(apiURL, ssrDocument);\r\n }\r\n\r\n editPaxSSRDocument(paxId: string, ssrDocumentId: string, ssrDocument: any): Observable {\r\n var apiURL = this.baseURL + this.apiServerURL.EditSSRDocument;\r\n apiURL = apiURL.replace('{{paxID}}', paxId);\r\n apiURL = apiURL.replace('{{ssrDocsId}}', ssrDocumentId);\r\n return this.httpClient.put(apiURL, ssrDocument);\r\n }\r\n\r\n deletePaxSSRDocument(paxId: string, ssrDocumentId: string): Observable {\r\n var apiURL = this.baseURL + this.apiServerURL.DeleteSSRDocument;\r\n apiURL = apiURL.replace('{{paxID}}', paxId);\r\n apiURL = apiURL.replace('{{ssrDocsId}}', ssrDocumentId);\r\n return this.httpClient.delete(apiURL);\r\n }\r\n\r\n getCountriesByName(countryName: string): Observable {\r\n var apiURL = this.baseURL + this.apiServerURL.GetCountriesByName;\r\n apiURL = apiURL.replace('{{countryName}}', countryName);\r\n return this.httpClient.get(apiURL);\r\n }\r\n\r\n getPaxPassportDetails(paxId: string): Observable {\r\n var apiURL = this.baseURL + this.apiServerURL.GetPassportDetails;\r\n apiURL = apiURL.replace('{{paxID}}', (paxId).toString());\r\n return this.httpClient.get(apiURL);\r\n }\r\n\r\n getPassportDetailsForAdd(paxId: string): Observable {\r\n var apiURL = this.baseURL + this.apiServerURL.GetPassportDetailsForAdd;\r\n apiURL = apiURL.replace('{{paxID}}', (paxId).toString());\r\n return this.httpClient.get(apiURL);\r\n }\r\n\r\n addNewPassportDetails(paxId: string, passportReq: any): Observable {\r\n var apiURL = this.baseURL + this.apiServerURL.AddPassportDetails;\r\n apiURL = apiURL.replace('{{paxID}}', paxId);\r\n return this.httpClient.post(apiURL, passportReq);\r\n }\r\n getPassportetailsForEdit(paxId: string, passportId: any): Observable {\r\n var apiURL = this.baseURL + this.apiServerURL.GetPassportDetailsForEdit;\r\n apiURL = apiURL.replace('{{paxID}}', (paxId).toString());\r\n apiURL = apiURL.replace('{{passportId}}', (passportId).toString());\r\n return this.httpClient.get(apiURL);\r\n }\r\n\r\n updatePassportDetails(paxId: string, passportId: any, passportInfo: any): Observable {\r\n var apiURL = this.baseURL + this.apiServerURL.UpdatePassportDetails;\r\n apiURL = apiURL.replace('{{paxID}}', paxId);\r\n apiURL = apiURL.replace('{{passportId}}', passportId);\r\n return this.httpClient.put(apiURL, passportInfo);\r\n }\r\n\r\n deletePassportInfo(paxId: string, passportId: any): Observable {\r\n var apiURL = this.baseURL + this.apiServerURL.DeletePassportDetails;\r\n apiURL = apiURL.replace('{{paxID}}', paxId);\r\n apiURL = apiURL.replace('{{passportId}}', passportId);\r\n return this.httpClient.delete(apiURL);\r\n }\r\n\r\n getTravelActivities(paxId: string): Observable {\r\n var apiURL = this.baseURL + this.apiServerURL.GetTravelActivities;\r\n apiURL = apiURL.replace('{{paxID}}', paxId);\r\n return this.httpClient.get(apiURL);\r\n }\r\n\r\n searchTravelActivityByName(travelActivityType: any): Observable {\r\n var apiURL = this.baseURL + this.apiServerURL.SearchTravelActivityByName;\r\n apiURL = apiURL.replace('{{travelActivityName}}', travelActivityType);\r\n return this.httpClient.get(apiURL);\r\n }\r\n\r\n editTravelActivity(paxId: string): Observable {\r\n var apiURL = this.baseURL + this.apiServerURL.EditTravelActivity;\r\n apiURL = apiURL.replace('{{paxID}}', paxId);\r\n return this.httpClient.get(apiURL);\r\n }\r\n\r\n deleteTravelActivity(paxId: string, travelActivityTypeId: string): Observable {\r\n var apiURL = this.baseURL + this.apiServerURL.DeleteTravelActivity;\r\n apiURL = apiURL.replace('{{paxID}}', paxId);\r\n apiURL = apiURL.replace('{{assignedTravelActivityTypeId}}', travelActivityTypeId);\r\n return this.httpClient.delete(apiURL);\r\n }\r\n\r\n addTravelActivity(paxId: string, travelActivity: any): Observable {\r\n var apiURL = this.baseURL + this.apiServerURL.AddTravelActivity;\r\n apiURL = apiURL.replace('{{paxID}}', paxId);\r\n return this.httpClient.post(apiURL, travelActivity);\r\n }\r\n\r\n getPaxVisas(paxId: string): Observable {\r\n var apiURL = this.baseURL + this.apiServerURL.GetPassengerVisas;\r\n apiURL = apiURL.replace('{{paxID}}', (paxId).toString());\r\n return this.httpClient.get(apiURL);\r\n }\r\n\r\n getPreferredDestinations(paxId: string): Observable {\r\n var apiURL = this.baseURL + this.apiServerURL.GetPreferredDestinations;\r\n apiURL = apiURL.replace('{{paxID}}', paxId);\r\n return this.httpClient.get(apiURL);\r\n }\r\n\r\n searchDestinationsByName(destinationName: any): Observable {\r\n var apiURL = this.baseURL + this.apiServerURL.SearchDestinationsByName;\r\n apiURL = apiURL.replace('{{regionName}}', destinationName);\r\n return this.httpClient.get(apiURL);\r\n }\r\n\r\n editPreferredDestinations(paxId: string): Observable {\r\n var apiURL = this.baseURL + this.apiServerURL.EditPreferredDestinations;\r\n apiURL = apiURL.replace('{{paxID}}', paxId);\r\n return this.httpClient.get(apiURL);\r\n }\r\n\r\n addPreferredDestinations(paxId: string, prefDestination: any): Observable {\r\n var apiURL = this.baseURL + this.apiServerURL.AddPreferredDestinations;\r\n apiURL = apiURL.replace('{{paxID}}', paxId);\r\n return this.httpClient.post(apiURL, prefDestination);\r\n }\r\n\r\n deletePreferredDestinations(paxId: string, assignedRegionId: string): Observable {\r\n var apiURL = this.baseURL + this.apiServerURL.DeletePreferredDestinations;\r\n apiURL = apiURL.replace('{{paxID}}', paxId);\r\n apiURL = apiURL.replace('{{assignedRegionId}}', assignedRegionId);\r\n return this.httpClient.delete(apiURL);\r\n }\r\n\r\n getFlightInformation(paxId: string): Observable {\r\n var apiURL = this.baseURL + this.apiServerURL.GetFlightInformation;\r\n apiURL = apiURL.replace('{{paxID}}', paxId);\r\n return this.httpClient.get(apiURL);\r\n }\r\n\r\n editFlightInformation(paxId: string): Observable {\r\n var apiURL = this.baseURL + this.apiServerURL.EditFlightInformation;\r\n apiURL = apiURL.replace('{{paxID}}', paxId);\r\n return this.httpClient.get(apiURL);\r\n }\r\n\r\n searchFlightCityByName(flightCityCode: any): Observable {\r\n var apiURL = this.baseURL + this.apiServerURL.SearchFlightCityByName;\r\n apiURL = apiURL.replace('{{flightCode}}', flightCityCode);\r\n return this.httpClient.get(apiURL);\r\n }\r\n\r\n updateFlightInformation(paxId: string, paxFlightInfoId: any, flightInfo: any): Observable {\r\n var apiURL=\"\"\r\n if(paxFlightInfoId)\r\n {\r\n apiURL = this.baseURL + this.apiServerURL.UpdateFlightInformation;\r\n apiURL = apiURL.replace('{{paxID}}', paxId);\r\n apiURL = apiURL.replace('{{passengerFlightInfoId}}', paxFlightInfoId);\r\n return this.httpClient.put(apiURL, flightInfo);\r\n }\r\n else{\r\n apiURL = this.baseURL + this.apiServerURL.AddFlightInformation;\r\n apiURL = apiURL.replace('{{paxID}}', paxId);\r\n return this.httpClient.post(apiURL, flightInfo);\r\n }\r\n }\r\n\r\n getFrequentFlyerInformation(paxId: string): Observable {\r\n var apiURL = this.baseURL + this.apiServerURL.GetFrequentFlyerInformation;\r\n apiURL = apiURL.replace('{{paxID}}', paxId);\r\n return this.httpClient.get(apiURL);\r\n }\r\n\r\n editFrequentFlyerInformation(paxId: string, frequentFlyerInfoId: string,): Observable {\r\n var apiURL = this.baseURL + this.apiServerURL.EditFrequentFlyerInformation;\r\n apiURL = apiURL.replace('{{paxID}}', paxId);\r\n apiURL = apiURL.replace('{{frequentFlyerInfoId}}', frequentFlyerInfoId);\r\n return this.httpClient.get(apiURL);\r\n }\r\n\r\n addFrequentFlyerInformation(paxId: string, flyerInfo: any): Observable {\r\n var apiURL = this.baseURL + this.apiServerURL.AddFrequentFlyerInformation;\r\n apiURL = apiURL.replace('{{paxID}}', paxId);\r\n return this.httpClient.post(apiURL, flyerInfo);\r\n }\r\n\r\n deleteFrequentFlyerInformation(paxId: string, frequentFlyerInfoId: string): Observable {\r\n var apiURL = this.baseURL + this.apiServerURL.DeleteFrequentFlyerInformation;\r\n apiURL = apiURL.replace('{{paxID}}', paxId);\r\n apiURL = apiURL.replace('{{frequentFlyerInfoId}}', frequentFlyerInfoId);\r\n return this.httpClient.delete(apiURL);\r\n }\r\n\r\n updateFrequentFlyerInformation(paxId: string, frequentFlyerInfoId: any, flyerInfo: any): Observable {\r\n var apiURL = this.baseURL + this.apiServerURL.UpdateFrequentFlyerInformation;\r\n apiURL = apiURL.replace('{{paxID}}', paxId);\r\n apiURL = apiURL.replace('{{frequentFlyerInfoId}}', frequentFlyerInfoId);\r\n return this.httpClient.put(apiURL, flyerInfo);\r\n }\r\n\r\n searchAirlineByName(airlineName: any): Observable {\r\n var apiURL = this.baseURL + this.apiServerURL.SearchAirlineByName;\r\n apiURL = apiURL.replace('{{airlineName}}', airlineName);\r\n return this.httpClient.get(apiURL);\r\n }\r\n\r\n\r\n getPaxPersonalInfo(paxId: string, pagination: any): Observable {\r\n var apiURL = this.baseURL + this.apiServerURL.GetPassengerGeneralInformation;\r\n apiURL = apiURL.replace('{{paxID}}', paxId);\r\n if (pagination) {\r\n var params: any = new HttpParams().set('pageNumber', pagination.pageNumber);\r\n params = params.append('pageSize', pagination.pageSize);\r\n }\r\n return this.httpClient.get(apiURL, { params });\r\n }\r\n\r\n getPaxPersonalInfoForEdit(paxId: string, pgiId: string): Observable {\r\n var apiURL = this.baseURL + this.apiServerURL.GetPassengerGeneralInformationForEdit;\r\n apiURL = apiURL.replace('{{paxID}}', (paxId).toString());\r\n apiURL = apiURL.replace('{{pgiId}}', (pgiId).toString());\r\n return this.httpClient.get(apiURL);\r\n }\r\n\r\n updatePaxPersonalInfo(paxId: string, pgiId: string, answer: any): Observable {\r\n let params = new HttpParams().set('answer', answer);\r\n var apiURL = this.baseURL + this.apiServerURL.UpdatePassengerGeneralInfo;\r\n apiURL = apiURL.replace('{{paxID}}', (paxId).toString());\r\n apiURL = apiURL.replace('{{pgiId}}', (pgiId).toString());\r\n return this.httpClient.put(apiURL, null, { params });\r\n }\r\n\r\n deletePaxGeneralInfo(paxId: string, pgiId: string): Observable {\r\n var apiURL = this.baseURL + this.apiServerURL.DeletePassengerGeneralInfo;\r\n apiURL = apiURL.replace('{{paxID}}', paxId);\r\n apiURL = apiURL.replace('{{pgiId}}', pgiId);\r\n return this.httpClient.delete(apiURL);\r\n }\r\n\r\n getPGIByName(paxId: string, pgiName: any, pagination: any): Observable {\r\n var apiURL = this.baseURL + this.apiServerURL.FilterPassengerGeneralInfo;\r\n apiURL = apiURL.replace('{{paxID}}', paxId);\r\n apiURL = apiURL.replace('{{pgiName}}', pgiName);\r\n if (pagination) {\r\n var params: any = new HttpParams().set('pageNumber', pagination.pageNumber);\r\n params = params.append('pageSize', pagination.pageSize);\r\n }\r\n return this.httpClient.get(apiURL, { params });\r\n }\r\n\r\n addPassengerGeneralInfo(paxId: string, pgiTypeId: any): Observable {\r\n let params = new HttpParams().set('pgiTypeId', pgiTypeId);\r\n var apiURL = this.baseURL + this.apiServerURL.AddPassengerGeneralInfo;\r\n apiURL = apiURL.replace('{{paxID}}', paxId);\r\n return this.httpClient.post(apiURL, null, { params });\r\n }\r\n\r\n getPaxVisaDetails(paxId: string, visaId: string): Observable {\r\n var apiURL = this.baseURL + this.apiServerURL.GetPassengerVisaForEdit;\r\n apiURL = apiURL.replace('{{paxID}}', (paxId).toString());\r\n apiURL = apiURL.replace('{{visaId}}', visaId);\r\n return this.httpClient.get(apiURL);\r\n }\r\n\r\n updatePassengerVisa(paxId: string, visaId: string, visaInfo: any): Observable {\r\n var apiURL = this.baseURL + this.apiServerURL.UpdatePassengerVisa;\r\n apiURL = apiURL.replace('{{paxID}}', (paxId).toString());\r\n apiURL = apiURL.replace('{{visaId}}', visaId);\r\n return this.httpClient.put(apiURL, visaInfo);\r\n }\r\n\r\n addPassengerVisa(paxId: string, visaInfo: any): Observable {\r\n var apiURL = this.baseURL + this.apiServerURL.AddPassengerVisa;\r\n apiURL = apiURL.replace('{{paxID}}', (paxId).toString());\r\n return this.httpClient.post(apiURL, visaInfo);\r\n }\r\n\r\n deletePassengerVisa(paxId: string, visaId: string): Observable {\r\n var apiURL = this.baseURL + this.apiServerURL.DeletePassengerVisa;\r\n apiURL = apiURL.replace('{{paxID}}', (paxId).toString());\r\n apiURL = apiURL.replace('{{visaId}}', visaId);\r\n return this.httpClient.delete(apiURL);\r\n }\r\n\r\n getPassengerVisa(paxId: string, visaId: string): Observable {\r\n var apiURL = this.baseURL + this.apiServerURL.GetPassengerVisa;\r\n apiURL = apiURL.replace('{{paxID}}', (paxId).toString());\r\n apiURL = apiURL.replace('{{visaId}}', visaId);\r\n return this.httpClient.get(apiURL);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\nimport { ReplaySubject, Observable, Subject, of } from 'rxjs';\nimport { GlobalConstants } from 'src/app/shared/global-constants';\nimport { HttpClient, HttpParams } from '@angular/common/http';\nimport { AppConfigService } from '../common/app-config.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AgentAboutService {\n\n apiServerURL = AppConfigService.settings.apiURL;\n baseURL = this.apiServerURL.BaseURL;\n\n constructor(private httpClient: HttpClient) { }\n\n getAllAgentContacts(agentId: string): Observable {\n var apiURL = this.baseURL + this.apiServerURL.GetAgentContacts;\n apiURL = apiURL.replace('{{agentId}}', agentId);\n return this.httpClient.get(apiURL);\n }\n\n getAgentContactForEdit(agentId: string, contactId: string): Observable {\n var apiURL = this.baseURL + this.apiServerURL.GetAgentContactForEdit;\n apiURL = apiURL.replace('{{agentId}}', agentId);\n apiURL = apiURL.replace('{{contactId}}', contactId);\n return this.httpClient.get(apiURL);\n }\n\n addNewAgentContact(agentId: string, contactInfo: any): Observable {\n var apiURL = this.baseURL + this.apiServerURL.AddNewAgentContact;\n apiURL = apiURL.replace('{{agentId}}', agentId);\n return this.httpClient.post(apiURL,contactInfo);\n }\n\n getNewAgentContact(agentId: string): Observable {\n var apiURL = this.baseURL + this.apiServerURL.GetNewAgentContact;\n apiURL = apiURL.replace('{{agentId}}', agentId);\n return this.httpClient.get(apiURL);\n }\n\n deleteAgentContact(agentId: string,contactId: string): Observable {\n var apiURL = this.baseURL + this.apiServerURL.DeleteAgentContact;\n apiURL = apiURL.replace('{{agentId}}', agentId);\n apiURL = apiURL.replace('{{contactId}}', contactId);\n return this.httpClient.delete(apiURL);\n }\n\n updateAgentContact(agentId: string, contactId: string, contactInfo: any): Observable {\n var apiURL = this.baseURL + this.apiServerURL.UpdateAgentContact;\n apiURL = apiURL.replace('{{agentId}}', agentId);\n apiURL = apiURL.replace('{{contactId}}', contactId);\n\n return this.httpClient.put(apiURL, contactInfo);\n }\n\n getAgentBasicInfo(agentId: string): Observable {\n var apiURL = this.baseURL + this.apiServerURL.GetAgentBasicInfo;\n apiURL = apiURL.replace('{{agentId}}', agentId);\n return this.httpClient.get(apiURL);\n }\n\n editAgentBasicInfo(agentId:string):Observable{\n var apiURL = this.baseURL + this.apiServerURL.EditAgentBasicInfo;\n apiURL = apiURL.replace('{{agentId}}',agentId);\n return this.httpClient.get(apiURL);\n }\n\n updateAgentBasicInfo(agentId:string, basicInfo :any):Observable{\n var apiURL = this.baseURL + this.apiServerURL.UpdateAgentBasicInfo;\n apiURL = apiURL.replace('{{agentId}}',agentId);\n return this.httpClient.put(apiURL,basicInfo);\n }\n getAllAgentContactAddresses(agentId: string,contactId: string): Observable {\n var apiURL = this.baseURL + this.apiServerURL.GetAllAgentContactAddresses;\n apiURL = apiURL.replace('{{agentId}}', agentId);\n apiURL = apiURL.replace('{{contactId}}', contactId);\n return this.httpClient.get(apiURL);\n }\n deleteAgentContactAddresses(agentId: string,contactId: string,addressId: string): Observable {\n var apiURL = this.baseURL + this.apiServerURL.DeleteAgentContactAddress;\n apiURL = apiURL.replace('{{agentId}}', agentId);\n apiURL = apiURL.replace('{{contactId}}', contactId);\n apiURL = apiURL.replace('{{addressId}}', addressId);\n return this.httpClient.delete(apiURL);\n }\n getAllAgentContactCommunication(agentId: string,contactId: string): Observable {\n var apiURL = this.baseURL + this.apiServerURL.GetAllAgentContactCommunication;\n apiURL = apiURL.replace('{{agentId}}', agentId);\n apiURL = apiURL.replace('{{contactId}}', contactId);\n return this.httpClient.get(apiURL);\n }\n updateAgentContactCommunication(agentId:string,contactId: string, basicInfo :any):Observable{\n var apiURL = this.baseURL + this.apiServerURL.UpdateAgentContactCommunication;\n apiURL = apiURL.replace('{{agentId}}',agentId);\n apiURL = apiURL.replace('{{contactId}}', contactId);\n return this.httpClient.put(apiURL,basicInfo);\n }\n\n getAgentContactMembership(agentId: string, contactId:string): Observable {\n var apiURL = this.baseURL + this.apiServerURL.GetAgentContactMembership;\n apiURL = apiURL.replace('{{agentId}}', agentId);\n apiURL = apiURL.replace('{{contactId}}', contactId);\n return this.httpClient.get(apiURL);\n }\n\n getNewAgentContactMembership(agentId: string,contactId:string): Observable {\n var apiURL = this.baseURL + this.apiServerURL.GetAddAgentContactMembershipMeta;\n apiURL = apiURL.replace('{{agentId}}', agentId);\n apiURL = apiURL.replace('{{contactId}}', contactId);\n return this.httpClient.get(apiURL);\n }\n\n getEditAgentContactMembership(agentId: string,contactId:string,clubMembershipId: string): Observable {\n var apiURL = this.baseURL + this.apiServerURL.GetEditAgentContactMembershipMeta;\n apiURL = apiURL.replace('{{agentId}}', agentId);\n apiURL = apiURL.replace('{{contactId}}', contactId);\n apiURL = apiURL.replace('{{clubMembershipId}}', clubMembershipId);\n return this.httpClient.get(apiURL);\n }\n\n deleteAgentContactMembership(agentId: string,contactId: string,clubMembershipId: string): Observable {\n var apiURL = this.baseURL + this.apiServerURL.DeleteAgentContactMembership;\n apiURL = apiURL.replace('{{agentId}}', agentId);\n apiURL = apiURL.replace('{{contactId}}', contactId);\n apiURL = apiURL.replace('{{clubMembershipId}}', clubMembershipId);\n return this.httpClient.delete(apiURL);\n }\n\n addAgentContactMembership(agentId: string,contactId:string,membership:any): Observable {\n var apiURL = this.baseURL + this.apiServerURL.AddAgentContactMembership;\n apiURL = apiURL.replace('{{agentId}}', agentId);\n apiURL = apiURL.replace('{{contactId}}', contactId);\n return this.httpClient.post(apiURL,membership);\n }\n\n updateAgentContactMembership(agentId: string,contactId:string,clubMembershipId: string,membership:any): Observable {\n var apiURL = this.baseURL + this.apiServerURL.UpdateAgentContactMembership;\n apiURL = apiURL.replace('{{agentId}}', agentId);\n apiURL = apiURL.replace('{{contactId}}', contactId);\n apiURL = apiURL.replace('{{clubMembershipId}}', clubMembershipId);\n return this.httpClient.put(apiURL,membership);\n }\n}\n","import { Injectable } from '@angular/core';\nimport {\n HttpRequest,\n HttpHandler,\n HttpEvent,\n HttpInterceptor,\n HttpHeaders\n} from '@angular/common/http';\nimport { Observable } from 'rxjs';\nimport { GlobalConstants } from '../shared/global-constants';\n\n@Injectable()\nexport class APIHeadersInterceptor implements HttpInterceptor {\n\n constructor() {}\n\n intercept(request: HttpRequest, next: HttpHandler): Observable> {\n\n var jwtToken = window.sessionStorage.getItem(\"CRMJWT\");\n // const jwtPayload = JSON.parse(window.atob(jwtToken.split('.')[1])) //expiry time\n\n request = request.clone({\n setHeaders: { Authorization: `Bearer ${jwtToken}` },\n headers: new HttpHeaders({\n 'X-TS-UserName': GlobalConstants.UserName,\n 'X-TS-UserId': GlobalConstants.UserID.toString(),\n 'X-TS-Client': GlobalConstants.TSClient\n })\n });\n\n return next.handle(request);\n }\n}\n","import { Component, OnInit } from '@angular/core';\nimport { TranslateService } from '@ngx-translate/core';\n\n@Component({\n selector: 'app-no-data-found-template',\n templateUrl: './no-data-found-template.component.html',\n styleUrls: ['./no-data-found-template.component.scss']\n})\nexport class NoDataFoundTemplateComponent implements OnInit {\n\n noRecordsMsg : string=\"\";\n newRecord : string =\"\"\n constructor(private translate: TranslateService) {\n\n let arrTranslate = [\"Common.NoRecordsMsg\",\"Common.CreateNewRecord\"];\n this.translate.get(arrTranslate).subscribe((response: any) => {\n this.noRecordsMsg = response[\"Common.NoRecordsMsg\"];\n this.newRecord = response[\"Common.CreateNewRecord\"];\n });\n\n }\n\n ngOnInit(): void {\n }\n\n}\n","
\n
\n \n
\n\n
\n {{this.noRecordsMsg}}\n
\n
\n {{this.newRecord}}\n
\n
\n","import { Injectable } from '@angular/core';\nimport { HttpRequest, HttpResponse } from '@angular/common/http';\nconst CACHABLE_URL = \"/currency\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class RequestCacheService {\n\n maxAge = 10;\n cache = new Map();\n\n constructor() { }\n\n get(req: HttpRequest): HttpResponse | undefined {\n const url = req.urlWithParams;\n const cached = this.cache.get(url);\n\n if (!cached) {\n return undefined;\n }\n if (req.url.indexOf(CACHABLE_URL) < -1)\n return undefined;\n const isExpired = cached.lastRead < (Date.now() - this.maxAge);\n if (isExpired)\n return undefined;\n return cached.response;\n }\n\n put(req: HttpRequest, response: HttpResponse): void {\n const url = req.url;\n const cacheEntry = { url, response, lastRead: Date.now() };\n this.cache.set(url, cacheEntry);\n\n const expired = Date.now() - this.maxAge;\n this.cache.forEach(expiredEntry => {\n if (expiredEntry.lastRead < expired) {\n this.cache.delete(expiredEntry.url);\n }\n });\n }\n}\n","import { Injectable } from '@angular/core';\nimport { ReplaySubject, Observable, Subject, of } from 'rxjs';\nimport { HttpClient, HttpParams } from '@angular/common/http';\nimport { AppConfigService } from '../common/app-config.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AgentClassificationService {\n\n apiServerURL = AppConfigService.settings.apiURL;\n baseURL = this.apiServerURL.BaseURL;\n\n constructor(private httpClient: HttpClient) { }\n\n getAgentMembershipForEdit(agentId: string, membershipId: string): Observable {\n var apiURL = this.baseURL + this.apiServerURL.GetAgentMembershipForEdit;\n apiURL = apiURL.replace('{{agentId}}', agentId);\n apiURL = apiURL.replace('{{membershipId}}', membershipId);\n return this.httpClient.get(apiURL);\n }\n\n updateAgentMembership(agentId: string, membershipId: string, membershipInfo: any): Observable {\n var apiURL = this.baseURL + this.apiServerURL.UpdateAgentMembership;\n apiURL = apiURL.replace('{{agentId}}', agentId);\n apiURL = apiURL.replace('{{membershipId}}', membershipId);\n\n return this.httpClient.put(apiURL, membershipInfo);\n }\n\n //this method returns Agent Memberships\n getAllAgentMemberships(agentId: string): Observable {\n var apiURL = this.baseURL + this.apiServerURL.GetAllAgentMemberships;\n apiURL = apiURL.replace('{{agentId}}', agentId);\n return this.httpClient.get(apiURL);\n }\n\n getAgentMembershipDataForAdd(agentId: string): Observable {\n var apiURL = this.baseURL + this.apiServerURL.GetAgentMembershipDataForNew;\n apiURL = apiURL.replace('{{agentId}}', (agentId).toString());\n return this.httpClient.get(apiURL);\n }\n\n addAgentMembership(agentId: string, addMembershipInfoReq: any): Observable {\n var apiURL = this.baseURL + this.apiServerURL.AddNewAgentMembership;\n apiURL = apiURL.replace('{{agentId}}', agentId);\n return this.httpClient.post(apiURL, addMembershipInfoReq);\n }\n deleteAgentMembership(agentId: string, membershipId: any): Observable {\n var apiURL = this.baseURL + this.apiServerURL.DeleteAgentMembership;\n apiURL = apiURL.replace('{{agentId}}', agentId);\n apiURL = apiURL.replace('{{agentMembershipId}}', membershipId);\n return this.httpClient.delete(apiURL);\n }\n\n getAgentAllocationNames(agentId: string): Observable {\n var apiURL = this.baseURL + this.apiServerURL.GetAgentAllocationNames;\n apiURL = apiURL.replace('{{agentId}}', agentId);\n return this.httpClient.get(apiURL);\n }\n\n searchAllocationNamesByName(allocationName: any): Observable {\n var apiURL = this.baseURL + this.apiServerURL.SearchAllocationNamesByName;\n apiURL = apiURL.replace('{{allocationName}}', allocationName);\n return this.httpClient.get(apiURL);\n }\n\n editAgentAllocationName(agentId: string): Observable {\n var apiURL = this.baseURL + this.apiServerURL.EditAgentAllocationName;\n apiURL = apiURL.replace('{{agentId}}', agentId);\n return this.httpClient.get(apiURL);\n }\n\n deleteAgentAllocationName(agentId: string, AllocationNameId: string): Observable {\n var apiURL = this.baseURL + this.apiServerURL.DeleteAgentAllocationName;\n apiURL = apiURL.replace('{{agentId}}', agentId);\n apiURL = apiURL.replace('{{assignedAllocationNameId}}', AllocationNameId);\n return this.httpClient.delete(apiURL);\n }\n\n addAgentAllocationName(agentId: string, allocationNameData: any): Observable {\n var apiURL = this.baseURL + this.apiServerURL.AddAgentAllocationName;\n apiURL = apiURL.replace('{{agentId}}', agentId);\n return this.httpClient.post(apiURL, allocationNameData);\n }\n\n getAllAgentGroups(agentId: string): Observable {\n var apiURL = this.baseURL + this.apiServerURL.GetAllAgentGroups;\n apiURL = apiURL.replace('{{agentId}}', agentId);\n return this.httpClient.get(apiURL);\n }\n\n getAgentGroupForAdd(agentId: string): Observable {\n var apiURL = this.baseURL + this.apiServerURL.GetAgentGroupForNew;\n apiURL = apiURL.replace('{{agentId}}', (agentId).toString());\n return this.httpClient.get(apiURL);\n }\n\n addAgentGroup(agentId: string, addGroupInfo: any): Observable {\n var apiURL = this.baseURL + this.apiServerURL.AddAgentGroup;\n apiURL = apiURL.replace('{{agentId}}', agentId);\n return this.httpClient.post(apiURL, addGroupInfo);\n }\n\n getAgentGroupForEdit(agentId: string, agentGroupId: string): Observable {\n var apiURL = this.baseURL + this.apiServerURL.GetAgentGroupForEdit;\n apiURL = apiURL.replace('{{agentId}}', agentId);\n apiURL = apiURL.replace('{{agentGroupId}}', agentGroupId);\n return this.httpClient.get(apiURL);\n }\n\n updateAgentGroup(agentId: string, agentGroupId: string, addGroupInfo: any): Observable {\n var apiURL = this.baseURL + this.apiServerURL.UpdateAgentGroup;\n apiURL = apiURL.replace('{{agentId}}', agentId);\n apiURL = apiURL.replace('{{agentGroupId}}', agentGroupId);\n\n return this.httpClient.put(apiURL, addGroupInfo);\n }\n\n deleteAgentGroup(agentId: string, agentGroupId: any): Observable {\n var apiURL = this.baseURL + this.apiServerURL.DeleteAgentGroup;\n apiURL = apiURL.replace('{{agentId}}', agentId);\n apiURL = apiURL.replace('{{agentGroupId}}', agentGroupId);\n return this.httpClient.delete(apiURL);\n }\n getAgentPreferredSuppliers(agentId: string): Observable {\n var apiURL = this.baseURL + this.apiServerURL.GetAgentPreferredSuppliersAndServices;\n apiURL = apiURL.replace('{{agentId}}', agentId);\n return this.httpClient.get(apiURL);\n }\n\n deleteAgentPreferredSupplier(agentId: string, supplierID: string) {\n var apiURL = this.baseURL + this.apiServerURL.DeleteAgentPreferredSupplier;\n apiURL = apiURL.replace('{{agentId}}', agentId).replace(\"{{supplierId}}\", supplierID);\n return this.httpClient.delete(apiURL);\n }\n\n deleteAgentPreferredSupplierService(agentId: string, supplierID: string) {\n var apiURL = this.baseURL + this.apiServerURL.DeleteAgentPreferredSupplierService;\n apiURL = apiURL.replace('{{agentId}}', agentId).replace(\"{{serviceId}}\", supplierID);\n return this.httpClient.delete(apiURL);\n }\n postAgentPreferredSupplierAndServices(agentId: string, request: any): Observable {\n var apiURL = this.baseURL + this.apiServerURL.PostAgentPreferredSupplierAndServices;\n apiURL = apiURL.replace('{{agentId}}', agentId);\n return this.httpClient.post(apiURL, request);\n }\n getSupplierServices(supplierID: string): Observable {\n var apiURL = this.baseURL + this.apiServerURL.GetSupplierServices;\n apiURL = apiURL.replace('{{supplierId}}', supplierID);\n return this.httpClient.get(apiURL);\n }\n\n putAgentSupplierAndServices(agentid: string, request: any): Observable {\n var apiURL = this.baseURL + this.apiServerURL.PutAgentPreferredSupplierAndServices;\n apiURL = apiURL.replace('{{agentId}}', agentid);\n return this.httpClient.put(apiURL, request);\n }\n getSupplierAndServicesForEDIT(agentID: string, supplierId: string): Observable {\n var apiURL = this.baseURL + this.apiServerURL.GetAgentPreferredSupplierAndServicesForEDIT;\n apiURL = apiURL.replace('{{agentId}}', agentID).replace(\"{{supplierId}}\", supplierId);\n return this.httpClient.get(apiURL);\n }\n}\n","import { NgModule } from '@angular/core';\nimport { RouterModule, Routes } from '@angular/router';\nimport { DashboardComponent } from './core/dashboard/dashboard.component';\nimport { DashboardAgentComponent } from './core/dashboard-agent/dashboard-agent.component';\n//import { CrmwelcomeComponent } from './core/crmwelcome/crmwelcome.component';\n//import { SearchComponent } from './core/passenger/search/search.component';\n\n\nconst routes: Routes = [\n {\n path:'',\n component: DashboardComponent\n },\n {\n path:'dashboard',\n component: DashboardComponent\n },\n {\n path:'agentdashboard',\n component: DashboardAgentComponent\n }\n /*{\n path:'',\n pathMatch:'full',\n redirectTo:'home'\n },\n {\n path:'home',\n loadChildren: ()=> import('./features/home/home.module').then(m=>m.HomeModule) //HOME MODULE\n\n },\n {\n path:'about',\n loadChildren: ()=> import('./features/about/about.module').then(m=>m.AboutModule), //ABOUT MODULE,\n\n },\n {\n path:'trips',\n loadChildren: ()=> import('./features/trips/trips.module').then(m=>m.TripsModule), //TRIPS MODULE\n\n },\n {\n path:'communications',\n loadChildren: ()=> import('./features/communications/communications.module').then(m=>m.CommunicationsModule), //COMMUNICATIONS MODULE\n\n },\n {\n path:'notes',\n loadChildren: ()=> import('./features/notes/notes.module').then(m=>m.NotesModule), //NOTES MODULE\n\n },\n {\n path:'task',\n loadChildren: ()=> import('./features/tasks/tasks.module').then(m=>m.TasksModule), //TASK MODULE\n\n },\n {\n path:'finance',\n loadChildren: ()=> import('./features/finance/finance.module').then(m=>m.FinanceModule), //FINANCE MODULE\n\n },\n {\n path:'timeline',\n loadChildren: ()=> import('./features/timeline/timeline.module').then(m=>m.TimelineModule), //TIMELINE MODULE\n\n },\n {\n path:'**',\n redirectTo:'home'\n },*/\n];\n\n@NgModule({\n imports: [RouterModule.forRoot(routes)],\n exports: [RouterModule]\n})\nexport class AppRoutingModule { }\n","import { Injectable } from '@angular/core';\nimport {\n HttpRequest,\n HttpHandler,\n HttpEvent,\n HttpInterceptor,\n HttpErrorResponse\n} from '@angular/common/http';\nimport { Observable, throwError } from 'rxjs';\nimport { catchError } from 'rxjs/operators';\nimport { LoggingService } from '../../services/common/logging.service';\nimport { error } from 'protractor';\n//import { ToastrService } from 'ngx-toastr';\nimport { MessageService } from 'primeng/api';\nimport { Router } from '@angular/router';\n\n@Injectable()\nexport class ErrorInterceptor implements HttpInterceptor {\n\n constructor(private Logger: LoggingService\n ,public messageService: MessageService,private router: Router\n ) { }\n\n intercept(request: HttpRequest, next: HttpHandler): Observable> {\n return next.handle(request).pipe(\n catchError((error: HttpErrorResponse) => {\n let errorMsg = '';\n if (error.error instanceof ErrorEvent) {\n console.log('this is client side error');\n errorMsg = `Error: ${error.error.message}`;\n this.Logger.log(errorMsg);\n }\n else {\n if (error) {\n switch (error.status) {\n case 400:\n this.Logger.log(error.error.errorMessage);\n this.showErrorToasters(error);\n // this.toastr.error(error.error.errorMessage);\n break;\n case 401:\n //this.Logger.log(error.error.errorMessage);\n //this.messageService.add({severity:'error', summary:\"Error\", detail:error.statusText});\n this.router.navigate([\"dashboard\"]);\n // this.toastr.error(error.error.errorMessage);\n break;\n case 404:\n this.Logger.log(error.statusText);\n this.messageService.add({severity:'error', summary:\"Error\", detail:error.statusText});\n /// this.toastr.error(error.error.errorMessage);\n //return Observable>();;\n // return Observable.throw('No setup data could be found.');\n break;\n case 408:\n this.Logger.log(error.error.errorMessage);\n this.messageService.add({severity:'error', summary:\"Error\", detail:error.statusText});\n // this.toastr.error(error.error.errorMessage);\n break;\n case 500:\n this.Logger.log(error.error.errorMessage);\n this.messageService.add({severity:'error', summary:\"Error\", detail:error.statusText});\n // this.toastr.error(error.error.errorMessage);\n break;\n case 501:\n this.Logger.log(error.error.errorMessage);\n this.messageService.add({severity:'error', summary:\"Error\", detail:error.statusText});\n // this.toastr.error(error.error.errorMessage);\n break;\n case 0:\n this.messageService.add({severity:'error', summary:\"Error\", detail:'The server cannot be contacted currently, please try later.'});\n // this.toastr.error(error.error.errorMessage);\n break;\n default:\n this.Logger.log('Something is wrong ' + JSON.stringify(error) );\n this.messageService.add({severity:'error', summary:\"Error\", detail:error.statusText});\n break;\n }\n }\n\n }\n return throwError(error);\n })\n )\n }\n\n getHTTPClientErrorMessage(HTTPClientError:any):string[]{\n let error = HTTPClientError.error || HTTPClientError;\n let meta = error.meta || error;\n let messages = meta.errors && meta.errors.length > 0 ? meta.errors.map((e:any) => e.message) : [meta.message]\n return messages;\n }\n\n showErrorToasters(apiError:any):void{\n let errorMessages = this.getHTTPClientErrorMessage(apiError)\n for(let errorMessage of errorMessages)\n {\n this.messageService.add({severity:'error', summary:\"Error\", detail:errorMessage});\n }\n }\n\n}\n","import { Component, OnInit,Input, Output,EventEmitter,ViewChild } from '@angular/core';\nimport {ConfirmationService,MessageService,MenuItem} from 'primeng/api';\nimport _ from 'lodash';\nimport { Observable, of } from 'rxjs';\nimport { AgentHomeService } from 'src/app/services/home/agent-home.service';\nimport { CommonService } from 'src/app/services/common/common.service';\nimport { map } from 'rxjs/operators';\nimport { TranslateService } from '@ngx-translate/core';\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\n\n@Component({\n selector: 'app-create-agent',\n templateUrl: './create-agent.component.html',\n styleUrls: ['./create-agent.component.scss'],\n providers: [ConfirmationService]\n})\nexport class CreateAgentComponent implements OnInit {\n\n @Input() visible : boolean = false;\n @Output() visibleChange = new EventEmitter();\n @Output() onCreateAgent = new EventEmitter();\n\n multilingual : any = {};\n agentStatuses:any[]=[];\n agentTypes:any[]=[];\n languages:any[]=[];\n communicationTypes:any[]=[];\n newAgent:any={};\n searchedOrganisations:any[]=[]\n\n newAgentForm : FormGroup;\n\n constructor( public confirmationService:ConfirmationService,\n public agentHomeService:AgentHomeService,\n public commonService:CommonService,\n public translate:TranslateService) {\n\n this.translate.get([\"SharedComponents.CreateAgent\"]).subscribe((response: any) => {\n this.multilingual = response['SharedComponents.CreateAgent'];\n });\n this.newAgentForm=this.getNewAgentForm();\n }\n\n ngOnInit(): void {\n }\n\n onFormShow(){\n this.agentHomeService.getAddAgentMeta().subscribe(response=>{\n this.agentStatuses=response.data.agentStatuses;\n this.agentTypes=response.data.agentTypes;\n this.languages=response.data.languageTypes;\n this.communicationTypes=response.data.communicationTypes;\n this.setNewAgentFormDefaults();\n })\n }\n\n onFormHide(){\n this.visible = false;\n this.visibleChange.emit(this.visible);\n }\n\n onClickCreate(){\n if(this.newAgentForm.valid){\n let agent = this.getAgentDetails();\n this.createAgent(agent,(newAgent:any)=>{\n this.onFormHide();\n this.onCreateAgent.emit({ \"event\": \"onCreateAgent\", \"data\": {agent:newAgent} })\n })\n }\n else{\n this.commonService.markControlsAsDirty(this.newAgentForm)\n }\n }\n\n getNewAgentForm():FormGroup{\n\n return new FormGroup({\n agentRef: new FormControl(null,[Validators.required]),\n longName : new FormControl(null,[Validators.required]),\n preferredOrganisation : new FormControl(null,[Validators.required]),\n agentStatus : new FormControl(null),\n agentType : new FormControl(null),\n language : new FormControl(null),\n defaultCommunicationType : new FormControl(null),\n });\n }\n\n setNewAgentFormDefaults(){\n\n const getDropdownDefaults = ()=>{\n return {\n defalutAgentStatus : _.find(this.agentStatuses,(as)=>{ return as.isDefault}),\n defalutLanguage : _.find(this.languages,(l)=>{ return l.isDefault}),\n defalutAgentType : _.find(this.agentTypes,(at)=>{ return at.description == \"None\"}),\n defaultCommunicationType : _.find(this.communicationTypes,(ct)=>{ return ct.description.toLowerCase() == \"email\"})\n }\n }\n\n let dropdownDefaults = getDropdownDefaults()\n\n this.newAgentForm.patchValue({\n agentStatus : dropdownDefaults.defalutAgentStatus,\n agentType : dropdownDefaults.defalutAgentType,\n language : dropdownDefaults.defalutLanguage,\n defaultCommunicationType : dropdownDefaults.defaultCommunicationType,\n });\n }\n\n getAgentDetails(){\n let formValue = this.newAgentForm.value;\n return {\n agentReference: formValue.agentRef,\n longName : formValue.longName,\n preferredOrganisation : formValue.preferredOrganisation.id,\n status : formValue.agentStatus.id,\n agentType : formValue.agentType ? formValue.agentType.id : null,\n language : formValue.language.id,\n defaultCommunicationType : formValue.defaultCommunicationType.id,\n }\n }\n\n searchOrganisations(event:any):void{\n this.agentHomeService.getOrganisations(event.query).subscribe(response=>{\n this.searchedOrganisations = response.data;\n },error=>{\n this.searchedOrganisations = []\n })\n }\n\n createAgent(agent:any,onComplete:any=(response:any)=>{}){\n this.agentHomeService.createAgent(agent).subscribe(response=>{\n agent= response.data;\n onComplete(agent)\n },(error)=>{\n\n },()=>{\n\n })\n }\n\n}\n","\n \n
\n
\n
\n
\n
\n\n
\n \n \n
\n\n
\n \n \n
\n\n
\n \n \n
\n
\n
{{organisation.description}}
\n
\n
\n
\n
\n \n
\n\n
\n \n \n \n
\n\n
\n \n \n \n
\n\n
\n \n \n \n
\n\n
\n \n \n \n
\n\n
\n
\n
\n
\n \n
\n
\n
\n
\n\n\n\n\n\n\n\n","import { Component, OnInit,Input, Output,EventEmitter,ViewChild } from '@angular/core';\nimport {ConfirmationService,MessageService,MenuItem} from 'primeng/api';\nimport _ from 'lodash';\nimport { Observable, of } from 'rxjs';\nimport { passengerService } from 'src/app/services/home/passenger.service';\nimport { CommonService } from 'src/app/services/common/common.service';\nimport { map } from 'rxjs/operators';\nimport { TranslateService } from '@ngx-translate/core';\n\n@Component({\n selector: 'app-create-passenger',\n templateUrl: './create-passenger.component.html',\n styleUrls: ['./create-passenger.component.scss'],\n providers: [ConfirmationService]\n})\nexport class CreatePassengerComponent implements OnInit {\n\n @Input() visible : boolean = false;\n @Output() visibleChange = new EventEmitter();\n @Output() onCreatePax = new EventEmitter();\n\n multilingual : any = {};\n basicInfoConfig:any={};\n addressDetailsConfig:any={};\n passengerDetailsConfig:any={};\n\n createPassengerSteps:any = [];\n totalSteps:number=0;\n currentStep:any={};\n createPassengerStepIndex:number=0;\n isShowPassengerDuplicateSelectDialog : boolean = false;\n passengerDuplicateSelectDialogConfig : any = {};\n newPassenger:any={};\n updateBasicInfoInputModel:boolean = false;\n updateAddressDetailsInputModel:boolean = false;\n updatePassengerDetailsInputModel:boolean=false;\n\n constructor(public confirmationService:ConfirmationService,public passengerService:passengerService, public commonService:CommonService,public translate:TranslateService) {\n this.translate.get([\"SharedComponents.CreatePassenger\"]).subscribe((response: any) => {\n this.multilingual = response['SharedComponents.CreatePassenger'];\n this.setDefaults();\n });\n }\n\n ngOnInit(): void {\n }\n\n setDefaults(){\n this.createPassengerSteps = [\n {label: this.multilingual.Name,description:this.multilingual.BasicInfo},\n {label: this.multilingual.Address,description:this.multilingual.AddressDetails},\n {label: this.multilingual.Details,description:this.multilingual.PassengerDetails},\n ];\n this.createPassengerStepIndex = 0;\n this.totalSteps = _.size(this.createPassengerSteps);\n this.currentStep = this.getCurrentStep();\n this.newPassenger={};\n this.basicInfoConfig={};\n this.addressDetailsConfig={};\n this.passengerDetailsConfig={};\n }\n\n getCurrentStep(){\n let currentStep = this.createPassengerSteps[this.createPassengerStepIndex];\n let stepReportMsg = this.multilingual.StepRprtMsg;\n stepReportMsg = stepReportMsg.replace(\"{{currentStepNo}}\",this.createPassengerStepIndex+1)\n stepReportMsg = stepReportMsg.replace(\"{{totalSteps}}\",this.totalSteps)\n let updatedCurrentStep = Object.assign({},currentStep,{stepReportMsg:stepReportMsg})\n return updatedCurrentStep;\n }\n\n onFormShow(){\n this.setDefaults();\n this.passengerService.getAddPassengerMeta().subscribe(response=>{\n this.basicInfoConfig = Object.assign({},this.basicInfoConfig,response.data);\n this.addressDetailsConfig = Object.assign({},this.addressDetailsConfig,response.data)\n this.passengerDetailsConfig = Object.assign({},this.passengerDetailsConfig,response.data)\n this.updateBasicInfoInputModel = true;\n })\n }\n\n onFormHide(){\n this.setDefaults();\n this.visible = false;\n this.visibleChange.emit(this.visible);\n }\n\n onNextStep(){\n let createPassengerStepNewIndex = this.createPassengerStepIndex + 1;\n this.createPassengerStepIndex = createPassengerStepNewIndex < _.size(this.createPassengerSteps) ? createPassengerStepNewIndex : this.createPassengerStepIndex;\n this.currentStep = this.getCurrentStep();\n }\n\n onBackStep(){\n let createPassengerStepNewIndex = this.createPassengerStepIndex - 1;\n this.createPassengerStepIndex = createPassengerStepNewIndex >= 0 ? createPassengerStepNewIndex : this.createPassengerStepIndex;\n this.currentStep = this.getCurrentStep();\n }\n\n setStepIndex(stepName:string=\"\"){\n let stepNameIndex = _.findIndex(this.createPassengerSteps,{label:stepName});\n this.createPassengerStepIndex = _.isEmpty(stepName) ? this.createPassengerStepIndex : stepNameIndex;\n this.currentStep = this.getCurrentStep();\n }\n\n onBasicInfoNext(event:any,onComplete=()=>{this.onNextStep(); this.updateAddressDetailsInputModel = true;}){\n this.newPassenger = Object.assign({},this.newPassenger,event.data);\n this.addressDetailsConfig = Object.assign(this.addressDetailsConfig,{newPassenger:this.newPassenger});\n this.checkPassengerDuplicate(this.newPassenger,\n (duplicatePassengers:any[])=>{\n this.showDuplicatePassengerSelectDialog(duplicatePassengers);\n },\n ()=>{\n this.loadAddressDetailsMeta().subscribe (\n response => {\n this.addressDetailsConfig = response.data;\n }, error=>{\n },()=>{\n onComplete();\n }\n );\n\n });\n }\n\n onAddressDetailsNext(event:any,onComplete=()=>{this.onNextStep()}){\n this.newPassenger = Object.assign({},this.newPassenger,event.data);\n this.passengerDetailsConfig = Object.assign(this.passengerDetailsConfig,{newPassenger:this.newPassenger});\n this.checkPassengerDuplicate(this.newPassenger,\n (duplicatePassengers:any[])=>{\n this.showDuplicatePassengerSelectDialog(duplicatePassengers);\n },\n ()=>{\n this.loadPassengerDetailsMeta().subscribe(response=>{\n this.passengerDetailsConfig = response.data;\n },error=>{\n\n },()=>{\n onComplete();\n })\n });\n }\n\n onAddressDetailsBack(event:any,onComplete=()=>{this.onBackStep();this.updateBasicInfoInputModel=true}){\n this.newPassenger = Object.assign({},this.newPassenger,event.data);\n this.basicInfoConfig = Object.assign(this.basicInfoConfig,{newPassenger:this.newPassenger});\n onComplete();\n }\n\n onPassengerDetailsNext(event:any,onComplete=()=>{this.onNextStep()}){\n this.newPassenger = Object.assign({},this.newPassenger,event.data);\n\n var baseRequest = {\n \"titleId\": this.newPassenger.title != null ? this.newPassenger.title.id : null,\n \"firstName\": this.newPassenger.firstName,\n \"lastName\": this.newPassenger.lastName,\n \"dateOfBirth\": this.newPassenger.dateOfBirth,\n \"passengerTypeId\": this.newPassenger.passengerType != null ? this.newPassenger.passengerType.id : null,\n \"telephoneNo\": this.newPassenger.telephone,\n \"street\": this.newPassenger.street,\n \"postCode\": this.newPassenger.postCode,\n \"countryId\": this.newPassenger.country != null ? this.newPassenger.country.id : null,\n \"stateId\": this.newPassenger.state != null ? this.newPassenger.state.id : null,\n \"city\": this.newPassenger.city,\n \"email\": this.newPassenger.email,\n \"faxNo\": this.newPassenger.fax,\n \"mobileNo\": this.newPassenger.mobile,\n \"validAllYears\": this.newPassenger.validAllYears,\n \"validFrom\": this.newPassenger.validFrom,\n \"validTo\": this.newPassenger.validTo,\n \"passengerClassId\": this.newPassenger.classType != null ? this.newPassenger.classType.id : null,\n \"communicationId\": this.newPassenger.commType != null ? this.newPassenger.commType.id : null,\n \"genderId\": this.newPassenger.gender != null ? this.newPassenger.gender.id : null,\n \"passengerStatusId\": this.newPassenger.status != null ? this.newPassenger.status.id : null,\n \"nationalityId\": this.newPassenger.nationality != null ? this.newPassenger.nationality.id : null,\n \"languageId\": this.newPassenger.language != null ? this.newPassenger.language.id : null,\n \"shortNote\": this.newPassenger.shortNote,\n \"preferenceTypeId\":this.newPassenger.preferrenceType != null ? this.newPassenger.preferrenceType.id : null,\n \"preferredUserId\":this.newPassenger.preferredUser != null ? this.newPassenger.preferredUserId : null,\n \"suffix\": this.newPassenger.nameSuffix,\n \"knownAs\": this.newPassenger.knownAs,\n }\n\n this.passengerService.createPassenger(baseRequest).subscribe(response=>{\n onComplete();\n this.onFormHide();\n this.onCreatePax.emit({ \"event\": \"onCreatePax\", \"data\": {passenger:response.data} })\n })\n }\n\n onPassengerDetailsBack(event:any,onComplete=()=>{this.onBackStep();this.updateAddressDetailsInputModel=true}){\n this.newPassenger = Object.assign({},this.newPassenger,event.data);\n this.addressDetailsConfig = Object.assign(this.addressDetailsConfig,{newPassenger:this.newPassenger});\n onComplete()\n }\n\n checkPassengerDuplicate(newPassenger:any,onConfirmSelectDuplicatePax=(duplicatePassengers:any[])=>{},onConfirmIgnoreDuplicatePax=()=>{}){\n this.passengerService.getDuplicatePassengers(newPassenger).subscribe((response:any)=>{\n if(response !=undefined && (!_.isEmpty(response.data))){\n this.confirmDuplicatePassengerSelect(response.data,onConfirmSelectDuplicatePax,onConfirmIgnoreDuplicatePax)\n }\n else{\n onConfirmIgnoreDuplicatePax();\n }\n },error=>{\n onConfirmIgnoreDuplicatePax();\n })\n }\n\n confirmDuplicatePassengerSelect(duplicatePassengers:any[],onConfirmSelectDuplicatePax=(duplicatePassengers:any[])=>{},onConfirmIgnoreDuplicatePax=()=>{}):void{\n this.confirmationService.confirm({\n message: this.multilingual.DuplicatePaxCheckConfirmMsg,\n accept: () => {\n onConfirmSelectDuplicatePax(duplicatePassengers);\n },\n reject:()=>{\n onConfirmIgnoreDuplicatePax();\n }\n });\n }\n\n showDuplicatePassengerSelectDialog(duplicatePassengers:any[]){\n this.passengerDuplicateSelectDialogConfig = {duplicatePassengers}\n this.isShowPassengerDuplicateSelectDialog = true;\n }\n\n onDuplicatePassengerSelect(event:any){\n this.onFormHide();\n this.onCreatePax.emit({ \"event\": \"onCreatePax\", \"data\": {passenger:event.data}})\n }\n\n onDuplicatePassengerIgnore(event:any){\n this.setStepIndex(this.createPassengerSteps[1].label);\n }\n\n loadAddressDetailsMeta():Observable{\n let countries = this.addressDetailsConfig.countries;\n let getAllcountries = _.isEmpty(countries) ? this.commonService.getAllCountries(): of({data:countries})\n return getAllcountries.pipe(map(response=>{\n return {data:Object.assign({},this.addressDetailsConfig,{countries:response.data})}\n }))\n }\n\n loadPassengerDetailsMeta():Observable{\n let nationalities = this.passengerDetailsConfig.nationalities;\n let getAllNationalities = _.isEmpty(nationalities) ? this.commonService.getAllNationalities() : of({data:nationalities})\n return getAllNationalities.pipe(map(response=>{\n return {data:Object.assign({},this.passengerDetailsConfig,{nationalities:response.data})}\n }))\n }\n\n\n}\n","\n \n \n
\n \n
\n {{currentStep.description}} \n {{currentStep.stepReportMsg}}\n
\n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n
\n
\n\n\n\n\n\n\n\n\n\n\n\n","import { enableProdMode } from '@angular/core';\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\n\nimport { AppModule } from './app/app.module';\nimport { environment } from './environments/environment';\n\nif (environment.production) {\n enableProdMode();\n}\n\nplatformBrowserDynamic().bootstrapModule(AppModule)\n .catch(err => console.error(err));\n","function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncaught exception popping up in devtools\n\treturn Promise.resolve().then(function() {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t});\n}\nwebpackEmptyAsyncContext.keys = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nmodule.exports = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = \"zn8P\";","import { Component, OnInit,Output,EventEmitter, Input, OnChanges } from '@angular/core';\nimport { MessageService } from 'primeng/api';\nimport { FormControl, FormGroup} from '@angular/forms';\nimport { CommonService } from 'src/app/services/common/common.service';\nimport { TripsService } from 'src/app/services/trips/trips.service';\nimport { Observable } from 'rxjs';\nimport _ from 'lodash';\nimport moment from 'moment';\nimport { AppConfigService } from 'src/app/services/common/app-config.service';\nimport { TranslateService } from '@ngx-translate/core';\n\n@Component({\n selector: 'app-booking-enquiry-search-filter',\n templateUrl: './booking-enquiry-search-filter.component.html',\n styleUrls: ['./booking-enquiry-search-filter.component.scss'],\n providers: [MessageService]\n})\nexport class BookingEnquirySearchFilterComponent implements OnInit {\n\n @Input() paxId:string=\"\";\n @Input() config : any = {\n onSearch:(response:any)=>{}\n };\n @Output() postUpdate = new EventEmitter();\n\n multilingual : any = {};\n isVisible : Boolean = false;\n searchFilterForm : FormGroup = new FormGroup({});\n statuses : any[] = [];\n originTypes: any[] = [];\n searchedUsers : any[] = [];\n searchedOrganisations : any[] = [];\n searchedSourceTypes : any[] = [];\n searchedDestinations : any[] = [];\n calenderMinDate:Date;\n calenderMaxDate:Date;\n calenderYearRange:String;\n\n onSearchComplete = (response:any):void =>{};\n getSearchFilterMeta = ():Observable => { return new Observable()};\n getSearchFilterForm = ():FormGroup => {return new FormGroup({});};\n getFilterCriteriaFromForm = (searchFilterForm:FormGroup):any => {return {};};\n getSearchResultByFilter = (filterCriteria:any,currentResultType:string):Observable => { return new Observable()};\n\n constructor(public commonService:CommonService,public tripsService:TripsService,public translate:TranslateService) {\n\n this.translate.get([\"SharedComponents.BookingEnquirySearchFilter\"]).subscribe((response: any) => {\n this.multilingual = response['SharedComponents.BookingEnquirySearchFilter'];\n\n });\n\n this.calenderMinDate = commonService.calenderDateConfig.defaultMinDate;\n this.calenderMaxDate = commonService.calenderDateConfig.defaultMaxDate;\n this.calenderYearRange = commonService.calenderDateConfig.defaultYearRange;\n }\n\n ngOnInit(): void {\n\n this.onSearchComplete = this.config.onSearchComplete || this.onSearchComplete;\n this.getSearchFilterMeta = this.config.getSearchFilterMeta || this.getSearchFilterMeta;\n this.getSearchFilterForm = this.config.getSearchFilterForm || this.getSearchFilterForm;\n this.getFilterCriteriaFromForm = this.config.getFilterCriteriaFromForm || this.getFilterCriteriaFromForm;\n this.getSearchResultByFilter = this.config.getSearchResultByFilter || this.getSearchResultByFilter;\n\n this.searchFilterForm = this.getSearchFilterForm();\n }\n\n onFormShow():void{\n //this.searchFilterForm.reset();\n this.getSearchFilterMeta().subscribe(response=>{\n this.statuses = response.data.statuses;\n this.originTypes = response.data.originTypes\n })\n\n }\n onFormHide():void{}\n\n searchUsers(event:any):void{\n this.tripsService.getUsers(event.query).subscribe(response=>{\n this.searchedUsers = response.data;\n },error=>{\n this.searchedUsers = []\n },()=>{\n\n })\n }\n\n searchOrganisations(event:any):void{\n this.tripsService.getOrganisations(event.query).subscribe(response=>{\n this.searchedOrganisations = response.data;\n },error=>{\n this.searchedOrganisations = []\n })\n }\n\n searchSourceTypes(event:any):void{\n this.tripsService.getSourceTypes(event.query).subscribe(response=>{\n this.searchedSourceTypes = response.data;\n },error=>{\n this.searchedSourceTypes = []\n })\n }\n searchDestinations(event:any):void{\n if (this.config.type == \"Enquiry\") {\n this.tripsService.getAreas(event.query).subscribe(response => {\n this.searchedDestinations = response.data;\n }, error => {\n this.searchedDestinations = []\n })\n }\n else {\n this.tripsService.getDestinations(event.query).subscribe(response => {\n this.searchedDestinations = response.data;\n }, error => {\n this.searchedDestinations = []\n })\n }\n }\n\n clearFilter():void{\n this.searchFilterForm.reset();\n }\n\n search(overlayPanel:any):void{\n this.getSearchResultByFilter(this.getFilterCriteriaFromForm(this.searchFilterForm),this.config.currentResultType).subscribe(response=>{\n this.onSearchComplete(response);\n overlayPanel.hide();\n },error=>{\n this.onSearchComplete(error.error || {});\n overlayPanel.hide();\n })\n }\n\n}\n","\n
\n \n
\n\n
\n\n \n
\n {{multilingual.SearchFilter}}\n
\n \n
\n
\n
\n
\n
\n\n
\n
{{multilingual.BasicSearch}}
\n
\n \n \n \n
\n\n
\n \n \n
\n
\n
{{user.description}}
\n
\n
\n
\n
\n \n
\n
\n\n
\n
{{multilingual.DateSelection}}
\n
\n \n \n \n
\n\n
\n \n \n \n
\n\n
\n \n \n \n
\n\n
\n \n \n \n
\n\n
\n \n \n \n
\n\n
\n \n \n \n
\n
\n\n
\n
{{multilingual.OtherDetails}}
\n
\n \n \n
\n
\n
{{organisation.description}}
\n
\n
\n
\n
\n \n
\n\n
\n \n \n
\n\n
\n \n \n \n
\n\n
\n \n \n
\n
\n
{{sourceType.description}}
\n
\n
\n
\n
\n \n
\n\n
\n \n \n
\n
\n
{{destination.description}}
\n
\n
\n
\n
\n \n
\n
\n
\n
\n
\n
\n
\n \n
\n
\n \n
\n
\n
\n
\n
\n"],"sourceRoot":"webpack:///"}