@senior-gestao-relacionamento/angular-components 1.7.2 → 1.7.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/senior-gestao-relacionamento-angular-components.umd.js +4 -1
- package/bundles/senior-gestao-relacionamento-angular-components.umd.js.map +1 -1
- package/bundles/senior-gestao-relacionamento-angular-components.umd.min.js +1 -1
- package/bundles/senior-gestao-relacionamento-angular-components.umd.min.js.map +1 -1
- package/esm2015/services/standard-filters/standard-filters.service.js +5 -2
- package/esm5/services/standard-filters/standard-filters.service.js +5 -2
- package/fesm2015/senior-gestao-relacionamento-angular-components.js +4 -1
- package/fesm2015/senior-gestao-relacionamento-angular-components.js.map +1 -1
- package/fesm5/senior-gestao-relacionamento-angular-components.js +4 -1
- package/fesm5/senior-gestao-relacionamento-angular-components.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"senior-gestao-relacionamento-angular-components.js","sources":["ng://@senior-gestao-relacionamento/angular-components/components/reports/enums/format-enum.ts","ng://@senior-gestao-relacionamento/angular-components/components/reports/enums/view-mode-enum.ts","ng://@senior-gestao-relacionamento/angular-components/components/reports/reports.service.ts","ng://@senior-gestao-relacionamento/angular-components/components/reports/reports.component.ts","ng://@senior-gestao-relacionamento/angular-components/components/reports/reports.module.ts","ng://@senior-gestao-relacionamento/angular-components/components/refresh-websocket-alert/refresh-websocket-alert.component.ts","ng://@senior-gestao-relacionamento/angular-components/components/refresh-websocket-alert/refresh-websocket-alert.module.ts","ng://@senior-gestao-relacionamento/angular-components/locale/fallback.ts","ng://@senior-gestao-relacionamento/angular-components/utils/utils.ts","ng://@senior-gestao-relacionamento/angular-components/services/current-collaborator/models/user.ts","ng://@senior-gestao-relacionamento/angular-components/services/current-collaborator/models/e-070-emp.ts","ng://@senior-gestao-relacionamento/angular-components/services/current-collaborator/models/e-070-fil.ts","ng://@senior-gestao-relacionamento/angular-components/services/current-collaborator/models/e-070-fil-crmx.ts","ng://@senior-gestao-relacionamento/angular-components/services/current-collaborator/models/collaborator-e-070-fil-crmx.ts","ng://@senior-gestao-relacionamento/angular-components/services/current-collaborator/models/squad.ts","ng://@senior-gestao-relacionamento/angular-components/services/current-collaborator/models/collaborator-squad.ts","ng://@senior-gestao-relacionamento/angular-components/services/current-collaborator/models/collaborator.ts","ng://@senior-gestao-relacionamento/angular-components/services/storage/storage.service.ts","ng://@senior-gestao-relacionamento/angular-components/services/current-collaborator/current-collaborator.service.ts","ng://@senior-gestao-relacionamento/angular-components/services/storage/storage.module.ts","ng://@senior-gestao-relacionamento/angular-components/services/current-collaborator/current-collaborator.module.ts","ng://@senior-gestao-relacionamento/angular-components/services/current-tenant/models/modulo.ts","ng://@senior-gestao-relacionamento/angular-components/services/current-tenant/current-tenant.service.ts","ng://@senior-gestao-relacionamento/angular-components/services/current-tenant/current-tenant.module.ts","ng://@senior-gestao-relacionamento/angular-components/services/schedule-form-rules/enums/month-enum.ts","ng://@senior-gestao-relacionamento/angular-components/services/schedule-form-rules/enums/ordinal-week-day-enum.ts","ng://@senior-gestao-relacionamento/angular-components/services/schedule-form-rules/enums/recurrence-enum.ts","ng://@senior-gestao-relacionamento/angular-components/services/schedule-form-rules/enums/repeat-when-enum.ts","ng://@senior-gestao-relacionamento/angular-components/services/schedule-form-rules/enums/week-day-enum.ts","ng://@senior-gestao-relacionamento/angular-components/services/schedule-form-rules/schedule-form-rules.service.ts","ng://@senior-gestao-relacionamento/angular-components/services/schedule-form-rules/schedule-form-rules.module.ts","ng://@senior-gestao-relacionamento/angular-components/services/standard-filters/standard-filters.service.ts","ng://@senior-gestao-relacionamento/angular-components/services/standard-filters/standard-filters.module.ts","ng://@senior-gestao-relacionamento/angular-components/services/validators/form-group-validators.service.ts","ng://@senior-gestao-relacionamento/angular-components/services/validators/date-validators.service.ts","ng://@senior-gestao-relacionamento/angular-components/services/websocket/models/topic.ts","ng://@senior-gestao-relacionamento/angular-components/services/websocket/models/event.ts","ng://@senior-gestao-relacionamento/angular-components/services/websocket/websocket.service.ts","ng://@senior-gestao-relacionamento/angular-components/services/websocket/websocket.module.ts","ng://@senior-gestao-relacionamento/angular-components/utils/string-converter.service.ts","ng://@senior-gestao-relacionamento/angular-components/utils/value-changes.service.ts","ng://@senior-gestao-relacionamento/angular-components/senior-gestao-relacionamento-angular-components.ts"],"sourcesContent":["export enum FormatEnum {\n PDF = 'Pdf',\n CSV = 'Csv',\n HTML = 'Html',\n XLSX = 'Xlsx',\n XML = 'Xml',\n ODT = 'Odt',\n RTF = 'Rtf',\n}\n","export enum ViewModeEnum {\n SIDEBAR= 'sidebar',\n DIALOG= 'dialog',\n}\n","import { Injectable} from \"@angular/core\";\nimport { HttpClient, HttpParams } from \"@angular/common/http\";\nimport { ReportDto } from \"./models/report-dto\";\nimport { catchError, map } from \"rxjs/operators\";\nimport { ResponseListReportDto } from \"./models/response-list-report-dto\";\nimport { throwError } from \"rxjs\";\nimport { GenerateReportInputDto } from \"./models/generate-report-input-dto\";\nimport { GenerateReportOutputDto } from \"./models/generate-report-output-dto\";\nimport { TranslateService } from \"@ngx-translate/core\";\nimport { MessageService } from 'primeng/api';\n\n@Injectable()\nexport class ReportsService {\n\n private readonly queriesPlatformReportUrl: string = `platform/report/queries`;\n private readonly actionsCrmxReportUrl: string = `crmx/report/actions`;\n\n constructor(\n private readonly _httpClient: HttpClient,\n private readonly _translate: TranslateService,\n private readonly _messageService: MessageService,\n ) {}\n\n public listReports(tag: string, ids?: string[]) {\n let params = new HttpParams();\n params = params.append('searchValue', tag);\n\n return this._httpClient.get<ResponseListReportDto>(`${this.queriesPlatformReportUrl}/listReports`, {params}).pipe(\n map((response: ResponseListReportDto) => response.reports.filter(\n (report: ReportDto) => ids ? ids.includes(report.id) : true\n )),\n this.defaultCatch()\n );\n }\n\n public getSharedReport(tag: string) {\n let params = new HttpParams();\n params = params.append('searchValue', tag);\n\n\n return this._httpClient.get<ResponseListReportDto>(`${this.queriesPlatformReportUrl}/listSharedReports`, { params }).pipe(\n map((response: ResponseListReportDto) => {\n return response.reports.filter((report: ReportDto) => report.enabled);\n }),\n this.defaultCatch()\n );\n }\n\n public generateReport(inputDto: GenerateReportInputDto) {\n return this._httpClient.post<GenerateReportOutputDto>(`${this.actionsCrmxReportUrl}/generateReport`, inputDto).pipe(this.defaultCatch());\n }\n\n public defaultCatch() {\n return catchError((err: any) => {\n if (err) {\n let summary = err.status ? String(err.status) : 'Error';\n let detail;\n\n if (err.error && err.error.message) {\n detail = err.error.message;\n } else if (err.statusText) {\n detail = err.statusText;\n } else if (err.message) {\n detail = err.message;\n } else {\n detail = 'Error';\n }\n\n const errorUnauthorized = 401;\n\n if (err.status === errorUnauthorized) {\n summary = this._translate.instant('crmx.angular_components.error_unauthorized_title');\n detail = this._translate.instant('crmx.angular_components.error_unauthorized_description');\n }\n\n this._messageService.add({\n severity: 'error',\n summary,\n detail,\n sticky: true,\n });\n }\n\n return throwError(err);\n });\n }\n}\n","import {\n Component,\n EventEmitter,\n Input, OnChanges,\n OnInit,\n Output,\n SimpleChanges,\n} from \"@angular/core\";\nimport {FormBuilder, FormControl, FormGroup, Validators} from \"@angular/forms\";\nimport {FieldType, FormField} from \"@seniorsistemas/angular-components\";\nimport {TranslateService} from \"@ngx-translate/core\";\nimport { BehaviorSubject, Observable, throwError } from \"rxjs\";\nimport {ReportsService} from \"./reports.service\";\nimport {ReportDto} from \"./models/report-dto\";\nimport {ViewModeEnum} from \"./enums/view-mode-enum\";\nimport {FormatEnum} from \"./enums/format-enum\";\nimport {GenerateReportOutputDto} from \"./models/generate-report-output-dto\";\nimport {ReportsOptions} from \"./models/reports-options\";\nimport {GenerateReportInputDto} from \"./models/generate-report-input-dto\";\nimport { catchError } from \"rxjs/operators\";\n\n@Component({\n selector: 'report',\n templateUrl: './reports.component.html',\n styleUrls: []\n})\nexport class ReportsComponent implements OnInit, OnChanges {\n\n @Input()\n public visible: boolean;\n\n @Input()\n public options: ReportsOptions;\n\n @Input()\n public formGroups: FormGroup[] = [];\n\n @Output()\n public visibleChange: EventEmitter<boolean> = new EventEmitter<boolean>();\n\n @Output()\n public reportGenerated: EventEmitter<GenerateReportOutputDto> = new EventEmitter<GenerateReportOutputDto>();\n\n public formGroup: FormGroup;\n\n public formFields: FormField[];\n\n public reportsObservable: BehaviorSubject<any> = new BehaviorSubject([]);\n\n public readonly viewModeEnum = ViewModeEnum;\n\n public loading = false;\n\n private _reports: ReportDto[] = [];\n\n private _formatEnum: any[] = [];\n\n constructor(\n private readonly _translate: TranslateService,\n private readonly _formBuilder: FormBuilder,\n private readonly _reportsService: ReportsService,\n ) {}\n\n public ngOnChanges(changes: SimpleChanges): void {\n if (this.options) {\n this.options.header = this.options.header || this._translate.instant('crmx.angular_components.reports_title');\n\n this.options.labelConfirmButton = this.options.labelConfirmButton || this._translate.instant('crmx.angular_components.confirm');\n\n this._formatEnum = Object.keys(FormatEnum)\n .filter(key => !this.options.formats || this.options.formats.includes(FormatEnum[key]))\n .map(key => ({ label: key.toUpperCase(), value: FormatEnum[key] }));\n\n if (this.visible) {\n this.loading = true;\n\n this._executeObservable(this._reportsService.listReports(this.options.tenantReport || this.options.sharedReport))\n .subscribe((nextAction: boolean) => {\n if (nextAction) {\n this._executeObservable(this._reportsService.getSharedReport(this.options.sharedReport))\n .subscribe((nextAction: boolean) => {\n this.loading = false;\n })\n ;\n }\n })\n ;\n }\n }\n }\n\n public ngOnInit(): void {\n this.formGroup = this._getFormGroup();\n this.formFields = this._getFormFields();\n }\n\n public onCancel() {\n this.formGroup.reset();\n\n this.visible = false;\n this.visibleChange.emit(this.visible);\n }\n\n public onConfirm() {\n this.loading = true;\n const data = this.formGroup.getRawValue();\n let isValid = true;\n\n this.formGroups.forEach((formGroup: FormGroup) => isValid = isValid && formGroup.valid);\n\n if (!this.formGroup.valid || !isValid) {\n this.loading = false;\n this._validateAllFormFields(this.formGroup);\n\n this.formGroups.forEach(this._validateAllFormFields);\n } else {\n const input: GenerateReportInputDto = {\n report: {\n id: data.reports.id,\n parameters: this.options.parametersReport,\n format: data.format,\n timeToLive: 1000,\n },\n callbackEvent: this.options.callbackEvent,\n }\n\n this._reportsService.generateReport(input).subscribe(\n (outputDto: GenerateReportOutputDto) => {\n this.reportGenerated.emit(outputDto);\n this.onCancel();\n },\n () => {\n this.loading = false;\n }\n );\n }\n }\n\n public getErrorMessages() {\n return {\n required: this._translate.instant('crmx.angular_components.error_required'),\n };\n }\n\n public onVisibleChange(visible: boolean) {\n if (!visible) {\n this.onCancel();\n }\n }\n\n private _executeObservable(observable: any): Observable<boolean> {\n return new Observable((observer) => {\n observable\n .pipe(\n catchError((err: any) => {\n this.loading = false;\n return throwError(err);\n })\n )\n .subscribe(\n (reports: ReportDto[]) => {\n this._reports = reports;\n\n if (reports.length > 0) {\n this.loading = false;\n this._setValuesDefault();\n observer.next(false);\n } else {\n observer.next(true);\n }\n },\n () => {\n this.loading = false;\n }\n )\n ;\n });\n }\n\n private _setValuesDefault() {\n this.formGroup.controls.reports.setValue(this._reports[0]);\n this.formGroup.controls.format.setValue(this._formatEnum[0]?.value);\n }\n\n private _hasEmpty(target: any) {\n return (Object.keys(target).filter((key) => target[key] === '' || target[key] === undefined).length > 0);\n }\n\n private _validateAllFormFields(formGroup: FormGroup) {\n Object.keys(formGroup.controls).forEach((field) => {\n const control = formGroup.get(field);\n\n if (control instanceof FormControl) {\n control.markAsDirty({ onlySelf: true });\n } else if (control instanceof FormGroup) {\n this._validateAllFormFields(control);\n }\n });\n }\n\n private _getFormGroup(): FormGroup {\n return this._formBuilder.group({\n reports: [{ value: null, disabled: false }, Validators.compose([Validators.required])],\n format: [{ value: null, disabled: false }, Validators.compose([Validators.required])],\n });\n }\n\n private _getFormFields(): FormField[] {\n return [\n new FormField({\n type: FieldType.Autocomplete,\n name: \"reports\",\n label: this._translate.instant('crmx.angular_components.report'),\n size: {xl: 12, lg: 12, md: 12, sm: 12},\n multiple: false,\n dataKey: \"id\",\n appendTo: \"body\",\n emptyMessage: \"Nenhuma sugestão encontrada\",\n displayField: \"name\",\n required: () => true,\n suggestionsObservable: this.reportsObservable,\n onSearch: (val: string) => this.reportsObservable.next(\n this._reports.filter((reportDto: ReportDto) => reportDto.name.match(new RegExp(val, \"ig\")))\n ),\n footer: {\n help: {\n text: this._translate.instant('crmx.angular_components.reports_help', {tag: this.options.tenantReport}),\n icon: 'fa fa-info-circle'\n }\n }\n }),\n new FormField({\n type: FieldType.Enum,\n name: 'format',\n label: this._translate.instant('crmx.angular_components.format'),\n placeholder: this._translate.instant('crmx.angular_components.format_placeholder'),\n size: {xl: 12, lg: 12, md: 12, sm: 12},\n multiple: false,\n required: () => true,\n options: this._formatEnum,\n }),\n ];\n }\n}\n","import { NgModule } from \"@angular/core\";\nimport { FormsModule } from \"@angular/forms\";\nimport { RouterModule } from \"@angular/router\";\nimport { CommonModule } from \"@angular/common\";\nimport { TranslateModule } from \"@ngx-translate/core\";\nimport { SelectButtonModule } from \"primeng/selectbutton\";\nimport { DialogModule } from \"primeng/dialog\";\nimport {\n DynamicFormModule,\n LocaleModule,\n ButtonModule,\n SidebarModule,\n LoadingStateModule,\n} from \"@seniorsistemas/angular-components\";\nimport { ReportsService } from \"./reports.service\";\nimport { ReportsComponent } from \"./reports.component\";\nimport {PanelModule} from \"primeng/panel\";\n\n@NgModule({\n imports: [\n LocaleModule.forChild(),\n FormsModule,\n RouterModule,\n CommonModule,\n TranslateModule,\n SelectButtonModule,\n DialogModule,\n ButtonModule,\n DynamicFormModule,\n SidebarModule,\n PanelModule,\n LoadingStateModule,\n ],\n declarations: [\n ReportsComponent,\n ],\n exports: [\n ReportsComponent,\n ],\n providers: [\n ReportsService,\n ]\n })\nexport class ReportsModule {}\n","import {Component, EventEmitter, Input, OnInit, Output} from \"@angular/core\";\nimport {Message, MessageService} from \"primeng/api\";\nimport {TranslateService} from \"@ngx-translate/core\";\n\n\n@Component({\n selector: 'refresh-websocket-alert',\n templateUrl: './refresh-websocket-alert.component.html',\n styleUrls: [\n './refresh-websocket-alert.component.scss',\n ]\n})\nexport class RefreshWebsocketAlertComponent implements OnInit {\n\n private open = false;\n\n @Input()\n key: string;\n\n @Output()\n closeRefreshSocket: EventEmitter<void> = new EventEmitter<void>();\n\n @Output()\n refresh: EventEmitter<void> = new EventEmitter<void>();\n\n constructor(\n private readonly _messageService: MessageService,\n private readonly _translateService: TranslateService,\n ) {\n }\n\n public ngOnInit(): void {\n this.closeRefreshSocket.subscribe(() => {\n this.open = false;\n });\n\n this.refresh.subscribe(() => {\n this._messageService.clear(this.key);\n this.closeRefreshSocket.emit();\n });\n }\n\n public show(message?: Message): void {\n if (!this.open) {\n this.open = true;\n\n const thisMessage: Message = {\n key: this.key,\n summary: message?.summary || this._translateService.instant('crmx.angular_components.refresh_websocket_alert_summary_default'),\n detail: message?.detail || this._translateService.instant('crmx.angular_components.refresh_websocket_alert_detail_default'),\n severity: message?.severity || 'info',\n life: 10000,\n };\n\n this._messageService.add(thisMessage);\n }\n }\n}\n","import { NgModule } from \"@angular/core\";\nimport { ButtonModule, LocaleModule } from \"@seniorsistemas/angular-components\";\nimport { ToastModule } from \"primeng/toast\";\nimport { RefreshWebsocketAlertComponent } from \"./refresh-websocket-alert.component\";\nimport {TranslateModule} from \"@ngx-translate/core\";\n\n@NgModule({\n imports: [\n LocaleModule.forChild(),\n ButtonModule,\n TranslateModule,\n ToastModule,\n ],\n declarations: [\n RefreshWebsocketAlertComponent,\n ],\n exports: [\n RefreshWebsocketAlertComponent,\n ]\n})\nexport class RefreshWebsocketAlertModule {}\n","export const fallback: any = {\n \"crmx.angular_components.cancel\": \"Cancelar\",\n \"crmx.angular_components.confirm\": \"Gerar\",\n \"crmx.angular_components.error_required\": \"Campo obrigatório\",\n \"crmx.angular_components.error_unauthorized_title\": \"Acesso não autorizado\",\n \"crmx.angular_components.error_unauthorized_description\": \"Você não tem permissão para utilizar o recurso desejado\",\n \"crmx.angular_components.format\": \"Formato\",\n \"crmx.angular_components.format_placeholder\": \"Selecione uma Opção\",\n \"crmx.angular_components.report\": \"Relatório\",\n \"crmx.angular_components.reports_help\": \"Listando todos relatórios com a tag '{{tag}}'\",\n \"crmx.angular_components.reports_title\": \"Gerar Relatório\",\n \"crmx.angular_components.refresh_websocket_alert_click_here\": \"Clique aqui\",\n \"crmx.angular_components.refresh_websocket_alert_detail_default\": \"Para atualizar a tela\",\n \"crmx.angular_components.refresh_websocket_alert_summary_default\": \"Atualização de dados\"\n};\n","import { FieldType } from '@seniorsistemas/angular-components';\n\nconst numberTypes = [FieldType.Integer, FieldType.Double];\nconst numberPattern = /^\\d+\\b$/;\n\nexport const mergeUnique = (array: Array<string>, otherArray: Array<string>) => array.concat(otherArray.filter((item) => !array.includes(item)));\n\nexport const getTypeInformation = (type: FieldType, value: any) => {\n switch (type) {\n case FieldType.Time:\n case FieldType.Date:\n case FieldType.LocalDateTime:\n case FieldType.DateTime:\n return { isValidValue: false, typeExists: true };\n case FieldType.Integer:\n case FieldType.Double:\n return {\n isValidValue: value.match(numberPattern),\n typeExists: numberTypes.includes(type),\n };\n default:\n return {\n isValidValue: value.match(numberPattern),\n typeExists: numberTypes.includes(type),\n };\n }\n};\n\nexport const isValidFilter = (type: FieldType, value: any) => {\n const { isValidValue, typeExists } = getTypeInformation(type, value);\n return !(typeExists && !isValidValue);\n};\n\nexport const getProp = (obj: any, path: any) => {\n return path.split('.').reduce((result: any, prop: any) => (result[prop] === undefined ? '' : result[prop]), obj);\n};\n\nexport const getLabelValueRequest = (contents: any[], displayFields: any[]) => {\n return contents.map((item: any) => ({\n ...item,\n label: displayFields.map((field) => getProp(item, field)).join(' - '),\n }));\n};\n\nexport const getSuggestionValue = (displayFields: string[], ownerEntity: string, value: any, separator: string) => {\n return displayFields.map((field) => getProp(value, `${ownerEntity}.${field}`)).reduce((acc: any, val: any) => `${acc}${separator}${val}`) + '';\n};\n\nexport const getEnumQuery = (name: string, value: any, multiple: boolean = false) => {\n if (multiple) {\n return `(${value.map((selected: any) => `${name} eq '${selected}'`).join(' or ')})`;\n }\n return `${name} eq '${value}'`;\n};\n\nexport const resolveRefs = (payload: any) => {\n const getDataFromRef = (ref: string, rootObj: any) => {\n const regex = /\\[\"(.*?)\"\\]/g;\n const result = [];\n let match;\n\n while ((match = regex.exec(ref)) !== null) {\n result.push(match[1]);\n }\n\n return result.reduce((acc, part) => acc && acc[part], rootObj);\n };\n\n const resolve = (obj: any, rootObj: any) => {\n if (Array.isArray(obj)) {\n obj.forEach((item) => resolve(item, rootObj));\n } else if (obj !== null && typeof obj === 'object') {\n // Remove self-reference to root object\n Object.keys(obj).forEach((key) => {\n if (obj[key] === rootObj) {\n delete obj[key];\n }\n });\n Object.keys(obj).forEach((key) => {\n if (key === '$ref' && obj[key]) {\n const refPath = obj[key];\n Object.assign(obj, getDataFromRef(refPath, rootObj));\n delete obj[key];\n } else {\n resolve(obj[key], rootObj);\n }\n });\n }\n };\n\n resolve(payload, payload);\n\n return payload;\n};\n","import { UserDto } from './user-dto';\nimport { getSuggestionValue } from \"../../../utils/utils\";\n\nexport class User {\n public id?: string;\n public username: string;\n public fullName: string;\n public email: string;\n public photo?: string;\n public blocked: boolean = false;\n public custom?: any;\n public label?: string;\n\n public static fromDto(userDto: UserDto, originEntity?: string): User {\n const model: any = { ...userDto };\n\n const lookupSeparator = ' - ';\n const displayFields = ['username', 'fullName'];\n\n model.label = getSuggestionValue(displayFields, 'user', { user: model }, lookupSeparator);\n\n return model as User;\n }\n\n public static toDto(user: User, originEntity?: string): UserDto {\n const dto: any = { ...user };\n\n delete dto.label;\n\n return dto;\n }\n}\n","import { E070EmpDto } from './e-070-emp-dto';\nimport { getSuggestionValue } from \"../../../utils/utils\";\n\nexport class E070Emp {\n public id?: string;\n public codEmp: string;\n public nomEmp: string;\n public label?: string;\n\n public static fromDto(e070EmpDto: E070EmpDto, originEntity?: string): E070Emp {\n const model: any = { ...e070EmpDto };\n\n const lookupSeparator = ' - ';\n const displayFields = ['codEmp', 'nomEmp'];\n\n model.label = getSuggestionValue(displayFields, 'e070Emp', { e070Emp: model }, lookupSeparator);\n\n return model as E070Emp;\n }\n\n public static toDto(e070Emp: E070Emp, originEntity?: string): E070EmpDto {\n const dto: any = { ...e070Emp };\n\n delete dto.label;\n\n return dto;\n }\n}\n","import { E070Emp } from './e-070-emp';\nimport { E070FilDto } from './e-070-fil-dto';\nimport { getSuggestionValue } from \"../../../utils/utils\";\n\nexport class E070Fil {\n public id?: string;\n public codFil: number;\n public nomFil: string;\n public e070emp: E070Emp;\n public label?: string;\n\n public static fromDto(e070FilDto: E070FilDto, originEntity?: string): E070Fil {\n const model: any = { ...e070FilDto };\n\n const lookupSeparator = ' - ';\n const displayFields = ['e070emp.codEmp', 'e070emp.nomEmp', 'codFil', 'nomFil'];\n\n model.label = getSuggestionValue(displayFields, 'e070Fil', { e070Fil: model }, lookupSeparator);\n\n if (originEntity !== 'E070Emp' && model.e070emp) {\n model.e070emp = E070Emp.fromDto(model.e070emp, 'E070Fil');\n }\n\n return model as E070Fil;\n }\n\n public static toDto(e070Fil: E070Fil, originEntity?: string): E070FilDto {\n const dto: any = { ...e070Fil };\n\n delete dto.label;\n\n if (originEntity !== 'E070Emp' && dto.e070emp) {\n dto.e070emp = E070Emp.toDto(dto.e070emp, 'E070Fil');\n }\n\n return dto;\n }\n}\n","import { E070Fil } from './e-070-fil';\nimport { E070FilCrmxDto } from './e-070-fil-crmx-dto';\nimport { getSuggestionValue } from \"../../../utils/utils\";\n\nexport class E070FilCrmx {\n public id?: string;\n public active: boolean = false;\n public e070fil: E070Fil;\n public label?: string;\n\n public static fromDto(e070FilCrmxDto: E070FilCrmxDto, originEntity?: string): E070FilCrmx {\n const model: any = { ...e070FilCrmxDto };\n\n const lookupSeparator = ' - ';\n const displayFields = ['e070fil.e070emp.codEmp', 'e070fil.e070emp.nomEmp', 'e070fil.codFil', 'e070fil.nomFil'];\n\n model.label = getSuggestionValue(displayFields, 'e070FilCrmx', { e070FilCrmx: model }, lookupSeparator);\n\n if (originEntity !== 'E070Fil' && model.e070fil) {\n model.e070fil = E070Fil.fromDto(model.e070fil, 'E070FilCrmx');\n }\n\n return model as E070FilCrmx;\n }\n\n public static toDto(e070FilCrmx: E070FilCrmx, originEntity?: string): E070FilCrmxDto {\n const dto: any = { ...e070FilCrmx };\n\n delete dto.label;\n\n if (originEntity !== 'E070Fil' && dto.e070fil) {\n dto.e070fil = E070Fil.toDto(dto.e070fil, 'E070FilCrmx');\n }\n\n return dto;\n }\n}\n","import { Collaborator } from './collaborator';\nimport { E070FilCrmx } from './e-070-fil-crmx';\nimport { CollaboratorE070FilCrmxDto } from './collaborator-e-070-fil-crmx-dto';\nimport { getSuggestionValue } from \"../../../utils/utils\";\n\nexport class CollaboratorE070FilCrmx {\n public id?: string;\n public collaborator?: Collaborator;\n public e070filCrmx: E070FilCrmx;\n public master: boolean = false;\n public createdBy?: string;\n public createdAt?: Date;\n public changedBy?: string;\n public changedAt?: Date;\n public custom?: any;\n public label?: string;\n\n public static fromDto(collaboratorE070FilCrmxDto: CollaboratorE070FilCrmxDto, originEntity?: string): CollaboratorE070FilCrmx {\n const model: any = { ...collaboratorE070FilCrmxDto };\n\n const lookupSeparator = ' - ';\n const displayFields = [\n 'e070filCrmx.e070fil.e070emp.codEmp',\n 'e070filCrmx.e070fil.e070emp.nomEmp',\n 'e070filCrmx.e070fil.codFil',\n 'e070filCrmx.e070fil.nomFil'\n ];\n\n model.label = getSuggestionValue(displayFields, 'collaboratorE070FilCrmx', { collaboratorE070FilCrmx: model }, lookupSeparator);\n\n if (originEntity !== 'Collaborator' && model.collaborator) {\n model.collaborator = Collaborator.fromDto(model.collaborator, 'CollaboratorE070FilCrmx');\n }\n\n if (originEntity !== 'E070FilCrmx' && model.e070filCrmx) {\n model.e070filCrmx = E070FilCrmx.fromDto(model.e070filCrmx, 'CollaboratorE070FilCrmx');\n }\n\n return model as CollaboratorE070FilCrmx;\n }\n\n public static toDto(collaboratorE070FilCrmx: CollaboratorE070FilCrmx, originEntity?: string): CollaboratorE070FilCrmxDto {\n const dto: any = { ...collaboratorE070FilCrmx };\n\n delete dto.label;\n\n if (originEntity !== 'Collaborator' && dto.collaborator) {\n dto.collaborator = Collaborator.toDto(dto.collaborator, 'CollaboratorE070FilCrmx');\n }\n\n if (originEntity !== 'E070FilCrmx' && dto.e070filCrmx) {\n dto.e070filCrmx = E070FilCrmx.toDto(dto.e070filCrmx, 'CollaboratorE070FilCrmx');\n }\n\n return dto;\n }\n}\n","import { SquadDto } from './squad-dto';\nimport { getSuggestionValue } from \"../../../utils/utils\";\n\nexport class Squad {\n public id?: string;\n public name: string;\n public createdBy?: string;\n public createdAt?: Date;\n public changedBy?: string;\n public changedAt?: Date;\n public custom?: any;\n public label?: string;\n\n public static fromDto(squadDto: SquadDto, originEntity?: string): Squad {\n const model: any = { ...squadDto };\n\n const lookupSeparator = ' - ';\n const displayFields = ['name'];\n\n model.label = getSuggestionValue(displayFields, 'squad', { squad: model }, lookupSeparator);\n\n return model as Squad;\n }\n\n public static toDto(squad: Squad, originEntity?: string): SquadDto {\n const dto: any = { ...squad };\n\n delete dto.label;\n\n return dto;\n }\n}\n","import { Collaborator } from './collaborator';\nimport { Squad } from './squad';\nimport { CollaboratorSquadDto } from './collaborator-squad-dto';\nimport { getSuggestionValue } from \"../../../utils/utils\";\n\nexport class CollaboratorSquad {\n public id?: string;\n public collaborator?: Collaborator;\n public squad: Squad;\n public createdBy?: string;\n public createdAt?: Date;\n public changedBy?: string;\n public changedAt?: Date;\n public custom?: any;\n public label?: string;\n\n public static fromDto(collaboratorSquadDto: CollaboratorSquadDto, originEntity?: string): CollaboratorSquad {\n const model: any = { ...collaboratorSquadDto };\n\n const lookupSeparator = ' - ';\n const displayFields = ['squad.name'];\n\n model.label = getSuggestionValue(displayFields, 'collaboratorSquad', { collaboratorSquad: model }, lookupSeparator);\n\n if (originEntity !== 'Collaborator' && model.collaborator) {\n model.collaborator = Collaborator.fromDto(model.collaborator, 'CollaboratorSquad');\n }\n\n if (originEntity !== 'Squad' && model.squad) {\n model.squad = Squad.fromDto(model.squad, 'CollaboratorSquad');\n }\n\n return model as CollaboratorSquad;\n }\n\n public static toDto(collaboratorSquad: CollaboratorSquad, originEntity?: string): CollaboratorSquadDto {\n const dto: any = { ...collaboratorSquad };\n\n delete dto.label;\n\n if (originEntity !== 'Collaborator' && dto.collaborator) {\n dto.collaborator = Collaborator.toDto(dto.collaborator, 'CollaboratorSquad');\n }\n\n if (originEntity !== 'Squad' && dto.squad) {\n dto.squad = Squad.toDto(dto.squad, 'CollaboratorSquad');\n }\n\n return dto;\n }\n}\n","import { User } from './user';\nimport { CollaboratorE070FilCrmx } from './collaborator-e-070-fil-crmx';\nimport { CollaboratorSquad } from './collaborator-squad';\nimport { CollaboratorDto } from './collaborator-dto';\nimport { getSuggestionValue } from \"../../../utils/utils\";\n\nexport class Collaborator {\n public id?: string;\n public code: number;\n public user?: User;\n public name: string;\n public email: string;\n public leader?: Collaborator;\n public active: boolean = false;\n public visible: boolean = false;\n public consolidatedLevel?: string;\n public branches?: CollaboratorE070FilCrmx[];\n public squads?: CollaboratorSquad[];\n public createdBy?: string;\n public createdAt?: Date;\n public changedBy?: string;\n public changedAt?: Date;\n public custom?: any;\n public label?: string;\n\n public static fromDto(collaboratorDto: CollaboratorDto, originEntity?: string): Collaborator {\n const model: any = { ...collaboratorDto };\n\n const lookupSeparator = ' - ';\n const displayFields = ['code', 'name'];\n\n model.label = getSuggestionValue(displayFields, 'collaborator', { collaborator: model }, lookupSeparator);\n\n if (originEntity !== 'User' && model.user) {\n model.user = User.fromDto(model.user, 'Collaborator');\n }\n\n if (originEntity !== 'Collaborator' && model.leader) {\n model.leader = Collaborator.fromDto(model.leader, 'Collaborator');\n }\n\n if (originEntity !== 'CollaboratorE070FilCrmx' && model.branches) {\n model.branches = Object.values(model.branches).map((item: any) => {\n item = CollaboratorE070FilCrmx.fromDto(item, 'Collaborator');\n item.collaborator = model;\n return item;\n });\n }\n\n if (originEntity !== 'CollaboratorSquad' && model.squads) {\n model.squads = Object.values(model.squads).map((item: any) => CollaboratorSquad.fromDto(item, 'Collaborator'));\n }\n\n return model as Collaborator;\n }\n\n public static toDto(collaborator: Collaborator, originEntity?: string): CollaboratorDto {\n const dto: any = { ...collaborator };\n\n delete dto.label;\n\n if (originEntity !== 'User' && dto.user) {\n dto.user = User.toDto(dto.user, 'Collaborator');\n }\n\n if (originEntity !== 'Collaborator' && dto.leader) {\n dto.leader = Collaborator.toDto(dto.leader, 'Collaborator');\n }\n\n if (originEntity !== 'CollaboratorE070FilCrmx' && dto.branches) {\n dto.branches = Object.values(dto.branches)\n .map((item: any) => CollaboratorE070FilCrmx.toDto(item, 'Collaborator'))\n .filter((item) => Object.keys(item).length);\n }\n\n if (originEntity !== 'CollaboratorSquad' && dto.squads) {\n dto.squads = Object.values(dto.squads)\n .map((item: any) => CollaboratorSquad.toDto(item, 'Collaborator'))\n .filter((item) => Object.keys(item).length);\n }\n\n return dto;\n }\n}\n","import { ComSeniorTokenDto } from './com-senior-token-dto';\nimport { Injectable } from \"@angular/core\";\nimport { CookieService } from \"ngx-cookie-service\";\nimport { resolveRefs } from \"../../utils/utils\";\n\n@Injectable()\nexport class StorageService {\n\n constructor(\n private readonly cookieService: CookieService\n ) {\n }\n\n public getUser(): any {\n return JSON.parse(localStorage.getItem('SENIOR_USER_INFO')).data;\n }\n\n public getUserId(): string {\n return this.getUser().id;\n }\n\n public store(key: string, value: any) {\n const userId = this.getUserId();\n localStorage.setItem(`${userId}_${key}`, JSON.stringify(resolveRefs(value)));\n }\n\n public get(key: string) {\n const userId = this.getUserId();\n const value = localStorage.getItem(`${userId}_${key}`);\n\n if (value) {\n return JSON.parse(value);\n }\n\n return null;\n }\n\n private getComSeniorToken(): ComSeniorTokenDto {\n return JSON.parse(this.cookieService.get('com.senior.token'));\n }\n\n public getBaseUrl(): string {\n return this.cookieService.get('com.senior.base.url');\n }\n\n public getTenantDomain(): string {\n return this.getComSeniorToken().username.split('@')[1];\n }\n\n public getTenantName(): string {\n return this.getComSeniorToken().tenantName;\n }\n\n public getUsername(): string {\n return this.getComSeniorToken().username.split('@')[0];\n }\n\n public getLogin(): string {\n return this.getComSeniorToken().username;\n }\n\n public getToken(): string {\n return this.getComSeniorToken().access_token;\n }\n\n public isUserAdmin(): boolean {\n return this.getUsername() === 'admin';\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Collaborator, CollaboratorDto, CollaboratorE070FilCrmx } from './models';\nimport { HttpClient } from '@angular/common/http';\nimport { Observable, Subject } from 'rxjs';\nimport { StorageService } from '../storage/storage.service';\nimport { catchError, takeUntil } from 'rxjs/operators';\n\n@Injectable()\nexport class CurrentCollaboratorService {\n private readonly ngUnsubscribe = new Subject();\n\n private readonly COLLABORATOR_KEY: string = 'CRMX_COLLABORATOR';\n\n constructor(\n private readonly http: HttpClient,\n private readonly storageService: StorageService,\n ) {}\n\n public validate() {\n this.call(false).subscribe((collaborator) => {\n if (collaborator.active === false) {\n this.redirect('collaborator-inactive');\n }\n });\n }\n\n public get(): Observable<Collaborator> {\n return this.call(true);\n }\n\n public getE070FilCrmxMaster(): Observable<CollaboratorE070FilCrmx> {\n return new Observable<CollaboratorE070FilCrmx>((observer) => {\n this.call(true).subscribe((collaborator) => {\n const e070FilCrmxMaster = { ...collaborator.branches.find((branch) => branch.master) };\n\n if (e070FilCrmxMaster) {\n e070FilCrmxMaster.collaborator = collaborator;\n\n observer.next(e070FilCrmxMaster);\n }\n\n observer.complete();\n });\n });\n }\n\n private call(useCache: boolean): Observable<Collaborator> {\n return new Observable((observer) => {\n const collaboratorDto = this.storageService.get(this.COLLABORATOR_KEY);\n\n if (collaboratorDto !== null && useCache) {\n observer.next(Collaborator.fromDto(collaboratorDto));\n } else {\n this.http\n .get<CollaboratorDto>('crmx_collaborator/foundation/queries/getCurrentCollaborator')\n .pipe(\n takeUntil(this.ngUnsubscribe),\n catchError((err: any) => {\n const statusCode = 404;\n if (err.status === statusCode) {\n this.redirect('collaborator-not-found');\n }\n throw err;\n })\n )\n .subscribe((collaboratorDto) => {\n this.storageService.store(this.COLLABORATOR_KEY, collaboratorDto);\n observer.next(Collaborator.fromDto(collaboratorDto));\n });\n }\n\n observer.complete();\n });\n }\n\n private redirect(page: string) {\n location.href = `${this.storageService.getBaseUrl()}/gestao-relacionamento/crmx_collaborator/foundation/#/${page}`;\n }\n}\n","import { NgModule } from \"@angular/core\";\nimport { StorageService } from \"./storage.service\";\nimport { CookieService } from \"ngx-cookie-service\";\n\n@NgModule({\n imports: [],\n providers: [\n StorageService,\n CookieService\n ],\n})\nexport class StorageModule {}\n","import { NgModule } from \"@angular/core\";\nimport { CurrentCollaboratorService } from \"./current-collaborator.service\";\nimport { HttpClientModule } from \"@angular/common/http\";\nimport { StorageModule } from \"../storage/storage.module\";\n\n@NgModule({\n imports: [\n HttpClientModule,\n StorageModule,\n ],\n providers: [\n CurrentCollaboratorService,\n ],\n})\nexport class CurrentCollaboratorModule {}\n","\nimport { ModuloDto } from './modulo-dto';\n\nexport class Modulo {\n public id?: string;\n public modulo: string;\n public ativo: boolean;\n\n public static fromDto(moduleDto: ModuloDto, originEntity?: string): Modulo {\n const model: any = { ...moduleDto };\n\n const lookupSeparator = ' - ';\n const displayFields = ['modulo'];\n\n model.label = displayFields.map((field) => model[field]).join(lookupSeparator);\n\n return model as Modulo;\n }\n\n public static toDto(module: Modulo, originEntity?: string): ModuloDto {\n const dto: any = { ...module };\n\n delete dto.label;\n\n return dto;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { Observable, Subject } from \"rxjs\";\nimport { StorageService } from '../storage/storage.service';\nimport { catchError, takeUntil } from 'rxjs/operators';\nimport { Modulo, ModuloDto } from './models';\n\n@Injectable()\nexport class CurrentTenantService {\n private readonly ngUnsubscribe = new Subject();\n\n private readonly ERPX_MODULE_KEY: string = 'ERPX_MODULE';\n\n constructor(\n private readonly http: HttpClient,\n private readonly storageService: StorageService\n ) {}\n\n public validate(): Observable<Modulo> {\n return new Observable((observer) => {\n this.call(false).subscribe((modulo) => {\n if (modulo.ativo === false) {\n this.redirect('module-inactive');\n } else {\n observer.next(modulo);\n observer.complete();\n }\n });\n });\n }\n\n private call(useCache: boolean): Observable<Modulo> {\n return new Observable((observer) => {\n const moduleDto = this.storageService.get(this.ERPX_MODULE_KEY);\n\n if (moduleDto !== null && useCache) {\n observer.next(Modulo.fromDto(moduleDto));\n observer.complete();\n } else {\n this.http\n .get<ResponseModulo>('erpx_fnd/empresa/entities/modulos?filter=modulo%20eq%20%27CRM%27%20and%20ativo%20eq%20%27true%27')\n .pipe(\n takeUntil(this.ngUnsubscribe),\n catchError((err: any) => {\n throw err;\n })\n )\n .subscribe((response: ResponseModulo) => {\n if (response.totalElements === 0) {\n this.redirect('module-inactive');\n } else {\n const moduloDto = response.contents[0];\n this.storageService.store(this.ERPX_MODULE_KEY, moduloDto);\n observer.next(Modulo.fromDto(moduloDto));\n observer.complete();\n }\n });\n }\n });\n }\n\n private redirect(page: string) {\n location.href = `${this.storageService.getBaseUrl()}/gestao-relacionamento/crmx_collaborator/foundation/#/${page}`;\n }\n}\n\nexport interface ResponseModulo {\n totalElements: number;\n totalPages: number;\n contents: ModuloDto[];\n}\n","import { NgModule } from \"@angular/core\";\nimport { CurrentTenantService } from \"./current-tenant.service\";\nimport { HttpClientModule } from \"@angular/common/http\";\nimport { StorageModule } from \"../storage/storage.module\";\n\n@NgModule({\n imports: [\n HttpClientModule,\n StorageModule,\n ],\n providers: [\n CurrentTenantService\n ],\n})\nexport class CurrentTenantModule {}\n","export enum MonthEnum {\n JANUARY = 'JANUARY',\n FEBRUARY = 'FEBRUARY',\n MARCH = 'MARCH',\n APRIL = 'APRIL',\n MAY = 'MAY',\n JUNE = 'JUNE',\n JULY = 'JULY',\n AUGUST = 'AUGUST',\n SEPTEMBER = 'SEPTEMBER',\n OCTOBER = 'OCTOBER',\n NOVEMBER = 'NOVEMBER',\n DECEMBER = 'DECEMBER',\n}\n","export enum OrdinalWeekDayEnum {\n FIRST = 'FIRST',\n SECOND = 'SECOND',\n THIRD = 'THIRD',\n FOURTH = 'FOURTH',\n LAST = 'LAST',\n}\n","export enum RecurrenceEnum {\n DAILY = 'DAILY',\n WEEKLY = 'WEEKLY',\n MONTHLY = 'MONTHLY',\n YEARLY = 'YEARLY',\n}\n","export enum RepeatWhenEnum {\n IN_DAY = 'IN_DAY',\n IN_ORDINAL_WEEK_DAY = 'IN_ORDINAL_WEEK_DAY',\n}\n","export enum WeekDayEnum {\n SUNDAY = 'SUNDAY',\n MONDAY = 'MONDAY',\n TUESDAY = 'TUESDAY',\n WEDNESDAY = 'WEDNESDAY',\n THURSDAY = 'THURSDAY',\n FRIDAY = 'FRIDAY',\n SATURDAY = 'SATURDAY',\n}\n","import { Injectable } from \"@angular/core\";\nimport { FormGroup, Validators } from '@angular/forms';\nimport { takeUntil } from 'rxjs/operators';\nimport { Subject } from 'rxjs';\nimport { RecurrenceEnum, RepeatWhenEnum } from \"./enums\";\n\n@Injectable()\nexport class ScheduleFormRulesService {\n\n constructor() {\n }\n\n private readonly ngUnsubscribe = new Subject();\n\n public recurrencesValueChangeSubscribe(formGroup: FormGroup, formFields: any[]) {\n this.recurrenceValueChangeSubscribe(formGroup, formFields);\n this.repeatWhenValueChangeSubscribe(formGroup, formFields);\n }\n\n public valueChangeSubscribe(formGroup: FormGroup, formFields: any[]) {\n this.allDayValueChangeSubscribe(formGroup, formFields);\n }\n\n private allDayValueChangeSubscribe(formGroup: FormGroup, formFields: any[]) {\n formGroup.controls.allDay.valueChanges.pipe(takeUntil(this.ngUnsubscribe)).subscribe((value: boolean) => {\n const fields = ['startTime', 'endTime'];\n\n if (value) {\n this.disableFields(formGroup, formFields, fields);\n } else {\n this.enableFields(formGroup, formFields, fields);\n }\n });\n }\n\n private recurrenceValueChangeSubscribe(formGroup: FormGroup, formFields: any[]) {\n formGroup.controls.recurrence.valueChanges.pipe(takeUntil(this.ngUnsubscribe)).subscribe((value: RecurrenceEnum) => {\n const fieldsToDisable = ['weekDays', 'repeatWhen', 'repeatWhenDay', 'repeatWhenMonth', 'repeatWhenOrdinalWeekDay', 'repeatWhenWeekMonth'];\n\n this.disableFields(formGroup, formFields, fieldsToDisable);\n\n if (value === RecurrenceEnum.WEEKLY) {\n const fieldWeekDays = formFields.find((field) => field.name === 'weekDays');\n fieldWeekDays.visible = () => true;\n fieldWeekDays.required = () => true;\n\n formGroup.controls.weekDays.setValidators([Validators.required]);\n }\n\n if (value === RecurrenceEnum.MONTHLY || value === RecurrenceEnum.YEARLY) {\n const fieldRepeatWhen = formFields.find((field) => field.name === 'repeatWhen');\n fieldRepeatWhen.visible = () => true;\n fieldRepeatWhen.required = () => true;\n\n formGroup.controls.repeatWhen.setValidators([Validators.required]);\n formGroup.controls.repeatWhen.setValue(RepeatWhenEnum.IN_DAY);\n }\n });\n }\n\n private repeatWhenValueChangeSubscribe(formGroup: FormGroup, formFields: any[]) {\n formGroup.controls.repeatWhen.valueChanges.pipe(takeUntil(this.ngUnsubscribe)).subscribe((value: RepeatWhenEnum) => {\n const fieldsToDisable = ['repeatWhenDay', 'repeatWhenOrdinalWeekDay', 'repeatWhenWeekMonth', 'repeatWhenMonth'];\n\n this.disableFields(formGroup, formFields, fieldsToDisable);\n\n if (value === RepeatWhenEnum.IN_DAY) {\n const fieldRepeatWhenDay = formFields.find((field) => field.name === 'repeatWhenDay');\n fieldRepeatWhenDay.visible = () => true;\n fieldRepeatWhenDay.required = () => true;\n\n formGroup.controls.repeatWhenDay.setValidators([Validators.required]);\n }\n\n if (value === RepeatWhenEnum.IN_ORDINAL_WEEK_DAY) {\n const fieldsToEnable = ['repeatWhenOrdinalWeekDay', 'repeatWhenWeekMonth'];\n this.enableFields(formGroup, formFields, fieldsToEnable);\n }\n\n if (value !== undefined && formGroup.controls.recurrence.value === RecurrenceEnum.YEARLY) {\n const fieldRepeatWhenMonth = formFields.find((field) => field.name === 'repeatWhenMonth');\n fieldRepeatWhenMonth.visible = () => true;\n fieldRepeatWhenMonth.required = () => true;\n\n formGroup.controls.repeatWhenMonth.setValidators([Validators.required]);\n }\n });\n }\n\n private disableFields(formGroup: FormGroup, formFields: any[], fields: string[]) {\n formFields\n .filter((field) => fields.includes(field.name))\n .forEach((field) => {\n field.visible = () => false;\n field.required = () => false;\n });\n\n for (const controlsKey in formGroup.controls) {\n if (fields.includes(controlsKey)) {\n const fieldFormGroup = formGroup.controls[controlsKey] as FormGroup;\n\n fieldFormGroup.setValue(undefined);\n fieldFormGroup.clearValidators();\n fieldFormGroup.setErrors(null);\n }\n }\n }\n\n private enableFields(formGroup: FormGroup, formFields: any[], fields: string[]) {\n formFields\n .filter((field) => fields.includes(field.name))\n .forEach((field) => {\n field.visible = () => true;\n field.required = () => true;\n });\n\n for (const controlsKey in formGroup.controls) {\n if (fields.includes(controlsKey)) {\n const fieldFormGroup = formGroup.controls[controlsKey] as FormGroup;\n fieldFormGroup.setValidators([Validators.required]);\n }\n }\n }\n\n}\n","import { NgModule } from \"@angular/core\";\nimport { ScheduleFormRulesService } from \"./schedule-form-rules.service\";\n\n@NgModule({\n imports: [\n ],\n providers: [\n ScheduleFormRulesService\n ],\n})\nexport class ScheduleFormRulesModule {}\n","import { Injectable } from \"@angular/core\";\nimport { E070Emp, E070Fil } from \"../current-collaborator\";\n\n@Injectable()\nexport class StandardFiltersService {\n\n constructor(\n ) {\n }\n\n public addFilterE070emp(filterQuery: string, alias: string, e070empList: E070Emp[]): string {\n const ids: string[] = Array.from(new Set(e070empList.map(e070emp => e070emp.id)));\n return this.addFilterIn(filterQuery, alias, 'id', ids);\n }\n\n public addFilterE070fil(filterQuery: string, alias: string, e070filList: E070Fil[]): string {\n const ids: string[] = Array.from(new Set(e070filList.map(e070fil => e070fil.id)));\n return this.addFilterIn(filterQuery, alias, 'id', ids);\n }\n\n public addFilterActive(filterQuery: string, alias: string): string {\n const filter = this.addAlias(alias, 'active eq true');\n return this.addFilter(filterQuery, filter);\n }\n\n public addFilter(filterQuery: string, filter: string): string {\n return (filterQuery ? `${filterQuery} and ` : '') + filter;\n }\n\n public addFilterIn(filterQuery: string, alias: string, field: string, values: any[]): string {\n const filters: string[] = values.map(value => `${this.addAlias(alias, field)} eq '${value}'`);\n\n return this.addFilter(filterQuery, `(${filters.join(' or ')})`);\n }\n\n private addAlias(alias: string, filter: string): string {\n return (alias ? `${alias}.` : '') + filter;\n }\n}\n\n","import { NgModule } from \"@angular/core\";\nimport { StandardFiltersService } from \"./standard-filters.service\";\n\n@NgModule({\n providers: [\n StandardFiltersService\n ],\n})\nexport class StandardFiltersModule {}\n","import { AbstractControl } from \"@angular/forms\";\n\nexport class FormGroupValidatorsService {\n public static startDataGreaterThanEndDataValidator(endDateField: string, errorMessage: string) {\n const fn = function (control: AbstractControl) {\n if (control.parent) {\n const startDate = new Date(control.value);\n const endDate = new Date(control.parent.controls[endDateField]?.value);\n\n if (startDate > endDate) {\n const rtn = {};\n rtn[errorMessage] = true;\n return rtn;\n }\n }\n\n return null;\n };\n\n return fn;\n }\n\n public static endDateLessThanStartDateValidator(startDateField: string, errorMessage: string) {\n const fn = function(control: AbstractControl) {\n if (control.parent) {\n const startDate = new Date(control.parent.controls[startDateField]?.value);\n const endDate = new Date(control.value);\n\n if (startDate > endDate) {\n const rtn = {};\n rtn[errorMessage] = true;\n return rtn;\n }\n }\n\n return null;\n };\n\n return fn;\n };\n}\n","export class DateValidatorsService {\n public static isLastWeekdayOfMonth(date: Date): boolean {\n const newDate = new Date(date);\n const day = 7;\n newDate.setDate(date.getDate() + day);\n\n return newDate.getMonth() > date.getMonth() || newDate.getFullYear() > date.getFullYear();\n }\n}\n","import { TopicDto } from \"./topic-dto\";\n\nexport class Topic {\n domain: string;\n service: string;\n primitive: string;\n allUsers: boolean;\n\n public static fromDto(topicDto: TopicDto): Topic {\n const topic = new Topic();\n\n Object.assign(topic, topicDto);\n\n return topic;\n }\n\n public getTopic(tenantDomain: string, token?: string): string {\n let topic = '/topic/'.concat(tenantDomain);\n\n if (this.allUsers === false) {\n topic = topic\n .concat('/')\n .concat(token)\n ;\n }\n\n return topic.concat(this.toString());\n }\n\n public toString(): string {\n return '/'\n .concat(this.domain)\n .concat('/')\n .concat(this.service)\n .concat('/')\n .concat(this.primitive)\n ;\n }\n}\n","import { Topic } from \"./topic\";\nimport { EventDto } from \"./event-dto\";\n\nexport class Event extends Topic {\n public callback: (payload: any) => void;\n public originCallback: string;\n\n public static fromDto(eventDto: EventDto): Event {\n const event = new Event();\n\n Object.assign(event, eventDto);\n\n return event;\n }\n\n public match(event: Event): boolean {\n return this.toString() === event.toString()\n && this.originCallback === event.originCallback\n ;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable, Subject } from 'rxjs';\nimport { CompatClient, Stomp } from '@stomp/stompjs';\nimport * as SockJS from 'sockjs-client';\nimport { StorageService } from '../storage/storage.service';\nimport { concatMap } from 'rxjs/operators';\nimport { Router } from \"@angular/router\";\nimport { Event } from \"./models/event\";\nimport { EventDto } from \"./models/event-dto\";\nimport { IMessage } from \"@stomp/stompjs/esm5/i-message\";\n\n@Injectable({\n providedIn: 'root',\n})\nexport class WebsocketService {\n\n private readonly _client: CompatClient = Stomp.over(\n new SockJS (\n this.storageService.getBaseUrl().concat('/websocket/subscription')\n )\n );\n\n private readonly _bindQueue = new Subject<Event>();\n\n private readonly _eventBindingList: Event[] = [];\n\n private readonly _messageQueue: {message: IMessage, event: Event}[] = [];\n\n constructor(\n private readonly router: Router,\n private readonly storageService: StorageService\n ) {\n this._bindQueue.pipe(\n concatMap(event => this._bindObservable(event))\n ).subscribe();\n }\n\n public bind(eventDto: EventDto) {\n eventDto.originCallback = eventDto.originCallback || this.router.url\n this._bindQueue.next(Event.fromDto(eventDto));\n }\n\n private _bindObservable(event: Event): Observable<void> {\n return new Observable<void>(observer => {\n if (this._client.connected) {\n this._registerBind(event);\n this._finishBindObservable(observer);\n } else {\n this._connectClient(event, observer);\n }\n });\n }\n\n private _finishBindObservable(observer: any) {\n observer.next();\n observer.complete();\n }\n\n private _connectClient(event: Event, observer: any) {\n this._client.connect(\n {},\n () => {\n this._registerBind(event);\n this._finishBindObservable(observer);\n },\n () => observer.error(new Error('Websocket connection error!'))\n );\n }\n\n private _registerBind(event: Event) {\n const eventBinding = this._findEventBinding(event);\n\n if (eventBinding) {\n this._remakeBind(event, eventBinding);\n } else {\n this._makeBind(event);\n }\n }\n\n private _remakeBind(event: Event, eventBinding: Event) {\n eventBinding.callback = event.callback;\n\n this._messageQueue\n .filter(messageQueue => messageQueue.event.match(event))\n .forEach(messageQueue => this._executeCallback(messageQueue.message, event));\n }\n\n private _makeBind(event: Event) {\n this._eventBindingList.push(event);\n\n this._client.subscribe(\n event.getTopic(this.storageService.getTenantDomain(), this.storageService.getToken()),\n (message) => this._executeCallback(message, event)\n );\n }\n\n private _executeCallback(message: IMessage, event: Event) {\n const eventBinding = this._findEventBinding(event);\n\n if (eventBinding.originCallback === this.router.url) {\n this._findEventBinding(event).callback(this._resolveRefs(JSON.parse(message.body).data));\n } else {\n this._messageQueue\n .filter(messageQueue => messageQueue.event.match(event))\n .forEach((messageQueue, index) => this._messageQueue.splice(index, 1));\n\n this._messageQueue.push({message, event});\n }\n }\n\n private _findEventBinding(event: Event): Event {\n return this._eventBindingList.find(eventBinding => eventBinding.match(event));\n }\n\n private _resolveRefs(payload: any): any {\n\n const resolve = (obj: any, rootObj: any) => {\n if (Array.isArray(obj)) {\n obj.forEach(item => resolve(item, rootObj));\n }\n\n if (obj !== null && typeof obj === 'object') {\n Object.keys(obj).forEach(key => {\n if (key === '$ref' && obj[key]) {\n const refPath = obj[key]; // Caminho da referência\n Object.assign(obj, getDataFromRef(refPath, rootObj));\n delete obj[key];\n } else {\n resolve(obj[key], rootObj);\n }\n });\n }\n }\n\n const getDataFromRef = (ref: string, rootObj: any) => {\n const regex = /\\[\"(.*?)\"\\]/g;\n const result = [];\n let match;\n\n while ((match = regex.exec(ref)) !== null) {\n result.push(match[1]);\n }\n\n return result.reduce((acc, part) => acc && acc[part], rootObj);\n }\n\n resolve(payload, payload);\n\n return payload;\n }\n}\n","import { NgModule } from \"@angular/core\";\nimport { WebsocketService } from \"./websocket.service\";\nimport { RouterModule } from \"@angular/router\";\n\n@NgModule({\n imports: [\n RouterModule,\n ],\n providers: [\n WebsocketService,\n ]\n})\nexport class WebsocketModule {}\n","\nexport class StringConverterService {\n\n public static toUnderscore(camelCase: string): string {\n const regex: RegExp = /([a-z])([A-Z])/g;\n return camelCase.replace(regex, '$1_$2').toLowerCase();\n }\n}\n","import { distinctUntilChanged } from \"rxjs/operators\";\nimport { Observable } from \"rxjs\";\n\nexport class ValueChangesService {\n\n public static pipeDefault(control: any): Observable<any> {\n return control.valueChanges.pipe(distinctUntilChanged());\n }\n}\n\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n\nexport {StorageModule as ɵa} from './services/storage/storage.module';"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"senior-gestao-relacionamento-angular-components.js","sources":["ng://@senior-gestao-relacionamento/angular-components/components/reports/enums/format-enum.ts","ng://@senior-gestao-relacionamento/angular-components/components/reports/enums/view-mode-enum.ts","ng://@senior-gestao-relacionamento/angular-components/components/reports/reports.service.ts","ng://@senior-gestao-relacionamento/angular-components/components/reports/reports.component.ts","ng://@senior-gestao-relacionamento/angular-components/components/reports/reports.module.ts","ng://@senior-gestao-relacionamento/angular-components/components/refresh-websocket-alert/refresh-websocket-alert.component.ts","ng://@senior-gestao-relacionamento/angular-components/components/refresh-websocket-alert/refresh-websocket-alert.module.ts","ng://@senior-gestao-relacionamento/angular-components/locale/fallback.ts","ng://@senior-gestao-relacionamento/angular-components/utils/utils.ts","ng://@senior-gestao-relacionamento/angular-components/services/current-collaborator/models/user.ts","ng://@senior-gestao-relacionamento/angular-components/services/current-collaborator/models/e-070-emp.ts","ng://@senior-gestao-relacionamento/angular-components/services/current-collaborator/models/e-070-fil.ts","ng://@senior-gestao-relacionamento/angular-components/services/current-collaborator/models/e-070-fil-crmx.ts","ng://@senior-gestao-relacionamento/angular-components/services/current-collaborator/models/collaborator-e-070-fil-crmx.ts","ng://@senior-gestao-relacionamento/angular-components/services/current-collaborator/models/squad.ts","ng://@senior-gestao-relacionamento/angular-components/services/current-collaborator/models/collaborator-squad.ts","ng://@senior-gestao-relacionamento/angular-components/services/current-collaborator/models/collaborator.ts","ng://@senior-gestao-relacionamento/angular-components/services/storage/storage.service.ts","ng://@senior-gestao-relacionamento/angular-components/services/current-collaborator/current-collaborator.service.ts","ng://@senior-gestao-relacionamento/angular-components/services/storage/storage.module.ts","ng://@senior-gestao-relacionamento/angular-components/services/current-collaborator/current-collaborator.module.ts","ng://@senior-gestao-relacionamento/angular-components/services/current-tenant/models/modulo.ts","ng://@senior-gestao-relacionamento/angular-components/services/current-tenant/current-tenant.service.ts","ng://@senior-gestao-relacionamento/angular-components/services/current-tenant/current-tenant.module.ts","ng://@senior-gestao-relacionamento/angular-components/services/schedule-form-rules/enums/month-enum.ts","ng://@senior-gestao-relacionamento/angular-components/services/schedule-form-rules/enums/ordinal-week-day-enum.ts","ng://@senior-gestao-relacionamento/angular-components/services/schedule-form-rules/enums/recurrence-enum.ts","ng://@senior-gestao-relacionamento/angular-components/services/schedule-form-rules/enums/repeat-when-enum.ts","ng://@senior-gestao-relacionamento/angular-components/services/schedule-form-rules/enums/week-day-enum.ts","ng://@senior-gestao-relacionamento/angular-components/services/schedule-form-rules/schedule-form-rules.service.ts","ng://@senior-gestao-relacionamento/angular-components/services/schedule-form-rules/schedule-form-rules.module.ts","ng://@senior-gestao-relacionamento/angular-components/services/standard-filters/standard-filters.service.ts","ng://@senior-gestao-relacionamento/angular-components/services/standard-filters/standard-filters.module.ts","ng://@senior-gestao-relacionamento/angular-components/services/validators/form-group-validators.service.ts","ng://@senior-gestao-relacionamento/angular-components/services/validators/date-validators.service.ts","ng://@senior-gestao-relacionamento/angular-components/services/websocket/models/topic.ts","ng://@senior-gestao-relacionamento/angular-components/services/websocket/models/event.ts","ng://@senior-gestao-relacionamento/angular-components/services/websocket/websocket.service.ts","ng://@senior-gestao-relacionamento/angular-components/services/websocket/websocket.module.ts","ng://@senior-gestao-relacionamento/angular-components/utils/string-converter.service.ts","ng://@senior-gestao-relacionamento/angular-components/utils/value-changes.service.ts","ng://@senior-gestao-relacionamento/angular-components/senior-gestao-relacionamento-angular-components.ts"],"sourcesContent":["export enum FormatEnum {\n PDF = 'Pdf',\n CSV = 'Csv',\n HTML = 'Html',\n XLSX = 'Xlsx',\n XML = 'Xml',\n ODT = 'Odt',\n RTF = 'Rtf',\n}\n","export enum ViewModeEnum {\n SIDEBAR= 'sidebar',\n DIALOG= 'dialog',\n}\n","import { Injectable} from \"@angular/core\";\nimport { HttpClient, HttpParams } from \"@angular/common/http\";\nimport { ReportDto } from \"./models/report-dto\";\nimport { catchError, map } from \"rxjs/operators\";\nimport { ResponseListReportDto } from \"./models/response-list-report-dto\";\nimport { throwError } from \"rxjs\";\nimport { GenerateReportInputDto } from \"./models/generate-report-input-dto\";\nimport { GenerateReportOutputDto } from \"./models/generate-report-output-dto\";\nimport { TranslateService } from \"@ngx-translate/core\";\nimport { MessageService } from 'primeng/api';\n\n@Injectable()\nexport class ReportsService {\n\n private readonly queriesPlatformReportUrl: string = `platform/report/queries`;\n private readonly actionsCrmxReportUrl: string = `crmx/report/actions`;\n\n constructor(\n private readonly _httpClient: HttpClient,\n private readonly _translate: TranslateService,\n private readonly _messageService: MessageService,\n ) {}\n\n public listReports(tag: string, ids?: string[]) {\n let params = new HttpParams();\n params = params.append('searchValue', tag);\n\n return this._httpClient.get<ResponseListReportDto>(`${this.queriesPlatformReportUrl}/listReports`, {params}).pipe(\n map((response: ResponseListReportDto) => response.reports.filter(\n (report: ReportDto) => ids ? ids.includes(report.id) : true\n )),\n this.defaultCatch()\n );\n }\n\n public getSharedReport(tag: string) {\n let params = new HttpParams();\n params = params.append('searchValue', tag);\n\n\n return this._httpClient.get<ResponseListReportDto>(`${this.queriesPlatformReportUrl}/listSharedReports`, { params }).pipe(\n map((response: ResponseListReportDto) => {\n return response.reports.filter((report: ReportDto) => report.enabled);\n }),\n this.defaultCatch()\n );\n }\n\n public generateReport(inputDto: GenerateReportInputDto) {\n return this._httpClient.post<GenerateReportOutputDto>(`${this.actionsCrmxReportUrl}/generateReport`, inputDto).pipe(this.defaultCatch());\n }\n\n public defaultCatch() {\n return catchError((err: any) => {\n if (err) {\n let summary = err.status ? String(err.status) : 'Error';\n let detail;\n\n if (err.error && err.error.message) {\n detail = err.error.message;\n } else if (err.statusText) {\n detail = err.statusText;\n } else if (err.message) {\n detail = err.message;\n } else {\n detail = 'Error';\n }\n\n const errorUnauthorized = 401;\n\n if (err.status === errorUnauthorized) {\n summary = this._translate.instant('crmx.angular_components.error_unauthorized_title');\n detail = this._translate.instant('crmx.angular_components.error_unauthorized_description');\n }\n\n this._messageService.add({\n severity: 'error',\n summary,\n detail,\n sticky: true,\n });\n }\n\n return throwError(err);\n });\n }\n}\n","import {\n Component,\n EventEmitter,\n Input, OnChanges,\n OnInit,\n Output,\n SimpleChanges,\n} from \"@angular/core\";\nimport {FormBuilder, FormControl, FormGroup, Validators} from \"@angular/forms\";\nimport {FieldType, FormField} from \"@seniorsistemas/angular-components\";\nimport {TranslateService} from \"@ngx-translate/core\";\nimport { BehaviorSubject, Observable, throwError } from \"rxjs\";\nimport {ReportsService} from \"./reports.service\";\nimport {ReportDto} from \"./models/report-dto\";\nimport {ViewModeEnum} from \"./enums/view-mode-enum\";\nimport {FormatEnum} from \"./enums/format-enum\";\nimport {GenerateReportOutputDto} from \"./models/generate-report-output-dto\";\nimport {ReportsOptions} from \"./models/reports-options\";\nimport {GenerateReportInputDto} from \"./models/generate-report-input-dto\";\nimport { catchError } from \"rxjs/operators\";\n\n@Component({\n selector: 'report',\n templateUrl: './reports.component.html',\n styleUrls: []\n})\nexport class ReportsComponent implements OnInit, OnChanges {\n\n @Input()\n public visible: boolean;\n\n @Input()\n public options: ReportsOptions;\n\n @Input()\n public formGroups: FormGroup[] = [];\n\n @Output()\n public visibleChange: EventEmitter<boolean> = new EventEmitter<boolean>();\n\n @Output()\n public reportGenerated: EventEmitter<GenerateReportOutputDto> = new EventEmitter<GenerateReportOutputDto>();\n\n public formGroup: FormGroup;\n\n public formFields: FormField[];\n\n public reportsObservable: BehaviorSubject<any> = new BehaviorSubject([]);\n\n public readonly viewModeEnum = ViewModeEnum;\n\n public loading = false;\n\n private _reports: ReportDto[] = [];\n\n private _formatEnum: any[] = [];\n\n constructor(\n private readonly _translate: TranslateService,\n private readonly _formBuilder: FormBuilder,\n private readonly _reportsService: ReportsService,\n ) {}\n\n public ngOnChanges(changes: SimpleChanges): void {\n if (this.options) {\n this.options.header = this.options.header || this._translate.instant('crmx.angular_components.reports_title');\n\n this.options.labelConfirmButton = this.options.labelConfirmButton || this._translate.instant('crmx.angular_components.confirm');\n\n this._formatEnum = Object.keys(FormatEnum)\n .filter(key => !this.options.formats || this.options.formats.includes(FormatEnum[key]))\n .map(key => ({ label: key.toUpperCase(), value: FormatEnum[key] }));\n\n if (this.visible) {\n this.loading = true;\n\n this._executeObservable(this._reportsService.listReports(this.options.tenantReport || this.options.sharedReport))\n .subscribe((nextAction: boolean) => {\n if (nextAction) {\n this._executeObservable(this._reportsService.getSharedReport(this.options.sharedReport))\n .subscribe((nextAction: boolean) => {\n this.loading = false;\n })\n ;\n }\n })\n ;\n }\n }\n }\n\n public ngOnInit(): void {\n this.formGroup = this._getFormGroup();\n this.formFields = this._getFormFields();\n }\n\n public onCancel() {\n this.formGroup.reset();\n\n this.visible = false;\n this.visibleChange.emit(this.visible);\n }\n\n public onConfirm() {\n this.loading = true;\n const data = this.formGroup.getRawValue();\n let isValid = true;\n\n this.formGroups.forEach((formGroup: FormGroup) => isValid = isValid && formGroup.valid);\n\n if (!this.formGroup.valid || !isValid) {\n this.loading = false;\n this._validateAllFormFields(this.formGroup);\n\n this.formGroups.forEach(this._validateAllFormFields);\n } else {\n const input: GenerateReportInputDto = {\n report: {\n id: data.reports.id,\n parameters: this.options.parametersReport,\n format: data.format,\n timeToLive: 1000,\n },\n callbackEvent: this.options.callbackEvent,\n }\n\n this._reportsService.generateReport(input).subscribe(\n (outputDto: GenerateReportOutputDto) => {\n this.reportGenerated.emit(outputDto);\n this.onCancel();\n },\n () => {\n this.loading = false;\n }\n );\n }\n }\n\n public getErrorMessages() {\n return {\n required: this._translate.instant('crmx.angular_components.error_required'),\n };\n }\n\n public onVisibleChange(visible: boolean) {\n if (!visible) {\n this.onCancel();\n }\n }\n\n private _executeObservable(observable: any): Observable<boolean> {\n return new Observable((observer) => {\n observable\n .pipe(\n catchError((err: any) => {\n this.loading = false;\n return throwError(err);\n })\n )\n .subscribe(\n (reports: ReportDto[]) => {\n this._reports = reports;\n\n if (reports.length > 0) {\n this.loading = false;\n this._setValuesDefault();\n observer.next(false);\n } else {\n observer.next(true);\n }\n },\n () => {\n this.loading = false;\n }\n )\n ;\n });\n }\n\n private _setValuesDefault() {\n this.formGroup.controls.reports.setValue(this._reports[0]);\n this.formGroup.controls.format.setValue(this._formatEnum[0]?.value);\n }\n\n private _hasEmpty(target: any) {\n return (Object.keys(target).filter((key) => target[key] === '' || target[key] === undefined).length > 0);\n }\n\n private _validateAllFormFields(formGroup: FormGroup) {\n Object.keys(formGroup.controls).forEach((field) => {\n const control = formGroup.get(field);\n\n if (control instanceof FormControl) {\n control.markAsDirty({ onlySelf: true });\n } else if (control instanceof FormGroup) {\n this._validateAllFormFields(control);\n }\n });\n }\n\n private _getFormGroup(): FormGroup {\n return this._formBuilder.group({\n reports: [{ value: null, disabled: false }, Validators.compose([Validators.required])],\n format: [{ value: null, disabled: false }, Validators.compose([Validators.required])],\n });\n }\n\n private _getFormFields(): FormField[] {\n return [\n new FormField({\n type: FieldType.Autocomplete,\n name: \"reports\",\n label: this._translate.instant('crmx.angular_components.report'),\n size: {xl: 12, lg: 12, md: 12, sm: 12},\n multiple: false,\n dataKey: \"id\",\n appendTo: \"body\",\n emptyMessage: \"Nenhuma sugestão encontrada\",\n displayField: \"name\",\n required: () => true,\n suggestionsObservable: this.reportsObservable,\n onSearch: (val: string) => this.reportsObservable.next(\n this._reports.filter((reportDto: ReportDto) => reportDto.name.match(new RegExp(val, \"ig\")))\n ),\n footer: {\n help: {\n text: this._translate.instant('crmx.angular_components.reports_help', {tag: this.options.tenantReport}),\n icon: 'fa fa-info-circle'\n }\n }\n }),\n new FormField({\n type: FieldType.Enum,\n name: 'format',\n label: this._translate.instant('crmx.angular_components.format'),\n placeholder: this._translate.instant('crmx.angular_components.format_placeholder'),\n size: {xl: 12, lg: 12, md: 12, sm: 12},\n multiple: false,\n required: () => true,\n options: this._formatEnum,\n }),\n ];\n }\n}\n","import { NgModule } from \"@angular/core\";\nimport { FormsModule } from \"@angular/forms\";\nimport { RouterModule } from \"@angular/router\";\nimport { CommonModule } from \"@angular/common\";\nimport { TranslateModule } from \"@ngx-translate/core\";\nimport { SelectButtonModule } from \"primeng/selectbutton\";\nimport { DialogModule } from \"primeng/dialog\";\nimport {\n DynamicFormModule,\n LocaleModule,\n ButtonModule,\n SidebarModule,\n LoadingStateModule,\n} from \"@seniorsistemas/angular-components\";\nimport { ReportsService } from \"./reports.service\";\nimport { ReportsComponent } from \"./reports.component\";\nimport {PanelModule} from \"primeng/panel\";\n\n@NgModule({\n imports: [\n LocaleModule.forChild(),\n FormsModule,\n RouterModule,\n CommonModule,\n TranslateModule,\n SelectButtonModule,\n DialogModule,\n ButtonModule,\n DynamicFormModule,\n SidebarModule,\n PanelModule,\n LoadingStateModule,\n ],\n declarations: [\n ReportsComponent,\n ],\n exports: [\n ReportsComponent,\n ],\n providers: [\n ReportsService,\n ]\n })\nexport class ReportsModule {}\n","import {Component, EventEmitter, Input, OnInit, Output} from \"@angular/core\";\nimport {Message, MessageService} from \"primeng/api\";\nimport {TranslateService} from \"@ngx-translate/core\";\n\n\n@Component({\n selector: 'refresh-websocket-alert',\n templateUrl: './refresh-websocket-alert.component.html',\n styleUrls: [\n './refresh-websocket-alert.component.scss',\n ]\n})\nexport class RefreshWebsocketAlertComponent implements OnInit {\n\n private open = false;\n\n @Input()\n key: string;\n\n @Output()\n closeRefreshSocket: EventEmitter<void> = new EventEmitter<void>();\n\n @Output()\n refresh: EventEmitter<void> = new EventEmitter<void>();\n\n constructor(\n private readonly _messageService: MessageService,\n private readonly _translateService: TranslateService,\n ) {\n }\n\n public ngOnInit(): void {\n this.closeRefreshSocket.subscribe(() => {\n this.open = false;\n });\n\n this.refresh.subscribe(() => {\n this._messageService.clear(this.key);\n this.closeRefreshSocket.emit();\n });\n }\n\n public show(message?: Message): void {\n if (!this.open) {\n this.open = true;\n\n const thisMessage: Message = {\n key: this.key,\n summary: message?.summary || this._translateService.instant('crmx.angular_components.refresh_websocket_alert_summary_default'),\n detail: message?.detail || this._translateService.instant('crmx.angular_components.refresh_websocket_alert_detail_default'),\n severity: message?.severity || 'info',\n life: 10000,\n };\n\n this._messageService.add(thisMessage);\n }\n }\n}\n","import { NgModule } from \"@angular/core\";\nimport { ButtonModule, LocaleModule } from \"@seniorsistemas/angular-components\";\nimport { ToastModule } from \"primeng/toast\";\nimport { RefreshWebsocketAlertComponent } from \"./refresh-websocket-alert.component\";\nimport {TranslateModule} from \"@ngx-translate/core\";\n\n@NgModule({\n imports: [\n LocaleModule.forChild(),\n ButtonModule,\n TranslateModule,\n ToastModule,\n ],\n declarations: [\n RefreshWebsocketAlertComponent,\n ],\n exports: [\n RefreshWebsocketAlertComponent,\n ]\n})\nexport class RefreshWebsocketAlertModule {}\n","export const fallback: any = {\n \"crmx.angular_components.cancel\": \"Cancelar\",\n \"crmx.angular_components.confirm\": \"Gerar\",\n \"crmx.angular_components.error_required\": \"Campo obrigatório\",\n \"crmx.angular_components.error_unauthorized_title\": \"Acesso não autorizado\",\n \"crmx.angular_components.error_unauthorized_description\": \"Você não tem permissão para utilizar o recurso desejado\",\n \"crmx.angular_components.format\": \"Formato\",\n \"crmx.angular_components.format_placeholder\": \"Selecione uma Opção\",\n \"crmx.angular_components.report\": \"Relatório\",\n \"crmx.angular_components.reports_help\": \"Listando todos relatórios com a tag '{{tag}}'\",\n \"crmx.angular_components.reports_title\": \"Gerar Relatório\",\n \"crmx.angular_components.refresh_websocket_alert_click_here\": \"Clique aqui\",\n \"crmx.angular_components.refresh_websocket_alert_detail_default\": \"Para atualizar a tela\",\n \"crmx.angular_components.refresh_websocket_alert_summary_default\": \"Atualização de dados\"\n};\n","import { FieldType } from '@seniorsistemas/angular-components';\n\nconst numberTypes = [FieldType.Integer, FieldType.Double];\nconst numberPattern = /^\\d+\\b$/;\n\nexport const mergeUnique = (array: Array<string>, otherArray: Array<string>) => array.concat(otherArray.filter((item) => !array.includes(item)));\n\nexport const getTypeInformation = (type: FieldType, value: any) => {\n switch (type) {\n case FieldType.Time:\n case FieldType.Date:\n case FieldType.LocalDateTime:\n case FieldType.DateTime:\n return { isValidValue: false, typeExists: true };\n case FieldType.Integer:\n case FieldType.Double:\n return {\n isValidValue: value.match(numberPattern),\n typeExists: numberTypes.includes(type),\n };\n default:\n return {\n isValidValue: value.match(numberPattern),\n typeExists: numberTypes.includes(type),\n };\n }\n};\n\nexport const isValidFilter = (type: FieldType, value: any) => {\n const { isValidValue, typeExists } = getTypeInformation(type, value);\n return !(typeExists && !isValidValue);\n};\n\nexport const getProp = (obj: any, path: any) => {\n return path.split('.').reduce((result: any, prop: any) => (result[prop] === undefined ? '' : result[prop]), obj);\n};\n\nexport const getLabelValueRequest = (contents: any[], displayFields: any[]) => {\n return contents.map((item: any) => ({\n ...item,\n label: displayFields.map((field) => getProp(item, field)).join(' - '),\n }));\n};\n\nexport const getSuggestionValue = (displayFields: string[], ownerEntity: string, value: any, separator: string) => {\n return displayFields.map((field) => getProp(value, `${ownerEntity}.${field}`)).reduce((acc: any, val: any) => `${acc}${separator}${val}`) + '';\n};\n\nexport const getEnumQuery = (name: string, value: any, multiple: boolean = false) => {\n if (multiple) {\n return `(${value.map((selected: any) => `${name} eq '${selected}'`).join(' or ')})`;\n }\n return `${name} eq '${value}'`;\n};\n\nexport const resolveRefs = (payload: any) => {\n const getDataFromRef = (ref: string, rootObj: any) => {\n const regex = /\\[\"(.*?)\"\\]/g;\n const result = [];\n let match;\n\n while ((match = regex.exec(ref)) !== null) {\n result.push(match[1]);\n }\n\n return result.reduce((acc, part) => acc && acc[part], rootObj);\n };\n\n const resolve = (obj: any, rootObj: any) => {\n if (Array.isArray(obj)) {\n obj.forEach((item) => resolve(item, rootObj));\n } else if (obj !== null && typeof obj === 'object') {\n // Remove self-reference to root object\n Object.keys(obj).forEach((key) => {\n if (obj[key] === rootObj) {\n delete obj[key];\n }\n });\n Object.keys(obj).forEach((key) => {\n if (key === '$ref' && obj[key]) {\n const refPath = obj[key];\n Object.assign(obj, getDataFromRef(refPath, rootObj));\n delete obj[key];\n } else {\n resolve(obj[key], rootObj);\n }\n });\n }\n };\n\n resolve(payload, payload);\n\n return payload;\n};\n","import { UserDto } from './user-dto';\nimport { getSuggestionValue } from \"../../../utils/utils\";\n\nexport class User {\n public id?: string;\n public username: string;\n public fullName: string;\n public email: string;\n public photo?: string;\n public blocked: boolean = false;\n public custom?: any;\n public label?: string;\n\n public static fromDto(userDto: UserDto, originEntity?: string): User {\n const model: any = { ...userDto };\n\n const lookupSeparator = ' - ';\n const displayFields = ['username', 'fullName'];\n\n model.label = getSuggestionValue(displayFields, 'user', { user: model }, lookupSeparator);\n\n return model as User;\n }\n\n public static toDto(user: User, originEntity?: string): UserDto {\n const dto: any = { ...user };\n\n delete dto.label;\n\n return dto;\n }\n}\n","import { E070EmpDto } from './e-070-emp-dto';\nimport { getSuggestionValue } from \"../../../utils/utils\";\n\nexport class E070Emp {\n public id?: string;\n public codEmp: string;\n public nomEmp: string;\n public label?: string;\n\n public static fromDto(e070EmpDto: E070EmpDto, originEntity?: string): E070Emp {\n const model: any = { ...e070EmpDto };\n\n const lookupSeparator = ' - ';\n const displayFields = ['codEmp', 'nomEmp'];\n\n model.label = getSuggestionValue(displayFields, 'e070Emp', { e070Emp: model }, lookupSeparator);\n\n return model as E070Emp;\n }\n\n public static toDto(e070Emp: E070Emp, originEntity?: string): E070EmpDto {\n const dto: any = { ...e070Emp };\n\n delete dto.label;\n\n return dto;\n }\n}\n","import { E070Emp } from './e-070-emp';\nimport { E070FilDto } from './e-070-fil-dto';\nimport { getSuggestionValue } from \"../../../utils/utils\";\n\nexport class E070Fil {\n public id?: string;\n public codFil: number;\n public nomFil: string;\n public e070emp: E070Emp;\n public label?: string;\n\n public static fromDto(e070FilDto: E070FilDto, originEntity?: string): E070Fil {\n const model: any = { ...e070FilDto };\n\n const lookupSeparator = ' - ';\n const displayFields = ['e070emp.codEmp', 'e070emp.nomEmp', 'codFil', 'nomFil'];\n\n model.label = getSuggestionValue(displayFields, 'e070Fil', { e070Fil: model }, lookupSeparator);\n\n if (originEntity !== 'E070Emp' && model.e070emp) {\n model.e070emp = E070Emp.fromDto(model.e070emp, 'E070Fil');\n }\n\n return model as E070Fil;\n }\n\n public static toDto(e070Fil: E070Fil, originEntity?: string): E070FilDto {\n const dto: any = { ...e070Fil };\n\n delete dto.label;\n\n if (originEntity !== 'E070Emp' && dto.e070emp) {\n dto.e070emp = E070Emp.toDto(dto.e070emp, 'E070Fil');\n }\n\n return dto;\n }\n}\n","import { E070Fil } from './e-070-fil';\nimport { E070FilCrmxDto } from './e-070-fil-crmx-dto';\nimport { getSuggestionValue } from \"../../../utils/utils\";\n\nexport class E070FilCrmx {\n public id?: string;\n public active: boolean = false;\n public e070fil: E070Fil;\n public label?: string;\n\n public static fromDto(e070FilCrmxDto: E070FilCrmxDto, originEntity?: string): E070FilCrmx {\n const model: any = { ...e070FilCrmxDto };\n\n const lookupSeparator = ' - ';\n const displayFields = ['e070fil.e070emp.codEmp', 'e070fil.e070emp.nomEmp', 'e070fil.codFil', 'e070fil.nomFil'];\n\n model.label = getSuggestionValue(displayFields, 'e070FilCrmx', { e070FilCrmx: model }, lookupSeparator);\n\n if (originEntity !== 'E070Fil' && model.e070fil) {\n model.e070fil = E070Fil.fromDto(model.e070fil, 'E070FilCrmx');\n }\n\n return model as E070FilCrmx;\n }\n\n public static toDto(e070FilCrmx: E070FilCrmx, originEntity?: string): E070FilCrmxDto {\n const dto: any = { ...e070FilCrmx };\n\n delete dto.label;\n\n if (originEntity !== 'E070Fil' && dto.e070fil) {\n dto.e070fil = E070Fil.toDto(dto.e070fil, 'E070FilCrmx');\n }\n\n return dto;\n }\n}\n","import { Collaborator } from './collaborator';\nimport { E070FilCrmx } from './e-070-fil-crmx';\nimport { CollaboratorE070FilCrmxDto } from './collaborator-e-070-fil-crmx-dto';\nimport { getSuggestionValue } from \"../../../utils/utils\";\n\nexport class CollaboratorE070FilCrmx {\n public id?: string;\n public collaborator?: Collaborator;\n public e070filCrmx: E070FilCrmx;\n public master: boolean = false;\n public createdBy?: string;\n public createdAt?: Date;\n public changedBy?: string;\n public changedAt?: Date;\n public custom?: any;\n public label?: string;\n\n public static fromDto(collaboratorE070FilCrmxDto: CollaboratorE070FilCrmxDto, originEntity?: string): CollaboratorE070FilCrmx {\n const model: any = { ...collaboratorE070FilCrmxDto };\n\n const lookupSeparator = ' - ';\n const displayFields = [\n 'e070filCrmx.e070fil.e070emp.codEmp',\n 'e070filCrmx.e070fil.e070emp.nomEmp',\n 'e070filCrmx.e070fil.codFil',\n 'e070filCrmx.e070fil.nomFil'\n ];\n\n model.label = getSuggestionValue(displayFields, 'collaboratorE070FilCrmx', { collaboratorE070FilCrmx: model }, lookupSeparator);\n\n if (originEntity !== 'Collaborator' && model.collaborator) {\n model.collaborator = Collaborator.fromDto(model.collaborator, 'CollaboratorE070FilCrmx');\n }\n\n if (originEntity !== 'E070FilCrmx' && model.e070filCrmx) {\n model.e070filCrmx = E070FilCrmx.fromDto(model.e070filCrmx, 'CollaboratorE070FilCrmx');\n }\n\n return model as CollaboratorE070FilCrmx;\n }\n\n public static toDto(collaboratorE070FilCrmx: CollaboratorE070FilCrmx, originEntity?: string): CollaboratorE070FilCrmxDto {\n const dto: any = { ...collaboratorE070FilCrmx };\n\n delete dto.label;\n\n if (originEntity !== 'Collaborator' && dto.collaborator) {\n dto.collaborator = Collaborator.toDto(dto.collaborator, 'CollaboratorE070FilCrmx');\n }\n\n if (originEntity !== 'E070FilCrmx' && dto.e070filCrmx) {\n dto.e070filCrmx = E070FilCrmx.toDto(dto.e070filCrmx, 'CollaboratorE070FilCrmx');\n }\n\n return dto;\n }\n}\n","import { SquadDto } from './squad-dto';\nimport { getSuggestionValue } from \"../../../utils/utils\";\n\nexport class Squad {\n public id?: string;\n public name: string;\n public createdBy?: string;\n public createdAt?: Date;\n public changedBy?: string;\n public changedAt?: Date;\n public custom?: any;\n public label?: string;\n\n public static fromDto(squadDto: SquadDto, originEntity?: string): Squad {\n const model: any = { ...squadDto };\n\n const lookupSeparator = ' - ';\n const displayFields = ['name'];\n\n model.label = getSuggestionValue(displayFields, 'squad', { squad: model }, lookupSeparator);\n\n return model as Squad;\n }\n\n public static toDto(squad: Squad, originEntity?: string): SquadDto {\n const dto: any = { ...squad };\n\n delete dto.label;\n\n return dto;\n }\n}\n","import { Collaborator } from './collaborator';\nimport { Squad } from './squad';\nimport { CollaboratorSquadDto } from './collaborator-squad-dto';\nimport { getSuggestionValue } from \"../../../utils/utils\";\n\nexport class CollaboratorSquad {\n public id?: string;\n public collaborator?: Collaborator;\n public squad: Squad;\n public createdBy?: string;\n public createdAt?: Date;\n public changedBy?: string;\n public changedAt?: Date;\n public custom?: any;\n public label?: string;\n\n public static fromDto(collaboratorSquadDto: CollaboratorSquadDto, originEntity?: string): CollaboratorSquad {\n const model: any = { ...collaboratorSquadDto };\n\n const lookupSeparator = ' - ';\n const displayFields = ['squad.name'];\n\n model.label = getSuggestionValue(displayFields, 'collaboratorSquad', { collaboratorSquad: model }, lookupSeparator);\n\n if (originEntity !== 'Collaborator' && model.collaborator) {\n model.collaborator = Collaborator.fromDto(model.collaborator, 'CollaboratorSquad');\n }\n\n if (originEntity !== 'Squad' && model.squad) {\n model.squad = Squad.fromDto(model.squad, 'CollaboratorSquad');\n }\n\n return model as CollaboratorSquad;\n }\n\n public static toDto(collaboratorSquad: CollaboratorSquad, originEntity?: string): CollaboratorSquadDto {\n const dto: any = { ...collaboratorSquad };\n\n delete dto.label;\n\n if (originEntity !== 'Collaborator' && dto.collaborator) {\n dto.collaborator = Collaborator.toDto(dto.collaborator, 'CollaboratorSquad');\n }\n\n if (originEntity !== 'Squad' && dto.squad) {\n dto.squad = Squad.toDto(dto.squad, 'CollaboratorSquad');\n }\n\n return dto;\n }\n}\n","import { User } from './user';\nimport { CollaboratorE070FilCrmx } from './collaborator-e-070-fil-crmx';\nimport { CollaboratorSquad } from './collaborator-squad';\nimport { CollaboratorDto } from './collaborator-dto';\nimport { getSuggestionValue } from \"../../../utils/utils\";\n\nexport class Collaborator {\n public id?: string;\n public code: number;\n public user?: User;\n public name: string;\n public email: string;\n public leader?: Collaborator;\n public active: boolean = false;\n public visible: boolean = false;\n public consolidatedLevel?: string;\n public branches?: CollaboratorE070FilCrmx[];\n public squads?: CollaboratorSquad[];\n public createdBy?: string;\n public createdAt?: Date;\n public changedBy?: string;\n public changedAt?: Date;\n public custom?: any;\n public label?: string;\n\n public static fromDto(collaboratorDto: CollaboratorDto, originEntity?: string): Collaborator {\n const model: any = { ...collaboratorDto };\n\n const lookupSeparator = ' - ';\n const displayFields = ['code', 'name'];\n\n model.label = getSuggestionValue(displayFields, 'collaborator', { collaborator: model }, lookupSeparator);\n\n if (originEntity !== 'User' && model.user) {\n model.user = User.fromDto(model.user, 'Collaborator');\n }\n\n if (originEntity !== 'Collaborator' && model.leader) {\n model.leader = Collaborator.fromDto(model.leader, 'Collaborator');\n }\n\n if (originEntity !== 'CollaboratorE070FilCrmx' && model.branches) {\n model.branches = Object.values(model.branches).map((item: any) => {\n item = CollaboratorE070FilCrmx.fromDto(item, 'Collaborator');\n item.collaborator = model;\n return item;\n });\n }\n\n if (originEntity !== 'CollaboratorSquad' && model.squads) {\n model.squads = Object.values(model.squads).map((item: any) => CollaboratorSquad.fromDto(item, 'Collaborator'));\n }\n\n return model as Collaborator;\n }\n\n public static toDto(collaborator: Collaborator, originEntity?: string): CollaboratorDto {\n const dto: any = { ...collaborator };\n\n delete dto.label;\n\n if (originEntity !== 'User' && dto.user) {\n dto.user = User.toDto(dto.user, 'Collaborator');\n }\n\n if (originEntity !== 'Collaborator' && dto.leader) {\n dto.leader = Collaborator.toDto(dto.leader, 'Collaborator');\n }\n\n if (originEntity !== 'CollaboratorE070FilCrmx' && dto.branches) {\n dto.branches = Object.values(dto.branches)\n .map((item: any) => CollaboratorE070FilCrmx.toDto(item, 'Collaborator'))\n .filter((item) => Object.keys(item).length);\n }\n\n if (originEntity !== 'CollaboratorSquad' && dto.squads) {\n dto.squads = Object.values(dto.squads)\n .map((item: any) => CollaboratorSquad.toDto(item, 'Collaborator'))\n .filter((item) => Object.keys(item).length);\n }\n\n return dto;\n }\n}\n","import { ComSeniorTokenDto } from './com-senior-token-dto';\nimport { Injectable } from \"@angular/core\";\nimport { CookieService } from \"ngx-cookie-service\";\nimport { resolveRefs } from \"../../utils/utils\";\n\n@Injectable()\nexport class StorageService {\n\n constructor(\n private readonly cookieService: CookieService\n ) {\n }\n\n public getUser(): any {\n return JSON.parse(localStorage.getItem('SENIOR_USER_INFO')).data;\n }\n\n public getUserId(): string {\n return this.getUser().id;\n }\n\n public store(key: string, value: any) {\n const userId = this.getUserId();\n localStorage.setItem(`${userId}_${key}`, JSON.stringify(resolveRefs(value)));\n }\n\n public get(key: string) {\n const userId = this.getUserId();\n const value = localStorage.getItem(`${userId}_${key}`);\n\n if (value) {\n return JSON.parse(value);\n }\n\n return null;\n }\n\n private getComSeniorToken(): ComSeniorTokenDto {\n return JSON.parse(this.cookieService.get('com.senior.token'));\n }\n\n public getBaseUrl(): string {\n return this.cookieService.get('com.senior.base.url');\n }\n\n public getTenantDomain(): string {\n return this.getComSeniorToken().username.split('@')[1];\n }\n\n public getTenantName(): string {\n return this.getComSeniorToken().tenantName;\n }\n\n public getUsername(): string {\n return this.getComSeniorToken().username.split('@')[0];\n }\n\n public getLogin(): string {\n return this.getComSeniorToken().username;\n }\n\n public getToken(): string {\n return this.getComSeniorToken().access_token;\n }\n\n public isUserAdmin(): boolean {\n return this.getUsername() === 'admin';\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Collaborator, CollaboratorDto, CollaboratorE070FilCrmx } from './models';\nimport { HttpClient } from '@angular/common/http';\nimport { Observable, Subject } from 'rxjs';\nimport { StorageService } from '../storage/storage.service';\nimport { catchError, takeUntil } from 'rxjs/operators';\n\n@Injectable()\nexport class CurrentCollaboratorService {\n private readonly ngUnsubscribe = new Subject();\n\n private readonly COLLABORATOR_KEY: string = 'CRMX_COLLABORATOR';\n\n constructor(\n private readonly http: HttpClient,\n private readonly storageService: StorageService,\n ) {}\n\n public validate() {\n this.call(false).subscribe((collaborator) => {\n if (collaborator.active === false) {\n this.redirect('collaborator-inactive');\n }\n });\n }\n\n public get(): Observable<Collaborator> {\n return this.call(true);\n }\n\n public getE070FilCrmxMaster(): Observable<CollaboratorE070FilCrmx> {\n return new Observable<CollaboratorE070FilCrmx>((observer) => {\n this.call(true).subscribe((collaborator) => {\n const e070FilCrmxMaster = { ...collaborator.branches.find((branch) => branch.master) };\n\n if (e070FilCrmxMaster) {\n e070FilCrmxMaster.collaborator = collaborator;\n\n observer.next(e070FilCrmxMaster);\n }\n\n observer.complete();\n });\n });\n }\n\n private call(useCache: boolean): Observable<Collaborator> {\n return new Observable((observer) => {\n const collaboratorDto = this.storageService.get(this.COLLABORATOR_KEY);\n\n if (collaboratorDto !== null && useCache) {\n observer.next(Collaborator.fromDto(collaboratorDto));\n } else {\n this.http\n .get<CollaboratorDto>('crmx_collaborator/foundation/queries/getCurrentCollaborator')\n .pipe(\n takeUntil(this.ngUnsubscribe),\n catchError((err: any) => {\n const statusCode = 404;\n if (err.status === statusCode) {\n this.redirect('collaborator-not-found');\n }\n throw err;\n })\n )\n .subscribe((collaboratorDto) => {\n this.storageService.store(this.COLLABORATOR_KEY, collaboratorDto);\n observer.next(Collaborator.fromDto(collaboratorDto));\n });\n }\n\n observer.complete();\n });\n }\n\n private redirect(page: string) {\n location.href = `${this.storageService.getBaseUrl()}/gestao-relacionamento/crmx_collaborator/foundation/#/${page}`;\n }\n}\n","import { NgModule } from \"@angular/core\";\nimport { StorageService } from \"./storage.service\";\nimport { CookieService } from \"ngx-cookie-service\";\n\n@NgModule({\n imports: [],\n providers: [\n StorageService,\n CookieService\n ],\n})\nexport class StorageModule {}\n","import { NgModule } from \"@angular/core\";\nimport { CurrentCollaboratorService } from \"./current-collaborator.service\";\nimport { HttpClientModule } from \"@angular/common/http\";\nimport { StorageModule } from \"../storage/storage.module\";\n\n@NgModule({\n imports: [\n HttpClientModule,\n StorageModule,\n ],\n providers: [\n CurrentCollaboratorService,\n ],\n})\nexport class CurrentCollaboratorModule {}\n","\nimport { ModuloDto } from './modulo-dto';\n\nexport class Modulo {\n public id?: string;\n public modulo: string;\n public ativo: boolean;\n\n public static fromDto(moduleDto: ModuloDto, originEntity?: string): Modulo {\n const model: any = { ...moduleDto };\n\n const lookupSeparator = ' - ';\n const displayFields = ['modulo'];\n\n model.label = displayFields.map((field) => model[field]).join(lookupSeparator);\n\n return model as Modulo;\n }\n\n public static toDto(module: Modulo, originEntity?: string): ModuloDto {\n const dto: any = { ...module };\n\n delete dto.label;\n\n return dto;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { Observable, Subject } from \"rxjs\";\nimport { StorageService } from '../storage/storage.service';\nimport { catchError, takeUntil } from 'rxjs/operators';\nimport { Modulo, ModuloDto } from './models';\n\n@Injectable()\nexport class CurrentTenantService {\n private readonly ngUnsubscribe = new Subject();\n\n private readonly ERPX_MODULE_KEY: string = 'ERPX_MODULE';\n\n constructor(\n private readonly http: HttpClient,\n private readonly storageService: StorageService\n ) {}\n\n public validate(): Observable<Modulo> {\n return new Observable((observer) => {\n this.call(false).subscribe((modulo) => {\n if (modulo.ativo === false) {\n this.redirect('module-inactive');\n } else {\n observer.next(modulo);\n observer.complete();\n }\n });\n });\n }\n\n private call(useCache: boolean): Observable<Modulo> {\n return new Observable((observer) => {\n const moduleDto = this.storageService.get(this.ERPX_MODULE_KEY);\n\n if (moduleDto !== null && useCache) {\n observer.next(Modulo.fromDto(moduleDto));\n observer.complete();\n } else {\n this.http\n .get<ResponseModulo>('erpx_fnd/empresa/entities/modulos?filter=modulo%20eq%20%27CRM%27%20and%20ativo%20eq%20%27true%27')\n .pipe(\n takeUntil(this.ngUnsubscribe),\n catchError((err: any) => {\n throw err;\n })\n )\n .subscribe((response: ResponseModulo) => {\n if (response.totalElements === 0) {\n this.redirect('module-inactive');\n } else {\n const moduloDto = response.contents[0];\n this.storageService.store(this.ERPX_MODULE_KEY, moduloDto);\n observer.next(Modulo.fromDto(moduloDto));\n observer.complete();\n }\n });\n }\n });\n }\n\n private redirect(page: string) {\n location.href = `${this.storageService.getBaseUrl()}/gestao-relacionamento/crmx_collaborator/foundation/#/${page}`;\n }\n}\n\nexport interface ResponseModulo {\n totalElements: number;\n totalPages: number;\n contents: ModuloDto[];\n}\n","import { NgModule } from \"@angular/core\";\nimport { CurrentTenantService } from \"./current-tenant.service\";\nimport { HttpClientModule } from \"@angular/common/http\";\nimport { StorageModule } from \"../storage/storage.module\";\n\n@NgModule({\n imports: [\n HttpClientModule,\n StorageModule,\n ],\n providers: [\n CurrentTenantService\n ],\n})\nexport class CurrentTenantModule {}\n","export enum MonthEnum {\n JANUARY = 'JANUARY',\n FEBRUARY = 'FEBRUARY',\n MARCH = 'MARCH',\n APRIL = 'APRIL',\n MAY = 'MAY',\n JUNE = 'JUNE',\n JULY = 'JULY',\n AUGUST = 'AUGUST',\n SEPTEMBER = 'SEPTEMBER',\n OCTOBER = 'OCTOBER',\n NOVEMBER = 'NOVEMBER',\n DECEMBER = 'DECEMBER',\n}\n","export enum OrdinalWeekDayEnum {\n FIRST = 'FIRST',\n SECOND = 'SECOND',\n THIRD = 'THIRD',\n FOURTH = 'FOURTH',\n LAST = 'LAST',\n}\n","export enum RecurrenceEnum {\n DAILY = 'DAILY',\n WEEKLY = 'WEEKLY',\n MONTHLY = 'MONTHLY',\n YEARLY = 'YEARLY',\n}\n","export enum RepeatWhenEnum {\n IN_DAY = 'IN_DAY',\n IN_ORDINAL_WEEK_DAY = 'IN_ORDINAL_WEEK_DAY',\n}\n","export enum WeekDayEnum {\n SUNDAY = 'SUNDAY',\n MONDAY = 'MONDAY',\n TUESDAY = 'TUESDAY',\n WEDNESDAY = 'WEDNESDAY',\n THURSDAY = 'THURSDAY',\n FRIDAY = 'FRIDAY',\n SATURDAY = 'SATURDAY',\n}\n","import { Injectable } from \"@angular/core\";\nimport { FormGroup, Validators } from '@angular/forms';\nimport { takeUntil } from 'rxjs/operators';\nimport { Subject } from 'rxjs';\nimport { RecurrenceEnum, RepeatWhenEnum } from \"./enums\";\n\n@Injectable()\nexport class ScheduleFormRulesService {\n\n constructor() {\n }\n\n private readonly ngUnsubscribe = new Subject();\n\n public recurrencesValueChangeSubscribe(formGroup: FormGroup, formFields: any[]) {\n this.recurrenceValueChangeSubscribe(formGroup, formFields);\n this.repeatWhenValueChangeSubscribe(formGroup, formFields);\n }\n\n public valueChangeSubscribe(formGroup: FormGroup, formFields: any[]) {\n this.allDayValueChangeSubscribe(formGroup, formFields);\n }\n\n private allDayValueChangeSubscribe(formGroup: FormGroup, formFields: any[]) {\n formGroup.controls.allDay.valueChanges.pipe(takeUntil(this.ngUnsubscribe)).subscribe((value: boolean) => {\n const fields = ['startTime', 'endTime'];\n\n if (value) {\n this.disableFields(formGroup, formFields, fields);\n } else {\n this.enableFields(formGroup, formFields, fields);\n }\n });\n }\n\n private recurrenceValueChangeSubscribe(formGroup: FormGroup, formFields: any[]) {\n formGroup.controls.recurrence.valueChanges.pipe(takeUntil(this.ngUnsubscribe)).subscribe((value: RecurrenceEnum) => {\n const fieldsToDisable = ['weekDays', 'repeatWhen', 'repeatWhenDay', 'repeatWhenMonth', 'repeatWhenOrdinalWeekDay', 'repeatWhenWeekMonth'];\n\n this.disableFields(formGroup, formFields, fieldsToDisable);\n\n if (value === RecurrenceEnum.WEEKLY) {\n const fieldWeekDays = formFields.find((field) => field.name === 'weekDays');\n fieldWeekDays.visible = () => true;\n fieldWeekDays.required = () => true;\n\n formGroup.controls.weekDays.setValidators([Validators.required]);\n }\n\n if (value === RecurrenceEnum.MONTHLY || value === RecurrenceEnum.YEARLY) {\n const fieldRepeatWhen = formFields.find((field) => field.name === 'repeatWhen');\n fieldRepeatWhen.visible = () => true;\n fieldRepeatWhen.required = () => true;\n\n formGroup.controls.repeatWhen.setValidators([Validators.required]);\n formGroup.controls.repeatWhen.setValue(RepeatWhenEnum.IN_DAY);\n }\n });\n }\n\n private repeatWhenValueChangeSubscribe(formGroup: FormGroup, formFields: any[]) {\n formGroup.controls.repeatWhen.valueChanges.pipe(takeUntil(this.ngUnsubscribe)).subscribe((value: RepeatWhenEnum) => {\n const fieldsToDisable = ['repeatWhenDay', 'repeatWhenOrdinalWeekDay', 'repeatWhenWeekMonth', 'repeatWhenMonth'];\n\n this.disableFields(formGroup, formFields, fieldsToDisable);\n\n if (value === RepeatWhenEnum.IN_DAY) {\n const fieldRepeatWhenDay = formFields.find((field) => field.name === 'repeatWhenDay');\n fieldRepeatWhenDay.visible = () => true;\n fieldRepeatWhenDay.required = () => true;\n\n formGroup.controls.repeatWhenDay.setValidators([Validators.required]);\n }\n\n if (value === RepeatWhenEnum.IN_ORDINAL_WEEK_DAY) {\n const fieldsToEnable = ['repeatWhenOrdinalWeekDay', 'repeatWhenWeekMonth'];\n this.enableFields(formGroup, formFields, fieldsToEnable);\n }\n\n if (value !== undefined && formGroup.controls.recurrence.value === RecurrenceEnum.YEARLY) {\n const fieldRepeatWhenMonth = formFields.find((field) => field.name === 'repeatWhenMonth');\n fieldRepeatWhenMonth.visible = () => true;\n fieldRepeatWhenMonth.required = () => true;\n\n formGroup.controls.repeatWhenMonth.setValidators([Validators.required]);\n }\n });\n }\n\n private disableFields(formGroup: FormGroup, formFields: any[], fields: string[]) {\n formFields\n .filter((field) => fields.includes(field.name))\n .forEach((field) => {\n field.visible = () => false;\n field.required = () => false;\n });\n\n for (const controlsKey in formGroup.controls) {\n if (fields.includes(controlsKey)) {\n const fieldFormGroup = formGroup.controls[controlsKey] as FormGroup;\n\n fieldFormGroup.setValue(undefined);\n fieldFormGroup.clearValidators();\n fieldFormGroup.setErrors(null);\n }\n }\n }\n\n private enableFields(formGroup: FormGroup, formFields: any[], fields: string[]) {\n formFields\n .filter((field) => fields.includes(field.name))\n .forEach((field) => {\n field.visible = () => true;\n field.required = () => true;\n });\n\n for (const controlsKey in formGroup.controls) {\n if (fields.includes(controlsKey)) {\n const fieldFormGroup = formGroup.controls[controlsKey] as FormGroup;\n fieldFormGroup.setValidators([Validators.required]);\n }\n }\n }\n\n}\n","import { NgModule } from \"@angular/core\";\nimport { ScheduleFormRulesService } from \"./schedule-form-rules.service\";\n\n@NgModule({\n imports: [\n ],\n providers: [\n ScheduleFormRulesService\n ],\n})\nexport class ScheduleFormRulesModule {}\n","import { Injectable } from \"@angular/core\";\nimport { E070Emp, E070Fil } from \"../current-collaborator\";\n\n@Injectable()\nexport class StandardFiltersService {\n\n constructor(\n ) {\n }\n\n public addFilterE070emp(filterQuery: string, alias: string, e070empList: E070Emp[]): string {\n const ids: string[] = Array.from(new Set(e070empList.map(e070emp => e070emp.id)));\n return this.addFilterIn(filterQuery, alias, 'id', ids);\n }\n\n public addFilterE070fil(filterQuery: string, alias: string, e070filList: E070Fil[]): string {\n const ids: string[] = Array.from(new Set(e070filList.map(e070fil => e070fil.id)));\n return this.addFilterIn(filterQuery, alias, 'id', ids);\n }\n\n public addFilterActive(filterQuery: string, alias: string): string {\n const filter = this.addAlias(alias, 'active eq true');\n return this.addFilter(filterQuery, filter);\n }\n\n public addFilter(filterQuery: string, filter: string): string {\n return (filterQuery ? `${filterQuery} and ` : '') + filter;\n }\n\n public addFilterIn(filterQuery: string, alias: string, field: string, values: any[]): string {\n const filters: string[] = values.map(value => `${this.addAlias(alias, field)} eq '${value}'`);\n\n if (filters.length > 0) {\n return this.addFilter(filterQuery, `(${filters.join(' or ')})`);\n }\n\n return '';\n }\n\n private addAlias(alias: string, filter: string): string {\n return (alias ? `${alias}.` : '') + filter;\n }\n}\n\n","import { NgModule } from \"@angular/core\";\nimport { StandardFiltersService } from \"./standard-filters.service\";\n\n@NgModule({\n providers: [\n StandardFiltersService\n ],\n})\nexport class StandardFiltersModule {}\n","import { AbstractControl } from \"@angular/forms\";\n\nexport class FormGroupValidatorsService {\n public static startDataGreaterThanEndDataValidator(endDateField: string, errorMessage: string) {\n const fn = function (control: AbstractControl) {\n if (control.parent) {\n const startDate = new Date(control.value);\n const endDate = new Date(control.parent.controls[endDateField]?.value);\n\n if (startDate > endDate) {\n const rtn = {};\n rtn[errorMessage] = true;\n return rtn;\n }\n }\n\n return null;\n };\n\n return fn;\n }\n\n public static endDateLessThanStartDateValidator(startDateField: string, errorMessage: string) {\n const fn = function(control: AbstractControl) {\n if (control.parent) {\n const startDate = new Date(control.parent.controls[startDateField]?.value);\n const endDate = new Date(control.value);\n\n if (startDate > endDate) {\n const rtn = {};\n rtn[errorMessage] = true;\n return rtn;\n }\n }\n\n return null;\n };\n\n return fn;\n };\n}\n","export class DateValidatorsService {\n public static isLastWeekdayOfMonth(date: Date): boolean {\n const newDate = new Date(date);\n const day = 7;\n newDate.setDate(date.getDate() + day);\n\n return newDate.getMonth() > date.getMonth() || newDate.getFullYear() > date.getFullYear();\n }\n}\n","import { TopicDto } from \"./topic-dto\";\n\nexport class Topic {\n domain: string;\n service: string;\n primitive: string;\n allUsers: boolean;\n\n public static fromDto(topicDto: TopicDto): Topic {\n const topic = new Topic();\n\n Object.assign(topic, topicDto);\n\n return topic;\n }\n\n public getTopic(tenantDomain: string, token?: string): string {\n let topic = '/topic/'.concat(tenantDomain);\n\n if (this.allUsers === false) {\n topic = topic\n .concat('/')\n .concat(token)\n ;\n }\n\n return topic.concat(this.toString());\n }\n\n public toString(): string {\n return '/'\n .concat(this.domain)\n .concat('/')\n .concat(this.service)\n .concat('/')\n .concat(this.primitive)\n ;\n }\n}\n","import { Topic } from \"./topic\";\nimport { EventDto } from \"./event-dto\";\n\nexport class Event extends Topic {\n public callback: (payload: any) => void;\n public originCallback: string;\n\n public static fromDto(eventDto: EventDto): Event {\n const event = new Event();\n\n Object.assign(event, eventDto);\n\n return event;\n }\n\n public match(event: Event): boolean {\n return this.toString() === event.toString()\n && this.originCallback === event.originCallback\n ;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable, Subject } from 'rxjs';\nimport { CompatClient, Stomp } from '@stomp/stompjs';\nimport * as SockJS from 'sockjs-client';\nimport { StorageService } from '../storage/storage.service';\nimport { concatMap } from 'rxjs/operators';\nimport { Router } from \"@angular/router\";\nimport { Event } from \"./models/event\";\nimport { EventDto } from \"./models/event-dto\";\nimport { IMessage } from \"@stomp/stompjs/esm5/i-message\";\n\n@Injectable({\n providedIn: 'root',\n})\nexport class WebsocketService {\n\n private readonly _client: CompatClient = Stomp.over(\n new SockJS (\n this.storageService.getBaseUrl().concat('/websocket/subscription')\n )\n );\n\n private readonly _bindQueue = new Subject<Event>();\n\n private readonly _eventBindingList: Event[] = [];\n\n private readonly _messageQueue: {message: IMessage, event: Event}[] = [];\n\n constructor(\n private readonly router: Router,\n private readonly storageService: StorageService\n ) {\n this._bindQueue.pipe(\n concatMap(event => this._bindObservable(event))\n ).subscribe();\n }\n\n public bind(eventDto: EventDto) {\n eventDto.originCallback = eventDto.originCallback || this.router.url\n this._bindQueue.next(Event.fromDto(eventDto));\n }\n\n private _bindObservable(event: Event): Observable<void> {\n return new Observable<void>(observer => {\n if (this._client.connected) {\n this._registerBind(event);\n this._finishBindObservable(observer);\n } else {\n this._connectClient(event, observer);\n }\n });\n }\n\n private _finishBindObservable(observer: any) {\n observer.next();\n observer.complete();\n }\n\n private _connectClient(event: Event, observer: any) {\n this._client.connect(\n {},\n () => {\n this._registerBind(event);\n this._finishBindObservable(observer);\n },\n () => observer.error(new Error('Websocket connection error!'))\n );\n }\n\n private _registerBind(event: Event) {\n const eventBinding = this._findEventBinding(event);\n\n if (eventBinding) {\n this._remakeBind(event, eventBinding);\n } else {\n this._makeBind(event);\n }\n }\n\n private _remakeBind(event: Event, eventBinding: Event) {\n eventBinding.callback = event.callback;\n\n this._messageQueue\n .filter(messageQueue => messageQueue.event.match(event))\n .forEach(messageQueue => this._executeCallback(messageQueue.message, event));\n }\n\n private _makeBind(event: Event) {\n this._eventBindingList.push(event);\n\n this._client.subscribe(\n event.getTopic(this.storageService.getTenantDomain(), this.storageService.getToken()),\n (message) => this._executeCallback(message, event)\n );\n }\n\n private _executeCallback(message: IMessage, event: Event) {\n const eventBinding = this._findEventBinding(event);\n\n if (eventBinding.originCallback === this.router.url) {\n this._findEventBinding(event).callback(this._resolveRefs(JSON.parse(message.body).data));\n } else {\n this._messageQueue\n .filter(messageQueue => messageQueue.event.match(event))\n .forEach((messageQueue, index) => this._messageQueue.splice(index, 1));\n\n this._messageQueue.push({message, event});\n }\n }\n\n private _findEventBinding(event: Event): Event {\n return this._eventBindingList.find(eventBinding => eventBinding.match(event));\n }\n\n private _resolveRefs(payload: any): any {\n\n const resolve = (obj: any, rootObj: any) => {\n if (Array.isArray(obj)) {\n obj.forEach(item => resolve(item, rootObj));\n }\n\n if (obj !== null && typeof obj === 'object') {\n Object.keys(obj).forEach(key => {\n if (key === '$ref' && obj[key]) {\n const refPath = obj[key]; // Caminho da referência\n Object.assign(obj, getDataFromRef(refPath, rootObj));\n delete obj[key];\n } else {\n resolve(obj[key], rootObj);\n }\n });\n }\n }\n\n const getDataFromRef = (ref: string, rootObj: any) => {\n const regex = /\\[\"(.*?)\"\\]/g;\n const result = [];\n let match;\n\n while ((match = regex.exec(ref)) !== null) {\n result.push(match[1]);\n }\n\n return result.reduce((acc, part) => acc && acc[part], rootObj);\n }\n\n resolve(payload, payload);\n\n return payload;\n }\n}\n","import { NgModule } from \"@angular/core\";\nimport { WebsocketService } from \"./websocket.service\";\nimport { RouterModule } from \"@angular/router\";\n\n@NgModule({\n imports: [\n RouterModule,\n ],\n providers: [\n WebsocketService,\n ]\n})\nexport class WebsocketModule {}\n","\nexport class StringConverterService {\n\n public static toUnderscore(camelCase: string): string {\n const regex: RegExp = /([a-z])([A-Z])/g;\n return camelCase.replace(regex, '$1_$2').toLowerCase();\n }\n}\n","import { distinctUntilChanged } from \"rxjs/operators\";\nimport { Observable } from \"rxjs\";\n\nexport class ValueChangesService {\n\n public static pipeDefault(control: any): Observable<any> {\n return control.valueChanges.pipe(distinctUntilChanged());\n }\n}\n\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n\nexport {StorageModule as ɵa} from './services/storage/storage.module';"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;IAAY;AAAZ,WAAY,UAAU;IAClB,yBAAW,CAAA;IACX,yBAAW,CAAA;IACX,2BAAa,CAAA;IACb,2BAAa,CAAA;IACb,yBAAW,CAAA;IACX,yBAAW,CAAA;IACX,yBAAW,CAAA;AACf,CAAC,EARW,UAAU,KAAV,UAAU;;ICAV,YAGX;AAHD,WAAY,YAAY;IACpB,mCAAkB,CAAA;IAClB,iCAAgB,CAAA;AACpB,CAAC,EAHW,YAAY,KAAZ,YAAY,QAGvB;;;ICcG,wBACqB,WAAuB,EACvB,UAA4B,EAC5B,eAA+B;QAF/B,gBAAW,GAAX,WAAW,CAAY;QACvB,eAAU,GAAV,UAAU,CAAkB;QAC5B,oBAAe,GAAf,eAAe,CAAgB;QANnC,6BAAwB,GAAW,yBAAyB,CAAC;QAC7D,yBAAoB,GAAW,qBAAqB,CAAC;KAMlE;IAEG,oCAAW,GAAlB,UAAmB,GAAW,EAAE,GAAc;QAC1C,IAAI,MAAM,GAAI,IAAI,UAAU,EAAE,CAAC;QAC/B,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC;QAE3C,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAA2B,IAAI,CAAC,wBAAwB,iBAAc,EAAE,EAAC,MAAM,QAAA,EAAC,CAAC,CAAC,IAAI,CAC7G,GAAG,CAAC,UAAC,QAA+B,IAAK,OAAA,QAAQ,CAAC,OAAO,CAAC,MAAM,CACxD,UAAC,MAAiB,IAAK,OAAA,GAAG,GAAG,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,IAAI,GAAA,CAClE,GAAA,CAAC,EACF,IAAI,CAAC,YAAY,EAAE,CACtB,CAAC;KACL;IAEM,wCAAe,GAAtB,UAAuB,GAAW;QAC9B,IAAI,MAAM,GAAI,IAAI,UAAU,EAAE,CAAC;QAC/B,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC;QAG3C,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAA2B,IAAI,CAAC,wBAAwB,uBAAoB,EAAE,EAAE,MAAM,QAAA,EAAE,CAAC,CAAC,IAAI,CACrH,GAAG,CAAC,UAAC,QAA+B;YAChC,OAAO,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,UAAC,MAAiB,IAAK,OAAA,MAAM,CAAC,OAAO,GAAA,CAAC,CAAC;SACzE,CAAC,EACF,IAAI,CAAC,YAAY,EAAE,CACtB,CAAC;KACL;IAEM,uCAAc,GAArB,UAAsB,QAAgC;QAClD,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAA6B,IAAI,CAAC,oBAAoB,oBAAiB,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;KAC5I;IAEM,qCAAY,GAAnB;QAAA,iBAiCC;QAhCG,OAAO,UAAU,CAAC,UAAC,GAAQ;YACvB,IAAI,GAAG,EAAE;gBACL,IAAI,OAAO,GAAG,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC;gBACxD,IAAI,MAAM,SAAA,CAAC;gBAEX,IAAI,GAAG,CAAC,KAAK,IAAI,GAAG,CAAC,KAAK,CAAC,OAAO,EAAE;oBAChC,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC;iBAC9B;qBAAM,IAAI,GAAG,CAAC,UAAU,EAAE;oBACvB,MAAM,GAAG,GAAG,CAAC,UAAU,CAAC;iBAC3B;qBAAM,IAAI,GAAG,CAAC,OAAO,EAAE;oBACpB,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC;iBACxB;qBAAM;oBACH,MAAM,GAAG,OAAO,CAAC;iBACpB;gBAED,IAAM,iBAAiB,GAAG,GAAG,CAAC;gBAE9B,IAAI,GAAG,CAAC,MAAM,KAAK,iBAAiB,EAAE;oBAClC,OAAO,GAAG,KAAI,CAAC,UAAU,CAAC,OAAO,CAAC,kDAAkD,CAAC,CAAC;oBACtF,MAAM,GAAG,KAAI,CAAC,UAAU,CAAC,OAAO,CAAC,wDAAwD,CAAC,CAAC;iBAC9F;gBAED,KAAI,CAAC,eAAe,CAAC,GAAG,CAAC;oBACrB,QAAQ,EAAE,OAAO;oBACjB,OAAO,SAAA;oBACP,MAAM,QAAA;oBACN,MAAM,EAAE,IAAI;iBACf,CAAC,CAAC;aACN;YAED,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC;SAC1B,CAAC,CAAC;KACN;;gBAnEiC,UAAU;gBACX,gBAAgB;gBACX,cAAc;;IAR3C,cAAc;QAD1B,UAAU,EAAE;OACA,cAAc,CA0E1B;IAAD,qBAAC;CA1ED;;;IC6CI,0BACqB,UAA4B,EAC5B,YAAyB,EACzB,eAA+B;QAF/B,eAAU,GAAV,UAAU,CAAkB;QAC5B,iBAAY,GAAZ,YAAY,CAAa;QACzB,oBAAe,GAAf,eAAe,CAAgB;QAzB7C,eAAU,GAAgB,EAAE,CAAC;QAG7B,kBAAa,GAA0B,IAAI,YAAY,EAAW,CAAC;QAGnE,oBAAe,GAA0C,IAAI,YAAY,EAA2B,CAAC;QAMrG,sBAAiB,GAAyB,IAAI,eAAe,CAAC,EAAE,CAAC,CAAC;QAEzD,iBAAY,GAAG,YAAY,CAAC;QAErC,YAAO,GAAG,KAAK,CAAC;QAEf,aAAQ,GAAgB,EAAE,CAAC;QAE3B,gBAAW,GAAU,EAAE,CAAC;KAM5B;IAEG,sCAAW,GAAlB,UAAmB,OAAsB;QAAzC,iBA0BC;QAzBG,IAAI,IAAI,CAAC,OAAO,EAAE;YACd,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,uCAAuC,CAAC,CAAC;YAE9G,IAAI,CAAC,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC,OAAO,CAAC,kBAAkB,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,iCAAiC,CAAC,CAAC;YAEhI,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC;iBACrC,MAAM,CAAC,UAAA,GAAG,IAAI,OAAA,CAAC,KAAI,CAAC,OAAO,CAAC,OAAO,IAAI,KAAI,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,GAAA,CAAC;iBACtF,GAAG,CAAC,UAAA,GAAG,IAAI,QAAC,EAAE,KAAK,EAAE,GAAG,CAAC,WAAW,EAAE,EAAE,KAAK,EAAE,UAAU,CAAC,GAAG,CAAC,EAAE,IAAC,CAAC,CAAC;YAExE,IAAI,IAAI,CAAC,OAAO,EAAE;gBACd,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;gBAEpB,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,IAAI,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;qBAC5G,SAAS,CAAC,UAAC,UAAmB;oBAC3B,IAAI,UAAU,EAAE;wBACZ,KAAI,CAAC,kBAAkB,CAAC,KAAI,CAAC,eAAe,CAAC,eAAe,CAAC,KAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;6BACnF,SAAS,CAAC,UAAC,UAAmB;4BAC3B,KAAI,CAAC,OAAO,GAAG,KAAK,CAAC;yBACxB,CAAC,CACL;qBACJ;iBACJ,CAAC,CACL;aACJ;SACJ;KACJ;IAEM,mCAAQ,GAAf;QACI,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QACtC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;KAC3C;IAEM,mCAAQ,GAAf;QACI,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;QAEvB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;KACzC;IAEM,oCAAS,GAAhB;QAAA,iBAiCC;QAhCG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC;QAC1C,IAAI,OAAO,GAAG,IAAI,CAAC;QAEnB,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,UAAC,SAAoB,IAAK,OAAA,OAAO,GAAG,OAAO,IAAI,SAAS,CAAC,KAAK,GAAA,CAAC,CAAC;QAExF,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,IAAI,CAAC,OAAO,EAAE;YACnC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;YACrB,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAE5C,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;SACxD;aAAM;YACH,IAAM,KAAK,GAA2B;gBAClC,MAAM,EAAE;oBACJ,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE;oBACnB,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,gBAAgB;oBACzC,MAAM,EAAE,IAAI,CAAC,MAAM;oBACnB,UAAU,EAAE,IAAI;iBACnB;gBACD,aAAa,EAAE,IAAI,CAAC,OAAO,CAAC,aAAa;aAC5C,CAAA;YAED,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,SAAS,CAChD,UAAC,SAAkC;gBAC/B,KAAI,CAAC,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBACrC,KAAI,CAAC,QAAQ,EAAE,CAAC;aACnB,EACD;gBACI,KAAI,CAAC,OAAO,GAAG,KAAK,CAAC;aACxB,CACJ,CAAC;SACL;KACJ;IAEM,2CAAgB,GAAvB;QACI,OAAO;YACH,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,wCAAwC,CAAC;SAC9E,CAAC;KACL;IAEM,0CAAe,GAAtB,UAAuB,OAAgB;QACnC,IAAI,CAAC,OAAO,EAAE;YACV,IAAI,CAAC,QAAQ,EAAE,CAAC;SACnB;KACJ;IAEO,6CAAkB,GAA1B,UAA2B,UAAe;QAA1C,iBA2BC;QA1BG,OAAO,IAAI,UAAU,CAAC,UAAC,QAAQ;YAC3B,UAAU;iBACL,IAAI,CACD,UAAU,CAAC,UAAC,GAAQ;gBAChB,KAAI,CAAC,OAAO,GAAG,KAAK,CAAC;gBACrB,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC;aAC1B,CAAC,CACL;iBACA,SAAS,CACN,UAAC,OAAoB;gBACjB,KAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;gBAExB,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;oBACpB,KAAI,CAAC,OAAO,GAAG,KAAK,CAAC;oBACrB,KAAI,CAAC,iBAAiB,EAAE,CAAC;oBACzB,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;iBACxB;qBAAM;oBACH,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;iBACvB;aACJ,EACD;gBACI,KAAI,CAAC,OAAO,GAAG,KAAK,CAAC;aACxB,CACJ,CACJ;SACJ,CAAC,CAAC;KACN;IAEO,4CAAiB,GAAzB;;QACI,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3D,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,OAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,0CAAE,KAAK,CAAC,CAAC;KACvE;IAEO,oCAAS,GAAjB,UAAkB,MAAW;QACzB,QAAQ,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,UAAC,GAAG,IAAK,OAAA,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,MAAM,CAAC,GAAG,CAAC,KAAK,SAAS,GAAA,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;KAC5G;IAEO,iDAAsB,GAA9B,UAA+B,SAAoB;QAAnD,iBAUC;QATG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,UAAC,KAAK;YAC1C,IAAM,OAAO,GAAG,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAErC,IAAI,OAAO,YAAY,WAAW,EAAE;gBAChC,OAAO,CAAC,WAAW,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;aAC3C;iBAAM,IAAI,OAAO,YAAY,SAAS,EAAE;gBACrC,KAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC;aACxC;SACJ,CAAC,CAAC;KACN;IAEO,wCAAa,GAArB;QACI,OAAO,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC;YAC3B,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YACtF,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;SACxF,CAAC,CAAC;KACN;IAEO,yCAAc,GAAtB;QAAA,iBAmCC;QAlCG,OAAO;YACH,IAAI,SAAS,CAAC;gBACV,IAAI,EAAE,SAAS,CAAC,YAAY;gBAC5B,IAAI,EAAE,SAAS;gBACf,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,gCAAgC,CAAC;gBAChE,IAAI,EAAE,EAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAC;gBACtC,QAAQ,EAAE,KAAK;gBACf,OAAO,EAAE,IAAI;gBACb,QAAQ,EAAE,MAAM;gBAChB,YAAY,EAAE,6BAA6B;gBAC3C,YAAY,EAAE,MAAM;gBACpB,QAAQ,EAAE,cAAM,OAAA,IAAI,GAAA;gBACpB,qBAAqB,EAAE,IAAI,CAAC,iBAAiB;gBAC7C,QAAQ,EAAE,UAAC,GAAW,IAAK,OAAA,KAAI,CAAC,iBAAiB,CAAC,IAAI,CAClD,KAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAC,SAAoB,IAAK,OAAA,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,GAAA,CAAC,CAC9F,GAAA;gBACD,MAAM,EAAE;oBACJ,IAAI,EAAE;wBACF,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,sCAAsC,EAAE,EAAC,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,YAAY,EAAC,CAAC;wBACvG,IAAI,EAAE,mBAAmB;qBAC5B;iBACJ;aACJ,CAAC;YACF,IAAI,SAAS,CAAC;gBACV,IAAI,EAAE,SAAS,CAAC,IAAI;gBACpB,IAAI,EAAE,QAAQ;gBACd,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,gCAAgC,CAAC;gBAChE,WAAW,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,4CAA4C,CAAC;gBAClF,IAAI,EAAE,EAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAC;gBACtC,QAAQ,EAAE,KAAK;gBACf,QAAQ,EAAE,cAAM,OAAA,IAAI,GAAA;gBACpB,OAAO,EAAE,IAAI,CAAC,WAAW;aAC5B,CAAC;SACL,CAAC;KACL;;gBAxLgC,gBAAgB;gBACd,WAAW;gBACR,cAAc;;IA/BpD;QADC,KAAK,EAAE;qDACgB;IAGxB;QADC,KAAK,EAAE;qDACuB;IAG/B;QADC,KAAK,EAAE;wDAC4B;IAGpC;QADC,MAAM,EAAE;2DACiE;IAG1E;QADC,MAAM,EAAE;6DACmG;IAfnG,gBAAgB;QAL5B,SAAS,CAAC;YACP,QAAQ,EAAE,QAAQ;YAClB,ktEAAuC;SAE1C,CAAC;OACW,gBAAgB,CAyN5B;IAAD,uBAAC;CAzND;;;ICiBA;KAA6B;IAAhB,aAAa;QAzBzB,QAAQ,CAAC;YACN,OAAO,EAAE;gBACL,YAAY,CAAC,QAAQ,EAAE;gBACvB,WAAW;gBACX,YAAY;gBACZ,YAAY;gBACZ,eAAe;gBACf,kBAAkB;gBAClB,YAAY;gBACZ,YAAY;gBACZ,iBAAiB;gBACjB,aAAa;gBACb,WAAW;gBACX,kBAAkB;aACrB;YACD,YAAY,EAAE;gBACV,gBAAgB;aACnB;YACD,OAAO,EAAE;gBACL,gBAAgB;aACnB;YACD,SAAS,EAAE;gBACP,cAAc;aACjB;SACH,CAAC;OACU,aAAa,CAAG;IAAD,oBAAC;CAA7B;;;IClBI,wCACqB,eAA+B,EAC/B,iBAAmC;QADnC,oBAAe,GAAf,eAAe,CAAgB;QAC/B,sBAAiB,GAAjB,iBAAiB,CAAkB;QAbhD,SAAI,GAAG,KAAK,CAAC;QAMrB,uBAAkB,GAAuB,IAAI,YAAY,EAAQ,CAAC;QAGlE,YAAO,GAAuB,IAAI,YAAY,EAAQ,CAAC;KAMtD;IAEM,iDAAQ,GAAf;QAAA,iBASC;QARG,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC;YAC9B,KAAI,CAAC,IAAI,GAAG,KAAK,CAAC;SACrB,CAAC,CAAC;QAEH,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC;YACnB,KAAI,CAAC,eAAe,CAAC,KAAK,CAAC,KAAI,CAAC,GAAG,CAAC,CAAC;YACrC,KAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,CAAC;SAClC,CAAC,CAAC;KACN;IAEM,6CAAI,GAAX,UAAY,OAAiB;QACzB,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;YACZ,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YAEjB,IAAM,WAAW,GAAY;gBACzB,GAAG,EAAE,IAAI,CAAC,GAAG;gBACb,OAAO,EAAE,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,KAAI,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,iEAAiE,CAAC;gBAC9H,MAAM,EAAE,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,KAAI,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,gEAAgE,CAAC;gBAC3H,QAAQ,EAAE,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,QAAQ,KAAI,MAAM;gBACrC,IAAI,EAAE,KAAK;aACd,CAAC;YAEF,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;SACzC;KACJ;;gBA9BqC,cAAc;gBACZ,gBAAgB;;IAVxD;QADC,KAAK,EAAE;+DACI;IAGZ;QADC,MAAM,EAAE;8EACyD;IAGlE;QADC,MAAM,EAAE;mEAC8C;IAX9C,8BAA8B;QAP1C,SAAS,CAAC;YACP,QAAQ,EAAE,yBAAyB;YACnC,gxBAAuD;;SAI1D,CAAC;OACW,8BAA8B,CA6C1C;IAAD,qCAAC;CA7CD;;;ICQA;KAA2C;IAA9B,2BAA2B;QAdvC,QAAQ,CAAC;YACN,OAAO,EAAE;gBACL,YAAY,CAAC,QAAQ,EAAE;gBACvB,YAAY;gBACZ,eAAe;gBACf,WAAW;aACd;YACD,YAAY,EAAE;gBACV,8BAA8B;aACjC;YACD,OAAO,EAAE;gBACL,8BAA8B;aACjC;SACJ,CAAC;OACW,2BAA2B,CAAG;IAAD,kCAAC;CAA3C;;ICpBa,QAAQ,GAAQ;IACzB,gCAAgC,EAAE,UAAU;IAC5C,iCAAiC,EAAE,OAAO;IAC1C,wCAAwC,EAAE,mBAAmB;IAC7D,kDAAkD,EAAE,uBAAuB;IAC3E,wDAAwD,EAAE,yDAAyD;IACnH,gCAAgC,EAAE,SAAS;IAC3C,4CAA4C,EAAE,qBAAqB;IACnE,gCAAgC,EAAE,WAAW;IAC7C,sCAAsC,EAAE,+CAA+C;IACvF,uCAAuC,EAAE,iBAAiB;IAC1D,4DAA4D,EAAE,aAAa;IAC3E,gEAAgE,EAAE,uBAAuB;IACzF,iEAAiE,EAAE,sBAAsB;CAC5F;;ACZD,IAAM,WAAW,GAAG,CAAC,SAAS,CAAC,OAAO,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;AAC1D,IAAM,aAAa,GAAG,SAAS,CAAC;AAEhC,IAAa,WAAW,GAAG,UAAC,KAAoB,EAAE,UAAyB,IAAK,OAAA,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,UAAC,IAAI,IAAK,OAAA,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAA,CAAC,CAAC,GAAA,CAAC;AAEjJ,IAAa,kBAAkB,GAAG,UAAC,IAAe,EAAE,KAAU;IAC1D,QAAQ,IAAI;QACR,KAAK,SAAS,CAAC,IAAI,CAAC;QACpB,KAAK,SAAS,CAAC,IAAI,CAAC;QACpB,KAAK,SAAS,CAAC,aAAa,CAAC;QAC7B,KAAK,SAAS,CAAC,QAAQ;YACnB,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;QACrD,KAAK,SAAS,CAAC,OAAO,CAAC;QACvB,KAAK,SAAS,CAAC,MAAM;YACjB,OAAO;gBACH,YAAY,EAAE,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC;gBACxC,UAAU,EAAE,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC;aACzC,CAAC;QACN;YACI,OAAO;gBACH,YAAY,EAAE,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC;gBACxC,UAAU,EAAE,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC;aACzC,CAAC;KACT;AACL,CAAC,CAAC;AAEF,IAAa,aAAa,GAAG,UAAC,IAAe,EAAE,KAAU;IAC/C,IAAA,oCAA8D,EAA5D,8BAAY,EAAE,0BAA8C,CAAC;IACrE,OAAO,EAAE,UAAU,IAAI,CAAC,YAAY,CAAC,CAAC;AAC1C,CAAC,CAAC;AAEF,IAAa,OAAO,GAAG,UAAC,GAAQ,EAAE,IAAS;IACvC,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,UAAC,MAAW,EAAE,IAAS,IAAK,QAAC,MAAM,CAAC,IAAI,CAAC,KAAK,SAAS,GAAG,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,IAAC,EAAE,GAAG,CAAC,CAAC;AACrH,CAAC,CAAC;AAEF,IAAa,oBAAoB,GAAG,UAAC,QAAe,EAAE,aAAoB;IACtE,OAAO,QAAQ,CAAC,GAAG,CAAC,UAAC,IAAS,IAAK,8BAC5B,IAAI,KACP,KAAK,EAAE,aAAa,CAAC,GAAG,CAAC,UAAC,KAAK,IAAK,OAAA,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,GAAA,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OACvE,CAAC,CAAC;AACR,CAAC,CAAC;AAEF,IAAa,kBAAkB,GAAG,UAAC,aAAuB,EAAE,WAAmB,EAAE,KAAU,EAAE,SAAiB;IAC1G,OAAO,aAAa,CAAC,GAAG,CAAC,UAAC,KAAK,IAAK,OAAA,OAAO,CAAC,KAAK,EAAK,WAAW,SAAI,KAAO,CAAC,GAAA,CAAC,CAAC,MAAM,CAAC,UAAC,GAAQ,EAAE,GAAQ,IAAK,OAAA,KAAG,GAAG,GAAG,SAAS,GAAG,GAAK,GAAA,CAAC,GAAG,EAAE,CAAC;AACnJ,CAAC,CAAC;AAEF,IAAa,YAAY,GAAG,UAAC,IAAY,EAAE,KAAU,EAAE,QAAyB;IAAzB,yBAAA,EAAA,gBAAyB;IAC5E,IAAI,QAAQ,EAAE;QACV,OAAO,MAAI,KAAK,CAAC,GAAG,CAAC,UAAC,QAAa,IAAK,OAAG,IAAI,aAAQ,QAAQ,MAAG,GAAA,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,MAAG,CAAC;KACvF;IACD,OAAU,IAAI,aAAQ,KAAK,MAAG,CAAC;AACnC,CAAC,CAAC;AAEF,IAAa,WAAW,GAAG,UAAC,OAAY;IACpC,IAAM,cAAc,GAAG,UAAC,GAAW,EAAE,OAAY;QAC7C,IAAM,KAAK,GAAG,cAAc,CAAC;QAC7B,IAAM,MAAM,GAAG,EAAE,CAAC;QAClB,IAAI,KAAK,CAAC;QAEV,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,IAAI,EAAE;YACvC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;SACzB;QAED,OAAO,MAAM,CAAC,MAAM,CAAC,UAAC,GAAG,EAAE,IAAI,IAAK,OAAA,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,GAAA,EAAE,OAAO,CAAC,CAAC;KAClE,CAAC;IAEF,IAAM,OAAO,GAAG,UAAC,GAAQ,EAAE,OAAY;QACnC,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;YACpB,GAAG,CAAC,OAAO,CAAC,UAAC,IAAI,IAAK,OAAA,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,GAAA,CAAC,CAAC;SACjD;aAAM,IAAI,GAAG,KAAK,IAAI,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;;YAEhD,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,UAAC,GAAG;gBACzB,IAAI,GAAG,CAAC,GAAG,CAAC,KAAK,OAAO,EAAE;oBACtB,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC;iBACnB;aACJ,CAAC,CAAC;YACH,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,UAAC,GAAG;gBACzB,IAAI,GAAG,KAAK,MAAM,IAAI,GAAG,CAAC,GAAG,CAAC,EAAE;oBAC5B,IAAM,OAAO,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;oBACzB,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;oBACrD,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC;iBACnB;qBAAM;oBACH,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,CAAC;iBAC9B;aACJ,CAAC,CAAC;SACN;KACJ,CAAC;IAEF,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAE1B,OAAO,OAAO,CAAC;AACnB,CAAC;;;IC1FD;QAMW,YAAO,GAAY,KAAK,CAAC;KAsBnC;IAlBiB,YAAO,GAArB,UAAsB,OAAgB,EAAE,YAAqB;QACzD,IAAM,KAAK,gBAAa,OAAO,CAAE,CAAC;QAElC,IAAM,eAAe,GAAG,KAAK,CAAC;QAC9B,IAAM,aAAa,GAAG,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;QAE/C,KAAK,CAAC,KAAK,GAAG,kBAAkB,CAAC,aAAa,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,eAAe,CAAC,CAAC;QAE1F,OAAO,KAAa,CAAC;KACxB;IAEa,UAAK,GAAnB,UAAoB,IAAU,EAAE,YAAqB;QACjD,IAAM,GAAG,gBAAa,IAAI,CAAE,CAAC;QAE7B,OAAO,GAAG,CAAC,KAAK,CAAC;QAEjB,OAAO,GAAG,CAAC;KACd;IACL,WAAC;AAAD,CAAC;;;IC5BD;KAwBC;IAlBiB,eAAO,GAArB,UAAsB,UAAsB,EAAE,YAAqB;QAC/D,IAAM,KAAK,gBAAa,UAAU,CAAE,CAAC;QAErC,IAAM,eAAe,GAAG,KAAK,CAAC;QAC9B,IAAM,aAAa,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAE3C,KAAK,CAAC,KAAK,GAAG,kBAAkB,CAAC,aAAa,EAAE,SAAS,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,eAAe,CAAC,CAAC;QAEhG,OAAO,KAAgB,CAAC;KAC3B;IAEa,aAAK,GAAnB,UAAoB,OAAgB,EAAE,YAAqB;QACvD,IAAM,GAAG,gBAAa,OAAO,CAAE,CAAC;QAEhC,OAAO,GAAG,CAAC,KAAK,CAAC;QAEjB,OAAO,GAAG,CAAC;KACd;IACL,cAAC;AAAD,CAAC;;;ICvBD;KAiCC;IA1BiB,eAAO,GAArB,UAAsB,UAAsB,EAAE,YAAqB;QAC/D,IAAM,KAAK,gBAAa,UAAU,CAAE,CAAC;QAErC,IAAM,eAAe,GAAG,KAAK,CAAC;QAC9B,IAAM,aAAa,GAAG,CAAC,gBAAgB,EAAE,gBAAgB,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAE/E,KAAK,CAAC,KAAK,GAAG,kBAAkB,CAAC,aAAa,EAAE,SAAS,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,eAAe,CAAC,CAAC;QAEhG,IAAI,YAAY,KAAK,SAAS,IAAI,KAAK,CAAC,OAAO,EAAE;YAC7C,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;SAC7D;QAED,OAAO,KAAgB,CAAC;KAC3B;IAEa,aAAK,GAAnB,UAAoB,OAAgB,EAAE,YAAqB;QACvD,IAAM,GAAG,gBAAa,OAAO,CAAE,CAAC;QAEhC,OAAO,GAAG,CAAC,KAAK,CAAC;QAEjB,IAAI,YAAY,KAAK,SAAS,IAAI,GAAG,CAAC,OAAO,EAAE;YAC3C,GAAG,CAAC,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;SACvD;QAED,OAAO,GAAG,CAAC;KACd;IACL,cAAC;AAAD,CAAC;;;ICjCD;QAEW,WAAM,GAAY,KAAK,CAAC;KA8BlC;IA1BiB,mBAAO,GAArB,UAAsB,cAA8B,EAAE,YAAqB;QACvE,IAAM,KAAK,gBAAa,cAAc,CAAE,CAAC;QAEzC,IAAM,eAAe,GAAG,KAAK,CAAC;QAC9B,IAAM,aAAa,GAAG,CAAC,wBAAwB,EAAE,wBAAwB,EAAE,gBAAgB,EAAE,gBAAgB,CAAC,CAAC;QAE/G,KAAK,CAAC,KAAK,GAAG,kBAAkB,CAAC,aAAa,EAAE,aAAa,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,EAAE,eAAe,CAAC,CAAC;QAExG,IAAI,YAAY,KAAK,SAAS,IAAI,KAAK,CAAC,OAAO,EAAE;YAC7C,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;SACjE;QAED,OAAO,KAAoB,CAAC;KAC/B;IAEa,iBAAK,GAAnB,UAAoB,WAAwB,EAAE,YAAqB;QAC/D,IAAM,GAAG,gBAAa,WAAW,CAAE,CAAC;QAEpC,OAAO,GAAG,CAAC,KAAK,CAAC;QAEjB,IAAI,YAAY,KAAK,SAAS,IAAI,GAAG,CAAC,OAAO,EAAE;YAC3C,GAAG,CAAC,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;SAC3D;QAED,OAAO,GAAG,CAAC;KACd;IACL,kBAAC;AAAD,CAAC;;;IC/BD;QAIW,WAAM,GAAY,KAAK,CAAC;KA+ClC;IAvCiB,+BAAO,GAArB,UAAsB,0BAAsD,EAAE,YAAqB;QAC/F,IAAM,KAAK,gBAAa,0BAA0B,CAAE,CAAC;QAErD,IAAM,eAAe,GAAG,KAAK,CAAC;QAC9B,IAAM,aAAa,GAAG;YAClB,oCAAoC;YACpC,oCAAoC;YACpC,4BAA4B;YAC5B,4BAA4B;SAC/B,CAAC;QAEF,KAAK,CAAC,KAAK,GAAG,kBAAkB,CAAC,aAAa,EAAE,yBAAyB,EAAE,EAAE,uBAAuB,EAAE,KAAK,EAAE,EAAE,eAAe,CAAC,CAAC;QAEhI,IAAI,YAAY,KAAK,cAAc,IAAI,KAAK,CAAC,YAAY,EAAE;YACvD,KAAK,CAAC,YAAY,GAAG,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,YAAY,EAAE,yBAAyB,CAAC,CAAC;SAC5F;QAED,IAAI,YAAY,KAAK,aAAa,IAAI,KAAK,CAAC,WAAW,EAAE;YACrD,KAAK,CAAC,WAAW,GAAG,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,EAAE,yBAAyB,CAAC,CAAC;SACzF;QAED,OAAO,KAAgC,CAAC;KAC3C;IAEa,6BAAK,GAAnB,UAAoB,uBAAgD,EAAE,YAAqB;QACvF,IAAM,GAAG,gBAAa,uBAAuB,CAAE,CAAC;QAEhD,OAAO,GAAG,CAAC,KAAK,CAAC;QAEjB,IAAI,YAAY,KAAK,cAAc,IAAI,GAAG,CAAC,YAAY,EAAE;YACrD,GAAG,CAAC,YAAY,GAAG,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,YAAY,EAAE,yBAAyB,CAAC,CAAC;SACtF;QAED,IAAI,YAAY,KAAK,aAAa,IAAI,GAAG,CAAC,WAAW,EAAE;YACnD,GAAG,CAAC,WAAW,GAAG,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,EAAE,yBAAyB,CAAC,CAAC;SACnF;QAED,OAAO,GAAG,CAAC;KACd;IACL,8BAAC;AAAD,CAAC;;;ICrDD;KA4BC;IAlBiB,aAAO,GAArB,UAAsB,QAAkB,EAAE,YAAqB;QAC3D,IAAM,KAAK,gBAAa,QAAQ,CAAE,CAAC;QAEnC,IAAM,eAAe,GAAG,KAAK,CAAC;QAC9B,IAAM,aAAa,GAAG,CAAC,MAAM,CAAC,CAAC;QAE/B,KAAK,CAAC,KAAK,GAAG,kBAAkB,CAAC,aAAa,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,eAAe,CAAC,CAAC;QAE5F,OAAO,KAAc,CAAC;KACzB;IAEa,WAAK,GAAnB,UAAoB,KAAY,EAAE,YAAqB;QACnD,IAAM,GAAG,gBAAa,KAAK,CAAE,CAAC;QAE9B,OAAO,GAAG,CAAC,KAAK,CAAC;QAEjB,OAAO,GAAG,CAAC;KACd;IACL,YAAC;AAAD,CAAC;;;IC1BD;KA6CC;IAlCiB,yBAAO,GAArB,UAAsB,oBAA0C,EAAE,YAAqB;QACnF,IAAM,KAAK,gBAAa,oBAAoB,CAAE,CAAC;QAE/C,IAAM,eAAe,GAAG,KAAK,CAAC;QAC9B,IAAM,aAAa,GAAG,CAAC,YAAY,CAAC,CAAC;QAErC,KAAK,CAAC,KAAK,GAAG,kBAAkB,CAAC,aAAa,EAAE,mBAAmB,EAAE,EAAE,iBAAiB,EAAE,KAAK,EAAE,EAAE,eAAe,CAAC,CAAC;QAEpH,IAAI,YAAY,KAAK,cAAc,IAAI,KAAK,CAAC,YAAY,EAAE;YACvD,KAAK,CAAC,YAAY,GAAG,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,YAAY,EAAE,mBAAmB,CAAC,CAAC;SACtF;QAED,IAAI,YAAY,KAAK,OAAO,IAAI,KAAK,CAAC,KAAK,EAAE;YACzC,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,mBAAmB,CAAC,CAAC;SACjE;QAED,OAAO,KAA0B,CAAC;KACrC;IAEa,uBAAK,GAAnB,UAAoB,iBAAoC,EAAE,YAAqB;QAC3E,IAAM,GAAG,gBAAa,iBAAiB,CAAE,CAAC;QAE1C,OAAO,GAAG,CAAC,KAAK,CAAC;QAEjB,IAAI,YAAY,KAAK,cAAc,IAAI,GAAG,CAAC,YAAY,EAAE;YACrD,GAAG,CAAC,YAAY,GAAG,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,YAAY,EAAE,mBAAmB,CAAC,CAAC;SAChF;QAED,IAAI,YAAY,KAAK,OAAO,IAAI,GAAG,CAAC,KAAK,EAAE;YACvC,GAAG,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,mBAAmB,CAAC,CAAC;SAC3D;QAED,OAAO,GAAG,CAAC;KACd;IACL,wBAAC;AAAD,CAAC;;;IC5CD;QAOW,WAAM,GAAY,KAAK,CAAC;QACxB,YAAO,GAAY,KAAK,CAAC;KAqEnC;IA1DiB,oBAAO,GAArB,UAAsB,eAAgC,EAAE,YAAqB;QACzE,IAAM,KAAK,gBAAa,eAAe,CAAE,CAAC;QAE1C,IAAM,eAAe,GAAG,KAAK,CAAC;QAC9B,IAAM,aAAa,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAEvC,KAAK,CAAC,KAAK,GAAG,kBAAkB,CAAC,aAAa,EAAE,cAAc,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,EAAE,eAAe,CAAC,CAAC;QAE1G,IAAI,YAAY,KAAK,MAAM,IAAI,KAAK,CAAC,IAAI,EAAE;YACvC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;SACzD;QAED,IAAI,YAAY,KAAK,cAAc,IAAI,KAAK,CAAC,MAAM,EAAE;YACjD,KAAK,CAAC,MAAM,GAAG,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;SACrE;QAED,IAAI,YAAY,KAAK,yBAAyB,IAAI,KAAK,CAAC,QAAQ,EAAE;YAC9D,KAAK,CAAC,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,UAAC,IAAS;gBACzD,IAAI,GAAG,uBAAuB,CAAC,OAAO,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;gBAC7D,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;gBAC1B,OAAO,IAAI,CAAC;aACf,CAAC,CAAC;SACN;QAED,IAAI,YAAY,KAAK,mBAAmB,IAAI,KAAK,CAAC,MAAM,EAAE;YACtD,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,UAAC,IAAS,IAAK,OAAA,iBAAiB,CAAC,OAAO,CAAC,IAAI,EAAE,cAAc,CAAC,GAAA,CAAC,CAAC;SAClH;QAED,OAAO,KAAqB,CAAC;KAChC;IAEa,kBAAK,GAAnB,UAAoB,YAA0B,EAAE,YAAqB;QACjE,IAAM,GAAG,gBAAa,YAAY,CAAE,CAAC;QAErC,OAAO,GAAG,CAAC,KAAK,CAAC;QAEjB,IAAI,YAAY,KAAK,MAAM,IAAI,GAAG,CAAC,IAAI,EAAE;YACrC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;SACnD;QAED,IAAI,YAAY,KAAK,cAAc,IAAI,GAAG,CAAC,MAAM,EAAE;YAC/C,GAAG,CAAC,MAAM,GAAG,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;SAC/D;QAED,IAAI,YAAY,KAAK,yBAAyB,IAAI,GAAG,CAAC,QAAQ,EAAE;YAC5D,GAAG,CAAC,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;iBACrC,GAAG,CAAC,UAAC,IAAS,IAAK,OAAA,uBAAuB,CAAC,KAAK,CAAC,IAAI,EAAE,cAAc,CAAC,GAAA,CAAC;iBACvE,MAAM,CAAC,UAAC,IAAI,IAAK,OAAA,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,GAAA,CAAC,CAAC;SACnD;QAED,IAAI,YAAY,KAAK,mBAAmB,IAAI,GAAG,CAAC,MAAM,EAAE;YACpD,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC;iBACjC,GAAG,CAAC,UAAC,IAAS,IAAK,OAAA,iBAAiB,CAAC,KAAK,CAAC,IAAI,EAAE,cAAc,CAAC,GAAA,CAAC;iBACjE,MAAM,CAAC,UAAC,IAAI,IAAK,OAAA,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,GAAA,CAAC,CAAC;SACnD;QAED,OAAO,GAAG,CAAC;KACd;IACL,mBAAC;AAAD,CAAC;;;IC3EG,wBACqB,aAA4B;QAA5B,kBAAa,GAAb,aAAa,CAAe;KAEhD;IAEM,gCAAO,GAAd;QACI,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC,IAAI,CAAC;KACpE;IAEM,kCAAS,GAAhB;QACI,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC;KAC5B;IAEM,8BAAK,GAAZ,UAAa,GAAW,EAAE,KAAU;QAChC,IAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAChC,YAAY,CAAC,OAAO,CAAI,MAAM,SAAI,GAAK,EAAG,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;KACjF;IAEM,4BAAG,GAAV,UAAW,GAAW;QAClB,IAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAChC,IAAM,KAAK,GAAG,YAAY,CAAC,OAAO,CAAI,MAAM,SAAI,GAAK,CAAC,CAAC;QAEvD,IAAK,KAAK,EAAE;YACR,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;SAC5B;QAED,OAAO,IAAI,CAAC;KACf;IAEO,0CAAiB,GAAzB;QACI,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC,CAAC;KACjE;IAEM,mCAAU,GAAjB;QACI,OAAO,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;KACxD;IAEM,wCAAe,GAAtB;QACI,OAAO,IAAI,CAAC,iBAAiB,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;KAC1D;IAEM,sCAAa,GAApB;QACI,OAAO,IAAI,CAAC,iBAAiB,EAAE,CAAC,UAAU,CAAC;KAC9C;IAEM,oCAAW,GAAlB;QACI,OAAO,IAAI,CAAC,iBAAiB,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;KAC1D;IAEM,iCAAQ,GAAf;QACI,OAAO,IAAI,CAAC,iBAAiB,EAAE,CAAC,QAAQ,CAAC;KAC5C;IAEM,iCAAQ,GAAf;QACI,OAAO,IAAI,CAAC,iBAAiB,EAAE,CAAC,YAAY,CAAC;KAChD;IAEM,oCAAW,GAAlB;QACI,OAAO,IAAI,CAAC,WAAW,EAAE,KAAK,OAAO,CAAC;KACzC;;gBA1DmC,aAAa;;IAHxC,cAAc;QAD1B,UAAU,EAAE;OACA,cAAc,CA8D1B;IAAD,qBAAC;CA9DD;;;ICOI,oCACqB,IAAgB,EAChB,cAA8B;QAD9B,SAAI,GAAJ,IAAI,CAAY;QAChB,mBAAc,GAAd,cAAc,CAAgB;QANlC,kBAAa,GAAG,IAAI,OAAO,EAAE,CAAC;QAE9B,qBAAgB,GAAW,mBAAmB,CAAC;KAK5D;IAEG,6CAAQ,GAAf;QAAA,iBAMC;QALG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,UAAC,YAAY;YACpC,IAAI,YAAY,CAAC,MAAM,KAAK,KAAK,EAAE;gBAC/B,KAAI,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC;aAC1C;SACJ,CAAC,CAAC;KACN;IAEM,wCAAG,GAAV;QACI,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KAC1B;IAEM,yDAAoB,GAA3B;QAAA,iBAcC;QAbG,OAAO,IAAI,UAAU,CAA0B,UAAC,QAAQ;YACpD,KAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,UAAC,YAAY;gBACnC,IAAM,iBAAiB,gBAAQ,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAC,MAAM,IAAK,OAAA,MAAM,CAAC,MAAM,GAAA,CAAC,CAAE,CAAC;gBAEvF,IAAI,iBAAiB,EAAE;oBACnB,iBAAiB,CAAC,YAAY,GAAG,YAAY,CAAC;oBAE9C,QAAQ,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;iBACpC;gBAED,QAAQ,CAAC,QAAQ,EAAE,CAAC;aACvB,CAAC,CAAC;SACN,CAAC,CAAC;KACN;IAEO,yCAAI,GAAZ,UAAa,QAAiB;QAA9B,iBA2BC;QA1BG,OAAO,IAAI,UAAU,CAAC,UAAC,QAAQ;YAC3B,IAAM,eAAe,GAAG,KAAI,CAAC,cAAc,CAAC,GAAG,CAAC,KAAI,CAAC,gBAAgB,CAAC,CAAC;YAEvE,IAAI,eAAe,KAAK,IAAI,IAAI,QAAQ,EAAE;gBACtC,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC;aACxD;iBAAM;gBACH,KAAI,CAAC,IAAI;qBACJ,GAAG,CAAkB,6DAA6D,CAAC;qBACnF,IAAI,CACD,SAAS,CAAC,KAAI,CAAC,aAAa,CAAC,EAC7B,UAAU,CAAC,UAAC,GAAQ;oBAChB,IAAM,UAAU,GAAG,GAAG,CAAC;oBACvB,IAAI,GAAG,CAAC,MAAM,KAAK,UAAU,EAAE;wBAC3B,KAAI,CAAC,QAAQ,CAAC,wBAAwB,CAAC,CAAC;qBAC3C;oBACD,MAAM,GAAG,CAAC;iBACb,CAAC,CACL;qBACA,SAAS,CAAC,UAAC,eAAe;oBACvB,KAAI,CAAC,cAAc,CAAC,KAAK,CAAC,KAAI,CAAC,gBAAgB,EAAE,eAAe,CAAC,CAAC;oBAClE,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC;iBACxD,CAAC,CAAC;aACV;YAED,QAAQ,CAAC,QAAQ,EAAE,CAAC;SACvB,CAAC,CAAC;KACN;IAEO,6CAAQ,GAAhB,UAAiB,IAAY;QACzB,QAAQ,CAAC,IAAI,GAAM,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,8DAAyD,IAAM,CAAC;KACtH;;gBA/D0B,UAAU;gBACA,cAAc;;IAP1C,0BAA0B;QADtC,UAAU,EAAE;OACA,0BAA0B,CAsEtC;IAAD,iCAAC;CAtED;;;ICGA;KAA6B;IAAhB,aAAa;QAPzB,QAAQ,CAAC;YACN,OAAO,EAAE,EAAE;YACX,SAAS,EAAE;gBACP,cAAc;gBACd,aAAa;aAChB;SACJ,CAAC;OACW,aAAa,CAAG;IAAD,oBAAC;CAA7B;;;ICGA;KAAyC;IAA5B,yBAAyB;QATrC,QAAQ,CAAC;YACN,OAAO,EAAE;gBACL,gBAAgB;gBAChB,aAAa;aAChB;YACD,SAAS,EAAE;gBACP,0BAA0B;aAC7B;SACJ,CAAC;OACW,yBAAyB,CAAG;IAAD,gCAAC;CAAzC;;;ICXA;KAuBC;IAlBiB,cAAO,GAArB,UAAsB,SAAoB,EAAE,YAAqB;QAC7D,IAAM,KAAK,gBAAa,SAAS,CAAE,CAAC;QAEpC,IAAM,eAAe,GAAG,KAAK,CAAC;QAC9B,IAAM,aAAa,GAAG,CAAC,QAAQ,CAAC,CAAC;QAEjC,KAAK,CAAC,KAAK,GAAG,aAAa,CAAC,GAAG,CAAC,UAAC,KAAK,IAAK,OAAA,KAAK,CAAC,KAAK,CAAC,GAAA,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAE/E,OAAO,KAAe,CAAC;KAC1B;IAEa,YAAK,GAAnB,UAAoB,MAAc,EAAE,YAAqB;QACrD,IAAM,GAAG,gBAAa,MAAM,CAAE,CAAC;QAE/B,OAAO,GAAG,CAAC,KAAK,CAAC;QAEjB,OAAO,GAAG,CAAC;KACd;IACL,aAAC;AAAD,CAAC;;;ICbG,8BACqB,IAAgB,EAChB,cAA8B;QAD9B,SAAI,GAAJ,IAAI,CAAY;QAChB,mBAAc,GAAd,cAAc,CAAgB;QANlC,kBAAa,GAAG,IAAI,OAAO,EAAE,CAAC;QAE9B,oBAAe,GAAW,aAAa,CAAC;KAKrD;IAEG,uCAAQ,GAAf;QAAA,iBAWC;QAVG,OAAO,IAAI,UAAU,CAAC,UAAC,QAAQ;YAC3B,KAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,UAAC,MAAM;gBAC9B,IAAI,MAAM,CAAC,KAAK,KAAK,KAAK,EAAE;oBACxB,KAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;iBACpC;qBAAM;oBACH,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;oBACtB,QAAQ,CAAC,QAAQ,EAAE,CAAC;iBACvB;aACJ,CAAC,CAAC;SACN,CAAC,CAAC;KACN;IAEO,mCAAI,GAAZ,UAAa,QAAiB;QAA9B,iBA4BC;QA3BG,OAAO,IAAI,UAAU,CAAC,UAAC,QAAQ;YAC3B,IAAM,SAAS,GAAG,KAAI,CAAC,cAAc,CAAC,GAAG,CAAC,KAAI,CAAC,eAAe,CAAC,CAAC;YAEhE,IAAI,SAAS,KAAK,IAAI,IAAI,QAAQ,EAAE;gBAChC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC;gBACzC,QAAQ,CAAC,QAAQ,EAAE,CAAC;aACvB;iBAAM;gBACH,KAAI,CAAC,IAAI;qBACJ,GAAG,CAAiB,kGAAkG,CAAC;qBACvH,IAAI,CACD,SAAS,CAAC,KAAI,CAAC,aAAa,CAAC,EAC7B,UAAU,CAAC,UAAC,GAAQ;oBAChB,MAAM,GAAG,CAAC;iBACb,CAAC,CACL;qBACA,SAAS,CAAC,UAAC,QAAwB;oBAChC,IAAI,QAAQ,CAAC,aAAa,KAAK,CAAC,EAAE;wBAC9B,KAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;qBACpC;yBAAM;wBACH,IAAM,SAAS,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;wBACvC,KAAI,CAAC,cAAc,CAAC,KAAK,CAAC,KAAI,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC;wBAC3D,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC;wBACzC,QAAQ,CAAC,QAAQ,EAAE,CAAC;qBACvB;iBACJ,CAAC,CAAC;aACV;SACJ,CAAC,CAAC;KACN;IAEO,uCAAQ,GAAhB,UAAiB,IAAY;QACzB,QAAQ,CAAC,IAAI,GAAM,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,8DAAyD,IAAM,CAAC;KACtH;;gBAjD0B,UAAU;gBACA,cAAc;;IAP1C,oBAAoB;QADhC,UAAU,EAAE;OACA,oBAAoB,CAwDhC;IAAD,2BAAC;CAxDD;;;ICMA;KAAmC;IAAtB,mBAAmB;QAT/B,QAAQ,CAAC;YACN,OAAO,EAAE;gBACL,gBAAgB;gBAChB,aAAa;aAChB;YACD,SAAS,EAAE;gBACP,oBAAoB;aACvB;SACJ,CAAC;OACW,mBAAmB,CAAG;IAAD,0BAAC;CAAnC;;ICdY,SAaX;AAbD,WAAY,SAAS;IACjB,gCAAmB,CAAA;IACnB,kCAAqB,CAAA;IACrB,4BAAe,CAAA;IACf,4BAAe,CAAA;IACf,wBAAW,CAAA;IACX,0BAAa,CAAA;IACb,0BAAa,CAAA;IACb,8BAAiB,CAAA;IACjB,oCAAuB,CAAA;IACvB,gCAAmB,CAAA;IACnB,kCAAqB,CAAA;IACrB,kCAAqB,CAAA;AACzB,CAAC,EAbW,SAAS,KAAT,SAAS,QAapB;;ICbW,kBAMX;AAND,WAAY,kBAAkB;IAC1B,qCAAe,CAAA;IACf,uCAAiB,CAAA;IACjB,qCAAe,CAAA;IACf,uCAAiB,CAAA;IACjB,mCAAa,CAAA;AACjB,CAAC,EANW,kBAAkB,KAAlB,kBAAkB,QAM7B;;ICNW,cAKX;AALD,WAAY,cAAc;IACtB,iCAAe,CAAA;IACf,mCAAiB,CAAA;IACjB,qCAAmB,CAAA;IACnB,mCAAiB,CAAA;AACrB,CAAC,EALW,cAAc,KAAd,cAAc,QAKzB;;ICLW,cAGX;AAHD,WAAY,cAAc;IACtB,mCAAiB,CAAA;IACjB,6DAA2C,CAAA;AAC/C,CAAC,EAHW,cAAc,KAAd,cAAc,QAGzB;;ICHW,WAQX;AARD,WAAY,WAAW;IACnB,gCAAiB,CAAA;IACjB,gCAAiB,CAAA;IACjB,kCAAmB,CAAA;IACnB,sCAAuB,CAAA;IACvB,oCAAqB,CAAA;IACrB,gCAAiB,CAAA;IACjB,oCAAqB,CAAA;AACzB,CAAC,EARW,WAAW,KAAX,WAAW,QAQtB;;;ICCG;QAGiB,kBAAa,GAAG,IAAI,OAAO,EAAE,CAAC;KAF9C;IAIM,kEAA+B,GAAtC,UAAuC,SAAoB,EAAE,UAAiB;QAC1E,IAAI,CAAC,8BAA8B,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;QAC3D,IAAI,CAAC,8BAA8B,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;KAC9D;IAEM,uDAAoB,GAA3B,UAA4B,SAAoB,EAAE,UAAiB;QAC/D,IAAI,CAAC,0BAA0B,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;KAC1D;IAEO,6DAA0B,GAAlC,UAAmC,SAAoB,EAAE,UAAiB;QAA1E,iBAUC;QATG,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,UAAC,KAAc;YAChG,IAAM,MAAM,GAAG,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;YAExC,IAAI,KAAK,EAAE;gBACP,KAAI,CAAC,aAAa,CAAC,SAAS,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;aACrD;iBAAM;gBACH,KAAI,CAAC,YAAY,CAAC,SAAS,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;aACpD;SACJ,CAAC,CAAC;KACN;IAEO,iEAA8B,GAAtC,UAAuC,SAAoB,EAAE,UAAiB;QAA9E,iBAuBC;QAtBG,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,UAAC,KAAqB;YAC3G,IAAM,eAAe,GAAG,CAAC,UAAU,EAAE,YAAY,EAAE,eAAe,EAAE,iBAAiB,EAAE,0BAA0B,EAAE,qBAAqB,CAAC,CAAC;YAE1I,KAAI,CAAC,aAAa,CAAC,SAAS,EAAE,UAAU,EAAE,eAAe,CAAC,CAAC;YAE3D,IAAI,KAAK,KAAK,cAAc,CAAC,MAAM,EAAE;gBACjC,IAAM,aAAa,GAAG,UAAU,CAAC,IAAI,CAAC,UAAC,KAAK,IAAK,OAAA,KAAK,CAAC,IAAI,KAAK,UAAU,GAAA,CAAC,CAAC;gBAC5E,aAAa,CAAC,OAAO,GAAG,cAAM,OAAA,IAAI,GAAA,CAAC;gBACnC,aAAa,CAAC,QAAQ,GAAG,cAAM,OAAA,IAAI,GAAA,CAAC;gBAEpC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;aACpE;YAED,IAAI,KAAK,KAAK,cAAc,CAAC,OAAO,IAAI,KAAK,KAAK,cAAc,CAAC,MAAM,EAAE;gBACrE,IAAM,eAAe,GAAG,UAAU,CAAC,IAAI,CAAC,UAAC,KAAK,IAAK,OAAA,KAAK,CAAC,IAAI,KAAK,YAAY,GAAA,CAAC,CAAC;gBAChF,eAAe,CAAC,OAAO,GAAG,cAAM,OAAA,IAAI,GAAA,CAAC;gBACrC,eAAe,CAAC,QAAQ,GAAG,cAAM,OAAA,IAAI,GAAA,CAAC;gBAEtC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;gBACnE,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;aACjE;SACJ,CAAC,CAAC;KACN;IAEO,iEAA8B,GAAtC,UAAuC,SAAoB,EAAE,UAAiB;QAA9E,iBA2BC;QA1BG,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,UAAC,KAAqB;YAC3G,IAAM,eAAe,GAAG,CAAC,eAAe,EAAE,0BAA0B,EAAE,qBAAqB,EAAE,iBAAiB,CAAC,CAAC;YAEhH,KAAI,CAAC,aAAa,CAAC,SAAS,EAAE,UAAU,EAAE,eAAe,CAAC,CAAC;YAE3D,IAAI,KAAK,KAAK,cAAc,CAAC,MAAM,EAAE;gBACjC,IAAM,kBAAkB,GAAG,UAAU,CAAC,IAAI,CAAC,UAAC,KAAK,IAAK,OAAA,KAAK,CAAC,IAAI,KAAK,eAAe,GAAA,CAAC,CAAC;gBACtF,kBAAkB,CAAC,OAAO,GAAG,cAAM,OAAA,IAAI,GAAA,CAAC;gBACxC,kBAAkB,CAAC,QAAQ,GAAG,cAAM,OAAA,IAAI,GAAA,CAAC;gBAEzC,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;aACzE;YAED,IAAI,KAAK,KAAK,cAAc,CAAC,mBAAmB,EAAE;gBAC9C,IAAM,cAAc,GAAG,CAAC,0BAA0B,EAAE,qBAAqB,CAAC,CAAC;gBAC3E,KAAI,CAAC,YAAY,CAAC,SAAS,EAAE,UAAU,EAAE,cAAc,CAAC,CAAC;aAC5D;YAED,IAAI,KAAK,KAAK,SAAS,IAAI,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,KAAK,cAAc,CAAC,MAAM,EAAE;gBACtF,IAAM,oBAAoB,GAAG,UAAU,CAAC,IAAI,CAAC,UAAC,KAAK,IAAK,OAAA,KAAK,CAAC,IAAI,KAAK,iBAAiB,GAAA,CAAC,CAAC;gBAC1F,oBAAoB,CAAC,OAAO,GAAG,cAAM,OAAA,IAAI,GAAA,CAAC;gBAC1C,oBAAoB,CAAC,QAAQ,GAAG,cAAM,OAAA,IAAI,GAAA,CAAC;gBAE3C,SAAS,CAAC,QAAQ,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;aAC3E;SACJ,CAAC,CAAC;KACN;IAEO,gDAAa,GAArB,UAAsB,SAAoB,EAAE,UAAiB,EAAE,MAAgB;QAC3E,UAAU;aACL,MAAM,CAAC,UAAC,KAAK,IAAK,OAAA,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,GAAA,CAAC;aAC9C,OAAO,CAAC,UAAC,KAAK;YACX,KAAK,CAAC,OAAO,GAAG,cAAM,OAAA,KAAK,GAAA,CAAC;YAC5B,KAAK,CAAC,QAAQ,GAAG,cAAM,OAAA,KAAK,GAAA,CAAC;SAChC,CAAC,CAAC;QAEP,KAAK,IAAM,WAAW,IAAI,SAAS,CAAC,QAAQ,EAAE;YAC1C,IAAI,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE;gBAC9B,IAAM,cAAc,GAAG,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAc,CAAC;gBAEpE,cAAc,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;gBACnC,cAAc,CAAC,eAAe,EAAE,CAAC;gBACjC,cAAc,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;aAClC;SACJ;KACJ;IAEO,+CAAY,GAApB,UAAqB,SAAoB,EAAE,UAAiB,EAAE,MAAgB;QAC1E,UAAU;aACL,MAAM,CAAC,UAAC,KAAK,IAAK,OAAA,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,GAAA,CAAC;aAC9C,OAAO,CAAC,UAAC,KAAK;YACX,KAAK,CAAC,OAAO,GAAG,cAAM,OAAA,IAAI,GAAA,CAAC;YAC3B,KAAK,CAAC,QAAQ,GAAG,cAAM,OAAA,IAAI,GAAA,CAAC;SAC/B,CAAC,CAAC;QAEP,KAAK,IAAM,WAAW,IAAI,SAAS,CAAC,QAAQ,EAAE;YAC1C,IAAI,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE;gBAC9B,IAAM,cAAc,GAAG,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAc,CAAC;gBACpE,cAAc,CAAC,aAAa,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;aACvD;SACJ;KACJ;IAnHQ,wBAAwB;QADpC,UAAU,EAAE;OACA,wBAAwB,CAqHpC;IAAD,+BAAC;CArHD;;;ICGA;KAAuC;IAA1B,uBAAuB;QAPnC,QAAQ,CAAC;YACN,OAAO,EAAE,EACR;YACD,SAAS,EAAE;gBACP,wBAAwB;aAC3B;SACJ,CAAC;OACW,uBAAuB,CAAG;IAAD,8BAAC;CAAvC;;;ICJI;KAEC;IAEM,iDAAgB,GAAvB,UAAwB,WAAmB,EAAE,KAAc,EAAE,WAAsB;QAC/E,IAAM,GAAG,GAAa,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,UAAA,OAAO,IAAI,OAAA,OAAO,CAAC,EAAE,GAAA,CAAC,CAAC,CAAC,CAAC;QAClF,OAAQ,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;KAC3D;IAEM,iDAAgB,GAAvB,UAAwB,WAAmB,EAAE,KAAc,EAAE,WAAsB;QAC/E,IAAM,GAAG,GAAa,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,UAAA,OAAO,IAAI,OAAA,OAAO,CAAC,EAAE,GAAA,CAAC,CAAC,CAAC,CAAC;QAClF,OAAQ,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;KAC3D;IAEM,gDAAe,GAAtB,UAAuB,WAAmB,EAAE,KAAa;QACrD,IAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC;QACtD,OAAO,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;KAC9C;IAEM,0CAAS,GAAhB,UAAiB,WAAmB,EAAE,MAAc;QAChD,OAAO,CAAC,WAAW,GAAM,WAAW,UAAO,GAAG,EAAE,IAAI,MAAM,CAAC;KAC9D;IAEM,4CAAW,GAAlB,UAAmB,WAAmB,EAAE,KAAa,EAAE,KAAa,EAAE,MAAa;QAAnF,iBAQC;QAPG,IAAM,OAAO,GAAa,MAAM,CAAC,GAAG,CAAC,UAAA,KAAK,IAAI,OAAG,KAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,aAAQ,KAAK,MAAG,GAAA,CAAC,CAAC;QAE9F,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;YACpB,OAAO,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,MAAI,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,MAAG,CAAC,CAAC;SACnE;QAED,OAAO,EAAE,CAAC;KACb;IAEO,yCAAQ,GAAhB,UAAiB,KAAa,EAAE,MAAc;QAC1C,OAAO,CAAC,KAAK,GAAM,KAAK,MAAG,GAAG,EAAE,IAAI,MAAM,CAAC;KAC9C;IArCQ,sBAAsB;QADlC,UAAU,EAAE;OACA,sBAAsB,CAsClC;IAAD,6BAAC;CAtCD;;;ICIA;KAAqC;IAAxB,qBAAqB;QALjC,QAAQ,CAAC;YACN,SAAS,EAAE;gBACP,sBAAsB;aACzB;SACJ,CAAC;OACW,qBAAqB,CAAG;IAAD,4BAAC;CAArC;;;ICNA;KAsCC;IArCiB,+DAAoC,GAAlD,UAAmD,YAAoB,EAAE,YAAoB;QACzF,IAAM,EAAE,GAAG,UAAU,OAAwB;;YACzC,IAAI,OAAO,CAAC,MAAM,EAAE;gBAChB,IAAM,SAAS,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;gBAC1C,IAAM,OAAO,GAAG,IAAI,IAAI,OAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,0CAAE,KAAK,CAAC,CAAC;gBAEvE,IAAI,SAAS,GAAG,OAAO,EAAE;oBACrB,IAAM,GAAG,GAAG,EAAE,CAAC;oBACf,GAAG,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC;oBACzB,OAAO,GAAG,CAAC;iBACd;aACJ;YAED,OAAO,IAAI,CAAC;SACf,CAAC;QAEF,OAAO,EAAE,CAAC;KACb;IAEa,4DAAiC,GAA/C,UAAgD,cAAsB,EAAE,YAAoB;QACxF,IAAM,EAAE,GAAI,UAAS,OAAwB;;YACzC,IAAI,OAAO,CAAC,MAAM,EAAE;gBAChB,IAAM,SAAS,GAAG,IAAI,IAAI,OAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,0CAAE,KAAK,CAAC,CAAC;gBAC3E,IAAM,OAAO,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;gBAExC,IAAI,SAAS,GAAG,OAAO,EAAE;oBACrB,IAAM,GAAG,GAAG,EAAE,CAAC;oBACf,GAAG,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC;oBACzB,OAAO,GAAG,CAAC;iBACd;aACJ;YAED,OAAO,IAAI,CAAC;SACf,CAAC;QAEF,OAAO,EAAE,CAAC;KACb;IAAA,CAAC;IACN,iCAAC;AAAD,CAAC;;;ICxCD;KAQC;IAPiB,0CAAoB,GAAlC,UAAmC,IAAU;QACzC,IAAM,OAAO,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC;QAC/B,IAAM,GAAG,GAAG,CAAC,CAAC;QACd,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,GAAG,CAAC,CAAC;QAEtC,OAAO,OAAO,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAE,IAAI,OAAO,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;KAC7F;IACL,4BAAC;AAAD,CAAC;;;ICND;KAoCC;IA9BiB,aAAO,GAArB,UAAsB,QAAkB;QACpC,IAAM,KAAK,GAAG,IAAI,KAAK,EAAE,CAAC;QAE1B,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QAE/B,OAAO,KAAK,CAAC;KAChB;IAEM,wBAAQ,GAAf,UAAgB,YAAoB,EAAE,KAAc;QAChD,IAAI,KAAK,GAAG,SAAS,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QAE3C,IAAI,IAAI,CAAC,QAAQ,KAAK,KAAK,EAAE;YACzB,KAAK,GAAG,KAAK;iBACR,MAAM,CAAC,GAAG,CAAC;iBACX,MAAM,CAAC,KAAK,CAAC,CACjB;SACJ;QAED,OAAO,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;KACxC;IAEM,wBAAQ,GAAf;QACI,OAAO,GAAG;aACL,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;aACnB,MAAM,CAAC,GAAG,CAAC;aACX,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;aACpB,MAAM,CAAC,GAAG,CAAC;aACX,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAC1B;KACJ;IACL,YAAC;AAAD,CAAC;;;ICnC0B,yBAAK;IAAhC;;KAiBC;IAbiB,aAAO,GAArB,UAAsB,QAAkB;QACpC,IAAM,KAAK,GAAG,IAAI,KAAK,EAAE,CAAC;QAE1B,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QAE/B,OAAO,KAAK,CAAC;KAChB;IAEM,qBAAK,GAAZ,UAAa,KAAY;QACrB,OAAO,IAAI,CAAC,QAAQ,EAAE,KAAK,KAAK,CAAC,QAAQ,EAAE;eACpC,IAAI,CAAC,cAAc,KAAK,KAAK,CAAC,cAAc,CAClD;KACJ;IACL,YAAC;AAAD,CAjBA,CAA2B,KAAK;;;ICyB5B,0BACqB,MAAc,EACd,cAA8B;QAFnD,iBAOC;QANoB,WAAM,GAAN,MAAM,CAAQ;QACd,mBAAc,GAAd,cAAc,CAAgB;QAdlC,YAAO,GAAiB,KAAK,CAAC,IAAI,CAC/C,IAAI,MAAM,CACN,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,CAAC,MAAM,CAAC,yBAAyB,CAAC,CACrE,CACJ,CAAC;QAEe,eAAU,GAAG,IAAI,OAAO,EAAS,CAAC;QAElC,sBAAiB,GAAY,EAAE,CAAC;QAEhC,kBAAa,GAAwC,EAAE,CAAC;QAMrE,IAAI,CAAC,UAAU,CAAC,IAAI,CAChB,SAAS,CAAC,UAAA,KAAK,IAAI,OAAA,KAAI,CAAC,eAAe,CAAC,KAAK,CAAC,GAAA,CAAC,CAClD,CAAC,SAAS,EAAE,CAAC;KACjB;IAEM,+BAAI,GAAX,UAAY,QAAkB;QAC1B,QAAQ,CAAC,cAAc,GAAG,QAAQ,CAAC,cAAc,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAA;QACpE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;KACjD;IAEO,0CAAe,GAAvB,UAAwB,KAAY;QAApC,iBASC;QARG,OAAO,IAAI,UAAU,CAAO,UAAA,QAAQ;YAChC,IAAI,KAAI,CAAC,OAAO,CAAC,SAAS,EAAE;gBACxB,KAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;gBAC1B,KAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC;aACxC;iBAAM;gBACH,KAAI,CAAC,cAAc,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;aACxC;SACJ,CAAC,CAAC;KACN;IAEO,gDAAqB,GAA7B,UAA8B,QAAa;QACvC,QAAQ,CAAC,IAAI,EAAE,CAAC;QAChB,QAAQ,CAAC,QAAQ,EAAE,CAAC;KACvB;IAEO,yCAAc,GAAtB,UAAuB,KAAY,EAAE,QAAa;QAAlD,iBASC;QARG,IAAI,CAAC,OAAO,CAAC,OAAO,CAChB,EAAE,EACF;YACI,KAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;YAC1B,KAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC;SACxC,EACD,cAAM,OAAA,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC,GAAA,CACjE,CAAC;KACL;IAEO,wCAAa,GAArB,UAAsB,KAAY;QAC9B,IAAM,YAAY,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;QAEnD,IAAI,YAAY,EAAE;YACd,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;SACzC;aAAM;YACH,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;SACzB;KACJ;IAEO,sCAAW,GAAnB,UAAoB,KAAY,EAAE,YAAmB;QAArD,iBAMC;QALG,YAAY,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;QAEvC,IAAI,CAAC,aAAa;aACb,MAAM,CAAC,UAAA,YAAY,IAAI,OAAA,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,GAAA,CAAC;aACvD,OAAO,CAAC,UAAA,YAAY,IAAI,OAAA,KAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,OAAO,EAAE,KAAK,CAAC,GAAA,CAAC,CAAC;KACpF;IAEO,oCAAS,GAAjB,UAAkB,KAAY;QAA9B,iBAOC;QANG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAEnC,IAAI,CAAC,OAAO,CAAC,SAAS,CAClB,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,eAAe,EAAE,EAAE,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAC,EACrF,UAAC,OAAO,IAAK,OAAA,KAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,KAAK,CAAC,GAAA,CACrD,CAAC;KACL;IAEO,2CAAgB,GAAxB,UAAyB,OAAiB,EAAE,KAAY;QAAxD,iBAYC;QAXG,IAAM,YAAY,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;QAEnD,IAAI,YAAY,CAAC,cAAc,KAAK,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE;YACjD,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;SAC5F;aAAM;YACH,IAAI,CAAC,aAAa;iBACb,MAAM,CAAC,UAAA,YAAY,IAAI,OAAA,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,GAAA,CAAC;iBACvD,OAAO,CAAC,UAAC,YAAY,EAAE,KAAK,IAAK,OAAA,KAAI,CAAC,aAAa,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,GAAA,CAAC,CAAC;YAE3E,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAC,OAAO,SAAA,EAAE,KAAK,OAAA,EAAC,CAAC,CAAC;SAC7C;KACJ;IAEO,4CAAiB,GAAzB,UAA0B,KAAY;QAClC,OAAO,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,UAAA,YAAY,IAAI,OAAA,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,GAAA,CAAC,CAAC;KACjF;IAEO,uCAAY,GAApB,UAAqB,OAAY;QAE7B,IAAM,OAAO,GAAG,UAAC,GAAQ,EAAE,OAAY;YACnC,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;gBACpB,GAAG,CAAC,OAAO,CAAC,UAAA,IAAI,IAAI,OAAA,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,GAAA,CAAC,CAAC;aAC/C;YAED,IAAI,GAAG,KAAK,IAAI,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;gBACzC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,UAAA,GAAG;oBACxB,IAAI,GAAG,KAAK,MAAM,IAAI,GAAG,CAAC,GAAG,CAAC,EAAE;wBAC5B,IAAM,OAAO,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;wBACzB,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;wBACrD,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC;qBACnB;yBAAM;wBACH,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,CAAC;qBAC9B;iBACJ,CAAC,CAAC;aACN;SACJ,CAAA;QAED,IAAM,cAAc,GAAG,UAAC,GAAW,EAAE,OAAY;YAC7C,IAAM,KAAK,GAAG,cAAc,CAAC;YAC7B,IAAM,MAAM,GAAG,EAAE,CAAC;YAClB,IAAI,KAAK,CAAC;YAEV,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,IAAI,EAAE;gBACvC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;aACzB;YAED,OAAO,MAAM,CAAC,MAAM,CAAC,UAAC,GAAG,EAAE,IAAI,IAAK,OAAA,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,GAAA,EAAE,OAAO,CAAC,CAAC;SAClE,CAAA;QAED,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAE1B,OAAO,OAAO,CAAC;KAClB;;gBAxH4B,MAAM;gBACE,cAAc;;;IAhB1C,gBAAgB;QAH5B,UAAU,CAAC;YACR,UAAU,EAAE,MAAM;SACrB,CAAC;OACW,gBAAgB,CAwI5B;2BAtJD;CAcA;;;ICFA;KAA+B;IAAlB,eAAe;QAR3B,QAAQ,CAAC;YACN,OAAO,EAAE;gBACL,YAAY;aACf;YACD,SAAS,EAAE;gBACP,gBAAgB;aACnB;SACJ,CAAC;OACW,eAAe,CAAG;IAAD,sBAAC;CAA/B;;;ICXA;KAMC;IAJiB,mCAAY,GAA1B,UAA2B,SAAiB;QACxC,IAAM,KAAK,GAAW,iBAAiB,CAAC;QACxC,OAAO,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;KAC1D;IACL,6BAAC;AAAD,CAAC;;;ICJD;KAKC;IAHiB,+BAAW,GAAzB,UAA0B,OAAY;QAClC,OAAO,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,oBAAoB,EAAE,CAAC,CAAC;KAC5D;IACL,0BAAC;AAAD,CAAC;;ACRD;;GAEG;;;;"}
|