@sachin9822/reports-lib 0.0.91 → 0.0.93

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"sachin9822-reports-lib.mjs","sources":["../../../projects/reports-lib/src/lib/reports-lib.service.ts","../../../projects/reports-lib/src/lib/reports-lib.component.ts","../../../projects/reports-lib/src/lib/shared/export.service.ts","../../../projects/reports-lib/src/lib/services/report.service.ts","../../../projects/reports-lib/src/lib/components/acc-gl-details-enquiry-report/acc-gl-details-enquiry-report.component.ts","../../../projects/reports-lib/src/lib/components/acc-gl-details-enquiry-report/acc-gl-details-enquiry-report.component.html","../../../projects/reports-lib/src/lib/reports-lib-routing.module.ts","../../../projects/reports-lib/src/lib/reports-lib.module.ts","../../../projects/reports-lib/src/public-api.ts","../../../projects/reports-lib/src/sachin9822-reports-lib.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ReportsLibService {\r\n\r\n constructor() { }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'lib-reports-lib',\r\n template: `\r\n <p>\r\n reports-lib works!\r\n </p>\r\n `,\r\n styles: [\r\n ]\r\n})\r\nexport class ReportsLibComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\nimport jsPDF from 'jspdf';\nimport 'jspdf-autotable';\nimport * as ExcelJS from 'exceljs';\nimport * as FileSaver from 'file-saver';\n\n\ndeclare module 'jspdf' {\n interface jsPDF {\n autoTable: (options: any) => jsPDF;\n }\n}//assets/reports-lib/images/XMLogo.png\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ExportService {\n\n private readonly pdfFontSize = 10;\n private readonly pdfLineHeight = 7;\n private readonly pdfLeftMargin = 15;\n private logoBase64: string | undefined;\n\n constructor() {\n this.loadImageAsBase64('assets/reports-lib/images/XMLogo.png').then(base64 => {\n this.logoBase64 = base64;\n });\n }\n\n // ------------------------ Utility ------------------------\n private loadImageAsBase64(imagePath: string): Promise<string> {\n return new Promise((resolve, reject) => {\n const img = new Image();\n img.crossOrigin = 'anonymous';\n img.src = imagePath;\n\n img.onload = () => {\n const scale = 6;\n const canvas = document.createElement('canvas');\n canvas.width = img.width * scale;\n canvas.height = img.height * scale;\n\n const ctx = canvas.getContext('2d');\n if (ctx) {\n ctx.scale(scale, scale);\n ctx.drawImage(img, 0, 0);\n const base64 = canvas.toDataURL('image/png', 1.0); // 1.0 = highest quality\n resolve(base64);\n } else {\n reject('Failed to get canvas context.');\n }\n };\n\n img.onerror = () => reject('Failed to load image: ' + imagePath);\n });\n }\n\n formatDate(value: any): string {\n const date = new Date(value);\n return isNaN(date.getTime()) ? '' :\n `${date.getDate().toString().padStart(2, '0')}/${(date.getMonth() + 1).toString().padStart(2, '0')}/${date.getFullYear()}`;\n }\n formatDateTime(date: Date): string {\n return `${date.getDate().toString().padStart(2, '0')}/` +\n `${(date.getMonth() + 1).toString().padStart(2, '0')}/` +\n `${date.getFullYear()} ` +\n `${date.getHours().toString().padStart(2, '0')}:` +\n `${date.getMinutes().toString().padStart(2, '0')}`;\n }\n\n generateReportMetadata(metadata: [string, string][]): [string, string][] {\n return metadata.filter(([_, value]) => value !== undefined && value !== null);\n }\n\n prepareExportTable(data: any[], columnDefs: any[], options: {\n excludeFields?: string[],\n currencyFields?: string[]\n } = {}): { headers: string[], rows: any[][] } {\n const { excludeFields = ['srno', 'serial', 'action'], currencyFields = [] } = options;\n\n const filteredColumns = columnDefs.filter(col =>\n col.field &&\n !excludeFields.some(ex => col.field.toLowerCase().includes(ex)) &&\n !excludeFields.some(ex => col.headerName?.toLowerCase().includes(ex))\n );\n\n const headers = ['Sr No', ...filteredColumns.map(col => col.headerName || col.field)];\n\n const rows = data.map((row, index) => {\n const rowData = filteredColumns.map(col => {\n let value = row[col.field];\n const fieldName = col.field?.toLowerCase() || '';\n\n // Handle various date field names\n if (\n (fieldName.includes('date') ||\n fieldName.includes('businessdate')) &&\n value\n ) {\n value = this.formatDate(value);\n }\n\n // Format currency fields\n if (currencyFields.includes(col.field) && value != null) {\n value = parseFloat(value).toFixed(3);\n }\n return value ?? '';\n });\n return [index + 1, ...rowData];\n });\n return { headers, rows };\n }\n\n // ------------------------ PDF Universal ------------------------\n async exportToPdfUniversal(title: string, metadata: [string, string][], headers: string[], rows: any[][], fileName: string): Promise<void> {\n const doc = new jsPDF({ orientation: 'landscape', unit: 'mm', format: [400, 210] });\n\n const logoWidth = 38.4, logoHeight = 17.5, logoX = 15, logoY = 10;\n const pageWidth = doc.internal.pageSize.width;\n const titleY = 18;\n\n if (this.logoBase64) {\n doc.addImage(this.logoBase64, 'PNG', logoX, logoY, logoWidth, logoHeight);\n }\n\n doc.setFontSize(15);\n doc.setFont('helvetica', 'bold');\n doc.text(title, pageWidth / 2, titleY, { align: 'center' });\n\n let currentY = titleY + 14;\n doc.setFontSize(this.pdfFontSize);\n metadata.forEach(([label, value], i) => {\n const y = currentY + i * this.pdfLineHeight;\n doc.setFont('helvetica', 'bold');\n doc.text(label, this.pdfLeftMargin, y);\n const labelWidth = doc.getTextWidth(label + ' ');\n doc.setFont('helvetica', 'normal');\n doc.text(value, this.pdfLeftMargin + labelWidth, y);\n });\n currentY += metadata.length * this.pdfLineHeight + 5;\n\n const columnStyles: { [key: number]: any } = {};\n headers.forEach((_, i) => columnStyles[i] = { cellWidth: 'auto' });\n\n doc.autoTable({\n head: [headers],\n body: rows,\n startY: currentY,\n theme: 'grid',\n headStyles: {\n fillColor: [220, 220, 220], textColor: 0,\n fontStyle: 'bold', fontSize: 9, halign: 'center',\n },\n bodyStyles: { fontSize: 8, fillColor: [255, 255, 255], textColor: [0, 0, 0] },\n styles: { cellPadding: 2, overflow: 'linebreak', minCellHeight: 6 },\n columnStyles\n });\n\n doc.save(fileName);\n }\n\n // ------------------------ Excel Universal ------------------------\n exportToExcelUniversal(title: string, metadata: [string, string][], headers: string[], rows: any[][], fileName: string): void {\n const workbook = new ExcelJS.Workbook();\n const worksheet = workbook.addWorksheet(title);\n\n let currentRow = 1;\n\n // Add image if available\n if (this.logoBase64) {\n const base64Data = this.logoBase64.replace(/^data:image\\/\\w+;base64,/, '');\n const imageId = workbook.addImage({\n base64: base64Data,\n extension: 'png',\n });\n\n // Place image at top-left (e.g., A1:C4)\n worksheet.addImage(imageId, {\n tl: { col: 0, row: 0 },\n ext: { width: 145, height: 66 },\n editAs: 'oneCell'\n });\n }\n\n // Add title aligned in middle horizontally (merged across all columns)\n const titleRow = worksheet.getRow(currentRow);\n titleRow.getCell(4).value = title;\n titleRow.getCell(4).font = { bold: true, size: 16 };\n titleRow.getCell(4).alignment = { vertical: 'middle', horizontal: 'left' };\n\n const titleMergeEnd = String.fromCharCode(64 + headers.length);\n worksheet.mergeCells(`D${currentRow}:${titleMergeEnd}${currentRow}`);\n currentRow += 3; // Move past image space\n\n // Add metadata\n metadata.forEach(([label, value]) => {\n const row = worksheet.getRow(currentRow++);\n const cell = row.getCell(1);\n cell.value = {\n richText: [\n { text: `${label}: `, font: { bold: true } },\n { text: value ?? '', font: { bold: false } }\n ]\n };\n worksheet.mergeCells(`A${row.number}:${String.fromCharCode(64 + headers.length)}${row.number}`);\n });\n\n worksheet.addRow([]);\n currentRow++;\n\n // Add table header row\n const headerRow = worksheet.getRow(currentRow++);\n headers.forEach((header, i) => {\n const cell = headerRow.getCell(i + 1);\n cell.value = header;\n cell.font = { bold: true };\n cell.fill = { type: 'pattern', pattern: 'solid', fgColor: { argb: 'D9D9D9' } };\n cell.alignment = { vertical: 'middle', horizontal: 'center' };\n cell.border = {\n top: { style: 'thin' },\n bottom: { style: 'thin' },\n left: { style: 'thin' },\n right: { style: 'thin' }\n };\n });\n\n const dataStartRow = currentRow;\n rows.forEach(rowData => {\n const row = worksheet.getRow(currentRow++);\n rowData.forEach((value, i) => {\n const cell = row.getCell(i + 1);\n cell.value = value;\n cell.border = {\n top: { style: 'thin' },\n bottom: { style: 'thin' },\n left: { style: 'thin' },\n right: { style: 'thin' }\n };\n });\n });\n\n // Auto column widths\n for (let i = 1; i <= headers.length; i++) {\n let maxLength = headers[i - 1].length;\n for (let rowNum = dataStartRow; rowNum <= worksheet.lastRow!.number; rowNum++) {\n const val = worksheet.getRow(rowNum).getCell(i).value?.toString() || '';\n maxLength = Math.max(maxLength, val.length);\n }\n worksheet.getColumn(i).width = maxLength + 2;\n }\n\n workbook.xlsx.writeBuffer().then(buffer => {\n const blob = new Blob([buffer], {\n type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'\n });\n FileSaver.saveAs(blob, fileName);\n });\n }\n\n\n // ------------------------ CSV Universal ------------------------\n exportToCsvUniversal(title: string, metadata: [string, string][], headers: string[], rows: any[][], fileName: string): void {\n const metaRows = metadata.map(([k, v]) => [`${k}: ${v}`]);\n const csvContent = [\n [title],\n ...metaRows,\n [],\n headers,\n ...rows.map(row => row.map(value => `\"${value}\"`))\n ].map(e => e.join(',')).join('\\n');\n\n this.downloadFile(csvContent, fileName, 'text/csv');\n }\n\n private downloadFile(data: string, filename: string, type: string): void {\n const blob = new Blob([data], { type });\n const link = document.createElement('a');\n link.href = URL.createObjectURL(blob);\n link.setAttribute('download', filename);\n document.body.appendChild(link);\n link.click();\n document.body.removeChild(link);\n }\n\n}\n","import { HttpClient } from '@angular/common/http';\nimport { ErrorHandler, Injectable, Injector } from '@angular/core';\nimport { AccGlDetailsEnquiryReportModel } from '../models/acc-gl-details-enquiry-report/accgl-details-enquiry-reportmodel';\nimport { Observable, throwError } from 'rxjs';\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ReportService {\n\n private serviceUrl: string;\n\n constructor(private http: HttpClient, private errorHandler: ErrorHandler, private injector: Injector) {\n this.serviceUrl = \"https://4xplus-local.xpressmoney.tech:8752\";\n }\n\n public getAccGLDetailsReport(formattedDate: string | undefined, dateType: string, sysCompanyCode: string, sysUserId: string, companyName: string): Observable<AccGlDetailsEnquiryReportModel> {\n if (formattedDate) {\n const apiPath = `${this.serviceUrl}/api/v1/Report/AccGlDetailsEnquiryReport/GetAccGLFDetailsEnquiryReport/${formattedDate}/${dateType}/${sysCompanyCode}/${sysUserId}/${companyName}`;\n return this.http.get<AccGlDetailsEnquiryReportModel>(apiPath);\n } else {\n\n const exampleDate = new Date().toLocaleDateString('en-GB');\n const message = `Invalid Date Format!\\nDate should be in dd/MM/yyyy format.\\nFor example: ${exampleDate} as day/month/year.`; //\\nNote : Year cannot be greater than 9999\n return throwError(() => new Error(message));\n }\n }\n\n public getUserNameFromSessionStorage() : string {\n let fossilUserName = sessionStorage.getItem('fossilusername');\n let ezremitusername = sessionStorage.getItem('ezremitusername');\n\n if (fossilUserName) {\n return fossilUserName.replace(/^\"(.*)\"$/, '$1');\n } else {\n return ezremitusername.replace(/^\"(.*)\"$/, '$1');\n }\n }\n}\n","import { Component, ErrorHandler, Injector, OnInit, ViewEncapsulation } from '@angular/core';\r\nimport { ReportService } from '../../services/report.service';\r\nimport { AccGlDetailsEnquiryReportModel } from '../../models/acc-gl-details-enquiry-report/accgl-details-enquiry-reportmodel';\r\nimport { ColDef, ColumnApi, GridApi, GridReadyEvent } from 'ag-grid-community';\r\nimport { formatDate } from '@angular/common';\r\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport 'jspdf-autotable';\r\nimport { ExportService } from '../../shared/export.service';\r\n\r\n\r\ndeclare module 'jspdf' {\r\n interface jsPDF {\r\n autoTable: (options: any) => jsPDF;\r\n }\r\n}\r\n\r\n@Component({\r\n selector: 'lib-acc-gl-details-enquiry-report',\r\n templateUrl: './acc-gl-details-enquiry-report.component.html',\r\n styleUrls: ['./acc-gl-details-enquiry-report.component.scss'],\r\n\r\n})\r\nexport class AccGlDetailsEnquiryReportComponent implements OnInit {\r\n\r\n\r\n searchText: string = '';\r\n gridApi: GridApi<any>;\r\n gridColumnApi!: ColumnApi;\r\n selectedExportOption: string = 'excel';\r\n pageSize: number = 15;\r\n svgLoader: SafeHtml = '';\r\n loading: boolean = false;\r\n dataReady: boolean = false;\r\n dateTypeFilter: number = 1;\r\n dateType: any;\r\n sysCompanyCode: any;\r\n sysUserId: any;\r\n companyName: any;\r\n reportUser: any;\r\n reportTime: any;\r\n date: any;\r\n currentReportFormattedDate: any\r\n accGlDetailsEnquiryReportModel: AccGlDetailsEnquiryReportModel;\r\n rowData = [];\r\n\r\n\r\n defaultColDef: ColDef = {\r\n resizable: true,\r\n sortable: false,\r\n minWidth: 40,\r\n suppressSizeToFit: false\r\n };\r\n\r\n columnDefs: ColDef[] = [\r\n { headerName: 'Journal ID', field: 'journalID', flex: 1.8, cellClass: 'ag-left-cols-cell compact-cell', minWidth: 91, tooltipField: 'journalID' },\r\n { headerName: 'Trans No', field: 'transactionNo', flex: 1.8, cellClass: 'ag-left-cols-cell compact-cell-transaction', minWidth: 71, tooltipField: 'transactionNo' },\r\n { headerName: 'Trans Code', field: 'transactionCode', flex: 1.2, cellClass: 'ag-left-cols-cell compact-cell', minWidth: 61, tooltipField: 'transactionCode' },\r\n { headerName: 'Journal Type', field: 'journalType', flex: 1.2, cellClass: 'ag-left-cols-cell compact-cell', minWidth: 74, tooltipField: 'journalType' },\r\n { headerName: 'Posting Date', field: 'postingDate', flex: 1.2, valueFormatter: this.formatDate, cellClass: 'ag-left-cols-cell compact-cell', minWidth: 69, tooltipValueGetter: (params) => this.formatDate(params) },\r\n { headerName: 'Value Date', field: 'valueDate', flex: 1.2, valueFormatter: this.formatDate, cellClass: 'ag-left-cols-cell compact-cell', minWidth: 68, tooltipValueGetter: (params) => this.formatDate(params), },\r\n { headerName: 'Description', field: 'description', flex: 4.8, cellClass: 'description-cell', minWidth: 119, wrapText: true, autoHeight: true, cellStyle: { 'line-height': '1.2' }, tooltipField: 'description' },\r\n { headerName: 'Account Code', field: 'accountCode', flex: 1.2, cellClass: 'ag-left-cols-cell compact-cell', minWidth: 73, tooltipField: 'accountCode' },\r\n { headerName: 'Ccy', field: 'currency', flex: 0.8, cellClass: 'ag-left-cols-cell', minWidth: 35, tooltipField: 'currency' },\r\n { headerName: 'Rate', field: 'rate', flex: 1.3, valueFormatter: this.formatNumber, cellClass: 'ag-right-aligned-cell compact-cell', minWidth: 68, tooltipValueGetter: (params) => this.formatNumber(params), },\r\n { headerName: 'FxDebit', field: 'forexDebit', flex: 1, valueFormatter: this.formatNumber, cellClass: 'ag-right-aligned-cell compact-cell', minWidth: 59, tooltipValueGetter: (params) => this.formatNumber(params), },\r\n { headerName: 'Local Debit', field: 'localDebit', flex: 1, valueFormatter: this.formatNumber, cellClass: 'ag-right-aligned-cell compact-cell', minWidth: 63, tooltipValueGetter: (params) => this.formatNumber(params), },\r\n { headerName: 'FxCredit', field: 'forexCredit', flex: 1, valueFormatter: this.formatNumber, cellClass: 'ag-right-aligned-cell compact-cell', minWidth: 59, tooltipValueGetter: (params) => this.formatNumber(params), },\r\n { headerName: 'Local Credit', field: 'localCredit', flex: 1, valueFormatter: this.formatNumber, cellClass: 'ag-right-aligned-cell compact-cell', minWidth: 63, tooltipValueGetter: (params) => this.formatNumber(params), },\r\n\r\n\r\n ];\r\n\r\n\r\n constructor(private exportService: ExportService, private reportService: ReportService, private http: HttpClient, private sanitizer: DomSanitizer, private errorHandler: ErrorHandler, private injector: Injector) {\r\n this.accGlDetailsEnquiryReportModel = undefined;\r\n }\r\n\r\n ngOnInit(): void {\r\n this.http.get('assets/reports-lib/svg-loaders/blue-tail-spin.svg', { responseType: 'text' }).subscribe(svg => {\r\n this.svgLoader = this.sanitizer.bypassSecurityTrustHtml(svg);\r\n })\r\n\r\n const today = new Date();\r\n this.date = formatDate(new Date(today), 'dd/MM/yyyy', 'en-US')\r\n }\r\n\r\n public getAccGLDetailsReport() {\r\n\r\n this.accGlDetailsEnquiryReportModel = undefined;\r\n this.loading = true;\r\n this.dataReady = false;\r\n this.pageSize = 15;\r\n this.selectedExportOption = 'excel';\r\n this.sysCompanyCode = 'BH';\r\n this.sysUserId = this.reportService.getUserNameFromSessionStorage();\r\n this.companyName = \"Xpress Money\"\r\n\r\n if (this.dateTypeFilter == 1) {\r\n this.dateType = 'VD';\r\n } else {\r\n this.dateType = 'PD';\r\n }\r\n\r\n this.reportService.getAccGLDetailsReport(this.convertToDateFromDatepicker(), this.dateType, this.sysCompanyCode, this.sysUserId, this.companyName)\r\n .subscribe(data => {\r\n this.accGlDetailsEnquiryReportModel = data;\r\n if (this.accGlDetailsEnquiryReportModel) {\r\n\r\n this.rowData = this.accGlDetailsEnquiryReportModel.journalVoucherEntries;\r\n this.companyName = this.accGlDetailsEnquiryReportModel.companyName;\r\n const userName = this.accGlDetailsEnquiryReportModel.reportUser;\r\n this.reportUser = userName.toLowerCase();\r\n const rawDate = this.accGlDetailsEnquiryReportModel.reportTime;\r\n this.reportTime = formatDate(rawDate, 'dd/MM/yyyy hh:mm a', 'en-US');\r\n this.currentReportFormattedDate = formatDate(this.convertToDateFromDatepicker(), 'dd/MM/yyyy', 'en-US')\r\n this.loading = false;\r\n this.dataReady = true;\r\n\r\n }\r\n }, error => {\r\n\r\n this.loading = false;\r\n if (typeof error === 'function') {\r\n error = error();\r\n }\r\n\r\n const globalErrorHandler = this.injector.get(ErrorHandler);\r\n globalErrorHandler.handleError(error);\r\n });\r\n }\r\n\r\n public formatDate(params: any): string {\r\n return formatDate(new Date(params.value), 'dd/MM/yyyy', 'en-US');\r\n }\r\n\r\n convertToDateFromDatepicker(): string | undefined {\r\n\r\n try {\r\n const [day, month, year] = this.date.split('/');\r\n\r\n if (year > 9999) {\r\n return undefined;\r\n }\r\n\r\n const dateFromUser = new Date(`${year}-${month}-${day}`);\r\n const formattedDateForService = dateFromUser.toISOString().split('T')[0];\r\n return formattedDateForService;\r\n } catch (error) {\r\n\r\n this.loading = false;\r\n return undefined;\r\n\r\n }\r\n\r\n\r\n\r\n }\r\n\r\n onDateChange(event: Event) {\r\n const input = event.target as HTMLInputElement;\r\n const selectedDate = input.value;\r\n this.date = formatDate(new Date(selectedDate), 'dd/MM/yyyy', 'en-US')\r\n }\r\n\r\n onEnterKey(event: Event) {\r\n const keyboardEvent = event as KeyboardEvent;\r\n keyboardEvent.preventDefault();\r\n\r\n if (keyboardEvent.target instanceof HTMLElement) {\r\n keyboardEvent.target.blur();\r\n }\r\n }\r\n\r\n\r\n onEnterhandleExport(event: Event) {\r\n this.onEnterKey(event);\r\n this.handleExport();\r\n }\r\n\r\n onGridReady(params: GridReadyEvent) {\r\n this.gridApi = params.api;\r\n this.gridColumnApi = params.columnApi;\r\n }\r\n\r\n onPageSizeChanged() {\r\n if (this.gridApi) {\r\n this.gridApi.paginationSetPageSize(this.pageSize);\r\n }\r\n }\r\n\r\n getRowHeight(params: any): number {\r\n const description = params.data?.description || '';\r\n if (description.length > 50) {\r\n return 40;\r\n }\r\n return 20;\r\n }\r\n\r\n formatNumber(params: any): string {\r\n if (params.value == null) return '';\r\n\r\n const field = params.colDef.field;\r\n\r\n if (field === 'rate') {\r\n return Number(params.value).toFixed(8);\r\n }\r\n\r\n return Number(params.value).toFixed(3);\r\n }\r\n\r\n\r\n\r\n onSearch(): void {\r\n const normalize = (str: any): string =>\r\n str?.toString()\r\n .toLowerCase()\r\n .replace(/,/g, '') // remove commas\r\n .replace(/\\s+/g, ' ') // normalize all spaces to one\r\n .replace(/[\\u200B-\\u200D\\uFEFF]/g, '') // remove invisible chars\r\n .trim();\r\n\r\n const search = normalize(this.searchText);\r\n\r\n if (search) {\r\n this.rowData = this.accGlDetailsEnquiryReportModel.journalVoucherEntries.filter(item =>\r\n Object.values(item).some(value =>\r\n normalize(value).includes(search)\r\n )\r\n );\r\n } else {\r\n this.rowData = this.accGlDetailsEnquiryReportModel.journalVoucherEntries;\r\n }\r\n }\r\n\r\n\r\n\r\n handleExport(): void {\r\n switch (this.selectedExportOption) {\r\n case 'excel':\r\n this.exportToExcel();\r\n break;\r\n case 'pdf':\r\n this.exportToPdf();\r\n break;\r\n case 'csv':\r\n this.exportToCsv();\r\n break;\r\n default:\r\n alert('Please select an export format.');\r\n }\r\n }\r\n\r\n \r\n async exportToPdf(): Promise<void> {\r\n if (!this.accGlDetailsEnquiryReportModel.journalVoucherEntries?.length) return;\r\n\r\n const title = `${this.companyName} - General Ledger Account Details Enquiry`;\r\n const metadata = this.exportService.generateReportMetadata([\r\n ['Report User : ', this.reportUser],\r\n ['Report Time : ', this.reportTime],\r\n ['Search Criteria', ' - '],\r\n [`${this.dateType == 'VD' ? 'Value Date' : 'Posting Date'}:`, this.currentReportFormattedDate]\r\n\r\n ]);\r\n\r\n const { headers, rows } = this.exportService.prepareExportTable(this.accGlDetailsEnquiryReportModel.journalVoucherEntries, this.columnDefs, {\r\n currencyFields: ['localCredit', 'forexCredit', 'localDebit', 'forexDebit']\r\n });\r\n\r\n await this.exportService.exportToPdfUniversal(title, metadata, headers, rows, 'ACC-GL-Details-Enquiry-Report.pdf');\r\n }\r\n\r\n exportToExcel(): void {\r\n if (!this.accGlDetailsEnquiryReportModel.journalVoucherEntries?.length) return;\r\n\r\n const title = `${this.companyName} - General Ledger Account Details Enquiry`;\r\n const metadata = this.exportService.generateReportMetadata([\r\n ['Report User', this.reportUser],\r\n ['Report Time', this.reportTime],\r\n ['Search Criteria', ' - '],\r\n [`${this.dateType == 'VD' ? 'Value Date' : 'Posting Date'}`, this.currentReportFormattedDate]\r\n\r\n ]);\r\n\r\n const { headers, rows } = this.exportService.prepareExportTable(this.accGlDetailsEnquiryReportModel.journalVoucherEntries, this.columnDefs, {\r\n currencyFields: ['localCredit', 'forexCredit', 'localDebit', 'forexDebit']\r\n });\r\n\r\n this.exportService.exportToExcelUniversal(title, metadata, headers, rows, 'ACC-GL-Details-Enquiry-Report.xlsx');\r\n }\r\n\r\n exportToCsv(): void {\r\n if (!this.accGlDetailsEnquiryReportModel.journalVoucherEntries?.length) return;\r\n\r\n const title = `${this.companyName} - General Ledger Account Details Enquiry`;\r\n const metadata = this.exportService.generateReportMetadata([\r\n ['Report User', this.reportUser],\r\n ['Report Time', this.reportTime],\r\n ['Search Criteria', '- '],\r\n [`${this.dateType == 'VD' ? 'Value Date' : 'Posting Date'}`, this.currentReportFormattedDate]\r\n\r\n ]);\r\n\r\n const { headers, rows } = this.exportService.prepareExportTable(this.accGlDetailsEnquiryReportModel.journalVoucherEntries, this.columnDefs, {\r\n currencyFields: ['localCredit', 'forexCredit', 'localDebit', 'forexDebit']\r\n });\r\n\r\n this.exportService.exportToCsvUniversal(title, metadata, headers, rows, 'ACC-GL-Details-Enquiry-Report.csv');\r\n }\r\n\r\n}\r\n","<h6 class=\"Breadcrumb\">\r\n <a class=\"BreadCrumbLink\" [routerLink]=\"['/reports']\">\r\n <h1>Reports</h1>\r\n </a>\r\n <a href=\"BreadCrumbLink\"></a>\r\n <span class=\"BreadCrumbArrow\"></span>\r\n <a class=\"BreadCrumbLink\">\r\n <h2 class=\"report-name\">ACC GL Details Enquiry</h2>\r\n </a>\r\n</h6>\r\n\r\n<div class=\"bootstrap-scope\" >\r\n <div class=\"main-container\">\r\n <div class=\"form-container\">\r\n <form class=\"d-flex align-items-center gap-2\">\r\n <div class=\"d-flex align-items-center gap-2\">\r\n <label for=\"dateTypeFilter\" class=\"compact-label\">Date Type</label>\r\n <select class=\"form-select form-control w-auto compact-input\" name=\"dateTypeFilter\"\r\n [(ngModel)]=\"dateTypeFilter\" id=\"dateTypeFilter\">\r\n <option [ngValue]=\"1\">Value Date</option>\r\n <option [ngValue]=\"2\">Posting Date</option>\r\n </select>\r\n </div>\r\n <div class=\"d-flex align-items-center gap-2\" style=\"margin-left: 20px;\">\r\n <label for=\"date\" class=\"compact-label\">Date</label>\r\n <div class=\"date-picker-wrapper\">\r\n <input type=\"text\" class=\"form-control date-picker-input-1\" name=\"date\" [(ngModel)]=\"date\" id=\"date\"\r\n placeholder=\"dd/MM/yyyy\" (keydown.enter)=\"onEnterKey($event)\" />\r\n <input type=\"date\" class=\"form-control date-picker-input-2\" (change)=\"onDateChange($event)\"\r\n (keydown.enter)=\"onEnterKey($event)\" />\r\n </div>\r\n </div>\r\n <div>\r\n <button class=\"btn-primary\" type=\"submit\" (click)=\"getAccGLDetailsReport()\">View Report</button>\r\n </div>\r\n </form>\r\n </div>\r\n\r\n <hr />\r\n <div class=\"report-loader\" *ngIf=\"loading && svgLoader\" [innerHTML]=\"svgLoader\"></div>\r\n\r\n <div class=\"report-container\" *ngIf=\"accGlDetailsEnquiryReportModel != undefined && dataReady\">\r\n <div class=\"main-report\" *ngIf=\"accGlDetailsEnquiryReportModel != undefined && dataReady\">\r\n <h1 class=\"title\">General Ledger Account Details Enquiry</h1>\r\n <div class=\"report-content\">\r\n <div class=\"left-section\">\r\n <div class=\"labels\">\r\n <p><b>Company</b></p>\r\n <p><b>{{ dateType ==\r\n 'VD' ? 'Value Date' : 'Posting Date' }}</b></p>\r\n </div>\r\n <div class=\"values\">\r\n <p>: {{ companyName }}</p>\r\n <p>: {{currentReportFormattedDate}}</p>\r\n </div>\r\n </div>\r\n <div class=\"right-section\">\r\n <div class=\"labels\">\r\n <p><b>Report User</b></p>\r\n <p><b>Report Time</b></p>\r\n </div>\r\n <div class=\"values\">\r\n <p>: {{ reportUser }}</p>\r\n <p>: {{ reportTime }}</p>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"d-flex justify-content-between align-items-center mt-3 mb-3 flex-wrap\">\r\n <div class=\"d-flex align-items-center gap-2\">\r\n <div class=\"d-flex justify-content-end align-items-center\">\r\n <input type=\"text\" [(ngModel)]=\"searchText\" name=\"searchText\" (ngModelChange)=\"onSearch()\"\r\n class=\"form-control custom-search-class\" placeholder=\"Search...\" />\r\n <button type=\"button\" class=\"btn btn-sm p-0 search-button\" (click)=\"onSearch()\">\r\n <img src=\"assets/reports-lib/images/Search.svg\" alt=\"Search\" class=\"search-button-image\" />\r\n </button>\r\n </div>\r\n </div>\r\n <div class=\"d-flex align-items-center\">\r\n <select class=\"form-select form-control compact-input\" name=\"selectedExportOption\" id=\"selectedExportOption\"\r\n [(ngModel)]=\"selectedExportOption\" (keydown.enter)=\"onEnterhandleExport($event)\">\r\n <option value='csv'>CSV</option>\r\n <option value='excel'>Excel</option>\r\n <option value='pdf'>PDF</option>\r\n </select>\r\n <button type=\"button\" class=\"btn-primary\" (click)=\"handleExport()\">Export</button>\r\n </div>\r\n </div>\r\n\r\n <div style=\"position: relative;\">\r\n <div class=\"d-flex align-items-center gap-2 entries-selecter-div\">\r\n <select class=\"form-select custom-height w-auto\" id=\"pageSize\" [(ngModel)]=\"pageSize\"\r\n (change)=\"onPageSizeChanged()\">\r\n <option [ngValue]=\"10\">10</option>\r\n <option [ngValue]=\"15\">15</option>\r\n <option [ngValue]=\"20\">20</option>\r\n <option [ngValue]=\"30\">30</option>\r\n <option [ngValue]=\"50\">50</option>\r\n <option [ngValue]=\"100\">100</option>\r\n <option [ngValue]=\"200\">200</option>\r\n <option [ngValue]=\"accGlDetailsEnquiryReportModel?.journalVoucherEntries?.length\">All</option>\r\n </select>\r\n <label class=\"entry-label\" for=\"pageSize\">Entries\r\n Per Page</label>\r\n </div>\r\n\r\n <ag-grid-angular class=\"ag-theme-alpine compact-grid grid-size\" [rowData]=\"rowData\" [columnDefs]=\"columnDefs\"\r\n [defaultColDef]=\"defaultColDef\" [animateRows]=\"true\" [rowHeight]=\"20\" [headerHeight]=\"24\"\r\n [pagination]=\"true\" [domLayout]=\"'normal'\" [paginationPageSize]=\"pageSize\"\r\n [suppressHorizontalScroll]=\"false\" [suppressRowHoverHighlight]=\"false\"\r\n [getRowHeight]=\"getRowHeight.bind(this)\" (gridReady)=\"onGridReady($event)\"\r\n [suppressDragLeaveHidesColumns]=\"true\" [suppressMovableColumns]=\"false\">\r\n </ag-grid-angular>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>","\r\nimport { NgModule } from '@angular/core';\r\n\r\n@NgModule({})\r\nexport class ReportsLibRoutingModule {}\r\n","import { NgModule } from '@angular/core';\r\nimport { ReportsLibComponent } from './reports-lib.component';\r\nimport { AccGlDetailsEnquiryReportComponent } from './components/acc-gl-details-enquiry-report/acc-gl-details-enquiry-report.component';\r\nimport { AgGridModule } from 'ag-grid-angular';\r\nimport { ReportsLibRoutingModule } from './reports-lib-routing.module';\r\nimport { OAuthModule } from 'angular-oauth2-oidc';\r\nimport { NgIdleModule } from '@ng-idle/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { RouterModule } from '@angular/router';\r\n\r\n\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n ReportsLibComponent,\r\n\r\n AccGlDetailsEnquiryReportComponent\r\n ],\r\n imports: [\r\n AgGridModule,\r\n ReportsLibRoutingModule,\r\n CommonModule,\r\n NgIdleModule.forRoot(),\r\n OAuthModule.forRoot(),\r\n FormsModule,\r\n RouterModule\r\n\r\n ],\r\n providers: [],\r\n exports: [\r\n ReportsLibComponent,\r\n AccGlDetailsEnquiryReportComponent\r\n ]\r\n})\r\nexport class ReportsLibModule { }\r\n","/*\r\n * Public API Surface of reports-lib\r\n */\r\n\r\n\r\n\r\nexport * from './lib/reports-lib.service';\r\nexport * from './lib/reports-lib.component';\r\nexport * from './lib/reports-lib.module';\r\nexport * from './lib/components/acc-gl-details-enquiry-report/acc-gl-details-enquiry-report.component';","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.ExportService","i2.ReportService","i3"],"mappings":"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"}
1
+ {"version":3,"file":"sachin9822-reports-lib.mjs","sources":["../../../projects/reports-lib/src/lib/reports-lib.service.ts","../../../projects/reports-lib/src/lib/reports-lib.component.ts","../../../projects/reports-lib/src/lib/shared/export.service.ts","../../../projects/reports-lib/src/lib/services/report.service.ts","../../../projects/reports-lib/src/lib/components/acc-gl-details-enquiry-report/acc-gl-details-enquiry-report.component.ts","../../../projects/reports-lib/src/lib/components/acc-gl-details-enquiry-report/acc-gl-details-enquiry-report.component.html","../../../projects/reports-lib/src/lib/reports-lib-routing.module.ts","../../../projects/reports-lib/src/lib/reports-lib.module.ts","../../../projects/reports-lib/src/public-api.ts","../../../projects/reports-lib/src/sachin9822-reports-lib.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ReportsLibService {\r\n\r\n constructor() { }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'lib-reports-lib',\r\n template: `\r\n <p>\r\n reports-lib works!\r\n </p>\r\n `,\r\n styles: [\r\n ]\r\n})\r\nexport class ReportsLibComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\nimport jsPDF from 'jspdf';\nimport 'jspdf-autotable';\nimport * as ExcelJS from 'exceljs';\nimport * as FileSaver from 'file-saver';\n\ndeclare module 'jspdf' {\n interface jsPDF {\n autoTable: (options: any) => jsPDF;\n }\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ExportService {\n\n private readonly pdfFontSize = 10;\n private readonly pdfLineHeight = 7;\n private readonly pdfLeftMargin = 15;\n private logoBase64: string | undefined;\n\n constructor() {\n this.loadImageAsBase64('assets/reports-lib/assets/images/XMLogo.png').then(base64 => {\n this.logoBase64 = base64;\n });\n }\n\n // ------------------------ Utility ------------------------\n private loadImageAsBase64(imagePath: string): Promise<string> {\n return new Promise((resolve, reject) => {\n const img = new Image();\n img.crossOrigin = 'anonymous';\n img.src = imagePath;\n\n img.onload = () => {\n const scale = 6;\n const canvas = document.createElement('canvas');\n canvas.width = img.width * scale;\n canvas.height = img.height * scale;\n\n const ctx = canvas.getContext('2d');\n if (ctx) {\n ctx.scale(scale, scale);\n ctx.drawImage(img, 0, 0);\n const base64 = canvas.toDataURL('image/png', 1.0); // 1.0 = highest quality\n resolve(base64);\n } else {\n reject('Failed to get canvas context.');\n }\n };\n\n img.onerror = () => reject('Failed to load image: ' + imagePath);\n });\n }\n\n formatDate(value: any): string {\n const date = new Date(value);\n return isNaN(date.getTime()) ? '' :\n `${date.getDate().toString().padStart(2, '0')}/${(date.getMonth() + 1).toString().padStart(2, '0')}/${date.getFullYear()}`;\n }\n formatDateTime(date: Date): string {\n return `${date.getDate().toString().padStart(2, '0')}/` +\n `${(date.getMonth() + 1).toString().padStart(2, '0')}/` +\n `${date.getFullYear()} ` +\n `${date.getHours().toString().padStart(2, '0')}:` +\n `${date.getMinutes().toString().padStart(2, '0')}`;\n }\n\n generateReportMetadata(metadata: [string, string][]): [string, string][] {\n return metadata.filter(([_, value]) => value !== undefined && value !== null);\n }\n\n prepareExportTable(data: any[], columnDefs: any[], options: {\n excludeFields?: string[],\n currencyFields?: string[]\n } = {}): { headers: string[], rows: any[][] } {\n const { excludeFields = ['srno', 'serial', 'action'], currencyFields = [] } = options;\n\n const filteredColumns = columnDefs.filter(col =>\n col.field &&\n !excludeFields.some(ex => col.field.toLowerCase().includes(ex)) &&\n !excludeFields.some(ex => col.headerName?.toLowerCase().includes(ex))\n );\n\n const headers = ['Sr No', ...filteredColumns.map(col => col.headerName || col.field)];\n\n const rows = data.map((row, index) => {\n const rowData = filteredColumns.map(col => {\n let value = row[col.field];\n const fieldName = col.field?.toLowerCase() || '';\n\n // Handle various date field names\n if (\n (fieldName.includes('date') ||\n fieldName.includes('businessdate')) &&\n value\n ) {\n value = this.formatDate(value);\n }\n\n // Format currency fields\n if (currencyFields.includes(col.field) && value != null) {\n value = parseFloat(value).toFixed(3);\n }\n return value ?? '';\n });\n return [index + 1, ...rowData];\n });\n return { headers, rows };\n }\n\n // ------------------------ PDF Universal ------------------------\n async exportToPdfUniversal(title: string, metadata: [string, string][], headers: string[], rows: any[][], fileName: string): Promise<void> {\n const doc = new jsPDF({ orientation: 'landscape', unit: 'mm', format: [400, 210] });\n\n const logoWidth = 38.4, logoHeight = 17.5, logoX = 15, logoY = 10;\n const pageWidth = doc.internal.pageSize.width;\n const titleY = 18;\n\n if (this.logoBase64) {\n doc.addImage(this.logoBase64, 'PNG', logoX, logoY, logoWidth, logoHeight);\n }\n\n doc.setFontSize(15);\n doc.setFont('helvetica', 'bold');\n doc.text(title, pageWidth / 2, titleY, { align: 'center' });\n\n let currentY = titleY + 14;\n doc.setFontSize(this.pdfFontSize);\n metadata.forEach(([label, value], i) => {\n const y = currentY + i * this.pdfLineHeight;\n doc.setFont('helvetica', 'bold');\n doc.text(label, this.pdfLeftMargin, y);\n const labelWidth = doc.getTextWidth(label + ' ');\n doc.setFont('helvetica', 'normal');\n doc.text(value, this.pdfLeftMargin + labelWidth, y);\n });\n currentY += metadata.length * this.pdfLineHeight + 5;\n\n const columnStyles: { [key: number]: any } = {};\n headers.forEach((_, i) => columnStyles[i] = { cellWidth: 'auto' });\n\n doc.autoTable({\n head: [headers],\n body: rows,\n startY: currentY,\n theme: 'grid',\n headStyles: {\n fillColor: [220, 220, 220], textColor: 0,\n fontStyle: 'bold', fontSize: 9, halign: 'center',\n },\n bodyStyles: { fontSize: 8, fillColor: [255, 255, 255], textColor: [0, 0, 0] },\n styles: { cellPadding: 2, overflow: 'linebreak', minCellHeight: 6 },\n columnStyles\n });\n\n doc.save(fileName);\n }\n\n // ------------------------ Excel Universal ------------------------\n exportToExcelUniversal(title: string, metadata: [string, string][], headers: string[], rows: any[][], fileName: string): void {\n const workbook = new ExcelJS.Workbook();\n const worksheet = workbook.addWorksheet(title);\n\n let currentRow = 1;\n\n // Add image if available\n if (this.logoBase64) {\n const base64Data = this.logoBase64.replace(/^data:image\\/\\w+;base64,/, '');\n const imageId = workbook.addImage({\n base64: base64Data,\n extension: 'png',\n });\n\n // Place image at top-left (e.g., A1:C4)\n worksheet.addImage(imageId, {\n tl: { col: 0, row: 0 },\n ext: { width: 145, height: 66 },\n editAs: 'oneCell'\n });\n }\n\n // Add title aligned in middle horizontally (merged across all columns)\n const titleRow = worksheet.getRow(currentRow);\n titleRow.getCell(4).value = title;\n titleRow.getCell(4).font = { bold: true, size: 16 };\n titleRow.getCell(4).alignment = { vertical: 'middle', horizontal: 'left' };\n\n const titleMergeEnd = String.fromCharCode(64 + headers.length);\n worksheet.mergeCells(`D${currentRow}:${titleMergeEnd}${currentRow}`);\n currentRow += 3; // Move past image space\n\n // Add metadata\n metadata.forEach(([label, value]) => {\n const row = worksheet.getRow(currentRow++);\n const cell = row.getCell(1);\n cell.value = {\n richText: [\n { text: `${label}: `, font: { bold: true } },\n { text: value ?? '', font: { bold: false } }\n ]\n };\n worksheet.mergeCells(`A${row.number}:${String.fromCharCode(64 + headers.length)}${row.number}`);\n });\n\n worksheet.addRow([]);\n currentRow++;\n\n // Add table header row\n const headerRow = worksheet.getRow(currentRow++);\n headers.forEach((header, i) => {\n const cell = headerRow.getCell(i + 1);\n cell.value = header;\n cell.font = { bold: true };\n cell.fill = { type: 'pattern', pattern: 'solid', fgColor: { argb: 'D9D9D9' } };\n cell.alignment = { vertical: 'middle', horizontal: 'center' };\n cell.border = {\n top: { style: 'thin' },\n bottom: { style: 'thin' },\n left: { style: 'thin' },\n right: { style: 'thin' }\n };\n });\n\n const dataStartRow = currentRow;\n rows.forEach(rowData => {\n const row = worksheet.getRow(currentRow++);\n rowData.forEach((value, i) => {\n const cell = row.getCell(i + 1);\n cell.value = value;\n cell.border = {\n top: { style: 'thin' },\n bottom: { style: 'thin' },\n left: { style: 'thin' },\n right: { style: 'thin' }\n };\n });\n });\n\n // Auto column widths\n for (let i = 1; i <= headers.length; i++) {\n let maxLength = headers[i - 1].length;\n for (let rowNum = dataStartRow; rowNum <= worksheet.lastRow!.number; rowNum++) {\n const val = worksheet.getRow(rowNum).getCell(i).value?.toString() || '';\n maxLength = Math.max(maxLength, val.length);\n }\n worksheet.getColumn(i).width = maxLength + 2;\n }\n\n workbook.xlsx.writeBuffer().then(buffer => {\n const blob = new Blob([buffer], {\n type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'\n });\n FileSaver.saveAs(blob, fileName);\n });\n }\n\n\n // ------------------------ CSV Universal ------------------------\n exportToCsvUniversal(title: string, metadata: [string, string][], headers: string[], rows: any[][], fileName: string): void {\n const metaRows = metadata.map(([k, v]) => [`${k}: ${v}`]);\n const csvContent = [\n [title],\n ...metaRows,\n [],\n headers,\n ...rows.map(row => row.map(value => `\"${value}\"`))\n ].map(e => e.join(',')).join('\\n');\n\n this.downloadFile(csvContent, fileName, 'text/csv');\n }\n\n private downloadFile(data: string, filename: string, type: string): void {\n const blob = new Blob([data], { type });\n const link = document.createElement('a');\n link.href = URL.createObjectURL(blob);\n link.setAttribute('download', filename);\n document.body.appendChild(link);\n link.click();\n document.body.removeChild(link);\n }\n\n}\n","import { HttpClient } from '@angular/common/http';\nimport { ErrorHandler, Injectable, Injector } from '@angular/core';\nimport { AccGlDetailsEnquiryReportModel } from '../models/acc-gl-details-enquiry-report/accgl-details-enquiry-reportmodel';\nimport { Observable, throwError } from 'rxjs';\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ReportService {\n\n private serviceUrl: string;\n\n constructor(private http: HttpClient, private errorHandler: ErrorHandler, private injector: Injector) {\n this.serviceUrl = \"https://4xplus-local.xpressmoney.tech:8752\";\n }\n\n public getAccGLDetailsReport(formattedDate: string | undefined, dateType: string, sysCompanyCode: string, sysUserId: string, companyName: string): Observable<AccGlDetailsEnquiryReportModel> {\n if (formattedDate) {\n const apiPath = `${this.serviceUrl}/api/v1/Report/AccGlDetailsEnquiryReport/GetAccGLFDetailsEnquiryReport/${formattedDate}/${dateType}/${sysCompanyCode}/${sysUserId}/${companyName}`;\n return this.http.get<AccGlDetailsEnquiryReportModel>(apiPath);\n } else {\n\n const exampleDate = new Date().toLocaleDateString('en-GB');\n const message = `Invalid Date Format!\\nDate should be in dd/MM/yyyy format.\\nFor example: ${exampleDate} as day/month/year.`; //\\nNote : Year cannot be greater than 9999\n return throwError(() => new Error(message));\n }\n }\n\n public getUserNameFromSessionStorage() : string {\n let fossilUserName = sessionStorage.getItem('fossilusername');\n let ezremitusername = sessionStorage.getItem('ezremitusername');\n\n if (fossilUserName) {\n return fossilUserName.replace(/^\"(.*)\"$/, '$1');\n } else {\n return ezremitusername.replace(/^\"(.*)\"$/, '$1');\n }\n }\n}\n","import { Component, ErrorHandler, Injector, OnInit, ViewEncapsulation } from '@angular/core';\r\nimport { ReportService } from '../../services/report.service';\r\nimport { AccGlDetailsEnquiryReportModel } from '../../models/acc-gl-details-enquiry-report/accgl-details-enquiry-reportmodel';\r\nimport { ColDef, ColumnApi, GridApi, GridReadyEvent } from 'ag-grid-community';\r\nimport { formatDate } from '@angular/common';\r\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport 'jspdf-autotable';\r\nimport { ExportService } from '../../shared/export.service';\r\n\r\n\r\ndeclare module 'jspdf' {\r\n interface jsPDF {\r\n autoTable: (options: any) => jsPDF;\r\n }\r\n}\r\n\r\n@Component({\r\n selector: 'lib-acc-gl-details-enquiry-report',\r\n templateUrl: './acc-gl-details-enquiry-report.component.html',\r\n styleUrls: ['./acc-gl-details-enquiry-report.component.scss'],\r\n\r\n})\r\nexport class AccGlDetailsEnquiryReportComponent implements OnInit {\r\n\r\n\r\n searchText: string = '';\r\n gridApi: GridApi<any>;\r\n gridColumnApi!: ColumnApi;\r\n selectedExportOption: string = 'excel';\r\n pageSize: number = 15;\r\n svgLoader: SafeHtml = '';\r\n loading: boolean = false;\r\n dataReady: boolean = false;\r\n dateTypeFilter: number = 1;\r\n dateType: any;\r\n sysCompanyCode: any;\r\n sysUserId: any;\r\n companyName: any;\r\n reportUser: any;\r\n reportTime: any;\r\n date: any;\r\n currentReportFormattedDate: any\r\n accGlDetailsEnquiryReportModel: AccGlDetailsEnquiryReportModel;\r\n rowData = [];\r\n\r\n\r\n defaultColDef: ColDef = {\r\n resizable: true,\r\n sortable: false,\r\n minWidth: 40,\r\n suppressSizeToFit: false\r\n };\r\n\r\n columnDefs: ColDef[] = [\r\n { headerName: 'Journal ID', field: 'journalID', flex: 1.8, cellClass: 'ag-left-cols-cell compact-cell', minWidth: 91, tooltipField: 'journalID' },\r\n { headerName: 'Trans No', field: 'transactionNo', flex: 1.8, cellClass: 'ag-left-cols-cell compact-cell-transaction', minWidth: 71, tooltipField: 'transactionNo' },\r\n { headerName: 'Trans Code', field: 'transactionCode', flex: 1.2, cellClass: 'ag-left-cols-cell compact-cell', minWidth: 61, tooltipField: 'transactionCode' },\r\n { headerName: 'Journal Type', field: 'journalType', flex: 1.2, cellClass: 'ag-left-cols-cell compact-cell', minWidth: 74, tooltipField: 'journalType' },\r\n { headerName: 'Posting Date', field: 'postingDate', flex: 1.2, valueFormatter: this.formatDate, cellClass: 'ag-left-cols-cell compact-cell', minWidth: 69, tooltipValueGetter: (params) => this.formatDate(params) },\r\n { headerName: 'Value Date', field: 'valueDate', flex: 1.2, valueFormatter: this.formatDate, cellClass: 'ag-left-cols-cell compact-cell', minWidth: 68, tooltipValueGetter: (params) => this.formatDate(params), },\r\n { headerName: 'Description', field: 'description', flex: 4.8, cellClass: 'description-cell', minWidth: 119, wrapText: true, autoHeight: true, cellStyle: { 'line-height': '1.2' }, tooltipField: 'description' },\r\n { headerName: 'Account Code', field: 'accountCode', flex: 1.2, cellClass: 'ag-left-cols-cell compact-cell', minWidth: 73, tooltipField: 'accountCode' },\r\n { headerName: 'Ccy', field: 'currency', flex: 0.8, cellClass: 'ag-left-cols-cell', minWidth: 35, tooltipField: 'currency' },\r\n { headerName: 'Rate', field: 'rate', flex: 1.3, valueFormatter: this.formatNumber, cellClass: 'ag-right-aligned-cell compact-cell', minWidth: 68, tooltipValueGetter: (params) => this.formatNumber(params), },\r\n { headerName: 'FxDebit', field: 'forexDebit', flex: 1, valueFormatter: this.formatNumber, cellClass: 'ag-right-aligned-cell compact-cell', minWidth: 59, tooltipValueGetter: (params) => this.formatNumber(params), },\r\n { headerName: 'Local Debit', field: 'localDebit', flex: 1, valueFormatter: this.formatNumber, cellClass: 'ag-right-aligned-cell compact-cell', minWidth: 63, tooltipValueGetter: (params) => this.formatNumber(params), },\r\n { headerName: 'FxCredit', field: 'forexCredit', flex: 1, valueFormatter: this.formatNumber, cellClass: 'ag-right-aligned-cell compact-cell', minWidth: 59, tooltipValueGetter: (params) => this.formatNumber(params), },\r\n { headerName: 'Local Credit', field: 'localCredit', flex: 1, valueFormatter: this.formatNumber, cellClass: 'ag-right-aligned-cell compact-cell', minWidth: 63, tooltipValueGetter: (params) => this.formatNumber(params), },\r\n\r\n\r\n ];\r\n\r\n\r\n constructor(private exportService: ExportService, private reportService: ReportService, private http: HttpClient, private sanitizer: DomSanitizer, private errorHandler: ErrorHandler, private injector: Injector) {\r\n this.accGlDetailsEnquiryReportModel = undefined;\r\n }\r\n\r\n ngOnInit(): void {\r\n this.http.get('assets/reports-lib/assets/svg-loaders/blue-tail-spin.svg', { responseType: 'text' }).subscribe(svg => {\r\n this.svgLoader = this.sanitizer.bypassSecurityTrustHtml(svg);\r\n })\r\n\r\n const today = new Date();\r\n this.date = formatDate(new Date(today), 'dd/MM/yyyy', 'en-US')\r\n }\r\n\r\n public getAccGLDetailsReport() {\r\n\r\n this.accGlDetailsEnquiryReportModel = undefined;\r\n this.loading = true;\r\n this.dataReady = false;\r\n this.pageSize = 15;\r\n this.selectedExportOption = 'excel';\r\n this.sysCompanyCode = 'BH';\r\n this.sysUserId = this.reportService.getUserNameFromSessionStorage();\r\n this.companyName = \"Xpress Money\"\r\n\r\n if (this.dateTypeFilter == 1) {\r\n this.dateType = 'VD';\r\n } else {\r\n this.dateType = 'PD';\r\n }\r\n\r\n this.reportService.getAccGLDetailsReport(this.convertToDateFromDatepicker(), this.dateType, this.sysCompanyCode, this.sysUserId, this.companyName)\r\n .subscribe(data => {\r\n this.accGlDetailsEnquiryReportModel = data;\r\n if (this.accGlDetailsEnquiryReportModel) {\r\n\r\n this.rowData = this.accGlDetailsEnquiryReportModel.journalVoucherEntries;\r\n this.companyName = this.accGlDetailsEnquiryReportModel.companyName;\r\n const userName = this.accGlDetailsEnquiryReportModel.reportUser;\r\n this.reportUser = userName.toLowerCase();\r\n const rawDate = this.accGlDetailsEnquiryReportModel.reportTime;\r\n this.reportTime = formatDate(rawDate, 'dd/MM/yyyy hh:mm a', 'en-US');\r\n this.currentReportFormattedDate = formatDate(this.convertToDateFromDatepicker(), 'dd/MM/yyyy', 'en-US')\r\n this.loading = false;\r\n this.dataReady = true;\r\n\r\n }\r\n }, error => {\r\n\r\n this.loading = false;\r\n if (typeof error === 'function') {\r\n error = error();\r\n }\r\n\r\n const globalErrorHandler = this.injector.get(ErrorHandler);\r\n globalErrorHandler.handleError(error);\r\n });\r\n }\r\n\r\n public formatDate(params: any): string {\r\n return formatDate(new Date(params.value), 'dd/MM/yyyy', 'en-US');\r\n }\r\n\r\n convertToDateFromDatepicker(): string | undefined {\r\n\r\n try {\r\n const [day, month, year] = this.date.split('/');\r\n\r\n if (year > 9999) {\r\n return undefined;\r\n }\r\n\r\n const dateFromUser = new Date(`${year}-${month}-${day}`);\r\n const formattedDateForService = dateFromUser.toISOString().split('T')[0];\r\n return formattedDateForService;\r\n } catch (error) {\r\n\r\n this.loading = false;\r\n return undefined;\r\n\r\n }\r\n }\r\n\r\n onDateChange(event: Event) {\r\n const input = event.target as HTMLInputElement;\r\n const selectedDate = input.value;\r\n this.date = formatDate(new Date(selectedDate), 'dd/MM/yyyy', 'en-US')\r\n }\r\n\r\n onEnterKey(event: Event) {\r\n const keyboardEvent = event as KeyboardEvent;\r\n keyboardEvent.preventDefault();\r\n\r\n if (keyboardEvent.target instanceof HTMLElement) {\r\n keyboardEvent.target.blur();\r\n }\r\n }\r\n\r\n onEnterhandleExport(event: Event) {\r\n this.onEnterKey(event);\r\n this.handleExport();\r\n }\r\n\r\n onGridReady(params: GridReadyEvent) {\r\n this.gridApi = params.api;\r\n this.gridColumnApi = params.columnApi;\r\n }\r\n\r\n onPageSizeChanged() {\r\n if (this.gridApi) {\r\n this.gridApi.paginationSetPageSize(this.pageSize);\r\n }\r\n }\r\n\r\n getRowHeight(params: any): number {\r\n const description = params.data?.description || '';\r\n if (description.length > 50) {\r\n return 40;\r\n }\r\n return 20;\r\n }\r\n\r\n formatNumber(params: any): string {\r\n if (params.value == null) return '';\r\n\r\n const field = params.colDef.field;\r\n\r\n if (field === 'rate') {\r\n return Number(params.value).toFixed(8);\r\n }\r\n\r\n return Number(params.value).toFixed(3);\r\n }\r\n\r\n onSearch(): void {\r\n const normalize = (str: any): string =>\r\n str?.toString()\r\n .toLowerCase()\r\n .replace(/,/g, '') // remove commas\r\n .replace(/\\s+/g, ' ') // normalize all spaces to one\r\n .replace(/[\\u200B-\\u200D\\uFEFF]/g, '') // remove invisible chars\r\n .trim();\r\n\r\n const search = normalize(this.searchText);\r\n\r\n if (search) {\r\n this.rowData = this.accGlDetailsEnquiryReportModel.journalVoucherEntries.filter(item =>\r\n Object.values(item).some(value =>\r\n normalize(value).includes(search)\r\n )\r\n );\r\n } else {\r\n this.rowData = this.accGlDetailsEnquiryReportModel.journalVoucherEntries;\r\n }\r\n }\r\n\r\n handleExport(): void {\r\n switch (this.selectedExportOption) {\r\n case 'excel':\r\n this.exportToExcel();\r\n break;\r\n case 'pdf':\r\n this.exportToPdf();\r\n break;\r\n case 'csv':\r\n this.exportToCsv();\r\n break;\r\n default:\r\n alert('Please select an export format.');\r\n }\r\n }\r\n\r\n async exportToPdf(): Promise<void> {\r\n if (!this.accGlDetailsEnquiryReportModel.journalVoucherEntries?.length) return;\r\n\r\n const title = `${this.companyName} - General Ledger Account Details Enquiry`;\r\n const metadata = this.exportService.generateReportMetadata([\r\n ['Report User : ', this.reportUser],\r\n ['Report Time : ', this.reportTime],\r\n ['Search Criteria', ' - '],\r\n [`${this.dateType == 'VD' ? 'Value Date' : 'Posting Date'}:`, this.currentReportFormattedDate]\r\n\r\n ]);\r\n\r\n const { headers, rows } = this.exportService.prepareExportTable(this.accGlDetailsEnquiryReportModel.journalVoucherEntries, this.columnDefs, {\r\n currencyFields: ['localCredit', 'forexCredit', 'localDebit', 'forexDebit']\r\n });\r\n\r\n await this.exportService.exportToPdfUniversal(title, metadata, headers, rows, 'ACC-GL-Details-Enquiry-Report.pdf');\r\n }\r\n\r\n exportToExcel(): void {\r\n if (!this.accGlDetailsEnquiryReportModel.journalVoucherEntries?.length) return;\r\n\r\n const title = `${this.companyName} - General Ledger Account Details Enquiry`;\r\n const metadata = this.exportService.generateReportMetadata([\r\n ['Report User', this.reportUser],\r\n ['Report Time', this.reportTime],\r\n ['Search Criteria', ' - '],\r\n [`${this.dateType == 'VD' ? 'Value Date' : 'Posting Date'}`, this.currentReportFormattedDate]\r\n\r\n ]);\r\n\r\n const { headers, rows } = this.exportService.prepareExportTable(this.accGlDetailsEnquiryReportModel.journalVoucherEntries, this.columnDefs, {\r\n currencyFields: ['localCredit', 'forexCredit', 'localDebit', 'forexDebit']\r\n });\r\n\r\n this.exportService.exportToExcelUniversal(title, metadata, headers, rows, 'ACC-GL-Details-Enquiry-Report.xlsx');\r\n }\r\n\r\n exportToCsv(): void {\r\n if (!this.accGlDetailsEnquiryReportModel.journalVoucherEntries?.length) return;\r\n\r\n const title = `${this.companyName} - General Ledger Account Details Enquiry`;\r\n const metadata = this.exportService.generateReportMetadata([\r\n ['Report User', this.reportUser],\r\n ['Report Time', this.reportTime],\r\n ['Search Criteria', '- '],\r\n [`${this.dateType == 'VD' ? 'Value Date' : 'Posting Date'}`, this.currentReportFormattedDate]\r\n\r\n ]);\r\n\r\n const { headers, rows } = this.exportService.prepareExportTable(this.accGlDetailsEnquiryReportModel.journalVoucherEntries, this.columnDefs, {\r\n currencyFields: ['localCredit', 'forexCredit', 'localDebit', 'forexDebit']\r\n });\r\n\r\n this.exportService.exportToCsvUniversal(title, metadata, headers, rows, 'ACC-GL-Details-Enquiry-Report.csv');\r\n }\r\n\r\n}\r\n","<h6 class=\"Breadcrumb\">\r\n <a class=\"BreadCrumbLink\" [routerLink]=\"['/reports']\">\r\n <h1>Reports</h1>\r\n </a>\r\n <a href=\"BreadCrumbLink\"></a>\r\n <span class=\"BreadCrumbArrow\"></span>\r\n <a class=\"BreadCrumbLink\">\r\n <h2 class=\"report-name\">ACC GL Details Enquiry</h2>\r\n </a>\r\n</h6>\r\n\r\n<div class=\"bootstrap-scope\" >\r\n <div class=\"main-container\">\r\n <div class=\"form-container\">\r\n <form class=\"d-flex align-items-center gap-2\">\r\n <div class=\"d-flex align-items-center gap-2\">\r\n <label for=\"dateTypeFilter\" class=\"compact-label\">Date Type</label>\r\n <select class=\"form-select form-control w-auto compact-input\" name=\"dateTypeFilter\"\r\n [(ngModel)]=\"dateTypeFilter\" id=\"dateTypeFilter\">\r\n <option [ngValue]=\"1\">Value Date</option>\r\n <option [ngValue]=\"2\">Posting Date</option>\r\n </select>\r\n </div>\r\n <div class=\"d-flex align-items-center gap-2\" style=\"margin-left: 20px;\">\r\n <label for=\"date\" class=\"compact-label\">Date</label>\r\n <div class=\"date-picker-wrapper\">\r\n <input type=\"text\" class=\"form-control date-picker-input-1\" name=\"date\" [(ngModel)]=\"date\" id=\"date\"\r\n placeholder=\"dd/MM/yyyy\" (keydown.enter)=\"onEnterKey($event)\" />\r\n <input type=\"date\" class=\"form-control date-picker-input-2\" (change)=\"onDateChange($event)\"\r\n (keydown.enter)=\"onEnterKey($event)\" />\r\n </div>\r\n </div>\r\n <div>\r\n <button class=\"btn-primary\" type=\"submit\" (click)=\"getAccGLDetailsReport()\">View Report</button>\r\n </div>\r\n </form>\r\n </div>\r\n\r\n <hr />\r\n <div class=\"report-loader\" *ngIf=\"loading && svgLoader\" [innerHTML]=\"svgLoader\"></div>\r\n\r\n <div class=\"report-container\" *ngIf=\"accGlDetailsEnquiryReportModel != undefined && dataReady\">\r\n <div class=\"main-report\" *ngIf=\"accGlDetailsEnquiryReportModel != undefined && dataReady\">\r\n <h1 class=\"title\">General Ledger Account Details Enquiry</h1>\r\n <div class=\"report-content\">\r\n <div class=\"left-section\">\r\n <div class=\"labels\">\r\n <p><b>Company</b></p>\r\n <p><b>{{ dateType ==\r\n 'VD' ? 'Value Date' : 'Posting Date' }}</b></p>\r\n </div>\r\n <div class=\"values\">\r\n <p>: {{ companyName }}</p>\r\n <p>: {{currentReportFormattedDate}}</p>\r\n </div>\r\n </div>\r\n <div class=\"right-section\">\r\n <div class=\"labels\">\r\n <p><b>Report User</b></p>\r\n <p><b>Report Time</b></p>\r\n </div>\r\n <div class=\"values\">\r\n <p>: {{ reportUser }}</p>\r\n <p>: {{ reportTime }}</p>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"d-flex justify-content-between align-items-center mt-3 mb-3 flex-wrap\">\r\n <div class=\"d-flex align-items-center gap-2\">\r\n <div class=\"d-flex justify-content-end align-items-center\">\r\n <input type=\"text\" [(ngModel)]=\"searchText\" name=\"searchText\" (ngModelChange)=\"onSearch()\"\r\n class=\"form-control custom-search-class\" placeholder=\"Search...\" />\r\n <button type=\"button\" class=\"btn btn-sm p-0 search-button\" (click)=\"onSearch()\">\r\n <img src=\"assets/reports-lib/assets/images/Search.svg\" alt=\"Search\" class=\"search-button-image\" />\r\n </button>\r\n </div>\r\n </div>\r\n <div class=\"d-flex align-items-center\">\r\n <select class=\"form-select form-control compact-input\" name=\"selectedExportOption\" id=\"selectedExportOption\"\r\n [(ngModel)]=\"selectedExportOption\" (keydown.enter)=\"onEnterhandleExport($event)\">\r\n <option value='csv'>CSV</option>\r\n <option value='excel'>Excel</option>\r\n <option value='pdf'>PDF</option>\r\n </select>\r\n <button type=\"button\" class=\"btn-primary\" (click)=\"handleExport()\">Export</button>\r\n </div>\r\n </div>\r\n\r\n <div style=\"position: relative;\">\r\n <div class=\"d-flex align-items-center gap-2 entries-selecter-div\">\r\n <select class=\"form-select custom-height w-auto\" id=\"pageSize\" [(ngModel)]=\"pageSize\"\r\n (change)=\"onPageSizeChanged()\">\r\n <option [ngValue]=\"10\">10</option>\r\n <option [ngValue]=\"15\">15</option>\r\n <option [ngValue]=\"20\">20</option>\r\n <option [ngValue]=\"30\">30</option>\r\n <option [ngValue]=\"50\">50</option>\r\n <option [ngValue]=\"100\">100</option>\r\n <option [ngValue]=\"200\">200</option>\r\n <option [ngValue]=\"accGlDetailsEnquiryReportModel?.journalVoucherEntries?.length\">All</option>\r\n </select>\r\n <label class=\"entry-label\" for=\"pageSize\">Entries\r\n Per Page</label>\r\n </div>\r\n\r\n <ag-grid-angular class=\"ag-theme-alpine compact-grid grid-size\" [rowData]=\"rowData\" [columnDefs]=\"columnDefs\"\r\n [defaultColDef]=\"defaultColDef\" [animateRows]=\"true\" [rowHeight]=\"20\" [headerHeight]=\"24\"\r\n [pagination]=\"true\" [domLayout]=\"'normal'\" [paginationPageSize]=\"pageSize\"\r\n [suppressHorizontalScroll]=\"false\" [suppressRowHoverHighlight]=\"false\"\r\n [getRowHeight]=\"getRowHeight.bind(this)\" (gridReady)=\"onGridReady($event)\"\r\n [suppressDragLeaveHidesColumns]=\"true\" [suppressMovableColumns]=\"false\">\r\n </ag-grid-angular>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>","\r\nimport { NgModule } from '@angular/core';\r\n\r\n@NgModule({})\r\nexport class ReportsLibRoutingModule {}\r\n","import { NgModule } from '@angular/core';\r\nimport { ReportsLibComponent } from './reports-lib.component';\r\nimport { AccGlDetailsEnquiryReportComponent } from './components/acc-gl-details-enquiry-report/acc-gl-details-enquiry-report.component';\r\nimport { AgGridModule } from 'ag-grid-angular';\r\nimport { ReportsLibRoutingModule } from './reports-lib-routing.module';\r\nimport { OAuthModule } from 'angular-oauth2-oidc';\r\nimport { NgIdleModule } from '@ng-idle/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { RouterModule } from '@angular/router';\r\n\r\n\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n ReportsLibComponent,\r\n\r\n AccGlDetailsEnquiryReportComponent\r\n ],\r\n imports: [\r\n AgGridModule,\r\n ReportsLibRoutingModule,\r\n CommonModule,\r\n NgIdleModule.forRoot(),\r\n OAuthModule.forRoot(),\r\n FormsModule,\r\n RouterModule\r\n\r\n ],\r\n providers: [],\r\n exports: [\r\n ReportsLibComponent,\r\n AccGlDetailsEnquiryReportComponent\r\n ]\r\n})\r\nexport class ReportsLibModule { }\r\n","/*\r\n * Public API Surface of reports-lib\r\n */\r\n\r\n\r\n\r\nexport * from './lib/reports-lib.service';\r\nexport * from './lib/reports-lib.component';\r\nexport * from './lib/reports-lib.module';\r\nexport * from './lib/components/acc-gl-details-enquiry-report/acc-gl-details-enquiry-report.component';","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.ExportService","i2.ReportService","i3"],"mappings":";;;;;;;;;;;;;;;;;;;;;;MAKa,iBAAiB,CAAA;AAE5B,IAAA,WAAA,GAAA,GAAiB;;8GAFN,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAjB,iBAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iBAAiB,cAFhB,MAAM,EAAA,CAAA,CAAA;2FAEP,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAH7B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA,CAAA;;;MCQY,mBAAmB,CAAA;AAE9B,IAAA,WAAA,GAAA,GAAiB;IAEjB,QAAQ,GAAA;KACP;;gHALU,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAnB,mBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,mBAAmB,EARpB,QAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA;;;;AAIT,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,CAAA;2FAIU,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAV/B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,iBAAiB,EACjB,QAAA,EAAA,CAAA;;;;AAIT,EAAA,CAAA,EAAA,CAAA;;;MCOU,aAAa,CAAA;AAOxB,IAAA,WAAA,GAAA;QALiB,IAAW,CAAA,WAAA,GAAG,EAAE,CAAC;QACjB,IAAa,CAAA,aAAA,GAAG,CAAC,CAAC;QAClB,IAAa,CAAA,aAAA,GAAG,EAAE,CAAC;QAIlC,IAAI,CAAC,iBAAiB,CAAC,6CAA6C,CAAC,CAAC,IAAI,CAAC,MAAM,IAAG;AAClF,YAAA,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC;AAC3B,SAAC,CAAC,CAAC;KACJ;;AAGO,IAAA,iBAAiB,CAAC,SAAiB,EAAA;QACzC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,KAAI;AACrC,YAAA,MAAM,GAAG,GAAG,IAAI,KAAK,EAAE,CAAC;AACxB,YAAA,GAAG,CAAC,WAAW,GAAG,WAAW,CAAC;AAC9B,YAAA,GAAG,CAAC,GAAG,GAAG,SAAS,CAAC;AAEpB,YAAA,GAAG,CAAC,MAAM,GAAG,MAAK;gBAChB,MAAM,KAAK,GAAG,CAAC,CAAC;gBAChB,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;gBAChD,MAAM,CAAC,KAAK,GAAG,GAAG,CAAC,KAAK,GAAG,KAAK,CAAC;gBACjC,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,GAAG,KAAK,CAAC;gBAEnC,MAAM,GAAG,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;AACpC,gBAAA,IAAI,GAAG,EAAE;AACP,oBAAA,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;oBACxB,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AACzB,oBAAA,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;oBAClD,OAAO,CAAC,MAAM,CAAC,CAAC;AACjB,iBAAA;AAAM,qBAAA;oBACL,MAAM,CAAC,+BAA+B,CAAC,CAAC;AACzC,iBAAA;AACH,aAAC,CAAC;AAEF,YAAA,GAAG,CAAC,OAAO,GAAG,MAAM,MAAM,CAAC,wBAAwB,GAAG,SAAS,CAAC,CAAC;AACnE,SAAC,CAAC,CAAC;KACJ;AAED,IAAA,UAAU,CAAC,KAAU,EAAA;AACnB,QAAA,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC;AAC7B,QAAA,OAAO,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE;AAC/B,YAAA,CAAA,EAAG,IAAI,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAI,CAAA,EAAA,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAI,CAAA,EAAA,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;KAC9H;AACD,IAAA,cAAc,CAAC,IAAU,EAAA;AACvB,QAAA,OAAO,CAAG,EAAA,IAAI,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAG,CAAA,CAAA;AACrD,YAAA,CAAA,EAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAG,CAAA,CAAA;AACvD,YAAA,CAAA,EAAG,IAAI,CAAC,WAAW,EAAE,CAAG,CAAA,CAAA;AACxB,YAAA,CAAA,EAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAG,CAAA,CAAA;AACjD,YAAA,CAAA,EAAG,IAAI,CAAC,UAAU,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;KACtD;AAED,IAAA,sBAAsB,CAAC,QAA4B,EAAA;QACjD,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,KAAK,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,CAAC,CAAC;KAC/E;AAED,IAAA,kBAAkB,CAAC,IAAW,EAAE,UAAiB,EAAE,UAG/C,EAAE,EAAA;AACJ,QAAA,MAAM,EAAE,aAAa,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC,EAAE,cAAc,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC;AAEtF,QAAA,MAAM,eAAe,GAAG,UAAU,CAAC,MAAM,CAAC,GAAG,IAC3C,GAAG,CAAC,KAAK;AACT,YAAA,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,IAAI,GAAG,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YAC/D,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,IAAI,GAAG,CAAC,UAAU,EAAE,WAAW,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CACtE,CAAC;QAEF,MAAM,OAAO,GAAG,CAAC,OAAO,EAAE,GAAG,eAAe,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,UAAU,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;QAEtF,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,KAAK,KAAI;YACnC,MAAM,OAAO,GAAG,eAAe,CAAC,GAAG,CAAC,GAAG,IAAG;gBACxC,IAAI,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBAC3B,MAAM,SAAS,GAAG,GAAG,CAAC,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;;AAGjD,gBAAA,IACE,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC;AACzB,oBAAA,SAAS,CAAC,QAAQ,CAAC,cAAc,CAAC;AACpC,oBAAA,KAAK,EACL;AACA,oBAAA,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;AAChC,iBAAA;;AAGD,gBAAA,IAAI,cAAc,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,IAAI,EAAE;oBACvD,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AACtC,iBAAA;gBACD,OAAO,KAAK,IAAI,EAAE,CAAC;AACrB,aAAC,CAAC,CAAC;YACH,OAAO,CAAC,KAAK,GAAG,CAAC,EAAE,GAAG,OAAO,CAAC,CAAC;AACjC,SAAC,CAAC,CAAC;AACH,QAAA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;KAC1B;;IAGD,MAAM,oBAAoB,CAAC,KAAa,EAAE,QAA4B,EAAE,OAAiB,EAAE,IAAa,EAAE,QAAgB,EAAA;QACxH,MAAM,GAAG,GAAG,IAAI,KAAK,CAAC,EAAE,WAAW,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;AAEpF,QAAA,MAAM,SAAS,GAAG,IAAI,EAAE,UAAU,GAAG,IAAI,EAAE,KAAK,GAAG,EAAE,EAAE,KAAK,GAAG,EAAE,CAAC;QAClE,MAAM,SAAS,GAAG,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC;QAC9C,MAAM,MAAM,GAAG,EAAE,CAAC;QAElB,IAAI,IAAI,CAAC,UAAU,EAAE;AACnB,YAAA,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;AAC3E,SAAA;AAED,QAAA,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;AACpB,QAAA,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;AACjC,QAAA,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,SAAS,GAAG,CAAC,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;AAE5D,QAAA,IAAI,QAAQ,GAAG,MAAM,GAAG,EAAE,CAAC;AAC3B,QAAA,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AAClC,QAAA,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,KAAI;YACrC,MAAM,CAAC,GAAG,QAAQ,GAAG,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC;AAC5C,YAAA,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;YACjC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;YACvC,MAAM,UAAU,GAAG,GAAG,CAAC,YAAY,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC;AACjD,YAAA,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;AACnC,YAAA,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,aAAa,GAAG,UAAU,EAAE,CAAC,CAAC,CAAC;AACtD,SAAC,CAAC,CAAC;QACH,QAAQ,IAAI,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;QAErD,MAAM,YAAY,GAA2B,EAAE,CAAC;QAChD,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,YAAY,CAAC,CAAC,CAAC,GAAG,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,CAAC;QAEnE,GAAG,CAAC,SAAS,CAAC;YACZ,IAAI,EAAE,CAAC,OAAO,CAAC;AACf,YAAA,IAAI,EAAE,IAAI;AACV,YAAA,MAAM,EAAE,QAAQ;AAChB,YAAA,KAAK,EAAE,MAAM;AACb,YAAA,UAAU,EAAE;gBACV,SAAS,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,SAAS,EAAE,CAAC;gBACxC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,QAAQ;AACjD,aAAA;YACD,UAAU,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE;AAC7E,YAAA,MAAM,EAAE,EAAE,WAAW,EAAE,CAAC,EAAE,QAAQ,EAAE,WAAW,EAAE,aAAa,EAAE,CAAC,EAAE;YACnE,YAAY;AACb,SAAA,CAAC,CAAC;AAEH,QAAA,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;KACpB;;IAGD,sBAAsB,CAAC,KAAa,EAAE,QAA4B,EAAE,OAAiB,EAAE,IAAa,EAAE,QAAgB,EAAA;AACpH,QAAA,MAAM,QAAQ,GAAG,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;QACxC,MAAM,SAAS,GAAG,QAAQ,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QAE/C,IAAI,UAAU,GAAG,CAAC,CAAC;;QAGnB,IAAI,IAAI,CAAC,UAAU,EAAE;AACnB,YAAA,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,0BAA0B,EAAE,EAAE,CAAC,CAAC;AAC3E,YAAA,MAAM,OAAO,GAAG,QAAQ,CAAC,QAAQ,CAAC;AAChC,gBAAA,MAAM,EAAE,UAAU;AAClB,gBAAA,SAAS,EAAE,KAAK;AACjB,aAAA,CAAC,CAAC;;AAGH,YAAA,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE;gBAC1B,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE;gBACtB,GAAG,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE;AAC/B,gBAAA,MAAM,EAAE,SAAS;AAClB,aAAA,CAAC,CAAC;AACJ,SAAA;;QAGD,MAAM,QAAQ,GAAG,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAC9C,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC;AAClC,QAAA,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;AACpD,QAAA,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC;AAE3E,QAAA,MAAM,aAAa,GAAG,MAAM,CAAC,YAAY,CAAC,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;QAC/D,SAAS,CAAC,UAAU,CAAC,CAAI,CAAA,EAAA,UAAU,CAAI,CAAA,EAAA,aAAa,CAAG,EAAA,UAAU,CAAE,CAAA,CAAC,CAAC;AACrE,QAAA,UAAU,IAAI,CAAC,CAAC;;QAGhB,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,KAAI;YAClC,MAAM,GAAG,GAAG,SAAS,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;YAC3C,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YAC5B,IAAI,CAAC,KAAK,GAAG;AACX,gBAAA,QAAQ,EAAE;AACR,oBAAA,EAAE,IAAI,EAAE,CAAG,EAAA,KAAK,CAAI,EAAA,CAAA,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE;AAC5C,oBAAA,EAAE,IAAI,EAAE,KAAK,IAAI,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE;AAC7C,iBAAA;aACF,CAAC;YACF,SAAS,CAAC,UAAU,CAAC,CAAI,CAAA,EAAA,GAAG,CAAC,MAAM,CAAA,CAAA,EAAI,MAAM,CAAC,YAAY,CAAC,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA,EAAG,GAAG,CAAC,MAAM,CAAE,CAAA,CAAC,CAAC;AAClG,SAAC,CAAC,CAAC;AAEH,QAAA,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AACrB,QAAA,UAAU,EAAE,CAAC;;QAGb,MAAM,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;QACjD,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,CAAC,KAAI;YAC5B,MAAM,IAAI,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;AACtC,YAAA,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC;YACpB,IAAI,CAAC,IAAI,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;YAC3B,IAAI,CAAC,IAAI,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,CAAC;AAC/E,YAAA,IAAI,CAAC,SAAS,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC;YAC9D,IAAI,CAAC,MAAM,GAAG;AACZ,gBAAA,GAAG,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE;AACtB,gBAAA,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE;AACzB,gBAAA,IAAI,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE;AACvB,gBAAA,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE;aACzB,CAAC;AACJ,SAAC,CAAC,CAAC;QAEH,MAAM,YAAY,GAAG,UAAU,CAAC;AAChC,QAAA,IAAI,CAAC,OAAO,CAAC,OAAO,IAAG;YACrB,MAAM,GAAG,GAAG,SAAS,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;YAC3C,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC,KAAI;gBAC3B,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;AAChC,gBAAA,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;gBACnB,IAAI,CAAC,MAAM,GAAG;AACZ,oBAAA,GAAG,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE;AACtB,oBAAA,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE;AACzB,oBAAA,IAAI,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE;AACvB,oBAAA,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE;iBACzB,CAAC;AACJ,aAAC,CAAC,CAAC;AACL,SAAC,CAAC,CAAC;;AAGH,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACxC,IAAI,SAAS,GAAG,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC;AACtC,YAAA,KAAK,IAAI,MAAM,GAAG,YAAY,EAAE,MAAM,IAAI,SAAS,CAAC,OAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE;gBAC7E,MAAM,GAAG,GAAG,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;gBACxE,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;AAC7C,aAAA;YACD,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,SAAS,GAAG,CAAC,CAAC;AAC9C,SAAA;QAED,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,MAAM,IAAG;YACxC,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,CAAC,MAAM,CAAC,EAAE;AAC9B,gBAAA,IAAI,EAAE,mEAAmE;AAC1E,aAAA,CAAC,CAAC;AACH,YAAA,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;AACnC,SAAC,CAAC,CAAC;KACJ;;IAID,oBAAoB,CAAC,KAAa,EAAE,QAA4B,EAAE,OAAiB,EAAE,IAAa,EAAE,QAAgB,EAAA;QAClH,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAG,EAAA,CAAC,KAAK,CAAC,CAAA,CAAE,CAAC,CAAC,CAAC;AAC1D,QAAA,MAAM,UAAU,GAAG;AACjB,YAAA,CAAC,KAAK,CAAC;AACP,YAAA,GAAG,QAAQ;YACX,EAAE;YACF,OAAO;YACP,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,KAAK,IAAI,IAAI,KAAK,CAAA,CAAA,CAAG,CAAC,CAAC;AACnD,SAAA,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEnC,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;KACrD;AAEO,IAAA,YAAY,CAAC,IAAY,EAAE,QAAgB,EAAE,IAAY,EAAA;AAC/D,QAAA,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;QACxC,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;QACzC,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;AACtC,QAAA,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;AACxC,QAAA,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAChC,IAAI,CAAC,KAAK,EAAE,CAAC;AACb,QAAA,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;KACjC;;0GA1QU,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAb,aAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,aAAa,cAFZ,MAAM,EAAA,CAAA,CAAA;2FAEP,aAAa,EAAA,UAAA,EAAA,CAAA;kBAHzB,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA,CAAA;;;MCLY,aAAa,CAAA;AAIxB,IAAA,WAAA,CAAoB,IAAgB,EAAU,YAA0B,EAAU,QAAkB,EAAA;QAAhF,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAY;QAAU,IAAY,CAAA,YAAA,GAAZ,YAAY,CAAc;QAAU,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAU;AAClG,QAAA,IAAI,CAAC,UAAU,GAAG,4CAA4C,CAAC;KAChE;IAEM,qBAAqB,CAAC,aAAiC,EAAE,QAAgB,EAAE,cAAsB,EAAE,SAAiB,EAAE,WAAmB,EAAA;AAC9I,QAAA,IAAI,aAAa,EAAE;AACjB,YAAA,MAAM,OAAO,GAAG,CAAA,EAAG,IAAI,CAAC,UAAU,CAA0E,uEAAA,EAAA,aAAa,CAAI,CAAA,EAAA,QAAQ,IAAI,cAAc,CAAA,CAAA,EAAI,SAAS,CAAI,CAAA,EAAA,WAAW,EAAE,CAAC;YACtL,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAiC,OAAO,CAAC,CAAC;AAC/D,SAAA;AAAM,aAAA;YAEL,MAAM,WAAW,GAAG,IAAI,IAAI,EAAE,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;AAC3D,YAAA,MAAM,OAAO,GAAG,CAAA,yEAAA,EAA4E,WAAW,CAAqB,mBAAA,CAAA,CAAC;YAC7H,OAAO,UAAU,CAAC,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;AAC7C,SAAA;KACF;IAEM,6BAA6B,GAAA;QAClC,IAAI,cAAc,GAAG,cAAc,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;QAC9D,IAAI,eAAe,GAAG,cAAc,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;AAEhE,QAAA,IAAI,cAAc,EAAE;YAClB,OAAO,cAAc,CAAC,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;AACjD,SAAA;AAAM,aAAA;YACL,OAAO,eAAe,CAAC,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;AAClD,SAAA;KACF;;0GA7BU,aAAa,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,YAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,QAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAb,aAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,aAAa,cAFZ,MAAM,EAAA,CAAA,CAAA;2FAEP,aAAa,EAAA,UAAA,EAAA,CAAA;kBAHzB,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA,CAAA;;;MCeY,kCAAkC,CAAA;IAmD7C,WAAoB,CAAA,aAA4B,EAAU,aAA4B,EAAU,IAAgB,EAAU,SAAuB,EAAU,YAA0B,EAAU,QAAkB,EAAA;QAA7L,IAAa,CAAA,aAAA,GAAb,aAAa,CAAe;QAAU,IAAa,CAAA,aAAA,GAAb,aAAa,CAAe;QAAU,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAY;QAAU,IAAS,CAAA,SAAA,GAAT,SAAS,CAAc;QAAU,IAAY,CAAA,YAAA,GAAZ,YAAY,CAAc;QAAU,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAU;QAhDjN,IAAU,CAAA,UAAA,GAAW,EAAE,CAAC;QAGxB,IAAoB,CAAA,oBAAA,GAAW,OAAO,CAAC;QACvC,IAAQ,CAAA,QAAA,GAAW,EAAE,CAAC;QACtB,IAAS,CAAA,SAAA,GAAa,EAAE,CAAC;QACzB,IAAO,CAAA,OAAA,GAAY,KAAK,CAAC;QACzB,IAAS,CAAA,SAAA,GAAY,KAAK,CAAC;QAC3B,IAAc,CAAA,cAAA,GAAW,CAAC,CAAC;QAU3B,IAAO,CAAA,OAAA,GAAG,EAAE,CAAC;AAGb,QAAA,IAAA,CAAA,aAAa,GAAW;AACtB,YAAA,SAAS,EAAE,IAAI;AACf,YAAA,QAAQ,EAAE,KAAK;AACf,YAAA,QAAQ,EAAE,EAAE;AACZ,YAAA,iBAAiB,EAAE,KAAK;SACzB,CAAC;AAEF,QAAA,IAAA,CAAA,UAAU,GAAa;YACrB,EAAE,UAAU,EAAE,YAAY,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,GAAG,EAAE,SAAS,EAAE,gCAAgC,EAAE,QAAQ,EAAE,EAAE,EAAE,YAAY,EAAE,WAAW,EAAE;YACjJ,EAAE,UAAU,EAAE,UAAU,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,GAAG,EAAE,SAAS,EAAE,4CAA4C,EAAE,QAAQ,EAAE,EAAE,EAAE,YAAY,EAAE,eAAe,EAAE;YACnK,EAAE,UAAU,EAAE,YAAY,EAAE,KAAK,EAAE,iBAAiB,EAAE,IAAI,EAAE,GAAG,EAAE,SAAS,EAAE,gCAAgC,EAAE,QAAQ,EAAE,EAAE,EAAE,YAAY,EAAE,iBAAiB,EAAE;YAC7J,EAAE,UAAU,EAAE,cAAc,EAAE,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,GAAG,EAAE,SAAS,EAAE,gCAAgC,EAAE,QAAQ,EAAE,EAAE,EAAE,YAAY,EAAE,aAAa,EAAE;AACvJ,YAAA,EAAE,UAAU,EAAE,cAAc,EAAE,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,GAAG,EAAE,cAAc,EAAE,IAAI,CAAC,UAAU,EAAE,SAAS,EAAE,gCAAgC,EAAE,QAAQ,EAAE,EAAE,EAAE,kBAAkB,EAAE,CAAC,MAAM,KAAK,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE;AACpN,YAAA,EAAE,UAAU,EAAE,YAAY,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,GAAG,EAAE,cAAc,EAAE,IAAI,CAAC,UAAU,EAAE,SAAS,EAAE,gCAAgC,EAAE,QAAQ,EAAE,EAAE,EAAE,kBAAkB,EAAE,CAAC,MAAM,KAAK,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG;AACjN,YAAA,EAAE,UAAU,EAAE,aAAa,EAAE,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,GAAG,EAAE,SAAS,EAAE,kBAAkB,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,aAAa,EAAE,KAAK,EAAE,EAAE,YAAY,EAAE,aAAa,EAAE;YAChN,EAAE,UAAU,EAAE,cAAc,EAAE,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,GAAG,EAAE,SAAS,EAAE,gCAAgC,EAAE,QAAQ,EAAE,EAAE,EAAE,YAAY,EAAE,aAAa,EAAE;YACvJ,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,SAAS,EAAE,mBAAmB,EAAE,QAAQ,EAAE,EAAE,EAAE,YAAY,EAAE,UAAU,EAAE;AAC3H,YAAA,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,cAAc,EAAE,IAAI,CAAC,YAAY,EAAE,SAAS,EAAE,oCAAoC,EAAE,QAAQ,EAAE,EAAE,EAAE,kBAAkB,EAAE,CAAC,MAAM,KAAK,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,GAAG;AAC9M,YAAA,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,EAAE,cAAc,EAAE,IAAI,CAAC,YAAY,EAAE,SAAS,EAAE,oCAAoC,EAAE,QAAQ,EAAE,EAAE,EAAE,kBAAkB,EAAE,CAAC,MAAM,KAAK,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,GAAG;AACrN,YAAA,EAAE,UAAU,EAAE,aAAa,EAAE,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,EAAE,cAAc,EAAE,IAAI,CAAC,YAAY,EAAE,SAAS,EAAE,oCAAoC,EAAE,QAAQ,EAAE,EAAE,EAAE,kBAAkB,EAAE,CAAC,MAAM,KAAK,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,GAAG;AACzN,YAAA,EAAE,UAAU,EAAE,UAAU,EAAE,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,EAAE,cAAc,EAAE,IAAI,CAAC,YAAY,EAAE,SAAS,EAAE,oCAAoC,EAAE,QAAQ,EAAE,EAAE,EAAE,kBAAkB,EAAE,CAAC,MAAM,KAAK,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,GAAG;AACvN,YAAA,EAAE,UAAU,EAAE,cAAc,EAAE,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,EAAE,cAAc,EAAE,IAAI,CAAC,YAAY,EAAE,SAAS,EAAE,oCAAoC,EAAE,QAAQ,EAAE,EAAE,EAAE,kBAAkB,EAAE,CAAC,MAAM,KAAK,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,GAAG;SAG5N,CAAC;AAIA,QAAA,IAAI,CAAC,8BAA8B,GAAG,SAAS,CAAC;KACjD;IAED,QAAQ,GAAA;AACN,QAAA,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,0DAA0D,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,IAAG;YAClH,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,uBAAuB,CAAC,GAAG,CAAC,CAAC;AAC/D,SAAC,CAAC,CAAA;AAEF,QAAA,MAAM,KAAK,GAAG,IAAI,IAAI,EAAE,CAAC;AACzB,QAAA,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,EAAE,YAAY,EAAE,OAAO,CAAC,CAAA;KAC/D;IAEM,qBAAqB,GAAA;AAE1B,QAAA,IAAI,CAAC,8BAA8B,GAAG,SAAS,CAAC;AAChD,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;AACpB,QAAA,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;AACvB,QAAA,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;AACnB,QAAA,IAAI,CAAC,oBAAoB,GAAG,OAAO,CAAC;AACpC,QAAA,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC3B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,6BAA6B,EAAE,CAAC;AACpE,QAAA,IAAI,CAAC,WAAW,GAAG,cAAc,CAAA;AAEjC,QAAA,IAAI,IAAI,CAAC,cAAc,IAAI,CAAC,EAAE;AAC5B,YAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;AACtB,SAAA;AAAM,aAAA;AACL,YAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;AACtB,SAAA;QAED,IAAI,CAAC,aAAa,CAAC,qBAAqB,CAAC,IAAI,CAAC,2BAA2B,EAAE,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC;aAC/I,SAAS,CAAC,IAAI,IAAG;AAChB,YAAA,IAAI,CAAC,8BAA8B,GAAG,IAAI,CAAC;YAC3C,IAAI,IAAI,CAAC,8BAA8B,EAAE;gBAEvC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,8BAA8B,CAAC,qBAAqB,CAAC;gBACzE,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,8BAA8B,CAAC,WAAW,CAAC;AACnE,gBAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,8BAA8B,CAAC,UAAU,CAAC;AAChE,gBAAA,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC;AACzC,gBAAA,MAAM,OAAO,GAAG,IAAI,CAAC,8BAA8B,CAAC,UAAU,CAAC;gBAC/D,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC,OAAO,EAAE,oBAAoB,EAAE,OAAO,CAAC,CAAC;AACrE,gBAAA,IAAI,CAAC,0BAA0B,GAAG,UAAU,CAAC,IAAI,CAAC,2BAA2B,EAAE,EAAE,YAAY,EAAE,OAAO,CAAC,CAAA;AACvG,gBAAA,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;AACrB,gBAAA,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;AAEvB,aAAA;SACF,EAAE,KAAK,IAAG;AAET,YAAA,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;AACrB,YAAA,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE;gBAC/B,KAAK,GAAG,KAAK,EAAE,CAAC;AACjB,aAAA;YAED,MAAM,kBAAkB,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;AAC3D,YAAA,kBAAkB,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;AACxC,SAAC,CAAC,CAAC;KACN;AAEM,IAAA,UAAU,CAAC,MAAW,EAAA;AAC3B,QAAA,OAAO,UAAU,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC;KAClE;IAED,2BAA2B,GAAA;QAEzB,IAAI;AACF,YAAA,MAAM,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAEhD,IAAI,IAAI,GAAG,IAAI,EAAE;AACf,gBAAA,OAAO,SAAS,CAAC;AAClB,aAAA;AAED,YAAA,MAAM,YAAY,GAAG,IAAI,IAAI,CAAC,CAAA,EAAG,IAAI,CAAA,CAAA,EAAI,KAAK,CAAA,CAAA,EAAI,GAAG,CAAA,CAAE,CAAC,CAAC;AACzD,YAAA,MAAM,uBAAuB,GAAG,YAAY,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AACzE,YAAA,OAAO,uBAAuB,CAAC;AAChC,SAAA;AAAC,QAAA,OAAO,KAAK,EAAE;AAEd,YAAA,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;AACrB,YAAA,OAAO,SAAS,CAAC;AAElB,SAAA;KACF;AAED,IAAA,YAAY,CAAC,KAAY,EAAA;AACvB,QAAA,MAAM,KAAK,GAAG,KAAK,CAAC,MAA0B,CAAC;AAC/C,QAAA,MAAM,YAAY,GAAG,KAAK,CAAC,KAAK,CAAC;AACjC,QAAA,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,EAAE,YAAY,EAAE,OAAO,CAAC,CAAA;KACtE;AAED,IAAA,UAAU,CAAC,KAAY,EAAA;QACrB,MAAM,aAAa,GAAG,KAAsB,CAAC;QAC7C,aAAa,CAAC,cAAc,EAAE,CAAC;AAE/B,QAAA,IAAI,aAAa,CAAC,MAAM,YAAY,WAAW,EAAE;AAC/C,YAAA,aAAa,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;AAC7B,SAAA;KACF;AAED,IAAA,mBAAmB,CAAC,KAAY,EAAA;AAC9B,QAAA,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QACvB,IAAI,CAAC,YAAY,EAAE,CAAC;KACrB;AAED,IAAA,WAAW,CAAC,MAAsB,EAAA;AAChC,QAAA,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC;AAC1B,QAAA,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,SAAS,CAAC;KACvC;IAED,iBAAiB,GAAA;QACf,IAAI,IAAI,CAAC,OAAO,EAAE;YAChB,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AACnD,SAAA;KACF;AAED,IAAA,YAAY,CAAC,MAAW,EAAA;QACtB,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,EAAE,WAAW,IAAI,EAAE,CAAC;AACnD,QAAA,IAAI,WAAW,CAAC,MAAM,GAAG,EAAE,EAAE;AAC3B,YAAA,OAAO,EAAE,CAAC;AACX,SAAA;AACD,QAAA,OAAO,EAAE,CAAC;KACX;AAED,IAAA,YAAY,CAAC,MAAW,EAAA;AACtB,QAAA,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI;AAAE,YAAA,OAAO,EAAE,CAAC;AAEpC,QAAA,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC;QAElC,IAAI,KAAK,KAAK,MAAM,EAAE;YACpB,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AACxC,SAAA;QAED,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;KACxC;IAED,QAAQ,GAAA;QACN,MAAM,SAAS,GAAG,CAAC,GAAQ,KACzB,GAAG,EAAE,QAAQ,EAAE;AACZ,aAAA,WAAW,EAAE;AACb,aAAA,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;AACjB,aAAA,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC;AACpB,aAAA,OAAO,CAAC,wBAAwB,EAAE,EAAE,CAAC;AACrC,aAAA,IAAI,EAAE,CAAC;QAEZ,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AAE1C,QAAA,IAAI,MAAM,EAAE;AACV,YAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,8BAA8B,CAAC,qBAAqB,CAAC,MAAM,CAAC,IAAI,IAClF,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,IAC5B,SAAS,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAClC,CACF,CAAC;AACH,SAAA;AAAM,aAAA;YACL,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,8BAA8B,CAAC,qBAAqB,CAAC;AAC1E,SAAA;KACF;IAED,YAAY,GAAA;QACV,QAAQ,IAAI,CAAC,oBAAoB;AAC/B,YAAA,KAAK,OAAO;gBACV,IAAI,CAAC,aAAa,EAAE,CAAC;gBACrB,MAAM;AACR,YAAA,KAAK,KAAK;gBACR,IAAI,CAAC,WAAW,EAAE,CAAC;gBACnB,MAAM;AACR,YAAA,KAAK,KAAK;gBACR,IAAI,CAAC,WAAW,EAAE,CAAC;gBACnB,MAAM;AACR,YAAA;gBACE,KAAK,CAAC,iCAAiC,CAAC,CAAC;AAC5C,SAAA;KACF;AAED,IAAA,MAAM,WAAW,GAAA;AACf,QAAA,IAAI,CAAC,IAAI,CAAC,8BAA8B,CAAC,qBAAqB,EAAE,MAAM;YAAE,OAAO;AAE/E,QAAA,MAAM,KAAK,GAAG,CAAA,EAAG,IAAI,CAAC,WAAW,2CAA2C,CAAC;AAC7E,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,sBAAsB,CAAC;AACzD,YAAA,CAAC,gBAAgB,EAAE,IAAI,CAAC,UAAU,CAAC;AACnC,YAAA,CAAC,gBAAgB,EAAE,IAAI,CAAC,UAAU,CAAC;YACnC,CAAC,iBAAiB,EAAE,KAAK,CAAC;AAC1B,YAAA,CAAC,GAAG,IAAI,CAAC,QAAQ,IAAI,IAAI,GAAG,YAAY,GAAG,cAAc,CAAA,CAAA,CAAG,EAAE,IAAI,CAAC,0BAA0B,CAAC;AAE/F,SAAA,CAAC,CAAC;QAEH,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC,kBAAkB,CAAC,IAAI,CAAC,8BAA8B,CAAC,qBAAqB,EAAE,IAAI,CAAC,UAAU,EAAE;YAC1I,cAAc,EAAE,CAAC,aAAa,EAAE,aAAa,EAAE,YAAY,EAAE,YAAY,CAAC;AAC3E,SAAA,CAAC,CAAC;AAEH,QAAA,MAAM,IAAI,CAAC,aAAa,CAAC,oBAAoB,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,mCAAmC,CAAC,CAAC;KACpH;IAED,aAAa,GAAA;AACX,QAAA,IAAI,CAAC,IAAI,CAAC,8BAA8B,CAAC,qBAAqB,EAAE,MAAM;YAAE,OAAO;AAE/E,QAAA,MAAM,KAAK,GAAG,CAAA,EAAG,IAAI,CAAC,WAAW,2CAA2C,CAAC;AAC7E,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,sBAAsB,CAAC;AACzD,YAAA,CAAC,aAAa,EAAE,IAAI,CAAC,UAAU,CAAC;AAChC,YAAA,CAAC,aAAa,EAAE,IAAI,CAAC,UAAU,CAAC;YAChC,CAAC,iBAAiB,EAAE,KAAK,CAAC;AAC1B,YAAA,CAAC,GAAG,IAAI,CAAC,QAAQ,IAAI,IAAI,GAAG,YAAY,GAAG,cAAc,CAAA,CAAE,EAAE,IAAI,CAAC,0BAA0B,CAAC;AAE9F,SAAA,CAAC,CAAC;QAEH,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC,kBAAkB,CAAC,IAAI,CAAC,8BAA8B,CAAC,qBAAqB,EAAE,IAAI,CAAC,UAAU,EAAE;YAC1I,cAAc,EAAE,CAAC,aAAa,EAAE,aAAa,EAAE,YAAY,EAAE,YAAY,CAAC;AAC3E,SAAA,CAAC,CAAC;AAEH,QAAA,IAAI,CAAC,aAAa,CAAC,sBAAsB,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,oCAAoC,CAAC,CAAC;KACjH;IAED,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,IAAI,CAAC,8BAA8B,CAAC,qBAAqB,EAAE,MAAM;YAAE,OAAO;AAE/E,QAAA,MAAM,KAAK,GAAG,CAAA,EAAG,IAAI,CAAC,WAAW,2CAA2C,CAAC;AAC7E,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,sBAAsB,CAAC;AACzD,YAAA,CAAC,aAAa,EAAE,IAAI,CAAC,UAAU,CAAC;AAChC,YAAA,CAAC,aAAa,EAAE,IAAI,CAAC,UAAU,CAAC;YAChC,CAAC,iBAAiB,EAAE,IAAI,CAAC;AACzB,YAAA,CAAC,GAAG,IAAI,CAAC,QAAQ,IAAI,IAAI,GAAG,YAAY,GAAG,cAAc,CAAA,CAAE,EAAE,IAAI,CAAC,0BAA0B,CAAC;AAE9F,SAAA,CAAC,CAAC;QAEH,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC,kBAAkB,CAAC,IAAI,CAAC,8BAA8B,CAAC,qBAAqB,EAAE,IAAI,CAAC,UAAU,EAAE;YAC1I,cAAc,EAAE,CAAC,aAAa,EAAE,aAAa,EAAE,YAAY,EAAE,YAAY,CAAC;AAC3E,SAAA,CAAC,CAAC;AAEH,QAAA,IAAI,CAAC,aAAa,CAAC,oBAAoB,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,mCAAmC,CAAC,CAAC;KAC9G;;+HArRU,kCAAkC,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAA,aAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,aAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,YAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,YAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,QAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAlC,kCAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,kCAAkC,yECvB/C,u5LAqHM,EAAA,MAAA,EAAA,CAAA,mznPAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,aAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,aAAA,EAAA,SAAA,EAAA,WAAA,EAAA,SAAA,EAAA,qBAAA,EAAA,6BAAA,EAAA,gCAAA,EAAA,kBAAA,EAAA,uBAAA,EAAA,kBAAA,EAAA,kBAAA,EAAA,mBAAA,EAAA,aAAA,EAAA,wBAAA,EAAA,6BAAA,EAAA,oBAAA,EAAA,6BAAA,EAAA,8BAAA,EAAA,8BAAA,EAAA,wBAAA,EAAA,sBAAA,EAAA,YAAA,EAAA,eAAA,EAAA,oBAAA,EAAA,aAAA,EAAA,qBAAA,EAAA,0BAAA,EAAA,iBAAA,EAAA,qBAAA,EAAA,kBAAA,EAAA,8BAAA,EAAA,2BAAA,EAAA,UAAA,EAAA,aAAA,EAAA,aAAA,EAAA,cAAA,EAAA,mBAAA,EAAA,uBAAA,EAAA,mBAAA,EAAA,wBAAA,EAAA,+BAAA,EAAA,wBAAA,EAAA,6BAAA,EAAA,+BAAA,EAAA,8BAAA,EAAA,kBAAA,EAAA,kBAAA,EAAA,iBAAA,EAAA,sBAAA,EAAA,YAAA,EAAA,qBAAA,EAAA,UAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,cAAA,EAAA,+BAAA,EAAA,gBAAA,EAAA,yBAAA,EAAA,8BAAA,EAAA,qBAAA,EAAA,0BAAA,EAAA,+BAAA,EAAA,wBAAA,EAAA,mBAAA,EAAA,0BAAA,EAAA,qBAAA,EAAA,aAAA,EAAA,qBAAA,EAAA,iBAAA,EAAA,kBAAA,EAAA,sCAAA,EAAA,cAAA,EAAA,aAAA,EAAA,mBAAA,EAAA,qBAAA,EAAA,6BAAA,EAAA,oBAAA,EAAA,qBAAA,EAAA,8BAAA,EAAA,2BAAA,EAAA,6BAAA,EAAA,YAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,qBAAA,EAAA,oBAAA,EAAA,6BAAA,EAAA,0BAAA,EAAA,iBAAA,EAAA,qBAAA,EAAA,SAAA,EAAA,cAAA,EAAA,UAAA,EAAA,WAAA,EAAA,YAAA,EAAA,wBAAA,EAAA,uBAAA,EAAA,2BAAA,EAAA,eAAA,EAAA,2BAAA,EAAA,qBAAA,EAAA,+BAAA,EAAA,4BAAA,EAAA,yBAAA,EAAA,OAAA,EAAA,wBAAA,EAAA,yBAAA,EAAA,kCAAA,EAAA,+BAAA,EAAA,wBAAA,EAAA,uBAAA,EAAA,wBAAA,EAAA,iCAAA,EAAA,8BAAA,EAAA,uBAAA,EAAA,YAAA,EAAA,oBAAA,EAAA,wBAAA,EAAA,mBAAA,EAAA,yBAAA,EAAA,WAAA,EAAA,gBAAA,EAAA,wBAAA,EAAA,gBAAA,EAAA,yBAAA,EAAA,+BAAA,EAAA,mBAAA,EAAA,UAAA,EAAA,yBAAA,EAAA,wBAAA,EAAA,6BAAA,EAAA,yBAAA,EAAA,2CAAA,EAAA,aAAA,EAAA,uBAAA,EAAA,gBAAA,EAAA,eAAA,EAAA,4BAAA,EAAA,WAAA,EAAA,gBAAA,EAAA,WAAA,EAAA,8BAAA,EAAA,mCAAA,EAAA,2BAAA,EAAA,gBAAA,EAAA,iBAAA,EAAA,6BAAA,EAAA,kBAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,uBAAA,EAAA,gCAAA,EAAA,6BAAA,EAAA,oBAAA,EAAA,8BAAA,EAAA,kBAAA,EAAA,sBAAA,EAAA,oBAAA,EAAA,oBAAA,EAAA,sBAAA,EAAA,mBAAA,EAAA,oBAAA,EAAA,yBAAA,EAAA,0BAAA,EAAA,sBAAA,EAAA,iBAAA,EAAA,2BAAA,EAAA,iCAAA,EAAA,sBAAA,EAAA,mBAAA,EAAA,kBAAA,EAAA,2BAAA,EAAA,wBAAA,EAAA,uCAAA,EAAA,UAAA,EAAA,2BAAA,EAAA,iBAAA,EAAA,uBAAA,EAAA,gCAAA,EAAA,sBAAA,EAAA,mBAAA,EAAA,yBAAA,EAAA,+BAAA,EAAA,kBAAA,EAAA,qBAAA,EAAA,cAAA,EAAA,SAAA,EAAA,eAAA,EAAA,4BAAA,EAAA,2CAAA,EAAA,kBAAA,EAAA,uBAAA,EAAA,YAAA,EAAA,mBAAA,EAAA,yBAAA,EAAA,2BAAA,EAAA,qBAAA,EAAA,0BAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,iCAAA,EAAA,yBAAA,EAAA,qBAAA,EAAA,sBAAA,EAAA,yBAAA,EAAA,2BAAA,EAAA,wBAAA,EAAA,0BAAA,EAAA,+BAAA,EAAA,iCAAA,EAAA,qCAAA,EAAA,oBAAA,EAAA,0BAAA,EAAA,4BAAA,EAAA,4BAAA,EAAA,0BAAA,EAAA,2BAAA,EAAA,0BAAA,EAAA,yBAAA,EAAA,iCAAA,EAAA,wBAAA,EAAA,4BAAA,EAAA,oCAAA,EAAA,gBAAA,EAAA,cAAA,EAAA,yBAAA,EAAA,wBAAA,EAAA,2BAAA,EAAA,uBAAA,EAAA,mBAAA,EAAA,6BAAA,EAAA,yBAAA,EAAA,sBAAA,EAAA,mBAAA,EAAA,kBAAA,EAAA,qBAAA,EAAA,8BAAA,EAAA,cAAA,EAAA,cAAA,EAAA,YAAA,EAAA,mBAAA,EAAA,iBAAA,EAAA,cAAA,EAAA,+BAAA,EAAA,OAAA,EAAA,WAAA,EAAA,UAAA,EAAA,UAAA,EAAA,eAAA,EAAA,2BAAA,EAAA,sBAAA,EAAA,sBAAA,EAAA,WAAA,EAAA,qBAAA,EAAA,oBAAA,EAAA,uBAAA,EAAA,kBAAA,EAAA,iBAAA,EAAA,qBAAA,EAAA,kBAAA,EAAA,kBAAA,EAAA,yBAAA,EAAA,2BAAA,EAAA,gCAAA,EAAA,0BAAA,EAAA,iBAAA,EAAA,0BAAA,EAAA,yBAAA,EAAA,wBAAA,EAAA,sBAAA,EAAA,sBAAA,EAAA,sBAAA,EAAA,iBAAA,EAAA,oBAAA,EAAA,eAAA,EAAA,uBAAA,EAAA,gBAAA,EAAA,eAAA,EAAA,aAAA,EAAA,2BAAA,EAAA,kBAAA,EAAA,gBAAA,EAAA,sBAAA,EAAA,6BAAA,EAAA,6BAAA,EAAA,wBAAA,EAAA,6BAAA,EAAA,0BAAA,EAAA,+BAAA,EAAA,aAAA,EAAA,4BAAA,EAAA,eAAA,EAAA,+BAAA,EAAA,0BAAA,EAAA,gCAAA,EAAA,8BAAA,EAAA,mBAAA,EAAA,uBAAA,EAAA,uBAAA,EAAA,cAAA,EAAA,UAAA,EAAA,sBAAA,EAAA,sBAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,eAAA,EAAA,UAAA,EAAA,cAAA,EAAA,aAAA,EAAA,aAAA,EAAA,cAAA,EAAA,iBAAA,EAAA,gBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,yBAAA,EAAA,sBAAA,EAAA,YAAA,EAAA,UAAA,EAAA,eAAA,EAAA,cAAA,EAAA,eAAA,EAAA,aAAA,EAAA,oBAAA,EAAA,wBAAA,EAAA,oBAAA,EAAA,mBAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,yBAAA,EAAA,uBAAA,EAAA,yBAAA,EAAA,uBAAA,EAAA,kBAAA,EAAA,iBAAA,EAAA,iBAAA,EAAA,oBAAA,EAAA,oBAAA,EAAA,mBAAA,EAAA,mBAAA,EAAA,cAAA,EAAA,eAAA,EAAA,gBAAA,EAAA,cAAA,EAAA,4BAAA,EAAA,qBAAA,EAAA,gBAAA,EAAA,aAAA,EAAA,cAAA,EAAA,WAAA,EAAA,mBAAA,EAAA,iBAAA,EAAA,cAAA,EAAA,mBAAA,EAAA,iBAAA,EAAA,YAAA,EAAA,eAAA,EAAA,aAAA,EAAA,aAAA,EAAA,mBAAA,EAAA,cAAA,EAAA,aAAA,EAAA,cAAA,EAAA,YAAA,EAAA,uBAAA,EAAA,gBAAA,EAAA,qBAAA,EAAA,sBAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,0BAAA,EAAA,aAAA,EAAA,mBAAA,EAAA,aAAA,EAAA,eAAA,EAAA,cAAA,EAAA,eAAA,EAAA,YAAA,EAAA,kBAAA,EAAA,aAAA,EAAA,kBAAA,EAAA,iBAAA,EAAA,uBAAA,EAAA,aAAA,EAAA,6BAAA,EAAA,0BAAA,EAAA,0BAAA,EAAA,4BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,aAAA,EAAA,QAAA,EAAA,8CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,cAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,uBAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,8MAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,0BAAA,EAAA,QAAA,EAAA,6GAAA,EAAA,MAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,0FAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,qDAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,SAAA,EAAA,gBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,MAAA,EAAA,QAAA,EAAA,wDAAA,EAAA,MAAA,EAAA,CAAA,eAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,kBAAA,EAAA,QAAA,EAAA,gCAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,aAAA,EAAA,UAAA,EAAA,qBAAA,EAAA,OAAA,EAAA,YAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,YAAA,EAAA,YAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;2FD9FO,kCAAkC,EAAA,UAAA,EAAA,CAAA;kBAN9C,SAAS;+BACE,mCAAmC,EAAA,QAAA,EAAA,u5LAAA,EAAA,MAAA,EAAA,CAAA,mznPAAA,CAAA,EAAA,CAAA;;;MEdlC,uBAAuB,CAAA;;oHAAvB,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;qHAAvB,uBAAuB,EAAA,CAAA,CAAA;qHAAvB,uBAAuB,EAAA,CAAA,CAAA;2FAAvB,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBADnC,QAAQ;mBAAC,EAAE,CAAA;;;MCkCC,gBAAgB,CAAA;;6GAAhB,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAhB,gBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,gBAAgB,iBApBzB,mBAAmB;AAEnB,QAAA,kCAAkC,aAGlC,YAAY;QACZ,uBAAuB;AACvB,QAAA,YAAY,qCAGZ,WAAW;AACX,QAAA,YAAY,aAKZ,mBAAmB;QACnB,kCAAkC,CAAA,EAAA,CAAA,CAAA;AAGzB,gBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,gBAAgB,YAfzB,YAAY;QACZ,uBAAuB;QACvB,YAAY;QACZ,YAAY,CAAC,OAAO,EAAE;QACtB,WAAW,CAAC,OAAO,EAAE;QACrB,WAAW;QACX,YAAY,CAAA,EAAA,CAAA,CAAA;2FASH,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAtB5B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE;wBACZ,mBAAmB;wBAEnB,kCAAkC;AACnC,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,uBAAuB;wBACvB,YAAY;wBACZ,YAAY,CAAC,OAAO,EAAE;wBACtB,WAAW,CAAC,OAAO,EAAE;wBACrB,WAAW;wBACX,YAAY;AAEb,qBAAA;AACD,oBAAA,SAAS,EAAE,EAAE;AACb,oBAAA,OAAO,EAAE;wBACP,mBAAmB;wBACnB,kCAAkC;AACnC,qBAAA;AACF,iBAAA,CAAA;;;ACpCD;;AAEG;;ACFH;;AAEG;;;;"}
@@ -0,0 +1,10 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <svg width="22px" height="23px" viewBox="0 0 22 23" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
3
+ <!-- Generator: Sketch 46.2 (44496) - http://www.bohemiancoding.com/sketch -->
4
+ <title>Search</title>
5
+ <desc>Created with Sketch.</desc>
6
+ <defs></defs>
7
+ <g id="BFC" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
8
+ <path d="M15.6218838,15.1278344 C15.5300122,15.2308419 15.4399966,15.3366335 15.3425571,15.4350011 C15.1495339,15.6298802 14.9472308,15.8145514 14.7347197,15.9880866 C14.6354241,16.0706783 14.5277766,16.14399 14.4238411,16.2210136 C14.2744337,16.3314451 14.1231704,16.4381647 13.9663391,16.5374602 C13.8596195,16.6052039 13.751972,16.6720197 13.6415405,16.7341954 C13.4345974,16.8529789 13.2220863,16.9615544 13.0049353,17.059922 C12.9436875,17.0877618 12.8861518,17.1202417 12.824904,17.1471536 C12.5418653,17.2668651 12.2504745,17.3670886 11.9535158,17.4533922 C11.8681402,17.4784481 11.7799806,17.4979361 11.692749,17.520208 C11.46075,17.5795997 11.225967,17.6278555 10.9874721,17.6659033 C10.8965285,17.6807513 10.8065128,17.6965272 10.7155692,17.7076631 C10.3954106,17.747567 10.0715401,17.7744788 9.74395748,17.7744788 C9.41637491,17.7744788 9.09250432,17.747567 8.77327372,17.7076631 C8.68140212,17.6965272 8.59138651,17.6807513 8.50044291,17.6659033 C8.26194795,17.6278555 8.02716497,17.5795997 7.79516598,17.520208 C7.70793437,17.4979361 7.61977475,17.4784481 7.53439912,17.4533922 C7.23744042,17.3670886 6.94604969,17.2668651 6.66301093,17.1462256 C6.60176319,17.1202417 6.54422744,17.0877618 6.48390771,17.06085 C6.26582866,16.9615544 6.05331759,16.8529789 5.84637449,16.7341954 C5.73594297,16.6720197 5.62829544,16.6052039 5.52157591,16.5374602 C5.36474459,16.4381647 5.21348125,16.3314451 5.0640739,16.2210136 C4.96013836,16.14399 4.85341882,16.0706783 4.75319526,15.9880866 C4.54068419,15.8145514 4.33838107,15.6298802 4.14442992,15.4340731 C4.04791834,15.3366335 3.95883073,15.2308419 3.86695913,15.1278344 C3.74910364,14.996987 3.63496014,14.8624276 3.52638461,14.7223002 C3.44193698,14.6146526 3.35841735,14.5060771 3.27953769,14.3928616 C3.13662631,14.1877745 3.0020669,13.9752634 2.87771544,13.7544004 C2.22997427,12.6101814 1.8559919,11.2914991 1.8559919,9.88651326 C1.8559919,8.08156114 2.47218121,6.42137638 3.49576075,5.09063019 C3.58670435,4.97277471 3.67857595,4.85677521 3.77508753,4.7444877 C3.86603113,4.63962416 3.95975872,4.53661661 4.0553423,4.43639305 C4.16484583,4.32132155 4.27898933,4.21274602 4.39406083,4.10602649 C4.48500443,4.02250685 4.57316404,3.93713122 4.66689164,3.85825157 C4.8580588,3.69770827 5.05572194,3.54551693 5.26080904,3.40446155 C5.28586493,3.38682963 5.30813684,3.36734171 5.33319273,3.34970979 C5.57354368,3.1873105 5.82503058,3.04068714 6.08208546,2.90612772 C6.13962121,2.87550386 6.20086894,2.84951997 6.26026068,2.8198241 C6.46441979,2.71867254 6.67229088,2.62494495 6.88480196,2.54235331 C6.95811364,2.51358544 7.03235331,2.48760155 7.10659299,2.46161766 C7.31168009,2.38830598 7.52047918,2.32427426 7.73113426,2.26859451 C7.81094192,2.2472506 7.88889358,2.22590669 7.96870123,2.20734677 C8.18585228,2.156307 8.40578732,2.11825916 8.62757835,2.0867073 C8.70181803,2.07649934 8.7760577,2.06072341 8.85122538,2.05237145 C9.14632809,2.01896359 9.44421479,1.99854768 9.74395748,1.99854768 C10.0437002,1.99854768 10.3415869,2.01896359 10.6366896,2.05237145 C10.7118573,2.06072341 10.7860969,2.07649934 10.8603366,2.0867073 C11.0821276,2.11825916 11.3020627,2.156307 11.5182857,2.20734677 C11.5990214,2.22590669 11.677901,2.2472506 11.7567807,2.26859451 C11.9674358,2.32427426 12.1762349,2.38830598 12.381322,2.46161766 C12.4555616,2.48760155 12.5298013,2.51358544 12.603113,2.54235331 C12.8156241,2.62587295 13.0234952,2.71867254 13.2267263,2.8198241 C13.286118,2.84951997 13.3482938,2.87550386 13.4067575,2.90612772 C13.6638124,3.04068714 13.9134433,3.1873105 14.1547222,3.34970979 C14.1807061,3.36734171 14.203906,3.38868562 14.2298899,3.40631754 C14.433121,3.54737293 14.6298562,3.69770827 14.8200953,3.85732357 C14.9147509,3.93713122 15.0038385,4.02343485 15.0947821,4.10695448 C15.2098536,4.21367402 15.3230691,4.32132155 15.4316447,4.43546505 C15.5281562,4.53568861 15.6218838,4.63962416 15.7137554,4.7454157 C15.809339,4.85677521 15.9012106,4.97277471 15.9912262,5.0897022 C17.0157337,6.42044839 17.6319231,8.08063314 17.6319231,9.88651326 C17.6319231,11.2924271 17.2579407,12.6101814 16.6101995,13.7553284 C16.4858481,13.9752634 16.3512886,14.1877745 16.2083773,14.3928616 C16.1294976,14.5060771 16.045978,14.6146526 15.9615303,14.7232282 C15.8529548,14.8624276 15.7388113,14.996059 15.6218838,15.1278344 L15.6218838,15.1278344 Z M17.2551567,16.0855262 C17.6105792,15.6567921 17.9223858,15.1927941 18.1998566,14.7074522 C18.2406884,14.6378525 18.2889442,14.5738208 18.326992,14.5032931 L18.32328,14.5005091 C18.558063,14.065279 18.7520142,13.605921 18.9199814,13.1335711 C19.1306365,12.5387257 19.2846838,11.9188244 19.3765554,11.2775792 C19.4210993,10.9713405 19.4498671,10.6623179 19.4647151,10.3477273 C19.471211,10.1936799 19.487915,10.0424166 19.487915,9.88651326 C19.487915,8.47595942 19.1798203,7.13778926 18.6378707,5.92582655 C18.3733918,5.33283713 18.0504492,4.77232758 17.6773949,4.24893786 L17.6876028,4.24244189 C17.6217151,4.1496423 17.5446914,4.06983465 17.4769477,3.98074703 C17.3581643,3.82577171 17.2375248,3.67358037 17.1103893,3.52788501 C17.0008858,3.40074957 16.8885983,3.27639811 16.7735268,3.15575863 C16.6371114,3.01377525 16.496056,2.87921584 16.3522166,2.74558442 C16.2399291,2.64257687 16.1304256,2.53678534 16.0134981,2.43841776 C15.7861391,2.2472506 15.5504281,2.06629139 15.3072932,1.89739613 C15.2673894,1.86955625 15.2302695,1.83707639 15.1894377,1.80923651 C14.894335,1.61064538 14.5871683,1.43061416 14.2725777,1.26543088 C14.1946261,1.22459906 14.1138904,1.19026321 14.0359388,1.15128738 C13.7881638,1.02971991 13.5376049,0.917432401 13.281478,0.816280843 C13.1868225,0.780089001 13.0912389,0.745753151 12.9956553,0.712345296 C12.7460244,0.623257685 12.4917535,0.545306025 12.2346986,0.476634325 C12.134475,0.450650438 12.0351795,0.42281056 11.9340279,0.399610661 C11.6686211,0.337434932 11.3995023,0.291035135 11.1275994,0.252059305 C11.0338719,0.239067362 10.9410723,0.219579447 10.8454887,0.208443495 C10.4817143,0.166683677 10.1142279,0.142555783 9.74395748,0.142555783 C9.3736871,0.142555783 9.0062007,0.166683677 8.64242629,0.208443495 C8.5468427,0.219579447 8.45404311,0.239067362 8.36031552,0.252059305 C8.08841271,0.291035135 7.81929388,0.337434932 7.55388704,0.399610661 C7.45273548,0.42281056 7.35343991,0.450650438 7.25321635,0.476634325 C6.99616147,0.545306025 6.74189058,0.623257685 6.49225967,0.712345296 C6.39667609,0.745753151 6.3010925,0.780089001 6.20643692,0.817208839 C5.95031004,0.917432401 5.69975113,1.02971991 5.45290421,1.15035939 C5.37495255,1.19026321 5.2932889,1.22459906 5.21533724,1.26543088 C4.90074661,1.43154216 4.59357996,1.61064538 4.29847724,1.80923651 C4.25764542,1.83707639 4.22145358,1.86955625 4.18062176,1.89739613 C3.93748682,2.06629139 3.70177585,2.2472506 3.47441684,2.43841776 C3.35748935,2.53678534 3.24798583,2.64164888 3.13662631,2.74558442 C2.99278694,2.87828784 2.85080356,3.01377525 2.71438816,3.15668663 C2.59838866,3.27639811 2.48702915,3.40074957 2.37752563,3.52788501 C2.25039018,3.67358037 2.12975071,3.82669971 2.01096722,3.98167503 C1.94322352,4.06983465 1.86619986,4.15057029 1.80031214,4.24244189 L1.8105201,4.24893786 C0.675581052,5.84230691 0,7.78460244 0,9.88651326 C0,11.55505 0.423166153,13.1261471 1.16463492,14.5005091 L1.16092293,14.5032931 C1.19897077,14.5719648 1.24537057,14.6341405 1.2843464,14.7028122 C1.56367318,15.1900101 1.87640781,15.6549361 2.23275826,16.0855262 C2.62808453,16.5634441 3.06702662,17.0033142 3.54494453,17.3977125 C3.73703969,17.5563998 3.93934281,17.7030232 4.14350192,17.8468625 C4.16855781,17.8644945 4.19175771,17.8839824 4.2168136,17.9016143 C4.38292487,18.0166858 4.55646012,18.1206213 4.72906736,18.2245569 C4.80701902,18.2718847 4.88311469,18.3219965 4.96292234,18.3665403 C5.12532163,18.4584119 5.2932889,18.5419315 5.46032817,18.6245231 C5.55869574,18.6727789 5.65613532,18.7219627 5.75543089,18.7665065 C5.91597418,18.8398182 6.08022947,18.9057059 6.24448475,18.9697376 C6.36048425,19.0142814 6.47648374,19.0569692 6.59433922,19.0978011 C6.75117054,19.1516248 6.90892985,19.2017366 7.06854516,19.2472084 C7.20681655,19.2871122 7.34694394,19.3223761 7.48707133,19.3557839 C7.63369469,19.3910478 7.77939005,19.4253836 7.92694141,19.4541515 C8.10233264,19.4875594 8.28143586,19.5116873 8.45961109,19.5358152 C8.58025056,19.5515911 8.69810604,19.572007 8.81874552,19.583143 C9.12405619,19.6119108 9.43215084,19.6304707 9.74395748,19.6304707 C10.0557641,19.6304707 10.3638588,19.6119108 10.6691694,19.583143 C10.7898089,19.572007 10.9076644,19.5515911 11.0283039,19.5358152 C11.2064791,19.5116873 11.3855823,19.4875594 11.5609736,19.4541515 C11.7085249,19.4253836 11.8551483,19.3910478 12.0008436,19.3557839 C12.141899,19.3223761 12.2810984,19.2871122 12.4193698,19.2472084 C12.5789851,19.2017366 12.7367444,19.1516248 12.8935757,19.0978011 C13.0114312,19.0569692 13.1274307,19.0142814 13.2434302,18.9697376 C13.4086135,18.9057059 13.5719408,18.8398182 13.7324841,18.7665065 C13.8317796,18.7219627 13.9292192,18.6727789 14.0266588,18.6254511 C14.1946261,18.5419315 14.3625933,18.4584119 14.5249926,18.3665403 C14.6048003,18.3219965 14.6799679,18.2718847 14.7579196,18.2254849 C14.9314548,18.1206213 15.1049901,18.0166858 15.2711014,17.9016143 C15.2961573,17.8839824 15.3202851,17.8635665 15.345341,17.8459345 C15.5485722,17.7020952 15.7518033,17.5563998 15.9429704,17.3977125 L20.6878137,22.1416278 L22,20.8303695 L17.2551567,16.0855262 Z" id="Search" fill="#FFFFFF"></path>
9
+ </g>
10
+ </svg>
Binary file
@@ -0,0 +1,28 @@
1
+ <svg width="55" height="80" viewBox="0 0 55 80" xmlns="http://www.w3.org/2000/svg" fill="#FFF">
2
+ <g transform="matrix(1 0 0 -1 0 80)">
3
+ <rect width="10" height="20" rx="3">
4
+ <animate attributeName="height"
5
+ begin="0s" dur="4.3s"
6
+ values="20;45;57;80;64;32;66;45;64;23;66;13;64;56;34;34;2;23;76;79;20" calcMode="linear"
7
+ repeatCount="indefinite" />
8
+ </rect>
9
+ <rect x="15" width="10" height="80" rx="3">
10
+ <animate attributeName="height"
11
+ begin="0s" dur="2s"
12
+ values="80;55;33;5;75;23;73;33;12;14;60;80" calcMode="linear"
13
+ repeatCount="indefinite" />
14
+ </rect>
15
+ <rect x="30" width="10" height="50" rx="3">
16
+ <animate attributeName="height"
17
+ begin="0s" dur="1.4s"
18
+ values="50;34;78;23;56;23;34;76;80;54;21;50" calcMode="linear"
19
+ repeatCount="indefinite" />
20
+ </rect>
21
+ <rect x="45" width="10" height="30" rx="3">
22
+ <animate attributeName="height"
23
+ begin="0s" dur="2s"
24
+ values="30;45;13;80;56;72;45;76;34;23;67;30" calcMode="linear"
25
+ repeatCount="indefinite" />
26
+ </rect>
27
+ </g>
28
+ </svg>
@@ -0,0 +1,46 @@
1
+ <!-- Todo: add easing -->
2
+ <svg width="57" height="57" viewBox="0 0 57 57" xmlns="http://www.w3.org/2000/svg" stroke="#fff">
3
+ <g fill="none" fill-rule="evenodd">
4
+ <g transform="translate(1 1)" stroke-width="2">
5
+ <circle cx="5" cy="50" r="5">
6
+ <animate attributeName="cy"
7
+ begin="0s" dur="2.2s"
8
+ values="50;5;50;50"
9
+ calcMode="linear"
10
+ repeatCount="indefinite" />
11
+ <animate attributeName="cx"
12
+ begin="0s" dur="2.2s"
13
+ values="5;27;49;5"
14
+ calcMode="linear"
15
+ repeatCount="indefinite" />
16
+ </circle>
17
+ <circle cx="27" cy="5" r="5">
18
+ <animate attributeName="cy"
19
+ begin="0s" dur="2.2s"
20
+ from="5" to="5"
21
+ values="5;50;50;5"
22
+ calcMode="linear"
23
+ repeatCount="indefinite" />
24
+ <animate attributeName="cx"
25
+ begin="0s" dur="2.2s"
26
+ from="27" to="27"
27
+ values="27;49;5;27"
28
+ calcMode="linear"
29
+ repeatCount="indefinite" />
30
+ </circle>
31
+ <circle cx="49" cy="50" r="5">
32
+ <animate attributeName="cy"
33
+ begin="0s" dur="2.2s"
34
+ values="50;50;5;50"
35
+ calcMode="linear"
36
+ repeatCount="indefinite" />
37
+ <animate attributeName="cx"
38
+ from="49" to="49"
39
+ begin="0s" dur="2.2s"
40
+ values="49;5;27;49"
41
+ calcMode="linear"
42
+ repeatCount="indefinite" />
43
+ </circle>
44
+ </g>
45
+ </g>
46
+ </svg>
@@ -0,0 +1,52 @@
1
+ <svg width="135" height="140" viewBox="0 0 135 140" xmlns="http://www.w3.org/2000/svg" fill="#2196f3">
2
+ <rect y="10" width="15" height="120" rx="6">
3
+ <animate attributeName="height"
4
+ begin="0.5s" dur="1s"
5
+ values="120;110;100;90;80;70;60;50;40;140;120" calcMode="linear"
6
+ repeatCount="indefinite" />
7
+ <animate attributeName="y"
8
+ begin="0.5s" dur="1s"
9
+ values="10;15;20;25;30;35;40;45;50;0;10" calcMode="linear"
10
+ repeatCount="indefinite" />
11
+ </rect>
12
+ <rect x="30" y="10" width="15" height="120" rx="6">
13
+ <animate attributeName="height"
14
+ begin="0.25s" dur="1s"
15
+ values="120;110;100;90;80;70;60;50;40;140;120" calcMode="linear"
16
+ repeatCount="indefinite" />
17
+ <animate attributeName="y"
18
+ begin="0.25s" dur="1s"
19
+ values="10;15;20;25;30;35;40;45;50;0;10" calcMode="linear"
20
+ repeatCount="indefinite" />
21
+ </rect>
22
+ <rect x="60" width="15" height="140" rx="6">
23
+ <animate attributeName="height"
24
+ begin="0s" dur="1s"
25
+ values="120;110;100;90;80;70;60;50;40;140;120" calcMode="linear"
26
+ repeatCount="indefinite" />
27
+ <animate attributeName="y"
28
+ begin="0s" dur="1s"
29
+ values="10;15;20;25;30;35;40;45;50;0;10" calcMode="linear"
30
+ repeatCount="indefinite" />
31
+ </rect>
32
+ <rect x="90" y="10" width="15" height="120" rx="6">
33
+ <animate attributeName="height"
34
+ begin="0.25s" dur="1s"
35
+ values="120;110;100;90;80;70;60;50;40;140;120" calcMode="linear"
36
+ repeatCount="indefinite" />
37
+ <animate attributeName="y"
38
+ begin="0.25s" dur="1s"
39
+ values="10;15;20;25;30;35;40;45;50;0;10" calcMode="linear"
40
+ repeatCount="indefinite" />
41
+ </rect>
42
+ <rect x="120" y="10" width="15" height="120" rx="6">
43
+ <animate attributeName="height"
44
+ begin="0.5s" dur="1s"
45
+ values="120;110;100;90;80;70;60;50;40;140;120" calcMode="linear"
46
+ repeatCount="indefinite" />
47
+ <animate attributeName="y"
48
+ begin="0.5s" dur="1s"
49
+ values="10;15;20;25;30;35;40;45;50;0;10" calcMode="linear"
50
+ repeatCount="indefinite" />
51
+ </rect>
52
+ </svg>
@@ -0,0 +1,31 @@
1
+ <svg width="38" height="38" viewBox="0 0 38 38" xmlns="http://www.w3.org/2000/svg">
2
+ <defs>
3
+ <linearGradient x1="8.042%" y1="0%" x2="65.682%" y2="23.865%" id="a">
4
+ <stop stop-color="#2196f3" stop-opacity="0" offset="0%"/>
5
+ <stop stop-color="#2196f3" stop-opacity=".631" offset="63.146%"/>
6
+ <stop stop-color="#2196f3" offset="100%"/>
7
+ </linearGradient>
8
+ </defs>
9
+ <g fill="none" fill-rule="evenodd">
10
+ <g transform="translate(1 1)">
11
+ <path d="M36 18c0-9.94-8.06-18-18-18" id="Oval-2" stroke="url(#a)" stroke-width="2">
12
+ <animateTransform
13
+ attributeName="transform"
14
+ type="rotate"
15
+ from="0 18 18"
16
+ to="360 18 18"
17
+ dur="0.9s"
18
+ repeatCount="indefinite" />
19
+ </path>
20
+ <circle fill="#fff" cx="36" cy="18" r="1">
21
+ <animateTransform
22
+ attributeName="transform"
23
+ type="rotate"
24
+ from="0 18 18"
25
+ to="360 18 18"
26
+ dur="0.9s"
27
+ repeatCount="indefinite" />
28
+ </circle>
29
+ </g>
30
+ </g>
31
+ </svg>
@@ -0,0 +1,20 @@
1
+ <svg width="135" height="135" viewBox="0 0 135 135" xmlns="http://www.w3.org/2000/svg" fill="#fff">
2
+ <path d="M67.447 58c5.523 0 10-4.477 10-10s-4.477-10-10-10-10 4.477-10 10 4.477 10 10 10zm9.448 9.447c0 5.523 4.477 10 10 10 5.522 0 10-4.477 10-10s-4.478-10-10-10c-5.523 0-10 4.477-10 10zm-9.448 9.448c-5.523 0-10 4.477-10 10 0 5.522 4.477 10 10 10s10-4.478 10-10c0-5.523-4.477-10-10-10zM58 67.447c0-5.523-4.477-10-10-10s-10 4.477-10 10 4.477 10 10 10 10-4.477 10-10z">
3
+ <animateTransform
4
+ attributeName="transform"
5
+ type="rotate"
6
+ from="0 67 67"
7
+ to="-360 67 67"
8
+ dur="2.5s"
9
+ repeatCount="indefinite"/>
10
+ </path>
11
+ <path d="M28.19 40.31c6.627 0 12-5.374 12-12 0-6.628-5.373-12-12-12-6.628 0-12 5.372-12 12 0 6.626 5.372 12 12 12zm30.72-19.825c4.686 4.687 12.284 4.687 16.97 0 4.686-4.686 4.686-12.284 0-16.97-4.686-4.687-12.284-4.687-16.97 0-4.687 4.686-4.687 12.284 0 16.97zm35.74 7.705c0 6.627 5.37 12 12 12 6.626 0 12-5.373 12-12 0-6.628-5.374-12-12-12-6.63 0-12 5.372-12 12zm19.822 30.72c-4.686 4.686-4.686 12.284 0 16.97 4.687 4.686 12.285 4.686 16.97 0 4.687-4.686 4.687-12.284 0-16.97-4.685-4.687-12.283-4.687-16.97 0zm-7.704 35.74c-6.627 0-12 5.37-12 12 0 6.626 5.373 12 12 12s12-5.374 12-12c0-6.63-5.373-12-12-12zm-30.72 19.822c-4.686-4.686-12.284-4.686-16.97 0-4.686 4.687-4.686 12.285 0 16.97 4.686 4.687 12.284 4.687 16.97 0 4.687-4.685 4.687-12.283 0-16.97zm-35.74-7.704c0-6.627-5.372-12-12-12-6.626 0-12 5.373-12 12s5.374 12 12 12c6.628 0 12-5.373 12-12zm-19.823-30.72c4.687-4.686 4.687-12.284 0-16.97-4.686-4.686-12.284-4.686-16.97 0-4.687 4.686-4.687 12.284 0 16.97 4.686 4.687 12.284 4.687 16.97 0z">
12
+ <animateTransform
13
+ attributeName="transform"
14
+ type="rotate"
15
+ from="0 67 67"
16
+ to="360 67 67"
17
+ dur="8s"
18
+ repeatCount="indefinite"/>
19
+ </path>
20
+ </svg>
@@ -0,0 +1,56 @@
1
+ <svg width="105" height="105" viewBox="0 0 105 105" xmlns="http://www.w3.org/2000/svg" fill="#fff">
2
+ <circle cx="12.5" cy="12.5" r="12.5">
3
+ <animate attributeName="fill-opacity"
4
+ begin="0s" dur="1s"
5
+ values="1;.2;1" calcMode="linear"
6
+ repeatCount="indefinite" />
7
+ </circle>
8
+ <circle cx="12.5" cy="52.5" r="12.5" fill-opacity=".5">
9
+ <animate attributeName="fill-opacity"
10
+ begin="100ms" dur="1s"
11
+ values="1;.2;1" calcMode="linear"
12
+ repeatCount="indefinite" />
13
+ </circle>
14
+ <circle cx="52.5" cy="12.5" r="12.5">
15
+ <animate attributeName="fill-opacity"
16
+ begin="300ms" dur="1s"
17
+ values="1;.2;1" calcMode="linear"
18
+ repeatCount="indefinite" />
19
+ </circle>
20
+ <circle cx="52.5" cy="52.5" r="12.5">
21
+ <animate attributeName="fill-opacity"
22
+ begin="600ms" dur="1s"
23
+ values="1;.2;1" calcMode="linear"
24
+ repeatCount="indefinite" />
25
+ </circle>
26
+ <circle cx="92.5" cy="12.5" r="12.5">
27
+ <animate attributeName="fill-opacity"
28
+ begin="800ms" dur="1s"
29
+ values="1;.2;1" calcMode="linear"
30
+ repeatCount="indefinite" />
31
+ </circle>
32
+ <circle cx="92.5" cy="52.5" r="12.5">
33
+ <animate attributeName="fill-opacity"
34
+ begin="400ms" dur="1s"
35
+ values="1;.2;1" calcMode="linear"
36
+ repeatCount="indefinite" />
37
+ </circle>
38
+ <circle cx="12.5" cy="92.5" r="12.5">
39
+ <animate attributeName="fill-opacity"
40
+ begin="700ms" dur="1s"
41
+ values="1;.2;1" calcMode="linear"
42
+ repeatCount="indefinite" />
43
+ </circle>
44
+ <circle cx="52.5" cy="92.5" r="12.5">
45
+ <animate attributeName="fill-opacity"
46
+ begin="500ms" dur="1s"
47
+ values="1;.2;1" calcMode="linear"
48
+ repeatCount="indefinite" />
49
+ </circle>
50
+ <circle cx="92.5" cy="92.5" r="12.5">
51
+ <animate attributeName="fill-opacity"
52
+ begin="200ms" dur="1s"
53
+ values="1;.2;1" calcMode="linear"
54
+ repeatCount="indefinite" />
55
+ </circle>
56
+ </svg>